summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2023-12-06 17:05:32 +1100
committer Vas Crabb <vas@vastheman.com>2023-12-06 17:12:45 +1100
commitfaf991a563a9bf8adc7aeee80001606d58857b99 (patch)
tree5eb75ca6182e9816f4ac501c124712cd8e5ee353 /3rdparty
parent2cf244ef3b53129d711aa5b663fb38e9133726c0 (diff)
3rdparty/libflac: Updated to version 1.4.3.
Also removed FLAC documentation - it's a lot of bloat.
Diffstat (limited to '3rdparty')
-rw-r--r--3rdparty/libflac/AUTHORS29
-rw-r--r--3rdparty/libflac/CHANGELOG.md992
-rw-r--r--3rdparty/libflac/CMakeLists.txt291
-rw-r--r--3rdparty/libflac/COPYING.GPL43
-rw-r--r--3rdparty/libflac/COPYING.Xiph5
-rw-r--r--3rdparty/libflac/FLAC.dsw683
-rw-r--r--3rdparty/libflac/FLAC.sln265
-rw-r--r--3rdparty/libflac/Makefile.am35
-rw-r--r--3rdparty/libflac/Makefile.in895
-rw-r--r--3rdparty/libflac/Makefile.lite106
-rw-r--r--3rdparty/libflac/README254
-rw-r--r--3rdparty/libflac/README.md278
-rw-r--r--3rdparty/libflac/aclocal.m48912
-rw-r--r--3rdparty/libflac/all.dsp67
-rw-r--r--3rdparty/libflac/all_dynamic.dsp67
-rw-r--r--3rdparty/libflac/all_static.dsp67
-rwxr-xr-x3rdparty/libflac/ar-lib271
-rwxr-xr-x[-rw-r--r--]3rdparty/libflac/autogen.sh198
-rw-r--r--3rdparty/libflac/build/Makefile.in375
-rw-r--r--3rdparty/libflac/build/config.mk52
-rw-r--r--3rdparty/libflac/build/exe.mk97
-rw-r--r--3rdparty/libflac/build/lib.mk124
-rw-r--r--3rdparty/libflac/cmake/CheckA64NEON.c.in6
-rw-r--r--3rdparty/libflac/cmake/CheckA64NEON.cmake14
-rw-r--r--3rdparty/libflac/cmake/CheckCPUArch.c.in7
-rw-r--r--3rdparty/libflac/cmake/CheckCPUArch.cmake27
-rw-r--r--3rdparty/libflac/cmake/FindOgg.cmake26
-rw-r--r--3rdparty/libflac/cmake/UseSystemExtensions.cmake63
-rwxr-xr-x3rdparty/libflac/compile348
-rw-r--r--3rdparty/libflac/config.cmake.h.in223
-rwxr-xr-x[-rw-r--r--]3rdparty/libflac/config.guess1951
-rw-r--r--3rdparty/libflac/config.h.in247
-rw-r--r--3rdparty/libflac/config.rpath571
-rwxr-xr-x[-rw-r--r--]3rdparty/libflac/config.sub2446
-rwxr-xr-x[-rw-r--r--]3rdparty/libflac/configure36911
-rw-r--r--3rdparty/libflac/configure.ac602
-rw-r--r--3rdparty/libflac/configure.in390
-rwxr-xr-x[-rw-r--r--]3rdparty/libflac/depcomp662
-rw-r--r--3rdparty/libflac/doc/Doxyfile1220
-rw-r--r--3rdparty/libflac/doc/FLAC.tag12259
-rw-r--r--3rdparty/libflac/doc/Makefile.am43
-rw-r--r--3rdparty/libflac/doc/Makefile.in566
-rw-r--r--3rdparty/libflac/doc/Makefile.lite28
-rw-r--r--3rdparty/libflac/doc/doxygen.footer.html23
-rw-r--r--3rdparty/libflac/doc/doxygen.header.html6
-rw-r--r--3rdparty/libflac/doc/html/Makefile.am80
-rw-r--r--3rdparty/libflac/doc/html/Makefile.in607
-rw-r--r--3rdparty/libflac/doc/html/api/+_2all_8h-source.html73
-rw-r--r--3rdparty/libflac/doc/html/api/+_2export_8h-source.html89
-rw-r--r--3rdparty/libflac/doc/html/api/+_2export_8h.html55
-rw-r--r--3rdparty/libflac/doc/html/api/+_2metadata_8h-source.html751
-rw-r--r--3rdparty/libflac/doc/html/api/+_2metadata_8h.html66
-rw-r--r--3rdparty/libflac/doc/html/api/all_8h-source.html77
-rw-r--r--3rdparty/libflac/doc/html/api/annotated.html81
-rw-r--r--3rdparty/libflac/doc/html/api/assert_8h-source.html77
-rw-r--r--3rdparty/libflac/doc/html/api/callback_8h-source.html103
-rw-r--r--3rdparty/libflac/doc/html/api/callback_8h.html59
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1File-members.html87
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1File.html1457
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1File.pngbin488 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1Stream-members.html79
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1Stream.html1268
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1Stream.pngbin499 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1Stream_1_1State-members.html36
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1Stream_1_1State.html59
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1File-members.html102
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1File.html2124
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1File.pngbin492 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1Stream-members.html93
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1Stream.html1882
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1Stream.pngbin502 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1Stream_1_1State-members.html36
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1Stream_1_1State.html59
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Application-members.html71
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Application.html548
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Application.pngbin576 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Chain-members.html46
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Chain.html453
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Chain_1_1Status-members.html35
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Chain_1_1Status.html56
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1CueSheet-members.html82
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1CueSheet.html799
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1CueSheet.pngbin562 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1CueSheet_1_1Track-members.html52
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html131
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Iterator-members.html45
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Iterator.html370
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Padding-members.html67
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Padding.html498
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Padding.pngbin562 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Picture-members.html82
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Picture.html696
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Picture.pngbin550 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Prototype-members.html56
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Prototype.html435
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Prototype.pngbin2712 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SeekTable-members.html72
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SeekTable.html646
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SeekTable.pngbin577 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SimpleIterator-members.html50
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SimpleIterator.html561
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status-members.html35
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html56
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1StreamInfo-members.html84
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1StreamInfo.html575
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1StreamInfo.pngbin575 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Unknown-members.html69
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Unknown.html542
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Unknown.pngbin552 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1VorbisComment-members.html74
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1VorbisComment.html685
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1VorbisComment.pngbin618 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry-members.html58
-rw-r--r--3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html152
-rw-r--r--3rdparty/libflac/doc/html/api/classes.html41
-rw-r--r--3rdparty/libflac/doc/html/api/decoder_8h-source.html190
-rw-r--r--3rdparty/libflac/doc/html/api/decoder_8h.html50
-rw-r--r--3rdparty/libflac/doc/html/api/dir_000000.html42
-rw-r--r--3rdparty/libflac/doc/html/api/dir_000001.html48
-rw-r--r--3rdparty/libflac/doc/html/api/dir_000002.html56
-rw-r--r--3rdparty/libflac/doc/html/api/dirs.html37
-rw-r--r--3rdparty/libflac/doc/html/api/doxygen.css309
-rw-r--r--3rdparty/libflac/doc/html/api/doxygen.pngbin1281 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/api/encoder_8h-source.html203
-rw-r--r--3rdparty/libflac/doc/html/api/encoder_8h.html51
-rw-r--r--3rdparty/libflac/doc/html/api/export_8h-source.html95
-rw-r--r--3rdparty/libflac/doc/html/api/export_8h.html55
-rw-r--r--3rdparty/libflac/doc/html/api/files.html46
-rw-r--r--3rdparty/libflac/doc/html/api/format_8h-source.html521
-rw-r--r--3rdparty/libflac/doc/html/api/format_8h.html330
-rw-r--r--3rdparty/libflac/doc/html/api/functions.html260
-rw-r--r--3rdparty/libflac/doc/html/api/functions_func.html210
-rw-r--r--3rdparty/libflac/doc/html/api/functions_vars.html117
-rw-r--r--3rdparty/libflac/doc/html/api/globals.html39
-rw-r--r--3rdparty/libflac/doc/html/api/globals_0x66.html529
-rw-r--r--3rdparty/libflac/doc/html/api/globals_0x67.html42
-rw-r--r--3rdparty/libflac/doc/html/api/globals_defs.html58
-rw-r--r--3rdparty/libflac/doc/html/api/globals_enum.html57
-rw-r--r--3rdparty/libflac/doc/html/api/globals_eval.html177
-rw-r--r--3rdparty/libflac/doc/html/api/globals_func.html233
-rw-r--r--3rdparty/libflac/doc/html/api/globals_type.html59
-rw-r--r--3rdparty/libflac/doc/html/api/globals_vars.html135
-rw-r--r--3rdparty/libflac/doc/html/api/group__flac.html50
-rw-r--r--3rdparty/libflac/doc/html/api/group__flac__callbacks.html299
-rw-r--r--3rdparty/libflac/doc/html/api/group__flac__decoder.html44
-rw-r--r--3rdparty/libflac/doc/html/api/group__flac__encoder.html44
-rw-r--r--3rdparty/libflac/doc/html/api/group__flac__export.html148
-rw-r--r--3rdparty/libflac/doc/html/api/group__flac__format.html3353
-rw-r--r--3rdparty/libflac/doc/html/api/group__flac__metadata.html60
-rw-r--r--3rdparty/libflac/doc/html/api/group__flac__metadata__level0.html308
-rw-r--r--3rdparty/libflac/doc/html/api/group__flac__metadata__level1.html950
-rw-r--r--3rdparty/libflac/doc/html/api/group__flac__metadata__level2.html1428
-rw-r--r--3rdparty/libflac/doc/html/api/group__flac__metadata__object.html2741
-rw-r--r--3rdparty/libflac/doc/html/api/group__flac__stream__decoder.html2854
-rw-r--r--3rdparty/libflac/doc/html/api/group__flac__stream__encoder.html3644
-rw-r--r--3rdparty/libflac/doc/html/api/group__flacpp.html45
-rw-r--r--3rdparty/libflac/doc/html/api/group__flacpp__decoder.html50
-rw-r--r--3rdparty/libflac/doc/html/api/group__flacpp__encoder.html50
-rw-r--r--3rdparty/libflac/doc/html/api/group__flacpp__export.html54
-rw-r--r--3rdparty/libflac/doc/html/api/group__flacpp__metadata.html50
-rw-r--r--3rdparty/libflac/doc/html/api/group__flacpp__metadata__level0.html414
-rw-r--r--3rdparty/libflac/doc/html/api/group__flacpp__metadata__level1.html50
-rw-r--r--3rdparty/libflac/doc/html/api/group__flacpp__metadata__level2.html52
-rw-r--r--3rdparty/libflac/doc/html/api/group__flacpp__metadata__object.html227
-rw-r--r--3rdparty/libflac/doc/html/api/group__porting.html52
-rw-r--r--3rdparty/libflac/doc/html/api/group__porting__1__1__2__to__1__1__3.html101
-rw-r--r--3rdparty/libflac/doc/html/api/group__porting__1__1__3__to__1__1__4.html38
-rw-r--r--3rdparty/libflac/doc/html/api/group__porting__1__1__4__to__1__2__0.html39
-rw-r--r--3rdparty/libflac/doc/html/api/hierarchy.html87
-rw-r--r--3rdparty/libflac/doc/html/api/index.html57
-rw-r--r--3rdparty/libflac/doc/html/api/metadata_8h-source.html335
-rw-r--r--3rdparty/libflac/doc/html/api/metadata_8h.html283
-rw-r--r--3rdparty/libflac/doc/html/api/modules.html72
-rw-r--r--3rdparty/libflac/doc/html/api/ordinals_8h-source.html112
-rw-r--r--3rdparty/libflac/doc/html/api/stream__decoder_8h-source.html333
-rw-r--r--3rdparty/libflac/doc/html/api/stream__decoder_8h.html206
-rw-r--r--3rdparty/libflac/doc/html/api/stream__encoder_8h-source.html305
-rw-r--r--3rdparty/libflac/doc/html/api/stream__encoder_8h.html236
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod-members.html34
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod.html54
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod__PartitionedRice-members.html33
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod__PartitionedRice.html95
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod__PartitionedRiceContents-members.html34
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod__PartitionedRiceContents.html120
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____Frame-members.html34
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____Frame.html53
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____FrameFooter-members.html32
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____FrameFooter.html70
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____FrameHeader-members.html41
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____FrameHeader.html251
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____IOCallbacks-members.html37
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____IOCallbacks.html63
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamDecoder-members.html33
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamDecoder.html50
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamEncoder-members.html33
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamEncoder.html50
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata-members.html43
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata.html163
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Application-members.html33
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Application.html50
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet-members.html36
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet.html170
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet__Index-members.html33
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet__Index.html95
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet__Track-members.html38
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet__Track.html220
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Padding-members.html32
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Padding.html70
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Picture-members.html40
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Picture.html270
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__SeekPoint-members.html34
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__SeekPoint.html120
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__SeekTable-members.html33
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__SeekTable.html54
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__StreamInfo-members.html40
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__StreamInfo.html71
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Unknown-members.html32
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Unknown.html47
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__VorbisComment-members.html34
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__VorbisComment.html53
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__VorbisComment__Entry-members.html33
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__VorbisComment__Entry.html52
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____Subframe-members.html38
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____Subframe.html63
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____Subframe__Constant-members.html32
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____Subframe__Constant.html70
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____Subframe__Fixed-members.html35
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____Subframe__Fixed.html145
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____Subframe__LPC-members.html38
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____Subframe__LPC.html220
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____Subframe__Verbatim-members.html32
-rw-r--r--3rdparty/libflac/doc/html/api/structFLAC____Subframe__Verbatim.html70
-rw-r--r--3rdparty/libflac/doc/html/changelog.html832
-rw-r--r--3rdparty/libflac/doc/html/comparison.html431
-rw-r--r--3rdparty/libflac/doc/html/comparison__chopin_prelude_24.html168
-rw-r--r--3rdparty/libflac/doc/html/comparison__dream_theater_600.html168
-rw-r--r--3rdparty/libflac/doc/html/comparison__eddie_warner_titus.html168
-rw-r--r--3rdparty/libflac/doc/html/comparison__fanfare_de_l_eventail_de_jeanne.html168
-rw-r--r--3rdparty/libflac/doc/html/comparison__gloria_estefan_conga.html168
-rw-r--r--3rdparty/libflac/doc/html/comparison__hand_in_my_pocket.html168
-rw-r--r--3rdparty/libflac/doc/html/comparison__l_sub_raga_sivapriya.html168
-rw-r--r--3rdparty/libflac/doc/html/comparison__laetatus_sum.html168
-rw-r--r--3rdparty/libflac/doc/html/comparison__mummified_in_barbed_wire.html168
-rw-r--r--3rdparty/libflac/doc/html/comparison__prokofiev_pcon3_3.html168
-rw-r--r--3rdparty/libflac/doc/html/comparison__ravel_sq4_4.html168
-rw-r--r--3rdparty/libflac/doc/html/comparison__scarlatti_k42.html168
-rw-r--r--3rdparty/libflac/doc/html/comparison__tool_forty_six_and_2.html168
-rw-r--r--3rdparty/libflac/doc/html/comparison__white_room.html168
-rw-r--r--3rdparty/libflac/doc/html/comparison_all_cpudectime.html165
-rw-r--r--3rdparty/libflac/doc/html/comparison_all_cpuenctime.html165
-rw-r--r--3rdparty/libflac/doc/html/comparison_all_procdectime.html165
-rw-r--r--3rdparty/libflac/doc/html/comparison_all_procenctime.html165
-rw-r--r--3rdparty/libflac/doc/html/comparison_all_ratio.html165
-rw-r--r--3rdparty/libflac/doc/html/developers.html141
-rw-r--r--3rdparty/libflac/doc/html/documentation.html105
-rw-r--r--3rdparty/libflac/doc/html/documentation_bugs.html101
-rw-r--r--3rdparty/libflac/doc/html/documentation_example_code.html81
-rw-r--r--3rdparty/libflac/doc/html/documentation_format_overview.html130
-rw-r--r--3rdparty/libflac/doc/html/documentation_tasks.html226
-rw-r--r--3rdparty/libflac/doc/html/documentation_tools.html92
-rw-r--r--3rdparty/libflac/doc/html/documentation_tools_flac.html1135
-rw-r--r--3rdparty/libflac/doc/html/documentation_tools_metaflac.html570
-rw-r--r--3rdparty/libflac/doc/html/documentation_tools_plugins.html94
-rw-r--r--3rdparty/libflac/doc/html/download.html284
-rw-r--r--3rdparty/libflac/doc/html/faq.html402
-rw-r--r--3rdparty/libflac/doc/html/features.html127
-rw-r--r--3rdparty/libflac/doc/html/flac.css191
-rw-r--r--3rdparty/libflac/doc/html/format.html1852
-rw-r--r--3rdparty/libflac/doc/html/id.html289
-rw-r--r--3rdparty/libflac/doc/html/images/1x1.gifbin61 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/Makefile.in554
-rw-r--r--3rdparty/libflac/doc/html/images/cafebug.gifbin2371 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/Blackbird_Front_low3_325x87.jpgbin4052 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/MS300frontsmall_270x108.jpgbin5153 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/Makefile.am52
-rw-r--r--3rdparty/libflac/doc/html/images/hw/Makefile.in427
-rw-r--r--3rdparty/libflac/doc/html/images/hw/MediaBox_Frt_170x325.jpgbin8004 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/SB_Hero_Black_325x182.jpgbin8229 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/Sooloos-ControlOne_325x328.jpgbin17304 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/Z500_front_325x94.jpgbin5155 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/a2_01_325x252.jpgbin15381 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/arcus_325x135.jpgbin5887 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/bmp-1430_325x241.jpgbin16381 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/cs505_front_lrg_325x113.jpgbin4714 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/enus_3-4lft-hires_product_eva8000_325x127.jpgbin7461 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/escient_ProductLine_325x163.jpgbin11972 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/hifidelio_bl_front_Z_RGB_325x163.jpgbin7835 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/i-station-mini-dx_325x237.jpgbin11164 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/iwod-g10_325x257.jpgbin13591 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/knc_hr-2800_325x209.jpgbin13385 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/mediaready_prodmain_MRMCa_325x232.jpgbin19199 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/meizu_m6_325x206.jpgbin15043 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/musica_artwork_325x90.jpgbin6815 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/neodigits_x5000_325x124.jpgbin5347 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/onda-vx737_325x240.jpgbin16304 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/request_n_front_325x103.jpgbin6406 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/rio_karma_279x254.jpgbin10570 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/sonos_family_RGB_325x200.jpgbin7843 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/teclast-tl29_325x244.jpgbin12000 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/transporter_hero_grey_325x208.jpgbin9984 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/tvix-4000_325x204.jpgbin7685 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/hw/vibez_nofm_combi_black_b_325x220.jpgbin10940 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/logo100.gifbin2411 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/images/logo130.gifbin3738 -> 0 bytes
-rw-r--r--3rdparty/libflac/doc/html/index.html148
-rw-r--r--3rdparty/libflac/doc/html/itunes.html91
-rw-r--r--3rdparty/libflac/doc/html/license.html93
-rw-r--r--3rdparty/libflac/doc/html/links.html485
-rw-r--r--3rdparty/libflac/doc/html/news.html697
-rw-r--r--3rdparty/libflac/doc/html/ogg_mapping.html138
-rw-r--r--3rdparty/libflac/doc/html/ru/Makefile.am36
-rw-r--r--3rdparty/libflac/doc/html/ru/Makefile.in411
-rw-r--r--3rdparty/libflac/doc/html/ru/authors.html112
-rw-r--r--3rdparty/libflac/doc/html/ru/comparison.html864
-rw-r--r--3rdparty/libflac/doc/html/ru/developers.html109
-rw-r--r--3rdparty/libflac/doc/html/ru/documentation.html516
-rw-r--r--3rdparty/libflac/doc/html/ru/download.html109
-rw-r--r--3rdparty/libflac/doc/html/ru/features.html124
-rw-r--r--3rdparty/libflac/doc/html/ru/format.html1006
-rw-r--r--3rdparty/libflac/doc/html/ru/goals.html104
-rw-r--r--3rdparty/libflac/doc/html/ru/id.html128
-rw-r--r--3rdparty/libflac/doc/html/ru/index.html121
-rw-r--r--3rdparty/libflac/doc/html/ru/links.html124
-rw-r--r--3rdparty/libflac/doc/html/ru/news.html304
-rw-r--r--3rdparty/libflac/examples/CMakeLists.txt7
-rw-r--r--3rdparty/libflac/examples/Makefile.am8
-rw-r--r--3rdparty/libflac/examples/Makefile.in679
-rw-r--r--3rdparty/libflac/examples/Makefile.lite49
-rw-r--r--3rdparty/libflac/examples/README2
-rw-r--r--3rdparty/libflac/examples/c/Makefile.am5
-rw-r--r--3rdparty/libflac/examples/c/Makefile.in674
-rw-r--r--3rdparty/libflac/examples/c/decode/Makefile.am5
-rw-r--r--3rdparty/libflac/examples/c/decode/Makefile.in674
-rw-r--r--3rdparty/libflac/examples/c/decode/file/CMakeLists.txt2
-rw-r--r--3rdparty/libflac/examples/c/decode/file/Makefile.am28
-rw-r--r--3rdparty/libflac/examples/c/decode/file/Makefile.in674
-rw-r--r--3rdparty/libflac/examples/c/decode/file/Makefile.lite39
-rw-r--r--3rdparty/libflac/examples/c/decode/file/example_c_decode_file.dsp100
-rw-r--r--3rdparty/libflac/examples/c/decode/file/example_c_decode_file.vcproj204
-rw-r--r--3rdparty/libflac/examples/c/decode/file/main.c32
-rw-r--r--3rdparty/libflac/examples/c/encode/Makefile.am5
-rw-r--r--3rdparty/libflac/examples/c/encode/Makefile.in674
-rw-r--r--3rdparty/libflac/examples/c/encode/file/CMakeLists.txt2
-rw-r--r--3rdparty/libflac/examples/c/encode/file/Makefile.am24
-rw-r--r--3rdparty/libflac/examples/c/encode/file/Makefile.in670
-rw-r--r--3rdparty/libflac/examples/c/encode/file/Makefile.lite39
-rw-r--r--3rdparty/libflac/examples/c/encode/file/example_c_encode_file.dsp100
-rw-r--r--3rdparty/libflac/examples/c/encode/file/example_c_encode_file.vcproj204
-rw-r--r--3rdparty/libflac/examples/c/encode/file/main.c30
-rw-r--r--3rdparty/libflac/examples/cpp/Makefile.am5
-rw-r--r--3rdparty/libflac/examples/cpp/Makefile.in674
-rw-r--r--3rdparty/libflac/examples/cpp/decode/Makefile.am5
-rw-r--r--3rdparty/libflac/examples/cpp/decode/Makefile.in674
-rw-r--r--3rdparty/libflac/examples/cpp/decode/file/CMakeLists.txt2
-rw-r--r--3rdparty/libflac/examples/cpp/decode/file/Makefile.am24
-rw-r--r--3rdparty/libflac/examples/cpp/decode/file/Makefile.in674
-rw-r--r--3rdparty/libflac/examples/cpp/decode/file/Makefile.lite41
-rw-r--r--3rdparty/libflac/examples/cpp/decode/file/example_cpp_decode_file.dsp100
-rw-r--r--3rdparty/libflac/examples/cpp/decode/file/example_cpp_decode_file.vcproj204
-rw-r--r--3rdparty/libflac/examples/cpp/decode/file/main.cpp34
-rw-r--r--3rdparty/libflac/examples/cpp/encode/Makefile.am5
-rw-r--r--3rdparty/libflac/examples/cpp/encode/Makefile.in674
-rw-r--r--3rdparty/libflac/examples/cpp/encode/file/CMakeLists.txt2
-rw-r--r--3rdparty/libflac/examples/cpp/encode/file/Makefile.am24
-rw-r--r--3rdparty/libflac/examples/cpp/encode/file/Makefile.in674
-rw-r--r--3rdparty/libflac/examples/cpp/encode/file/Makefile.lite41
-rw-r--r--3rdparty/libflac/examples/cpp/encode/file/example_cpp_encode_file.dsp100
-rw-r--r--3rdparty/libflac/examples/cpp/encode/file/example_cpp_encode_file.vcproj204
-rw-r--r--3rdparty/libflac/examples/cpp/encode/file/main.cpp51
-rw-r--r--3rdparty/libflac/examples/examples.dsp67
-rw-r--r--3rdparty/libflac/flac-config.cmake.in17
-rw-r--r--3rdparty/libflac/include/FLAC++/Makefile.am5
-rw-r--r--3rdparty/libflac/include/FLAC++/Makefile.in578
-rw-r--r--3rdparty/libflac/include/FLAC++/all.h3
-rw-r--r--3rdparty/libflac/include/FLAC++/decoder.h21
-rw-r--r--3rdparty/libflac/include/FLAC++/encoder.h73
-rw-r--r--3rdparty/libflac/include/FLAC++/export.h56
-rw-r--r--3rdparty/libflac/include/FLAC++/metadata.h212
-rw-r--r--3rdparty/libflac/include/FLAC/Makefile.am3
-rw-r--r--3rdparty/libflac/include/FLAC/Makefile.in576
-rw-r--r--3rdparty/libflac/include/FLAC/all.h102
-rw-r--r--3rdparty/libflac/include/FLAC/assert.h10
-rw-r--r--3rdparty/libflac/include/FLAC/callback.h24
-rw-r--r--3rdparty/libflac/include/FLAC/export.h56
-rw-r--r--3rdparty/libflac/include/FLAC/format.h312
-rw-r--r--3rdparty/libflac/include/FLAC/metadata.h137
-rw-r--r--3rdparty/libflac/include/FLAC/ordinals.h41
-rw-r--r--3rdparty/libflac/include/FLAC/stream_decoder.h71
-rw-r--r--3rdparty/libflac/include/FLAC/stream_encoder.h225
-rw-r--r--3rdparty/libflac/include/Makefile.am5
-rw-r--r--3rdparty/libflac/include/Makefile.in675
-rw-r--r--3rdparty/libflac/include/share/Makefile.am11
-rw-r--r--3rdparty/libflac/include/share/Makefile.in680
-rw-r--r--3rdparty/libflac/include/share/alloc.h220
-rw-r--r--3rdparty/libflac/include/share/compat.h240
-rw-r--r--3rdparty/libflac/include/share/endswap.h43
-rw-r--r--3rdparty/libflac/include/share/getopt.h6
-rw-r--r--3rdparty/libflac/include/share/grabbag.h3
-rw-r--r--3rdparty/libflac/include/share/grabbag/Makefile.am2
-rw-r--r--3rdparty/libflac/include/share/grabbag/Makefile.in420
-rw-r--r--3rdparty/libflac/include/share/grabbag/cuesheet.h9
-rw-r--r--3rdparty/libflac/include/share/grabbag/file.h8
-rw-r--r--3rdparty/libflac/include/share/grabbag/picture.h16
-rw-r--r--3rdparty/libflac/include/share/grabbag/replaygain.h11
-rw-r--r--3rdparty/libflac/include/share/grabbag/seektable.h5
-rw-r--r--3rdparty/libflac/include/share/macros.h45
-rw-r--r--3rdparty/libflac/include/share/private.h54
-rw-r--r--3rdparty/libflac/include/share/replaygain_analysis.h14
-rw-r--r--3rdparty/libflac/include/share/replaygain_synthesis.h9
-rw-r--r--3rdparty/libflac/include/share/safe_str.h71
-rw-r--r--3rdparty/libflac/include/share/win_utf8_io.h71
-rw-r--r--3rdparty/libflac/include/test_libs_common/Makefile.am2
-rw-r--r--3rdparty/libflac/include/test_libs_common/Makefile.in420
-rw-r--r--3rdparty/libflac/include/test_libs_common/file_utils_flac.h14
-rw-r--r--3rdparty/libflac/include/test_libs_common/metadata_utils.h15
-rwxr-xr-x[-rw-r--r--]3rdparty/libflac/install-sh669
-rwxr-xr-x[-rw-r--r--]3rdparty/libflac/ltmain.sh12379
-rw-r--r--3rdparty/libflac/m4/Makefile.am12
-rw-r--r--3rdparty/libflac/m4/Makefile.in430
-rw-r--r--3rdparty/libflac/m4/add_cflags.m415
-rw-r--r--3rdparty/libflac/m4/add_cxxflags.m416
-rw-r--r--3rdparty/libflac/m4/ax_add_fortify_source.m453
-rw-r--r--3rdparty/libflac/m4/ax_check_compile_flag.m453
-rw-r--r--3rdparty/libflac/m4/ax_check_enable_debug.m4124
-rw-r--r--3rdparty/libflac/m4/bswap.m466
-rw-r--r--3rdparty/libflac/m4/clang.m428
-rw-r--r--3rdparty/libflac/m4/codeset.m423
-rw-r--r--3rdparty/libflac/m4/endian.m4169
-rw-r--r--3rdparty/libflac/m4/gcc_version.m434
-rw-r--r--3rdparty/libflac/m4/iconv.m4268
-rw-r--r--3rdparty/libflac/m4/lib-ld.m4119
-rw-r--r--3rdparty/libflac/m4/lib-link.m4777
-rw-r--r--3rdparty/libflac/m4/lib-prefix.m4224
-rw-r--r--3rdparty/libflac/m4/libtool.m48394
-rw-r--r--3rdparty/libflac/m4/ltoptions.m4437
-rw-r--r--3rdparty/libflac/m4/ltsugar.m4124
-rw-r--r--3rdparty/libflac/m4/ltversion.m423
-rw-r--r--3rdparty/libflac/m4/lt~obsolete.m499
-rw-r--r--3rdparty/libflac/m4/ogg.m444
-rw-r--r--3rdparty/libflac/m4/really_gcc.m429
-rw-r--r--3rdparty/libflac/m4/stack_protect.m467
-rw-r--r--3rdparty/libflac/m4/xmms.m4148
-rw-r--r--3rdparty/libflac/man/Makefile.am33
-rw-r--r--3rdparty/libflac/man/Makefile.in574
-rw-r--r--3rdparty/libflac/man/flac.11145
-rw-r--r--3rdparty/libflac/man/flac.md760
-rw-r--r--3rdparty/libflac/man/flac.sgml727
-rw-r--r--3rdparty/libflac/man/metaflac.1535
-rw-r--r--3rdparty/libflac/man/metaflac.md299
-rw-r--r--3rdparty/libflac/man/metaflac.sgml570
-rw-r--r--3rdparty/libflac/microbench/CMakeLists.txt17
-rw-r--r--3rdparty/libflac/microbench/Makefile.am42
-rw-r--r--3rdparty/libflac/microbench/Makefile.in676
-rw-r--r--3rdparty/libflac/microbench/benchmark_residual.c151
-rw-r--r--3rdparty/libflac/microbench/util.c205
-rw-r--r--3rdparty/libflac/microbench/util.h43
-rwxr-xr-x[-rw-r--r--]3rdparty/libflac/missing455
-rw-r--r--3rdparty/libflac/mkinstalldirs111
-rw-r--r--3rdparty/libflac/obj/Makefile.am20
-rw-r--r--3rdparty/libflac/obj/Makefile.in523
-rw-r--r--3rdparty/libflac/obj/debug/Makefile.in523
-rw-r--r--3rdparty/libflac/obj/debug/bin/Makefile.am16
-rw-r--r--3rdparty/libflac/obj/debug/bin/Makefile.in369
-rw-r--r--3rdparty/libflac/obj/debug/lib/Makefile.am16
-rw-r--r--3rdparty/libflac/obj/debug/lib/Makefile.in369
-rw-r--r--3rdparty/libflac/obj/release/Makefile.am20
-rw-r--r--3rdparty/libflac/obj/release/Makefile.in523
-rw-r--r--3rdparty/libflac/obj/release/bin/Makefile.am16
-rw-r--r--3rdparty/libflac/obj/release/bin/Makefile.in369
-rw-r--r--3rdparty/libflac/obj/release/lib/Makefile.am16
-rw-r--r--3rdparty/libflac/obj/release/lib/Makefile.in369
-rw-r--r--3rdparty/libflac/oss-fuzz/Makefile.am104
-rw-r--r--3rdparty/libflac/oss-fuzz/Makefile.in1033
-rw-r--r--3rdparty/libflac/oss-fuzz/Readme.md13
-rw-r--r--3rdparty/libflac/oss-fuzz/common.h2
-rw-r--r--3rdparty/libflac/oss-fuzz/decoder.cc408
-rw-r--r--3rdparty/libflac/oss-fuzz/empty.cc0
-rw-r--r--3rdparty/libflac/oss-fuzz/encoder.cc257
-rw-r--r--3rdparty/libflac/oss-fuzz/encoder_v2.cc352
-rw-r--r--3rdparty/libflac/oss-fuzz/fuzzer_encoder.dict18
-rw-r--r--3rdparty/libflac/oss-fuzz/fuzzing/datasource/datasource.hpp190
-rw-r--r--3rdparty/libflac/oss-fuzz/fuzzing/datasource/id.hpp75
-rw-r--r--3rdparty/libflac/oss-fuzz/fuzzing/exception.hpp67
-rw-r--r--3rdparty/libflac/oss-fuzz/fuzzing/memory.hpp96
-rw-r--r--3rdparty/libflac/oss-fuzz/fuzzing/types.hpp158
-rw-r--r--3rdparty/libflac/oss-fuzz/metadata.cc526
-rw-r--r--3rdparty/libflac/oss-fuzz/reencoder.cc304
-rw-r--r--3rdparty/libflac/oss-fuzz/seek.cc195
-rw-r--r--3rdparty/libflac/oss-fuzz/tool_flac.c117
-rw-r--r--3rdparty/libflac/oss-fuzz/tool_metaflac.c136
-rw-r--r--3rdparty/libflac/src/CMakeLists.txt36
-rw-r--r--3rdparty/libflac/src/Makefile.am22
-rw-r--r--3rdparty/libflac/src/Makefile.in693
-rw-r--r--3rdparty/libflac/src/Makefile.lite61
-rw-r--r--3rdparty/libflac/src/flac/CMakeLists.txt25
-rw-r--r--3rdparty/libflac/src/flac/Makefile.am43
-rw-r--r--3rdparty/libflac/src/flac/Makefile.in800
-rw-r--r--3rdparty/libflac/src/flac/Makefile.lite47
-rw-r--r--3rdparty/libflac/src/flac/Makefile.lite.iffscan41
-rw-r--r--3rdparty/libflac/src/flac/analyze.c71
-rw-r--r--3rdparty/libflac/src/flac/analyze.h11
-rw-r--r--3rdparty/libflac/src/flac/decode.c928
-rw-r--r--3rdparty/libflac/src/flac/decode.h41
-rw-r--r--3rdparty/libflac/src/flac/encode.c3116
-rw-r--r--3rdparty/libflac/src/flac/encode.h58
-rw-r--r--3rdparty/libflac/src/flac/flac.dsp156
-rw-r--r--3rdparty/libflac/src/flac/flac.vcproj260
-rw-r--r--3rdparty/libflac/src/flac/foreign_metadata.c500
-rw-r--r--3rdparty/libflac/src/flac/foreign_metadata.h42
-rw-r--r--3rdparty/libflac/src/flac/iffscan.c69
-rw-r--r--3rdparty/libflac/src/flac/iffscan.dsp108
-rw-r--r--3rdparty/libflac/src/flac/iffscan.vcproj212
-rw-r--r--3rdparty/libflac/src/flac/local_string_utils.c2
-rw-r--r--3rdparty/libflac/src/flac/local_string_utils.h9
-rw-r--r--3rdparty/libflac/src/flac/main.c1189
-rw-r--r--3rdparty/libflac/src/flac/utils.c193
-rw-r--r--3rdparty/libflac/src/flac/utils.h26
-rw-r--r--3rdparty/libflac/src/flac/version.rc38
-rw-r--r--3rdparty/libflac/src/flac/vorbiscomment.c30
-rw-r--r--3rdparty/libflac/src/flac/vorbiscomment.h9
-rw-r--r--3rdparty/libflac/src/libFLAC++/CMakeLists.txt41
-rw-r--r--3rdparty/libflac/src/libFLAC++/Makefile.am39
-rw-r--r--3rdparty/libflac/src/libFLAC++/Makefile.in834
-rw-r--r--3rdparty/libflac/src/libFLAC++/Makefile.lite47
-rw-r--r--3rdparty/libflac/src/libFLAC++/flac++.pc.in4
-rw-r--r--3rdparty/libflac/src/libFLAC++/libFLAC++.m411
-rw-r--r--3rdparty/libflac/src/libFLAC++/libFLAC++_dynamic.dsp139
-rw-r--r--3rdparty/libflac/src/libFLAC++/libFLAC++_dynamic.vcproj230
-rw-r--r--3rdparty/libflac/src/libFLAC++/libFLAC++_static.dsp132
-rw-r--r--3rdparty/libflac/src/libFLAC++/libFLAC++_static.vcproj203
-rw-r--r--3rdparty/libflac/src/libFLAC++/metadata.cpp488
-rw-r--r--3rdparty/libflac/src/libFLAC++/stream_decoder.cpp53
-rw-r--r--3rdparty/libflac/src/libFLAC++/stream_encoder.cpp160
-rw-r--r--3rdparty/libflac/src/libFLAC++/version.rc40
-rw-r--r--3rdparty/libflac/src/libFLAC/CMakeLists.txt126
-rw-r--r--3rdparty/libflac/src/libFLAC/Makefile.am95
-rw-r--r--3rdparty/libflac/src/libFLAC/Makefile.in1329
-rw-r--r--3rdparty/libflac/src/libFLAC/Makefile.lite90
-rw-r--r--3rdparty/libflac/src/libFLAC/bitmath.c96
-rw-r--r--3rdparty/libflac/src/libFLAC/bitreader.c807
-rw-r--r--3rdparty/libflac/src/libFLAC/bitwriter.c610
-rw-r--r--3rdparty/libflac/src/libFLAC/cpu.c535
-rw-r--r--3rdparty/libflac/src/libFLAC/crc.c328
-rw-r--r--3rdparty/libflac/src/libFLAC/deduplication/bitreader_read_rice_signed_block.c143
-rw-r--r--3rdparty/libflac/src/libFLAC/deduplication/lpc_compute_autocorrelation_intrin.c14
-rw-r--r--3rdparty/libflac/src/libFLAC/deduplication/lpc_compute_autocorrelation_intrin_neon.c70
-rw-r--r--3rdparty/libflac/src/libFLAC/deduplication/lpc_compute_autocorrelation_intrin_sse2.c81
-rw-r--r--3rdparty/libflac/src/libFLAC/fixed.c414
-rw-r--r--3rdparty/libflac/src/libFLAC/fixed_intrin_avx2.c343
-rw-r--r--3rdparty/libflac/src/libFLAC/fixed_intrin_sse2.c194
-rw-r--r--3rdparty/libflac/src/libFLAC/fixed_intrin_sse42.c223
-rw-r--r--3rdparty/libflac/src/libFLAC/fixed_intrin_ssse3.c179
-rw-r--r--3rdparty/libflac/src/libFLAC/flac.pc.in6
-rw-r--r--3rdparty/libflac/src/libFLAC/float.c16
-rw-r--r--3rdparty/libflac/src/libFLAC/format.c291
-rw-r--r--3rdparty/libflac/src/libFLAC/ia32/Makefile.am45
-rw-r--r--3rdparty/libflac/src/libFLAC/ia32/Makefile.in487
-rw-r--r--3rdparty/libflac/src/libFLAC/ia32/bitreader_asm.nasm568
-rw-r--r--3rdparty/libflac/src/libFLAC/ia32/cpu_asm.nasm121
-rw-r--r--3rdparty/libflac/src/libFLAC/ia32/fixed_asm.nasm312
-rw-r--r--3rdparty/libflac/src/libFLAC/ia32/lpc_asm.nasm1511
-rw-r--r--3rdparty/libflac/src/libFLAC/ia32/nasm.h75
-rw-r--r--3rdparty/libflac/src/libFLAC/ia32/stream_encoder_asm.nasm159
-rw-r--r--3rdparty/libflac/src/libFLAC/include/Makefile.am3
-rw-r--r--3rdparty/libflac/src/libFLAC/include/Makefile.in672
-rw-r--r--3rdparty/libflac/src/libFLAC/include/config.h26
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/Makefile.am5
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/Makefile.in522
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/all.h3
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/bitmath.h178
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/bitreader.h54
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/bitwriter.h33
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/cpu.h162
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/crc.h19
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/fixed.h40
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/float.h18
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/format.h13
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/lpc.h92
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/macros.h74
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/md5.h10
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/memory.h6
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/metadata.h3
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/ogg_decoder_aspect.h5
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/ogg_encoder_aspect.h11
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/ogg_helper.h3
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/ogg_mapping.h13
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/stream_encoder.h67
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/stream_encoder_framing.h13
-rw-r--r--3rdparty/libflac/src/libFLAC/include/private/window.h5
-rw-r--r--3rdparty/libflac/src/libFLAC/include/protected/Makefile.am3
-rw-r--r--3rdparty/libflac/src/libFLAC/include/protected/Makefile.in520
-rw-r--r--3rdparty/libflac/src/libFLAC/include/protected/all.h3
-rw-r--r--3rdparty/libflac/src/libFLAC/include/protected/stream_decoder.h16
-rw-r--r--3rdparty/libflac/src/libFLAC/include/protected/stream_encoder.h38
-rw-r--r--3rdparty/libflac/src/libFLAC/libFLAC.m426
-rw-r--r--3rdparty/libflac/src/libFLAC/libFLAC_dynamic.dsp464
-rw-r--r--3rdparty/libflac/src/libFLAC/libFLAC_dynamic.vcproj540
-rw-r--r--3rdparty/libflac/src/libFLAC/libFLAC_static.dsp457
-rw-r--r--3rdparty/libflac/src/libFLAC/libFLAC_static.vcproj505
-rw-r--r--3rdparty/libflac/src/libFLAC/lpc.c713
-rw-r--r--3rdparty/libflac/src/libFLAC/lpc_intrin_avx2.c1122
-rw-r--r--3rdparty/libflac/src/libFLAC/lpc_intrin_fma.c73
-rw-r--r--3rdparty/libflac/src/libFLAC/lpc_intrin_neon.c1273
-rw-r--r--3rdparty/libflac/src/libFLAC/lpc_intrin_sse2.c966
-rw-r--r--3rdparty/libflac/src/libFLAC/lpc_intrin_sse41.c950
-rw-r--r--3rdparty/libflac/src/libFLAC/md5.c321
-rw-r--r--3rdparty/libflac/src/libFLAC/memory.c63
-rw-r--r--3rdparty/libflac/src/libFLAC/metadata_iterators.c743
-rw-r--r--3rdparty/libflac/src/libFLAC/metadata_object.c1053
-rw-r--r--3rdparty/libflac/src/libFLAC/ogg_decoder_aspect.c18
-rw-r--r--3rdparty/libflac/src/libFLAC/ogg_encoder_aspect.c11
-rw-r--r--3rdparty/libflac/src/libFLAC/ogg_helper.c15
-rw-r--r--3rdparty/libflac/src/libFLAC/ogg_mapping.c11
-rw-r--r--3rdparty/libflac/src/libFLAC/ppc/Makefile.am31
-rw-r--r--3rdparty/libflac/src/libFLAC/ppc/Makefile.in533
-rw-r--r--3rdparty/libflac/src/libFLAC/ppc/as/Makefile.am52
-rw-r--r--3rdparty/libflac/src/libFLAC/ppc/as/Makefile.in503
-rw-r--r--3rdparty/libflac/src/libFLAC/ppc/as/lpc_asm.s429
-rw-r--r--3rdparty/libflac/src/libFLAC/ppc/gas/Makefile.am52
-rw-r--r--3rdparty/libflac/src/libFLAC/ppc/gas/Makefile.in503
-rw-r--r--3rdparty/libflac/src/libFLAC/ppc/gas/lpc_asm.s431
-rw-r--r--3rdparty/libflac/src/libFLAC/stream_decoder.c1283
-rw-r--r--3rdparty/libflac/src/libFLAC/stream_encoder.c2251
-rw-r--r--3rdparty/libflac/src/libFLAC/stream_encoder_framing.c137
-rw-r--r--3rdparty/libflac/src/libFLAC/stream_encoder_intrin_avx2.c146
-rw-r--r--3rdparty/libflac/src/libFLAC/stream_encoder_intrin_sse2.c159
-rw-r--r--3rdparty/libflac/src/libFLAC/stream_encoder_intrin_ssse3.c148
-rw-r--r--3rdparty/libflac/src/libFLAC/version.rc40
-rw-r--r--3rdparty/libflac/src/libFLAC/window.c129
-rw-r--r--3rdparty/libflac/src/metaflac/CMakeLists.txt18
-rw-r--r--3rdparty/libflac/src/metaflac/Makefile.am39
-rw-r--r--3rdparty/libflac/src/metaflac/Makefile.in812
-rw-r--r--3rdparty/libflac/src/metaflac/Makefile.lite49
-rw-r--r--3rdparty/libflac/src/metaflac/main.c39
-rw-r--r--3rdparty/libflac/src/metaflac/metaflac.dsp152
-rw-r--r--3rdparty/libflac/src/metaflac/metaflac.vcproj256
-rw-r--r--3rdparty/libflac/src/metaflac/operations.c261
-rw-r--r--3rdparty/libflac/src/metaflac/operations.h9
-rw-r--r--3rdparty/libflac/src/metaflac/operations_shorthand.h9
-rw-r--r--3rdparty/libflac/src/metaflac/operations_shorthand_cuesheet.c83
-rw-r--r--3rdparty/libflac/src/metaflac/operations_shorthand_picture.c39
-rw-r--r--3rdparty/libflac/src/metaflac/operations_shorthand_seektable.c29
-rw-r--r--3rdparty/libflac/src/metaflac/operations_shorthand_streaminfo.c20
-rw-r--r--3rdparty/libflac/src/metaflac/operations_shorthand_vorbiscomment.c122
-rw-r--r--3rdparty/libflac/src/metaflac/options.c219
-rw-r--r--3rdparty/libflac/src/metaflac/options.h14
-rw-r--r--3rdparty/libflac/src/metaflac/usage.c74
-rw-r--r--3rdparty/libflac/src/metaflac/usage.h9
-rw-r--r--3rdparty/libflac/src/metaflac/utils.c112
-rw-r--r--3rdparty/libflac/src/metaflac/utils.h14
-rw-r--r--3rdparty/libflac/src/metaflac/version.rc38
-rw-r--r--3rdparty/libflac/src/monkeys_audio_utilities/Makefile.am18
-rw-r--r--3rdparty/libflac/src/monkeys_audio_utilities/Makefile.in520
-rw-r--r--3rdparty/libflac/src/monkeys_audio_utilities/flac_mac/Makefile.in375
-rw-r--r--3rdparty/libflac/src/monkeys_audio_utilities/flac_mac/flac_mac.dsp100
-rw-r--r--3rdparty/libflac/src/monkeys_audio_utilities/flac_mac/flac_mac.vcproj200
-rw-r--r--3rdparty/libflac/src/monkeys_audio_utilities/flac_mac/main.c208
-rw-r--r--3rdparty/libflac/src/monkeys_audio_utilities/flac_ren/Makefile.in375
-rw-r--r--3rdparty/libflac/src/monkeys_audio_utilities/flac_ren/flac_ren.dsp100
-rw-r--r--3rdparty/libflac/src/monkeys_audio_utilities/flac_ren/flac_ren.vcproj200
-rw-r--r--3rdparty/libflac/src/monkeys_audio_utilities/flac_ren/main.c39
-rw-r--r--3rdparty/libflac/src/plugin_common/Makefile.am48
-rw-r--r--3rdparty/libflac/src/plugin_common/Makefile.in539
-rw-r--r--3rdparty/libflac/src/plugin_common/Makefile.lite36
-rw-r--r--3rdparty/libflac/src/plugin_common/README2
-rw-r--r--3rdparty/libflac/src/plugin_common/all.h26
-rw-r--r--3rdparty/libflac/src/plugin_common/charset.c157
-rw-r--r--3rdparty/libflac/src/plugin_common/charset.h39
-rw-r--r--3rdparty/libflac/src/plugin_common/defs.h24
-rw-r--r--3rdparty/libflac/src/plugin_common/dither.c262
-rw-r--r--3rdparty/libflac/src/plugin_common/dither.h29
-rw-r--r--3rdparty/libflac/src/plugin_common/plugin_common_static.dsp128
-rw-r--r--3rdparty/libflac/src/plugin_common/plugin_common_static.vcproj209
-rw-r--r--3rdparty/libflac/src/plugin_common/replaygain.c64
-rw-r--r--3rdparty/libflac/src/plugin_common/replaygain.h32
-rw-r--r--3rdparty/libflac/src/plugin_common/tags.c358
-rw-r--r--3rdparty/libflac/src/plugin_common/tags.h74
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/Makefile.am33
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/Makefile.in536
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/configure.c428
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/configure.h49
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/in_flac.c443
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/in_flac.dsp154
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/in_flac.vcproj259
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/include/Makefile.am18
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/include/Makefile.in520
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/include/winamp2/Makefile.am20
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/include/winamp2/Makefile.in374
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/include/winamp2/in2.h107
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/include/winamp2/out.h55
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/infobox.c459
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/infobox.h28
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/playback.c307
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/playback.h92
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/resource.h47
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/resource.rc236
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/tagz.cpp921
-rw-r--r--3rdparty/libflac/src/plugin_winamp2/tagz.h32
-rw-r--r--3rdparty/libflac/src/plugin_xmms/Makefile.am70
-rw-r--r--3rdparty/libflac/src/plugin_xmms/Makefile.in588
-rw-r--r--3rdparty/libflac/src/plugin_xmms/Makefile.lite43
-rw-r--r--3rdparty/libflac/src/plugin_xmms/charset.c198
-rw-r--r--3rdparty/libflac/src/plugin_xmms/charset.h56
-rw-r--r--3rdparty/libflac/src/plugin_xmms/configure.c823
-rw-r--r--3rdparty/libflac/src/plugin_xmms/configure.h77
-rw-r--r--3rdparty/libflac/src/plugin_xmms/fileinfo.c496
-rw-r--r--3rdparty/libflac/src/plugin_xmms/http.c899
-rw-r--r--3rdparty/libflac/src/plugin_xmms/locale_hack.h55
-rw-r--r--3rdparty/libflac/src/plugin_xmms/plugin.c684
-rw-r--r--3rdparty/libflac/src/plugin_xmms/tag.c154
-rw-r--r--3rdparty/libflac/src/share/Makefile.am61
-rw-r--r--3rdparty/libflac/src/share/Makefile.in1008
-rw-r--r--3rdparty/libflac/src/share/Makefile.lite53
-rw-r--r--3rdparty/libflac/src/share/getopt/CMakeLists.txt13
-rw-r--r--3rdparty/libflac/src/share/getopt/Makefile.am20
-rw-r--r--3rdparty/libflac/src/share/getopt/Makefile.in496
-rw-r--r--3rdparty/libflac/src/share/getopt/Makefile.lite16
-rw-r--r--3rdparty/libflac/src/share/getopt/getopt.c54
-rw-r--r--3rdparty/libflac/src/share/getopt/getopt1.c35
-rw-r--r--3rdparty/libflac/src/share/getopt/getopt_static.dsp112
-rw-r--r--3rdparty/libflac/src/share/getopt/getopt_static.vcproj185
-rw-r--r--3rdparty/libflac/src/share/grabbag/CMakeLists.txt14
-rw-r--r--3rdparty/libflac/src/share/grabbag/Makefile.am25
-rw-r--r--3rdparty/libflac/src/share/grabbag/Makefile.in512
-rw-r--r--3rdparty/libflac/src/share/grabbag/Makefile.lite19
-rw-r--r--3rdparty/libflac/src/share/grabbag/alloc.c48
-rw-r--r--3rdparty/libflac/src/share/grabbag/cuesheet.c202
-rw-r--r--3rdparty/libflac/src/share/grabbag/file.c71
-rw-r--r--3rdparty/libflac/src/share/grabbag/grabbag_static.dsp144
-rw-r--r--3rdparty/libflac/src/share/grabbag/grabbag_static.vcproj221
-rw-r--r--3rdparty/libflac/src/share/grabbag/picture.c214
-rw-r--r--3rdparty/libflac/src/share/grabbag/replaygain.c173
-rw-r--r--3rdparty/libflac/src/share/grabbag/seektable.c53
-rw-r--r--3rdparty/libflac/src/share/grabbag/snprintf.c101
-rw-r--r--3rdparty/libflac/src/share/replaygain_analysis/CMakeLists.txt2
-rw-r--r--3rdparty/libflac/src/share/replaygain_analysis/Makefile.am20
-rw-r--r--3rdparty/libflac/src/share/replaygain_analysis/Makefile.in500
-rw-r--r--3rdparty/libflac/src/share/replaygain_analysis/Makefile.lite15
-rw-r--r--3rdparty/libflac/src/share/replaygain_analysis/replaygain_analysis.c465
-rw-r--r--3rdparty/libflac/src/share/replaygain_analysis/replaygain_analysis_static.dsp108
-rw-r--r--3rdparty/libflac/src/share/replaygain_analysis/replaygain_analysis_static.vcproj181
-rw-r--r--3rdparty/libflac/src/share/replaygain_synthesis/CMakeLists.txt2
-rw-r--r--3rdparty/libflac/src/share/replaygain_synthesis/Makefile.am22
-rw-r--r--3rdparty/libflac/src/share/replaygain_synthesis/Makefile.in602
-rw-r--r--3rdparty/libflac/src/share/replaygain_synthesis/Makefile.lite15
-rw-r--r--3rdparty/libflac/src/share/replaygain_synthesis/include/Makefile.am18
-rw-r--r--3rdparty/libflac/src/share/replaygain_synthesis/include/Makefile.in520
-rw-r--r--3rdparty/libflac/src/share/replaygain_synthesis/include/private/Makefile.am19
-rw-r--r--3rdparty/libflac/src/share/replaygain_synthesis/include/private/Makefile.in424
-rw-r--r--3rdparty/libflac/src/share/replaygain_synthesis/include/private/fast_float_math_hack.h39
-rw-r--r--3rdparty/libflac/src/share/replaygain_synthesis/replaygain_synthesis.c124
-rw-r--r--3rdparty/libflac/src/share/replaygain_synthesis/replaygain_synthesis_static.dsp108
-rw-r--r--3rdparty/libflac/src/share/replaygain_synthesis/replaygain_synthesis_static.vcproj185
-rw-r--r--3rdparty/libflac/src/share/utf8/CMakeLists.txt8
-rw-r--r--3rdparty/libflac/src/share/utf8/Makefile.am25
-rw-r--r--3rdparty/libflac/src/share/utf8/Makefile.in507
-rw-r--r--3rdparty/libflac/src/share/utf8/Makefile.lite17
-rw-r--r--3rdparty/libflac/src/share/utf8/charmaps.h4
-rw-r--r--3rdparty/libflac/src/share/utf8/charset.c60
-rw-r--r--3rdparty/libflac/src/share/utf8/charset.h12
-rw-r--r--3rdparty/libflac/src/share/utf8/charset_test.c26
-rw-r--r--3rdparty/libflac/src/share/utf8/charsetmap.h79
-rw-r--r--3rdparty/libflac/src/share/utf8/iconvert.c46
-rw-r--r--3rdparty/libflac/src/share/utf8/iconvert.h14
-rw-r--r--3rdparty/libflac/src/share/utf8/makemap.c16
-rw-r--r--3rdparty/libflac/src/share/utf8/utf8.c271
-rw-r--r--3rdparty/libflac/src/share/utf8/utf8_static.dsp116
-rw-r--r--3rdparty/libflac/src/share/utf8/utf8_static.vcproj201
-rw-r--r--3rdparty/libflac/src/share/win_utf8_io/win_utf8_io.c398
-rw-r--r--3rdparty/libflac/src/test_grabbag/CMakeLists.txt2
-rw-r--r--3rdparty/libflac/src/test_grabbag/Makefile.am7
-rw-r--r--3rdparty/libflac/src/test_grabbag/Makefile.in677
-rw-r--r--3rdparty/libflac/src/test_grabbag/Makefile.lite40
-rw-r--r--3rdparty/libflac/src/test_grabbag/cuesheet/CMakeLists.txt5
-rw-r--r--3rdparty/libflac/src/test_grabbag/cuesheet/Makefile.am26
-rw-r--r--3rdparty/libflac/src/test_grabbag/cuesheet/Makefile.in680
-rw-r--r--3rdparty/libflac/src/test_grabbag/cuesheet/Makefile.lite40
-rw-r--r--3rdparty/libflac/src/test_grabbag/cuesheet/main.c63
-rw-r--r--3rdparty/libflac/src/test_grabbag/cuesheet/test_cuesheet.dsp96
-rw-r--r--3rdparty/libflac/src/test_grabbag/cuesheet/test_cuesheet.vcproj202
-rw-r--r--3rdparty/libflac/src/test_grabbag/picture/CMakeLists.txt5
-rw-r--r--3rdparty/libflac/src/test_grabbag/picture/Makefile.am27
-rw-r--r--3rdparty/libflac/src/test_grabbag/picture/Makefile.in680
-rw-r--r--3rdparty/libflac/src/test_grabbag/picture/Makefile.lite40
-rw-r--r--3rdparty/libflac/src/test_grabbag/picture/main.c62
-rw-r--r--3rdparty/libflac/src/test_grabbag/picture/test_picture.dsp96
-rw-r--r--3rdparty/libflac/src/test_grabbag/picture/test_picture.vcproj202
-rw-r--r--3rdparty/libflac/src/test_libFLAC++/CMakeLists.txt10
-rw-r--r--3rdparty/libflac/src/test_libFLAC++/Makefile.am26
-rw-r--r--3rdparty/libflac/src/test_libFLAC++/Makefile.in738
-rw-r--r--3rdparty/libflac/src/test_libFLAC++/Makefile.lite47
-rw-r--r--3rdparty/libflac/src/test_libFLAC++/decoders.cpp90
-rw-r--r--3rdparty/libflac/src/test_libFLAC++/decoders.h9
-rw-r--r--3rdparty/libflac/src/test_libFLAC++/encoders.cpp89
-rw-r--r--3rdparty/libflac/src/test_libFLAC++/encoders.h9
-rw-r--r--3rdparty/libflac/src/test_libFLAC++/main.cpp13
-rw-r--r--3rdparty/libflac/src/test_libFLAC++/metadata.cpp13
-rw-r--r--3rdparty/libflac/src/test_libFLAC++/metadata.h9
-rw-r--r--3rdparty/libflac/src/test_libFLAC++/metadata_manip.cpp199
-rw-r--r--3rdparty/libflac/src/test_libFLAC++/metadata_object.cpp54
-rw-r--r--3rdparty/libflac/src/test_libFLAC++/test_libFLAC++.dsp136
-rw-r--r--3rdparty/libflac/src/test_libFLAC++/test_libFLAC++.vcproj234
-rw-r--r--3rdparty/libflac/src/test_libFLAC/CMakeLists.txt25
-rw-r--r--3rdparty/libflac/src/test_libFLAC/Makefile.am40
-rw-r--r--3rdparty/libflac/src/test_libFLAC/Makefile.in752
-rw-r--r--3rdparty/libflac/src/test_libFLAC/Makefile.lite47
-rw-r--r--3rdparty/libflac/src/test_libFLAC/bitreader.c355
-rw-r--r--3rdparty/libflac/src/test_libFLAC/bitreader.h27
-rw-r--r--3rdparty/libflac/src/test_libFLAC/bitwriter.c206
-rw-r--r--3rdparty/libflac/src/test_libFLAC/bitwriter.h9
-rw-r--r--3rdparty/libflac/src/test_libFLAC/crc.c274
-rw-r--r--3rdparty/libflac/src/test_libFLAC/crc.h (renamed from 3rdparty/libflac/src/plugin_xmms/tag.h)18
-rw-r--r--3rdparty/libflac/src/test_libFLAC/decoders.c80
-rw-r--r--3rdparty/libflac/src/test_libFLAC/decoders.h9
-rw-r--r--3rdparty/libflac/src/test_libFLAC/encoders.c69
-rw-r--r--3rdparty/libflac/src/test_libFLAC/encoders.h9
-rw-r--r--3rdparty/libflac/src/test_libFLAC/endswap.c111
-rw-r--r--3rdparty/libflac/src/test_libFLAC/endswap.h (renamed from 3rdparty/libflac/src/plugin_xmms/http.h)18
-rw-r--r--3rdparty/libflac/src/test_libFLAC/format.c36
-rw-r--r--3rdparty/libflac/src/test_libFLAC/format.h9
-rw-r--r--3rdparty/libflac/src/test_libFLAC/main.c29
-rw-r--r--3rdparty/libflac/src/test_libFLAC/md5.c221
-rw-r--r--3rdparty/libflac/src/test_libFLAC/md5.h (renamed from 3rdparty/libflac/src/plugin_xmms/plugin.h)18
-rw-r--r--3rdparty/libflac/src/test_libFLAC/metadata.c11
-rw-r--r--3rdparty/libflac/src/test_libFLAC/metadata.h9
-rw-r--r--3rdparty/libflac/src/test_libFLAC/metadata_manip.c135
-rw-r--r--3rdparty/libflac/src/test_libFLAC/metadata_object.c184
-rw-r--r--3rdparty/libflac/src/test_libFLAC/test_libFLAC.dsp148
-rw-r--r--3rdparty/libflac/src/test_libFLAC/test_libFLAC.vcproj252
-rw-r--r--3rdparty/libflac/src/test_libs_common/CMakeLists.txt4
-rw-r--r--3rdparty/libflac/src/test_libs_common/Makefile.am17
-rw-r--r--3rdparty/libflac/src/test_libs_common/Makefile.in670
-rw-r--r--3rdparty/libflac/src/test_libs_common/Makefile.lite35
-rw-r--r--3rdparty/libflac/src/test_libs_common/file_utils_flac.c24
-rw-r--r--3rdparty/libflac/src/test_libs_common/metadata_utils.c193
-rw-r--r--3rdparty/libflac/src/test_libs_common/test_libs_common_static.dsp108
-rw-r--r--3rdparty/libflac/src/test_libs_common/test_libs_common_static.vcproj177
-rw-r--r--3rdparty/libflac/src/test_seeking/CMakeLists.txt5
-rw-r--r--3rdparty/libflac/src/test_seeking/Makefile.am29
-rw-r--r--3rdparty/libflac/src/test_seeking/Makefile.in679
-rw-r--r--3rdparty/libflac/src/test_seeking/Makefile.lite40
-rw-r--r--3rdparty/libflac/src/test_seeking/main.c112
-rw-r--r--3rdparty/libflac/src/test_seeking/test_seeking.dsp100
-rw-r--r--3rdparty/libflac/src/test_seeking/test_seeking.vcproj204
-rw-r--r--3rdparty/libflac/src/test_streams/CMakeLists.txt2
-rw-r--r--3rdparty/libflac/src/test_streams/Makefile.am21
-rw-r--r--3rdparty/libflac/src/test_streams/Makefile.in673
-rw-r--r--3rdparty/libflac/src/test_streams/Makefile.lite36
-rw-r--r--3rdparty/libflac/src/test_streams/main.c561
-rw-r--r--3rdparty/libflac/src/test_streams/test_streams.dsp96
-rw-r--r--3rdparty/libflac/src/test_streams/test_streams.vcproj202
-rw-r--r--3rdparty/libflac/src/utils/Makefile.am (renamed from 3rdparty/libflac/obj/debug/Makefile.am)9
-rw-r--r--3rdparty/libflac/src/utils/Makefile.in676
-rw-r--r--3rdparty/libflac/src/utils/flacdiff/CMakeLists.txt5
-rw-r--r--3rdparty/libflac/src/utils/flacdiff/Makefile.am (renamed from 3rdparty/libflac/src/monkeys_audio_utilities/flac_mac/Makefile.am)16
-rw-r--r--3rdparty/libflac/src/utils/flacdiff/Makefile.in501
-rw-r--r--3rdparty/libflac/src/utils/flacdiff/main.cpp230
-rw-r--r--3rdparty/libflac/src/utils/flactimer/CMakeLists.txt2
-rw-r--r--3rdparty/libflac/src/utils/flactimer/Makefile.am (renamed from 3rdparty/libflac/src/monkeys_audio_utilities/flac_ren/Makefile.am)16
-rw-r--r--3rdparty/libflac/src/utils/flactimer/Makefile.in501
-rw-r--r--3rdparty/libflac/src/utils/flactimer/main.cpp175
-rw-r--r--3rdparty/libflac/strip_non_asm_libtool_args.sh19
-rw-r--r--3rdparty/libflac/test/CMakeLists.txt103
-rw-r--r--3rdparty/libflac/test/Makefile.am61
-rw-r--r--3rdparty/libflac/test/Makefile.in805
-rw-r--r--3rdparty/libflac/test/Makefile.lite55
-rw-r--r--3rdparty/libflac/test/common.sh.in87
-rw-r--r--3rdparty/libflac/test/cuesheet.ok1
-rw-r--r--3rdparty/libflac/test/cuesheets/Makefile.am8
-rw-r--r--3rdparty/libflac/test/cuesheets/Makefile.in426
-rw-r--r--3rdparty/libflac/test/cuesheets/good.005.quoted.isrc.cue6
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/Makefile.am8
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/Makefile.in426
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/Prøve.flacbin0 -> 1257 bytes
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/case00a-expect.meta14
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01a-expect.meta12
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01b-expect.meta10
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01c-expect.meta12
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01d-expect.meta12
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01e-expect.meta12
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/case02a-expect.meta12
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/case02b-expect.meta12
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/case02c-expect.meta14
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/case03a-expect.meta14
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/case03b-expect.meta14
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/case03c-expect.meta12
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04a-expect.meta6
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04b-expect.meta8
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04c-expect.meta8
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04d-expect.meta8
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04e-expect.meta10
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/שלו×.flacbin0 -> 3926 bytes
-rw-r--r--3rdparty/libflac/test/flac-to-flac-metadata-test-files/🤔.flacbin0 -> 1708 bytes
-rw-r--r--3rdparty/libflac/test/foreign-metadata-test-files/24bit-WaveFmtPCM.wav (renamed from 3rdparty/libflac/doc/html/favicon.ico)bin1406 -> 1368 bytes
-rw-r--r--3rdparty/libflac/test/foreign-metadata-test-files/AIFF-C-sowt-compression-type-name.aifcbin0 -> 372 bytes
-rw-r--r--3rdparty/libflac/test/foreign-metadata-test-files/AIFF-C-sowt-tag.aifcbin0 -> 3120 bytes
-rw-r--r--3rdparty/libflac/test/foreign-metadata-test-files/AIFF-ID3.aiffbin0 -> 4580 bytes
-rwxr-xr-x3rdparty/libflac/test/foreign-metadata-test-files/BWF-WaveFmtEx.wavbin0 -> 11402 bytes
-rw-r--r--3rdparty/libflac/test/foreign-metadata-test-files/Makefile.am (renamed from 3rdparty/libflac/build/Makefile.am)13
-rw-r--r--3rdparty/libflac/test/foreign-metadata-test-files/Makefile.in504
-rwxr-xr-x[-rw-r--r--]3rdparty/libflac/test/generate_streams.sh (renamed from 3rdparty/libflac/doc/html/images/Makefile.am)25
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/Makefile.am12
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/Makefile.in430
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case00-expect.meta8
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case02-expect.meta10
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case03-expect.meta8
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case04-expect.meta8
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case05-expect.meta8
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case06-expect.meta8
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case07-expect.meta2
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case08-expect.meta8
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case09-expect.meta8
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case10-expect.meta2
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case11-expect.meta2
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case12-expect.meta4
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case13-expect.meta4
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case14-expect.meta4
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case15-expect.meta6
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case16-expect.meta12
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case17-expect.meta8
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case18-expect.meta10
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case19-expect.meta8
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case20-expect.meta10
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case21-expect.meta8
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case22-expect.meta6
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case23-expect.meta6
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case24-expect.meta6
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case25-expect.meta4
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case26-expect.meta8
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case27-expect.meta4
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case28-expect.meta4
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case29-expect.meta2
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case30-expect.meta2
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case31-expect.meta4
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case32-expect.meta4
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case33-expect.meta6
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case34-expect.meta6
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case35-expect.meta6
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case36-expect.meta4
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case37-expect.meta6
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case38-expect.meta6
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case39-expect.meta6
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case40-expect.meta6
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case41-expect.meta6
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case42-expect.meta6
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case43-expect.meta10
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case44-expect.meta8
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case45-expect.meta10
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case46-expect.meta14
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case47-expect.meta18
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case48-expect.meta22
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case49-expect.meta26
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case50-expect.meta30
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case51-expect.meta34
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case52-expect.meta38
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case53-expect.meta42
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case54-expect.meta46
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case55-expect.meta50
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case56-expect.meta54
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case57-expect.meta58
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case58-expect.meta62
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case59-expect.meta66
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case60-expect.meta10
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case61-expect.meta14
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case62-expect.meta18
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case63-expect.meta74
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case64-expect.meta3
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case65-expect.metabin0 -> 1672 bytes
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case66-expect.meta62
-rw-r--r--3rdparty/libflac/test/metaflac-test-files/case67-expect.meta95
-rw-r--r--3rdparty/libflac/test/pictures/Makefile.am5
-rw-r--r--3rdparty/libflac/test/pictures/Makefile.in423
-rw-r--r--3rdparty/libflac/test/test_bins.sh114
-rwxr-xr-x3rdparty/libflac/test/test_compression.sh46
-rwxr-xr-x[-rw-r--r--]3rdparty/libflac/test/test_flac.sh810
-rwxr-xr-x[-rw-r--r--]3rdparty/libflac/test/test_grabbag.sh82
-rwxr-xr-x[-rw-r--r--]3rdparty/libflac/test/test_libFLAC++.sh35
-rwxr-xr-x[-rw-r--r--]3rdparty/libflac/test/test_libFLAC.sh34
-rwxr-xr-x[-rw-r--r--]3rdparty/libflac/test/test_metaflac.sh231
-rwxr-xr-x3rdparty/libflac/test/test_replaygain.sh146
-rwxr-xr-x[-rw-r--r--]3rdparty/libflac/test/test_seeking.sh68
-rwxr-xr-x[-rw-r--r--]3rdparty/libflac/test/test_streams.sh139
-rwxr-xr-x3rdparty/libflac/test/write_iff.pl211
983 files changed, 99720 insertions, 172355 deletions
diff --git a/3rdparty/libflac/AUTHORS b/3rdparty/libflac/AUTHORS
index 217baf41872..34c5f89706e 100644
--- a/3rdparty/libflac/AUTHORS
+++ b/3rdparty/libflac/AUTHORS
@@ -1,8 +1,9 @@
/* FLAC - Free Lossless Audio Codec
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This file is part the FLAC project. FLAC is comprised of several
- * components distributed under difference licenses. The codec libraries
+ * components distributed under different licenses. The codec libraries
* are distributed under Xiph.Org's BSD-like license (see the file
* COPYING.Xiph in this distribution). All other programs, libraries, and
* plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -16,11 +17,30 @@
* distribution.
*/
+This file lists major contributors to the FLAC project. This list is not
+exhaustive. For an exhaustive list, run the command `git shortlog -s` on
+the git repo or visit https://gitlab.xiph.org/xiph/flac/-/graphs/master
-FLAC (http://flac.sourceforge.net/) is an Open Source lossless audio
-codec developed by Josh Coalson <jcoalson@users.sourceforge.net>.
+For a complete list of contributions, run the command `git log` on the
+git repo, visit https://github.com/xiph/flac/commits or visit
+https://gitlab.xiph.org/xiph/flac/commits
+
+Original author: Josh Coalson <jcoalson@users.sourceforge.net>
+Maintainer 2012-2020: Erik de Castro Lopo <erikd@mega-nerd.com>
+Maintainer from 2022: Martijn van Beurden <mvanb1@gmail.com>
+
+Website : https://www.xiph.org/flac/
Other major contributors and their contributions:
+
+"lvqcl" <lvqcl@users.sourceforge.net>
+* Visual Studio build system.
+* Optimisations in the encoder and decoder.
+
+"Janne Hyvärinen" <cse@sci.fi>
+* Visual Studio build system.
+* Unicode handling on Windows.
+
"Andrey Astafiev" <andrei@tvcell.ru>
* Russian translation of the HTML documentation
@@ -38,4 +58,3 @@ Other major contributors and their contributions:
"Matt Zimmerman" <mdz@debian.org>
* Libtool/autoconf/automake make system, flac man page
-
diff --git a/3rdparty/libflac/CHANGELOG.md b/3rdparty/libflac/CHANGELOG.md
new file mode 100644
index 00000000000..71467a5ae36
--- /dev/null
+++ b/3rdparty/libflac/CHANGELOG.md
@@ -0,0 +1,992 @@
+# Changelog
+
+This changelog is not exhaustive, review [the git commit log](https://github.com/xiph/flac/commits) for an exhaustive list of changes.
+
+## FLAC 1.4.3 (23-Jun-2023)
+
+As there have been additions to the libFLAC interfaces, the libFLAC version number is incremented to 13. The libFLAC++ version number stays at 10.
+
+* General
+ * All PowerPC-specific code has been removed, as it turned out those improvements didn't actually improve anything
+ * Large improvements in encoder speed for all presets. The largest change is for the fastest presets and for 24-bit and 32-bit inputs.
+ * Small improvement in decoder speed for BMI2-capable CPUs
+ * Various documentation fixes and cleanups (Mark Grassi, Jake Schmidt)
+ * Various fixes (Ozkan Sezer, Zhipeng Xue, orbea, Sam James, Harish Mahendrakar)
+ * Fix building on Universal Windows Platform (Dmitry KostjuÄenko)
+* flac
+ * A lot of small fixes for bugs found by fuzzing
+ * Various improvements to the --keep-foreign-metadata and --keep-foreign-metadata-if-present options on decoding
+ * The output format (WAV/AIFF/RF64 etc.) is now automatically selected based on what kind of foreign metadata is stored
+ * Decoded file is checked afterwards, to see whether stored foreign format data agrees with FLAC audio properties
+ * AIFF-C sowt data can now be restored
+ * Add --force-legacy-wave-format option, to decode to WAV with WAVEFORMATPCM where WAVE_FORMAT_EXTENSIBLE would be more appropriate
+ * Add --force-aiff-c-none-format and --force-aiff-c-sowt-format to decode to AIFF-C
+ * The storage of WAVEFORMATEXTENSIBLE_CHANNEL_MASK is no longer restricted to known channel orderings
+ * Throw an error when WAV or AIFF files are over 4GiB in length and the --ignore-chunk-sizes option is not set
+ * Warn on testing files when ID3v2 tags are found
+ * Warn when data trails the audio data of a WAV/AIFF/RF64/W64 file
+ * Fix output file not being deleted after error on Windows
+ * Removal of the --sector--align option
+* metaflac
+ * A lot of small fixes for bugs found by fuzzing
+ * Added options --append and --data-format, which makes it possible to copy metadata blocks from one FLAC file to another
+ * Added option --remove-all-tags-except
+ * Added option --show-all-tags (harridu, Martijn van Beurden)
+* libFLAC
+ * No longer write seektables to Ogg, even when specifically asked for. Seektables in Ogg are not defined
+ * Add functions FLAC__metadata_object_set_raw and FLAC__metadata_object_get_raw to convert between blob and FLAC__StreamMetadata
+* Build system
+ * Autoconf (configure)
+ * The option --enable-64-bit-words is now on by default
+ * CMake
+ * The option ENABLE_64_BIT_WORDS is now on by default
+* Testing/validation
+ * Fuzzers were added for the flac and metaflac command line tools
+ * Fuzzer coverage was improved
+
+## FLAC 1.4.2 (22-Oct-2022)
+
+Once again, this release only has a few changes. A problem with FLAC playback in GStreamer (and possibly other libFLAC users) was the reason for the short time since the last release
+
+* General
+ * Remove xmms plugin (Martijn van Beurden, TokyoBlackHole)
+ * Remove all pure assembler, removing build dependency on nasm
+ * Made console output more uniform across different platforms and CPUs
+ * Improve ability to tune compile for a certain system (for example with -march=native) when combining with --disable-asm-optimizations: plain C functions can now be better optimized
+* Build system
+ * Default CFLAGS are now prepended instead of dropped when user CFLAGS are set
+ * -msse2 is no longer added by default (was only applicable to x86)
+ * Fix cross-compiling and out-of-tree building when pandoc and doxygen are not available
+ * Fix issue with Clang not compiling functions with intrinsics
+ * Fix detection of bswap intrinsics (Ozkan Sezer)
+ * Improve search for libssp on MinGW (Ozkan Sezer, Martijn van Beurden)
+* libFLAC
+ * Fix issue when the libFLAC user seeks in a file instead of libFLAC itself
+
+## FLAC 1.4.1 (22-Sep-2022)
+
+This release only has a few changes. It was triggered by a problem in the 1.4.0 tarball: man pages were empty and api documentation missing
+
+* CMake fixes (Tomasz Kłoczko)
+* Add checks that man pages and api docs end up in tarball
+* Enable installation of prebuilt man pages and api docs
+* Fix compiler warnings (Johannes Kauffmann, Ozkan Sezer)
+* Fix format specifier (manxorist)
+* Enable building on Universal Windows Platform (Steve Lhomme)
+* Fix versioning from git
+
+## FLAC 1.4.0 (09-Sep-2022)
+
+As there have been changes to the library interfaces, the libFLAC version number is incremented to 12, the libFLAC++ version number is incremented to 10. As some changes were breaking, the version age numbers (see [libtool versioning](https://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning)) have been reset to 0. For more details on the changes to the API, see the [porting guide](https://xiph.org/flac/api/group__porting__1__3__4__to__1__4__0.html).
+
+The XMMS plugin and 'common' plugin code (used only by the XMMS plugin) are deprecated, they will be removed in a future release.
+
+* General:
+ * It is now possible to limit the minimum bitrate of a FLAC file generated by libFLAC and with the `flac` tool to 1 bit/sample. This function can be used to aid live streaming, for example for internet radio
+ * Encoding files with sample rates up to 1'048'575Hz is now possible. (Con Kolivas)
+ * Compression of preset -3 through -8 was slightly improved at the cost of a small decrease in encoding speed by increasing the precision with which autocorrelation was calculated (Martijn van Beurden)
+ * Encoding speed of preset -0, -1 and -2 was slightly improved
+ * Compression of presets -1 and -4 was slighly improved on certain material by changing the adaptive mid-side heuristics
+ * Speedups specifically targeting 64-bit ARMv8 devices using NEON were integrated (Ronen Gvili, Martijn van Beurden)
+ * Speedups for x86_64 CPUs having the FMA instruction set extention are added
+ * Encoding and decoding of 32-bit PCM is now possible
+* (Ogg) FLAC format:
+ * The FLAC format document is being rewritten by the IETF CELLAR working group. The latest draft can be found on [https://datatracker.ietf.org/doc/draft-ietf-cellar-flac/](https://datatracker.ietf.org/doc/draft-ietf-cellar-flac/)
+ * The FLAC format document specifies no bounds for the residual. In other to match current decoder implementations, it is proposed to bound the residual to the range provided by a 32-bit int signed two's complement. This limit must be checked by FLAC encoders as to keep FLAC decoders free from the complexity of being to decode a residual exceeding a 32-bit int.
+ * There is now a set of files available to test whether a FLAC decoder implements the format correctly. This FLAC decoder testbench can be found at [https://github.com/ietf-wg-cellar/flac-test-files](https://github.com/ietf-wg-cellar/flac-test-files). Also, results of testing hard- and software can be found here at [https://wiki.hydrogenaud.io/index.php?title=FLAC_decoder_testbench](https://wiki.hydrogenaud.io/index.php?title=FLAC_decoder_testbench).
+* flac:
+ * The option --limit-min-bitrate was added to aid streaming, see [github #264](https://github.com/xiph/flac/pull/264)
+ * The option --keep-foreign-metadata-if-present is added. This option works the same as --keep-foreign-metadata, but does return a warning instead of an error if no foreign metadata was found to store or restore
+ * The warning returned by the foreign metadata handling is now clearer in case a user tries to restore foreign metadata of the wrong type, for example decoding a FLAC file containing AIFF foreign metadata to a WAV file
+ * A problem when using the analyse function causing the first frame to have a wrong size and offset was fixed
+ * Fix bug where channel mask of a file is unintentionally reused when several files are processed with one command
+ * The order of compression-related commands is no longer important, i.e. -8ep gives the same result as -ep8. Previously, a compression level (like -8) would override a more specific setting (like -e or -p). This is no longer the case
+ * flac now checks the block-align property of WAV files to ensure non-standard WAV files (for which flac has no handling) are not mangled
+* metaflac:
+ * (none)
+* build system:
+ * MSVC and Makefile.lite build system files have been removed. Building with MSVC (Visual Studio) can be done by using CMake
+ * Various CMake improvements, especially for creating MSVC build files (Martijn van Beurden, martinRenou, CookiePLMonster, David Callu, Tyler Dunn, Cameron Cawley)
+ * Various fixes for MinGW (Martijn van Beurden, Cameron Cawley)
+ * Removed obsolete autotools macro's to silence warnings
+ * Fixes for FreeBSD PowerPC (pkubaj)
+ * Fixed some compiler warnings (Martijn van Beurden, Tyler Dunn)
+ * Fix building with uclibc (Fabrice Fontaine)
+* testing/validation:
+ * Addition of new encoder fuzzer, adding fuzzing for 8, 24 and 32-bit inputs
+ * Addition of new decoder fuzzer, adding coverage of seeking code
+ * Addition of metadata fuzzer, adding coverage of metadata APIs
+ * Various improvements to fuzzers to improve code coverage, fuzzing speed and stability
+ * Many changes to test suite to improve cross-platform compatibility (Rosen Penev)
+ * Windows CI now also builds the whole test suite
+ * Clang-format file added (Rosen Penev)
+ * Add warning on using v141_xp platform toolset with /MT (Martijn van Beurden, Paul Sanders)
+* libraries:
+ * Various seeking fixes (Martijn van Beurden, Robert Kausch)
+ * Various bugs fixed found by fuzzing
+ * On decoding, it is now checked whether residuals can be contained by a 32-bit int, preventing integer overflow
+ * Add check that samples supplied to libFLAC actually fall within the bps set
+ * Add checks when parsing metadata blocks to not allocate excessive amounts of memory and not overread
+ * Undocumented Windows-only utf8 functions are no longer exported to the DLL interface
+ * Removed all assembler and intrinsics code from the decoder to improve fuzzing, as they provided only a small speed benefit
+ * The bitwriter buffer is limited in size to 2^24 bytes, so it cannot write excessively large files. This is a backup in case another bug in this area creeps (back) in.
+ * The metadata iterations should now never return a vorbiscomment entry with NULL as an entry, now always at least an empty string is returned
+* documentation:
+ * Removed html documentation and generate man pages from markdown
+* Interface changes:
+ * libFLAC:
+ * Addition of FLAC__stream_encoder_set_limit_min_bitrate() and FLAC__stream_encoder_get_limit_min_bitrate(), see [github #264](https://github.com/xiph/flac/pull/264)
+ * get_client_data_from_decoder is renamed FLAC__get_decoder_client_data(), see [github #124](https://github.com/xiph/flac/pull/124)
+ * All API functions taking a filename as an argument now take UTF-8 filenames on Windows, and no longer accept filenames using the current codepage
+ * FLAC__Frame struct has changed: warmup samples are now stored in FLAC__int64 instead of FLAC__int32 types, and verbatim samples can now be stored in either FLAC__int32 or FLAC__int64 depending on whether samples fix the former or latter
+ * The FLAC__StreamMetadata struct now has a tag, so it can be forward declared
+ * libFLAC++:
+ * Addition of ::set_limit_min_bitrate() and ::get_limit_min_bitrate(), see [github #264](https://github.com/xiph/flac/pull/264)
+ * All API functions taking a filename as an argument now take UTF-8 filenames on Windows, and no longer accept filenames using the current codepage
+ * The ::FLAC__Frame struct has changed, see the libFLAC interface change.
+
+## FLAC 1.3.4 (20-Feb-2022)
+
+This release mostly fixes (security related) bugs. When building with MSVC, using CMake is preferred, see the README under "Building with CMake" for more information. Building with MSVC using solution files is deprecated and these files will be removed in the future. As there have been no changes to the library interfaces, the libFLAC version number remains 11, and libFLAC++ version number remains 9.
+
+* General:
+ * Fix 12 decoder bugs found by oss-fuzz, including CVE-2020-0499 (erikd, Martijn van Beurden)
+ * Fix encoder bug CVE-2021-0561 (NeelkamalSemwal)
+ * Integrate oss-fuzzers (erikd, Guido Vranken)
+ * Seeking fixes (NeelkamalSemwal, Robert Kausch)
+ * Various fixes and improvements (Andrei Astafev, Rosen Penev, Håkan Kvist, oreo639, erikd, Tamás Zahola, Ulrik Mikaelsson, Tyler Dunn, tmkk)
+* FLAC format:
+ * (none)
+* Ogg FLAC format:
+ * (none)
+* flac:
+ * Various fixes and improvements (Andrei Astafev, Martijn van Beurden)
+* metaflac:
+ * (none)
+* build system:
+ * CMake improvements (evpobr, Vitaliy Kirsanov, erikd, Ozkan Sezer, Tyler Dunn, tg-m DeadSix27, ericLemanissier, Chocobo1).
+ * Fixes for MinGW and MSVC (Ozkan Sezer).
+ * Fix for clang (Ozkan Sezer)
+ * Fix for PowerPC (Peter Seiderer, Thomas BERNARD)
+ * Fix for FreeBSD PowerPC (pkubaj).
+* testing/validation:
+ * Add Windows target to CI, improve logging (Ralph Giles)
+ * CI improvements (Ralph Giles, Ewout ter Hoeven)
+* documentation:
+ * Doxygen fixes (Tyler Dunn)
+ * Fix typos (Tim Gates, maxz)
+* Interface changes:
+ * libFLAC:
+ * (none)
+ * libFLAC++:
+ * (none)
+
+## FLAC 1.3.3 (4-Augs-2019)
+
+* General:
+ * Fix CPU detection (Janne Hyvärinen).
+ * Switch from unsigned types to uint32_t (erikd).
+ * CppCheck fixes (erikd).
+ * Improve SIMD decoding of 24 bit files (lvqcl).
+ * POWER* amnd POWER9 improvements (Anton Blanchard).
+ * More tests.
+* FLAC format:
+ * (none)
+* Ogg FLAC format:
+ * (none)
+* flac:
+ * When converting to WAV, use WAVEFORMATEXTENSIBLE when bits per second is not 8 or 16 (erikd).
+ * Fix --output-prefix with input-files in sub-directories (orbea).
+* metaflac:
+ * (none)
+* plugins:
+ * (none)
+* build system:
+ * Cmake support (Vitaliy Kirsanov, evpobr).
+ * Visual Studio updates (Janne Hyvärinen).
+ * Fix for MSVC when UNICODE is enabled (lvqcl).
+ * Fix for OpenBSD/i386 (Christian Weisgerber).
+* documentation:
+ * (none)
+* libraries:
+ * (none).
+* Interface changes:
+ * libFLAC:
+ * (none)
+ * libFLAC++:
+ * (none)
+
+## FLAC 1.3.2 (01-Jan-2017)
+
+* General:
+ * Fix undefined behaviour using GCC/Clang UBSAN (erikd).
+ * General hardening via fuzz testing with AFL (erikd and others).
+ * General code improvements (lvqcl, erikd and others).
+ * Add FLAC in MP4 specification docs (Ralph Giles).
+ * MSVS build cleanups (lvqcl).
+ * Fix some cppcheck warnings (erikd).
+ * Assume all currently used OSes support SSE2.
+* FLAC format:
+ * (none)
+* Ogg FLAC format:
+ * (none)
+* flac:
+ * Fix potential infinite loop on flac-to-flac conversion (erikd).
+ * Add WAVEFORMATEXTENSIBLE to WAV (as needed) when decoding (lvqcl).
+ * Only write vorbis-comments if they are non-empty.
+ * Error out if decoding RAW with bits != (8|16|24).
+* metaflac:
+ * Add --scan-replay-gain option.
+* plugins:
+ * (none)
+* build system:
+ * Fixes for MSVC and Makefile.lite build systems.
+* documentation:
+ * (none)
+* libraries:
+ * CPU detection cleanup and fixes (Julian Calaby, erikd and lvqcl).
+ * Fix two stream decoder bugs (Max Kellermann).
+ * Fix a NULL dereference bug (on a malformed file).
+ * Changed the LPC order guess for a slight compression improvement, particularly for classical music (Martijn van Beurden).
+ * Improved encoding speed on older Intel CPUs.
+ * Fixed a seeking bug when decoding certain files (Miroslav Lichvar).
+ * Put an upper bound (32768) on the number of seek points.
+ * Fix potential memory leaks.
+ * Support 64bit brword/bwword allowing FLAC__BYTES_PER_WORD to be set to 8 (disabled by default).
+ * Fix an out-of-bounds heap read.
+ * Win32: Only use large buffers when writing to disk.
+* Interface changes:
+ * libFLAC:
+ * (none)
+ * libFLAC++:
+ * (none)
+
+## FLAC 1.3.1 (25-Nov-2014)
+
+* General:
+ * Improved decoding efficiency of all bit depths but especially so for 24 bits for IA32 architecture (lvqcl and Miroslav Lichvar).
+ * Faster encoding using SSE and AVX (lvqcl).
+ * Fixed bartlett, bartlett_hann and triangle functions.
+ * New apodization functions partial_tukey and punchout_tukey for improved compression (Martijn van Beurden).
+ * Retuned compression presets to incorporate new apodization functions (Martijn van Beurden).
+ * Fix -Wcast-align warnings on armhf architecture (Erik de Castro Lopo).
+* FLAC format:
+ * (none)
+* Ogg FLAC format:
+ * (none)
+* flac:
+ * Help output documentation improvements.
+ * I/O buffering improvements on Windows to reduce disk fragmentation when writing files.
+ * Only write vorbis-comments if they are non-empty.
+* metaflac:
+ * (none)
+* plugins:
+ * Fix symbol visibility in XMMS plugin.
+* build system:
+ * Many fixes and improvements across all the build systems.
+* documentation:
+ * Document new [apodization windows](https://xiph.org/flac/documentation_tools_flac.html#flac_options_apodization).
+* libraries:
+ * Fix CVE-2014-9028 (heap write overflow) and CVE-2014-8962 (heap read overflow) (Erik de Castro Lopo).
+* Interface changes:
+ * libFLAC:
+ * (none)
+ * libFLAC++:
+ * (none)
+
+## FLAC 1.3.0 (26-May-2013)
+
+* General:
+ * Move development to Xiph.org git repository.
+ * The <span class="argument">[--sector-align](https://xiph.org/flac/documentation_tools_flac.html#flac_options_sector_align)</span> option of <span class="commandname">flac</span> has been deprecated and may not exist in future versions. [shntool](http://www.etree.org/shnutils/shntool/) provides similar functionality.
+ * Support for the RF64 and Wave64 formats in <span class="commandname">flac</span> (see below).
+ * Better handling of cuesheets with non-CD-DA sample rates.
+ * The <span class="argument">[--ignore-chunk-sizes](https://xiph.org/flac/documentation_tools_flac.html#flac_options_ignore_chunk_sizes)</span> option has been added to the <span class="commandname">flac</span> command line tool.
+* FLAC format:
+ * (none)
+* Ogg FLAC format:
+ * (none)
+* flac:
+ * Added support for encoding from and decoding to the RF64 format, and a new corresponding option <span class="argument">[--force-rf64-format](https://xiph.org/flac/documentation_tools_flac.html#flac_options_force_rf64_format)</span>. ([SF #1762502](http://sourceforge.net/p/flac/feature-requests/78/)). <span class="argument">[--keep-foreign-metadata](https://xiph.org/flac/documentation_tools_flac.html#flac_options_keep_foreign_metadata)</span> is also supported.
+ * Added support for encoding from and decoding to the Sony Wave64 format, and a new corresponding option <span class="argument">[--force-wave64-format](https://xiph.org/flac/documentation_tools_flac.html#flac_options_force_wave64_format)</span>. ([SF #1769582](http://sourceforge.net/p/flac/feature-requests/79/)). <span class="argument">[--keep-foreign-metadata](https://xiph.org/flac/documentation_tools_flac.html#flac_options_keep_foreign_metadata)</span> is also supported.
+ * Added new options <span class="argument">[--preserve-modtime](https://xiph.org/flac/documentation_tools_flac.html#flac_options_preserve_modtime)</span> and <span class="argument">[--no-preserve-modtime](https://xiph.org/flac/documentation_tools_flac.html#negative_options)</span> to specify whether or not output files should copy the timestamp and permissions from their input files. The default is <span class="argument">[--preserve-modtime](https://xiph.org/flac/documentation_tools_flac.html#flac_options_preserve_modtime)</span> as in previous versions. ([SF #1805428](http://sourceforge.net/p/flac/feature-requests/85/)).
+ * Allow MM:SS:FF and MM:SS.SS time formats in non-CD-DA cuesheets. ([SF #1947353](http://sourceforge.net/p/flac/feature-requests/95/), [SF #2182432](http://sourceforge.net/p/flac/bugs/338/))
+ * The <span class="argument">[--sector-align](https://xiph.org/flac/documentation_tools_flac.html#flac_options_sector_align)</span> option of <span class="commandname">flac</span> has been deprecated and may not exist in future versions. [shntool](http://www.etree.org/shnutils/shntool/) provides similar functionality. ([SF #1805946](http://sourceforge.net/p/flac/feature-requests/86/))
+ * Improved error message when user attempts to decode a non-FLAC file ([SF #2222789](http://sourceforge.net/p/flac/bugs/341/)).
+ * Fix bug where <span class="commandname">flac</span> was disallowing use of <span class="argument">--replay-gain</span> when encoding from stdin ([SF #1840124](http://sourceforge.net/p/flac/bugs/313/)).
+ * Fix bug with fractional seconds on some locales ([SF #1815517](http://sourceforge.net/p/flac/bugs/309/), [SF #1858012](http://sourceforge.net/p/flac/bugs/321/)).
+ * Read and write appropriate channel masks for 6.1 and 7.1 surround input WAV files. Documentation was also updated.
+ * Correct Wave64 GUIDs.
+ * Support 56kHz to 192kHz gain analysis (patch from Earl Chew)
+ * Add ability to handle unicode filenames on Windows (large set of patches from Janne Hyvärinen)
+* metaflac:
+ * Allow MM:SS:FF and MM:SS.SS time formats in non-CD-DA cuesheets. ([SF #1947353](http://sourceforge.net/p/flac/feature-requests/95/), [SF #2182432](http://sourceforge.net/p/flac/bugs/338/))
+* plugins:
+ * Minor updates for XMMS plugin.
+ * Winamp2 plugin was dropped because Nullsoft has provided native FLAC support since 2006.
+* build system:
+ * Fixes for autotools (including [SF #1859664](http://sourceforge.net/p/flac/patches/28/)).
+ * Fixes for MinGW (including [SF #2000973](http://sourceforge.net/p/flac/bugs/), [SF #2209829](http://sourceforge.net/p/flac/bugs/)).
+ * Fixes for gcc (including [SF #1834168](http://sourceforge.net/p/flac/bugs/), [SF #2002481](http://sourceforge.net/p/flac/bugs/334/)).
+ * Fixes for Sun Studio/Forte ([SF #1701960](http://sourceforge.net/p/flac/patches/22/)).
+ * Fixes for windows builds (including [SF #1676822](http://sourceforge.net/p/flac/bugs/257/), [SF #1756624](http://sourceforge.net/p/flac/feature-requests/73/), [SF #1809863](http://sourceforge.net/p/flac/bugs/307/), [SF #1911149](http://sourceforge.net/p/flac/feature-requests/)).
+ * Fixes for FreeBSD and OpenBSD.
+ * Compile with GNU gcc _FORTIFY_SOURCE=2 and stack protection where those features are detected.
+ * Enable a bunch of GCC compiler warnings and fix code that generates warnings.
+* documentation:
+ * Document <span class="argument">[--ignore-chunk-sizes](https://xiph.org/flac/documentation_tools_flac.html#flac_options_ignore_chunk_sizes)</span> and <span class="argument">[--apply-replaygain-which-is-not-lossless](https://xiph.org/flac/documentation_tools_flac.html#flac_options_apply_replaygain_which_is_not_lossless)</span> option for <span class="commandname">flac</span>.
+* libraries:
+ * libFLAC encoder was defaulting to level 0 compression instead of 5 ([SF #1816825](http://sourceforge.net/p/flac/bugs/310/)).
+ * Fix bug in bitreader handling of read callback returning a short count ([SF #2490454](http://sourceforge.net/p/flac/bugs/345/)).
+ * Improve decoder's ability to distinguish between a FLAC sync code and an MPEG one ([SF #2491433](http://sourceforge.net/p/flac/bugs/346/)).
+* Interface changes:
+ * libFLAC:
+ * **Added** FLAC__format_blocksize_is_subset()
+ * libFLAC++:
+ * Add a number of convenience methods.
+
+## FLAC 1.2.1 (17-Sep-2007)
+
+* General:
+ * With the new <span class="argument">[--keep-foreign-metadata](https://xiph.org/flac/documentation_tools_flac.html#flac_options_keep_foreign_metadata)</span> in <span class="commandname">flac</span>, non-audio RIFF and AIFF chunks can be stored in FLAC files and recreated when decoding. This allows, among other, things support for archiving BWF files and other WAVE files from editing tools that preserves all the metadata.
+* FLAC format:
+ * Specified 2 new APPLICATION metadata blocks for storing WAVE and AIFF chunks (for use with [--keep-foreign-metadata](https://xiph.org/flac/documentation_tools_flac.html#flac_options_keep_foreign_metadata) in <span class="commandname">flac</span>).
+ * The lead-out track number for non-CDDA cuesheets now must be 255.
+* Ogg FLAC format:
+ * This is not a format change, but changed default extension for Ogg FLAC from .ogg to .oga, according to new Xiph [specification](http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions) ([SF #1762492](http://sourceforge.net/p/flac/bugs/283/)).
+* flac:
+ * Added a new option <span class="argument">[--no-utf8-convert](https://xiph.org/flac/documentation_tools_flac.html#flac_options_no_utf8_convert)</span> which works like it does in <span class="commandname">metaflac</span> ([SF #973740](http://sourceforge.net/p/flac/feature-requests/35/)).
+ * Added a new option <span class="argument">[--keep-foreign-metadata](https://xiph.org/flac/documentation_tools_flac.html#flac_options_keep_foreign_metadata)</span> which can save/restore RIFF and AIFF chunks to/from FLAC files ([SF #363478](http://sourceforge.net/p/flac/feature-requests/9/)).
+ * Changed default extension for Ogg FLAC from .ogg to .oga, according to new Xiph [specification](http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions) ([SF #1762492](http://sourceforge.net/p/flac/bugs/283/)).
+ * Fixed bug where using <span class="argument">--replay-gain</span> without any padding option caused only a small PADDING block to be created ([SF #1760790](http://sourceforge.net/p/flac/bugs/282/)).
+ * Fixed bug where encoding from stdin on Windows could fail if WAVE/AIFF contained unknown chunks ([SF #1776803](http://sourceforge.net/p/flac/bugs/290/)).
+ * Fixed bug where importing non-CDDA cuesheets would cause an invalid lead-out track number ([SF #1764105](http://sourceforge.net/p/flac/bugs/286/)).
+* metaflac:
+ * Changed default extension for Ogg FLAC from .ogg to .oga, according to new Xiph [specification](http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions) ([SF #1762492](http://sourceforge.net/p/flac/bugs/283/)).
+ * Fixed bug where importing non-CDDA cuesheets would cause an invalid lead-out track number ([SF #1764105](http://sourceforge.net/p/flac/bugs/286/)).
+* plugins:
+ * (none)
+* build system:
+ * New configure option <span class="argument">--disable-cpplibs</span> to prevent building libFLAC++ ([SF #1723295](http://sourceforge.net/p/flac/patches/23/)).
+ * Fixed bug compiling <span class="commandname">flac</span> without Ogg support ([SF #1760786](http://sourceforge.net/p/flac/bugs/281/)).
+ * Fixed bug where sometimes an existing installation of flac could interfere with the build process ([SF #1763690](http://sourceforge.net/p/flac/bugs/285/)).
+ * OS X fixes ([SF #1786225](http://sourceforge.net/p/flac/patches/25/)).
+ * MinGW fixes ([SF #1684879](http://sourceforge.net/p/flac/bugs/264/)).
+ * Solaris 10 fixes ([SF #1783225](http://sourceforge.net/p/flac/bugs/294/) [SF #1783630](http://sourceforge.net/p/flac/bugs/295/)).
+ * OS/2 fixes ([SF #1771378](http://sourceforge.net/p/flac/bugs/287/) [SF #1229495](http://sourceforge.net/p/flac/bugs/174/)).
+ * automake-1.10 fixes ([SF #1791361](http://sourceforge.net/p/flac/bugs/300/) [SF #1792179](http://sourceforge.net/p/flac/bugs/302/)).
+* documentation:
+ * Added new [tutorial](https://xiph.org/flac/documentation_tools_flac.html#tutorial) section for <span class="commandname">flac</span>.
+ * Added [example code](https://xiph.org/flac/documentation_example_code.html) section for using libFLAC/libFLAC++.
+* libraries:
+ * libFLAC: Fixed very rare seek bug ([SF #1684049](http://sourceforge.net/p/flac/bugs/263/)).
+ * libFLAC: Fixed seek bug with Ogg FLAC and small streams ([SF #1792172](http://sourceforge.net/p/flac/bugs/301/)).
+ * libFLAC: 64-bit fixes ([SF #1790872](http://sourceforge.net/p/flac/bugs/299/)).
+ * libFLAC: Fix assembler code to be position independent.
+ * libFLAC: Optimization of a number of inner loop functions.
+ * Added support for encoding the residual coding method introduced in libFLAC 1.2.0 (RESIDUAL_CODING_METHOD_PARTITIONED_RICE2) which will encode 24-bit files more efficiently.
+* Interface changes:
+ * libFLAC:
+ * **Added** FLAC__metadata_simple_iterator_is_last()
+ * **Added** FLAC__metadata_simple_iterator_get_block_offset()
+ * **Added** FLAC__metadata_simple_iterator_get_block_length()
+ * **Added** FLAC__metadata_simple_iterator_get_application_id()
+ * libFLAC++:
+ * **Added** FLAC::Metadata::SimpleIterator::is_last()
+ * **Added** FLAC::Metadata::SimpleIterator::get_block_offset()
+ * **Added** FLAC::Metadata::SimpleIterator::get_block_length()
+ * **Added** FLAC::Metadata::SimpleIterator::get_application_id()
+
+## FLAC 1.2.0 (23-Jul-2007)
+
+* General:
+ * Small encoding speedups for all modes.
+* FLAC format:
+ * One of the reserved bits in the FLAC frame header has been assigned for future use; make sure to refer to the [porting guide](https://xiph.org/flac/api/group__porting__1__1__4__to__1__2__0.html) if you parse FLAC streams manually.
+* Ogg FLAC format:
+ * (none)
+* flac:
+ * Added runtime detection of SSE OS support for most operating systems.
+ * Added a new undocumented option <span class="argument">--ignore-chunk-sizes</span> for ignoring the size of the 'data' chunk (WAVE) or 'SSND' chunk (AIFF). Can be used to encode files with bogus data sizes (e.g. with WAV files piped from foobar2000 to flac.exe as an external encoder). **Use with caution**: all subsequent data is treated as audio, so the data/SSND chunk must be the last or the following data/tags will be treated as audio and encoded.
+* metaflac:
+ * (none)
+* plugins:
+ * (none)
+* build system:
+ * Added solution and project files for building with VC++ 2005.
+* libraries:
+ * Added runtime detection of SSE OS support for most operating systems.
+ * Fixed bug where invalid seek tables could cause some seeks to fail.
+ * Added support for decoding the new residual coding method (RESIDUAL_CODING_METHOD_PARTITIONED_RICE2).
+* Interface changes (see also the [porting guide](https://xiph.org/flac/api/group__porting__1__1__4__to__1__2__0.html) for specific instructions on porting to FLAC 1.2.0):
+ * libFLAC:
+ * **Added** FLAC__format_sample_rate_is_subset()
+ * libFLAC++:
+ * **Added** FLAC::Decoder::Stream::get_decode_position()
+
+## FLAC 1.1.4 (13-Feb-2007)
+
+* General:
+ * Improved compression with no change to format or decrease in speed.
+ * Encoding and decoding speedups for all modes. Encoding at -8 is twice as fast.
+* FLAC format:
+ * (none)
+* Ogg FLAC format:
+ * (none)
+* flac:
+ * Improved compression with no change to format or decrease in speed.
+ * Encoding and decoding speedups for all modes. Encoding at -8 is twice as fast.
+ * Added a new option <span class="argument">[-w,--warnings-as-errors](https://xiph.org/flac/documentation_tools_flac.html#flac_options_warnings_as_errors)</span> for treating all warnings as errors.
+ * Allow <span class="argument">[--picture](https://xiph.org/flac/documentation_tools_flac.html#flac_options_picture)</span> option to take only a filename, and have all other attributes extracted from the file itself.
+ * Fixed a bug that caused suboptimal default compression settings in some locales ([SF #1608883](http://sourceforge.net/p/flac/bugs/237/)).
+ * Fixed a bug where FLAC-to-FLAC transcoding of a corrupted FLAC file would truncate the transcoded file at the first error ([SF #1615019](http://sourceforge.net/p/flac/bugs/241/)).
+ * Fixed a bug where using <span class="argument">[-F](https://xiph.org/flac/documentation_tools_flac.html#flac_options_decode_through_errors)</span> with FLAC-to-FLAC transcoding of a corrupted FLAC would have no effect ([SF #1615391](http://sourceforge.net/p/flac/bugs/242/)).
+ * Fixed a bug where new PICTURE metadata blocks specified with <span class="argument">[--picture](https://xiph.org/flac/documentation_tools_flac.html#flac_options_picture)</span> would not be transferred during FLAC-to-FLAC transcoding ([SF #1627993](http://sourceforge.net/p/flac/bugs/246/)).
+* metaflac:
+ * Allow <span class="argument">[--import-picture-from](https://xiph.org/flac/documentation_tools_metaflac.html#metaflac_shorthand_import_picture_from)</span> option to take only a filename, and have all other attributes extracted from the file itself.
+* plugins:
+ * Fixed a bug in the XMMS plugin where Ctrl-3 (file info) would cause a crash if the file did not exist ([SF #1634941](http://sourceforge.net/p/flac/patches/20/)).
+* build system:
+ * Fixed a makefile linkage bug with libogg ([SF #1611414](http://sourceforge.net/p/flac/bugs/239/)).
+ * Added pkg-config files for libFLAC and libFLAC++ ([SF #1647881](http://sourceforge.net/p/flac/patches/21/)).
+ * Added <span class="argument">--disable-ogg</span> option for building without Ogg support even if libogg is installed ([SF #1196996](http://sourceforge.net/p/flac/bugs/165/)).
+* libraries:
+ * Completely rewritten bitbuffer which uses native machine word size instead of bytes for dramatic speed improvements. The speedup should be most dramatic on CPUs with slower byte manipulation capability and big-endian machines.
+ * Much faster Rice partition size estimation which greatly speeds encoding in higher modes.
+ * Increased compression for all modes.
+ * Reduced memory requirements for encoder and decoder.
+ * Fixed a bug with default apodization settings that were erroneous in some locales ([SF #1608883](http://sourceforge.net/p/flac/bugs/237/)).
+* Interface changes:
+ * libFLAC:
+ * (behavior only) FLAC__stream_encoder_set_metadata() now makes a copy of the "metadata" array of pointers (but still not copies of the objects themselves) so the client does not need to maintain its copy of the array after the call.
+ * libFLAC++:
+ * (none)
+
+## FLAC 1.1.3 (27-Nov-2006)
+
+* General:
+ * Improved compression with no impact on format or decoding speed.
+ * Much better recovery for corrupted files
+ * Better multichannel support
+ * Large file (>2GB) support everywhere
+ * <span class="commandname">flac</span> now supports FLAC and Ogg FLAC as input to the encoder (e.g. can re-encode FLAC to FLAC) and preserve all the metadata like tags, etc.
+ * New <span class="code">[PICTURE](https://xiph.org/flac/format.html#def_PICTURE)</span> metadata block for storing things like cover art, new <span class="argument">[--picture](https://xiph.org/flac/documentation_tools_flac.html#flac_options_picture)</span> option to <span class="commandname">flac</span> and <span class="argument">[--import-picture-from](https://xiph.org/flac/documentation_tools_metaflac.html#metaflac_shorthand_import_picture_from)</span> option to <span class="commandname">metaflac</span> for importing pictures, new <span class="argument">[--export-picture-to](https://xiph.org/flac/documentation_tools_metaflac.html#metaflac_shorthand_export_picture_to)</span> option to <span class="commandname">metaflac</span> for exporting pictures, and metadata API [additions](https://xiph.org/flac/api/group__flac__metadata__level0.html#ga3) for searching for suitable pictures based on type, size and color constraints.
+ * Support for new <tt>REPLAYGAIN_REFERENCE_LOUDNESS</tt> tag.
+ * Fixed a bug in Ogg FLAC encoding where metadata was not being updated properly. Existing Ogg FLAC files should be recoded to fix up the metadata, e.g. <span class="command">flac -Vf -S 10s --ogg file.ogg</span>
+ * In the developer libraries, the interface has been simplfied by merging the three decoding layers into a single class; ditto for the encoders. Also, libOggFLAC has been merged into libFLAC and libOggFLAC++ has been merged into libFLAC++ so there is a single API supporting both native FLAC and Ogg FLAC.
+* FLAC format:
+ * New <span class="code">[PICTURE](https://xiph.org/flac/format.html#def_PICTURE)</span> metadata block for storing things like cover art.
+ * Speaker assignments and channel orders for 3-6 channels (see [frame header](https://xiph.org/flac/format.html#frame_header)).
+ * Further restrictions on the [FLAC subset](https://xiph.org/flac/format.html#subset) when the sample rate is <=48kHz; in this case the maximum LPC order is now 12 and maximum blocksize is 4608\. This is to further limit the processing and memory requirements for hardware implementations while not measurably affecting compression.
+* Ogg FLAC format:
+ * (none)
+* flac:
+ * Improved the <span class="argument">[-F](https://xiph.org/flac/documentation_tools_flac.html#flac_options_decode_through_errors)</span> option to allow decoding of FLAC files whose metadata is corrupted, and other kinds of severe corruption.
+ * Encoder can now take FLAC and Ogg FLAC as input. The output FLAC file will have all the same metadata as the original unless overridden with options on the command line.
+ * Encoder can now take WAVEFORMATEXTENSIBLE WAVE files as input; decoder will output WAVEFORMATEXTENSIBLE WAVE files when necessary to conform to the latest Microsoft specifications.
+ * Now properly supports AIFF and WAVEFORMATEXTENSIBLE multichannel input, performing necessary channel reordering both for encoding and decoding. WAVEFORMATEXTENSIBLE channel mask is also saved to a tag on encoding and restored on decoding for situations when there is no natural mapping to FLAC channel assignments.
+ * Expanded support for "odd" sample resolutions to WAVE and AIFF input; all resolutions from 4 to 24 bits-per-sample now supported for all input types.
+ * Added a new option <span class="argument">[--tag-from-file](https://xiph.org/flac/documentation_tools_flac.html#flac_options_tag_from_file)</span> for setting a tag from file (e.g. for importing a cuesheet as a tag).
+ * Added a new option <span class="argument">[--picture](https://xiph.org/flac/documentation_tools_flac.html#flac_options_picture)</span> for adding pictures.
+ * Added a new option <span class="argument">[--apodization](https://xiph.org/flac/documentation_tools_flac.html#flac_options_apodization)</span> for specifying the window function(s) to be used in LPC analysis.
+ * Added support for encoding from non-compressed AIFF-C ([SF #1090933](http://sourceforge.net/p/flac/bugs/143/)).
+ * Importing of non-CDDA-compliant cuesheets now only issues a warning, not an error (see [here](http://www.hydrogenaud.io/forums/index.php?showtopic=31282)).
+ * MD5 comparison failures on decoding are now an error instead of a warning and will also return a non-zero exit code ([SF #1493725](http://sourceforge.net/p/flac/bugs/221/)).
+ * The default padding size is now 8K, or 64K if the input audio stream is more than 20 minutes long.
+ * Fixed a bug in cuesheet parsing where it would return an error if the last line of the cuesheet did not end with a newline.
+ * Fixed a bug that caused a crash when <span class="argument">-a</span> and <span class="argument">-t</span> were used together ([SF #1229481](http://sourceforge.net/p/flac/bugs/173/)).
+ * Fixed a bug with --sector-align where appended samples were not always totally silent ([SF #1237707](http://sourceforge.net/p/flac/bugs/179/)).
+ * Fixed bugs with --sector-align and raw input files.
+ * Fixed a bug printing out unknown AIFF subchunk names ([SF #1267476](http://sourceforge.net/p/flac/bugs/186/)).
+ * Fixed a bug where WAVE files with "data" subchunks of size 0 where accepted ([SF #1293830](http://sourceforge.net/p/flac/bugs/190/)).
+ * Fixed a bug where sync error at end-of-stream of truncated files was not being caught ([SF #1244071](http://sourceforge.net/p/flac/bugs/183/)).
+ * Fixed a problem with filename parsing if file does not have extension but also has a . in the path ([SF #1161916](http://sourceforge.net/p/flac/bugs/159/)).
+ * Fixed a problem with fractional-second parsing for <span class="argument">--skip</span>/<span class="argument">--until</span> in some locales ([SF #1031043](http://sourceforge.net/p/flac/bugs/125/)).
+ * Increase progress report rate when -p and -e are used together ([SF #1580122](http://sourceforge.net/p/flac/bugs/229/)).
+* metaflac:
+ * Added support for read-only operations on Ogg FLAC files.
+ * Added a new option <span class="argument">[--set-tag-from-file](https://xiph.org/flac/documentation_tools_metaflac.html#metaflac_shorthand_set_tag_from_file)</span> for setting a tag from file (e.g. for importing a cuesheet as a tag).
+ * Added a new option <span class="argument">[--import-picture-from](https://xiph.org/flac/documentation_tools_metaflac.html#metaflac_shorthand_import_picture_from)</span> for importing pictures.
+ * Added a new option <span class="argument">[--export-picture-to](https://xiph.org/flac/documentation_tools_metaflac.html#metaflac_shorthand_export_picture_to)</span> for exporting pictures.
+ * Added shorthand operation <span class="argument">[--remove-replay-gain](https://xiph.org/flac/documentation_tools_metaflac.html#metaflac_shorthand_remove_replay_gain)</span> for removing ReplayGain tags.
+ * <span class="argument">[--export-cuesheet-to](https://xiph.org/flac/documentation_tools_metaflac.html#metaflac_shorthand_export_cuesheet_to)</span> now properly specifies the FLAC file name ([SF #1272825](http://sourceforge.net/p/flac/feature-requests/46/)).
+ * Importing of non-CDDA-compliant cuesheets now issues a warning.
+ * Removed the following deprecated tag editing options; you should use the new option names shown instead:
+ * Removed <span class="argument">--show-vc-vendor</span>; use <span class="argument">--show-vendor-tag</span>
+ * Removed <span class="argument">--show-vc-field</span>; use <span class="argument">--show-tag</span>
+ * Removed <span class="argument">--remove-vc-all</span>; use <span class="argument">--remove-all-tags</span>
+ * Removed <span class="argument">--remove-vc-field</span>; use <span class="argument">--remove-tag</span>
+ * Removed <span class="argument">--remove-vc-firstfield</span>; use <span class="argument">--remove-first-tag</span>
+ * Removed <span class="argument">--set-vc-field</span>; use <span class="argument">--set-tag</span>
+ * Removed <span class="argument">--import-vc-from</span>; use <span class="argument">--import-tags-from</span>
+ * Removed <span class="argument">--export-vc-to</span>; use <span class="argument">--export-tags-to</span>
+ * Disallow multiple input FLAC files when --import-tags-from=- is used ([SF #1082577](http://sourceforge.net/p/flac/bugs/141/)).
+* plugins:
+ * When ReplayGain is on, if tags for the preferred kind of gain (album/track) are not in a stream, the other kind will be used.
+ * Added ReplayGain info to file info box in XMMS plugin
+ * Fixed UTF-8 decoder to disallow non-shortest-form and surrogate sequences (see [here](http://www.unicode.org/versions/corrigendum1.html)).
+* build system:
+ * Added support for building on OS/2 with EMX ([SF #1229495](http://sourceforge.net/p/flac/bugs/174/))
+ * Added support for building with Borland C++ ([SF #1599018](http://sourceforge.net/p/flac/patches/17/))
+ * Added a <span class="argument">--disable-xmms-plugin</span> option to <span class="command">configure</span> to prevent building the XMMS plugin ([SF #930494](http://sourceforge.net/p/flac/feature-requests/33/)).
+ * Added a <span class="argument">--disable-doxygen-docs</span> option to <span class="command">configure</span> for disabling Doxygen-based API doc generation ([SF #1365935](http://sourceforge.net/p/flac/patches/12/)).
+ * Added a <span class="argument">--disable-thorough-tests</span> option to <span class="command">configure</span> to do the basic library, stream, and tool tests in a reasonable time ([SF #1077948](http://sourceforge.net/p/flac/feature-requests/40/)).
+ * Added large file support with <span class="argument">AC_SYS_LARGEFILE</span>; use <span class="argument">--disable-largefile</span> with <span class="command">configure</span> to disable.
+* libraries:
+ * Merged libOggFLAC into libFLAC; both formats are now supported through the same API.
+ * Merged libOggFLAC++ into libFLAC++; both formats are now supported through the same API.
+ * libFLAC and libFLAC++: Simplified encoder setup with new <span class="argument">FLAC__stream_encoder_set_compression_level()</span> function.
+ * libFLAC: Improved compression with no impact on FLAC format or decoding time by adding a windowing stage before LPC analysis.
+ * libFLAC: Fixed a bug where missing STREAMINFO fields (min/max framesize, total samples, MD5 sum) and seek point offsets were not getting rewritten back to Ogg FLAC file ([SF #1338969](http://sourceforge.net/p/flac/bugs/197/)).
+ * libFLAC: Fixed a bug in cuesheet parsing where it would return an error if the last line of the cuesheet did not end with a newline.
+ * libFLAC: Fixed UTF-8 decoder to disallow non-shortest-form and surrogate sequences (see [here](http://www.unicode.org/versions/corrigendum1.html)).
+ * libFLAC: Fixed a bug in the return value for <span class="argument">FLAC__stream_decoder_set_metadata_respond_application()</span> and <span class="argument">FLAC__stream_decoder_set_metadata_ignore_application()</span> when there was a memory allocation error ([SF #1235005](http://sourceforge.net/p/flac/bugs/176/)).
+* Interface changes (see also the [porting guide](https://xiph.org/flac/api/group__porting__1__1__2__to__1__1__3.html) for specific instructions on porting to FLAC 1.1.3):
+ * all libraries;
+ * Merged libOggFLAC into libFLAC; both formats are now supported through the same API.
+ * Merged libOggFLAC++ into libFLAC++; both formats are now supported through the same API.
+ * Merged seekable stream decoder and file decoder into the stream decoder.
+ * Merged seekable stream encoder and file encoder into the stream encoder.
+ * Added #defines for the API version number to make porting easier; see <tt>include/lib*FLAC*/export.h</tt>.
+ * libFLAC:
+ * **Added** FLAC__stream_encoder_set_apodization()
+ * **Added** FLAC__stream_encoder_set_compression_level()
+ * **Added** FLAC__metadata_object_cuesheet_calculate_cddb_id()
+ * **Added** FLAC__metadata_get_cuesheet()
+ * **Added** FLAC__metadata_get_picture()
+ * **Added** FLAC__metadata_chain_read_ogg() and FLAC__metadata_chain_read_ogg_with_callbacks()
+ * **Changed** FLAC__stream_encoder_finish() now returns a FLAC__bool to signal a verify failure, or error processing last frame or updating metadata.
+ * **Changed** FLAC__StreamDecoderState: removed state FLAC__STREAM_DECODER_UNPARSEABLE_STREAM
+ * **Changed** FLAC__StreamDecoderErrorStatus: new error code FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM
+ * The above two changes mean that when the decoder encounters what it thinks are unparseable frames from a future decoder, instead of returning a fatal error with the FLAC__STREAM_DECODER_UNPARSEABLE_STREAM state, it just calls the error callback with FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM and leaves the behavior up to the application.
+ * libFLAC++:
+ * **Added** FLAC::Metadata::Picture
+ * **Added** FLAC::Encoder::Stream::set_apodization()
+ * **Added** FLAC::Encoder::Stream::set_compression_level()
+ * **Added** FLAC::Metadata::CueSheet::calculate_cddb_id()
+ * **Added** FLAC::Metadata::get_cuesheet()
+ * **Added** FLAC::Metadata::get_picture()
+ * **Changed** FLAC::Metadata::Chain::read() to accept a flag denoting Ogg FLAC input
+ * **Changed** FLAC::Decoder::Stream::finish() now returns a bool to signal an MD5 failure like FLAC__stream_decoder_finish() does.
+ * **Changed** FLAC::Encoder::Stream::finish() now returns a bool to signal a verify failure, or error processing last frame or updating metadata.
+ * libOggFLAC:
+ * Merged into libFLAC.
+ * libOggFLAC++:
+ * Merged into libFLAC++.
+
+## FLAC 1.1.2 (05-Feb-2005)
+
+* General:
+ * Sped up decoding by a few percent overall.
+ * Sped up encoding when not using LPC (i.e. when using <span class="commandname">flac</span> options <span class="argument">-0</span>, <span class="argument">-1</span>, <span class="argument">-2</span>, or <span class="argument">-l 0</span>).
+ * Fixed a decoding bug that could cause sync errors with some ID3v1-tagged FLAC files.
+ * Added [HTML documentation for metaflac](https://xiph.org/flac/documentation_tools_metaflac.html#metaflac).
+* FLAC format:
+ * (none)
+* Ogg FLAC format:
+ * (none)
+* flac:
+ * New option <span class="argument">[--input-size](https://xiph.org/flac/documentation_tools_flac.html#flac_options_input_size)</span> to manually specify the input size when encoding raw samples from stdin.
+* metaflac:
+ * (none)
+* plugins:
+ * Added support for HTTP streaming in XMMS plugin. **NOTE**: there is a bug in the XMMS mpg123 plugin that hijacks FLAC streams; to fix it you will need to add the '.flac' extension to the list of exceptions in <span class="code">Input/mpg123/mpg123.c:is_our_file()</span> in the XMMS sources and recompile.
+* build system:
+ * (none)
+* libraries:
+ * libFLAC: Sped up Rice block decoding in the bitbuffer, resulting in decoding speed gains of a few percent.
+ * libFLAC: Sped up encoding when not using LPC (i.e. <span class="code">max_lpc_order == 0</span>).
+ * libFLAC: Trailing NUL characters maintained on Vorbis comment entries so they can be treated like C strings.
+ * libFLAC: More FLAC tag (i.e. Vorbis comment) validation.
+ * libFLAC: Fixed a bug in the logic that determines the frame or sample number in a frame header; the bug could cause sync errors with some ID3v1-tagged FLAC files.
+ * libFLAC, libOggFLAC: Can now be compiled to use only integer instructions, including encoding. The decoder is almost completely integer anyway but there were a couple places that needed a fixed-point replacement. There is no fixed-point version of LPC analysis yet, so if libFLAC is compiled integer-only, the encoder will behave as if the max LPC order is 0 (i.e. used fixed predictors only). LPC decoding is supported in all cases as it always was integer-only.
+* Interface changes:
+ * libFLAC:
+ * **Changed:** Metadata object interface now maintains a trailing NUL on Vorbis comment entries for convenience.
+ * **Changed:** Metadata object interface now validates all Vorbis comment entries on input and returns false if an entry does not conform to the Vorbis comment spec.
+ * **Added** FLAC__format_vorbiscomment_entry_name_is_legal()
+ * **Added** FLAC__format_vorbiscomment_entry_value_is_legal()
+ * **Added** FLAC__format_vorbiscomment_entry_is_legal()
+ * **Added** FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair()
+ * **Added** FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair()
+ * **Changed** the signature of FLAC__metadata_object_vorbiscomment_entry_matches(): the first argument is now <span class="code">FLAC__StreamMetadata_VorbisComment_Entry entry</span> (was <span class="code">const FLAC__StreamMetadata_VorbisComment_Entry \*entry</span>), i.e. <span class="code">entry</span> is now pass-by-value.
+ * libFLAC++:
+ * **Changed:** Metadata object interface now maintains a trailing NUL on Vorbis comment values for convenience.
+ * **Changed:** Metadata object interface now validates all Vorbis comment entries on input and returns false if an entry does not conform to the Vorbis comment spec.
+ * **Changed:** All Metadata objects' operator=() methods now return a reference to themselves.
+ * **Added** methods to FLAC::Metadata::VorbisComment::Entry for setting comment values from null-terminated strings:
+ * Entry(const char \*field)
+ * Entry(const char \*field_name, const char \*field_value)
+ * bool set_field(const char \*field)
+ * bool set_field_value(const char \*field_value)
+ * **Changed** the signature of FLAC::Metadata::VorbisComment::get_vendor_string() and FLAC::Metadata::VorbisComment::set_vendor_string() to use a UTF-8, NUL-terminated string <span class="code">const FLAC__byte *</span> for the vendor string instead of <span class="code">FLAC::Metadata::VorbisComment::Entry</span>.
+ * **Added** FLAC::Metadata::*::assign() to all Metadata objects.
+ * **Added** bool FLAC::Metadata::get_tags(const char \*filename, VorbisComment &tags)
+ * libOggFLAC:
+ * (none)
+ * libOggFLAC++:
+ * (none)
+
+## FLAC 1.1.1 (01-Oct-2004)
+
+* General:
+ * Ogg FLAC seeking now works
+ * New optimizations almost double the decoding speed on PowerPC (e.g. Mac G4/G5)
+ * A native OS X release thanks to updated Project Builder and autotools files
+* FLAC format:
+ * Made invalid the metadata block type 127 so that audio frames can always be distinguished from metadata by seeing 0xff as the first byte. (This was also required for the Ogg FLAC mapping.)
+* Ogg FLAC format:
+ * First official FLAC->Ogg bitstream mapping standardized (see new [FLAC-to-Ogg mapping specification](ogg_mapping.html)). See the documentation for the <span class="argument">[--ogg](https://xiph.org/flac/documentation_tools_flac.html#flac_options_ogg)</span> switch about having to re-encode older Ogg FLAC files.
+* flac:
+ * Print an error when output file already exists instead of automatically overwriting.
+ * New option <span class="argument">[-f](https://xiph.org/flac/documentation_tools_flac.html#flac_options_force)</span> (<span class="argument">[--force](https://xiph.org/flac/documentation_tools_flac.html#flac_options_force)</span>) to force overwriting if the output file already exists.
+ * New option <span class="argument">[--cue](https://xiph.org/flac/documentation_tools_flac.html#flac_options_cue)</span> to select a specific section to decode using cuesheet track/index points.
+ * New option <span class="argument">[--totally-silent](https://xiph.org/flac/documentation_tools_flac.html#flac_options_totally_silent)</span> to suppress all output.
+ * New (but undocumented) option <span class="argument">--apply-replaygain-which-is-not-lossless</span> which applies ReplayGain to the decoded output. See [this thread](http://www.hydrogenaud.io/forums/index.php?showtopic=17293&st=11) for usage and caveats.
+ * When encoding to Ogg FLAC, use a random serial number (instead of 0 as was done before) when a serial number is not specified.
+ * When encoding multiple Ogg FLAC streams, <span class="argument">--serial-number</span> or random serial number sets the first number, which is then incremented for subsequent streams (before, the same serial number was used for all streams).
+ * Decoder no longer exits with an error when writing to stdout and the pipe is broken.
+ * Better explanation of common error messages.
+ * Default extension when writing AIFF files is .aif (before, it was .aiff).
+ * Write more common representation of SANE numbers in AIFF files.
+ * Bug fix: calculating ReplayGain on 48kHz streams.
+ * Bug fix: check for supported block alignments in WAVE files.
+ * Bug fix: "offset" field in AIFF SSND chunk properly handled.
+ * Bug fix: [#679166](http://sourceforge.net/p/flac/bugs/77/): flac doesn't respect RIFF subchunk padding byte.
+ * Bug fix: [#828391](http://sourceforge.net/p/flac/bugs/90/): --add-replay-gain segfaults.
+ * Bug fix: [#851155](http://sourceforge.net/p/flac/bugs/96/): Can't seek to position in flac file.
+ * Bug fix: [#851756](http://sourceforge.net/p/flac/bugs/97/): flac --skip --until reads entire file.
+ * Bug fix: [#877122](http://sourceforge.net/p/flac/bugs/100/): problem parsing cuesheet with CATALOG entry.
+ * Bug fix: [#896057](http://sourceforge.net/p/flac/bugs/104/): parsing ISRC number from cuesheet.
+* metaflac:
+ * Renamed the tag editing options as follows (the <span class="argument">...-vc-...</span> options still work but are deprecated):
+ * <span class="argument">--show-vc-vendor</span> becomes <span class="argument">--show-vendor-tag</span>
+ * <span class="argument">--show-vc-field</span> becomes <span class="argument">--show-tag</span>
+ * <span class="argument">--remove-vc-all</span> becomes <span class="argument">--remove-all-tags</span>
+ * <span class="argument">--remove-vc-field</span> becomes <span class="argument">--remove-tag</span>
+ * <span class="argument">--remove-vc-firstfield</span> becomes <span class="argument">--remove-first-tag</span>
+ * <span class="argument">--set-vc-field</span> becomes <span class="argument">--set-tag</span>
+ * <span class="argument">--import-vc-from</span> becomes <span class="argument">--import-tags-from</span>
+ * <span class="argument">--export-vc-to</span> becomes <span class="argument">--export-tags-to</span>
+ * Better explanation of common error messages.
+ * Bug fix: calculating ReplayGain on 48kHz streams.
+ * Bug fix: incorrect numbers when printing seek points.
+* plugins:
+ * Speed optimization in ReplayGain synthesis.
+ * Speed optimization in XMMS playback.
+ * Support for big-endian architectures in XMMS plugin.
+ * Removed support for ID3 tags.
+ * Bug fix: make hard limiter default to off in XMMS plugin.
+ * Bug fix: stream length calculation bug in XMMS plugin, debian bug #200435
+ * Bug fix: small memory leak in XMMS plugin.
+* build system:
+ * <span class="code">ordinals.h</span> is now static, not a build-generated file anymore.
+* libraries:
+ * libFLAC: PPC+Altivec optimizations of some decoder routines.
+ * libFLAC: Make stream encoder encode the blocksize and sample rate in the frame header if at all possible (not in STREAMINFO), even if subset encoding was not requested.
+ * libFLAC: Bug fix: fixed seek routine where infinite loop could happen when seeking past end of stream.
+ * libFLAC, libFLAC++: added methods to skip single frames, useful for quickly finding frame boundaries (see interface changes below).
+ * libOggFLAC, libOggFLAC++: New seekable-stream and file encoder and decoder APIs to match native FLAC APIs (see interface changes below).
+* Interface changes:
+ * libFLAC:
+ * **Added** FLAC__metadata_get_tags()
+ * **Added** callback-based versions of metadata editing functions:
+ * FLAC__metadata_chain_read_with_callbacks()
+ * FLAC__metadata_chain_write_with_callbacks()
+ * FLAC__metadata_chain_write_with_callbacks_and_tempfile()
+ * FLAC__metadata_chain_check_if_tempfile_needed()
+ * **Added** decoder functions for skipping single frames, also useful for quickly finding frame boundaries:
+ * FLAC__stream_decoder_skip_single_frame()
+ * FLAC__seekable_stream_decoder_skip_single_frame()
+ * FLAC__file_decoder_skip_single_frame()
+ * **Added** new required tell callback on seekable stream encoder:
+ * FLAC__SeekableStreamEncoderTellStatus and FLAC__SeekableStreamEncoderTellStatusString\[\]
+ * FLAC__SeekableStreamEncoderTellCallback
+ * FLAC__seekable_stream_encoder_set_tell_callback()
+ * **Changed** FLAC__SeekableStreamEncoderState by adding FLAC__SEEKABLE_STREAM_ENCODER_TELL_ERROR
+ * **Changed** Tell callback is now required to initialize seekable stream encoder
+ * **Deleted** erroneous and unimplemented FLAC__file_decoder_process_remaining_frames()
+ * libFLAC++:
+ * **Added** FLAC::Metadata::get_tags()
+ * **Added** decoder functions for skipping single frames, also useful for quickly finding frame boundaries:
+ * FLAC::Decoder::Stream::skip_single_frame()
+ * FLAC::Decoder::SeekableStream::skip_single_frame()
+ * FLAC::Decoder::File::skip_single_frame()
+ * **Added** encoder functions for setting metadata:
+ * FLAC::Encoder::Stream::set_metadata(FLAC::Metadata::Prototype **metadata, unsigned num_blocks)
+ * FLAC::Encoder::SeekableStream::set_metadata(FLAC::Metadata::Prototype **metadata, unsigned num_blocks)
+ * FLAC::Encoder::File::set_metadata(FLAC::Metadata::Prototype **metadata, unsigned num_blocks)
+ * **Added** new required tell callback on seekable stream encoder:
+ * pure virtual FLAC::Encoder::SeekableStream::tell_callback()
+ * **Changed** Tell callback is now required to initialize seekable stream encoder
+ * **Deleted** the following methods:
+ * FLAC::Decoder::Stream::State::resolved_as_cstring()
+ * FLAC::Encoder::Stream::State::resolved_as_cstring()
+ * libOggFLAC:
+ * **Added** OggFLAC__SeekableStreamDecoder interface
+ * **Added** OggFLAC__FileDecoder interface
+ * **Added** OggFLAC__SeekableStreamEncoder interface
+ * **Added** OggFLAC__FileEncoder interface
+ * **Added** OggFLAC__stream_decoder_get_resolved_state_string()
+ * **Added** OggFLAC__stream_encoder_get_resolved_state_string()
+ * **Added** OggFLAC__stream_encoder_set_metadata_callback()
+ * **Changed** OggFLAC__StreamDecoderState by adding OggFLAC__STREAM_DECODER_END_OF_STREAM
+ * libOggFLAC++:
+ * **Added** OggFLAC::Decoder::SeekableStream interface
+ * **Added** OggFLAC::Decoder::File interface
+ * **Added** OggFLAC::Encoder::SeekableStream interface
+ * **Added** OggFLAC::Encoder::File interface
+ * **Added** OggFLAC::Decoder::Stream::get_resolved_state_string()
+ * **Added** OggFLAC::Encoder::Stream::get_resolved_state_string()
+ * **Added** pure virtual OggFLAC::Encoder::Stream::metadata_callback()
+
+## FLAC 1.1.0 (26-Jan-2003)
+
+General:
+
+* All code is now [Valgrind](http://valgrind.org/)-clean!
+* New [CUESHEET](https://xiph.org/flac/format.html#def_CUESHEET) metadata block for storing CD TOC and index point information. Now a CD can be completely backed up to a single FLAC file for archival.
+* [ReplayGain](http://www.replaygain.org/) support.
+* Better compression of 24-bit files.
+* More complete AIFF support.
+* 3DNow! optimizations enabled by default.
+* Complete MSVC build system with .dsp projects for everything, which can build both static libs and DLLs, and in debug or release mode, all in the same source tree.
+
+<span class="commandname">flac</span>:
+
+* Can now decode FLAC to AIFF; new <span class="argument">--force-aiff-format</span> option.
+* New <span class="argument">--cuesheet</span> option for reading and storing a cuesheet when encoding a whole CD. Automatically creates seek points for track and index points unless <span class="argument">--no-cued-seekpoints</span> is used.
+* New <span class="argument">--replay-gain</span> option for calculating ReplayGain values and storing them as tags.
+* New <span class="argument">--until</span> option complements <span class="argument">--skip</span> to stop decoding at a specified point in the stream.
+* <span class="argument">--skip</span> and <span class="argument">--until</span> now also accept mm:ss.ss format.
+* New <span class="argument">-S #s</span> flavor to specify seekpoints every '#' number of seconds.
+* <span class="commandname">flac</span> now defaults to <span class="argument">-S 10s</span> instead of <span class="argument">-S 100x</span> for the seek table.
+* <span class="commandname">flac</span> now adds a 4k PADDING block by default (turn off with <span class="argument">--no-padding</span>).
+* Fixed a bug with --skip and AIFF-to-FLAC encoding.
+* Fixed a bug where decoding a FLAC file whose total_samples==0 in the STREAMINFO would corrupt the WAVE header.
+
+<span class="commandname">metaflac</span>:
+
+* New <span class="argument">--import-cuesheet-from</span> option for reading and storing a cuesheet to a FLAC-encoded CD. Automatically creates seek points for track and index points unless <span class="argument">--no-cued-seekpoints</span> is used.
+* New <span class="argument">--export-cuesheet-to</span> option for writing a cuesheet from a FLAC file for use with CD authoring software.
+* New <span class="argument">--add-replay-gain</span> option for calculating ReplayGain values and storing them as tags.
+* New <span class="argument">--add-seekpoint</span> option to add seekpoints to an existing FLAC file. Includes new <span class="argument">--add-seekpoint=#s</span> flavor to add seekpoints every '#' number of seconds.
+
+XMMS plugin:
+
+* Configurable sample resolution conversion with dither.
+* ReplayGain support with customizable noise shaping, pre-amp, and optional hard limiter.
+* New Vorbis comment editor.
+* File info now works.
+* Bitrate now shows the smoothed instantaneous bitrate.
+* Uses the ARTIST tag if there is no PERFORMER tag.
+
+Winamp2 plugin:
+
+* Configurable sample resolution conversion with dither.
+* ReplayGain support with customizable noise shaping, pre-amp, and optional hard limiter.
+* File info now works.
+* Uses the ARTIST tag if there is no PERFORMER tag.
+
+Libraries (developers take note!):
+
+* All code and tests are instrumented for Valgrind. All tests run Valgrind-clean, meaning no memory leaks or buffer over/under-runs.
+* Separate 64-bit datapath through the filter in <span class="commandname">libFLAC</span> for better compression of >16 bps files.
+* <span class="code">FLAC__metadata_object_new(FLAC__METADATA_TYPE_VORBIS_COMMENT)</span> now sets the vendor string.
+* The documentation on the usage of <span class="code">FLAC::Iterator::get_block()</span> in <span class="commandname">libFLAC++</span> has an important correction. If you use this class make sure to read [this](https://xiph.org/flac/api/group__flacpp__metadata__level2.html).
+
+## FLAC 1.0.4 (24-Sep-2002)
+
+Plugins:
+
+* Support for Vorbis comments, ID3 v1 and v2 tags.
+* Configurable title formatting and charset conversion in XMMS plugin.
+* Support for 8- and 24-bit FLAC files. There is a compile-time option for raw 24-bit output or 24bps-to-16bps linear dithering (the default).
+
+<span class="commandname">flac</span>:
+
+* Improved option parser (now uses getopt).
+* AIFF input support (thanks to Brady Patterson).
+* Small decoder speedup.
+* <span class="argument">--sector-align</span> now supported for raw input files.
+* New -T, --tag options for adding Vorbis comments while encoding.
+* New --serial-number option for use with --ogg.
+* Automatically writes vendor string in Vorbis comments.
+* Drastically reduced memory requirements.
+* Fixed bug where extra fmt/data chunks that were supposed to be skipped were not getting skipped.
+* Fixed bug in granulepos setting for Ogg FLAC streams.
+* Fixed memory leak when encoding multiple files with -V.
+
+<span class="commandname">metaflac</span>:
+
+* UTF-8 support in Vorbis comments.
+* New --import-vc-from and --export-vc-to commands for importing/exporting Vorbis comments from/to a file. For example, the following can be used to copy tags back and forth:
+<span class="code">metaflac --export-vc-to=- --no-utf8-convert file.flac | vorbiscomment --raw -w file.ogg
+vorbiscomment --raw -l file.ogg | metaflac --import-vc-from=- --no-utf8-convert file.flac
+</span>
+* Fixed [bug #606796](http://sourceforge.net/p/flac/bugs/54/) where <span class="commandname">metaflac</span> was failing on read-only files.
+
+Libraries:
+
+* All APIs now meticulously documented via Doxygen. [See here](https://xiph.org/flac/api/index.html).
+* New <span class="commandname">libOggFLAC</span> and <span class="commandname">libOggFLAC++</span> libraries. These wrap around <span class="commandname">libFLAC</span> to provide encoding and decoding of Ogg FLAC streams, providing interfaces similar to the ones of the native FLAC libraries. These are also documented via Doxygen.
+* New FLAC__SeekableStreamEncoder and FLAC__FileEncoder in <span class="commandname">libFLAC</span> simplify common encoding tasks.
+* New verify mode in all encoders.
+* FLAC__stream_encoder_finish() now resets the defaults just like the stream decoders.
+* Drastically reduced memory requirements of encoders and decoders.
+* Encoder now automatically writes vendor string in VORBIS_COMMENT block.
+* Encoding speedup of fixed predictors and MD5 speedup for 16bps mono/stereo signals on x86 (thanks to Miroslav Lichvar).
+* Fixed bug in metadata interface where a bps in STREAMINFO > 16 was incorrectly parsed.
+* Fixed bug where aborting stream decoder could cause infinite loop.
+* Behavior change: simplified decoder \*_process() commands.
+* Behavior change: calling FLAC__stream_encoder_init() calls write callback once for "fLaC" signature and once for each metadata block.
+ * Behavior change: deprecated do_escape_coding and rice_parameter_search_distance in encoder.
+
+## FLAC 1.0.3 (03-Jul-2002)
+
+New features:
+
+* 24-bit input support restored in <span class="commandname">flac</span>.
+* Decoder speedup in <span class="commandname">libFLAC</span>, which is directly passed on to the command-line decoder and plugins.
+* New <span class="argument">-F</span> option to <span class="commandname">flac</span> to continue decoding in spite of errors.
+* Correctly set granulepos in Ogg packets so seeking Ogg FLAC streams will be easier.
+* New [VORBIS_COMMENT](https://xiph.org/flac/format.html#metadata_block_vorbis_comment) metadata block for tagging with Vorbis-style comments.
+* Vastly improved <span class="commandname">metaflac</span>, now with many editing and tagging options.
+* Partial id3v1 support in Winamp plugins.
+* Updated Winamp 3 plugin.
+* Note: new semantics for -P option in <span class="commandname">flac</span>.
+* Note: removed -R option in <span class="commandname">flac</span>.
+
+New library features:
+
+* Previously mentioned decoder speedup in <span class="commandname">libFLAC</span>.
+* New metadata interface to <span class="commandname">libFLAC</span> for manipulating metadata in FLAC files.
+* New <span class="commandname">libFLAC++</span> API, an object wrapper around <span class="commandname">libFLAC</span>.
+* New [VORBIS_COMMENT](https://xiph.org/flac/format.html#metadata_block_vorbis_comment) metadata block for tagging with Vorbis-style comments.
+* Customizable metadata filtering by type in decoders.
+* Stream encoder can take an arbitrary list of metadata blocks, instead of just one SEEKTABLE and/or PADDING block.
+
+Bugs fixed:
+
+* Fixed bug with using pipes under Windows.
+* Fixed several bugs in the plugins and made them more robust in general.
+* Fixed bug in <span class="commandname">flac</span> where decoding to WAVE of a FLAC file with 0 for total_samples in the STREAMINFO block yielded a WAVE chunk of 0 size.
+* Fixed bug in Ogg packet numbering.
+
+## FLAC 1.0.2 (03-Dec-2001)
+
+* This release is only to fix a bug that was causing some of the plugins to crash sporadically. It can also affect <span class="commandname">libFLAC</span> users that reuse one file decoder instance for multiple files
+
+## FLAC 1.0.1 (14-Nov-2001)
+
+New features for users:
+
+* Support for Ogg-FLAC, i.e. <span class="commandname">flac</span> can now read and write FLAC streams using Ogg as the transport layer.
+* New Winamp 3 plugin based on the Wasabi Beta 1 SDK.
+* New utilities for adding FLAC support to the Monkey's Audio GUI (see [how](https://xiph.org/flac/documentation_tasks.html#monkey)).
+* Mac OS X support. The download area now contains an OS X binary release.
+* Mingw32 support.
+* Better handling of MS-specific 'fmt' chunks in WAVE files.
+
+New features for developers:
+
+* Added a SeekableStreamDecoder layer between StreamDecoder and FileDecoder. This makes it easier to use libFLAC in situations where files have been abstracted away. See the latest [documentation](https://xiph.org/flac/api/index.html) for more. The interface for the StreamDecoder and FileDecoder remain the same and are still binary-compatible with libFLAC 1.0.
+* Drastically reduced the stack requirements of the encoder.
+
+Bug fixes:
+
+* Fixed a serious bug with <span class="commandname">flac</span> and raw input where the encoder was trying to rewind when it shouldn't, which would add 12 junk samples to the encoded file. This was not present in WAVE encoding.
+* Fixed a minor bug in <span class="commandname">libFLAC</span> with setting the file name to stdin on a file decoder.
+* Fixed a minor bug in <span class="commandname">libFLAC</span> where multiple calls to setting the file name on a file decoder caused leaked memory.
+* Fixed a minor bug in <span class="commandname">metaflac</span>, now correctly skips an id3v2 tag if present.
+* Fixed a minor bug in <span class="commandname">metaflac</span>, now correctly skips long metadata blocks.
+
+## FLAC 1.0 (20-Jul-2001)
+
+It's finally here. There are a few new features but mostly it is minor bug fixes since 0.10:
+
+* New '--sector-align' option to <span class="commandname">flac</span> which aligns a group of encoded files on CD audio sector boundaries.
+* New '--output-prefix' option to <span class="commandname">flac</span> to allow the user to prepend a prefix to all output filenames (useful, for example, for encoding/decoding to a different directory).
+* Better WAVE autodetection (doesn't rely on ungetc() anymore).
+* Cleaner one-line encoding/decoding stats.
+* Changes to the libFLAC interface and type names to make binary compatibility easier to maintain in the future.
+* New '--sse-os' option to 'configure' to enable faster SSE-based routines.
+* Another (hopefully last) fix to the Winamp 2 plugin.
+* Slightly improved Rice parameter estimation.
+* Bug fixes for some very rare corner cases when encoding.
+
+## FLAC 0.10 (07-Jun-2001)
+
+This is probably the final beta. There have been many improvements in the last two months:
+
+* Both the encoder and decoder have been significantly sped up. Aside from C improvements, the code base now has an assembly infrastructure that allows assembly routines for different architectures to be easily integrated. Many key routines have now have faster IA-32 implementations (thanks to Miroslav).
+* A new metadata block [SEEKTABLE](https://xiph.org/flac/format.html#def_SEEKTABLE) has been defined to hold an arbitrary number of seek points, which speeds up seeking within a stream.
+* <span class="commandname">flac</span> now has a command-line usage similar to 'gzip'; make sure to see the latest [documentation](https://xiph.org/flac/documentation.html) for the new usage. It also attempts to preserve the input file's timestamp and permissions.
+* The -# options in <span class="commandname">flac</span> have been tweaked to yield the best compression-to-encode-time ratios. The new default is -5.
+* <span class="commandname">flac</span> can now usually autodetect WAVE files when encoding so that -fw is usually not needed when encoding from stdin.
+* The WAVE reader in <span class="commandname">flac</span> now just ignores (with a warning) unsupported sub-chunks instead of aborting with an error.
+* Added an option '--delete-input-file' to <span class="commandname">flac</span> which automatically deletes the input after a successful encode/decode.
+* Added an option '-o' to <span class="commandname">flac</span> to force the output file name (the old usage of "flac - outputfilename" is no longer supported).
+* Changed the XMMS plugin to send smaller chunks of samples (now 512) so that visualization is not slow.
+* Fixed a bug in the stream decoder where the decoded samples counter got corrupted after a seek.
+
+## FLAC 0.9 (31-Mar-2001)
+
+Bug fixes and some new features:
+
+* FLAC's sync code has been lengthened to 14 bits from 9 bits. This should enable a faster and more robust synchronization mechanism.
+* Two reserved bits were added to the frame header.
+* A CRC-16 was added to the FLAC frame footer, and the decoder now does frame integrity checking based on the CRC.
+* The format now includes a new subframe field to indicate when a subblock has one or more 0 LSBs for all samples. This increases compression on some kinds of data.
+* Added two options to the analysis mode, one for including the residual signal in the analysis file, and one for generating gnuplot files of each subframe's residual distribution with some statistics. See the latest [documentation](https://xiph.org/flac/documentation.html#analysis_options).
+* XMMS plugin now supports 8-bit files.
+* Fixed a bug in the Winamp2 plugin where the audio sounded garbled.
+* Fixed a bug in the Winamp2 plugin where Winamp would hang sporadically at the end of a track (c.f. [bug #231197](http://sourceforge.net/projects/flac/&atid=113478)).
+
+## FLAC 0.8 (05-Mar-2001)
+
+Changes since 0.7:
+
+* Created a new utility called <span class="commandname">metaflac</span>. It is a metadata editor for .flac files. Right now it just lists the contents of the metadata blocks but eventually it will allow update/insertion/deletion.
+* Added two new metadata blocks: PADDING which has an obvious function, and APPLICATION, which is meant to be open to third party applications. See the [latest format docs](https://xiph.org/flac/format.html#def_APPLICATION) for more info, or the new [id registration page](https://xiph.org/flac/id.html).
+* Added a <span class="argument">-P</span> option to <span class="commandname">flac</span> to reserve a PADDING block when encoding.
+* Added support for 24-bit files to <span class="commandname">flac</span> (the FLAC format always supported it).
+* Started the Winamp3 plugin.
+* Greatly expanded the test suite, adding more streams (24-bit streams, noise streams, non-audio streams, more patterns) and more option combinations to the encoder. The test suite runs about 30 streams and over 5000 encodings now.
+* Fixed a bug in <span class="commandname">libFLAC</span> that happened when using an exhaustive LPC coefficient quantization search with 8 bps input.
+* Fixed a bug in <span class="commandname">libFLAC</span> where the error estimation in the fixed predictor could overflow.
+* Fixed a bug in <span class="commandname">libFLAC</span> where LPC was attempted even when the autocorrelation coefficients implied it wouldn't help.
+* Reworked the LPC coefficient quantizer, which also fixed another bug that might occur in rare cases.
+* Really fixed the '-V overflow' bug (c.f. [bug #231976](http://sourceforge.net/p/flac/bugs/5/)).
+* Fixed a bug in <span class="commandname">flac</span> related to the decode buffer sizing.FLAC is very close to being ready for an official release. The only known problems left are with the Winamp plugins, which should be fixed soon, and pipes with MSVC.
+
+## FLAC 0.7 (12-Feb-2001)
+
+Changes:
+
+* Fixed a bug that happened when both -fr and --seek were used at the same time.
+* Fixed a bug with -p (c.f. [bug #230992](http://sourceforge.net/p/flac/bugs/1/)).
+* Fixed a bug that happened when using large (>32K) blocksizes and -V (c.f. [bug #231976](http://sourceforge.net/p/flac/bugs/5/)).
+* Fixed a bug where encoder was double-closing a file.
+* Expanded the test suite.
+* Added more optimization flags for gcc, which should speed up flac.
+
+## FLAC 0.6 (28-Jan-2001)
+
+The encoder is now much faster. The -m option has been sped up by 4x and -r improved, meaning that in the default compression mode (-6), encoding should be at least 3 times faster. Other changes:
+
+* Some bugs related to <span class="commandname">flac</span> and pipes were fixed
+* A "loose mid-side" (<span class="argument">-M</span>) option to the encoder has been added, which adaptively switches between independent and mid-side coding, instead of the exhaustive search that <span class="argument">-m</span> does.
+* An analyze mode (<span class="argument">-a</span>) has been added to <span class="commandname">flac</span>. This is useful mainly for developers; currently it will dump info about each frame and subframe to a file. It's a text file in a format that can be easily processed by scripts; a separate analysis program is in the works.
+* The source now has an autoconf/libtool-based build system. This should allow the source to build "out-of-the-box" on many more platforms.
+
+## FLAC 0.5 (15-Jan-2001)
+
+This is the first beta version of FLAC. Being beta, there will be no changes to the format that will break older streams, unless a serious bug involving the format is found. What this means is that, barring such a bug, streams created with 0.5 will be decodable by future versions. This version also includes some new features:
+
+* An [MD5 signature](http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html) of the unencoded audio is computed during encoding, and stored in the Encoding metadata block in the stream header. When decoding, <span class="commandname">flac</span> will now compute the MD5 signature of the decoded data and compare it against the signature in the stream header.
+* A test mode (<span class="argument">-t</span>) has been added to <span class="commandname">flac</span>. It works like decode mode but doesn't write an output file.
+
+## FLAC 0.4 (23-Dec-2000)
+
+This version fixes a bug in the constant subframe detection. More importantly, a verify option (-V) has been added to <span class="commandname">flac</span> that verifies the encoding process. With this option turned on, <span class="commandname">flac</span> will create a parallel decoder while encoding to make sure that the encoded output decodes to exactly match the original input. In this way, any unknown bug in the encoder will be caught and <span class="commandname">flac</span> will abort with an error message.
diff --git a/3rdparty/libflac/CMakeLists.txt b/3rdparty/libflac/CMakeLists.txt
new file mode 100644
index 00000000000..fb23b7d9635
--- /dev/null
+++ b/3rdparty/libflac/CMakeLists.txt
@@ -0,0 +1,291 @@
+# 3.1 is OK for most parts. However:
+# 3.3 is needed in src/libFLAC
+# 3.5 is needed in src/libFLAC/ia32
+# 3.9 is needed in 'doc' because of doxygen_add_docs()
+cmake_minimum_required(VERSION 3.5)
+
+if(NOT (CMAKE_BUILD_TYPE OR CMAKE_CONFIGURATION_TYPES OR DEFINED ENV{CFLAGS} OR DEFINED ENV{CXXFLAGS}))
+ set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo")
+endif()
+
+project(FLAC VERSION 1.4.3) # HOMEPAGE_URL "https://www.xiph.org/flac/")
+
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+
+option(BUILD_CXXLIBS "Build libFLAC++" ON)
+option(BUILD_PROGRAMS "Build and install programs" ON)
+option(BUILD_EXAMPLES "Build and install examples" ON)
+option(BUILD_TESTING "Build tests" ON)
+option(BUILD_DOCS "Build and install doxygen documents" ON)
+option(WITH_FORTIFY_SOURCE "Enable protection against buffer overflows" ON)
+option(WITH_STACK_PROTECTOR "Enable GNU GCC stack smash protection" ON)
+option(INSTALL_MANPAGES "Install MAN pages" ON)
+option(INSTALL_PKGCONFIG_MODULES "Install PkgConfig modules" ON)
+option(INSTALL_CMAKE_CONFIG_MODULE "Install CMake package-config module" ON)
+option(WITH_OGG "ogg support (default: test for libogg)" ON)
+option(BUILD_SHARED_LIBS "Build shared instead of static libraries" OFF)
+
+set(VERSION ${PROJECT_VERSION})
+
+if(NOT UNIX)
+ # This is to make sure testing works when building with a DLL
+ set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/objs)
+ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/objs)
+endif()
+
+if(WITH_OGG)
+ if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/ogg")
+ add_subdirectory("ogg")
+ set(OGG_FOUND 1 CACHE INTERNAL "ogg has been added as subdirectory")
+ set_target_properties(ogg PROPERTIES FOLDER Libraries)
+ if(BUILD_TESTING)
+ set_target_properties(test_bitwise test_framing PROPERTIES FOLDER Tests)
+ endif()
+ else()
+ if(NOT TARGET Ogg::ogg)
+ find_package(Ogg REQUIRED)
+ else()
+ set(OGG_FOUND 1 CACHE INTERNAL "ogg has already been built")
+ endif()
+ set(OGG_PACKAGE "ogg")
+ endif()
+endif()
+
+find_program (HAVE_GIT git)
+
+if(HAVE_GIT)
+ execute_process(
+ COMMAND git --git-dir=.git describe --tags --exact-match
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ OUTPUT_VARIABLE GIT_COMMIT_TAG
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ ERROR_QUIET
+ )
+ execute_process(
+ COMMAND git --git-dir=.git log -1 --pretty=format:%h
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ OUTPUT_VARIABLE GIT_COMMIT_HASH
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ ERROR_QUIET
+ )
+ execute_process(
+ COMMAND git --git-dir=.git log -1 --pretty=format:%cd --date=format:%Y%m%d
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ OUTPUT_VARIABLE GIT_COMMIT_DATE
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ ERROR_QUIET
+ )
+endif()
+
+if(NOT WIN32)
+ find_package(Iconv)
+ set(HAVE_ICONV ${Iconv_FOUND})
+endif()
+
+if(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang")
+ set(CMAKE_C_FLAGS "-Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -Waggregate-return -Wcast-align -Wnested-externs -Wshadow -Wundef -Wmissing-declarations -Winline ${CMAKE_C_FLAGS}")
+ set(CMAKE_C_FLAGS_RELEASE "-DNDEBUG ${CMAKE_C_FLAGS_RELEASE}")
+endif()
+if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
+ set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wcast-align -Wshadow -Wwrite-strings -Wctor-dtor-privacy -Wnon-virtual-dtor -Wreorder -Wsign-promo -Wundef ${CMAKE_CXX_FLAGS}")
+ set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG ${CMAKE_CXX_FLAGS_RELEASE}")
+endif()
+if(MSVC)
+ set(CMAKE_C_FLAGS_RELEASE "/O2 /Ob2 /Oi /Ot /Oy /DNDEBUG ${CMAKE_C_FLAGS_RELEASE}")
+endif()
+
+include(CMakePackageConfigHelpers)
+include(CheckCCompilerFlag)
+include(CheckCXXCompilerFlag)
+include(CheckSymbolExists)
+include(CheckFunctionExists)
+include(CheckIncludeFile)
+include(CheckCSourceCompiles)
+include(CheckCXXSourceCompiles)
+include(CheckLibraryExists)
+include(GNUInstallDirs)
+include(UseSystemExtensions)
+include(TestBigEndian)
+enable_testing()
+
+check_include_file("byteswap.h" HAVE_BYTESWAP_H)
+check_include_file("inttypes.h" HAVE_INTTYPES_H)
+check_include_file("stdint.h" HAVE_STDINT_H)
+check_include_file("stdbool.h" HAVE_STDBOOL_H)
+check_include_file("arm_neon.h" FLAC__HAS_NEONINTRIN)
+
+if(NOT HAVE_STDINT_H OR NOT HAVE_STDBOOL_H)
+ message(SEND_ERROR "Header stdint.h and/or stdbool.h not found")
+endif()
+
+if(MSVC)
+ check_include_file("intrin.h" FLAC__HAS_X86INTRIN)
+else()
+ check_include_file("x86intrin.h" FLAC__HAS_X86INTRIN)
+endif()
+
+check_function_exists(fseeko HAVE_FSEEKO)
+
+check_c_source_compiles("int main() { return __builtin_bswap16 (0) ; }" HAVE_BSWAP16)
+check_c_source_compiles("int main() { return __builtin_bswap32 (0) ; }" HAVE_BSWAP32)
+check_c_source_compiles("
+ #include <langinfo.h>
+ int main()
+ {
+ char* cs = nl_langinfo(CODESET);
+ return !cs;
+ }"
+ HAVE_LANGINFO_CODESET)
+
+test_big_endian(CPU_IS_BIG_ENDIAN)
+
+check_c_compiler_flag(-Werror HAVE_WERROR_FLAG)
+check_c_compiler_flag(-Wdeclaration-after-statement HAVE_DECL_AFTER_STMT_FLAG)
+check_c_compiler_flag(-mstackrealign HAVE_STACKREALIGN_FLAG)
+check_cxx_compiler_flag(-Weffc++ HAVE_WEFFCXX_FLAG)
+
+if(MINGW AND (WITH_FORTIFY_SOURCE OR WITH_STACK_PROTECTOR))
+ check_library_exists("ssp.a" __stack_chk_fail "" HAVE_LIBSSP)
+ if(NOT HAVE_LIBSSP)
+ message(WARNING "Could not find libssp in MinGW, stack protection and/or FORTIFY_SOURCE are unavailable")
+ else()
+ link_libraries("ssp.a")
+ endif()
+elseif(NOT MSVC)
+ set(HAVE_LIBSSP 1)
+endif()
+
+if(WITH_STACK_PROTECTOR)
+ if(NOT MSVC)
+ check_c_compiler_flag("-fstack-protector-strong" HAVE_STACK_PROTECTOR_FLAG)
+ endif()
+endif()
+
+if(HAVE_WERROR_FLAG)
+ option(ENABLE_WERROR "Enable -Werror in all Makefiles" OFF)
+endif()
+
+add_compile_options(
+ $<$<BOOL:${MSVC}>:/wd4267>
+ $<$<BOOL:${MSVC}>:/wd4996>
+ $<$<BOOL:${ENABLE_WERROR}>:-Werror>
+ $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<BOOL:${HAVE_WEFFCXX_FLAG}>>:-Weffc++>
+ $<$<AND:$<COMPILE_LANGUAGE:C>,$<BOOL:${HAVE_DECL_AFTER_STMT_FLAG}>>:-Wdeclaration-after-statement>)
+
+if(WITH_FORTIFY_SOURCE AND HAVE_LIBSSP)
+ add_definitions(-D_FORTIFY_SOURCE=2)
+endif()
+
+if(HAVE_STACK_PROTECTOR_FLAG AND HAVE_LIBSSP)
+ add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-fstack-protector-strong>)
+endif()
+
+if(CMAKE_SYSTEM_PROCESSOR STREQUAL "i686" AND HAVE_STACKREALIGN_FLAG)
+ add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-mstackrealign>)
+endif()
+
+include_directories("include")
+
+include_directories("${CMAKE_CURRENT_BINARY_DIR}")
+add_definitions(-DHAVE_CONFIG_H)
+
+if(MSVC)
+ add_definitions(
+ -D_CRT_SECURE_NO_WARNINGS
+ -D_USE_MATH_DEFINES)
+endif()
+if(CMAKE_BUILD_TYPE STREQUAL Debug OR CMAKE_BUILD_TYPE STREQUAL RelWithDebInfo)
+ add_definitions(-DFLAC__OVERFLOW_DETECT)
+endif()
+
+add_subdirectory("src")
+add_subdirectory("microbench")
+if(BUILD_DOCS)
+ add_subdirectory("doc")
+endif()
+if(BUILD_EXAMPLES)
+ add_subdirectory("examples")
+endif()
+if(BUILD_TESTING)
+ add_subdirectory("test")
+endif()
+
+# The following folder layout is mostly for MSVC
+set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+
+set_target_properties(FLAC grabbag getopt replaygain_analysis replaygain_synthesis utf8 PROPERTIES FOLDER Libraries)
+if(BUILD_CXXLIBS)
+ set_target_properties(FLAC++ PROPERTIES FOLDER Libraries)
+endif()
+if(BUILD_PROGRAMS)
+ set_target_properties(flacapp metaflac PROPERTIES FOLDER Programs)
+endif()
+if(BUILD_TESTING)
+ set_target_properties(test_libFLAC test_libs_common test_picture test_seeking test_streams test_cuesheet PROPERTIES FOLDER Tests)
+ if(BUILD_CXXLIBS)
+ set_target_properties(test_libFLAC++ PROPERTIES FOLDER Tests)
+ endif()
+endif()
+if(BUILD_EXAMPLES)
+ set_target_properties(decode_file encode_file PROPERTIES FOLDER Examples)
+ if(BUILD_CXXLIBS)
+ set_target_properties(decode_file_cxx encode_file_cxx PROPERTIES FOLDER Examples)
+ endif()
+endif()
+if(BUILD_UTILS)
+ set_target_properties(flacdiff flactimer PROPERTIES FOLDER Utils)
+endif()
+
+configure_file(config.cmake.h.in config.h)
+
+if(INSTALL_CMAKE_CONFIG_MODULE)
+ install(
+ EXPORT targets
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
+ NAMESPACE FLAC::)
+ export(EXPORT targets NAMESPACE FLAC:: FILE FLACTargets.cmake)
+
+ configure_package_config_file(
+ ${PROJECT_SOURCE_DIR}/flac-config.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/flac-config.cmake
+ INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
+ write_basic_package_version_file(
+ ${CMAKE_CURRENT_BINARY_DIR}/flac-config-version.cmake COMPATIBILITY AnyNewerVersion)
+
+ install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/flac-config.cmake ${CMAKE_CURRENT_BINARY_DIR}/flac-config-version.cmake
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
+ )
+
+ install(
+ FILES
+ "${CMAKE_CURRENT_BINARY_DIR}/flac-config.cmake"
+ "${CMAKE_CURRENT_BINARY_DIR}/flac-config-version.cmake"
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
+endif()
+
+file(GLOB FLAC_HEADERS "include/FLAC/*.h")
+file(GLOB FLAC++_HEADERS "include/FLAC++/*.h")
+install(FILES ${FLAC_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/FLAC")
+install(FILES ${FLAC++_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/FLAC++")
+if(INSTALL_MANPAGES)
+ find_program (HAVE_PANDOC pandoc)
+ if(HAVE_PANDOC)
+ file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/man")
+ add_custom_command(
+ OUTPUT man/flac.1
+ COMMAND pandoc --standalone --to man "${CMAKE_SOURCE_DIR}/man/flac.md" > man/flac.1
+ )
+ add_custom_command(
+ OUTPUT man/metaflac.1
+ COMMAND pandoc --standalone --to man "${CMAKE_SOURCE_DIR}/man/metaflac.md" > man/metaflac.1
+ )
+ add_custom_target(man ALL DEPENDS man/flac.1 man/metaflac.1)
+ install(FILES "${CMAKE_BINARY_DIR}/man/flac.1" "${CMAKE_BINARY_DIR}/man/metaflac.1" DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")
+ else()
+ if(EXISTS "${CMAKE_SOURCE_DIR}/man/flac.1" AND EXISTS "${CMAKE_SOURCE_DIR}/man/metaflac.1")
+ install(FILES "man/flac.1" "man/metaflac.1" DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")
+ else()
+ message(SEND_ERROR "Pandoc nor prebuild manpages are found. Cannot install manpages. Set INSTALL_MANPAGES to OFF to build without man pages")
+ endif()
+ endif()
+endif()
diff --git a/3rdparty/libflac/COPYING.GPL b/3rdparty/libflac/COPYING.GPL
index c3c7a9eac7d..d159169d105 100644
--- a/3rdparty/libflac/COPYING.GPL
+++ b/3rdparty/libflac/COPYING.GPL
@@ -1,12 +1,12 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
- Preamble
+ Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
+the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
@@ -55,8 +55,8 @@ patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
-
- GNU GENERAL PUBLIC LICENSE
+
+ GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
-
+
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
-
+
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
@@ -225,7 +225,7 @@ impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
-
+
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
@@ -255,7 +255,7 @@ make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
- NO WARRANTY
+ NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
@@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
@@ -291,7 +291,7 @@ convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
+ Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -303,17 +303,16 @@ the "copyright" line and a pointer to where the full notice is found.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
- Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
@@ -336,5 +335,5 @@ necessary. Here is a sample; alter the names:
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
+library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
diff --git a/3rdparty/libflac/COPYING.Xiph b/3rdparty/libflac/COPYING.Xiph
index 0a104a9cdf6..86629af1472 100644
--- a/3rdparty/libflac/COPYING.Xiph
+++ b/3rdparty/libflac/COPYING.Xiph
@@ -1,4 +1,5 @@
-Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+Copyright (C) 2000-2009 Josh Coalson
+Copyright (C) 2011-2023 Xiph.Org Foundation
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
@@ -11,7 +12,7 @@ notice, this list of conditions and the following disclaimer.
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
-- Neither the name of the Xiph.org Foundation nor the names of its
+- Neither the name of the Xiph.Org Foundation nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
diff --git a/3rdparty/libflac/FLAC.dsw b/3rdparty/libflac/FLAC.dsw
deleted file mode 100644
index d19b8f4e80e..00000000000
--- a/3rdparty/libflac/FLAC.dsw
+++ /dev/null
@@ -1,683 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "all"=.\all.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name all_dynamic
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name all_static
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "all_dynamic"=.\all_dynamic.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name examples
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name flac
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name iffscan
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name metaflac
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name in_flac
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name flac_mac
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name flac_ren
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name flacdiff
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name flactimer
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name grabbag_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name replaygain_analysis_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name replaygain_synthesis_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name getopt_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name libFLAC_dynamic
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name libFLAC_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name libFLAC++_dynamic
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name libFLAC++_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name test_libs_common_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name plugin_common_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name utf8_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name test_cuesheet
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name test_picture
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name test_libFLAC
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name test_libFLAC++
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name test_seeking
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name test_streams
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "all_static"=.\all_static.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name examples
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name flac
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name iffscan
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name metaflac
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name in_flac
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name flac_mac
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name flac_ren
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name flacdiff
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name flactimer
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name grabbag_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name replaygain_analysis_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name replaygain_synthesis_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name getopt_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name libFLAC_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name libFLAC++_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name test_libs_common_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name plugin_common_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name utf8_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name test_cuesheet
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name test_picture
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name test_libFLAC
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name test_libFLAC++
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name test_seeking
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name test_streams
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "examples"=.\examples\examples.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name example_c_decode_file
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name example_c_encode_file
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name example_cpp_decode_file
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name example_cpp_encode_file
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "example_c_decode_file"=.\examples\c\decode\file\example_c_decode_file.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name libFLAC_static
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "example_c_encode_file"=.\examples\c\encode\file\example_c_encode_file.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name libFLAC_static
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "example_cpp_decode_file"=.\examples\cpp\decode\file\example_cpp_decode_file.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name libFLAC++_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name libFLAC_static
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "example_cpp_encode_file"=.\examples\cpp\encode\file\example_cpp_encode_file.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name libFLAC++_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name libFLAC_static
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "flac"=.\src\flac\flac.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name grabbag_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name replaygain_analysis_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name replaygain_synthesis_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name getopt_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name libFLAC_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name utf8_static
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "iffscan"=.\src\flac\iffscan.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name libFLAC_static
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "flac_mac"=.\src\monkeys_audio_utilities\flac_mac\flac_mac.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "flac_ren"=.\src\monkeys_audio_utilities\flac_ren\flac_ren.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "replaygain_analysis_static"=.\src\share\replaygain_analysis\replaygain_analysis_static.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "replaygain_synthesis_static"=.\src\share\replaygain_synthesis\replaygain_synthesis_static.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "getopt_static"=.\src\share\getopt\getopt_static.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "grabbag_static"=.\src\share\grabbag\grabbag_static.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name libFLAC_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name replaygain_analysis_static
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "in_flac"=.\src\plugin_winamp2\in_flac.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name libFLAC_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name plugin_common_static
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "libFLAC_dynamic"=.\src\libFLAC\libFLAC_dynamic.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "libFLAC_static"=.\src\libFLAC\libFLAC_static.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "libFLAC++_dynamic"=".\src\libFLAC++\libFLAC++_dynamic.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name libFLAC_dynamic
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "libFLAC++_static"=".\src\libFLAC++\libFLAC++_static.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name libFLAC_static
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "metaflac"=.\src\metaflac\metaflac.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name replaygain_analysis_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name getopt_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name grabbag_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name libFLAC_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name utf8_static
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "plugin_common_static"=.\src\plugin_common\plugin_common_static.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name replaygain_synthesis_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name libFLAC_static
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "test_cuesheet"=.\src\test_grabbag\cuesheet\test_cuesheet.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name grabbag_static
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "test_picture"=.\src\test_grabbag\picture\test_picture.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name grabbag_static
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "test_libs_common"=.\src\test_libs_common\test_libs_common_static.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name libFLAC_static
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "test_libFLAC"=.\src\test_libFLAC\test_libFLAC.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name libFLAC_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name test_libs_common_static
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "test_libFLAC++"=".\src\test_libFLAC++\test_libFLAC++.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name libFLAC++_static
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name test_libs_common_static
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "test_seeking"=.\src\test_seeking\test_seeking.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "test_streams"=.\src\test_streams\test_streams.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "utf8_static"=.\src\share\utf8\utf8_static.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "flacdiff"=".\src\utils\flacdiff\flacdiff.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name libFLAC++_static
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "flactimer"=".\src\utils\flactimer\flactimer.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/3rdparty/libflac/FLAC.sln b/3rdparty/libflac/FLAC.sln
deleted file mode 100644
index a7534088696..00000000000
--- a/3rdparty/libflac/FLAC.sln
+++ /dev/null
@@ -1,265 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual C++ Express 2005
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "example_c_decode_file", "examples\c\decode\file\example_c_decode_file.vcproj", "{4cefbd00-c215-11db-8314-0800200c9a66}"
- ProjectSection(ProjectDependencies) = postProject
- {4cefbc84-c215-11db-8314-0800200c9a66} = {4cefbc84-c215-11db-8314-0800200c9a66}
- EndProjectSection
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "example_c_encode_file", "examples\c\encode\file\example_c_encode_file.vcproj", "{4cefbd01-c215-11db-8314-0800200c9a66}"
- ProjectSection(ProjectDependencies) = postProject
- {4cefbc84-c215-11db-8314-0800200c9a66} = {4cefbc84-c215-11db-8314-0800200c9a66}
- EndProjectSection
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "example_cpp_decode_file", "examples\cpp\decode\file\example_cpp_decode_file.vcproj", "{4cefbe00-c215-11db-8314-0800200c9a66}"
- ProjectSection(ProjectDependencies) = postProject
- {4cefbc84-c215-11db-8314-0800200c9a66} = {4cefbc84-c215-11db-8314-0800200c9a66}
- {4cefbc86-c215-11db-8314-0800200c9a66} = {4cefbc86-c215-11db-8314-0800200c9a66}
- EndProjectSection
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "example_cpp_encode_file", "examples\cpp\encode\file\example_cpp_encode_file.vcproj", "{4cefbe01-c215-11db-8314-0800200c9a66}"
- ProjectSection(ProjectDependencies) = postProject
- {4cefbc84-c215-11db-8314-0800200c9a66} = {4cefbc84-c215-11db-8314-0800200c9a66}
- {4cefbc86-c215-11db-8314-0800200c9a66} = {4cefbc86-c215-11db-8314-0800200c9a66}
- EndProjectSection
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "flac", "src\flac\flac.vcproj", "{4cefbc7d-c215-11db-8314-0800200c9a66}"
- ProjectSection(ProjectDependencies) = postProject
- {4cefbc81-c215-11db-8314-0800200c9a66} = {4cefbc81-c215-11db-8314-0800200c9a66}
- {4cefbc89-c215-11db-8314-0800200c9a66} = {4cefbc89-c215-11db-8314-0800200c9a66}
- {4cefbc92-c215-11db-8314-0800200c9a66} = {4cefbc92-c215-11db-8314-0800200c9a66}
- {4cefbc80-c215-11db-8314-0800200c9a66} = {4cefbc80-c215-11db-8314-0800200c9a66}
- {4cefbc8a-c215-11db-8314-0800200c9a66} = {4cefbc8a-c215-11db-8314-0800200c9a66}
- {4cefbc84-c215-11db-8314-0800200c9a66} = {4cefbc84-c215-11db-8314-0800200c9a66}
- EndProjectSection
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "iffscan", "src\flac\iffscan.vcproj", "{4cefbc94-c215-11db-8314-0800200c9a66}"
- ProjectSection(ProjectDependencies) = postProject
- {4cefbc84-c215-11db-8314-0800200c9a66} = {4cefbc84-c215-11db-8314-0800200c9a66}
- EndProjectSection
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "flac_mac", "src\monkeys_audio_utilities\flac_mac\flac_mac.vcproj", "{4cefbc7e-c215-11db-8314-0800200c9a66}"
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "flac_ren", "src\monkeys_audio_utilities\flac_ren\flac_ren.vcproj", "{4cefbc7f-c215-11db-8314-0800200c9a66}"
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "flacdiff", "src\utils\flacdiff\flacdiff.vcproj", "{4cefbc93-c215-11db-8314-0800200c9a66}"
- ProjectSection(ProjectDependencies) = postProject
- {4cefbc86-c215-11db-8314-0800200c9a66} = {4cefbc86-c215-11db-8314-0800200c9a66}
- EndProjectSection
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "flactimer", "src\utils\flactimer\flactimer.vcproj", "{4cefbc95-c215-11db-8314-0800200c9a66}"
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "getopt_static", "src\share\getopt\getopt_static.vcproj", "{4cefbc80-c215-11db-8314-0800200c9a66}"
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "grabbag_static", "src\share\grabbag\grabbag_static.vcproj", "{4cefbc81-c215-11db-8314-0800200c9a66}"
- ProjectSection(ProjectDependencies) = postProject
- {4cefbc84-c215-11db-8314-0800200c9a66} = {4cefbc84-c215-11db-8314-0800200c9a66}
- {4cefbc89-c215-11db-8314-0800200c9a66} = {4cefbc89-c215-11db-8314-0800200c9a66}
- EndProjectSection
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "in_flac", "src\plugin_winamp2\in_flac.vcproj", "{4cefbc82-c215-11db-8314-0800200c9a66}"
- ProjectSection(ProjectDependencies) = postProject
- {4cefbc84-c215-11db-8314-0800200c9a66} = {4cefbc84-c215-11db-8314-0800200c9a66}
- {4cefbc8a-c215-11db-8314-0800200c9a66} = {4cefbc8a-c215-11db-8314-0800200c9a66}
- {4cefbc81-c215-11db-8314-0800200c9a66} = {4cefbc81-c215-11db-8314-0800200c9a66}
- {4cefbc88-c215-11db-8314-0800200c9a66} = {4cefbc88-c215-11db-8314-0800200c9a66}
- EndProjectSection
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "libFLAC_dynamic", "src\libFLAC\libFLAC_dynamic.vcproj", "{4cefbc83-c215-11db-8314-0800200c9a66}"
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "libFLAC_static", "src\libFLAC\libFLAC_static.vcproj", "{4cefbc84-c215-11db-8314-0800200c9a66}"
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "libFLAC++_dynamic", "src\libFLAC++\libFLAC++_dynamic.vcproj", "{4cefbc85-c215-11db-8314-0800200c9a66}"
- ProjectSection(ProjectDependencies) = postProject
- {4cefbc83-c215-11db-8314-0800200c9a66} = {4cefbc83-c215-11db-8314-0800200c9a66}
- EndProjectSection
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "libFLAC++_static", "src\libFLAC++\libFLAC++_static.vcproj", "{4cefbc86-c215-11db-8314-0800200c9a66}"
- ProjectSection(ProjectDependencies) = postProject
- {4cefbc84-c215-11db-8314-0800200c9a66} = {4cefbc84-c215-11db-8314-0800200c9a66}
- EndProjectSection
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "metaflac", "src\metaflac\metaflac.vcproj", "{4cefbc87-c215-11db-8314-0800200c9a66}"
- ProjectSection(ProjectDependencies) = postProject
- {4cefbc84-c215-11db-8314-0800200c9a66} = {4cefbc84-c215-11db-8314-0800200c9a66}
- {4cefbc80-c215-11db-8314-0800200c9a66} = {4cefbc80-c215-11db-8314-0800200c9a66}
- {4cefbc92-c215-11db-8314-0800200c9a66} = {4cefbc92-c215-11db-8314-0800200c9a66}
- {4cefbc89-c215-11db-8314-0800200c9a66} = {4cefbc89-c215-11db-8314-0800200c9a66}
- {4cefbc81-c215-11db-8314-0800200c9a66} = {4cefbc81-c215-11db-8314-0800200c9a66}
- EndProjectSection
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "plugin_common_static", "src\plugin_common\plugin_common_static.vcproj", "{4cefbc88-c215-11db-8314-0800200c9a66}"
- ProjectSection(ProjectDependencies) = postProject
- {4cefbc81-c215-11db-8314-0800200c9a66} = {4cefbc81-c215-11db-8314-0800200c9a66}
- {4cefbc84-c215-11db-8314-0800200c9a66} = {4cefbc84-c215-11db-8314-0800200c9a66}
- EndProjectSection
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "replaygain_analysis_static", "src\share\replaygain_analysis\replaygain_analysis_static.vcproj", "{4cefbc89-c215-11db-8314-0800200c9a66}"
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "replaygain_synthesis_static", "src\share\replaygain_synthesis\replaygain_synthesis_static.vcproj", "{4cefbc8a-c215-11db-8314-0800200c9a66}"
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "test_cuesheet", "src\test_grabbag\cuesheet\test_cuesheet.vcproj", "{4cefbc8b-c215-11db-8314-0800200c9a66}"
- ProjectSection(ProjectDependencies) = postProject
- {4cefbc81-c215-11db-8314-0800200c9a66} = {4cefbc81-c215-11db-8314-0800200c9a66}
- EndProjectSection
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "test_libFLAC", "src\test_libFLAC\test_libFLAC.vcproj", "{4cefbc8c-c215-11db-8314-0800200c9a66}"
- ProjectSection(ProjectDependencies) = postProject
- {4cefbc8e-c215-11db-8314-0800200c9a66} = {4cefbc8e-c215-11db-8314-0800200c9a66}
- {4cefbc81-c215-11db-8314-0800200c9a66} = {4cefbc81-c215-11db-8314-0800200c9a66}
- {4cefbc84-c215-11db-8314-0800200c9a66} = {4cefbc84-c215-11db-8314-0800200c9a66}
- EndProjectSection
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "test_libFLAC++", "src\test_libFLAC++\test_libFLAC++.vcproj", "{4cefbc8d-c215-11db-8314-0800200c9a66}"
- ProjectSection(ProjectDependencies) = postProject
- {4cefbc86-c215-11db-8314-0800200c9a66} = {4cefbc86-c215-11db-8314-0800200c9a66}
- {4cefbc81-c215-11db-8314-0800200c9a66} = {4cefbc81-c215-11db-8314-0800200c9a66}
- {4cefbc8e-c215-11db-8314-0800200c9a66} = {4cefbc8e-c215-11db-8314-0800200c9a66}
- EndProjectSection
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "test_libs_common_static", "src\test_libs_common\test_libs_common_static.vcproj", "{4cefbc8e-c215-11db-8314-0800200c9a66}"
- ProjectSection(ProjectDependencies) = postProject
- {4cefbc84-c215-11db-8314-0800200c9a66} = {4cefbc84-c215-11db-8314-0800200c9a66}
- EndProjectSection
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "test_picture", "src\test_grabbag\picture\test_picture.vcproj", "{4cefbc8f-c215-11db-8314-0800200c9a66}"
- ProjectSection(ProjectDependencies) = postProject
- {4cefbc81-c215-11db-8314-0800200c9a66} = {4cefbc81-c215-11db-8314-0800200c9a66}
- EndProjectSection
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "test_seeking", "src\test_seeking\test_seeking.vcproj", "{4cefbc90-c215-11db-8314-0800200c9a66}"
- ProjectSection(ProjectDependencies) = postProject
- {4cefbc84-c215-11db-8314-0800200c9a66} = {4cefbc84-c215-11db-8314-0800200c9a66}
- EndProjectSection
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "test_streams", "src\test_streams\test_streams.vcproj", "{4cefbc91-c215-11db-8314-0800200c9a66}"
-EndProject
-Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "utf8_static", "src\share\utf8\utf8_static.vcproj", "{4cefbc92-c215-11db-8314-0800200c9a66}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {4cefbc7d-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc7d-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc7d-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc7d-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc7e-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc7e-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc7e-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc7e-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc7f-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc7f-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc7f-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc7f-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc80-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc80-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc80-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc80-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc81-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc81-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc81-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc81-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc82-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc82-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc82-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc82-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc83-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc83-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc83-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc83-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc84-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc84-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc84-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc84-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc85-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc85-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc85-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc85-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc86-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc86-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc86-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc86-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc87-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc87-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc87-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc87-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc88-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc88-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc88-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc88-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc89-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc89-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc89-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc89-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc8a-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc8a-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc8a-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc8a-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc8b-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc8b-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc8b-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc8b-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc8c-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc8c-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc8c-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc8c-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc8d-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc8d-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc8d-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc8d-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc8e-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc8e-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc8e-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc8e-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc8f-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc8f-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc8f-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc8f-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc90-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc90-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc90-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc90-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc91-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc91-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc91-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc91-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc92-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc92-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc92-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc92-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc93-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc93-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc93-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc93-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc94-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc94-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc94-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc94-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbc95-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbc95-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbc95-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbc95-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbd00-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbd00-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbd00-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbd00-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbd01-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbd01-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbd01-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbd01-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbe00-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbe00-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbe00-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbe00-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- {4cefbe01-c215-11db-8314-0800200c9a66}.Debug|Win32.ActiveCfg = Debug|Win32
- {4cefbe01-c215-11db-8314-0800200c9a66}.Debug|Win32.Build.0 = Debug|Win32
- {4cefbe01-c215-11db-8314-0800200c9a66}.Release|Win32.ActiveCfg = Release|Win32
- {4cefbe01-c215-11db-8314-0800200c9a66}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/3rdparty/libflac/Makefile.am b/3rdparty/libflac/Makefile.am
index 5627bb54133..3bb523e880d 100644
--- a/3rdparty/libflac/Makefile.am
+++ b/3rdparty/libflac/Makefile.am
@@ -1,8 +1,9 @@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -28,25 +29,33 @@
# distclean: remove everything except what goes in the distribution
#
-AUTOMAKE_OPTIONS = foreign 1.7
+ACLOCAL_AMFLAGS = -I m4
-SUBDIRS = doc include m4 man src examples test build obj
+SUBDIRS = doc include m4 man src test microbench oss-fuzz
-DISTCLEANFILES = libtool-disable-static
+if EXAMPLES
+SUBDIRS += examples
+endif
EXTRA_DIST = \
+ CMakeLists.txt \
+ config.cmake.h.in \
+ flac-config.cmake.in \
+ cmake/CheckA64NEON.c.in \
+ cmake/CheckA64NEON.cmake \
+ cmake/CheckCPUArch.c.in \
+ cmake/CheckCPUArch.cmake \
+ cmake/FindOgg.cmake \
+ cmake/UseSystemExtensions.cmake \
+ CHANGELOG.md \
COPYING.FDL \
COPYING.GPL \
COPYING.LGPL \
COPYING.Xiph \
- FLAC.dsw \
- FLAC.sln \
- Makefile.lite \
- all.dsp \
- all_dynamic.dsp \
- all_static.dsp \
+ README.md \
autogen.sh \
config.rpath \
depcomp \
- ltmain.sh \
- strip_non_asm_libtool_args.sh
+ ltmain.sh
+
+CLEANFILES = *~
diff --git a/3rdparty/libflac/Makefile.in b/3rdparty/libflac/Makefile.in
index 4dafa3517eb..09f22b7e608 100644
--- a/3rdparty/libflac/Makefile.in
+++ b/3rdparty/libflac/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,10 +15,11 @@
@SET_MAKE@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -43,17 +44,67 @@
#
# distclean: remove everything except what goes in the distribution
#
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = .
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -65,12 +116,140 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+@EXAMPLES_TRUE@am__append_1 = examples
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+ $(am__configure_deps) $(am__DIST_COMMON)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ cscope distdir distdir-am dist dist-all distcheck
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \
+ config.h.in
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+DIST_SUBDIRS = doc include m4 man src test microbench oss-fuzz \
+ examples
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in AUTHORS \
+ README.md ar-lib compile config.guess config.rpath config.sub \
+ install-sh ltmain.sh missing
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+ if test -d "$(distdir)"; then \
+ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -rf "$(distdir)" \
+ || { sleep 5 && rm -rf "$(distdir)"; }; \
+ else :; fi
+am__post_remove_distdir = $(am__remove_distdir)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+GZIP_ENV = --best
+DIST_ARCHIVES = $(distdir).tar.xz
+DIST_TARGETS = dist-xz
+# Exists only to be overridden by the user if desired.
+AM_DISTCHECK_DVI_TARGET = dvi
+distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
+distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -79,233 +258,217 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
-AUTOMAKE_OPTIONS = foreign 1.7
-
-SUBDIRS = doc include m4 man src examples test build obj
-
-DISTCLEANFILES = libtool-disable-static
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+ACLOCAL_AMFLAGS = -I m4
+SUBDIRS = doc include m4 man src test microbench oss-fuzz \
+ $(am__append_1)
EXTRA_DIST = \
+ CMakeLists.txt \
+ config.cmake.h.in \
+ flac-config.cmake.in \
+ cmake/CheckA64NEON.c.in \
+ cmake/CheckA64NEON.cmake \
+ cmake/CheckCPUArch.c.in \
+ cmake/CheckCPUArch.cmake \
+ cmake/FindOgg.cmake \
+ cmake/UseSystemExtensions.cmake \
+ CHANGELOG.md \
COPYING.FDL \
COPYING.GPL \
COPYING.LGPL \
COPYING.Xiph \
- FLAC.dsw \
- FLAC.sln \
- Makefile.lite \
- all.dsp \
- all_dynamic.dsp \
- all_static.dsp \
+ README.md \
autogen.sh \
config.rpath \
depcomp \
- ltmain.sh \
- strip_non_asm_libtool_args.sh
-
-subdir = .
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
+ ltmain.sh
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/configure AUTHORS \
- Makefile.am aclocal.m4 config.guess config.h.in config.rpath \
- config.sub configure.in depcomp install-sh ltmain.sh missing \
- mkinstalldirs
-DIST_SUBDIRS = $(SUBDIRS)
+CLEANFILES = *~
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
-
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
-
-$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+am--refresh: Makefile
+ @:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
-$(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
- cd $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in
- cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(top_srcdir)/configure: $(am__configure_deps)
+ $(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
config.h: stamp-h1
- @if test ! -f $@; then \
- rm -f stamp-h1; \
- $(MAKE) stamp-h1; \
- else :; fi
+ @test -f $@ || rm -f stamp-h1
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
-
-$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOHEADER)
- touch $(srcdir)/config.h.in
+$(srcdir)/config.h.in: $(am__configure_deps)
+ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
+ rm -f stamp-h1
+ touch $@
distclean-hdr:
-rm -f config.h stamp-h1
@@ -317,20 +480,28 @@ clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
+ -rm -f libtool config.lt
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -338,198 +509,230 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
+ empty_fix=.; \
else \
include_option=--include; \
+ empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscope: cscope.files
+ test ! -s cscope.files \
+ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+clean-cscope:
+ -rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = .
-distdir = $(PACKAGE)-$(VERSION)
-
-am__remove_distdir = \
- { test ! -d $(distdir) \
- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr $(distdir); }; }
-
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
+ -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
-distdir: $(DISTFILES)
+distdir-am: $(DISTFILES)
$(am__remove_distdir)
- mkdir $(distdir)
- $(mkinstalldirs) $(distdir)/src/libFLAC $(distdir)/src/libFLAC++
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ test -d "$(distdir)" || mkdir "$(distdir)"
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ -test -n "$(am__skip_mode_fix)" \
+ || find "$(distdir)" -type d ! -perm -755 \
+ -exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r $(distdir)
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r "$(distdir)"
dist-gzip: distdir
- $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-dist dist-all: distdir
- $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
+ tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
+ $(am__post_remove_distdir)
+
+dist-bzip2: distdir
+ tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+ $(am__post_remove_distdir)
+
+dist-lzip: distdir
+ tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
+ $(am__post_remove_distdir)
+dist-xz: distdir
+ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
+ $(am__post_remove_distdir)
+
+dist-zstd: distdir
+ tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
+ $(am__post_remove_distdir)
+
+dist-tarZ: distdir
+ @echo WARNING: "Support for distribution archives compressed with" \
+ "legacy program 'compress' is deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+ $(am__post_remove_distdir)
+
+dist-shar: distdir
+ @echo WARNING: "Support for shar distribution archives is" \
+ "deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+ shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
+ $(am__post_remove_distdir)
+
+dist-zip: distdir
+ -rm -f $(distdir).zip
+ zip -rq $(distdir).zip $(distdir)
+ $(am__post_remove_distdir)
+
+dist dist-all:
+ $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
+ $(am__post_remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
- $(am__remove_distdir)
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
- chmod -R a-w $(distdir); chmod a+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
+ case '$(DIST_ARCHIVES)' in \
+ *.tar.gz*) \
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lz*) \
+ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
+ *.tar.xz*) \
+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+ *.tar.Z*) \
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+ *.shar.gz*) \
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+ *.tar.zst*) \
+ zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
+ esac
+ chmod -R a-w $(distdir)
+ chmod u+w $(distdir)
+ mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
chmod a-w $(distdir)
+ test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && cd $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ && am__cwd=`pwd` \
+ && $(am__cd) $(distdir)/_build/sub \
+ && ../../configure \
+ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
+ --srcdir=../.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
@@ -538,22 +741,33 @@ distcheck: dist
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
- (cd ../.. && $(mkinstalldirs) "$$dc_destdir") \
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
- && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
- && rm -f $(distdir).tar.gz \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
- $(am__remove_distdir)
- @echo "$(distdir).tar.gz is ready for distribution" | \
- sed 'h;s/./=/g;p;x;p;x'
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
+ && rm -rf $(DIST_ARCHIVES) \
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+ && cd "$$am__cwd" \
+ || exit 1
+ $(am__post_remove_distdir)
+ @(echo "$(distdir) archives ready for distribution: "; \
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
- @cd $(distuninstallcheck_dir) \
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+ @test -n '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: trying to run $@ with an empty' \
+ '$$(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ $(am__cd) '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
@@ -574,7 +788,6 @@ check: check-recursive
all-am: Makefile config.h
installdirs: installdirs-recursive
installdirs-am:
-
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@@ -585,17 +798,23 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
- -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -607,25 +826,47 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-hdr distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-hdr \
+ distclean-libtool distclean-tags
dvi: dvi-recursive
dvi-am:
+html: html-recursive
+
+html-am:
+
info: info-recursive
info-am:
install-data-am:
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-recursive
+
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -646,27 +887,29 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
-uninstall-info: uninstall-info-recursive
+.MAKE: $(am__recursive_targets) all install-am install-strip
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive dist dist-all dist-gzip distcheck distclean \
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+ am--refresh check check-am clean clean-cscope clean-generic \
+ clean-libtool cscope cscopelist-am ctags ctags-am dist \
+ dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
+ dist-xz dist-zip dist-zstd distcheck distclean \
distclean-generic distclean-hdr distclean-libtool \
- distclean-recursive distclean-tags distcleancheck distdir \
- distuninstallcheck dvi dvi-am dvi-recursive info info-am \
- info-recursive install install-am install-data install-data-am \
- install-data-recursive install-exec install-exec-am \
- install-exec-recursive install-info install-info-am \
- install-info-recursive install-man install-recursive \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am installdirs-recursive maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive mostlyclean \
- mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
- pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \
- tags-recursive uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
+ distclean-tags distcleancheck distdir distuninstallcheck dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs installdirs-am \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/Makefile.lite b/3rdparty/libflac/Makefile.lite
deleted file mode 100644
index 92e5822b018..00000000000
--- a/3rdparty/libflac/Makefile.lite
+++ /dev/null
@@ -1,106 +0,0 @@
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-#
-# GNU Makefile
-#
-# Useful targets
-#
-# all : build all libraries and programs in the default configuration (currently 'release')
-# debug : build all libraries and programs in debug mode
-# valgrind: build all libraries and programs in debug mode, dynamically linked and ready for valgrind
-# release : build all libraries and programs in release mode
-# test : run the unit and stream tests
-# clean : remove all non-distro files
-#
-
-topdir = .
-
-.PHONY: all doc src examples libFLAC libFLAC++ share plugin_common plugin_xmms flac metaflac test_grabbag test_libFLAC test_libFLAC++ test_seeking test_streams
-all: doc src examples
-
-DEFAULT_CONFIG = release
-
-CONFIG = $(DEFAULT_CONFIG)
-
-debug : CONFIG = debug
-valgrind: CONFIG = valgrind
-release : CONFIG = release
-
-debug : all
-valgrind: all
-release : all
-
-doc:
- (cd $@ && $(MAKE) -f Makefile.lite)
-
-src:
- (cd $@ && $(MAKE) -f Makefile.lite $(CONFIG))
-
-examples: src
- (cd $@ && $(MAKE) -f Makefile.lite $(CONFIG))
-
-libFLAC:
- (cd src/$@ && $(MAKE) -f Makefile.lite $(CONFIG))
-
-libFLAC++: libFLAC
- (cd src/$@ && $(MAKE) -f Makefile.lite $(CONFIG))
-
-share: libFLAC
- (cd src/$@ && $(MAKE) -f Makefile.lite $(CONFIG))
-
-flac: libFLAC share
- (cd src/$@ && $(MAKE) -f Makefile.lite $(CONFIG))
-
-metaflac: libFLAC share
- (cd src/$@ && $(MAKE) -f Makefile.lite $(CONFIG))
-
-plugin_common: libFLAC
- (cd src/$@ && $(MAKE) -f Makefile.lite $(CONFIG))
-
-plugin_xmms: libFLAC plugin_common
- (cd src/$@ && $(MAKE) -f Makefile.lite $(CONFIG))
-
-test_seeking: libFLAC
- (cd src/$@ && $(MAKE) -f Makefile.lite $(CONFIG))
-
-test_streams: libFLAC
- (cd src/$@ && $(MAKE) -f Makefile.lite $(CONFIG))
-
-test_grabbag: share
- (cd src/$@ && $(MAKE) -f Makefile.lite $(CONFIG))
-
-test_libFLAC: libFLAC
- (cd src/$@ && $(MAKE) -f Makefile.lite $(CONFIG))
-
-test_libFLAC++: libFLAC libFLAC++
- (cd src/$@ && $(MAKE) -f Makefile.lite $(CONFIG))
-
-test: debug
- (cd test && $(MAKE) -f Makefile.lite debug)
-
-testv: valgrind
- (cd test && $(MAKE) -f Makefile.lite valgrind)
-
-testr: release
- (cd test && $(MAKE) -f Makefile.lite release)
-
-clean:
- -(cd doc && $(MAKE) -f Makefile.lite clean)
- -(cd src && $(MAKE) -f Makefile.lite clean)
- -(cd examples && $(MAKE) -f Makefile.lite clean)
- -(cd test && $(MAKE) -f Makefile.lite clean)
diff --git a/3rdparty/libflac/README b/3rdparty/libflac/README
deleted file mode 100644
index f4a461ba598..00000000000
--- a/3rdparty/libflac/README
+++ /dev/null
@@ -1,254 +0,0 @@
-/* FLAC - Free Lossless Audio Codec
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- *
- * This file is part the FLAC project. FLAC is comprised of several
- * components distributed under difference licenses. The codec libraries
- * are distributed under Xiph.Org's BSD-like license (see the file
- * COPYING.Xiph in this distribution). All other programs, libraries, and
- * plugins are distributed under the LGPL or GPL (see COPYING.LGPL and
- * COPYING.GPL). The documentation is distributed under the Gnu FDL (see
- * COPYING.FDL). Each file in the FLAC distribution contains at the top the
- * terms under which it may be distributed.
- *
- * Since this particular file is relevant to all components of FLAC,
- * it may be distributed under the Xiph.Org license, which is the least
- * restrictive of those mentioned above. See the file COPYING.Xiph in this
- * distribution.
- */
-
-
-FLAC (http://flac.sourceforge.net/) is an Open Source lossless audio
-codec developed by Josh Coalson.
-
-FLAC is comprised of
- * `libFLAC', a library which implements reference encoders and
- decoders for native FLAC and Ogg FLAC, and a metadata interface
- * `libFLAC++', a C++ object wrapper library around libFLAC
- * `flac', a command-line program for encoding and decoding files
- * `metaflac', a command-line program for viewing and editing FLAC
- metadata
- * player plugins for XMMS and Winamp
- * user and API documentation
-
-The libraries (libFLAC, libFLAC++) are
-licensed under Xiph.org's BSD-like license (see COPYING.Xiph). All other
-programs and plugins are licensed under the GNU General Public License
-(see COPYING.GPL). The documentation is licensed under the GNU Free
-Documentation License (see COPYING.FDL).
-
-
-===============================================================================
-FLAC - 1.2.1 - Contents
-===============================================================================
-
-- Introduction
-- Prerequisites
-- Note to embedded developers
-- Building in a GNU environment
-- Building with Makefile.lite
-- Building with MSVC
-- Building on Mac OS X
-
-
-===============================================================================
-Introduction
-===============================================================================
-
-This is the source release for the FLAC project. See
-
- doc/html/index.html
-
-for full documentation.
-
-A brief description of the directory tree:
-
- doc/ the HTML documentation
- include/ public include files for libFLAC and libFLAC++
- man/ the man page for `flac'
- src/ the source code and private headers
- test/ the test scripts
-
-
-===============================================================================
-Prerequisites
-===============================================================================
-
-To build FLAC with support for Ogg FLAC you must have built and installed
-libogg according to the specific instructions below. You must have
-libogg 1.1.2 or greater, or there will be seeking problems with Ogg FLAC.
-
-If you are building on x86 and want the assembly optimizations, you will
-need to have NASM >= 0.98.30 installed according to the specific instructions
-below.
-
-
-===============================================================================
-Note to embedded developers
-===============================================================================
-
-libFLAC has grown larger over time as more functionality has been
-included, but much of it may be unnecessary for a particular embedded
-implementation. Unused parts may be pruned by some simple editing of
-configure.in and src/libFLAC/Makefile.am; the following dependency
-graph shows which modules may be pruned without breaking things
-further down:
-
-metadata.h
- stream_decoder.h
- format.h
-
-stream_encoder.h
- stream_decoder.h
- format.h
-
-stream_decoder.h
- format.h
-
-In other words, for pure decoding applications, both the stream encoder
-and metadata editing interfaces can be safely removed.
-
-There is a section dedicated to embedded use in the libFLAC API
-HTML documentation (see doc/html/api/index.html).
-
-Also, there are several places in the libFLAC code with comments marked
-with "OPT:" where a #define can be changed to enable code that might be
-faster on a specific platform. Experimenting with these can yield faster
-binaries.
-
-
-===============================================================================
-Building in a GNU environment
-===============================================================================
-
-FLAC uses autoconf and libtool for configuring and building.
-Better documentation for these will be forthcoming, but in
-general, this should work:
-
-./configure && make && make check && make install
-
-The 'make check' step is optional; omit it to skip all the tests,
-which can take several hours and use around 70-80 megs of disk space.
-Even though it will stop with an explicit message on any failure, it
-does print out a lot of stuff so you might want to capture the output
-to a file if you're having a problem. Also, don't run 'make check'
-as root because it confuses some of the tests.
-
-NOTE: Despite our best efforts it's entirely possible to have
-problems when using older versions of autoconf, automake, or
-libtool. If you have the latest versions and still can't get it
-to work, see the next section on Makefile.lite.
-
-There are a few FLAC-specific arguments you can give to
-`configure':
-
---enable-debug : Builds everything with debug symbols and some
-extra (and more verbose) error checking.
-
---disable-asm-optimizations : Disables the compilation of the
-assembly routines. Many routines have assembly versions for
-speed and `configure' is pretty good about knowing what is
-supported, but you can use this option to build only from the
-C sources. May be necessary for building on OS X (Intel)
-
---enable-sse : If you are building for an x86 CPU that supports
-SSE instructions, you can enable some of the faster routines
-if your operating system also supports SSE instructions. flac
-can tell if the CPU supports the instructions but currently has
-no way to test if the OS does, so if it does, you must pass
-this argument to configure to use the SSE routines. If flac
-crashes when built with this option you will have to go back and
-configure without --enable-sse. Note that
---disable-asm-optimizations implies --disable-sse.
-
---enable-local-xmms-plugin : Installs the FLAC XMMS plugin in
-$HOME/.xmms/Plugins, instead of the global XMMS plugin area
-(usually /usr/lib/xmms/Input).
-
---with-ogg=
---with-xmms-prefix=
---with-libiconv-prefix=
-Use these if you have these packages but configure can't find them.
-
-If you want to build completely from scratch (i.e. starting with just
-configure.in and Makefile.am) you should be able to just run 'autogen.sh'
-but make sure and read the comments in that file first.
-
-
-===============================================================================
-Building with Makefile.lite
-===============================================================================
-
-There is a more lightweight build system for do-it-yourself-ers.
-It is also useful if configure isn't working, which may be the
-case since lately we've had some problems with different versions
-of automake and libtool. The Makefile.lite system should work
-on GNU systems with few or no adjustments.
-
-From the top level just 'make -f Makefile.lite'. You can
-specify zero or one optional target from 'release', 'debug',
-'test', or 'clean'. The default is 'release'. There is no
-'install' target but everything you need will end up in the
-obj/ directory.
-
-If you are not on an x86 system or you don't have nasm, you
-may have to change the DEFINES in src/libFLAC/Makefile.lite. If
-you don't have nasm, remove -DFLAC__HAS_NASM. If your target is
-not an x86, change -DFLAC__CPU_IA32 to -DFLAC__CPU_UNKNOWN.
-
-
-===============================================================================
-Building with MSVC
-===============================================================================
-
-There are .dsp projects and a master FLAC.dsw workspace to build all
-the libraries and executables with MSVC6. There are also .vcproj
-projects and a master FLAC.sln solution to build all the libraries and
-executables with VC++ 2005.
-
-Prerequisite: you must have the Ogg libraries installed as described
-later.
-
-Prerequisite: you must have nasm installed, and nasmw.exe must be in
-your PATH, or the path to nasmw.exe must be added to the list of
-directories for executable files in the MSVC global options.
-
-MSVC6:
-To build everything, run Developer Studio, do File|Open Workspace,
-and open FLAC.dsw. Select "Build | Set active configuration..."
-from the menu, then in the dialog, select "All - Win32 Release" (or
-Debug if you prefer). Click "Ok" then hit F7 to build.
-
-VC++ 2005:
-To build everything, run Visual Studio, do File|Open and open FLAC.sln.
-From the dropdown in the toolbar, select "Release" instead of "Debug",
-then hit F7 to build.
-
-Either way, this will build all libraries both statically (e.g.
-obj\release\lib\libFLAC_static.lib) and as DLLs (e.g.
-obj\release\lib\libFLAC.dll), and it will build all binaries, statically
-linked (e.g. obj\release\bin\flac.exe).
-
-Everything will end up in the "obj" directory. DLLs and .exe files
-are all that are needed and can be copied to an installation area and
-added to the PATH. The plugins have to be copied to their appropriate
-place in the player area. For Winamp2 this is <winamp2-dir>\Plugins.
-
-By default the code is configured with Ogg support. Before building FLAC
-you will need to get the Ogg source distribution
-(see http://xiph.org/ogg/vorbis/download/), build ogg_static.lib (load and
-build win32\ogg_static.dsp), copy ogg_static.lib into FLAC's
-'obj\release\lib' directory, and copy the entire include\ogg tree into
-FLAC's 'include' directory (so that there is an 'ogg' directory in FLAC's
-'include' directory with the files ogg.h, os_types.h and config_types.h).
-
-If you want to build without Ogg support, instead edit all .dsp or
-.vcproj files and remove any occurrences of "/D FLAC__HAS_OGG".
-
-
-===============================================================================
-Building on Mac OS X
-===============================================================================
-
-If you have Fink or a recent version of OS X with the proper autotooles,
-the GNU flow above should work. The Project Builder project has been
-deprecated but we are working on replacing it with an Xcode equivalent.
diff --git a/3rdparty/libflac/README.md b/3rdparty/libflac/README.md
new file mode 100644
index 00000000000..2979862a631
--- /dev/null
+++ b/3rdparty/libflac/README.md
@@ -0,0 +1,278 @@
+<!---
+/* FLAC - Free Lossless Audio Codec
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
+ *
+ * This file is part the FLAC project. FLAC is comprised of several
+ * components distributed under different licenses. The codec libraries
+ * are distributed under Xiph.Org's BSD-like license (see the file
+ * COPYING.Xiph in this distribution). All other programs, libraries, and
+ * plugins are distributed under the LGPL or GPL (see COPYING.LGPL and
+ * COPYING.GPL). The documentation is distributed under the Gnu FDL (see
+ * COPYING.FDL). Each file in the FLAC distribution contains at the top the
+ * terms under which it may be distributed.
+ *
+ * Since this particular file is relevant to all components of FLAC,
+ * it may be distributed under the Xiph.Org license, which is the least
+ * restrictive of those mentioned above. See the file COPYING.Xiph in this
+ * distribution.
+ */
+--->
+
+# Free Lossless Audio Codec (FLAC)
+
+FLAC is open source software that can reduce the amount of storage space
+needed to store digital audio signals without needing to remove
+information in doing so.
+
+The files read and produced by this software are called FLAC files. As
+these files (which follow the [FLAC format](https://xiph.org/flac/format.html))
+can be read from and written to by other software as well, this software
+is often referred to as the FLAC reference implementation.
+
+FLAC has been developed by volunteers. If you want to help out, see
+CONTRIBUTING.md for more information.
+
+## Components
+
+FLAC is comprised of
+ * libFLAC, a library which implements reference encoders and
+ decoders for native FLAC and Ogg FLAC, and a metadata interface
+ * libFLAC++, a C++ object wrapper library around libFLAC
+ * `flac`, a command-line program for encoding and decoding files
+ * `metaflac`, a command-line program for viewing and editing FLAC
+ metadata
+ * user and API documentation
+
+The libraries (libFLAC, libFLAC++) are licensed under Xiph.org's
+BSD-like license (see COPYING.Xiph). All other programs and plugins are
+licensed under the GNU General Public License (see COPYING.GPL). The
+documentation is licensed under the GNU Free Documentation License
+(see COPYING.FDL).
+
+## Documentation
+
+For documentation of the `flac` and `metaflac` command line tools, see
+the directory man, which contains the files flac.md and metaflac.md
+
+The API documentation is in html and is generated by Doxygen. It can be
+found in the directory doc/html/api. It is included in a release tarball
+and must be build with Doxygen when the source is taken directly from
+git.
+
+The directory examples contains example source code on using libFLAC and
+libFLAC++.
+
+Documentation concerning the FLAC format itself (which can be used to
+create software reading and writing FLAC software independent from
+libFLAC) was included in previous releases, but can now be found on
+https://datatracker.ietf.org/doc/draft-ietf-cellar-flac/ Additionally
+a set of files for conformance testing called the FLAC decoder testbench
+can be found at https://github.com/ietf-wg-cellar/flac-test-files
+
+If you have questions about FLAC that this document does not answer,
+please submit them at the following tracker so this document can be
+improved:
+
+https://github.com/xiph/flac/issues
+
+## Building FLAC
+
+All components of the FLAC project can be build with a variety of
+compilers (including GCC, Clang, Visual Studio, Intel C++ Compiler) on
+many architectures (inluding x86, x86_64, ARMv7, ARMv8 and PowerPC)
+for many different operating systems.
+
+To do this, FLAC provides two build systems: one using GNU's autotools
+and one with CMake. Both differ slighly in configuration options, but
+should be considered equivalent for most use cases.
+
+FLAC used to provide files specifically for building with Visual Studio,
+but these have been removed in favor of using CMake.
+
+## Building with CMake
+
+CMake is a cross-platform build system. FLAC can be built on Windows,
+Linux, Mac OS X using CMake.
+
+You can use either CMake's CLI or GUI. We recommend you to have a
+separate build folder outside the repository in order to not spoil it
+with generated files. It is possible however to do a so-called in-tree
+build, in that case /path/to/flac-build in the following examples is
+equal to /path/to/flac-source.
+
+### CMake CLI
+
+Go to your build folder and run something like this:
+
+```
+/path/to/flac-build$ cmake /path/to/flac-source
+```
+
+or e.g. in Windows shell
+
+```
+C:\path\to\flac-build> cmake \path\to\flac-source
+```
+
+(provided that cmake is in your %PATH% variable)
+
+That will generate build scripts for the default build system (e.g.
+Makefiles for UNIX). After that you start build with a command like
+this:
+
+```
+/path/to/flac-build$ make
+```
+
+And afterwards you can run tests or install the built libraries and
+headers
+
+```
+/path/to/flac-build$ make test
+/path/to/flac-build$ make install
+```
+
+If you want use a build system other than default add -G flag to cmake,
+e.g.:
+
+```
+/path/to/flac-build$ cmake /path/to/flac-source -GNinja
+/path/to/flac-build$ ninja
+```
+
+or:
+
+```
+/path/to/flac-build$ cmake /path/to/flac-source -GXcode
+```
+
+Use cmake --help to see the list of available generators.
+
+By default CMake will search for OGG. If CMake fails to find it you can
+help CMake by specifying the exact path:
+
+```
+/path/to/flac-build$ cmake /path/to/flac-source -DOGG_ROOT=/path/to/ogg
+```
+
+If you would like CMake to build OGG alongside FLAC, you can place the
+ogg sources directly in the flac source directory as a subdirectory with
+the name ogg, for example:
+
+```
+/path/to/flac-source/ogg
+```
+
+If you don't want to build flac with OGG support you can tell CMake not
+to look for OGG:
+
+```
+/path/to/flac-build$ cmake /path/to/flac-source -DWITH_OGG=OFF
+```
+
+Other FLAC's options (e.g. building C++ lib or docs) can also be put to
+cmake through -D flag. If you want to know what options are available,
+use -LH:
+
+```
+/path/to/flac-build$ cmake /path/to/flac-source -LH
+```
+
+### CMake GUI (for Visual Studio)
+It is likely that you would prefer to use the CMake GUI if you use
+Visual Studio to build FLAC. It's in essence the same process as
+building using CLI.
+
+Open cmake-gui. In the window select a source directory (the
+repository's root), a build directory (some other directory outside the
+repository). Then press button "Configure". CMake will ask you which
+build system you prefer. Choose that version of Visual Studio which you
+have on your system, choose whether you want to build for Win32 or x64.
+Press OK.
+
+After CMake finishes you can change the configuration to your liking and
+if you change anything, run Configure again. With the "Generate" button,
+CMake creates Visual Studio files, which can be opened from Visual
+Studio. With the button "Open Project" CMake will launch Visual Studio
+and open the generated solution. You can use the project files as usual
+but remember that they were generated by CMake. That means that your
+changes (e.g. some additional compile flags) will be lost when you run
+CMake next time.
+
+CMake searches by default for OGG on your system and returns an error
+if it cannot find it. If you want to build OGG alongside FLAC, you can
+download the OGG sources and extract them in a subdirectory of the FLAC
+source directory with the name ogg (i.e. /path/to/flac-source/ogg)
+before running CMake. If you don't want to build FLAC with OGG support,
+untick the box following WITH_OGG flag in the list of variables in
+cmake-gui window and run "Configure" again.
+
+If CMake fails to find MSVC compiler then running cmake-gui from MS
+Developer comand prompt should help.
+
+## Building with GNU autotools
+
+FLAC uses autoconf and libtool for configuring and building. To
+configure a build, open a commmand line/terminal and run `./configure`
+You can provide options to this command, which are listed by running
+`./configure --help`.
+
+In case the configure script is not present (for example when building
+from git and not from a release tarball), it can be generated by running
+`./autogen.sh`. This may require a libtool development package though.
+
+After configuration, build with `make`, verify the build with
+`make check` and install with `make install`. Installation might require
+administrator priviledged, i.e. `sudo make install`.
+
+The 'make check' step is optional; omit it to skip all the tests, which
+can take about an hour to complete. Even though it will stop with an
+explicit message on any failure, it does print out a lot of stuff so you
+might want to capture the output to a file if you're having a problem.
+Also, don't run 'make check' as root because it confuses some of the
+tests.
+
+Summarizing:
+
+```
+./configure
+make && make check
+sudo make install
+```
+
+## Note to embedded developers
+
+libFLAC has grown larger over time as more functionality has been
+included, but much of it may be unnecessary for a particular embedded
+implementation. Unused parts may be pruned by some simple editing of
+configure.ac and src/libFLAC/Makefile.am; the following dependency
+graph shows which modules may be pruned without breaking things
+further down:
+
+```
+metadata.h
+ stream_decoder.h
+ format.h
+
+stream_encoder.h
+ stream_decoder.h
+ format.h
+
+stream_decoder.h
+ format.h
+```
+
+In other words, for pure decoding applications, both the stream encoder
+and metadata editing interfaces can be safely removed. Note that this
+is specific to building the libraries for embedded use. The command line
+tools do not provide such compartmentalization, and require a complete
+libFLAC build to function.
+
+There is a section dedicated to embedded use in the libFLAC API
+HTML documentation (see doc/html/api/index.html).
+
+Also, there are several places in the libFLAC code with comments marked
+with "OPT:" where a #define can be changed to enable code that might be
+faster on a specific platform. Experimenting with these can yield
+faster binaries.
diff --git a/3rdparty/libflac/aclocal.m4 b/3rdparty/libflac/aclocal.m4
index 19b724e964a..7900f3396c5 100644
--- a/3rdparty/libflac/aclocal.m4
+++ b/3rdparty/libflac/aclocal.m4
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.7.9 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
+
+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
-# Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -11,336 +11,142 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
-# Do all the work for Automake. -*- Autoconf -*-
-
-# This macro actually does too much some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 10
-
-AC_PREREQ([2.54])
-
-# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
-# the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out. PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition. After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
- AC_REQUIRE([AC_PROG_INSTALL])dnl
-# test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
- test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_MISSING_PROG(AMTAR, tar)
-AM_PROG_INSTALL_SH
-AM_PROG_INSTALL_STRIP
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-])
-])
-
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],,
+[m4_warning([this file was generated for autoconf 2.71.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated. The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $1 | $1:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
-
-# Copyright 2002 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# Copyright (C) 2002-2021 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y.
-AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.7"])
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.16'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.16.5], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
# AM_SET_CURRENT_AUTOMAKE_VERSION
# -------------------------------
-# Call AM_AUTOMAKE_VERSION so it can be traced.
-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
- [AM_AUTOMAKE_VERSION([1.7.9])])
-
-# Helper functions for option handling. -*- Autoconf -*-
+[AM_AUTOMAKE_VERSION([1.16.5])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-# Copyright 2001, 2002 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 2
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME. Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-#
-# Check to make sure that the build environment is sane.
+# Copyright (C) 2011-2021 Free Software Foundation, Inc.
#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 3
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
- fi
- rm -f conftest.file
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# -*- Autoconf -*-
-
-
-# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 3
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- AC_MSG_WARN([`missing' script is too old or missing])
-fi
+# AM_PROG_AR([ACT-IF-FAIL])
+# -------------------------
+# Try to determine the archiver interface, and trigger the ar-lib wrapper
+# if it is needed. If the detection of archiver interface fails, run
+# ACT-IF-FAIL (default is to abort configure with a proper error message).
+AC_DEFUN([AM_PROG_AR],
+[AC_BEFORE([$0], [LT_INIT])dnl
+AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl
+AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([ar-lib])dnl
+AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false])
+: ${AR=ar}
+
+AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface],
+ [AC_LANG_PUSH([C])
+ am_cv_ar_interface=ar
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])],
+ [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
+ AC_TRY_EVAL([am_ar_try])
+ if test "$ac_status" -eq 0; then
+ am_cv_ar_interface=ar
+ else
+ am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
+ AC_TRY_EVAL([am_ar_try])
+ if test "$ac_status" -eq 0; then
+ am_cv_ar_interface=lib
+ else
+ am_cv_ar_interface=unknown
+ fi
+ fi
+ rm -f conftest.lib libconftest.a
+ ])
+ AC_LANG_POP([C])])
+
+case $am_cv_ar_interface in
+ar)
+ ;;
+lib)
+ # Microsoft lib, so override with the ar-lib wrapper script.
+ # FIXME: It is wrong to rewrite AR.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__AR in this case,
+ # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
+ # similar.
+ AR="$am_aux_dir/ar-lib $AR"
+ ;;
+unknown)
+ m4_default([$1],
+ [AC_MSG_ERROR([could not determine $AR interface])])
+ ;;
+esac
+AC_SUBST([AR])dnl
])
-# AM_AUX_DIR_EXPAND
+# Figure out how to run the assembler. -*- Autoconf -*-
-# Copyright 2001 Free Software Foundation, Inc.
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
+# AM_PROG_AS
+# ----------
+AC_DEFUN([AM_PROG_AS],
+[# By default we simply use the C compiler to build assembly code.
+AC_REQUIRE([AC_PROG_CC])
+test "${CCAS+set}" = set || CCAS=$CC
+test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
+AC_ARG_VAR([CCAS], [assembler compiler command (defaults to CC)])
+AC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)])
+_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl
+])
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
#
# Of course, Automake must honor this variable whenever it calls a
# tool from the auxiliary directory. The problem is that $srcdir (and
@@ -359,7 +165,7 @@ fi
#
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
+# harmless because $srcdir is '.', but things will broke when you
# start a VPATH build or use an absolute $srcdir.
#
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
@@ -376,144 +182,63 @@ fi
# absolute PATH. The drawback is that using absolute paths prevent a
# configured tree to be moved without reconfiguration.
-# Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])
-
-AC_DEFUN([AM_AUX_DIR_EXPAND], [
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
])
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-
-# Copyright 2001 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
-AC_SUBST(install_sh)])
-
-# AM_PROG_INSTALL_STRIP
-
-# Copyright 2001 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries. This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
+# AM_CONDITIONAL -*- Autoconf -*-
-# -*- Autoconf -*-
-# Copyright (C) 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 1
+# Copyright (C) 1997-2021 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# Check whether the underlying file-system supports filenames
-# with a leading dot. For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
else
- am__leading_dot=_
+ $1_TRUE='#'
+ $1_FALSE=
fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# serial 5 -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 1999-2021 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
# will think it sees a *use*, and therefore will trigger all it's
# C support machinery. Also note that it means that autoscan, seeing
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
# _AM_DEPENDENCIES(NAME)
# ----------------------
# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
# We try a few techniques and use that to set a single cache variable.
#
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@@ -526,11 +251,13 @@ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
AC_REQUIRE([AM_MAKE_INCLUDE])dnl
AC_REQUIRE([AM_DEP_TRACK])dnl
-ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
- [$1], CXX, [depcc="$CXX" am_compiler_list=],
- [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
+m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
+ [$1], [CXX], [depcc="$CXX" am_compiler_list=],
+ [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+ [$1], [UPC], [depcc="$UPC" am_compiler_list=],
+ [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
AC_CACHE_CHECK([dependency style of $depcc],
[am_cv_$1_dependencies_compiler_type],
@@ -538,8 +265,9 @@ AC_CACHE_CHECK([dependency style of $depcc],
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
@@ -557,6 +285,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
fi
+ am__universal=false
+ m4_case([$1], [CC],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac],
+ [CXX],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac])
+
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
@@ -568,37 +306,59 @@ AC_CACHE_CHECK([dependency style of $depcc],
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
- : > sub/conftst$i.h
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
if test "x$enable_dependency_tracking" = xyes; then
continue
else
break
fi
;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
none) break ;;
esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ source=sub/conftest.c object=$am__obj \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
>/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
- # (even with -Werror). So we grep stderr for any message
- # that says an option was ignored.
- if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
am_cv_$1_dependencies_compiler_type=$depmode
break
fi
@@ -621,7 +381,7 @@ AM_CONDITIONAL([am__fastdep$1], [
# AM_SET_DEPDIR
# -------------
# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
AC_DEFUN([AM_SET_DEPDIR],
[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
@@ -631,85 +391,78 @@ AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
# AM_DEP_TRACK
# ------------
AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[ --disable-dependency-tracking Speeds up one-time builds
- --enable-dependency-tracking Do not reject slow dependency extractors])
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+ [--enable-dependency-tracking],
+ [do not reject slow dependency extractors])
+AS_HELP_STRING(
+ [--disable-dependency-tracking],
+ [speeds up one-time build])])
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
+ am__nodep='_no'
fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
])
-# Generate code to set up dependency tracking. -*- Autoconf -*-
-
-# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
+# Generate code to set up dependency tracking. -*- Autoconf -*-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-#serial 2
+# Copyright (C) 1999-2021 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # So let's grep whole file.
- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
- # Extract the definition of DEP_FILES from the Makefile without
- # running `make'.
- DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
- test -z "$DEPDIR" && continue
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n -e '/^U = / s///p' < "$mf"`
- test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
- # We invoke sed twice because it is the simplest approach to
- # changing $(DEPDIR) to its actual value in the expansion.
- for file in `sed -n -e '
- /^DEP_FILES = .*\\\\$/ {
- s/^DEP_FILES = //
- :loop
- s/\\\\$//
- p
- n
- /\\\\$/ b loop
- p
- }
- /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
+[{
+ # Older Autoconf quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ # TODO: see whether this extra hack can be removed once we start
+ # requiring Autoconf 2.70 or later.
+ AS_CASE([$CONFIG_FILES],
+ [*\'*], [eval set x "$CONFIG_FILES"],
+ [*], [set x $CONFIG_FILES])
+ shift
+ # Used to flag and report bootstrapping failures.
+ am_rc=0
+ for am_mf
+ do
+ # Strip MF so we end up with the name of the file.
+ am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile which includes
+ # dependency-tracking related rules and includes.
+ # Grep'ing the whole file directly is not great: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
+ || continue
+ am_dirpart=`AS_DIRNAME(["$am_mf"])`
+ am_filepart=`AS_BASENAME(["$am_mf"])`
+ AM_RUN_LOG([cd "$am_dirpart" \
+ && sed -e '/# am--include-marker/d' "$am_filepart" \
+ | $MAKE -f - am--depfiles]) || am_rc=$?
done
-done
+ if test $am_rc -ne 0; then
+ AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
+ for automatic dependency tracking. If GNU make was not used, consider
+ re-running the configure script with MAKE="gmake" (or whatever is
+ necessary). You can also try re-running configure with the
+ '--disable-dependency-tracking' option to at least be able to build
+ the package (albeit without support for automatic dependency tracking).])
+ fi
+ AS_UNSET([am_dirpart])
+ AS_UNSET([am_filepart])
+ AS_UNSET([am_mf])
+ AS_UNSET([am_rc])
+ rm -f conftest-deps.mk
+}
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
@@ -717,7571 +470,782 @@ done
# -----------------------------
# This macro should only be invoked once -- use via AC_REQUIRE.
#
-# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
+# This code is only required when automatic dependency tracking is enabled.
+# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
+# order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AC_CONFIG_COMMANDS([depfiles],
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Check to see how 'make' treats includes. -*- Autoconf -*-
+ [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
-# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+# Do all the work for Automake. -*- Autoconf -*-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# serial 2
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo done
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
])
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright 1997, 2000, 2001 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 5
-
-AC_PREREQ(2.52)
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])
-AC_SUBST([$1_FALSE])
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.])
-fi])])
-
-# Add --enable-maintainer-mode option to configure.
-# From Jim Meyering
-
-# Copyright 1996, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 2
-
-AC_DEFUN([AM_MAINTAINER_MODE],
-[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
- dnl maintainer-mode is disabled by default
- AC_ARG_ENABLE(maintainer-mode,
-[ --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer],
- USE_MAINTAINER_MODE=$enableval,
- USE_MAINTAINER_MODE=no)
- AC_MSG_RESULT([$USE_MAINTAINER_MODE])
- AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
- MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST(MAINT)dnl
-]
-)
-
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-
-# serial 47 AC_PROG_LIBTOOL
-
-
-# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
-# -----------------------------------------------------------
-# If this macro is not defined by Autoconf, define it here.
-m4_ifdef([AC_PROVIDE_IFELSE],
- [],
- [m4_define([AC_PROVIDE_IFELSE],
- [m4_ifdef([AC_PROVIDE_$1],
- [$2], [$3])])])
-
-
-# AC_PROG_LIBTOOL
-# ---------------
-AC_DEFUN([AC_PROG_LIBTOOL],
-[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
-dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
-dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
- AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [AC_LIBTOOL_CXX],
- [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
- ])])
-dnl And a similar setup for Fortran 77 support
- AC_PROVIDE_IFELSE([AC_PROG_F77],
- [AC_LIBTOOL_F77],
- [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
-])])
-
-dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
-dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
-dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
- AC_PROVIDE_IFELSE([AC_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [ifdef([AC_PROG_GCJ],
- [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
- ifdef([A][M_PROG_GCJ],
- [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
- ifdef([LT_AC_PROG_GCJ],
- [define([LT_AC_PROG_GCJ],
- defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
-])])# AC_PROG_LIBTOOL
-
-
-# _AC_PROG_LIBTOOL
-# ----------------
-AC_DEFUN([_AC_PROG_LIBTOOL],
-[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-# Prevent multiple expansion
-define([AC_PROG_LIBTOOL], [])
-])# _AC_PROG_LIBTOOL
-
-
-# AC_LIBTOOL_SETUP
-# ----------------
-AC_DEFUN([AC_LIBTOOL_SETUP],
-[AC_PREREQ(2.50)dnl
-AC_REQUIRE([AC_ENABLE_SHARED])dnl
-AC_REQUIRE([AC_ENABLE_STATIC])dnl
-AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_LD])dnl
-AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-
-AC_REQUIRE([AC_PROG_LN_S])dnl
-AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-AC_REQUIRE([AC_OBJEXT])dnl
-AC_REQUIRE([AC_EXEEXT])dnl
-dnl
-
-AC_LIBTOOL_SYS_MAX_CMD_LEN
-AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-AC_LIBTOOL_OBJDIR
-
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-_LT_AC_PROG_ECHO_BACKSLASH
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.65])dnl
+m4_ifdef([_$0_ALREADY_INIT],
+ [m4_fatal([$0 expanded multiple times
+]m4_defn([_$0_ALREADY_INIT]))],
+ [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi
- ;;
-esac
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
-
-# Same as above, but do not quote variable references.
-[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-# Constants:
-rm="rm -f"
-
-# Global variables:
-default_ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except M$VC,
-# which needs '.lib').
-libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-AC_CHECK_TOOL(AR, ar, false)
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-AC_CHECK_TOOL(STRIP, strip, :)
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-test -z "$AS" && AS=as
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
-test -z "$ac_objext" && ac_objext=o
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
- ;;
- *)
- old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
fi
-_LT_CC_BASENAME([$compiler])
-
-# Only perform the check for file, if the check method requires it
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- AC_PATH_MAGIC
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
fi
- ;;
-esac
-
-AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-enable_win32_dll=yes, enable_win32_dll=no)
-
-AC_ARG_ENABLE([libtool-lock],
- [AC_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-AC_ARG_WITH([pic],
- [AC_HELP_STRING([--with-pic],
- [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
- [pic_mode="$withval"],
- [pic_mode=default])
-test -z "$pic_mode" && pic_mode=default
-
-# Use C for the default configuration in the libtool script
-tagname=
-AC_LIBTOOL_LANG_C_CONFIG
-_LT_AC_TAGCONFIG
-])# AC_LIBTOOL_SETUP
-
-
-# _LT_AC_SYS_COMPILER
-# -------------------
-AC_DEFUN([_LT_AC_SYS_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-])# _LT_AC_SYS_COMPILER
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
-AC_DEFUN([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
- case $cc_temp in
- compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
- distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-])
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-AC_DEFUN([_LT_COMPILER_BOILERPLATE],
-[ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-])# _LT_COMPILER_BOILERPLATE
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-AC_DEFUN([_LT_LINKER_BOILERPLATE],
-[ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
-])# _LT_LINKER_BOILERPLATE
-
-
-# _LT_AC_SYS_LIBPATH_AIX
-# ----------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
-[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi],[])
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-])# _LT_AC_SYS_LIBPATH_AIX
-
-
-# _LT_AC_SHELL_INIT(ARG)
-# ----------------------
-AC_DEFUN([_LT_AC_SHELL_INIT],
-[ifdef([AC_DIVERSION_NOTICE],
- [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
- [AC_DIVERT_PUSH(NOTICE)])
-$1
-AC_DIVERT_POP
-])# _LT_AC_SHELL_INIT
-
-
-# _LT_AC_PROG_ECHO_BACKSLASH
-# --------------------------
-# Add some code to the start of the generated configure script which
-# will find an echo command which doesn't interpret backslashes.
-AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
-[_LT_AC_SHELL_INIT([
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$ECHO in
-X*--fallback-echo)
- # Remove one level of quotation (which was required for Make).
- ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
- ;;
-esac
-
-echo=${ECHO-echo}
-if test "X[$]1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X[$]1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
- # Yippee, $echo works!
- :
-else
- # Restart under the correct shell.
- exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
-fi
-
-if test "X[$]1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
-[$]*
-EOF
- exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if (echo_test_string="`eval $cmd`") 2>/dev/null &&
- echo_test_string="`eval $cmd`" &&
- (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
- then
- break
- fi
- done
fi
+AC_SUBST([CYGPATH_W])
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- :
-else
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\\/\\\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
-
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for dir in $PATH /usr/ucb; do
- IFS="$lt_save_ifs"
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$dir/echo"
- break
- fi
- done
- IFS="$lt_save_ifs"
-
- if test "X$echo" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- echo='print -r'
- elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running configure again with it.
- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
- else
- # Try using printf.
- echo='printf %s\n'
- if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # Cool, printf works
- :
- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- echo="$CONFIG_SHELL [$]0 --fallback-echo"
- elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$CONFIG_SHELL [$]0 --fallback-echo"
- else
- # maybe with a smaller string...
- prev=:
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[AC_DIAGNOSE([obsolete],
+ [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(
+ m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]),
+ [ok:ok],,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
- for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
- if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
- then
- break
- fi
- prev="$cmd"
- done
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
- if test "$prev" != 'sed 50q "[$]0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
- else
- # Oops. We lost completely, so just stick with echo.
- echo=echo
- fi
- fi
- fi
- fi
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility. To be removed once Automake 1.9.x
+# dies out for good. For more background, see:
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
+# We need awk for the "check" target (and possibly the TAP driver). The
+# system "awk" is bad on some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES([CC])],
+ [m4_define([AC_PROG_CC],
+ m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES([CXX])],
+ [m4_define([AC_PROG_CXX],
+ m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES([OBJC])],
+ [m4_define([AC_PROG_OBJC],
+ m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+ [_AM_DEPENDENCIES([OBJCXX])],
+ [m4_define([AC_PROG_OBJCXX],
+ m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
+])
+# Variables for tags utilities; see am/tags.am
+if test -z "$CTAGS"; then
+ CTAGS=ctags
fi
+AC_SUBST([CTAGS])
+if test -z "$ETAGS"; then
+ ETAGS=etags
fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
- ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+AC_SUBST([ETAGS])
+if test -z "$CSCOPE"; then
+ CSCOPE=cscope
fi
+AC_SUBST([CSCOPE])
+
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
-AC_SUBST(ECHO)
-])])# _LT_AC_PROG_ECHO_BACKSLASH
-
-
-# _LT_AC_LOCK
-# -----------
-AC_DEFUN([_LT_AC_LOCK],
-[AC_ARG_ENABLE([libtool-lock],
- [AC_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '[#]line __oline__ "configure"' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <https://www.gnu.org/software/coreutils/>.
-x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case "`/usr/bin/file conftest.o`" in
- *32-bit*)
- case $host in
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
- [AC_LANG_PUSH(C)
- AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
- AC_LANG_POP])
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
+END
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
fi
- ;;
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
- AC_CHECK_TOOL(DLLTOOL, dlltool, false)
- AC_CHECK_TOOL(AS, as, false)
- AC_CHECK_TOOL(OBJDUMP, objdump, false)
- ;;
- ])
-esac
-
-need_locks="$enable_libtool_lock"
-
-])# _LT_AC_LOCK
-
-
-# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])
-AC_CACHE_CHECK([$1], [$2],
- [$2=no
- ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$3"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
- $SED '/^$/d' conftest.err >conftest.er2
- if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
- $2=yes
- fi
- fi
- $rm conftest*
-])
-
-if test x"[$]$2" = xyes; then
- ifelse([$5], , :, [$5])
-else
- ifelse([$6], , :, [$6])
fi
-])# AC_LIBTOOL_COMPILER_OPTION
-
-
-# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [ACTION-SUCCESS], [ACTION-FAILURE])
-# ------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
-[AC_CACHE_CHECK([$1], [$2],
- [$2=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $3"
- printf "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&AS_MESSAGE_LOG_FD
- $echo "X$_lt_linker_boilerplate" | $Xsed > conftest.exp
- $SED '/^$/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- $2=yes
- fi
- else
- $2=yes
- fi
- fi
- $rm conftest*
- LDFLAGS="$save_LDFLAGS"
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
])
-if test x"[$]$2" = xyes; then
- ifelse([$4], , :, [$4])
-else
- ifelse([$5], , :, [$5])
-fi
-])# AC_LIBTOOL_LINKER_OPTION
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
-# AC_LIBTOOL_SYS_MAX_CMD_LEN
-# --------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
-[# find the maximum length of command line arguments
-AC_MSG_CHECKING([the maximum length of command line arguments])
-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for *BSD
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
*)
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
- = "XX$teststring") >/dev/null 2>&1 &&
- new_result=`expr "X$teststring" : ".*" 2>&1` &&
- lt_cv_sys_max_cmd_len=$new_result &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- teststring=
- # Add a significant safety factor because C++ compilers can tack on massive
- # amounts of additional arguments before passing them to the linker.
- # It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- ;;
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
esac
-])
-if test -n $lt_cv_sys_max_cmd_len ; then
- AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
- AC_MSG_RESULT(none)
fi
-])# AC_LIBTOOL_SYS_MAX_CMD_LEN
-
-
-# _LT_AC_CHECK_DLFCN
-# --------------------
-AC_DEFUN([_LT_AC_CHECK_DLFCN],
-[AC_CHECK_HEADERS(dlfcn.h)dnl
-])# _LT_AC_CHECK_DLFCN
+AC_SUBST([install_sh])])
+# Copyright (C) 2003-2021 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ------------------------------------------------------------------
-AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
- [$4]
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-[#line __oline__ "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
-
- exit (status);
-}]
-EOF
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) $1 ;;
- x$lt_dlneed_uscore) $2 ;;
- x$lt_unknown|x*) $3 ;;
- esac
- else :
- # compilation failed
- $3
- fi
+ am__leading_dot=_
fi
-rm -fr conftest*
-])# _LT_AC_TRY_DLOPEN_SELF
-
-
-# AC_LIBTOOL_DLOPEN_SELF
-# -------------------
-AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
- darwin*)
- # if libdl is installed we need to link against it
- AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ])
- ;;
+# Check to see how 'make' treats includes. -*- Autoconf -*-
- *)
- AC_CHECK_FUNC([shl_load],
- [lt_cv_dlopen="shl_load"],
- [AC_CHECK_LIB([dld], [shl_load],
- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
- [AC_CHECK_FUNC([dlopen],
- [lt_cv_dlopen="dlopen"],
- [AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
- [AC_CHECK_LIB([svld], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
- [AC_CHECK_LIB([dld], [dld_link],
- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
- ])
- ])
- ])
- ])
- ])
- ;;
- esac
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check whether make has an 'include' directive that can support all
+# the idioms we need for our automatic dependency tracking code.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
+cat > confinc.mk << 'END'
+am__doit:
+ @echo this is the am__doit target >confinc.out
+.PHONY: am__doit
+END
+am__include="#"
+am__quote=
+# BSD make does it like this.
+echo '.include "confinc.mk" # ignored' > confmf.BSD
+# Other make implementations (GNU, Solaris 10, AIX) do it like this.
+echo 'include confinc.mk # ignored' > confmf.GNU
+_am_result=no
+for s in GNU BSD; do
+ AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
+ AS_CASE([$?:`cat confinc.out 2>/dev/null`],
+ ['0:this is the am__doit target'],
+ [AS_CASE([$s],
+ [BSD], [am__include='.include' am__quote='"'],
+ [am__include='include' am__quote=''])])
+ if test "$am__include" != "#"; then
+ _am_result="yes ($s style)"
+ break
fi
+done
+rm -f confinc.* confmf.*
+AC_MSG_RESULT([${_am_result}])
+AC_SUBST([am__include])])
+AC_SUBST([am__quote])])
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- AC_CACHE_CHECK([whether a program can dlopen itself],
- lt_cv_dlopen_self, [dnl
- _LT_AC_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
- lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
- ])
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- LDFLAGS="$LDFLAGS $link_static_flag"
- AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
- lt_cv_dlopen_self_static, [dnl
- _LT_AC_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
- lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
- ])
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-])# AC_LIBTOOL_DLOPEN_SELF
-
-
-# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
-# ---------------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler
-AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
- [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
- [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
- $SED '/^$/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
- fi
- fi
- chmod u+w .
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
-])
-])# AC_LIBTOOL_PROG_CC_C_O
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+# Copyright (C) 1997-2021 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
-# -----------------------------------------
-# Check to see if we can do hard links to lock some files if needed
-AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
-[AC_REQUIRE([_LT_AC_LOCK])dnl
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
-hard_links="nottested"
-if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- AC_MSG_CHECKING([if we can lock with hard links])
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- AC_MSG_RESULT([$hard_links])
- if test "$hard_links" = no; then
- AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
- need_locks=warn
- fi
-else
- need_locks=no
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+ MISSING="\${SHELL} '$am_aux_dir/missing'"
fi
-])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
-
-
-# AC_LIBTOOL_OBJDIR
-# -----------------
-AC_DEFUN([AC_LIBTOOL_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
+# Use eval to expand $SHELL
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
+ am_missing_run=
+ AC_MSG_WARN(['missing' script is too old or missing])
fi
-rmdir .libs 2>/dev/null])
-objdir=$lt_cv_objdir
-])# AC_LIBTOOL_OBJDIR
-
+])
-# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
-# ----------------------------------------------
-# Check hardcoding attributes.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_AC_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
- test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
- test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+# Helper functions for option handling. -*- Autoconf -*-
- # We can hardcode non-existant directories.
- if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
- test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
- # Linking always hardcodes the temporary library directory.
- _LT_AC_TAGVAR(hardcode_action, $1)=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- _LT_AC_TAGVAR(hardcode_action, $1)=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+# _AM_SET_OPTION(NAME)
+# --------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
-# AC_LIBTOOL_SYS_LIB_STRIP
+# _AM_SET_OPTIONS(OPTIONS)
# ------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
-[striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- AC_MSG_RESULT([yes])
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
-fi
- ;;
- *)
- AC_MSG_RESULT([no])
- ;;
- esac
-fi
-])# AC_LIBTOOL_SYS_LIB_STRIP
-
-
-# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
-[AC_MSG_CHECKING([dynamic linker characteristics])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix4* | aix5*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[[01]] | aix4.[[01]].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[[45]]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-kfreebsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[[01]]* | freebsdelf3.[[01]]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- *) # from 3.2 on
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case "$host_cpu" in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # find out which ABI we are using
- libsuff=
- case "$host_cpu" in
- x86_64*|s390x*|powerpc64*)
- echo '[#]line __oline__ "configure"' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.$ac_objext` in
- *64-bit*)
- libsuff=64
- sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
- esac
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-knetbsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-openbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[[89]] | openbsd2.[[89]].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-sco3.2v5*)
- version_type=osf
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
-])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-# _LT_AC_TAGCONFIG
-# ----------------
-AC_DEFUN([_LT_AC_TAGCONFIG],
-[AC_ARG_WITH([tags],
- [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
- [include additional configurations @<:@automatic@:>@])],
- [tagnames="$withval"])
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-if test -f "$ltmain" && test -n "$tagnames"; then
- if test ! -f "${ofile}"; then
- AC_MSG_WARN([output file `$ofile' does not exist])
- fi
+# Copyright (C) 1999-2021 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
- if test -z "$LTCC"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
- if test -z "$LTCC"; then
- AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+ [whether $CC understands -c and -o together],
+ [am_cv_prog_cc_c_o],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+ && test -f conftest2.$ac_objext; then
+ : OK
else
- AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
- fi
- fi
-
- # Extract list of available tagged configurations in $ofile.
- # Note that this assumes the entire list is on one line.
- available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
-
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for tagname in $tagnames; do
- IFS="$lt_save_ifs"
- # Check whether tagname contains only valid characters
- case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
- "") ;;
- *) AC_MSG_ERROR([invalid tag name: $tagname])
- ;;
- esac
-
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
- then
- AC_MSG_ERROR([tag name \"$tagname\" already exists])
- fi
-
- # Update the list of available tags.
- if test -n "$tagname"; then
- echo appending configuration tag \"$tagname\" to $ofile
-
- case $tagname in
- CXX)
- if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- AC_LIBTOOL_LANG_CXX_CONFIG
- else
- tagname=""
- fi
- ;;
-
- F77)
- if test -n "$F77" && test "X$F77" != "Xno"; then
- AC_LIBTOOL_LANG_F77_CONFIG
- else
- tagname=""
- fi
- ;;
-
- GCJ)
- if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
- AC_LIBTOOL_LANG_GCJ_CONFIG
- else
- tagname=""
- fi
- ;;
-
- RC)
- AC_LIBTOOL_LANG_RC_CONFIG
- ;;
-
- *)
- AC_MSG_ERROR([Unsupported tag name: $tagname])
- ;;
- esac
-
- # Append the new tag name to the list of available tags.
- if test -n "$tagname" ; then
- available_tags="$available_tags $tagname"
- fi
- fi
- done
- IFS="$lt_save_ifs"
-
- # Now substitute the updated list of available tags.
- if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
- mv "${ofile}T" "$ofile"
- chmod +x "$ofile"
- else
- rm -f "${ofile}T"
- AC_MSG_ERROR([unable to update list of available tagged configurations.])
- fi
-fi
-])# _LT_AC_TAGCONFIG
-
-
-# AC_LIBTOOL_DLOPEN
-# -----------------
-# enable checks for dlopen support
-AC_DEFUN([AC_LIBTOOL_DLOPEN],
- [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_DLOPEN
-
-
-# AC_LIBTOOL_WIN32_DLL
-# --------------------
-# declare package support for building win32 dll's
-AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_WIN32_DLL
-
-
-# AC_ENABLE_SHARED([DEFAULT])
-# ---------------------------
-# implement the --enable-shared flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_SHARED],
-[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([shared],
- [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
- [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
-])# AC_ENABLE_SHARED
-
-
-# AC_DISABLE_SHARED
-# -----------------
-#- set the default shared flag to --disable-shared
-AC_DEFUN([AC_DISABLE_SHARED],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_SHARED(no)
-])# AC_DISABLE_SHARED
-
-
-# AC_ENABLE_STATIC([DEFAULT])
-# ---------------------------
-# implement the --enable-static flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_STATIC],
-[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([static],
- [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
- [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_static=]AC_ENABLE_STATIC_DEFAULT)
-])# AC_ENABLE_STATIC
-
-
-# AC_DISABLE_STATIC
-# -----------------
-# set the default static flag to --disable-static
-AC_DEFUN([AC_DISABLE_STATIC],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_STATIC(no)
-])# AC_DISABLE_STATIC
-
-
-# AC_ENABLE_FAST_INSTALL([DEFAULT])
-# ---------------------------------
-# implement the --enable-fast-install flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_FAST_INSTALL],
-[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([fast-install],
- [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
- [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
-])# AC_ENABLE_FAST_INSTALL
-
-
-# AC_DISABLE_FAST_INSTALL
-# -----------------------
-# set the default to --disable-fast-install
-AC_DEFUN([AC_DISABLE_FAST_INSTALL],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_FAST_INSTALL(no)
-])# AC_DISABLE_FAST_INSTALL
-
-
-# AC_LIBTOOL_PICMODE([MODE])
-# --------------------------
-# implement the --with-pic flag
-# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
-AC_DEFUN([AC_LIBTOOL_PICMODE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-pic_mode=ifelse($#,1,$1,default)
-])# AC_LIBTOOL_PICMODE
-
-
-# AC_PROG_EGREP
-# -------------
-# This is predefined starting with Autoconf 2.54, so this conditional
-# definition can be removed once we require Autoconf 2.54 or later.
-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
-[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
- [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
- then ac_cv_prog_egrep='grep -E'
- else ac_cv_prog_egrep='egrep'
- fi])
- EGREP=$ac_cv_prog_egrep
- AC_SUBST([EGREP])
-])])
-
-
-# AC_PATH_TOOL_PREFIX
-# -------------------
-# find a file program which can recognise shared library
-AC_DEFUN([AC_PATH_TOOL_PREFIX],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-[case $MAGIC_CMD in
-[[\\/*] | ?:[\\/]*])
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word. This closes a longstanding sh security hole.
- ac_dummy="ifelse([$2], , $PATH, [$2])"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$1; then
- lt_cv_path_MAGIC_CMD="$ac_dir/$1"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-EOF
- fi ;;
- esac
- fi
+ am_cv_prog_cc_c_o=no
break
fi
done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- AC_MSG_RESULT($MAGIC_CMD)
-else
- AC_MSG_RESULT(no)
-fi
-])# AC_PATH_TOOL_PREFIX
-
-
-# AC_PATH_MAGIC
-# -------------
-# find a file program which can recognise a shared library
-AC_DEFUN([AC_PATH_MAGIC],
-[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
- else
- MAGIC_CMD=:
- fi
+ rm -f core conftest*
+ unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
fi
-])# AC_PATH_MAGIC
+AC_LANG_POP([C])])
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
-# AC_PROG_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([AC_PROG_LD],
-[AC_ARG_WITH([gnu-ld],
- [AC_HELP_STRING([--with-gnu-ld],
- [assume the C compiler uses GNU ld @<:@default=no@:>@])],
- [test "$withval" = no || with_gnu_ld=yes],
- [with_gnu_ld=no])
-AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- AC_MSG_CHECKING([for ld used by $CC])
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [[\\/]]* | ?:[[\\/]]*)
- re_direlt='/[[^/]][[^/]]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- AC_MSG_CHECKING([for GNU ld])
-else
- AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(lt_cv_path_LD,
-[if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- AC_MSG_RESULT($LD)
-else
- AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_PROG_LD_GNU
-])# AC_PROG_LD
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
-# AC_PROG_LD_GNU
-# --------------
-AC_DEFUN([AC_PROG_LD_GNU],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac])
-with_gnu_ld=$lt_cv_prog_gnu_ld
-])# AC_PROG_LD_GNU
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# AC_PROG_LD_RELOAD_FLAG
-# ----------------------
-# find reload flag for linker
-# -- PORTME Some linkers may need a different reload flag.
-AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
-[AC_CACHE_CHECK([for $LD option to reload object files],
- lt_cv_ld_reload_flag,
- [lt_cv_ld_reload_flag='-r'])
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
+case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+ AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
esac
-])# AC_PROG_LD_RELOAD_FLAG
-
-
-# AC_DEPLIBS_CHECK_METHOD
-# -----------------------
-# how to check for library dependencies
-# -- PORTME fill in with the dynamic library characteristics
-AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_CACHE_CHECK([how to recognise dependent libraries],
-lt_cv_deplibs_check_method,
-[lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix4* | aix5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[[45]]*)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump'.
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | kfreebsd*-gnu | dragonfly*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case "$host_cpu" in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-nto-qnx*)
- lt_cv_deplibs_check_method=unknown
- ;;
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sco3.2v5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-])
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-])# AC_DEPLIBS_CHECK_METHOD
-
-
-# AC_PROG_NM
-# ----------
-# find the pathname to a BSD-compatible name lister
-AC_DEFUN([AC_PROG_NM],
-[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
-[if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
+# Do 'set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ am_has_slept=no
+ for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+ alias in your environment])
+ fi
+ if test "$[2]" = conftest.file || test $am_try -eq 2; then
+ break
+ fi
+ # Just in case.
+ sleep 1
+ am_has_slept=yes
+ done
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
else
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/${ac_tool_prefix}nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- esac
- fi
- done
- IFS="$lt_save_ifs"
- test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
-fi])
-NM="$lt_cv_path_NM"
-])# AC_PROG_NM
-
-
-# AC_CHECK_LIBM
-# -------------
-# check for math library
-AC_DEFUN([AC_CHECK_LIBM],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
- # These system don't have libm, or don't need it
- ;;
-*-ncr-sysv4.3*)
- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
- AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
- ;;
-*)
- AC_CHECK_LIB(m, cos, LIBM="-lm")
- ;;
-esac
-])# AC_CHECK_LIBM
-
-
-# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl convenience library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-convenience to the configure arguments. Note that LIBLTDL
-# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If
-# DIRECTORY is not provided, it is assumed to be `libltdl'. LIBLTDL will
-# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with
-# '${top_srcdir}/' (note the single quotes!). If your package is not
-# flat and you're not using automake, define top_builddir and
-# top_srcdir appropriately in the Makefiles.
-AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
- case $enable_ltdl_convenience in
- no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
- "") enable_ltdl_convenience=yes
- ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
- esac
- LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
- LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
- # For backwards non-gettext consistent compatibility...
- INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_CONVENIENCE
-
-
-# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl installable library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-install to the configure arguments. Note that LIBLTDL
-# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If
-# DIRECTORY is not provided and an installed libltdl is not found, it is
-# assumed to be `libltdl'. LIBLTDL will be prefixed with '${top_builddir}/'
-# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single
-# quotes!). If your package is not flat and you're not using automake,
-# define top_builddir and top_srcdir appropriately in the Makefiles.
-# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
-AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
- AC_CHECK_LIB(ltdl, lt_dlinit,
- [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
- [if test x"$enable_ltdl_install" = xno; then
- AC_MSG_WARN([libltdl not installed, but installation disabled])
- else
- enable_ltdl_install=yes
- fi
- ])
- if test x"$enable_ltdl_install" = x"yes"; then
- ac_configure_args="$ac_configure_args --enable-ltdl-install"
- LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
- LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
- else
- ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
- LIBLTDL="-lltdl"
- LTDLINCL=
- fi
- # For backwards non-gettext consistent compatibility...
- INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_INSTALLABLE
-
-
-# AC_LIBTOOL_CXX
-# --------------
-# enable support for C++ libraries
-AC_DEFUN([AC_LIBTOOL_CXX],
-[AC_REQUIRE([_LT_AC_LANG_CXX])
-])# AC_LIBTOOL_CXX
-
-
-# _LT_AC_LANG_CXX
-# ---------------
-AC_DEFUN([_LT_AC_LANG_CXX],
-[AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
-])# _LT_AC_LANG_CXX
-
-# _LT_AC_PROG_CXXCPP
-# ---------------
-AC_DEFUN([_LT_AC_PROG_CXXCPP],
-[
-AC_REQUIRE([AC_PROG_CXX])
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- AC_PROG_CXXCPP
-fi
-])# _LT_AC_PROG_CXXCPP
-
-# AC_LIBTOOL_F77
-# --------------
-# enable support for Fortran 77 libraries
-AC_DEFUN([AC_LIBTOOL_F77],
-[AC_REQUIRE([_LT_AC_LANG_F77])
-])# AC_LIBTOOL_F77
-
-
-# _LT_AC_LANG_F77
-# ---------------
-AC_DEFUN([_LT_AC_LANG_F77],
-[AC_REQUIRE([AC_PROG_F77])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
-])# _LT_AC_LANG_F77
-
-
-# AC_LIBTOOL_GCJ
-# --------------
-# enable support for GCJ libraries
-AC_DEFUN([AC_LIBTOOL_GCJ],
-[AC_REQUIRE([_LT_AC_LANG_GCJ])
-])# AC_LIBTOOL_GCJ
-
-
-# _LT_AC_LANG_GCJ
-# ---------------
-AC_DEFUN([_LT_AC_LANG_GCJ],
-[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
- [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
- [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
- [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
- [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
-])# _LT_AC_LANG_GCJ
-
-
-# AC_LIBTOOL_RC
-# --------------
-# enable support for Windows resource files
-AC_DEFUN([AC_LIBTOOL_RC],
-[AC_REQUIRE([LT_AC_PROG_RC])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
-])# AC_LIBTOOL_RC
-
-
-# AC_LIBTOOL_LANG_C_CONFIG
-# ------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
-AC_DEFUN([_LT_AC_LANG_C_CONFIG],
-[lt_save_CC="$CC"
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}\n'
-
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-#
-# Check for any special shared library compilation flags.
-#
-_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)=
-if test "$GCC" = no; then
- case $host_os in
- sco3.2v5*)
- _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf'
- ;;
- esac
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
fi
-if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then
- AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries])
- if echo "$old_CC $old_CFLAGS " | grep "[[ ]]$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[ ]]" >/dev/null; then :
- else
- AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure])
- _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no
- fi
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
fi
+AC_CONFIG_COMMANDS_PRE(
+ [AC_MSG_CHECKING([that generated files are newer than configure])
+ if test -n "$am_sleep_pid"; then
+ # Hide warnings about reused PIDs.
+ wait $am_sleep_pid 2>/dev/null
+ fi
+ AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
-
+# Copyright (C) 2009-2021 Free Software Foundation, Inc.
#
-# Check to make sure the static flag actually works.
-#
-AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works],
- _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
- $_LT_AC_TAGVAR(lt_prog_compiler_static, $1),
- [],
- [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
-
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF($1)
-
-# Report which librarie types wil actually be built
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case "$host_os" in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
-aix4* | aix5*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_C_CONFIG
-
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# AC_LIBTOOL_LANG_CXX_CONFIG
+# AM_SILENT_RULES([DEFAULT])
# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
-AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
-[AC_LANG_PUSH(C++)
-AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Dependencies to place before and after the object being linked:
-_LT_AC_TAGVAR(predep_objects, $1)=
-_LT_AC_TAGVAR(postdep_objects, $1)=
-_LT_AC_TAGVAR(predeps, $1)=
-_LT_AC_TAGVAR(postdeps, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
-
-# Source file extension for C++ test sources.
-ac_ext=cc
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
- unset lt_cv_prog_gnu_ld
-fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
- lt_cv_path_LD=$lt_cv_path_LDCXX
-else
- unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-else
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-fi
-
-if test "$GXX" = yes; then
- # Set up default GNU C++ configuration
-
- AC_PROG_LD
-
- # Check if GNU C++ uses GNU ld as the underlying linker, since the
- # archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # If archive_cmds runs LD, not CC, wlarc should be empty
- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
- # investigate it a little bit more. (MM)
- wlarc='${wl}'
-
- # ancient GNU ld didn't support --whole-archive et. al.
- if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
- grep 'no-whole-archive' > /dev/null; then
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- with_gnu_ld=no
- wlarc=
-
- # A generic and very simple default shared library creation
- # command for GNU C++ for the case where it uses the native
- # linker, instead of GNU ld. If possible, this setting should
- # overridden to take advantage of the native linker features on
- # the platform it is being used on.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- fi
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-else
- GXX=no
- with_gnu_ld=no
- wlarc=
-fi
-
-# PORTME: fill in a description of your system's C++ link characteristics
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-_LT_AC_TAGVAR(ld_shlibs, $1)=yes
-case $host_os in
- aix3*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
- for ld_flag in $LDFLAGS; do
- case $ld_flag in
- *-brtl*)
- aix_use_runtimelinking=yes
- break
- ;;
- esac
- done
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- _LT_AC_TAGVAR(archive_cmds, $1)=''
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- if test "$GXX" = yes; then
- case $host_os in aix4.[[012]]|aix4.[[012]].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- else
- # We have old collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # -bexpall does not export symbols beginning with underscore (_)
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- # Exported symbols can be pulled into shared objects from archives
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds it's shared libraries.
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
- chorus*)
- case $cc_basename in
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- darwin* | rhapsody*)
- case "$host_os" in
- rhapsody* | darwin1.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- if test "$GXX" = yes ; then
- lt_int_apple_cc_single_mod=no
- output_verbose_link_cmd='echo'
- if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
- lt_int_apple_cc_single_mod=yes
- fi
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- fi
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- case $cc_basename in
- ec++*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- freebsd[[12]]*)
- # C++ shared libraries reported to be fairly broken before switch to ELF
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- freebsd-elf*)
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- ;;
- freebsd* | kfreebsd*-gnu | dragonfly*)
- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
- # conventions
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- ;;
- gnu*)
- ;;
- hpux9*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- case "$host_cpu" in
- hppa*64*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
- ia64*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- ;;
- *)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
- esac
- fi
- case "$host_cpu" in
- hppa*64*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- ia64*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- *)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- esac
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- case "$host_cpu" in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
- case "$host_cpu" in
- ia64*|hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- fi
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- irix5* | irix6*)
- case $cc_basename in
- CC*)
- # SGI C++
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- # Archives containing C++ object files must be created using
- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
- ;;
- *)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
- fi
- fi
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- ;;
- esac
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
- linux*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
- ;;
- icpc*)
- # Intel C++
- with_gnu_ld=yes
- # version 8.0 and above of icpc choke on multiply defined symbols
- # if we add $predep_objects and $postdep_objects, however 7.1 and
- # earlier do not add the objects themselves.
- case `$CC -V 2>&1` in
- *"Version 7."*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- *) # Version 8.0 or newer
- tmp_idyn=
- case $host_cpu in
- ia64*) tmp_idyn=' -i_dynamic';;
- esac
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- esac
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- ;;
- pgCC*)
- # Portland Group C++ compiler
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
- ;;
- cxx*)
- # Compaq C++
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
- runpath_var=LD_RUN_PATH
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- esac
- ;;
- lynxos*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- m88k*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
- wlarc=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- fi
- # Workaround some broken pre-1.5 toolchains
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
- ;;
- openbsd2*)
- # C++ shared libraries are fairly broken
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- openbsd*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- fi
- output_verbose_link_cmd='echo'
- ;;
- osf3*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- osf4* | osf5*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Archives containing C++ object files must be created using
- # the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
- $rm $lib.exp'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- psos*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- sco*)
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- lcc*)
- # Lucid
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # The C++ compiler is used as linker so we must use $wl
- # flag to pass the commands to the underlying system
- # linker. We must also pass each convience library through
- # to the system linker between allextract/defaultextract.
- # The C++ compiler will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
- ;;
- esac
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- gcx*)
- # Green Hills C++ Compiler
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
- # The C++ compiler must be used to create the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
- ;;
- *)
- # GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
- if $CC --version | grep -v '^2\.7' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
- # platform.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- fi
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
- fi
- ;;
- esac
- ;;
- sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*)
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- vxworks*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
-esac
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-_LT_AC_TAGVAR(GCC, $1)="$GXX"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_POSTDEP_PREDEP($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-])# AC_LIBTOOL_LANG_CXX_CONFIG
-
-# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
-# ------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library. It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
-int a;
-void foo (void) { a = 0; }
-EOF
-],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
-class Foo
-{
-public:
- Foo (void) { a = 0; }
-private:
- int a;
-};
-EOF
-],[$1],[F77],[cat > conftest.$ac_ext <<EOF
- subroutine foo
- implicit none
- integer*4 a
- a=0
- return
- end
-EOF
-],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
-public class foo {
- private int a;
- public void bar (void) {
- a = 0;
- }
-};
-EOF
+# Enable less verbose build rules; with the default set to DEFAULT
+# ("yes" being less verbose, "no" or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+ [--enable-silent-rules],
+ [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+ [--disable-silent-rules],
+ [verbose build output (undo: "make V=0")])dnl
])
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
- # Parse the compiler output and extract the necessary
- # objects, libraries and library flags.
-
- # Sentinel used to keep track of whether or not we are before
- # the conftest object file.
- pre_test_object_deps_done=no
-
- # The `*' in the case matches for architectures that use `case' in
- # $output_verbose_cmd can trigger glob expansion during the loop
- # eval without this substitution.
- output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`"
-
- for p in `eval $output_verbose_link_cmd`; do
- case $p in
-
- -L* | -R* | -l*)
- # Some compilers place space between "-{L,R}" and the path.
- # Remove the space.
- if test $p = "-L" \
- || test $p = "-R"; then
- prev=$p
- continue
- else
- prev=
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- case $p in
- -L* | -R*)
- # Internal compiler library paths should come after those
- # provided the user. The postdeps already come after the
- # user supplied libs so there is no need to process them.
- if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
- _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
- else
- _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
- fi
- ;;
- # The "-l" case would never come before the object being
- # linked, so don't bother handling this case.
- esac
- else
- if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
- _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
- else
- _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
- fi
- fi
- ;;
-
- *.$objext)
- # This assumes that the test object file only shows up
- # once in the compiler output.
- if test "$p" = "conftest.$objext"; then
- pre_test_object_deps_done=yes
- continue
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
- _LT_AC_TAGVAR(predep_objects, $1)="$p"
- else
- _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
- fi
- else
- if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
- _LT_AC_TAGVAR(postdep_objects, $1)="$p"
- else
- _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
- fi
- fi
- ;;
-
- *) ;; # Ignore the rest.
-
- esac
- done
-
- # Clean up.
- rm -f a.out a.exe
-else
- echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$rm -f confest.$objext
-
-case " $_LT_AC_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+case $enable_silent_rules in @%:@ (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
esac
-])# AC_LIBTOOL_POSTDEP_PREDEP
-
-# AC_LIBTOOL_LANG_F77_CONFIG
-# ------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
-AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
-[AC_REQUIRE([AC_PROG_F77])
-AC_LANG_PUSH(Fortran 77)
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code=" subroutine t\n return\n end\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code=" program t\n end\n"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${F77-"f77"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case "$host_os" in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-aix4* | aix5*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-_LT_AC_TAGVAR(GCC, $1)="$G77"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_F77_CONFIG
-
-
-# AC_LIBTOOL_LANG_GCJ_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
-AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_GCJ_CONFIG
-
-
-# AC_LIBTOOL_LANG_RC_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the Windows resource compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
-AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_RC_CONFIG
-
-
-# AC_LIBTOOL_CONFIG([TAGNAME])
-# ----------------------------
-# If TAGNAME is not passed, then create an initial libtool script
-# with a default configuration from the untagged config vars. Otherwise
-# add code to config.status for appending the configuration named by
-# TAGNAME from the matching tagged config vars.
-AC_DEFUN([AC_LIBTOOL_CONFIG],
-[# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- _LT_AC_TAGVAR(compiler, $1) \
- _LT_AC_TAGVAR(CC, $1) \
- _LT_AC_TAGVAR(LD, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
- _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
- _LT_AC_TAGVAR(old_archive_cmds, $1) \
- _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
- _LT_AC_TAGVAR(predep_objects, $1) \
- _LT_AC_TAGVAR(postdep_objects, $1) \
- _LT_AC_TAGVAR(predeps, $1) \
- _LT_AC_TAGVAR(postdeps, $1) \
- _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
- _LT_AC_TAGVAR(archive_cmds, $1) \
- _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
- _LT_AC_TAGVAR(postinstall_cmds, $1) \
- _LT_AC_TAGVAR(postuninstall_cmds, $1) \
- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
- _LT_AC_TAGVAR(allow_undefined_flag, $1) \
- _LT_AC_TAGVAR(no_undefined_flag, $1) \
- _LT_AC_TAGVAR(export_symbols_cmds, $1) \
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
- _LT_AC_TAGVAR(hardcode_automatic, $1) \
- _LT_AC_TAGVAR(module_cmds, $1) \
- _LT_AC_TAGVAR(module_expsym_cmds, $1) \
- _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
- _LT_AC_TAGVAR(exclude_expsyms, $1) \
- _LT_AC_TAGVAR(include_expsyms, $1); do
-
- case $var in
- _LT_AC_TAGVAR(old_archive_cmds, $1) | \
- _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
- _LT_AC_TAGVAR(archive_cmds, $1) | \
- _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
- _LT_AC_TAGVAR(module_cmds, $1) | \
- _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
- _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\[$]0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
- ;;
- esac
-
-ifelse([$1], [],
- [cfgfile="${ofile}T"
- trap "$rm \"$cfgfile\"; exit 1" 1 2 15
- $rm -f "$cfgfile"
- AC_MSG_NOTICE([creating $ofile])],
- [cfgfile="$ofile"])
-
- cat <<__EOF__ >> "$cfgfile"
-ifelse([$1], [],
-[#! $SHELL
-
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e 1s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# The names of the tagged configurations supported by this script.
-available_tags=
-
-# ### BEGIN LIBTOOL CONFIG],
-[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# A language-specific compiler.
-CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
-
-# Is the compiler the GNU C compiler?
-with_gcc=$_LT_AC_TAGVAR(GCC, $1)
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
-archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
-module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
-
-# Symbols that must always be exported.
-include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
-
-ifelse([$1],[],
-[# ### END LIBTOOL CONFIG],
-[# ### END LIBTOOL TAG CONFIG: $tagname])
-
-__EOF__
-
-ifelse([$1],[], [
- case $host_os in
- aix3*)
- cat <<\EOF >> "$cfgfile"
-
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-EOF
- ;;
- esac
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
-
- mv -f "$cfgfile" "$ofile" || \
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-])
+dnl
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+ [am_cv_make_support_nested_variables],
+ [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-])# AC_LIBTOOL_CONFIG
-
-
-# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-
-_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-
-if test "$GCC" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-
- AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
- lt_cv_prog_compiler_rtti_exceptions,
- [-fno-rtti -fno-exceptions], [],
- [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
-
-
-# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-# ---------------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
-[AC_REQUIRE([AC_CANONICAL_HOST])
-AC_REQUIRE([AC_PROG_NM])
-AC_REQUIRE([AC_OBJEXT])
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-[
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[[BCDEGRST]]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
-
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[[BCDT]]'
- ;;
-cygwin* | mingw* | pw32*)
- symcode='[[ABCDGISTW]]'
- ;;
-hpux*) # Its linker distinguishes data from code symbols
- if test "$host_cpu" = ia64; then
- symcode='[[ABCDEGRST]]'
- fi
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- ;;
-linux*)
- if test "$host_cpu" = ia64; then
- symcode='[[ABCDGIRSTW]]'
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- fi
- ;;
-irix* | nonstopux*)
- symcode='[[BCDEGRST]]'
- ;;
-osf*)
- symcode='[[BCDEGQRST]]'
- ;;
-solaris* | sysv5*)
- symcode='[[BDRT]]'
- ;;
-sysv4)
- symcode='[[DFNSTU]]'
- ;;
-esac
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[[ABCDGIRSTW]]' ;;
-esac
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
-
- if AC_TRY_EVAL(ac_compile); then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if grep ' nm_test_var$' "$nlist" >/dev/null; then
- if grep ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
-
- cat <<EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
- const char *name;
- lt_ptr_t address;
-}
-lt_preloaded_symbols[[]] =
-{
-EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
- cat <<\EOF >> conftest.$ac_ext
- {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_save_LIBS="$LIBS"
- lt_save_CFLAGS="$CFLAGS"
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS="$lt_save_LIBS"
- CFLAGS="$lt_save_CFLAGS"
- else
- echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
- cat conftest.$ac_ext >&5
- fi
- rm -f conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-])
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- AC_MSG_RESULT(failed)
+ am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+ dnl Using '$V' instead of '$(V)' breaks IRIX make.
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
else
- AC_MSG_RESULT(ok)
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
fi
-]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-
-
-# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
-# ---------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
-[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
-
-AC_MSG_CHECKING([for $compiler option to produce PIC])
- ifelse([$1],[CXX],[
- # C++ specific cases for pic, static, wl, etc.
- if test "$GXX" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- ;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
- mingw* | os2* | pw32*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
- ;;
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
- *djgpp*)
- # DJGPP does not support shared libraries at all
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case "$host_cpu" in
- hppa*64*|ia64*)
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- else
- case $host_os in
- aix4* | aix5*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- chorus*)
- case $cc_basename in
- cxch68*)
- # Green Hills C++ Compiler
- # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
- ;;
- esac
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- esac
- ;;
- dgux*)
- case $cc_basename in
- ec++*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- freebsd* | kfreebsd*-gnu | dragonfly*)
- # FreeBSD uses GNU C++
- ;;
- hpux9* | hpux10* | hpux11*)
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
- if test "$host_cpu" != ia64; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- fi
- ;;
- aCC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
- case "$host_cpu" in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- ;;
- *)
- ;;
- esac
- ;;
- irix5* | irix6* | nonstopux*)
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- # CC pic flag -KPIC is the default.
- ;;
- *)
- ;;
- esac
- ;;
- linux*)
- case $cc_basename in
- KCC*)
- # KAI C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- icpc* | ecpc*)
- # Intel C++
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- pgCC*)
- # Portland Group C++ compiler.
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- cxx*)
- # Compaq C++
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- *)
- ;;
- esac
- ;;
- lynxos*)
- ;;
- m88k*)
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
- ;;
- *)
- ;;
- esac
- ;;
- netbsd*)
- ;;
- osf3* | osf4* | osf5*)
- case $cc_basename in
- KCC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- cxx*)
- # Digital/Compaq C++
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- *)
- ;;
- esac
- ;;
- psos*)
- ;;
- sco*)
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- *)
- ;;
- esac
- ;;
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- ;;
- gcx*)
- # Green Hills C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- ;;
- *)
- ;;
- esac
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- lcc*)
- # Lucid
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- ;;
- *)
- ;;
- esac
- ;;
- unixware*)
- ;;
- vxworks*)
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
-],
-[
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- ;;
-
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- enable_shared=no
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
-
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case "$host_cpu" in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
-
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- esac
- ;;
-
- mingw* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case "$host_cpu" in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC (with -KPIC) is the default.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- newsos6)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- linux*)
- case $cc_basename in
- icc* | ecc*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- pgcc* | pgf77* | pgf90*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- ccc*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All Alpha code is PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- esac
- ;;
-
- osf3* | osf4* | osf5*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All OSF/1 code is PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- sco3.2v5*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn'
- ;;
-
- solaris*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
- esac
- ;;
-
- sunos4*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- unicos*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
-
- uts4*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
+# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
- AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
- _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
- [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
- [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
- "" | " "*) ;;
- *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
- esac],
- [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-case "$host_os" in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
- ;;
-esac
-])
-
-
-# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
-# ------------------------------------
-# See if the linker supports building shared libraries.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
-[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-ifelse([$1],[CXX],[
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- case $host_os in
- aix4* | aix5*)
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- else
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- fi
- ;;
- pw32*)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
- ;;
- cygwin* | mingw*)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- *)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- esac
-],[
- runpath_var=
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
- _LT_AC_TAGVAR(archive_cmds, $1)=
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
- _LT_AC_TAGVAR(hardcode_automatic, $1)=no
- _LT_AC_TAGVAR(module_cmds, $1)=
- _LT_AC_TAGVAR(module_expsym_cmds, $1)=
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- _LT_AC_TAGVAR(include_expsyms, $1)=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- _LT_CC_BASENAME([$compiler])
- case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix3* | aix4* | aix5*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
- fi
- ;;
-
- amigaos*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- linux*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- ;;
- pgf77* | pgf90* ) # Portland Group f77 and f90 compilers
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- tmp_addflag=' -fpic -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- esac
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test $supports_anon_versioning = yes; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris* | sysv5*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- sunos4*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
-
- if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
- runpath_var=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- if test "$GCC" = yes && test -z "$link_static_flag"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- fi
- ;;
-
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- else
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- _LT_AC_TAGVAR(archive_cmds, $1)=''
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[[012]]|aix4.[[012]].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- else
- # We have old collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # -bexpall does not export symbols beginning with underscore (_)
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- # Exported symbols can be pulled into shared objects from archives
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds it's shared libraries.
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- # see comment about different semantics on the GNU ld section
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- bsdi[[45]]*)
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
- # FIXME: Should let the user specify the lib program.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
- _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- ;;
-
- darwin* | rhapsody*)
- case "$host_os" in
- rhapsody* | darwin1.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- freebsd1*)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | kfreebsd*-gnu | dragonfly*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
-
- hpux10* | hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case "$host_cpu" in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case "$host_cpu" in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- case "$host_cpu" in
- hppa*64*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- ia64*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- *)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- newsos6)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- openbsd*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- else
- case $host_os in
- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- ;;
-
- os2*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- else
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
-
- sco3.2v5*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ;;
-
- solaris*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- wlarc=''
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # The compiler driver will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl, iff we do not link with $LD.
- # Luckily, gcc supports the same syntax we need for Sun Studio.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- case $wlarc in
- '')
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
- *)
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- esac ;;
- esac
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- ;;
- motorola)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv4.3*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- fi
- ;;
-
- sysv4.2uw2*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- hardcode_runpath_var=yes
- runpath_var=LD_RUN_PATH
- ;;
-
- sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text'
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- runpath_var='LD_RUN_PATH'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv5*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
- # $CC -shared without GNU ld will not create a library from C++
- # object files and a static libstdc++, better avoid it by now
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
- ;;
-
- uts4*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- fi
-])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor 'install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in "make install-strip", and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip". However 'strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+# Copyright (C) 2006-2021 Free Software Foundation, Inc.
#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
- # Assume -lc should be added
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $_LT_AC_TAGVAR(archive_cmds, $1) in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- AC_MSG_CHECKING([whether -lc should be explicitly linked in])
- $rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
- if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=
- if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
- then
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- else
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
- fi
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
- ;;
- esac
- fi
- ;;
-esac
-])# AC_LIBTOOL_PROG_LD_SHLIBS
+# AM_SUBST_NOTMAKE(VARIABLE)
+# --------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+# Check how to create a tarball. -*- Autoconf -*-
-# _LT_AC_FILE_LTDLL_C
-# -------------------
-# Be careful that the start marker always follows a newline.
-AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
-# /* ltdll.c starts here */
-# #define WIN32_LEAN_AND_MEAN
-# #include <windows.h>
-# #undef WIN32_LEAN_AND_MEAN
-# #include <stdio.h>
+# Copyright (C) 2004-2021 Free Software Foundation, Inc.
#
-# #ifndef __CYGWIN__
-# # ifdef __CYGWIN32__
-# # define __CYGWIN__ __CYGWIN32__
-# # endif
-# #endif
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
#
-# #ifdef __cplusplus
-# extern "C" {
-# #endif
-# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
-# #ifdef __cplusplus
-# }
-# #endif
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
#
-# #ifdef __CYGWIN__
-# #include <cygwin/cygwin_dll.h>
-# DECLARE_CYGWIN_DLL( DllMain );
-# #endif
-# HINSTANCE __hDllInstance_base;
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
#
-# BOOL APIENTRY
-# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
-# {
-# __hDllInstance_base = hInst;
-# return TRUE;
-# }
-# /* ltdll.c ends here */
-])# _LT_AC_FILE_LTDLL_C
-
-
-# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
-# ---------------------------------
-AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
-
-
-# old names
-AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL])
-AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
-AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
-AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-AC_DEFUN([AM_PROG_LD], [AC_PROG_LD])
-AC_DEFUN([AM_PROG_NM], [AC_PROG_NM])
-
-# This is just to silence aclocal about the macro not being used
-ifelse([AC_DISABLE_FAST_INSTALL])
-
-AC_DEFUN([LT_AC_PROG_GCJ],
-[AC_CHECK_TOOL(GCJ, gcj, no)
- test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
- AC_SUBST(GCJFLAGS)
-])
-
-AC_DEFUN([LT_AC_PROG_RC],
-[AC_CHECK_TOOL(RC, windres, no)
-])
-
-# NOTE: This macro has been submitted for inclusion into #
-# GNU Autoconf as AC_PROG_SED. When it is available in #
-# a released version of Autoconf we should remove this #
-# macro and use it instead. #
-# LT_AC_PROG_SED
-# --------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible. Prefer GNU sed if found.
-AC_DEFUN([LT_AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for lt_ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
- fi
- done
- done
-done
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && continue
- cat /dev/null > conftest.in
- lt_ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
- # Check for GNU sed and select it if it is found.
- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
- lt_cv_path_SED=$lt_ac_sed
- break
- fi
- while true; do
- cat conftest.in conftest.in >conftest.tmp
- mv conftest.tmp conftest.in
- cp conftest.in conftest.nl
- echo >>conftest.nl
- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
- cmp -s conftest.out conftest.nl || break
- # 10000 chars as input seems more than enough
- test $lt_ac_count -gt 10 && break
- lt_ac_count=`expr $lt_ac_count + 1`
- if test $lt_ac_count -gt $lt_ac_max; then
- lt_ac_max=$lt_ac_count
- lt_cv_path_SED=$lt_ac_sed
- fi
- done
-done
-])
-SED=$lt_cv_path_SED
-AC_MSG_RESULT([$SED])
-])
-
-# Figure out how to run the assembler. -*- Autoconf -*-
-
-# serial 2
-
-# Copyright 2001 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# AM_PROG_AS
-# ----------
-AC_DEFUN([AM_PROG_AS],
-[# By default we simply use the C compiler to build assembly code.
-AC_REQUIRE([AC_PROG_CC])
-: ${CCAS='$(CC)'}
-# Set ASFLAGS if not already set.
-: ${CCASFLAGS='$(CFLAGS)'}
-AC_SUBST(CCAS)
-AC_SUBST(CCASFLAGS)])
-
-# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*-
-
-# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-AC_PREREQ([2.52])
-
-# serial 6
-
-# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
-AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
-
-# CFLAGS and library paths for XMMS
-# written 15 December 1999 by Ben Gertzfield <che@debian.org>
-
-dnl Usage:
-dnl AM_PATH_XMMS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-dnl
-dnl Example:
-dnl AM_PATH_XMMS(0.9.5.1, , AC_MSG_ERROR([*** XMMS >= 0.9.5.1 not installed - please install first ***]))
-dnl
-dnl Defines XMMS_CFLAGS, XMMS_LIBS, XMMS_DATA_DIR, XMMS_PLUGIN_DIR,
-dnl XMMS_VISUALIZATION_PLUGIN_DIR, XMMS_INPUT_PLUGIN_DIR,
-dnl XMMS_OUTPUT_PLUGIN_DIR, XMMS_GENERAL_PLUGIN_DIR, XMMS_EFFECT_PLUGIN_DIR,
-dnl and XMMS_VERSION for your plugin pleasure.
-dnl
-
-dnl XMMS_TEST_VERSION(AVAILABLE-VERSION, NEEDED-VERSION [, ACTION-IF-OKAY [, ACTION-IF-NOT-OKAY]])
-AC_DEFUN([XMMS_TEST_VERSION], [
-
-# Determine which version number is greater. Prints 2 to stdout if
-# the second number is greater, 1 if the first number is greater,
-# 0 if the numbers are equal.
-
-# Written 15 December 1999 by Ben Gertzfield <che@debian.org>
-# Revised 15 December 1999 by Jim Monty <monty@primenet.com>
-
- AC_PROG_AWK
- xmms_got_version=[` $AWK ' \
-BEGIN { \
- print vercmp(ARGV[1], ARGV[2]); \
-} \
- \
-function vercmp(ver1, ver2, ver1arr, ver2arr, \
- ver1len, ver2len, \
- ver1int, ver2int, len, i, p) { \
- \
- ver1len = split(ver1, ver1arr, /\./); \
- ver2len = split(ver2, ver2arr, /\./); \
- \
- len = ver1len > ver2len ? ver1len : ver2len; \
- \
- for (i = 1; i <= len; i++) { \
- p = 1000 ^ (len - i); \
- ver1int += ver1arr[i] * p; \
- ver2int += ver2arr[i] * p; \
- } \
- \
- if (ver1int < ver2int) \
- return 2; \
- else if (ver1int > ver2int) \
- return 1; \
- else \
- return 0; \
-}' $1 $2`]
-
- if test $xmms_got_version -eq 2; then # failure
- ifelse([$4], , :, $4)
- else # success!
- ifelse([$3], , :, $3)
- fi
-])
-
-AC_DEFUN([AM_PATH_XMMS],
-[
-AC_ARG_WITH(xmms-prefix,[ --with-xmms-prefix=PFX Prefix where XMMS is installed (optional)],
- xmms_config_prefix="$withval", xmms_config_prefix="")
-AC_ARG_WITH(xmms-exec-prefix,[ --with-xmms-exec-prefix=PFX Exec prefix where XMMS is installed (optional)],
- xmms_config_exec_prefix="$withval", xmms_config_exec_prefix="")
-
-if test x$xmms_config_exec_prefix != x; then
- xmms_config_args="$xmms_config_args --exec-prefix=$xmms_config_exec_prefix"
- if test x${XMMS_CONFIG+set} != xset; then
- XMMS_CONFIG=$xmms_config_exec_prefix/bin/xmms-config
- fi
-fi
-
-if test x$xmms_config_prefix != x; then
- xmms_config_args="$xmms_config_args --prefix=$xmms_config_prefix"
- if test x${XMMS_CONFIG+set} != xset; then
- XMMS_CONFIG=$xmms_config_prefix/bin/xmms-config
- fi
-fi
-
-AC_PATH_PROG(XMMS_CONFIG, xmms-config, no)
-min_xmms_version=ifelse([$1], ,0.9.5.1, $1)
-
-if test "$XMMS_CONFIG" = "no"; then
- no_xmms=yes
-else
- XMMS_CFLAGS=`$XMMS_CONFIG $xmms_config_args --cflags`
- XMMS_LIBS=`$XMMS_CONFIG $xmms_config_args --libs`
- XMMS_VERSION=`$XMMS_CONFIG $xmms_config_args --version`
- XMMS_DATA_DIR=`$XMMS_CONFIG $xmms_config_args --data-dir`
- XMMS_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --plugin-dir`
- XMMS_VISUALIZATION_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args \
- --visualization-plugin-dir`
- XMMS_INPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --input-plugin-dir`
- XMMS_OUTPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --output-plugin-dir`
- XMMS_EFFECT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --effect-plugin-dir`
- XMMS_GENERAL_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --general-plugin-dir`
-
- XMMS_TEST_VERSION($XMMS_VERSION, $min_xmms_version, ,no_xmms=version)
-fi
-
-AC_MSG_CHECKING(for XMMS - version >= $min_xmms_version)
-
-if test "x$no_xmms" = x; then
- AC_MSG_RESULT(yes)
- ifelse([$2], , :, [$2])
-else
- AC_MSG_RESULT(no)
-
- if test "$XMMS_CONFIG" = "no" ; then
- echo "*** The xmms-config script installed by XMMS could not be found."
- echo "*** If XMMS was installed in PREFIX, make sure PREFIX/bin is in"
- echo "*** your path, or set the XMMS_CONFIG environment variable to the"
- echo "*** full path to xmms-config."
- else
- if test "$no_xmms" = "version"; then
- echo "*** An old version of XMMS, $XMMS_VERSION, was found."
- echo "*** You need a version of XMMS newer than $min_xmms_version."
- echo "*** The latest version of XMMS is always available from"
- echo "*** http://www.xmms.org/"
- echo "***"
-
- echo "*** If you have already installed a sufficiently new version, this error"
- echo "*** probably means that the wrong copy of the xmms-config shell script is"
- echo "*** being found. The easiest way to fix this is to remove the old version"
- echo "*** of XMMS, but you can also set the XMMS_CONFIG environment to point to the"
- echo "*** correct copy of xmms-config. (In this case, you will have to"
- echo "*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf"
- echo "*** so that the correct libraries are found at run-time)"
- fi
- fi
- XMMS_CFLAGS=""
- XMMS_LIBS=""
- ifelse([$3], , :, [$3])
-fi
-AC_SUBST(XMMS_CFLAGS)
-AC_SUBST(XMMS_LIBS)
-AC_SUBST(XMMS_VERSION)
-AC_SUBST(XMMS_DATA_DIR)
-AC_SUBST(XMMS_PLUGIN_DIR)
-AC_SUBST(XMMS_VISUALIZATION_PLUGIN_DIR)
-AC_SUBST(XMMS_INPUT_PLUGIN_DIR)
-AC_SUBST(XMMS_OUTPUT_PLUGIN_DIR)
-AC_SUBST(XMMS_GENERAL_PLUGIN_DIR)
-AC_SUBST(XMMS_EFFECT_PLUGIN_DIR)
-])
-
-# Configure paths for libogg
-# Jack Moffitt <jack@icecast.org> 10-21-2000
-# Shamelessly stolen from Owen Taylor and Manish Singh
-
-dnl XIPH_PATH_OGG([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
-dnl Test for libogg, and define OGG_CFLAGS and OGG_LIBS
-dnl
-AC_DEFUN([XIPH_PATH_OGG],
-[dnl
-dnl Get the cflags and libraries
-dnl
-AC_ARG_WITH(ogg,[ --with-ogg=PFX Prefix where libogg is installed (optional)], ogg_prefix="$withval", ogg_prefix="")
-AC_ARG_WITH(ogg-libraries,[ --with-ogg-libraries=DIR Directory where libogg library is installed (optional)], ogg_libraries="$withval", ogg_libraries="")
-AC_ARG_WITH(ogg-includes,[ --with-ogg-includes=DIR Directory where libogg header files are installed (optional)], ogg_includes="$withval", ogg_includes="")
-AC_ARG_ENABLE(oggtest, [ --disable-oggtest Do not try to compile and run a test Ogg program],, enable_oggtest=yes)
-
- if test "x$ogg_libraries" != "x" ; then
- OGG_LIBS="-L$ogg_libraries"
- elif test "x$ogg_prefix" != "x" ; then
- OGG_LIBS="-L$ogg_prefix/lib"
- elif test "x$prefix" != "xNONE" ; then
- OGG_LIBS="-L$prefix/lib"
- fi
-
- OGG_LIBS="$OGG_LIBS -logg"
-
- if test "x$ogg_includes" != "x" ; then
- OGG_CFLAGS="-I$ogg_includes"
- elif test "x$ogg_prefix" != "x" ; then
- OGG_CFLAGS="-I$ogg_prefix/include"
- elif test "x$prefix" != "xNONE"; then
- OGG_CFLAGS="-I$prefix/include"
- fi
-
- AC_MSG_CHECKING(for Ogg)
- no_ogg=""
-
-
- if test "x$enable_oggtest" = "xyes" ; then
- ac_save_CFLAGS="$CFLAGS"
- ac_save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $OGG_CFLAGS"
- LIBS="$LIBS $OGG_LIBS"
-dnl
-dnl Now check if the installed Ogg is sufficiently new.
-dnl
- rm -f conf.oggtest
- AC_TRY_RUN([
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ogg/ogg.h>
-
-int main ()
-{
- system("touch conf.oggtest");
- return 0;
-}
-
-],, no_ogg=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
-
- if test "x$no_ogg" = "x" ; then
- AC_MSG_RESULT(yes)
- ifelse([$1], , :, [$1])
- else
- AC_MSG_RESULT(no)
- if test -f conf.oggtest ; then
- :
- else
- echo "*** Could not run Ogg test program, checking why..."
- CFLAGS="$CFLAGS $OGG_CFLAGS"
- LIBS="$LIBS $OGG_LIBS"
- AC_TRY_LINK([
-#include <stdio.h>
-#include <ogg/ogg.h>
-], [ return 0; ],
- [ echo "*** The test program compiled, but did not run. This usually means"
- echo "*** that the run-time linker is not finding Ogg or finding the wrong"
- echo "*** version of Ogg. If it is not finding Ogg, you'll need to set your"
- echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
- echo "*** to the installed location Also, make sure you have run ldconfig if that"
- echo "*** is required on your system"
- echo "***"
- echo "*** If you have an old version installed, it is best to remove it, although"
- echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
- [ echo "*** The test program failed to compile or link. See the file config.log for the"
- echo "*** exact error that occured. This usually means Ogg was incorrectly installed"
- echo "*** or that you have moved Ogg since it was installed." ])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
- OGG_CFLAGS=""
- OGG_LIBS=""
- ifelse([$2], , :, [$2])
- fi
- AC_SUBST(OGG_CFLAGS)
- AC_SUBST(OGG_LIBS)
- rm -f conf.oggtest
-])
-
-# iconv.m4 serial AM4 (gettext-0.11.3)
-dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
-[
- dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
-
- dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
- dnl accordingly.
- AC_LIB_LINKFLAGS_BODY([iconv])
-])
-
-AC_DEFUN([AM_ICONV_LINK],
-[
- dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
- dnl those with the standalone portable GNU libiconv installed).
-
- dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
- dnl accordingly.
- AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-
- dnl Add $INCICONV to CPPFLAGS before performing the following checks,
- dnl because if the user has installed libiconv and not disabled its use
- dnl via --without-libiconv-prefix, he wants to use it. The first
- dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
- am_save_CPPFLAGS="$CPPFLAGS"
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
-
- AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
- am_cv_func_iconv="no, consider installing GNU libiconv"
- am_cv_lib_iconv=no
- AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
- [iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);],
- am_cv_func_iconv=yes)
- if test "$am_cv_func_iconv" != yes; then
- am_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
- AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
- [iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);],
- am_cv_lib_iconv=yes
- am_cv_func_iconv=yes)
- LIBS="$am_save_LIBS"
- fi
- ])
- if test "$am_cv_func_iconv" = yes; then
- AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
- fi
- if test "$am_cv_lib_iconv" = yes; then
- AC_MSG_CHECKING([how to link with libiconv])
- AC_MSG_RESULT([$LIBICONV])
- else
- dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
- dnl either.
- CPPFLAGS="$am_save_CPPFLAGS"
- LIBICONV=
- LTLIBICONV=
- fi
- AC_SUBST(LIBICONV)
- AC_SUBST(LTLIBICONV)
-])
-
-AC_DEFUN([AM_ICONV],
-[
- AM_ICONV_LINK
- if test "$am_cv_func_iconv" = yes; then
- AC_MSG_CHECKING([for iconv declaration])
- AC_CACHE_VAL(am_cv_proto_iconv, [
- AC_TRY_COMPILE([
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
-], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
- am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
- am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
- AC_MSG_RESULT([$]{ac_t:-
- }[$]am_cv_proto_iconv)
- AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
- [Define as const if the declaration of iconv() needs const.])
- fi
-])
-
-# lib-prefix.m4 serial 4 (gettext-0.14.2)
-dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
-dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
-dnl require excessive bracketing.
-ifdef([AC_HELP_STRING],
-[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
-[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
-
-dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
-dnl to access previously installed libraries. The basic assumption is that
-dnl a user will want packages to use other packages he previously installed
-dnl with the same --prefix option.
-dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
-dnl libraries, but is otherwise very convenient.
-AC_DEFUN([AC_LIB_PREFIX],
-[
- AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- dnl By default, look in $includedir and $libdir.
- use_additional=yes
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- AC_LIB_ARG_WITH([lib-prefix],
-[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
- --without-lib-prefix don't search for libraries in includedir and libdir],
-[
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+
+m4_if([$1], [v7],
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+
+ [m4_case([$1],
+ [ustar],
+ [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+ # There is notably a 21 bits limit for the UID and the GID. In fact,
+ # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+ # and bug#13588).
+ am_max_uid=2097151 # 2^21 - 1
+ am_max_gid=$am_max_uid
+ # The $UID and $GID variables are not portable, so we need to resort
+ # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
+ # below are definitely unexpected, so allow the users to see them
+ # (that is, avoid stderr redirection).
+ am_uid=`id -u || echo unknown`
+ am_gid=`id -g || echo unknown`
+ AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+ if test $am_uid -le $am_max_uid; then
+ AC_MSG_RESULT([yes])
else
- additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
- fi
- fi
-])
- if test $use_additional = yes; then
- dnl Potentially add $additional_includedir to $CPPFLAGS.
- dnl But don't add it
- dnl 1. if it's the standard /usr/include,
- dnl 2. if it's already present in $CPPFLAGS,
- dnl 3. if it's /usr/local/include and we are using GCC on Linux,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- for x in $CPPFLAGS; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- dnl Really add $additional_includedir to $CPPFLAGS.
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- dnl Potentially add $additional_libdir to $LDFLAGS.
- dnl But don't add it
- dnl 1. if it's the standard /usr/lib,
- dnl 2. if it's already present in $LDFLAGS,
- dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_libdir" != "X/usr/lib"; then
- haveit=
- for x in $LDFLAGS; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test "X$additional_libdir" = "X/usr/local/lib"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- dnl Really add $additional_libdir to $LDFLAGS.
- LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
- fi
- fi
+ AC_MSG_RESULT([no])
+ _am_tools=none
fi
- fi
- fi
-])
-
-dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
-dnl acl_final_exec_prefix, containing the values to which $prefix and
-dnl $exec_prefix will expand at the end of the configure script.
-AC_DEFUN([AC_LIB_PREPARE_PREFIX],
-[
- dnl Unfortunately, prefix and exec_prefix get only finally determined
- dnl at the end of configure.
- if test "X$prefix" = "XNONE"; then
- acl_final_prefix="$ac_default_prefix"
- else
- acl_final_prefix="$prefix"
- fi
- if test "X$exec_prefix" = "XNONE"; then
- acl_final_exec_prefix='${prefix}'
- else
- acl_final_exec_prefix="$exec_prefix"
- fi
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
- prefix="$acl_save_prefix"
-])
-
-dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
-dnl variables prefix and exec_prefix bound to the values they will have
-dnl at the end of the configure script.
-AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
-[
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- $1
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-])
-
-# lib-link.m4 serial 6 (gettext-0.14.3)
-dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_PREREQ(2.50)
-
-dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
-dnl augments the CPPFLAGS variable.
-AC_DEFUN([AC_LIB_LINKFLAGS],
-[
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
- define([Name],[translit([$1],[./-], [___])])
- define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
- AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
- AC_LIB_LINKFLAGS_BODY([$1], [$2])
- ac_cv_lib[]Name[]_libs="$LIB[]NAME"
- ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
- ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
- ])
- LIB[]NAME="$ac_cv_lib[]Name[]_libs"
- LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
- INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
- AC_SUBST([LIB]NAME)
- AC_SUBST([LTLIB]NAME)
- dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
- dnl results of this search when this library appears as a dependency.
- HAVE_LIB[]NAME=yes
- undefine([Name])
- undefine([NAME])
-])
-
-dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
-dnl searches for libname and the libraries corresponding to explicit and
-dnl implicit dependencies, together with the specified include files and
-dnl the ability to compile and link the specified testcode. If found, it
-dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
-dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
-dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
-dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
-AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
-[
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
- define([Name],[translit([$1],[./-], [___])])
- define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-
- dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
- dnl accordingly.
- AC_LIB_LINKFLAGS_BODY([$1], [$2])
-
- dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
- dnl because if the user has installed lib[]Name and not disabled its use
- dnl via --without-lib[]Name-prefix, he wants to use it.
- ac_save_CPPFLAGS="$CPPFLAGS"
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-
- AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $LIB[]NAME"
- AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
- LIBS="$ac_save_LIBS"
- ])
- if test "$ac_cv_lib[]Name" = yes; then
- HAVE_LIB[]NAME=yes
- AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
- AC_MSG_CHECKING([how to link with lib[]$1])
- AC_MSG_RESULT([$LIB[]NAME])
- else
- HAVE_LIB[]NAME=no
- dnl If $LIB[]NAME didn't lead to a usable library, we don't need
- dnl $INC[]NAME either.
- CPPFLAGS="$ac_save_CPPFLAGS"
- LIB[]NAME=
- LTLIB[]NAME=
- fi
- AC_SUBST([HAVE_LIB]NAME)
- AC_SUBST([LIB]NAME)
- AC_SUBST([LTLIB]NAME)
- undefine([Name])
- undefine([NAME])
-])
-
-dnl Determine the platform dependent parameters needed to use rpath:
-dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
-dnl hardcode_direct, hardcode_minus_L.
-AC_DEFUN([AC_LIB_RPATH],
-[
- dnl Tell automake >= 1.10 to complain if config.rpath is missing.
- m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
- AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
- AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
- AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
- AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
- CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
- ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
- . ./conftest.sh
- rm -f ./conftest.sh
- acl_cv_rpath=done
- ])
- wl="$acl_cv_wl"
- libext="$acl_cv_libext"
- shlibext="$acl_cv_shlibext"
- hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
- hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
- hardcode_direct="$acl_cv_hardcode_direct"
- hardcode_minus_L="$acl_cv_hardcode_minus_L"
- dnl Determine whether the user wants rpath handling at all.
- AC_ARG_ENABLE(rpath,
- [ --disable-rpath do not hardcode runtime library paths],
- :, enable_rpath=yes)
-])
-
-dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
-AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
-[
- define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
- dnl By default, look in $includedir and $libdir.
- use_additional=yes
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- AC_LIB_ARG_WITH([lib$1-prefix],
-[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
- --without-lib$1-prefix don't search for lib$1 in includedir and libdir],
-[
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
+ AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+ if test $am_gid -le $am_max_gid; then
+ AC_MSG_RESULT([yes])
else
- additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
- fi
- fi
-])
- dnl Search the library and its dependencies in $additional_libdir and
- dnl $LDFLAGS. Using breadth-first-seach.
- LIB[]NAME=
- LTLIB[]NAME=
- INC[]NAME=
- rpathdirs=
- ltrpathdirs=
- names_already_handled=
- names_next_round='$1 $2'
- while test -n "$names_next_round"; do
- names_this_round="$names_next_round"
- names_next_round=
- for name in $names_this_round; do
- already_handled=
- for n in $names_already_handled; do
- if test "$n" = "$name"; then
- already_handled=yes
- break
- fi
- done
- if test -z "$already_handled"; then
- names_already_handled="$names_already_handled $name"
- dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
- dnl or AC_LIB_HAVE_LINKFLAGS call.
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
- eval value=\"\$HAVE_LIB$uppername\"
- if test -n "$value"; then
- if test "$value" = yes; then
- eval value=\"\$LIB$uppername\"
- test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
- eval value=\"\$LTLIB$uppername\"
- test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
- else
- dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
- dnl that this library doesn't exist. So just drop it.
- :
- fi
- else
- dnl Search the library lib$name in $additional_libdir and $LDFLAGS
- dnl and the already constructed $LIBNAME/$LTLIBNAME.
- found_dir=
- found_la=
- found_so=
- found_a=
- if test $use_additional = yes; then
- if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
- found_dir="$additional_libdir"
- found_so="$additional_libdir/lib$name.$shlibext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- else
- if test -f "$additional_libdir/lib$name.$libext"; then
- found_dir="$additional_libdir"
- found_a="$additional_libdir/lib$name.$libext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- for x in $LDFLAGS $LTLIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- case "$x" in
- -L*)
- dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
- found_dir="$dir"
- found_so="$dir/lib$name.$shlibext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- else
- if test -f "$dir/lib$name.$libext"; then
- found_dir="$dir"
- found_a="$dir/lib$name.$libext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- fi
- fi
- ;;
- esac
- if test "X$found_dir" != "X"; then
- break
- fi
- done
- fi
- if test "X$found_dir" != "X"; then
- dnl Found the library.
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
- if test "X$found_so" != "X"; then
- dnl Linking with a shared library. We attempt to hardcode its
- dnl directory into the executable's runpath, unless it's the
- dnl standard /usr/lib.
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
- dnl No hardcoding is needed.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- else
- dnl Use an explicit option to hardcode DIR into the resulting
- dnl binary.
- dnl Potentially add DIR to ltrpathdirs.
- dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $found_dir"
- fi
- dnl The hardcoding into $LIBNAME is system dependent.
- if test "$hardcode_direct" = yes; then
- dnl Using DIR/libNAME.so during linking hardcodes DIR into the
- dnl resulting binary.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- else
- if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
- dnl Use an explicit option to hardcode DIR into the resulting
- dnl binary.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- dnl Potentially add DIR to rpathdirs.
- dnl The rpathdirs will be appended to $LIBNAME at the end.
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $found_dir"
- fi
- else
- dnl Rely on "-L$found_dir".
- dnl But don't add it if it's already contained in the LDFLAGS
- dnl or the already constructed $LIBNAME
- haveit=
- for x in $LDFLAGS $LIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
- fi
- if test "$hardcode_minus_L" != no; then
- dnl FIXME: Not sure whether we should use
- dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
- dnl here.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- else
- dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
- dnl here, because this doesn't fit in flags passed to the
- dnl compiler. So give up. No hardcoding. This affects only
- dnl very old systems.
- dnl FIXME: Not sure whether we should use
- dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
- dnl here.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
- fi
- fi
- fi
- fi
- else
- if test "X$found_a" != "X"; then
- dnl Linking with a static library.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
- else
- dnl We shouldn't come here, but anyway it's good to have a
- dnl fallback.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
- fi
- fi
- dnl Assume the include files are nearby.
- additional_includedir=
- case "$found_dir" in
- */lib | */lib/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
- additional_includedir="$basedir/include"
- ;;
- esac
- if test "X$additional_includedir" != "X"; then
- dnl Potentially add $additional_includedir to $INCNAME.
- dnl But don't add it
- dnl 1. if it's the standard /usr/include,
- dnl 2. if it's /usr/local/include and we are using GCC on Linux,
- dnl 3. if it's already present in $CPPFLAGS or the already
- dnl constructed $INCNAME,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- for x in $CPPFLAGS $INC[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- dnl Really add $additional_includedir to $INCNAME.
- INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- fi
- dnl Look for dependencies.
- if test -n "$found_la"; then
- dnl Read the .la file. It defines the variables
- dnl dlname, library_names, old_library, dependency_libs, current,
- dnl age, revision, installed, dlopen, dlpreopen, libdir.
- save_libdir="$libdir"
- case "$found_la" in
- */* | *\\*) . "$found_la" ;;
- *) . "./$found_la" ;;
- esac
- libdir="$save_libdir"
- dnl We use only dependency_libs.
- for dep in $dependency_libs; do
- case "$dep" in
- -L*)
- additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
- dnl But don't add it
- dnl 1. if it's the standard /usr/lib,
- dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
- dnl 3. if it's already present in $LDFLAGS or the already
- dnl constructed $LIBNAME,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_libdir" != "X/usr/lib"; then
- haveit=
- if test "X$additional_libdir" = "X/usr/local/lib"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- haveit=
- for x in $LDFLAGS $LIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- dnl Really add $additional_libdir to $LIBNAME.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
- fi
- fi
- haveit=
- for x in $LDFLAGS $LTLIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- dnl Really add $additional_libdir to $LTLIBNAME.
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- ;;
- -R*)
- dir=`echo "X$dep" | sed -e 's/^X-R//'`
- if test "$enable_rpath" != no; then
- dnl Potentially add DIR to rpathdirs.
- dnl The rpathdirs will be appended to $LIBNAME at the end.
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $dir"
- fi
- dnl Potentially add DIR to ltrpathdirs.
- dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $dir"
- fi
- fi
- ;;
- -l*)
- dnl Handle this in the next round.
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
- ;;
- *.la)
- dnl Handle this in the next round. Throw away the .la's
- dnl directory; it is already contained in a preceding -L
- dnl option.
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
- ;;
- *)
- dnl Most likely an immediate library name.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
- ;;
- esac
- done
- fi
- else
- dnl Didn't find the library; assume it is in the system directories
- dnl known to the linker and runtime loader. (All the system
- dnl directories known to the linker should also be known to the
- dnl runtime loader, otherwise the system is severely misconfigured.)
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
- fi
- fi
- fi
- done
- done
- if test "X$rpathdirs" != "X"; then
- if test -n "$hardcode_libdir_separator"; then
- dnl Weird platform: only the last -rpath option counts, the user must
- dnl pass all path elements in one option. We can arrange that for a
- dnl single library, but not when more than one $LIBNAMEs are used.
- alldirs=
- for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
- done
- dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
- else
- dnl The -rpath options are cumulative.
- for found_dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$found_dir"
- eval flag=\"$hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
- done
- fi
- fi
- if test "X$ltrpathdirs" != "X"; then
- dnl When using libtool, the option that works for both libraries and
- dnl executables is -R. The -R options are cumulative.
- for found_dir in $ltrpathdirs; do
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
- done
- fi
-])
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi],
-dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
-dnl unless already present in VAR.
-dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
-dnl contains two or three consecutive elements that belong together.
-AC_DEFUN([AC_LIB_APPENDTOVAR],
-[
- for element in [$2]; do
- haveit=
- for x in $[$1]; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X$element"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- [$1]="${[$1]}${[$1]:+ }$element"
- fi
- done
-])
+ [pax],
+ [],
-# lib-ld.m4 serial 3 (gettext-0.13)
-dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
+ [m4_fatal([Unknown tar format])])
-dnl Subroutines of libtool.m4,
-dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
-dnl with libtool.m4.
+ AC_MSG_CHECKING([how to create a $1 tar archive])
-dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
-AC_DEFUN([AC_LIB_PROG_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- acl_cv_prog_gnu_ld=yes ;;
-*)
- acl_cv_prog_gnu_ld=no ;;
-esac])
-with_gnu_ld=$acl_cv_prog_gnu_ld
-])
+ # Go ahead even if we have the value already cached. We do so because we
+ # need to set the values for the 'am__tar' and 'am__untar' variables.
+ _am_tools=${am_cv_prog_tar_$1-$_am_tools}
-dnl From libtool-1.4. Sets the variable LD.
-AC_DEFUN([AC_LIB_PROG_LD],
-[AC_ARG_WITH(gnu-ld,
-[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
-test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- AC_MSG_CHECKING([for ld used by GCC])
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [[\\/]* | [A-Za-z]:[\\/]*)]
- [re_direlt='/[^/][^/]*/\.\./']
- # Canonicalize the path of ld
- ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ for _am_tool in $_am_tools; do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar; do
+ AM_RUN_LOG([$_am_tar --version]) && break
done
- test -z "$LD" && LD="$ac_prog"
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- AC_MSG_CHECKING([for GNU ld])
-else
- AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(acl_cv_path_LD,
-[if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- acl_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break ;;
- *)
- test "$with_gnu_ld" != yes && break ;;
- esac
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ AM_RUN_LOG([cat conftest.dir/file])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
fi
done
- IFS="$ac_save_ifs"
-else
- acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
- AC_MSG_RESULT($LD)
-else
- AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_LIB_PROG_LD_GNU
-])
-
-# codeset.m4 serial AM1 (gettext-0.10.40)
-dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([AM_LANGINFO_CODESET],
-[
- AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
- [AC_TRY_LINK([#include <langinfo.h>],
- [char* cs = nl_langinfo(CODESET);],
- am_cv_langinfo_codeset=yes,
- am_cv_langinfo_codeset=no)
- ])
- if test $am_cv_langinfo_codeset = yes; then
- AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
- [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
- fi
-])
+ rm -rf conftest.dir
+ AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+ AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([m4/add_cflags.m4])
+m4_include([m4/add_cxxflags.m4])
+m4_include([m4/ax_add_fortify_source.m4])
+m4_include([m4/ax_check_compile_flag.m4])
+m4_include([m4/ax_check_enable_debug.m4])
+m4_include([m4/bswap.m4])
+m4_include([m4/clang.m4])
+m4_include([m4/codeset.m4])
+m4_include([m4/gcc_version.m4])
+m4_include([m4/iconv.m4])
+m4_include([m4/lib-ld.m4])
+m4_include([m4/lib-link.m4])
+m4_include([m4/lib-prefix.m4])
+m4_include([m4/libtool.m4])
+m4_include([m4/ltoptions.m4])
+m4_include([m4/ltsugar.m4])
+m4_include([m4/ltversion.m4])
+m4_include([m4/lt~obsolete.m4])
+m4_include([m4/ogg.m4])
+m4_include([m4/really_gcc.m4])
+m4_include([m4/stack_protect.m4])
diff --git a/3rdparty/libflac/all.dsp b/3rdparty/libflac/all.dsp
deleted file mode 100644
index 8b3896bf64e..00000000000
--- a/3rdparty/libflac/all.dsp
+++ /dev/null
@@ -1,67 +0,0 @@
-# Microsoft Developer Studio Project File - Name="all" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Generic Project" 0x010a
-
-CFG=all - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "all.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "all.mak" CFG="all - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "all - Win32 Release" (based on "Win32 (x86) Generic Project")
-!MESSAGE "all - Win32 Debug" (based on "Win32 (x86) Generic Project")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "all"
-# PROP Scc_LocalPath "."
-MTL=midl.exe
-
-!IF "$(CFG)" == "all - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "obj\release"
-# PROP Intermediate_Dir "obj\release"
-# PROP Target_Dir ""
-
-!ELSEIF "$(CFG)" == "all - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "obj\debug"
-# PROP Intermediate_Dir "obj\debug"
-# PROP Target_Dir ""
-
-!ENDIF
-
-# Begin Target
-
-# Name "all - Win32 Release"
-# Name "all - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\README
-# End Source File
-# End Target
-# End Project
diff --git a/3rdparty/libflac/all_dynamic.dsp b/3rdparty/libflac/all_dynamic.dsp
deleted file mode 100644
index ce110c6e613..00000000000
--- a/3rdparty/libflac/all_dynamic.dsp
+++ /dev/null
@@ -1,67 +0,0 @@
-# Microsoft Developer Studio Project File - Name="all_dynamic" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Generic Project" 0x010a
-
-CFG=all_dynamic - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "all_dynamic.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "all_dynamic.mak" CFG="all_dynamic - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "all_dynamic - Win32 Release" (based on "Win32 (x86) Generic Project")
-!MESSAGE "all_dynamic - Win32 Debug" (based on "Win32 (x86) Generic Project")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "all"
-# PROP Scc_LocalPath "."
-MTL=midl.exe
-
-!IF "$(CFG)" == "all_dynamic - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "obj\release"
-# PROP Intermediate_Dir "obj\release"
-# PROP Target_Dir ""
-
-!ELSEIF "$(CFG)" == "all_dynamic - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "obj\debug"
-# PROP Intermediate_Dir "obj\debug"
-# PROP Target_Dir ""
-
-!ENDIF
-
-# Begin Target
-
-# Name "all_dynamic - Win32 Release"
-# Name "all_dynamic - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\README
-# End Source File
-# End Target
-# End Project
diff --git a/3rdparty/libflac/all_static.dsp b/3rdparty/libflac/all_static.dsp
deleted file mode 100644
index 59147256a6e..00000000000
--- a/3rdparty/libflac/all_static.dsp
+++ /dev/null
@@ -1,67 +0,0 @@
-# Microsoft Developer Studio Project File - Name="all_static" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Generic Project" 0x010a
-
-CFG=all_static - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "all_static.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "all_static.mak" CFG="all_static - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "all_static - Win32 Release" (based on "Win32 (x86) Generic Project")
-!MESSAGE "all_static - Win32 Debug" (based on "Win32 (x86) Generic Project")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "all"
-# PROP Scc_LocalPath "."
-MTL=midl.exe
-
-!IF "$(CFG)" == "all_static - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "obj\release"
-# PROP Intermediate_Dir "obj\release"
-# PROP Target_Dir ""
-
-!ELSEIF "$(CFG)" == "all_static - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "obj\debug"
-# PROP Intermediate_Dir "obj\debug"
-# PROP Target_Dir ""
-
-!ENDIF
-
-# Begin Target
-
-# Name "all_static - Win32 Release"
-# Name "all_static - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\README
-# End Source File
-# End Target
-# End Project
diff --git a/3rdparty/libflac/ar-lib b/3rdparty/libflac/ar-lib
new file mode 100755
index 00000000000..c349042c3fa
--- /dev/null
+++ b/3rdparty/libflac/ar-lib
@@ -0,0 +1,271 @@
+#! /bin/sh
+# Wrapper for Microsoft lib.exe
+
+me=ar-lib
+scriptversion=2019-07-04.01; # UTC
+
+# Copyright (C) 2010-2021 Free Software Foundation, Inc.
+# Written by Peter Rosin <peda@lysator.liu.se>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+
+# func_error message
+func_error ()
+{
+ echo "$me: $1" 1>&2
+ exit 1
+}
+
+file_conv=
+
+# func_file_conv build_file
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts.
+func_file_conv ()
+{
+ file=$1
+ case $file in
+ / | /[!/]*) # absolute file, and not a UNC file
+ if test -z "$file_conv"; then
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+ file_conv=mingw
+ ;;
+ CYGWIN* | MSYS*)
+ file_conv=cygwin
+ ;;
+ *)
+ file_conv=wine
+ ;;
+ esac
+ fi
+ case $file_conv in
+ mingw)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+ cygwin | msys)
+ file=`cygpath -m "$file" || echo "$file"`
+ ;;
+ wine)
+ file=`winepath -w "$file" || echo "$file"`
+ ;;
+ esac
+ ;;
+ esac
+}
+
+# func_at_file at_file operation archive
+# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE
+# for each of them.
+# When interpreting the content of the @FILE, do NOT use func_file_conv,
+# since the user would need to supply preconverted file names to
+# binutils ar, at least for MinGW.
+func_at_file ()
+{
+ operation=$2
+ archive=$3
+ at_file_contents=`cat "$1"`
+ eval set x "$at_file_contents"
+ shift
+
+ for member
+ do
+ $AR -NOLOGO $operation:"$member" "$archive" || exit $?
+ done
+}
+
+case $1 in
+ '')
+ func_error "no command. Try '$0 --help' for more information."
+ ;;
+ -h | --h*)
+ cat <<EOF
+Usage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...]
+
+Members may be specified in a file named with @FILE.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "$me, version $scriptversion"
+ exit $?
+ ;;
+esac
+
+if test $# -lt 3; then
+ func_error "you must specify a program, an action and an archive"
+fi
+
+AR=$1
+shift
+while :
+do
+ if test $# -lt 2; then
+ func_error "you must specify a program, an action and an archive"
+ fi
+ case $1 in
+ -lib | -LIB \
+ | -ltcg | -LTCG \
+ | -machine* | -MACHINE* \
+ | -subsystem* | -SUBSYSTEM* \
+ | -verbose | -VERBOSE \
+ | -wx* | -WX* )
+ AR="$AR $1"
+ shift
+ ;;
+ *)
+ action=$1
+ shift
+ break
+ ;;
+ esac
+done
+orig_archive=$1
+shift
+func_file_conv "$orig_archive"
+archive=$file
+
+# strip leading dash in $action
+action=${action#-}
+
+delete=
+extract=
+list=
+quick=
+replace=
+index=
+create=
+
+while test -n "$action"
+do
+ case $action in
+ d*) delete=yes ;;
+ x*) extract=yes ;;
+ t*) list=yes ;;
+ q*) quick=yes ;;
+ r*) replace=yes ;;
+ s*) index=yes ;;
+ S*) ;; # the index is always updated implicitly
+ c*) create=yes ;;
+ u*) ;; # TODO: don't ignore the update modifier
+ v*) ;; # TODO: don't ignore the verbose modifier
+ *)
+ func_error "unknown action specified"
+ ;;
+ esac
+ action=${action#?}
+done
+
+case $delete$extract$list$quick$replace,$index in
+ yes,* | ,yes)
+ ;;
+ yesyes*)
+ func_error "more than one action specified"
+ ;;
+ *)
+ func_error "no action specified"
+ ;;
+esac
+
+if test -n "$delete"; then
+ if test ! -f "$orig_archive"; then
+ func_error "archive not found"
+ fi
+ for member
+ do
+ case $1 in
+ @*)
+ func_at_file "${1#@}" -REMOVE "$archive"
+ ;;
+ *)
+ func_file_conv "$1"
+ $AR -NOLOGO -REMOVE:"$file" "$archive" || exit $?
+ ;;
+ esac
+ done
+
+elif test -n "$extract"; then
+ if test ! -f "$orig_archive"; then
+ func_error "archive not found"
+ fi
+ if test $# -gt 0; then
+ for member
+ do
+ case $1 in
+ @*)
+ func_at_file "${1#@}" -EXTRACT "$archive"
+ ;;
+ *)
+ func_file_conv "$1"
+ $AR -NOLOGO -EXTRACT:"$file" "$archive" || exit $?
+ ;;
+ esac
+ done
+ else
+ $AR -NOLOGO -LIST "$archive" | tr -d '\r' | sed -e 's/\\/\\\\/g' \
+ | while read member
+ do
+ $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
+ done
+ fi
+
+elif test -n "$quick$replace"; then
+ if test ! -f "$orig_archive"; then
+ if test -z "$create"; then
+ echo "$me: creating $orig_archive"
+ fi
+ orig_archive=
+ else
+ orig_archive=$archive
+ fi
+
+ for member
+ do
+ case $1 in
+ @*)
+ func_file_conv "${1#@}"
+ set x "$@" "@$file"
+ ;;
+ *)
+ func_file_conv "$1"
+ set x "$@" "$file"
+ ;;
+ esac
+ shift
+ shift
+ done
+
+ if test -n "$orig_archive"; then
+ $AR -NOLOGO -OUT:"$archive" "$orig_archive" "$@" || exit $?
+ else
+ $AR -NOLOGO -OUT:"$archive" "$@" || exit $?
+ fi
+
+elif test -n "$list"; then
+ if test ! -f "$orig_archive"; then
+ func_error "archive not found"
+ fi
+ $AR -NOLOGO -LIST "$archive" || exit $?
+fi
diff --git a/3rdparty/libflac/autogen.sh b/3rdparty/libflac/autogen.sh
index 6ba76d091f6..491d3557e7d 100644..100755
--- a/3rdparty/libflac/autogen.sh
+++ b/3rdparty/libflac/autogen.sh
@@ -1,162 +1,66 @@
#!/bin/sh
# Run this to set up the build system: configure, makefiles, etc.
-# (based on the version in enlightenment's cvs)
+# We trust that the user has a recent enough autoconf & automake setup
+# (not older than a few years...)
-# Some notes:
-#
-# You may need to specify -I /SOME_PATH/share/aclocal in ACLOCAL_FLAGS
-# if any packages FLAC relies on (autotools, libogg, libiconv) are
-# installed in non-standard places.
-#
-# If you don't have XMMS installed at all, you should comment out
-# AM_PATH_XMMS in configure.in.
-#
-# FLAC uses iconv but not gettext. iconv requires config.rpath which
-# is supplied by gettext, which is copied in by gettextize. But we
-# can't run gettextize since we do not fulfill all it's requirements
-# (because we don't use it). So you may have to:
-#
-# cp /usr/share/gettext/config.rpath .
-#
-# before running autogen.sh
-#
-# If you are running on OS X and get errors related to the AM_ICONV
-# and/or AM_LANGINFO_CODESET macros, replace those 2 lines in
-# configure.in with
-#
-# AC_DEFINE([HAVE_ICONV], [], [Whether we have libiconv available]) LIBICONV="-liconv"
-# AC_SUBST(LIBICONV)
-#
-# See also http://lists.xiph.org/pipermail/flac-dev/2007-September/002384.html
-#
-# Also watchout, if you replace ltmain.sh, there is a bug in some
-# versions of libtool (or maybe autoconf) on some platforms where the
-# configure-generated libtool does not have $SED defined. See also:
-#
-# http://lists.gnu.org/archive/html/libtool/2003-11/msg00131.html
+use_symlinks=" --symlink"
-package="flac"
+case $1 in
+ --no-symlink*)
+ use_symlinks=""
+ echo "Copying autotool files instead of using symlinks."
+ ;;
+ *)
+ echo "Using symlinks to autotool files (use --no-symlinks to copy instead)."
+ ;;
+ esac
-olddir=`pwd`
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
-
-cd "$srcdir"
-DIE=0
-
-ACLOCAL_FLAGS="-I m4 $ACLOCAL_FLAGS"
+test_program_errors=0
-echo "checking for autoconf... "
-(autoconf --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "You must have autoconf installed to compile $package."
- echo "Download the appropriate package for your distribution,"
- echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
- DIE=1
+test_program () {
+ if ! command -v $1 >/dev/null 2>&1 ; then
+ echo "Missing program '$1'."
+ test_program_errors=1
+ fi
}
-VERSIONGREP="sed -e s/.*[^0-9\.]\([0-9][0-9]*\.[0-9][0-9]*\).*/\1/"
-VERSIONMKMAJ="sed -e s/\([0-9][0-9]*\)[^0-9].*/\\1/"
-VERSIONMKMIN="sed -e s/.*[0-9][0-9]*\.//"
+for prog in autoconf automake libtool pkg-config ; do
+ test_program $prog
+ done
-# do we need automake?
-if test -r Makefile.am; then
- AM_OPTIONS=`fgrep AUTOMAKE_OPTIONS Makefile.am`
- AM_NEEDED=`echo $AM_OPTIONS | $VERSIONGREP`
- if test x"$AM_NEEDED" = "x$AM_OPTIONS"; then
- AM_NEEDED=""
- fi
- if test -z $AM_NEEDED; then
- echo -n "checking for automake... "
- AUTOMAKE=automake
- ACLOCAL=aclocal
- if ($AUTOMAKE --version < /dev/null > /dev/null 2>&1); then
- echo "yes"
- else
- echo "no"
- AUTOMAKE=
- fi
- else
- echo -n "checking for automake $AM_NEEDED or later... "
- majneeded=`echo $AM_NEEDED | $VERSIONMKMAJ`
- minneeded=`echo $AM_NEEDED | $VERSIONMKMIN`
- for am in automake-$AM_NEEDED automake$AM_NEEDED \
- automake automake-1.7 automake-1.8 automake-1.9 automake-1.10; do
- ($am --version < /dev/null > /dev/null 2>&1) || continue
- ver=`$am --version < /dev/null | head -n 1 | $VERSIONGREP`
- maj=`echo $ver | $VERSIONMKMAJ`
- min=`echo $ver | $VERSIONMKMIN`
- if test $maj -eq $majneeded -a $min -ge $minneeded; then
- AUTOMAKE=$am
- echo $AUTOMAKE
- break
- fi
- done
- test -z $AUTOMAKE && echo "no"
- echo -n "checking for aclocal $AM_NEEDED or later... "
- for ac in aclocal-$AM_NEEDED aclocal$AM_NEEDED \
- aclocal aclocal-1.7 aclocal-1.8 aclocal-1.9 aclocal-1.10; do
- ($ac --version < /dev/null > /dev/null 2>&1) || continue
- ver=`$ac --version < /dev/null | head -n 1 | $VERSIONGREP`
- maj=`echo $ver | $VERSIONMKMAJ`
- min=`echo $ver | $VERSIONMKMIN`
- if test $maj -eq $majneeded -a $min -ge $minneeded; then
- ACLOCAL=$ac
- echo $ACLOCAL
- break
- fi
- done
- test -z $ACLOCAL && echo "no"
- fi
- test -z $AUTOMAKE || test -z $ACLOCAL && {
- echo
- echo "You must have automake installed to compile $package."
- echo "Download the appropriate package for your distribution,"
- echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
- exit 1
- }
-fi
+if test $(uname -s) != "Darwin" ; then
+ test_program gettext
+ fi
-echo -n "checking for libtool... "
-for LIBTOOLIZE in libtoolize glibtoolize nope; do
- ($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 && break
-done
-if test x$LIBTOOLIZE = xnope; then
- echo "nope."
- LIBTOOLIZE=libtoolize
-else
- echo $LIBTOOLIZE
-fi
-($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "You must have libtool installed to compile $package."
- echo "Download the appropriate package for your system,"
- echo "or get the source from one of the GNU ftp sites"
- echo "listed in http://www.gnu.org/order/ftp.html"
- DIE=1
-}
+test $test_program_errors -ne 1 || exit 1
+
+#-------------------------------------------------------------------------------
-if test "$DIE" -eq 1; then
- exit 1
-fi
+set -e
-if test -z "$*"; then
- echo "I am going to run ./configure with no arguments - if you wish "
- echo "to pass any to it, please specify them on the $0 command line."
-fi
+if test $(uname -s) = "OpenBSD" ; then
+ # OpenBSD needs these environment variables set.
+ if test -z "$AUTOCONF_VERSION" ; then
+ AUTOCONF_VERSION=2.69
+ export AUTOCONF_VERSION
+ echo "Defaulting to use AUTOCONF_VERSION version ${AUTOCONF_VERSION}."
+ else
+ echo "Using AUTOCONF_VERSION version ${AUTOCONF_VERSION}."
+ fi
+ if test -z "$AUTOMAKE_VERSION" ; then
+ AUTOMAKE_VERSION=1.15
+ export AUTOMAKE_VERSION
+ echo "Defaulting to use AUTOMAKE_VERSION version ${AUTOMAKE_VERSION}."
+ else
+ echo "Using AUTOMAKE_VERSION version ${AUTOMAKE_VERSION}."
+ fi
+ fi
-echo "Generating configuration files for $package, please wait...."
+srcdir=`dirname $0`
+test -n "$srcdir" && cd "$srcdir"
-echo " $ACLOCAL $ACLOCAL_FLAGS"
-$ACLOCAL $ACLOCAL_FLAGS || exit 1
-echo " $LIBTOOLIZE --automake"
-$LIBTOOLIZE --automake || exit 1
-echo " autoheader"
-autoheader || exit 1
-echo " $AUTOMAKE --add-missing $AUTOMAKE_FLAGS"
-$AUTOMAKE --add-missing $AUTOMAKE_FLAGS || exit 1
-echo " autoconf"
-autoconf || exit 1
+echo "Updating build configuration files for FLAC, please wait...."
-cd $olddir
-$srcdir/configure --enable-maintainer-mode "$@" && echo
+touch config.rpath
+autoreconf --install $use_symlinks --force
+#./configure "$@" && echo
diff --git a/3rdparty/libflac/build/Makefile.in b/3rdparty/libflac/build/Makefile.in
deleted file mode 100644
index e3a5c2a3af1..00000000000
--- a/3rdparty/libflac/build/Makefile.in
+++ /dev/null
@@ -1,375 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-EXTRA_DIST = \
- config.mk \
- exe.mk \
- lib.mk
-
-subdir = build
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu build/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/build/config.mk b/3rdparty/libflac/build/config.mk
deleted file mode 100644
index 477de0fda15..00000000000
--- a/3rdparty/libflac/build/config.mk
+++ /dev/null
@@ -1,52 +0,0 @@
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-#
-# debug/release selection
-#
-
-DEFAULT_BUILD = release
-
-debug : BUILD = debug
-valgrind : BUILD = debug
-release : BUILD = release
-
-# override LINKAGE on OS X until we figure out how to get 'cc -static' to work
-ifeq ($(DARWIN_BUILD),yes)
-LINKAGE =
-else
-debug : LINKAGE = -static
-valgrind : LINKAGE = -dynamic
-release : LINKAGE = -static
-endif
-
-all default: $(DEFAULT_BUILD)
-
-#
-# GNU makefile fragment for emulating stuff normally done by configure
-#
-
-VERSION=\"1.2.1\"
-
-ifeq ($(DARWIN_BUILD),yes)
-CONFIG_CFLAGS=-DHAVE_INTTYPES_H -DHAVE_ICONV -DHAVE_LANGINFO_CODESET -DFLAC__HAS_OGG -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFLAC__SYS_DARWIN -DWORDS_BIGENDIAN
-else
-CONFIG_CFLAGS=-DHAVE_INTTYPES_H -DHAVE_ICONV -DHAVE_LANGINFO_CODESET -DHAVE_SOCKLEN_T -DFLAC__HAS_OGG -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-endif
-
-OGG_INCLUDE_DIR=$(HOME)/local/include
-OGG_LIB_DIR=$(HOME)/local/lib
diff --git a/3rdparty/libflac/build/exe.mk b/3rdparty/libflac/build/exe.mk
deleted file mode 100644
index 89ce2c0e84a..00000000000
--- a/3rdparty/libflac/build/exe.mk
+++ /dev/null
@@ -1,97 +0,0 @@
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-#
-# GNU makefile fragment for building an executable
-#
-
-include $(topdir)/build/config.mk
-
-ifeq ($(DARWIN_BUILD),yes)
-CC = cc
-CCC = c++
-else
-CC = gcc
-CCC = g++
-endif
-NASM = nasm
-LINK = $(CC) $(LINKAGE)
-OBJPATH = $(topdir)/obj
-BINPATH = $(OBJPATH)/$(BUILD)/bin
-LIBPATH = $(OBJPATH)/$(BUILD)/lib
-DEBUG_BINPATH = $(OBJPATH)/debug/bin
-DEBUG_LIBPATH = $(OBJPATH)/debug/lib
-RELEASE_BINPATH = $(OBJPATH)/release/bin
-RELEASE_LIBPATH = $(OBJPATH)/release/lib
-PROGRAM = $(BINPATH)/$(PROGRAM_NAME)
-DEBUG_PROGRAM = $(DEBUG_BINPATH)/$(PROGRAM_NAME)
-RELEASE_PROGRAM = $(RELEASE_BINPATH)/$(PROGRAM_NAME)
-
-debug : CFLAGS = -g -O0 -DDEBUG $(CONFIG_CFLAGS) $(DEBUG_CFLAGS) -W -Wall -Wmissing-prototypes -Wstrict-prototypes -DVERSION=$(VERSION) $(DEFINES) $(INCLUDES)
-valgrind: CFLAGS = -g -O0 -DDEBUG $(CONFIG_CFLAGS) $(DEBUG_CFLAGS) -DFLAC__VALGRIND_TESTING -W -Wall -Wmissing-prototypes -Wstrict-prototypes -DVERSION=$(VERSION) $(DEFINES) $(INCLUDES)
-release : CFLAGS = -O3 -fomit-frame-pointer -funroll-loops -finline-functions -DNDEBUG $(CONFIG_CFLAGS) $(RELEASE_CFLAGS) -W -Wall -Wmissing-prototypes -Wstrict-prototypes -Winline -DFLaC__INLINE=__inline__ -DVERSION=$(VERSION) $(DEFINES) $(INCLUDES)
-
-LFLAGS = -L$(LIBPATH)
-
-DEBUG_OBJS = $(SRCS_C:%.c=%.debug.o) $(SRCS_CC:%.cc=%.debug.o) $(SRCS_CPP:%.cpp=%.debug.o) $(SRCS_NASM:%.nasm=%.debug.o)
-RELEASE_OBJS = $(SRCS_C:%.c=%.release.o) $(SRCS_CC:%.cc=%.release.o) $(SRCS_CPP:%.cpp=%.release.o) $(SRCS_NASM:%.nasm=%.release.o)
-
-debug : $(DEBUG_PROGRAM)
-valgrind: $(DEBUG_PROGRAM)
-release : $(RELEASE_PROGRAM)
-
-# by default on OS X we link with static libs as much as possible
-
-$(DEBUG_PROGRAM) : $(DEBUG_OBJS)
-ifeq ($(DARWIN_BUILD),yes)
- $(LINK) -o $@ $(DEBUG_OBJS) $(EXPLICIT_LIBS)
-else
- $(LINK) -o $@ $(DEBUG_OBJS) $(LFLAGS) $(LIBS)
-endif
-
-$(RELEASE_PROGRAM) : $(RELEASE_OBJS)
-ifeq ($(DARWIN_BUILD),yes)
- $(LINK) -o $@ $(RELEASE_OBJS) $(EXPLICIT_LIBS)
-else
- $(LINK) -o $@ $(RELEASE_OBJS) $(LFLAGS) $(LIBS)
-endif
-
-%.debug.o %.release.o : %.c
- $(CC) $(CFLAGS) -c $< -o $@
-%.debug.o %.release.o : %.cc
- $(CCC) $(CFLAGS) -c $< -o $@
-%.debug.o %.release.o : %.cpp
- $(CCC) $(CFLAGS) -c $< -o $@
-%.debug.i %.release.i : %.c
- $(CC) $(CFLAGS) -E $< -o $@
-%.debug.i %.release.i : %.cc
- $(CCC) $(CFLAGS) -E $< -o $@
-%.debug.i %.release.i : %.cpp
- $(CCC) $(CFLAGS) -E $< -o $@
-
-%.debug.o : %.nasm
- $(NASM) -f elf -d OBJ_FORMAT_elf -i ia32/ -g $< -o $@
-%.release.o : %.nasm
- $(NASM) -f elf -d OBJ_FORMAT_elf -i ia32/ $< -o $@
-
-.PHONY : clean
-clean :
- -rm -f $(DEBUG_OBJS) $(RELEASE_OBJS) $(OBJPATH)/*/bin/$(PROGRAM_NAME)
-
-.PHONY : depend
-depend:
- makedepend -fMakefile.lite -- $(CFLAGS) $(INCLUDES) -- *.c *.cc *.cpp
diff --git a/3rdparty/libflac/build/lib.mk b/3rdparty/libflac/build/lib.mk
deleted file mode 100644
index 4480bbd0e98..00000000000
--- a/3rdparty/libflac/build/lib.mk
+++ /dev/null
@@ -1,124 +0,0 @@
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-#
-# GNU makefile fragment for building a library
-#
-
-include $(topdir)/build/config.mk
-
-ifeq ($(DARWIN_BUILD),yes)
-CC = cc
-CCC = c++
-else
-CC = gcc
-CCC = g++
-endif
-AS = as
-NASM = nasm
-LINK = ar cru
-OBJPATH = $(topdir)/obj
-LIBPATH = $(OBJPATH)/$(BUILD)/lib
-DEBUG_LIBPATH = $(OBJPATH)/debug/lib
-RELEASE_LIBPATH = $(OBJPATH)/release/lib
-ifeq ($(DARWIN_BUILD),yes)
-STATIC_LIB_SUFFIX = a
-DYNAMIC_LIB_SUFFIX = dylib
-else
-STATIC_LIB_SUFFIX = a
-DYNAMIC_LIB_SUFFIX = so
-endif
-STATIC_LIB_NAME = $(LIB_NAME).$(STATIC_LIB_SUFFIX)
-DYNAMIC_LIB_NAME = $(LIB_NAME).$(DYNAMIC_LIB_SUFFIX)
-STATIC_LIB = $(LIBPATH)/$(STATIC_LIB_NAME)
-DYNAMIC_LIB = $(LIBPATH)/$(DYNAMIC_LIB_NAME)
-DEBUG_STATIC_LIB = $(DEBUG_LIBPATH)/$(STATIC_LIB_NAME)
-DEBUG_DYNAMIC_LIB = $(DEBUG_LIBPATH)/$(DYNAMIC_LIB_NAME)
-RELEASE_STATIC_LIB = $(RELEASE_LIBPATH)/$(STATIC_LIB_NAME)
-RELEASE_DYNAMIC_LIB = $(RELEASE_LIBPATH)/$(DYNAMIC_LIB_NAME)
-ifeq ($(DARWIN_BUILD),yes)
-LINKD = $(CC) -dynamiclib -flat_namespace -undefined suppress -install_name $(DYNAMIC_LIB)
-else
-LINKD = $(CC) -shared
-endif
-
-debug : CFLAGS = -g -O0 -DDEBUG $(CONFIG_CFLAGS) $(DEBUG_CFLAGS) -W -Wall -Wmissing-prototypes -Wstrict-prototypes -DVERSION=$(VERSION) $(DEFINES) $(INCLUDES)
-valgrind: CFLAGS = -g -O0 -DDEBUG $(CONFIG_CFLAGS) $(DEBUG_CFLAGS) -DFLAC__VALGRIND_TESTING -W -Wall -Wmissing-prototypes -Wstrict-prototypes -DVERSION=$(VERSION) $(DEFINES) $(INCLUDES)
-release : CFLAGS = -O3 -fomit-frame-pointer -funroll-loops -finline-functions -DNDEBUG $(CONFIG_CFLAGS) $(RELEASE_CFLAGS) -W -Wall -Wmissing-prototypes -Wstrict-prototypes -Winline -DFLaC__INLINE=__inline__ -DVERSION=$(VERSION) $(DEFINES) $(INCLUDES)
-
-LFLAGS = -L$(LIBPATH)
-
-DEBUG_OBJS = $(SRCS_C:%.c=%.debug.o) $(SRCS_CC:%.cc=%.debug.o) $(SRCS_CPP:%.cpp=%.debug.o) $(SRCS_NASM:%.nasm=%.debug.o) $(SRCS_S:%.s=%.debug.o)
-RELEASE_OBJS = $(SRCS_C:%.c=%.release.o) $(SRCS_CC:%.cc=%.release.o) $(SRCS_CPP:%.cpp=%.release.o) $(SRCS_NASM:%.nasm=%.release.o) $(SRCS_S:%.s=%.release.o)
-
-debug : $(DEBUG_STATIC_LIB) $(DEBUG_DYNAMIC_LIB)
-valgrind: $(DEBUG_STATIC_LIB) $(DEBUG_DYNAMIC_LIB)
-release : $(RELEASE_STATIC_LIB) $(RELEASE_DYNAMIC_LIB)
-
-$(DEBUG_STATIC_LIB): $(DEBUG_OBJS)
- $(LINK) $@ $(DEBUG_OBJS) && ranlib $@
-
-$(RELEASE_STATIC_LIB): $(RELEASE_OBJS)
- $(LINK) $@ $(RELEASE_OBJS) && ranlib $@
-
-$(DEBUG_DYNAMIC_LIB) : $(DEBUG_OBJS)
-ifeq ($(DARWIN_BUILD),yes)
- echo Not building dynamic lib, command is: $(LINKD) -o $@ $(DEBUG_OBJS) $(LFLAGS) $(LIBS) -lc
-else
- $(LINKD) -o $@ $(DEBUG_OBJS) $(LFLAGS) $(LIBS)
-endif
-
-$(RELEASE_DYNAMIC_LIB) : $(RELEASE_OBJS)
-ifeq ($(DARWIN_BUILD),yes)
- echo Not building dynamic lib, command is: $(LINKD) -o $@ $(RELEASE_OBJS) $(LFLAGS) $(LIBS) -lc
-else
- $(LINKD) -o $@ $(RELEASE_OBJS) $(LFLAGS) $(LIBS)
-endif
-
-%.debug.o %.release.o : %.c
- $(CC) $(CFLAGS) -c $< -o $@
-%.debug.o %.release.o : %.cc
- $(CCC) $(CFLAGS) -c $< -o $@
-%.debug.o %.release.o : %.cpp
- $(CCC) $(CFLAGS) -c $< -o $@
-%.debug.i %.release.i : %.c
- $(CC) $(CFLAGS) -E $< -o $@
-%.debug.i %.release.i : %.cc
- $(CCC) $(CFLAGS) -E $< -o $@
-%.debug.i %.release.i : %.cpp
- $(CCC) $(CFLAGS) -E $< -o $@
-
-%.debug.o %.release.o : %.s
-ifeq ($(DARWIN_BUILD),yes)
- #$(CC) -c -arch ppc -Wall -force_cpusubtype_ALL $< -o $@
- $(AS) -arch ppc -force_cpusubtype_ALL $< -o $@
-else
- $(AS) $< -o $@
-endif
-
-%.debug.o : %.nasm
- $(NASM) -f elf -d OBJ_FORMAT_elf -i ia32/ -g $< -o $@
-%.release.o : %.nasm
- $(NASM) -f elf -d OBJ_FORMAT_elf -i ia32/ $< -o $@
-
-.PHONY : clean
-clean :
- -rm -f $(DEBUG_OBJS) $(RELEASE_OBJS) $(OBJPATH)/*/lib/$(STATIC_LIB_NAME) $(OBJPATH)/*/lib/$(DYNAMIC_LIB_NAME)
-
-.PHONY : depend
-depend:
- makedepend -fMakefile.lite -- $(CFLAGS) $(INCLUDES) -- *.c *.cc *.cpp
diff --git a/3rdparty/libflac/cmake/CheckA64NEON.c.in b/3rdparty/libflac/cmake/CheckA64NEON.c.in
new file mode 100644
index 00000000000..4d43d4fa5e8
--- /dev/null
+++ b/3rdparty/libflac/cmake/CheckA64NEON.c.in
@@ -0,0 +1,6 @@
+#include <arm_neon.h>
+int main (void)
+{
+ float64x2_t tmp;
+ tmp = vdupq_n_f64(0.0f);
+}
diff --git a/3rdparty/libflac/cmake/CheckA64NEON.cmake b/3rdparty/libflac/cmake/CheckA64NEON.cmake
new file mode 100644
index 00000000000..247b864856c
--- /dev/null
+++ b/3rdparty/libflac/cmake/CheckA64NEON.cmake
@@ -0,0 +1,14 @@
+macro(CHECK_A64NEON VARIABLE)
+ if(NOT DEFINED HAVE_${VARIABLE})
+ message(STATUS "Check whether A64 NEON can be used")
+ configure_file(${PROJECT_SOURCE_DIR}/cmake/CheckA64NEON.c.in ${PROJECT_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckA64NEON.c @ONLY)
+ try_compile(HAVE_${VARIABLE} "${PROJECT_BINARY_DIR}"
+ "${PROJECT_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckA64NEON.c")
+ if(HAVE_${VARIABLE})
+ message(STATUS "Check whether A64 NEON can be used - yes")
+ set(${VARIABLE} 1 CACHE INTERNAL "Result of CHECK_A64NEON" FORCE)
+ else ()
+ message(STATUS "Check whether A64 NEON can be used - no")
+ endif()
+ endif ()
+endmacro(CHECK_A64NEON)
diff --git a/3rdparty/libflac/cmake/CheckCPUArch.c.in b/3rdparty/libflac/cmake/CheckCPUArch.c.in
new file mode 100644
index 00000000000..54931394745
--- /dev/null
+++ b/3rdparty/libflac/cmake/CheckCPUArch.c.in
@@ -0,0 +1,7 @@
+int main(void) {
+#if @CHECK_CPU_ARCH_DEFINES@
+ return 0;
+#else
+ fail
+#endif
+}
diff --git a/3rdparty/libflac/cmake/CheckCPUArch.cmake b/3rdparty/libflac/cmake/CheckCPUArch.cmake
new file mode 100644
index 00000000000..665fa615019
--- /dev/null
+++ b/3rdparty/libflac/cmake/CheckCPUArch.cmake
@@ -0,0 +1,27 @@
+macro(_CHECK_CPU_ARCH ARCH ARCH_DEFINES VARIABLE)
+ if(NOT DEFINED HAVE_${VARIABLE})
+ message(STATUS "Check CPU architecture is ${ARCH}")
+ set(CHECK_CPU_ARCH_DEFINES ${ARCH_DEFINES})
+ configure_file(${PROJECT_SOURCE_DIR}/cmake/CheckCPUArch.c.in ${PROJECT_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckCPUArch.c @ONLY)
+ try_compile(HAVE_${VARIABLE} "${PROJECT_BINARY_DIR}"
+ "${PROJECT_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckCPUArch.c")
+ if(HAVE_${VARIABLE})
+ message(STATUS "Check CPU architecture is ${ARCH} - yes")
+ set(${VARIABLE} 1 CACHE INTERNAL "Result of CHECK_CPU_ARCH" FORCE)
+ else ()
+ message(STATUS "Check CPU architecture is ${ARCH} - no")
+ endif()
+ endif ()
+endmacro(_CHECK_CPU_ARCH)
+
+macro(CHECK_CPU_ARCH_X64 VARIABLE)
+ _CHECK_CPU_ARCH(x64 "defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(_M_X64) || defined(_M_AMD64)" ${VARIABLE})
+endmacro(CHECK_CPU_ARCH_X64)
+
+macro(CHECK_CPU_ARCH_X86 VARIABLE)
+ _CHECK_CPU_ARCH(x86 "defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) ||defined( __i386) || defined(_M_IX86)" ${VARIABLE})
+endmacro(CHECK_CPU_ARCH_X86)
+
+macro(CHECK_CPU_ARCH_ARM64 VARIABLE)
+ _CHECK_CPU_ARCH(arm64 "defined(__aarch64__) || defined(__arm64__)" ${VARIABLE})
+endmacro(CHECK_CPU_ARCH_ARM64)
diff --git a/3rdparty/libflac/cmake/FindOgg.cmake b/3rdparty/libflac/cmake/FindOgg.cmake
new file mode 100644
index 00000000000..b60c3526dde
--- /dev/null
+++ b/3rdparty/libflac/cmake/FindOgg.cmake
@@ -0,0 +1,26 @@
+find_package(PkgConfig)
+pkg_check_modules(_OGG QUIET ogg)
+
+find_path(OGG_INCLUDE_DIR
+ NAMES "ogg/ogg.h"
+ PATHS ${_OGG_INCLUDE_DIRS})
+
+find_library(OGG_LIBRARY
+ NAMES ogg libogg
+ HINTS ${_OGG_LIBRARY_DIRS})
+
+mark_as_advanced(
+ OGG_INCLUDE_DIR
+ OGG_LIBRARY)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Ogg
+ REQUIRED_VARS OGG_INCLUDE_DIR OGG_LIBRARY
+ VERSION_VAR _OGG_VERSION)
+
+if(OGG_FOUND AND NOT TARGET Ogg::ogg)
+ add_library(Ogg::ogg UNKNOWN IMPORTED)
+ set_target_properties(Ogg::ogg PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${OGG_INCLUDE_DIR}"
+ IMPORTED_LOCATION "${OGG_LIBRARY}")
+endif()
diff --git a/3rdparty/libflac/cmake/UseSystemExtensions.cmake b/3rdparty/libflac/cmake/UseSystemExtensions.cmake
new file mode 100644
index 00000000000..604f4d369b4
--- /dev/null
+++ b/3rdparty/libflac/cmake/UseSystemExtensions.cmake
@@ -0,0 +1,63 @@
+include(CheckCSourceCompiles)
+
+check_c_source_compiles("
+ #include <wchar.h>
+ mbstate_t x;
+ int main() { return 0; }"
+ HAVE_MBSTATE)
+if(NOT HAVE_MBSTATE)
+ check_c_source_compiles("
+ #define _XOPEN_SOURCE 500
+ #include <wchar.h>
+ mbstate_t x;
+ int main() { return 0; }"
+ DODEFINE_XOPEN_SOURCE)
+endif()
+check_c_source_compiles("
+ #define __EXTENSIONS__ 1
+ #include <stdio.h>
+ #ifdef HAVE_SYS_TYPES_H
+ # include <sys/types.h>
+ #endif
+ #ifdef HAVE_SYS_STAT_H
+ # include <sys/stat.h>
+ #endif
+ #ifdef STDC_HEADERS
+ # include <stdlib.h>
+ # include <stddef.h>
+ #else
+ # ifdef HAVE_STDLIB_H
+ # include <stdlib.h>
+ # endif
+ #endif
+ #ifdef HAVE_STRING_H
+ # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+ # include <memory.h>
+ # endif
+ # include <string.h>
+ #endif
+ #ifdef HAVE_STRINGS_H
+ # include <strings.h>
+ #endif
+ #ifdef HAVE_INTTYPES_H
+ # include <inttypes.h>
+ #endif
+ #ifdef HAVE_STDINT_H
+ # include <stdint.h>
+ #endif
+ #ifdef HAVE_UNISTD_H
+ # include <unistd.h>
+ #endif
+ int main() { return 0; }"
+ DODEFINE_EXTENSIONS)
+
+add_definitions(
+ -D_DARWIN_C_SOURCE
+ -D_POSIX_PTHREAD_SEMANTICS
+ -D__STDC_WANT_IEC_60559_BFP_EXT__
+ -D__STDC_WANT_IEC_60559_DFP_EXT__
+ -D__STDC_WANT_IEC_60559_FUNCS_EXT__
+ -D__STDC_WANT_IEC_60559_TYPES_EXT__
+ -D__STDC_WANT_LIB_EXT2__
+ -D__STDC_WANT_MATH_SPEC_FUNCS__
+ -D_TANDEM_SOURCE)
diff --git a/3rdparty/libflac/compile b/3rdparty/libflac/compile
new file mode 100755
index 00000000000..df363c8fbfb
--- /dev/null
+++ b/3rdparty/libflac/compile
@@ -0,0 +1,348 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand '-c -o'.
+
+scriptversion=2018-03-07.03; # UTC
+
+# Copyright (C) 1999-2021 Free Software Foundation, Inc.
+# Written by Tom Tromey <tromey@cygnus.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+nl='
+'
+
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" "" $nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+ file=$1
+ case $file in
+ / | /[!/]*) # absolute file, and not a UNC file
+ if test -z "$file_conv"; then
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+ file_conv=mingw
+ ;;
+ CYGWIN* | MSYS*)
+ file_conv=cygwin
+ ;;
+ *)
+ file_conv=wine
+ ;;
+ esac
+ fi
+ case $file_conv/,$2, in
+ *,$file_conv,*)
+ ;;
+ mingw/*)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+ cygwin/* | msys/*)
+ file=`cygpath -m "$file" || echo "$file"`
+ ;;
+ wine/*)
+ file=`winepath -w "$file" || echo "$file"`
+ ;;
+ esac
+ ;;
+ esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+ func_file_conv "$1"
+ if test -z "$lib_path"; then
+ lib_path=$file
+ else
+ lib_path="$lib_path;$file"
+ fi
+ linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+ lib=$1
+ found=no
+ save_IFS=$IFS
+ IFS=';'
+ for dir in $lib_path $LIB
+ do
+ IFS=$save_IFS
+ if $shared && test -f "$dir/$lib.dll.lib"; then
+ found=yes
+ lib=$dir/$lib.dll.lib
+ break
+ fi
+ if test -f "$dir/$lib.lib"; then
+ found=yes
+ lib=$dir/$lib.lib
+ break
+ fi
+ if test -f "$dir/lib$lib.a"; then
+ found=yes
+ lib=$dir/lib$lib.a
+ break
+ fi
+ done
+ IFS=$save_IFS
+
+ if test "$found" != yes; then
+ lib=$lib.lib
+ fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+ # Assume a capable shell
+ lib_path=
+ shared=:
+ linker_opts=
+ for arg
+ do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ eat=1
+ case $2 in
+ *.o | *.[oO][bB][jJ])
+ func_file_conv "$2"
+ set x "$@" -Fo"$file"
+ shift
+ ;;
+ *)
+ func_file_conv "$2"
+ set x "$@" -Fe"$file"
+ shift
+ ;;
+ esac
+ ;;
+ -I)
+ eat=1
+ func_file_conv "$2" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -I*)
+ func_file_conv "${1#-I}" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -l)
+ eat=1
+ func_cl_dashl "$2"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -l*)
+ func_cl_dashl "${1#-l}"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -L)
+ eat=1
+ func_cl_dashL "$2"
+ ;;
+ -L*)
+ func_cl_dashL "${1#-L}"
+ ;;
+ -static)
+ shared=false
+ ;;
+ -Wl,*)
+ arg=${1#-Wl,}
+ save_ifs="$IFS"; IFS=','
+ for flag in $arg; do
+ IFS="$save_ifs"
+ linker_opts="$linker_opts $flag"
+ done
+ IFS="$save_ifs"
+ ;;
+ -Xlinker)
+ eat=1
+ linker_opts="$linker_opts $2"
+ ;;
+ -*)
+ set x "$@" "$1"
+ shift
+ ;;
+ *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+ func_file_conv "$1"
+ set x "$@" -Tp"$file"
+ shift
+ ;;
+ *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+ func_file_conv "$1" mingw
+ set x "$@" "$file"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+ done
+ if test -n "$linker_opts"; then
+ linker_opts="-link$linker_opts"
+ fi
+ exec "$@" $linker_opts
+ exit 1
+}
+
+eat=
+
+case $1 in
+ '')
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file 'INSTALL'.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "compile $scriptversion"
+ exit $?
+ ;;
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
+ func_cl_wrapper "$@" # Doesn't return...
+ ;;
+esac
+
+ofile=
+cfile=
+
+for arg
+do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ # So we strip '-o arg' only if arg is an object.
+ eat=1
+ case $2 in
+ *.o | *.obj)
+ ofile=$2
+ ;;
+ *)
+ set x "$@" -o "$2"
+ shift
+ ;;
+ esac
+ ;;
+ *.c)
+ cfile=$1
+ set x "$@" "$1"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+ # If no '-o' option was seen then we might have been invoked from a
+ # pattern rule where we don't need one. That is ok -- this is a
+ # normal compilation that the losing compiler can handle. If no
+ # '.c' file was seen then we are probably linking. That is also
+ # ok.
+ exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file. Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+ if mkdir "$lockdir" >/dev/null 2>&1; then
+ break
+ fi
+ sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/3rdparty/libflac/config.cmake.h.in b/3rdparty/libflac/config.cmake.h.in
new file mode 100644
index 00000000000..acc73f0849b
--- /dev/null
+++ b/3rdparty/libflac/config.cmake.h.in
@@ -0,0 +1,223 @@
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define if building universal (internal helper macro) */
+#cmakedefine AC_APPLE_UNIVERSAL_BUILD
+
+/* Target processor is big endian. */
+#cmakedefine01 CPU_IS_BIG_ENDIAN
+
+/* Target processor ARM64 */
+#cmakedefine FLAC__CPU_ARM64
+
+/* Set FLAC__BYTES_PER_WORD to 8 (4 is the default) */
+#cmakedefine01 ENABLE_64_BIT_WORDS
+
+/* define to align allocated memory on 32-byte boundaries */
+#cmakedefine FLAC__ALIGN_MALLOC_DATA
+
+/* define if you have docbook-to-man or docbook2man */
+#cmakedefine FLAC__HAS_DOCBOOK_TO_MAN
+
+/* define if you have the ogg library */
+#cmakedefine01 OGG_FOUND
+#define FLAC__HAS_OGG OGG_FOUND
+
+/* Set to 1 if <x86intrin.h> is available. */
+#cmakedefine01 FLAC__HAS_X86INTRIN
+
+/* Set to 1 if <arm_neon.h> is available. */
+#cmakedefine01 FLAC__HAS_NEONINTRIN
+
+/* Set to 1 if <arm_neon.h> contains A64 intrinsics */
+#cmakedefine01 FLAC__HAS_A64NEONINTRIN
+
+/* define if building for Darwin / MacOS X */
+#cmakedefine FLAC__SYS_DARWIN
+
+/* define if building for Linux */
+#cmakedefine FLAC__SYS_LINUX
+
+/* define to enable use of AVX instructions */
+#cmakedefine WITH_AVX
+#ifdef WITH_AVX
+ #define FLAC__USE_AVX
+#endif
+
+/* Define to the commit date of the current git HEAD */
+#cmakedefine GIT_COMMIT_DATE "@GIT_COMMIT_DATE@"
+
+/* Define to the short hash of the current git HEAD */
+#cmakedefine GIT_COMMIT_HASH "@GIT_COMMIT_HASH@"
+
+/* Define to the tag of the current git HEAD */
+#cmakedefine GIT_COMMIT_TAG "@GIT_COMMIT_TAG@"
+
+/* Compiler has the __builtin_bswap16 intrinsic */
+#cmakedefine HAVE_BSWAP16
+
+/* Compiler has the __builtin_bswap32 intrinsic */
+#cmakedefine HAVE_BSWAP32
+
+/* Define to 1 if you have the <byteswap.h> header file. */
+#cmakedefine HAVE_BYTESWAP_H
+
+/* define if you have clock_gettime */
+#cmakedefine HAVE_CLOCK_GETTIME
+
+/* Define to 1 if you have the <cpuid.h> header file. */
+#cmakedefine HAVE_CPUID_H
+
+/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
+#cmakedefine HAVE_FSEEKO
+
+/* Define to 1 if you have the `getopt_long' function. */
+#cmakedefine HAVE_GETOPT_LONG
+
+/* Define if you have the iconv() function and it works. */
+#cmakedefine HAVE_ICONV
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#cmakedefine HAVE_INTTYPES_H
+
+/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+#cmakedefine HAVE_LANGINFO_CODESET
+
+/* lround support */
+#cmakedefine01 HAVE_LROUND
+
+/* Define to 1 if you have the <memory.h> header file. */
+#cmakedefine HAVE_MEMORY_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#cmakedefine HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#cmakedefine HAVE_STDLIB_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#cmakedefine HAVE_STRING_H
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#cmakedefine HAVE_SYS_IOCTL_H
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#cmakedefine HAVE_SYS_PARAM_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#cmakedefine HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#cmakedefine HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <termios.h> header file. */
+#cmakedefine HAVE_TERMIOS_H
+
+/* Define to 1 if typeof works with your compiler. */
+#cmakedefine HAVE_TYPEOF
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#cmakedefine HAVE_UNISTD_H
+
+/* Define to 1 if you have the <x86intrin.h> header file. */
+#cmakedefine HAVE_X86INTRIN_H
+
+/* Define as const if the declaration of iconv() needs const. */
+#cmakedefine ICONV_CONST
+
+/* Define if debugging is disabled */
+#cmakedefine NDEBUG
+
+/* Name of package */
+#cmakedefine PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#cmakedefine PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#cmakedefine PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#cmakedefine PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#cmakedefine PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#cmakedefine PACKAGE_URL
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "@PROJECT_VERSION@"
+
+/* The size of `off_t', as computed by sizeof. */
+#cmakedefine SIZEOF_OFF_T
+
+/* The size of `void*', as computed by sizeof. */
+#cmakedefine SIZEOF_VOIDP
+
+/* Enable extensions on AIX 3, Interix. */
+#ifndef _ALL_SOURCE
+#define _ALL_SOURCE
+#endif
+
+/* Enable GNU extensions on systems that have them. */
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+
+#ifndef _XOPEN_SOURCE
+#cmakedefine DODEFINE_XOPEN_SOURCE 500
+#ifdef DODEFINE_XOPEN_SOURCE
+#define _XOPEN_SOURCE DODEFINE_XOPEN_SOURCE
+#endif
+#endif
+
+/* Enable threading extensions on Solaris. */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+#cmakedefine _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop. */
+#ifndef _TANDEM_SOURCE
+#cmakedefine _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris. */
+#ifndef __EXTENSIONS__
+#cmakedefine DODEFINE_EXTENSIONS
+#ifdef DODEFINE_EXTENSIONS
+#define __EXTENSIONS__ DODEFINE_EXTENSIONS
+#endif
+#endif
+
+
+/* Target processor is big endian. */
+#define WORDS_BIGENDIAN CPU_IS_BIG_ENDIAN
+
+/* Enable large inode numbers on Mac OS X 10.5. */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+#ifndef _FILE_OFFSET_BITS
+# define _FILE_OFFSET_BITS 64
+#endif
+
+/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
+#ifndef _LARGEFILE_SOURCE
+# define _LARGEFILE_SOURCE
+#endif
+
+/* Define for large files, on AIX-style hosts. */
+#cmakedefine _LARGE_FILES
+
+/* Define to 1 if on MINIX. */
+#cmakedefine _MINIX
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+ this defined. */
+#cmakedefine _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#cmakedefine _POSIX_SOURCE
+
+/* Define to __typeof__ if your compiler spells it that way. */
+#cmakedefine typeof
diff --git a/3rdparty/libflac/config.guess b/3rdparty/libflac/config.guess
index 2fc3acce2ea..7f76b6228f7 100644..100755
--- a/3rdparty/libflac/config.guess
+++ b/3rdparty/libflac/config.guess
@@ -1,13 +1,14 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright 1992-2022 Free Software Foundation, Inc.
-timestamp='2003-06-17'
+# shellcheck disable=SC2006,SC2268 # see below for rationale
+
+timestamp='2022-01-09'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
@@ -16,24 +17,30 @@ timestamp='2003-06-17'
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Per Bothner <per@bothner.com>.
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
+# You can get the latest version of this script from:
+# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
+#
+# Please send patches to <config-patches@gnu.org>.
+
+
+# The "shellcheck disable" line above the timestamp inhibits complaints
+# about features and limitations of the classic Bourne shell that were
+# superseded or lifted in POSIX. However, this script identifies a wide
+# variety of pre-POSIX systems that do not have POSIX shells at all, and
+# even some reasonably current systems (Solaris 10 as case-in-point) still
+# have a pre-POSIX /bin/sh.
+
me=`echo "$0" | sed -e 's,.*/,,'`
@@ -42,7 +49,7 @@ Usage: $0 [OPTION]
Output the configuration name of the system \`$me' is run on.
-Operation modes:
+Options:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
@@ -53,8 +60,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
+Copyright 1992-2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -66,11 +72,11 @@ Try \`$me --help' for more information."
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
- echo "$timestamp" ; exit 0 ;;
+ echo "$timestamp" ; exit ;;
--version | -v )
- echo "$version" ; exit 0 ;;
+ echo "$version" ; exit ;;
--help | --h* | -h )
- echo "$usage"; exit 0 ;;
+ echo "$usage"; exit ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
@@ -88,7 +94,8 @@ if test $# != 0; then
exit 1
fi
-trap 'exit 1' 1 2 15
+# Just in case it came from the environment.
+GUESS=
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
@@ -100,55 +107,93 @@ trap 'exit 1' 1 2 15
# Portable tmp directory creation inspired by the Autoconf team.
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int x;" > $dummy.c ;
- for c in cc gcc c89 c99 ; do
- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
- CC_FOR_BUILD="$c"; break ;
- fi ;
- done ;
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found ;
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ;'
+tmp=
+# shellcheck disable=SC2172
+trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
+
+set_cc_for_build() {
+ # prevent multiple calls if $tmp is already set
+ test "$tmp" && return 0
+ : "${TMPDIR=/tmp}"
+ # shellcheck disable=SC2039,SC3028
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
+ dummy=$tmp/dummy
+ case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
+ ,,) echo "int x;" > "$dummy.c"
+ for driver in cc gcc c89 c99 ; do
+ if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
+ CC_FOR_BUILD=$driver
+ break
+ fi
+ done
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+ esac
+}
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+if test -f /.attbin/uname ; then
PATH=$PATH:/.attbin ; export PATH
fi
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-## for Red Hat Linux
-if test -f /etc/redhat-release ; then
- VENDOR=redhat ;
-else
- VENDOR= ;
-fi
+case $UNAME_SYSTEM in
+Linux|GNU|GNU/*)
+ LIBC=unknown
+
+ set_cc_for_build
+ cat <<-EOF > "$dummy.c"
+ #include <features.h>
+ #if defined(__UCLIBC__)
+ LIBC=uclibc
+ #elif defined(__dietlibc__)
+ LIBC=dietlibc
+ #elif defined(__GLIBC__)
+ LIBC=gnu
+ #else
+ #include <stdarg.h>
+ /* First heuristic to detect musl libc. */
+ #ifdef __DEFINED_va_list
+ LIBC=musl
+ #endif
+ #endif
+ EOF
+ cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+ eval "$cc_set_libc"
+
+ # Second heuristic to detect musl libc.
+ if [ "$LIBC" = unknown ] &&
+ command -v ldd >/dev/null &&
+ ldd --version 2>&1 | grep -q ^musl; then
+ LIBC=musl
+ fi
+
+ # If the system lacks a compiler, then just pick glibc.
+ # We could probably try harder.
+ if [ "$LIBC" = unknown ]; then
+ LIBC=gnu
+ fi
+ ;;
+esac
# Note: order is significant - the case branches are not exclusive.
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
*:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
# switched to ELF, *-*-netbsd* would select the old
# object file format. This provides both forward
@@ -157,23 +202,34 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
#
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
- sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
- case "${UNAME_MACHINE_ARCH}" in
+ UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+ /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
+ /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
+ echo unknown)`
+ case $UNAME_MACHINE_ARCH in
+ aarch64eb) machine=aarch64_be-unknown ;;
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
+ earmv*)
+ arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+ endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
+ machine=${arch}${endian}-unknown
+ ;;
+ *) machine=$UNAME_MACHINE_ARCH-unknown ;;
esac
# The Operating System including object format, if it has switched
- # to ELF recently, or will in the future.
- case "${UNAME_MACHINE_ARCH}" in
+ # to ELF recently (or will in the future) and ABI.
+ case $UNAME_MACHINE_ARCH in
+ earm*)
+ os=netbsdelf
+ ;;
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval $set_cc_for_build
+ set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep __ELF__ >/dev/null
+ | grep -q __ELF__
then
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
# Return netbsd for either. FIX?
@@ -183,7 +239,14 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
fi
;;
*)
- os=netbsd
+ os=netbsd
+ ;;
+ esac
+ # Determine ABI tags.
+ case $UNAME_MACHINE_ARCH in
+ earm*)
+ expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+ abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
;;
esac
# The OS release
@@ -191,195 +254,233 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# thus, need a distinct triplet. However, they do not need
# kernel version information, so it can be replaced with a
# suitable tag, in the style of linux-gnu.
- case "${UNAME_VERSION}" in
+ case $UNAME_VERSION in
Debian*)
release='-gnu'
;;
*)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
- exit 0 ;;
- amiga:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- arc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- hp300:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mac68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- macppc:OpenBSD:*:*)
- echo powerpc-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme88k:OpenBSD:*:*)
- echo m88k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvmeppc:OpenBSD:*:*)
- echo powerpc-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- pmax:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sgi:OpenBSD:*:*)
- echo mipseb-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sun3:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- wgrisc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=$machine-${os}${release}${abi-}
+ ;;
+ *:Bitrig:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+ GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
+ ;;
*:OpenBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
+ ;;
+ *:SecBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
+ GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
+ ;;
+ *:LibertyBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+ GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
+ ;;
+ *:MidnightBSD:*:*)
+ GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
+ ;;
+ *:ekkoBSD:*:*)
+ GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
+ ;;
+ *:SolidBSD:*:*)
+ GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
+ ;;
+ *:OS108:*:*)
+ GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
+ ;;
+ macppc:MirBSD:*:*)
+ GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
+ ;;
+ *:MirBSD:*:*)
+ GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
+ ;;
+ *:Sortix:*:*)
+ GUESS=$UNAME_MACHINE-unknown-sortix
+ ;;
+ *:Twizzler:*:*)
+ GUESS=$UNAME_MACHINE-unknown-twizzler
+ ;;
+ *:Redox:*:*)
+ GUESS=$UNAME_MACHINE-unknown-redox
+ ;;
+ mips:OSF1:*.*)
+ GUESS=mips-dec-osf1
+ ;;
alpha:OSF1:*:*)
- if test $UNAME_RELEASE = "V4.0"; then
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+ trap '' 0
+ case $UNAME_RELEASE in
+ *4.0)
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- fi
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
# According to Compaq, /usr/sbin/psrinfo has been available on
# OSF/1 and Tru64 systems produced since 1995. I hope that
# covers most systems running today. This code pipes the CPU
# types through head -n 1, so we only detect the type of CPU 0.
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
- case "$ALPHA_CPU_TYPE" in
+ case $ALPHA_CPU_TYPE in
"EV4 (21064)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"EV4.5 (21064)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"LCA4 (21066/21068)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"EV5 (21164)")
- UNAME_MACHINE="alphaev5" ;;
+ UNAME_MACHINE=alphaev5 ;;
"EV5.6 (21164A)")
- UNAME_MACHINE="alphaev56" ;;
+ UNAME_MACHINE=alphaev56 ;;
"EV5.6 (21164PC)")
- UNAME_MACHINE="alphapca56" ;;
+ UNAME_MACHINE=alphapca56 ;;
"EV5.7 (21164PC)")
- UNAME_MACHINE="alphapca57" ;;
+ UNAME_MACHINE=alphapca57 ;;
"EV6 (21264)")
- UNAME_MACHINE="alphaev6" ;;
+ UNAME_MACHINE=alphaev6 ;;
"EV6.7 (21264A)")
- UNAME_MACHINE="alphaev67" ;;
+ UNAME_MACHINE=alphaev67 ;;
"EV6.8CB (21264C)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.8AL (21264B)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.8CX (21264D)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.9A (21264/EV69A)")
- UNAME_MACHINE="alphaev69" ;;
+ UNAME_MACHINE=alphaev69 ;;
"EV7 (21364)")
- UNAME_MACHINE="alphaev7" ;;
+ UNAME_MACHINE=alphaev7 ;;
"EV7.9 (21364A)")
- UNAME_MACHINE="alphaev79" ;;
+ UNAME_MACHINE=alphaev79 ;;
esac
+ # A Pn.n version is a patched version.
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit 0 ;;
- Alpha*:OpenVMS:*:*)
- echo alpha-hp-vms
- exit 0 ;;
- Alpha\ *:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # Should we change UNAME_MACHINE based on the output of uname instead
- # of the specific Alpha model?
- echo alpha-pc-interix
- exit 0 ;;
- 21064:Windows_NT:50:3)
- echo alpha-dec-winnt3.5
- exit 0 ;;
+ OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+ GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
+ ;;
Amiga*:UNIX_System_V:4.0:*)
- echo m68k-unknown-sysv4
- exit 0;;
+ GUESS=m68k-unknown-sysv4
+ ;;
*:[Aa]miga[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-amigaos
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-unknown-amigaos
+ ;;
*:[Mm]orph[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-morphos
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-unknown-morphos
+ ;;
*:OS/390:*:*)
- echo i370-ibm-openedition
- exit 0 ;;
+ GUESS=i370-ibm-openedition
+ ;;
+ *:z/VM:*:*)
+ GUESS=s390-ibm-zvmoe
+ ;;
+ *:OS400:*:*)
+ GUESS=powerpc-ibm-os400
+ ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
- exit 0;;
+ GUESS=arm-acorn-riscix$UNAME_RELEASE
+ ;;
+ arm*:riscos:*:*|arm*:RISCOS:*:*)
+ GUESS=arm-unknown-riscos
+ ;;
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
- echo hppa1.1-hitachi-hiuxmpp
- exit 0;;
+ GUESS=hppa1.1-hitachi-hiuxmpp
+ ;;
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
- else
- echo pyramid-pyramid-bsd
- fi
- exit 0 ;;
+ case `(/bin/universe) 2>/dev/null` in
+ att) GUESS=pyramid-pyramid-sysv3 ;;
+ *) GUESS=pyramid-pyramid-bsd ;;
+ esac
+ ;;
NILE*:*:*:dcosx)
- echo pyramid-pyramid-svr4
- exit 0 ;;
+ GUESS=pyramid-pyramid-svr4
+ ;;
DRS?6000:unix:4.0:6*)
- echo sparc-icl-nx6
- exit 0 ;;
- DRS?6000:UNIX_SV:4.2*:7*)
+ GUESS=sparc-icl-nx6
+ ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7 && exit 0 ;;
- esac ;;
+ sparc) GUESS=sparc-icl-nx7 ;;
+ esac
+ ;;
+ s390x:SunOS:*:*)
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+ GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
+ ;;
sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+ GUESS=sparc-hal-solaris2$SUN_REL
+ ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- i86pc:SunOS:5.*:*)
- echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+ GUESS=sparc-sun-solaris2$SUN_REL
+ ;;
+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+ GUESS=i386-pc-auroraux$UNAME_RELEASE
+ ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ set_cc_for_build
+ SUN_ARCH=i386
+ # If there is a compiler, see if it is configured for 64-bit objects.
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+ # This test works for both compilers.
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ SUN_ARCH=x86_64
+ fi
+ fi
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+ GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
+ ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+ GUESS=sparc-sun-solaris3$SUN_REL
+ ;;
sun4*:SunOS:*:*)
- case "`/usr/bin/arch -k`" in
+ case `/usr/bin/arch -k` in
Series*|S4*)
UNAME_RELEASE=`uname -v`
;;
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit 0 ;;
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
+ GUESS=sparc-sun-sunos$SUN_REL
+ ;;
sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=m68k-sun-sunos$UNAME_RELEASE
+ ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
- case "`/bin/arch`" in
+ test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
+ case `/bin/arch` in
sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
+ GUESS=m68k-sun-sunos$UNAME_RELEASE
;;
sun4)
- echo sparc-sun-sunos${UNAME_RELEASE}
+ GUESS=sparc-sun-sunos$UNAME_RELEASE
;;
esac
- exit 0 ;;
+ ;;
aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=sparc-auspex-sunos$UNAME_RELEASE
+ ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
# "atarist" or "atariste" at least should have a processor
@@ -389,41 +490,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=m68k-atari-mint$UNAME_RELEASE
+ ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=m68k-atari-mint$UNAME_RELEASE
+ ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=m68k-atari-mint$UNAME_RELEASE
+ ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=m68k-milan-mint$UNAME_RELEASE
+ ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=m68k-hades-mint$UNAME_RELEASE
+ ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=m68k-unknown-mint$UNAME_RELEASE
+ ;;
+ m68k:machten:*:*)
+ GUESS=m68k-apple-machten$UNAME_RELEASE
+ ;;
powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=powerpc-apple-machten$UNAME_RELEASE
+ ;;
RISC*:Mach:*:*)
- echo mips-dec-mach_bsd4.3
- exit 0 ;;
+ GUESS=mips-dec-mach_bsd4.3
+ ;;
RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=mips-dec-ultrix$UNAME_RELEASE
+ ;;
VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=vax-dec-ultrix$UNAME_RELEASE
+ ;;
2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=clipper-intergraph-clix$UNAME_RELEASE
+ ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ set_cc_for_build
+ sed 's/^ //' << EOF > "$dummy.c"
#ifdef __cplusplus
#include <stdio.h> /* for printf() prototype */
int main (int argc, char *argv[]) {
@@ -432,94 +536,96 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
#endif
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_SVR4)
- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
#endif
#endif
exit (-1);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c \
- && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
- && exit 0
- echo mips-mips-riscos${UNAME_RELEASE}
- exit 0 ;;
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
+ dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ GUESS=mips-mips-riscos$UNAME_RELEASE
+ ;;
Motorola:PowerMAX_OS:*:*)
- echo powerpc-motorola-powermax
- exit 0 ;;
+ GUESS=powerpc-motorola-powermax
+ ;;
Motorola:*:4.3:PL8-*)
- echo powerpc-harris-powermax
- exit 0 ;;
+ GUESS=powerpc-harris-powermax
+ ;;
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
- echo powerpc-harris-powermax
- exit 0 ;;
+ GUESS=powerpc-harris-powermax
+ ;;
Night_Hawk:Power_UNIX:*:*)
- echo powerpc-harris-powerunix
- exit 0 ;;
+ GUESS=powerpc-harris-powerunix
+ ;;
m88k:CX/UX:7*:*)
- echo m88k-harris-cxux7
- exit 0 ;;
+ GUESS=m88k-harris-cxux7
+ ;;
m88k:*:4*:R4*)
- echo m88k-motorola-sysv4
- exit 0 ;;
+ GUESS=m88k-motorola-sysv4
+ ;;
m88k:*:3*:R3*)
- echo m88k-motorola-sysv3
- exit 0 ;;
+ GUESS=m88k-motorola-sysv3
+ ;;
AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
- [ ${TARGET_BINARY_INTERFACE}x = x ]
+ if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
+ test "$TARGET_BINARY_INTERFACE"x = x
then
- echo m88k-dg-dgux${UNAME_RELEASE}
+ GUESS=m88k-dg-dgux$UNAME_RELEASE
else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
fi
else
- echo i586-dg-dgux${UNAME_RELEASE}
+ GUESS=i586-dg-dgux$UNAME_RELEASE
fi
- exit 0 ;;
+ ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
- exit 0 ;;
+ GUESS=m88k-dolphin-sysv3
+ ;;
M88*:*:R3*:*)
# Delta 88k system running SVR3
- echo m88k-motorola-sysv3
- exit 0 ;;
+ GUESS=m88k-motorola-sysv3
+ ;;
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- echo m88k-tektronix-sysv3
- exit 0 ;;
+ GUESS=m88k-tektronix-sysv3
+ ;;
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- echo m68k-tektronix-bsd
- exit 0 ;;
+ GUESS=m68k-tektronix-bsd
+ ;;
*:IRIX*:*:*)
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit 0 ;;
+ IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
+ GUESS=mips-sgi-irix$IRIX_REL
+ ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ ;; # Note that: echo "'`uname -s`'" gives 'AIX '
i*86:AIX:*:*)
- echo i386-ibm-aix
- exit 0 ;;
+ GUESS=i386-ibm-aix
+ ;;
ia64:AIX:*:*)
- if [ -x /usr/bin/oslevel ] ; then
+ if test -x /usr/bin/oslevel ; then
IBM_REV=`/usr/bin/oslevel`
else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
fi
- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
+ ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ set_cc_for_build
+ sed 's/^ //' << EOF > "$dummy.c"
#include <sys/systemcfg.h>
main()
@@ -530,128 +636,143 @@ EOF
exit(0);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
- echo rs6000-ibm-aix3.2.5
+ if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
+ then
+ GUESS=$SYSTEM_NAME
+ else
+ GUESS=rs6000-ibm-aix3.2.5
+ fi
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
+ GUESS=rs6000-ibm-aix3.2.4
else
- echo rs6000-ibm-aix3.2
+ GUESS=rs6000-ibm-aix3.2
fi
- exit 0 ;;
- *:AIX:*:[45])
+ ;;
+ *:AIX:*:[4567])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
+ if test -x /usr/bin/lslpp ; then
+ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
+ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit 0 ;;
+ GUESS=$IBM_ARCH-ibm-aix$IBM_REV
+ ;;
*:AIX:*:*)
- echo rs6000-ibm-aix
- exit 0 ;;
- ibmrt:4.4BSD:*|romp-ibm:BSD:*)
- echo romp-ibm-bsd4.4
- exit 0 ;;
+ GUESS=rs6000-ibm-aix
+ ;;
+ ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
+ GUESS=romp-ibm-bsd4.4
+ ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit 0 ;; # report: romp-ibm BSD 4.3
+ GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to
+ ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
- echo rs6000-bull-bosx
- exit 0 ;;
+ GUESS=rs6000-bull-bosx
+ ;;
DPX/2?00:B.O.S.:*:*)
- echo m68k-bull-sysv3
- exit 0 ;;
+ GUESS=m68k-bull-sysv3
+ ;;
9000/[34]??:4.3bsd:1.*:*)
- echo m68k-hp-bsd
- exit 0 ;;
+ GUESS=m68k-hp-bsd
+ ;;
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- echo m68k-hp-bsd4.4
- exit 0 ;;
+ GUESS=m68k-hp-bsd4.4
+ ;;
9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- case "${UNAME_MACHINE}" in
- 9000/31? ) HP_ARCH=m68000 ;;
- 9000/[34]?? ) HP_ARCH=m68k ;;
+ HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
+ case $UNAME_MACHINE in
+ 9000/31?) HP_ARCH=m68000 ;;
+ 9000/[34]??) HP_ARCH=m68k ;;
9000/[678][0-9][0-9])
- if [ -x /usr/bin/getconf ]; then
+ if test -x /usr/bin/getconf; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
- esac ;;
- esac
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case $sc_cpu_version in
+ 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case $sc_kernel_bits in
+ 32) HP_ARCH=hppa2.0n ;;
+ 64) HP_ARCH=hppa2.0w ;;
+ '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
+ esac ;;
+ esac
fi
- if [ "${HP_ARCH}" = "" ]; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-
- #define _HPUX_SOURCE
- #include <stdlib.h>
- #include <unistd.h>
-
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
-
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
+ if test "$HP_ARCH" = ""; then
+ set_cc_for_build
+ sed 's/^ //' << EOF > "$dummy.c"
+
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
EOF
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
- if [ ${HP_ARCH} = "hppa2.0w" ]
+ if test "$HP_ARCH" = hppa2.0w
then
- # avoid double evaluation of $set_cc_for_build
- test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
+ set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep -q __LP64__
then
- HP_ARCH="hppa2.0w"
+ HP_ARCH=hppa2.0w
else
- HP_ARCH="hppa64"
+ HP_ARCH=hppa64
fi
fi
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit 0 ;;
+ GUESS=$HP_ARCH-hp-hpux$HPUX_REV
+ ;;
ia64:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux${HPUX_REV}
- exit 0 ;;
+ HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
+ GUESS=ia64-hp-hpux$HPUX_REV
+ ;;
3050*:HI-UX:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ set_cc_for_build
+ sed 's/^ //' << EOF > "$dummy.c"
#include <unistd.h>
int
main ()
@@ -676,338 +797,429 @@ EOF
exit (0);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
- echo unknown-hitachi-hiuxwe2
- exit 0 ;;
- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
- echo hppa1.1-hp-bsd
- exit 0 ;;
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ GUESS=unknown-hitachi-hiuxwe2
+ ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
+ GUESS=hppa1.1-hp-bsd
+ ;;
9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit 0 ;;
+ GUESS=hppa1.0-hp-bsd
+ ;;
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
- echo hppa1.0-hp-mpeix
- exit 0 ;;
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
- echo hppa1.1-hp-osf
- exit 0 ;;
+ GUESS=hppa1.0-hp-mpeix
+ ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
+ GUESS=hppa1.1-hp-osf
+ ;;
hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit 0 ;;
+ GUESS=hppa1.0-hp-osf
+ ;;
i*86:OSF1:*:*)
- if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-unknown-osf1mk
+ if test -x /usr/sbin/sysversion ; then
+ GUESS=$UNAME_MACHINE-unknown-osf1mk
else
- echo ${UNAME_MACHINE}-unknown-osf1
+ GUESS=$UNAME_MACHINE-unknown-osf1
fi
- exit 0 ;;
+ ;;
parisc*:Lites*:*:*)
- echo hppa1.1-hp-lites
- exit 0 ;;
+ GUESS=hppa1.1-hp-lites
+ ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit 0 ;;
+ GUESS=c1-convex-bsd
+ ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
- exit 0 ;;
+ exit ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- echo c34-convex-bsd
- exit 0 ;;
+ GUESS=c34-convex-bsd
+ ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- echo c38-convex-bsd
- exit 0 ;;
+ GUESS=c38-convex-bsd
+ ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- echo c4-convex-bsd
- exit 0 ;;
+ GUESS=c4-convex-bsd
+ ;;
CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+ GUESS=ymp-cray-unicos$CRAY_REL
+ ;;
CRAY*[A-Z]90:*:*:*)
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+ GUESS=t90-cray-unicos$CRAY_REL
+ ;;
CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+ GUESS=alphaev5-cray-unicosmk$CRAY_REL
+ ;;
CRAY*SV1:*:*:*)
- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+ GUESS=sv1-cray-unicos$CRAY_REL
+ ;;
*:UNICOS/mp:*:*)
- echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+ GUESS=craynv-cray-unicosmp$CRAY_REL
+ ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit 0 ;;
+ FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+ FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
+ GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
+ ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+ FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
+ GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
+ ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
+ ;;
sparc*:BSD/OS:*:*)
- echo sparc-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=sparc-unknown-bsdi$UNAME_RELEASE
+ ;;
*:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
- *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
- # Determine whether the default compiler uses glibc.
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <features.h>
- #if __GLIBC__ >= 2
- LIBC=gnu
- #else
- LIBC=
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
+ ;;
+ arm:FreeBSD:*:*)
+ UNAME_PROCESSOR=`uname -p`
+ set_cc_for_build
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_PCS_VFP
+ then
+ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
+ else
+ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
+ fi
+ ;;
+ *:FreeBSD:*:*)
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ case $UNAME_PROCESSOR in
+ amd64)
+ UNAME_PROCESSOR=x86_64 ;;
+ i386)
+ UNAME_PROCESSOR=i586 ;;
+ esac
+ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
+ ;;
i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin
- exit 0 ;;
- i*:MINGW*:*)
- echo ${UNAME_MACHINE}-pc-mingw32
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-pc-cygwin
+ ;;
+ *:MINGW64*:*)
+ GUESS=$UNAME_MACHINE-pc-mingw64
+ ;;
+ *:MINGW*:*)
+ GUESS=$UNAME_MACHINE-pc-mingw32
+ ;;
+ *:MSYS*:*)
+ GUESS=$UNAME_MACHINE-pc-msys
+ ;;
i*:PW*:*)
- echo ${UNAME_MACHINE}-pc-pw32
- exit 0 ;;
- x86:Interix*:[34]*)
- echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
- exit 0 ;;
- [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
- echo i${UNAME_MACHINE}-pc-mks
- exit 0 ;;
- i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
- # UNAME_MACHINE based on the output of uname instead of i386?
- echo i586-pc-interix
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-pc-pw32
+ ;;
+ *:SerenityOS:*:*)
+ GUESS=$UNAME_MACHINE-pc-serenity
+ ;;
+ *:Interix*:*)
+ case $UNAME_MACHINE in
+ x86)
+ GUESS=i586-pc-interix$UNAME_RELEASE
+ ;;
+ authenticamd | genuineintel | EM64T)
+ GUESS=x86_64-unknown-interix$UNAME_RELEASE
+ ;;
+ IA64)
+ GUESS=ia64-unknown-interix$UNAME_RELEASE
+ ;;
+ esac ;;
i*:UWIN*:*)
- echo ${UNAME_MACHINE}-pc-uwin
- exit 0 ;;
- p*:CYGWIN*:*)
- echo powerpcle-unknown-cygwin
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-pc-uwin
+ ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ GUESS=x86_64-pc-cygwin
+ ;;
prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+ GUESS=powerpcle-unknown-solaris2$SUN_REL
+ ;;
*:GNU:*:*)
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit 0 ;;
- i*86:Minix:*:*)
- echo ${UNAME_MACHINE}-pc-minix
- exit 0 ;;
+ # the GNU system
+ GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
+ GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
+ GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
+ ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
+ GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+ GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
+ ;;
+ *:Minix:*:*)
+ GUESS=$UNAME_MACHINE-unknown-minix
+ ;;
+ aarch64:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ aarch64_be:Linux:*:*)
+ UNAME_MACHINE=aarch64_be
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
arm*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ else
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_PCS_VFP
+ then
+ GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
+ else
+ GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
+ fi
+ fi
+ ;;
+ avr32*:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
cris:Linux:*:*)
- echo cris-axis-linux-gnu
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-axis-linux-$LIBC
+ ;;
+ crisv32:Linux:*:*)
+ GUESS=$UNAME_MACHINE-axis-linux-$LIBC
+ ;;
+ e2k:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ frv:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ hexagon:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ i*86:Linux:*:*)
+ GUESS=$UNAME_MACHINE-pc-linux-$LIBC
+ ;;
ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ k1om:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ m32r*:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- mips:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ mips:Linux:*:* | mips64:Linux:*:*)
+ set_cc_for_build
+ IS_GLIBC=0
+ test x"${LIBC}" = xgnu && IS_GLIBC=1
+ sed 's/^ //' << EOF > "$dummy.c"
#undef CPU
#undef mips
#undef mipsel
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mipsel
+ #undef mips64
+ #undef mips64el
+ #if ${IS_GLIBC} && defined(_ABI64)
+ LIBCABI=gnuabi64
#else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips
+ #if ${IS_GLIBC} && defined(_ABIN32)
+ LIBCABI=gnuabin32
#else
- CPU=
+ LIBCABI=${LIBC}
#endif
#endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
- ;;
- mips64:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef mips64
- #undef mips64el
+
+ #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
+ CPU=mipsisa64r6
+ #else
+ #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
+ CPU=mipsisa32r6
+ #else
+ #if defined(__mips64)
+ CPU=mips64
+ #else
+ CPU=mips
+ #endif
+ #endif
+ #endif
+
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mips64el
+ MIPS_ENDIAN=el
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips64
+ MIPS_ENDIAN=
#else
- CPU=
+ MIPS_ENDIAN=
#endif
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+ cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
+ eval "$cc_set_vars"
+ test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
+ ;;
+ mips64el:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ openrisc*:Linux:*:*)
+ GUESS=or1k-unknown-linux-$LIBC
+ ;;
+ or32:Linux:*:* | or1k*:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ padre:Linux:*:*)
+ GUESS=sparc-unknown-linux-$LIBC
+ ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ GUESS=hppa64-unknown-linux-$LIBC
;;
- ppc:Linux:*:*)
- echo powerpc-${VENDOR:-unknown}-linux-gnu
- exit 0 ;;
- ppc64:Linux:*:*)
- echo powerpc64-${VENDOR:-unknown}-linux-gnu
- exit 0 ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- EV5) UNAME_MACHINE=alphaev5 ;;
- EV56) UNAME_MACHINE=alphaev56 ;;
- PCA56) UNAME_MACHINE=alphapca56 ;;
- PCA57) UNAME_MACHINE=alphapca56 ;;
- EV6) UNAME_MACHINE=alphaev6 ;;
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
- exit 0 ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
- *) echo hppa-unknown-linux-gnu ;;
+ PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
+ PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
+ *) GUESS=hppa-unknown-linux-$LIBC ;;
esac
- exit 0 ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
- exit 0 ;;
+ ;;
+ ppc64:Linux:*:*)
+ GUESS=powerpc64-unknown-linux-$LIBC
+ ;;
+ ppc:Linux:*:*)
+ GUESS=powerpc-unknown-linux-$LIBC
+ ;;
+ ppc64le:Linux:*:*)
+ GUESS=powerpc64le-unknown-linux-$LIBC
+ ;;
+ ppcle:Linux:*:*)
+ GUESS=powerpcle-unknown-linux-$LIBC
+ ;;
+ riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR:-ibm}-linux-gnu
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
+ ;;
sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ tile*:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ vax:Linux:*:*)
+ GUESS=$UNAME_MACHINE-dec-linux-$LIBC
+ ;;
x86_64:Linux:*:*)
- echo x86_64-${VENDOR:-unknown}-linux-gnu
- exit 0 ;;
- i*86:Linux:*:*)
- # The BFD linker knows what the default object file format is, so
- # first see if it will tell us. cd to the root directory to prevent
- # problems with other programs or directories called `ld' in the path.
- # Set LC_ALL=C to ensure ld outputs messages in English.
- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
- | sed -ne '/supported targets:/!d
- s/[ ][ ]*/ /g
- s/.*supported targets: *//
- s/ .*//
- p'`
- case "$ld_supported_targets" in
- elf32-i386)
- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
- ;;
- a.out-i386-linux)
- echo "${UNAME_MACHINE}-pc-linux-gnuaout"
- exit 0 ;;
- coff-i386)
- echo "${UNAME_MACHINE}-pc-linux-gnucoff"
- exit 0 ;;
- "")
- # Either a pre-BFD a.out linker (linux-gnuoldld) or
- # one that does not give us useful --help.
- echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
- exit 0 ;;
- esac
- # Determine whether the default compiler is a.out or elf
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <features.h>
- #ifdef __ELF__
- # ifdef __GLIBC__
- # if __GLIBC__ >= 2
- LIBC=gnu
- # else
- LIBC=gnulibc1
- # endif
- # else
- LIBC=gnulibc1
- # endif
- #else
- #ifdef __INTEL_COMPILER
- LIBC=gnu
- #else
- LIBC=gnuaout
- #endif
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
- test x"${LIBC}" != x && echo "${UNAME_MACHINE}-${VENDOR:-pc}-linux-${LIBC}" && exit 0
- test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
+ set_cc_for_build
+ LIBCABI=$LIBC
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
+ if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_X32 >/dev/null
+ then
+ LIBCABI=${LIBC}x32
+ fi
+ fi
+ GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI
+ ;;
+ xtensa*:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
# earlier versions are messed up and put the nodename in both
# sysname and nodename.
- echo i386-sequent-sysv4
- exit 0 ;;
+ GUESS=i386-sequent-sysv4
+ ;;
i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit 0 ;;
+ # Use sysv4.2uw... so that sysv4* matches it.
+ GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
+ ;;
i*86:OS/2:*:*)
# If we were able to find `uname', then EMX Unix compatibility
# is probably installed.
- echo ${UNAME_MACHINE}-pc-os2-emx
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-pc-os2-emx
+ ;;
i*86:XTS-300:*:STOP)
- echo ${UNAME_MACHINE}-unknown-stop
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-unknown-stop
+ ;;
i*86:atheos:*:*)
- echo ${UNAME_MACHINE}-unknown-atheos
- exit 0 ;;
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-unknown-atheos
+ ;;
+ i*86:syllable:*:*)
+ GUESS=$UNAME_MACHINE-pc-syllable
+ ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+ GUESS=i386-unknown-lynxos$UNAME_RELEASE
+ ;;
i*86:*DOS:*:*)
- echo ${UNAME_MACHINE}-pc-msdosdjgpp
- exit 0 ;;
- i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ GUESS=$UNAME_MACHINE-pc-msdosdjgpp
+ ;;
+ i*86:*:4.*:*)
+ UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
fi
- exit 0 ;;
- i*86:*:5:[78]*)
+ ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
case `/bin/uname -X | grep "^Machine"` in
*486*) UNAME_MACHINE=i486 ;;
*Pentium) UNAME_MACHINE=i586 ;;
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
esac
- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ ;;
i*86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
elif /bin/uname -X 2>/dev/null >/dev/null ; then
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
@@ -1017,211 +1229,339 @@ EOF
&& UNAME_MACHINE=i686
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
&& UNAME_MACHINE=i686
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
else
- echo ${UNAME_MACHINE}-pc-sysv32
+ GUESS=$UNAME_MACHINE-pc-sysv32
fi
- exit 0 ;;
+ ;;
pc:*:*:*)
# Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i386.
- echo i386-pc-msdosdjgpp
- exit 0 ;;
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i586.
+ # Note: whatever this is, it MUST be the same as what config.sub
+ # prints for the "djgpp" host, or else GDB configure will decide that
+ # this is a cross-build.
+ GUESS=i586-pc-msdosdjgpp
+ ;;
Intel:Mach:3*:*)
- echo i386-pc-mach3
- exit 0 ;;
+ GUESS=i386-pc-mach3
+ ;;
paragon:*:*:*)
- echo i860-intel-osf1
- exit 0 ;;
+ GUESS=i860-intel-osf1
+ ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4
fi
- exit 0 ;;
+ ;;
mini*:CTIX:SYS*5:*)
# "miniframe"
- echo m68010-convergent-sysv
- exit 0 ;;
+ GUESS=m68010-convergent-sysv
+ ;;
mc68k:UNIX:SYSTEM5:3.51m)
- echo m68k-convergent-sysv
- exit 0 ;;
+ GUESS=m68k-convergent-sysv
+ ;;
M680?0:D-NIX:5.3:*)
- echo m68k-diab-dnix
- exit 0 ;;
- M68*:*:R3V[567]*:*)
- test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
- 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
+ GUESS=m68k-diab-dnix
+ ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4.3${OS_REL} && exit 0
+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4 && exit 0 ;;
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=m68k-unknown-lynxos$UNAME_RELEASE
+ ;;
mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit 0 ;;
+ GUESS=m68k-atari-sysv4
+ ;;
TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=sparc-unknown-lynxos$UNAME_RELEASE
+ ;;
rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
- echo powerpc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
+ ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+ GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
+ ;;
SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=mips-dde-sysv$UNAME_RELEASE
+ ;;
RM*:ReliantUNIX-*:*:*)
- echo mips-sni-sysv4
- exit 0 ;;
+ GUESS=mips-sni-sysv4
+ ;;
RM*:SINIX-*:*:*)
- echo mips-sni-sysv4
- exit 0 ;;
+ GUESS=mips-sni-sysv4
+ ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo ${UNAME_MACHINE}-sni-sysv4
+ GUESS=$UNAME_MACHINE-sni-sysv4
else
- echo ns32k-sni-sysv
+ GUESS=ns32k-sni-sysv
fi
- exit 0 ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says <Richard.M.Bartel@ccMail.Census.GOV>
- echo i586-unisys-sysv4
- exit 0 ;;
+ ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ GUESS=i586-unisys-sysv4
+ ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes <hewes@openmarket.com>.
# How about differentiating between stratus architectures? -djm
- echo hppa1.1-stratus-sysv4
- exit 0 ;;
+ GUESS=hppa1.1-stratus-sysv4
+ ;;
*:*:*:FTX*)
# From seanf@swdc.stratus.com.
- echo i860-stratus-sysv4
- exit 0 ;;
+ GUESS=i860-stratus-sysv4
+ ;;
+ i*86:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ GUESS=$UNAME_MACHINE-stratus-vos
+ ;;
*:VOS:*:*)
# From Paul.Green@stratus.com.
- echo hppa1.1-stratus-vos
- exit 0 ;;
+ GUESS=hppa1.1-stratus-vos
+ ;;
mc68*:A/UX:*:*)
- echo m68k-apple-aux${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=m68k-apple-aux$UNAME_RELEASE
+ ;;
news*:NEWS-OS:6*:*)
- echo mips-sony-newsos6
- exit 0 ;;
+ GUESS=mips-sony-newsos6
+ ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
- if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
+ if test -d /usr/nec; then
+ GUESS=mips-nec-sysv$UNAME_RELEASE
else
- echo mips-unknown-sysv${UNAME_RELEASE}
+ GUESS=mips-unknown-sysv$UNAME_RELEASE
fi
- exit 0 ;;
+ ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
- echo powerpc-be-beos
- exit 0 ;;
+ GUESS=powerpc-be-beos
+ ;;
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
- echo powerpc-apple-beos
- exit 0 ;;
+ GUESS=powerpc-apple-beos
+ ;;
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
- echo i586-pc-beos
- exit 0 ;;
+ GUESS=i586-pc-beos
+ ;;
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
+ GUESS=i586-pc-haiku
+ ;;
+ x86_64:Haiku:*:*)
+ GUESS=x86_64-unknown-haiku
+ ;;
SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=sx4-nec-superux$UNAME_RELEASE
+ ;;
SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=sx5-nec-superux$UNAME_RELEASE
+ ;;
SX-6:SUPER-UX:*:*)
- echo sx6-nec-superux${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=sx6-nec-superux$UNAME_RELEASE
+ ;;
+ SX-7:SUPER-UX:*:*)
+ GUESS=sx7-nec-superux$UNAME_RELEASE
+ ;;
+ SX-8:SUPER-UX:*:*)
+ GUESS=sx8-nec-superux$UNAME_RELEASE
+ ;;
+ SX-8R:SUPER-UX:*:*)
+ GUESS=sx8r-nec-superux$UNAME_RELEASE
+ ;;
+ SX-ACE:SUPER-UX:*:*)
+ GUESS=sxace-nec-superux$UNAME_RELEASE
+ ;;
Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
+ ;;
*:Rhapsody:*:*)
- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
+ ;;
+ arm64:Darwin:*:*)
+ GUESS=aarch64-apple-darwin$UNAME_RELEASE
+ ;;
*:Darwin:*:*)
- case `uname -p` in
- *86) UNAME_PROCESSOR=i686 ;;
- powerpc) UNAME_PROCESSOR=powerpc ;;
+ UNAME_PROCESSOR=`uname -p`
+ case $UNAME_PROCESSOR in
+ unknown) UNAME_PROCESSOR=powerpc ;;
esac
- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
- exit 0 ;;
+ if command -v xcode-select > /dev/null 2> /dev/null && \
+ ! xcode-select --print-path > /dev/null 2> /dev/null ; then
+ # Avoid executing cc if there is no toolchain installed as
+ # cc will be a stub that puts up a graphical alert
+ # prompting the user to install developer tools.
+ CC_FOR_BUILD=no_compiler_found
+ else
+ set_cc_for_build
+ fi
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
+ # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
+ if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_PPC >/dev/null
+ then
+ UNAME_PROCESSOR=powerpc
+ fi
+ elif test "$UNAME_PROCESSOR" = i386 ; then
+ # uname -m returns i386 or x86_64
+ UNAME_PROCESSOR=$UNAME_MACHINE
+ fi
+ GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
+ ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = "x86"; then
+ if test "$UNAME_PROCESSOR" = x86; then
UNAME_PROCESSOR=i386
UNAME_MACHINE=pc
fi
- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
+ ;;
*:QNX:*:4*)
- echo i386-pc-qnx
- exit 0 ;;
- NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=i386-pc-qnx
+ ;;
+ NEO-*:NONSTOP_KERNEL:*:*)
+ GUESS=neo-tandem-nsk$UNAME_RELEASE
+ ;;
+ NSE-*:NONSTOP_KERNEL:*:*)
+ GUESS=nse-tandem-nsk$UNAME_RELEASE
+ ;;
+ NSR-*:NONSTOP_KERNEL:*:*)
+ GUESS=nsr-tandem-nsk$UNAME_RELEASE
+ ;;
+ NSV-*:NONSTOP_KERNEL:*:*)
+ GUESS=nsv-tandem-nsk$UNAME_RELEASE
+ ;;
+ NSX-*:NONSTOP_KERNEL:*:*)
+ GUESS=nsx-tandem-nsk$UNAME_RELEASE
+ ;;
*:NonStop-UX:*:*)
- echo mips-compaq-nonstopux
- exit 0 ;;
+ GUESS=mips-compaq-nonstopux
+ ;;
BS2000:POSIX*:*:*)
- echo bs2000-siemens-sysv
- exit 0 ;;
+ GUESS=bs2000-siemens-sysv
+ ;;
DS/*:UNIX_System_V:*:*)
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
+ ;;
*:Plan9:*:*)
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
# operating systems.
- if test "$cputype" = "386"; then
+ if test "${cputype-}" = 386; then
UNAME_MACHINE=i386
- else
- UNAME_MACHINE="$cputype"
+ elif test "x${cputype-}" != x; then
+ UNAME_MACHINE=$cputype
fi
- echo ${UNAME_MACHINE}-unknown-plan9
- exit 0 ;;
+ GUESS=$UNAME_MACHINE-unknown-plan9
+ ;;
*:TOPS-10:*:*)
- echo pdp10-unknown-tops10
- exit 0 ;;
+ GUESS=pdp10-unknown-tops10
+ ;;
*:TENEX:*:*)
- echo pdp10-unknown-tenex
- exit 0 ;;
+ GUESS=pdp10-unknown-tenex
+ ;;
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
- echo pdp10-dec-tops20
- exit 0 ;;
+ GUESS=pdp10-dec-tops20
+ ;;
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
- echo pdp10-xkl-tops20
- exit 0 ;;
+ GUESS=pdp10-xkl-tops20
+ ;;
*:TOPS-20:*:*)
- echo pdp10-unknown-tops20
- exit 0 ;;
+ GUESS=pdp10-unknown-tops20
+ ;;
*:ITS:*:*)
- echo pdp10-unknown-its
- exit 0 ;;
+ GUESS=pdp10-unknown-its
+ ;;
SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
- exit 0 ;;
+ GUESS=mips-sei-seiux$UNAME_RELEASE
+ ;;
+ *:DragonFly:*:*)
+ DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+ GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
+ ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case $UNAME_MACHINE in
+ A*) GUESS=alpha-dec-vms ;;
+ I*) GUESS=ia64-dec-vms ;;
+ V*) GUESS=vax-dec-vms ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ GUESS=i386-pc-xenix
+ ;;
+ i*86:skyos:*:*)
+ SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
+ GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
+ ;;
+ i*86:rdos:*:*)
+ GUESS=$UNAME_MACHINE-pc-rdos
+ ;;
+ i*86:Fiwix:*:*)
+ GUESS=$UNAME_MACHINE-pc-fiwix
+ ;;
+ *:AROS:*:*)
+ GUESS=$UNAME_MACHINE-unknown-aros
+ ;;
+ x86_64:VMkernel:*:*)
+ GUESS=$UNAME_MACHINE-unknown-esx
+ ;;
+ amd64:Isilon\ OneFS:*:*)
+ GUESS=x86_64-unknown-onefs
+ ;;
+ *:Unleashed:*:*)
+ GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
+ ;;
esac
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+# Do we have a guess based on uname results?
+if test "x$GUESS" != x; then
+ echo "$GUESS"
+ exit
+fi
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
+# No uname command or uname output not recognized.
+set_cc_for_build
+cat > "$dummy.c" <<EOF
#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
+#include <sys/types.h>
+#include <sys/utsname.h>
+#endif
+#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
+#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
+#include <signal.h>
+#if defined(_SIZE_T_) || defined(SIGLOST)
+#include <sys/utsname.h>
+#endif
+#endif
#endif
main ()
{
@@ -1234,20 +1574,12 @@ main ()
#include <sys/param.h>
printf ("m68k-sony-newsos%s\n",
#ifdef NEWSOS4
- "4"
+ "4"
#else
- ""
-#endif
- ); exit (0);
+ ""
#endif
+ ); exit (0);
#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
#endif
#if defined (NeXT)
@@ -1289,39 +1621,54 @@ main ()
#endif
#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
+ struct utsname un;
+ uname(&un);
+ if (strncmp(un.version, "V2", 2) == 0) {
+ printf ("i386-sequent-ptx2\n"); exit (0);
+ }
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+ printf ("i386-sequent-ptx1\n"); exit (0);
+ }
+ printf ("i386-sequent-ptx\n"); exit (0);
#endif
#if defined (vax)
-# if !defined (ultrix)
-# include <sys/param.h>
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
+#if !defined (ultrix)
+#include <sys/param.h>
+#if defined (BSD)
+#if BSD == 43
+ printf ("vax-dec-bsd4.3\n"); exit (0);
+#else
+#if BSD == 199006
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#else
+ printf ("vax-dec-bsd\n"); exit (0);
+#endif
+#endif
+#else
+ printf ("vax-dec-bsd\n"); exit (0);
+#endif
+#else
+#if defined(_SIZE_T_) || defined(SIGLOST)
+ struct utsname un;
+ uname (&un);
+ printf ("vax-dec-ultrix%s\n", un.release); exit (0);
+#else
+ printf ("vax-dec-ultrix\n"); exit (0);
+#endif
+#endif
+#endif
+#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
+#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
+#if defined(_SIZE_T_) || defined(SIGLOST)
+ struct utsname *un;
+ uname (&un);
+ printf ("mips-dec-ultrix%s\n", un.release); exit (0);
+#else
+ printf ("mips-dec-ultrix\n"); exit (0);
+#endif
+#endif
#endif
#if defined (alliant) && defined (i860)
@@ -1332,51 +1679,46 @@ main ()
}
EOF
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
+$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
+ { echo "$SYSTEM_NAME"; exit; }
# Apollos put the system type in the environment.
+test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
+echo "$0: unable to guess system type" >&2
-# Convex versions that predate uname can use getsysinfo(1)
+case $UNAME_MACHINE:$UNAME_SYSTEM in
+ mips:Linux | mips64:Linux)
+ # If we got here on MIPS GNU/Linux, output extra information.
+ cat >&2 <<EOF
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit 0 ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit 0 ;;
- c34*)
- echo c34-convex-bsd
- exit 0 ;;
- c38*)
- echo c38-convex-bsd
- exit 0 ;;
- c4*)
- echo c4-convex-bsd
- exit 0 ;;
- esac
-fi
+NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
+the system type. Please install a C compiler and try again.
+EOF
+ ;;
+esac
cat >&2 <<EOF
-$0: unable to guess system type
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
+This script (version $timestamp), has failed to recognize the
+operating system you are using. If your script is old, overwrite *all*
+copies of config.guess and config.sub with the latest versions from:
- ftp://ftp.gnu.org/pub/gnu/config/
+ https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
+and
+ https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
+EOF
+
+our_year=`echo $timestamp | sed 's,-.*,,'`
+thisyear=`date +%Y`
+# shellcheck disable=SC2003
+script_age=`expr "$thisyear" - "$our_year"`
+if test "$script_age" -lt 3 ; then
+ cat >&2 <<EOF
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
+If $0 has already been updated, send the following data and any
+information you think might be pertinent to config-patches@gnu.org to
+provide the necessary information to handle your system.
config.guess timestamp = $timestamp
@@ -1395,16 +1737,17 @@ hostinfo = `(hostinfo) 2>/dev/null`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
+UNAME_MACHINE = "$UNAME_MACHINE"
+UNAME_RELEASE = "$UNAME_RELEASE"
+UNAME_SYSTEM = "$UNAME_SYSTEM"
+UNAME_VERSION = "$UNAME_VERSION"
EOF
+fi
exit 1
# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
diff --git a/3rdparty/libflac/config.h.in b/3rdparty/libflac/config.h.in
index 588212b00c1..fa63be671b3 100644
--- a/3rdparty/libflac/config.h.in
+++ b/3rdparty/libflac/config.h.in
@@ -1,49 +1,92 @@
-/* config.h.in. Generated from configure.in by autoheader. */
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD
+
+/* Target processor is big endian. */
+#undef CPU_IS_BIG_ENDIAN
+
+/* Target processor is little endian. */
+#undef CPU_IS_LITTLE_ENDIAN
+
+/* Set FLAC__BYTES_PER_WORD to 8 (this is the default) */
+#undef ENABLE_64_BIT_WORDS
+
+/* libtool defines DLL_EXPORT for windows dll builds,
+ but flac code relies on FLAC_API_EXPORTS instead. */
+#ifdef DLL_EXPORT
+#ifdef __cplusplus
+# define FLACPP_API_EXPORTS
+#else
+# define FLAC_API_EXPORTS
+#endif
+#endif
/* define to align allocated memory on 32-byte boundaries */
#undef FLAC__ALIGN_MALLOC_DATA
+/* define if building for ARM */
+#undef FLAC__CPU_ARM64
+
/* define if building for ia32/i386 */
#undef FLAC__CPU_IA32
-/* define if building for PowerPC */
-#undef FLAC__CPU_PPC
-
-/* define if building for SPARC */
-#undef FLAC__CPU_SPARC
-
-/* define if you are compiling for PowerPC and have the 'as' assembler */
-#undef FLAC__HAS_AS
+/* define if building for x86_64 */
+#undef FLAC__CPU_X86_64
-/* define if you have docbook-to-man or docbook2man */
-#undef FLAC__HAS_DOCBOOK_TO_MAN
+/* Set to 1 if <arm_neon.h> has A64 instructions. */
+#undef FLAC__HAS_A64NEONINTRIN
-/* define if you are compiling for PowerPC and have the 'gas' assembler */
-#undef FLAC__HAS_GAS
-
-/* define if you are compiling for x86 and have the NASM assembler */
-#undef FLAC__HAS_NASM
+/* Set to 1 if <arm_neon.h> is available. */
+#undef FLAC__HAS_NEONINTRIN
/* define if you have the ogg library */
#undef FLAC__HAS_OGG
+/* define if you have pandoc */
+#undef FLAC__HAS_PANDOC
+
+/* Set to 1 if <x86intrin.h> is available. */
+#undef FLAC__HAS_X86INTRIN
+
/* define to disable use of assembly code */
#undef FLAC__NO_ASM
-/* define if your operating system supports SSE instructions */
-#undef FLAC__SSE_OS
-
/* define if building for Darwin / MacOS X */
#undef FLAC__SYS_DARWIN
/* define if building for Linux */
#undef FLAC__SYS_LINUX
-/* define to enable use of 3Dnow! instructions */
-#undef FLAC__USE_3DNOW
+/* define to enable use of AVX instructions */
+#undef FLAC__USE_AVX
+
+/* "Define to the commit date of the current git HEAD" */
+#undef GIT_COMMIT_DATE
+
+/* "Define to the short hash of the current git HEAD" */
+#undef GIT_COMMIT_HASH
+
+/* "Define to the tag of the current git HEAD" */
+#undef GIT_COMMIT_TAG
+
+/* Define to 1 if you have the <arm_neon.h> header file. */
+#undef HAVE_ARM_NEON_H
+
+/* Compiler has the __builtin_bswap16 intrinsic */
+#undef HAVE_BSWAP16
+
+/* Compiler has the __builtin_bswap32 intrinsic */
+#undef HAVE_BSWAP32
+
+/* Define to 1 if you have the <byteswap.h> header file. */
+#undef HAVE_BYTESWAP_H
-/* define to enable use of Altivec instructions */
-#undef FLAC__USE_ALTIVEC
+/* define if you have clock_gettime */
+#undef HAVE_CLOCK_GETTIME
+
+/* Define to 1 if you have the <cpuid.h> header file. */
+#undef HAVE_CPUID_H
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
@@ -51,10 +94,13 @@
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#undef HAVE_FSEEKO
+/* Define to 1 if you have the `getauxval' function. */
+#undef HAVE_GETAUXVAL
+
/* Define to 1 if you have the `getopt_long' function. */
#undef HAVE_GETOPT_LONG
-/* Define if you have the iconv() function. */
+/* Define if you have the iconv() function and it works. */
#undef HAVE_ICONV
/* Define to 1 if you have the <inttypes.h> header file. */
@@ -63,15 +109,21 @@
/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
#undef HAVE_LANGINFO_CODESET
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
+/* lround support */
+#undef HAVE_LROUND
+
+/* Define to 1 if you have the <minix/config.h> header file. */
+#undef HAVE_MINIX_CONFIG_H
-/* Define to 1 if the system has the type `socklen_t'. */
-#undef HAVE_SOCKLEN_T
+/* Define to 1 if you have the <stdbool.h> header file. */
+#undef HAVE_STDBOOL_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
+/* Define to 1 if you have the <stdio.h> header file. */
+#undef HAVE_STDIO_H
+
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
@@ -81,18 +133,45 @@
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
+/* Define to 1 if you have the <sys/auxv.h> header file. */
+#undef HAVE_SYS_AUXV_H
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
+/* Define to 1 if you have the <termios.h> header file. */
+#undef HAVE_TERMIOS_H
+
+/* Define to 1 if typeof works with your compiler. */
+#undef HAVE_TYPEOF
+
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
+/* Define to 1 if you have the <wchar.h> header file. */
+#undef HAVE_WCHAR_H
+
+/* Define to 1 if you have the <x86intrin.h> header file. */
+#undef HAVE_X86INTRIN_H
+
/* Define as const if the declaration of iconv() needs const. */
#undef ICONV_CONST
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
+#undef LT_OBJDIR
+
+/* Define if debugging is disabled */
+#undef NDEBUG
+
/* Name of package */
#undef PACKAGE
@@ -108,20 +187,115 @@
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
/* Define to the version of this package. */
#undef PACKAGE_VERSION
-/* The size of a `void*', as computed by sizeof. */
+/* The size of `off_t', as computed by sizeof. */
+#undef SIZEOF_OFF_T
+
+/* The size of `void*', as computed by sizeof. */
#undef SIZEOF_VOIDP
-/* Define to 1 if you have the ANSI C header files. */
+/* Define to 1 if all of the C90 standard headers exist (not just the ones
+ required in a freestanding environment). This macro is provided for
+ backward compatibility; new code need not use it. */
#undef STDC_HEADERS
+/* Enable extensions on AIX 3, Interix. */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable general extensions on macOS. */
+#ifndef _DARWIN_C_SOURCE
+# undef _DARWIN_C_SOURCE
+#endif
+/* Enable general extensions on Solaris. */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+/* Enable GNU extensions on systems that have them. */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable X/Open compliant socket functions that do not require linking
+ with -lxnet on HP-UX 11.11. */
+#ifndef _HPUX_ALT_XOPEN_SOCKET_API
+# undef _HPUX_ALT_XOPEN_SOCKET_API
+#endif
+/* Identify the host operating system as Minix.
+ This macro does not affect the system headers' behavior.
+ A future release of Autoconf may stop defining this macro. */
+#ifndef _MINIX
+# undef _MINIX
+#endif
+/* Enable general extensions on NetBSD.
+ Enable NetBSD compatibility extensions on Minix. */
+#ifndef _NETBSD_SOURCE
+# undef _NETBSD_SOURCE
+#endif
+/* Enable OpenBSD compatibility extensions on NetBSD.
+ Oddly enough, this does nothing on OpenBSD. */
+#ifndef _OPENBSD_SOURCE
+# undef _OPENBSD_SOURCE
+#endif
+/* Define to 1 if needed for POSIX-compatible behavior. */
+#ifndef _POSIX_SOURCE
+# undef _POSIX_SOURCE
+#endif
+/* Define to 2 if needed for POSIX-compatible behavior. */
+#ifndef _POSIX_1_SOURCE
+# undef _POSIX_1_SOURCE
+#endif
+/* Enable POSIX-compatible threading on Solaris. */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */
+#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+# undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */
+#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+# undef __STDC_WANT_IEC_60559_BFP_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */
+#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
+# undef __STDC_WANT_IEC_60559_DFP_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */
+#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
+# undef __STDC_WANT_IEC_60559_FUNCS_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */
+#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
+# undef __STDC_WANT_IEC_60559_TYPES_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */
+#ifndef __STDC_WANT_LIB_EXT2__
+# undef __STDC_WANT_LIB_EXT2__
+#endif
+/* Enable extensions specified by ISO/IEC 24747:2009. */
+#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
+# undef __STDC_WANT_MATH_SPEC_FUNCS__
+#endif
+/* Enable extensions on HP NonStop. */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable X/Open extensions. Define to 500 only if necessary
+ to make mbstate_t available. */
+#ifndef _XOPEN_SOURCE
+# undef _XOPEN_SOURCE
+#endif
+
+
/* Version number of package */
#undef VERSION
-/* Define to 1 if your processor stores words with the most significant byte
- first (like Motorola and SPARC, unlike Intel and VAX). */
+/* Target processor is big endian. */
#undef WORDS_BIGENDIAN
/* Number of bits in a file offset, on hosts where this is settable. */
@@ -132,3 +306,12 @@
/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+ calls it, or to nothing if 'inline' is not supported under any name. */
+#ifndef __cplusplus
+#undef inline
+#endif
+
+/* Define to __typeof__ if your compiler spells it that way. */
+#undef typeof
diff --git a/3rdparty/libflac/config.rpath b/3rdparty/libflac/config.rpath
index 3f1bef34a0f..e69de29bb2d 100644
--- a/3rdparty/libflac/config.rpath
+++ b/3rdparty/libflac/config.rpath
@@ -1,571 +0,0 @@
-#! /bin/sh
-# Output a system dependent set of variables, describing how to set the
-# run time search path of shared libraries in an executable.
-#
-# Copyright 1996-2005 Free Software Foundation, Inc.
-# Taken from GNU libtool, 2001
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-#
-# The first argument passed to this file is the canonical host specification,
-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or
-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
-# should be set by the caller.
-#
-# The set of defined variables is at the end of this script.
-
-# Known limitations:
-# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
-# than 256 bytes, otherwise the compiler driver will dump core. The only
-# known workaround is to choose shorter directory names for the build
-# directory and/or the installation directory.
-
-# All known linkers require a `.a' archive for static linking (except M$VC,
-# which needs '.lib').
-libext=a
-shrext=.so
-
-host="$1"
-host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-cc_basename=`echo "$CC" | sed -e 's%^.*/%%'`
-
-# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
-
-wl=
-if test "$GCC" = yes; then
- wl='-Wl,'
-else
- case "$host_os" in
- aix*)
- wl='-Wl,'
- ;;
- darwin*)
- case "$cc_basename" in
- xlc*)
- wl='-Wl,'
- ;;
- esac
- ;;
- mingw* | pw32* | os2*)
- ;;
- hpux9* | hpux10* | hpux11*)
- wl='-Wl,'
- ;;
- irix5* | irix6* | nonstopux*)
- wl='-Wl,'
- ;;
- newsos6)
- ;;
- linux*)
- case $cc_basename in
- icc* | ecc*)
- wl='-Wl,'
- ;;
- pgcc | pgf77 | pgf90)
- wl='-Wl,'
- ;;
- ccc*)
- wl='-Wl,'
- ;;
- como)
- wl='-lopt='
- ;;
- esac
- ;;
- osf3* | osf4* | osf5*)
- wl='-Wl,'
- ;;
- sco3.2v5*)
- ;;
- solaris*)
- wl='-Wl,'
- ;;
- sunos4*)
- wl='-Qoption ld '
- ;;
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- wl='-Wl,'
- ;;
- sysv4*MP*)
- ;;
- unicos*)
- wl='-Wl,'
- ;;
- uts4*)
- ;;
- esac
-fi
-
-# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
-
-hardcode_libdir_flag_spec=
-hardcode_libdir_separator=
-hardcode_direct=no
-hardcode_minus_L=no
-
-case "$host_os" in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
-esac
-
-ld_shlibs=yes
-if test "$with_gnu_ld" = yes; then
- case "$host_os" in
- aix3* | aix4* | aix5*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs=no
- fi
- ;;
- amigaos*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we cannot use
- # them.
- ld_shlibs=no
- ;;
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- :
- else
- ld_shlibs=no
- fi
- ;;
- cygwin* | mingw* | pw32*)
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- :
- else
- ld_shlibs=no
- fi
- ;;
- netbsd*)
- ;;
- solaris* | sysv5*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- ld_shlibs=no
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- :
- else
- ld_shlibs=no
- fi
- ;;
- sunos4*)
- hardcode_direct=yes
- ;;
- linux*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- :
- else
- ld_shlibs=no
- fi
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- :
- else
- ld_shlibs=no
- fi
- ;;
- esac
- if test "$ld_shlibs" = yes; then
- # Unlike libtool, we use -rpath here, not --rpath, since the documented
- # option of GNU ld is called -rpath, not --rpath.
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- fi
-else
- case "$host_os" in
- aix3*)
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$GCC" = yes; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
- fi
- ;;
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- else
- aix_use_runtimelinking=no
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- esac
- fi
- hardcode_direct=yes
- hardcode_libdir_separator=':'
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- hardcode_direct=yes
- else
- # We have old collect2
- hardcode_direct=unsupported
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- esac
- fi
- # Begin _LT_AC_SYS_LIBPATH_AIX.
- echo 'int main () { return 0; }' > conftest.c
- ${CC} ${LDFLAGS} conftest.c -o conftest
- aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
- if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
- fi
- if test -z "$aix_libpath"; then
- aix_libpath="/usr/lib:/lib"
- fi
- rm -f conftest.c conftest
- # End _LT_AC_SYS_LIBPATH_AIX.
- if test "$aix_use_runtimelinking" = yes; then
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- else
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- fi
- fi
- ;;
- amigaos*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs=no
- ;;
- bsdi[45]*)
- ;;
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec=' '
- libext=lib
- ;;
- darwin* | rhapsody*)
- hardcode_direct=no
- if test "$GCC" = yes ; then
- :
- else
- case "$cc_basename" in
- xlc*)
- ;;
- *)
- ld_shlibs=no
- ;;
- esac
- fi
- ;;
- dgux*)
- hardcode_libdir_flag_spec='-L$libdir'
- ;;
- freebsd1*)
- ld_shlibs=no
- ;;
- freebsd2.2*)
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- ;;
- freebsd2*)
- hardcode_direct=yes
- hardcode_minus_L=yes
- ;;
- freebsd* | kfreebsd*-gnu | dragonfly*)
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- ;;
- hpux9*)
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- hpux10* | hpux11*)
- if test "$with_gnu_ld" = no; then
- case "$host_cpu" in
- hppa*64*)
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=no
- ;;
- ia64*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=no
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- *)
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- esac
- fi
- ;;
- irix5* | irix6* | nonstopux*)
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
- netbsd*)
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- ;;
- newsos6)
- hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
- openbsd*)
- hardcode_direct=yes
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- else
- case "$host_os" in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- ;;
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- osf3*)
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
- osf4* | osf5*)
- if test "$GCC" = yes; then
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- # Both cc and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec='-rpath $libdir'
- fi
- hardcode_libdir_separator=:
- ;;
- sco3.2v5*)
- ;;
- solaris*)
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- sunos4*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- ;;
- sysv4)
- case $host_vendor in
- sni)
- hardcode_direct=yes # is this really true???
- ;;
- siemens)
- hardcode_direct=no
- ;;
- motorola)
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- ;;
- sysv4.3*)
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- ld_shlibs=yes
- fi
- ;;
- sysv4.2uw2*)
- hardcode_direct=yes
- hardcode_minus_L=no
- ;;
- sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
- ;;
- sysv5*)
- hardcode_libdir_flag_spec=
- ;;
- uts4*)
- hardcode_libdir_flag_spec='-L$libdir'
- ;;
- *)
- ld_shlibs=no
- ;;
- esac
-fi
-
-# Check dynamic linker characteristics
-# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
-libname_spec='lib$name'
-case "$host_os" in
- aix3*)
- ;;
- aix4* | aix5*)
- ;;
- amigaos*)
- ;;
- beos*)
- ;;
- bsdi[45]*)
- ;;
- cygwin* | mingw* | pw32*)
- shrext=.dll
- ;;
- darwin* | rhapsody*)
- shrext=.dylib
- ;;
- dgux*)
- ;;
- freebsd1*)
- ;;
- kfreebsd*-gnu)
- ;;
- freebsd*)
- ;;
- gnu*)
- ;;
- hpux9* | hpux10* | hpux11*)
- case "$host_cpu" in
- ia64*)
- shrext=.so
- ;;
- hppa*64*)
- shrext=.sl
- ;;
- *)
- shrext=.sl
- ;;
- esac
- ;;
- irix5* | irix6* | nonstopux*)
- case "$host_os" in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
- *) libsuff= shlibsuff= ;;
- esac
- ;;
- esac
- ;;
- linux*oldld* | linux*aout* | linux*coff*)
- ;;
- linux*)
- ;;
- knetbsd*-gnu)
- ;;
- netbsd*)
- ;;
- newsos6)
- ;;
- nto-qnx*)
- ;;
- openbsd*)
- ;;
- os2*)
- libname_spec='$name'
- shrext=.dll
- ;;
- osf3* | osf4* | osf5*)
- ;;
- sco3.2v5*)
- ;;
- solaris*)
- ;;
- sunos4*)
- ;;
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- ;;
- sysv4*MP*)
- ;;
- uts4*)
- ;;
-esac
-
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
-shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
-escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
-
-LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
-
-# How to pass a linker flag through the compiler.
-wl="$escaped_wl"
-
-# Static library suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally "so").
-shlibext="$shlibext"
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator="$hardcode_libdir_separator"
-
-# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct="$hardcode_direct"
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L="$hardcode_minus_L"
-
-EOF
diff --git a/3rdparty/libflac/config.sub b/3rdparty/libflac/config.sub
index 6b2ff9f6a7a..dba16e84c77 100644..100755
--- a/3rdparty/libflac/config.sub
+++ b/3rdparty/libflac/config.sub
@@ -1,42 +1,42 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright 1992-2022 Free Software Foundation, Inc.
-timestamp='2003-06-18'
+# shellcheck disable=SC2006,SC2268 # see below for rationale
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+timestamp='2022-01-03'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
+#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
+# Please send patches to <config-patches@gnu.org>.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed.
+# You can get the latest version of this script from:
+# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
+
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software.
@@ -52,15 +52,21 @@ timestamp='2003-06-18'
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification.
+# The "shellcheck disable" line above the timestamp inhibits complaints
+# about features and limitations of the classic Bourne shell that were
+# superseded or lifted in POSIX. However, this script identifies a wide
+# variety of pre-POSIX systems that do not have POSIX shells at all, and
+# even some reasonably current systems (Solaris 10 as case-in-point) still
+# have a pre-POSIX /bin/sh.
+
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
- $0 [OPTION] ALIAS
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
Canonicalize a configuration name.
-Operation modes:
+Options:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
@@ -70,8 +76,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
+Copyright 1992-2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -83,23 +88,23 @@ Try \`$me --help' for more information."
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
- echo "$timestamp" ; exit 0 ;;
+ echo "$timestamp" ; exit ;;
--version | -v )
- echo "$version" ; exit 0 ;;
+ echo "$version" ; exit ;;
--help | --h* | -h )
- echo "$usage"; exit 0 ;;
+ echo "$usage"; exit ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
break ;;
-* )
- echo "$me: invalid option $1$help"
+ echo "$me: invalid option $1$help" >&2
exit 1 ;;
*local*)
# First pass through any local machine types.
- echo $1
- exit 0;;
+ echo "$1"
+ exit ;;
* )
break ;;
@@ -114,977 +119,1186 @@ case $# in
exit 1;;
esac
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
- nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
- os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
- *)
- basic_machine=`echo $1 | sed 's/-[^-]*$//'`
- if [ $basic_machine != $1 ]
- then os=`echo $1 | sed 's/.*-/-/'`
- else os=; fi
- ;;
-esac
+# Split fields of configuration type
+# shellcheck disable=SC2162
+saved_IFS=$IFS
+IFS="-" read field1 field2 field3 field4 <<EOF
+$1
+EOF
+IFS=$saved_IFS
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work. We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
- -sun*os*)
- # Prevent following clause from handling this invalid input.
- ;;
- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis)
- os=
- basic_machine=$1
- ;;
- -sim | -cisco | -oki | -wec | -winbond)
- os=
- basic_machine=$1
- ;;
- -scout)
- ;;
- -wrs)
- os=-vxworks
- basic_machine=$1
- ;;
- -chorusos*)
- os=-chorusos
- basic_machine=$1
- ;;
- -chorusrdb)
- os=-chorusrdb
- basic_machine=$1
- ;;
- -hiux*)
- os=-hiuxwe2
- ;;
- -sco5)
- os=-sco3.2v5
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco4)
- os=-sco3.2v4
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2.[4-9]*)
- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2v[4-9]*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+# Separate into logical components for further validation
+case $1 in
+ *-*-*-*-*)
+ echo Invalid configuration \`"$1"\': more than four components >&2
+ exit 1
;;
- -sco*)
- os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ *-*-*-*)
+ basic_machine=$field1-$field2
+ basic_os=$field3-$field4
;;
- -udk*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ *-*-*)
+ # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
+ # parts
+ maybe_os=$field2-$field3
+ case $maybe_os in
+ nto-qnx* | linux-* | uclinux-uclibc* \
+ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
+ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
+ | storm-chaos* | os2-emx* | rtmk-nova*)
+ basic_machine=$field1
+ basic_os=$maybe_os
+ ;;
+ android-linux)
+ basic_machine=$field1-unknown
+ basic_os=linux-android
+ ;;
+ *)
+ basic_machine=$field1-$field2
+ basic_os=$field3
+ ;;
+ esac
;;
- -isc)
- os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ *-*)
+ # A lone config we happen to match not fitting any pattern
+ case $field1-$field2 in
+ decstation-3100)
+ basic_machine=mips-dec
+ basic_os=
+ ;;
+ *-*)
+ # Second component is usually, but not always the OS
+ case $field2 in
+ # Prevent following clause from handling this valid os
+ sun*os*)
+ basic_machine=$field1
+ basic_os=$field2
+ ;;
+ zephyr*)
+ basic_machine=$field1-unknown
+ basic_os=$field2
+ ;;
+ # Manufacturers
+ dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
+ | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
+ | unicom* | ibm* | next | hp | isi* | apollo | altos* \
+ | convergent* | ncr* | news | 32* | 3600* | 3100* \
+ | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \
+ | ultra | tti* | harris | dolphin | highlevel | gould \
+ | cbm | ns | masscomp | apple | axis | knuth | cray \
+ | microblaze* | sim | cisco \
+ | oki | wec | wrs | winbond)
+ basic_machine=$field1-$field2
+ basic_os=
+ ;;
+ *)
+ basic_machine=$field1
+ basic_os=$field2
+ ;;
+ esac
+ ;;
+ esac
;;
- -clix*)
- basic_machine=clipper-intergraph
+ *)
+ # Convert single-component short-hands not valid as part of
+ # multi-component configurations.
+ case $field1 in
+ 386bsd)
+ basic_machine=i386-pc
+ basic_os=bsd
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ basic_os=udi
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ basic_os=scout
+ ;;
+ alliant)
+ basic_machine=fx80-alliant
+ basic_os=
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ basic_os=
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ basic_os=bsd
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ basic_os=sysv
+ ;;
+ amiga)
+ basic_machine=m68k-unknown
+ basic_os=
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ basic_os=amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ basic_os=sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ basic_os=sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ basic_os=bsd
+ ;;
+ aros)
+ basic_machine=i386-pc
+ basic_os=aros
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ basic_os=aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ basic_os=dynix
+ ;;
+ blackfin)
+ basic_machine=bfin-unknown
+ basic_os=linux
+ ;;
+ cegcc)
+ basic_machine=arm-unknown
+ basic_os=cegcc
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ basic_os=bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ basic_os=bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ basic_os=bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ basic_os=bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ basic_os=bsd
+ ;;
+ cray)
+ basic_machine=j90-cray
+ basic_os=unicos
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ basic_os=
+ ;;
+ da30)
+ basic_machine=m68k-da30
+ basic_os=
+ ;;
+ decstation | pmax | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ basic_os=
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ basic_os=sysv3
+ ;;
+ dicos)
+ basic_machine=i686-pc
+ basic_os=dicos
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ basic_os=msdosdjgpp
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ basic_os=ebmon
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ basic_os=ose
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ basic_os=sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ basic_os=go32
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ basic_os=hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ basic_os=xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ basic_os=hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ basic_os=sysv3
+ ;;
+ hp300 | hp300hpux)
+ basic_machine=m68k-hp
+ basic_os=hpux
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ basic_os=bsd
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ basic_os=osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ basic_os=proelf
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ basic_os=mach
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ basic_os=sysv
+ ;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ basic_os=linux
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ basic_os=sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ basic_os=sysv
+ ;;
+ mingw64)
+ basic_machine=x86_64-pc
+ basic_os=mingw64
+ ;;
+ mingw32)
+ basic_machine=i686-pc
+ basic_os=mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ basic_os=mingw32ce
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ basic_os=coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ basic_os=morphos
+ ;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ basic_os=moxiebox
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ basic_os=msdos
+ ;;
+ msys)
+ basic_machine=i686-pc
+ basic_os=msys
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ basic_os=mvs
+ ;;
+ nacl)
+ basic_machine=le32-unknown
+ basic_os=nacl
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ basic_os=sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-pc
+ basic_os=netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ basic_os=linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ basic_os=newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ basic_os=newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ basic_os=sysv
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ basic_os=cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ basic_os=cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ basic_os=nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ basic_os=mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ basic_os=nonstopux
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ basic_os=os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ basic_os=ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ basic_os=os68k
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ basic_os=osf
+ ;;
+ parisc)
+ basic_machine=hppa-unknown
+ basic_os=linux
+ ;;
+ psp)
+ basic_machine=mipsallegrexel-sony
+ basic_os=psp
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ basic_os=pw32
+ ;;
+ rdos | rdos64)
+ basic_machine=x86_64-pc
+ basic_os=rdos
+ ;;
+ rdos32)
+ basic_machine=i386-pc
+ basic_os=rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ basic_os=coff
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ basic_os=udi
+ ;;
+ sei)
+ basic_machine=mips-sei
+ basic_os=seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ basic_os=
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ basic_os=sysv2
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ basic_os=
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ basic_os=sysv4
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ basic_os=
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ basic_os=sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ basic_os=sunos4
+ ;;
+ sun3)
+ basic_machine=m68k-sun
+ basic_os=
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ basic_os=sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ basic_os=sunos4
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ basic_os=
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ basic_os=sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ basic_os=sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ basic_os=solaris2
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ basic_os=
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ basic_os=unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ basic_os=dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ basic_os=unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ basic_os=unicos
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ basic_os=tops20
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ basic_os=tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ basic_os=udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ basic_os=sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ basic_os=none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ basic_os=sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ basic_os=vms
+ ;;
+ vsta)
+ basic_machine=i386-pc
+ basic_os=vsta
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ basic_os=vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ basic_os=vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ basic_os=vxworks
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ basic_os=mingw32
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ basic_os=unicos
+ ;;
+ *)
+ basic_machine=$1
+ basic_os=
+ ;;
+ esac
;;
- -isc*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+esac
+
+# Decode 1-component or ad-hoc basic machines
+case $basic_machine in
+ # Here we handle the default manufacturer of certain CPU types. It is in
+ # some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ cpu=hppa1.1
+ vendor=winbond
;;
- -lynx*)
- os=-lynxos
+ op50n)
+ cpu=hppa1.1
+ vendor=oki
;;
- -ptx*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ op60c)
+ cpu=hppa1.1
+ vendor=oki
;;
- -windowsnt*)
- os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ibm*)
+ cpu=i370
+ vendor=ibm
;;
- -psos*)
- os=-psos
+ orion105)
+ cpu=clipper
+ vendor=highlevel
;;
- -mint | -mint[0-9]*)
- basic_machine=m68k-atari
- os=-mint
+ mac | mpw | mac-mpw)
+ cpu=m68k
+ vendor=apple
;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
- # Recognize the basic CPU types without company name.
- # Some are omitted here because they have special meanings below.
- 1750a | 580 \
- | a29k \
- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
- | c4x | clipper \
- | d10v | d30v | dlx | dsp16xx \
- | fr30 | frv \
- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
- | i370 | i860 | i960 | ia64 \
- | ip2k \
- | m32r | m68000 | m68k | m88k | mcore \
- | mips | mipsbe | mipseb | mipsel | mipsle \
- | mips16 \
- | mips64 | mips64el \
- | mips64vr | mips64vrel \
- | mips64orion | mips64orionel \
- | mips64vr4100 | mips64vr4100el \
- | mips64vr4300 | mips64vr4300el \
- | mips64vr5000 | mips64vr5000el \
- | mipsisa32 | mipsisa32el \
- | mipsisa32r2 | mipsisa32r2el \
- | mipsisa64 | mipsisa64el \
- | mipsisa64sb1 | mipsisa64sb1el \
- | mipsisa64sr71k | mipsisa64sr71kel \
- | mipstx39 | mipstx39el \
- | mn10200 | mn10300 \
- | msp430 \
- | ns16k | ns32k \
- | openrisc | or32 \
- | pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
- | pyramid \
- | s390 | s390x \
- | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
- | sh64 | sh64le \
- | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \
- | strongarm \
- | tahoe | thumb | tic4x | tic80 | tron \
- | v850 | v850e \
- | we32k \
- | x86 | xscale | xstormy16 | xtensa \
- | z8k)
- basic_machine=$basic_machine-unknown
- ;;
- m6811 | m68hc11 | m6812 | m68hc12)
- # Motorola 68HC11/12.
- basic_machine=$basic_machine-unknown
- os=-none
- ;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ pmac | pmac-mpw)
+ cpu=powerpc
+ vendor=apple
;;
- # We use `pc' rather than `unknown'
- # because (1) that's what they normally are, and
- # (2) the word "unknown" tends to confuse beginning users.
- i*86 | x86_64)
- basic_machine=$basic_machine-pc
- ;;
- # Object if more than one company name word.
- *-*-*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
- # Recognize the basic CPU types with company name.
- 580-* \
- | a29k-* \
- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* \
- | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
- | clipper-* | cydra-* \
- | d10v-* | d30v-* | dlx-* \
- | elxsi-* \
- | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
- | h8300-* | h8500-* \
- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
- | i*86-* | i860-* | i960-* | ia64-* \
- | ip2k-* \
- | m32r-* \
- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | mcore-* \
- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
- | mips16-* \
- | mips64-* | mips64el-* \
- | mips64vr-* | mips64vrel-* \
- | mips64orion-* | mips64orionel-* \
- | mips64vr4100-* | mips64vr4100el-* \
- | mips64vr4300-* | mips64vr4300el-* \
- | mips64vr5000-* | mips64vr5000el-* \
- | mipsisa32-* | mipsisa32el-* \
- | mipsisa32r2-* | mipsisa32r2el-* \
- | mipsisa64-* | mipsisa64el-* \
- | mipsisa64sb1-* | mipsisa64sb1el-* \
- | mipsisa64sr71k-* | mipsisa64sr71kel-* \
- | mipstx39-* | mipstx39el-* \
- | msp430-* \
- | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
- | orion-* \
- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
- | pyramid-* \
- | romp-* | rs6000-* \
- | s390-* | s390x-* \
- | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
- | tahoe-* | thumb-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
- | tron-* \
- | v850-* | v850e-* | vax-* \
- | we32k-* \
- | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
- | xtensa-* \
- | ymp-* \
- | z8k-*)
- ;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
- 386bsd)
- basic_machine=i386-unknown
- os=-bsd
- ;;
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- basic_machine=m68000-att
+ cpu=m68000
+ vendor=att
;;
3b*)
- basic_machine=we32k-att
- ;;
- a29khif)
- basic_machine=a29k-amd
- os=-udi
- ;;
- adobe68k)
- basic_machine=m68010-adobe
- os=-scout
- ;;
- alliant | fx80)
- basic_machine=fx80-alliant
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- ;;
- am29k)
- basic_machine=a29k-none
- os=-bsd
- ;;
- amd64)
- basic_machine=x86_64-pc
- ;;
- amdahl)
- basic_machine=580-amdahl
- os=-sysv
- ;;
- amiga | amiga-*)
- basic_machine=m68k-unknown
- ;;
- amigaos | amigados)
- basic_machine=m68k-unknown
- os=-amigaos
- ;;
- amigaunix | amix)
- basic_machine=m68k-unknown
- os=-sysv4
+ cpu=we32k
+ vendor=att
;;
- apollo68)
- basic_machine=m68k-apollo
- os=-sysv
- ;;
- apollo68bsd)
- basic_machine=m68k-apollo
- os=-bsd
- ;;
- aux)
- basic_machine=m68k-apple
- os=-aux
- ;;
- balance)
- basic_machine=ns32k-sequent
- os=-dynix
- ;;
- c90)
- basic_machine=c90-cray
- os=-unicos
- ;;
- convex-c1)
- basic_machine=c1-convex
- os=-bsd
- ;;
- convex-c2)
- basic_machine=c2-convex
- os=-bsd
- ;;
- convex-c32)
- basic_machine=c32-convex
- os=-bsd
- ;;
- convex-c34)
- basic_machine=c34-convex
- os=-bsd
- ;;
- convex-c38)
- basic_machine=c38-convex
- os=-bsd
- ;;
- cray | j90)
- basic_machine=j90-cray
- os=-unicos
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
- cris | cris-* | etrax*)
- basic_machine=cris-axis
- ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
+ bluegene*)
+ cpu=powerpc
+ vendor=ibm
+ basic_os=cnk
;;
decsystem10* | dec10*)
- basic_machine=pdp10-dec
- os=-tops10
+ cpu=pdp10
+ vendor=dec
+ basic_os=tops10
;;
decsystem20* | dec20*)
- basic_machine=pdp10-dec
- os=-tops20
+ cpu=pdp10
+ vendor=dec
+ basic_os=tops20
;;
delta | 3300 | motorola-3300 | motorola-delta \
| 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
- ;;
- delta88)
- basic_machine=m88k-motorola
- os=-sysv3
+ cpu=m68k
+ vendor=motorola
;;
- dpx20 | dpx20-*)
- basic_machine=rs6000-bull
- os=-bosx
- ;;
- dpx2* | dpx2*-bull)
- basic_machine=m68k-bull
- os=-sysv3
- ;;
- ebmon29k)
- basic_machine=a29k-amd
- os=-ebmon
- ;;
- elxsi)
- basic_machine=elxsi-elxsi
- os=-bsd
+ dpx2*)
+ cpu=m68k
+ vendor=bull
+ basic_os=sysv3
;;
encore | umax | mmax)
- basic_machine=ns32k-encore
+ cpu=ns32k
+ vendor=encore
;;
- es1800 | OSE68k | ose68k | ose | OSE)
- basic_machine=m68k-ericsson
- os=-ose
+ elxsi)
+ cpu=elxsi
+ vendor=elxsi
+ basic_os=${basic_os:-bsd}
;;
fx2800)
- basic_machine=i860-alliant
+ cpu=i860
+ vendor=alliant
;;
genix)
- basic_machine=ns32k-ns
- ;;
- gmicro)
- basic_machine=tron-gmicro
- os=-sysv
- ;;
- go32)
- basic_machine=i386-pc
- os=-go32
+ cpu=ns32k
+ vendor=ns
;;
h3050r* | hiux*)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- h8300hms)
- basic_machine=h8300-hitachi
- os=-hms
- ;;
- h8300xray)
- basic_machine=h8300-hitachi
- os=-xray
- ;;
- h8500hms)
- basic_machine=h8500-hitachi
- os=-hms
- ;;
- harris)
- basic_machine=m88k-harris
- os=-sysv3
- ;;
- hp300-*)
- basic_machine=m68k-hp
- ;;
- hp300bsd)
- basic_machine=m68k-hp
- os=-bsd
- ;;
- hp300hpux)
- basic_machine=m68k-hp
- os=-hpux
+ cpu=hppa1.1
+ vendor=hitachi
+ basic_os=hiuxwe2
;;
hp3k9[0-9][0-9] | hp9[0-9][0-9])
- basic_machine=hppa1.0-hp
+ cpu=hppa1.0
+ vendor=hp
;;
hp9k2[0-9][0-9] | hp9k31[0-9])
- basic_machine=m68000-hp
+ cpu=m68000
+ vendor=hp
;;
hp9k3[2-9][0-9])
- basic_machine=m68k-hp
+ cpu=m68k
+ vendor=hp
;;
hp9k6[0-9][0-9] | hp6[0-9][0-9])
- basic_machine=hppa1.0-hp
+ cpu=hppa1.0
+ vendor=hp
;;
hp9k7[0-79][0-9] | hp7[0-79][0-9])
- basic_machine=hppa1.1-hp
+ cpu=hppa1.1
+ vendor=hp
;;
hp9k78[0-9] | hp78[0-9])
# FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
+ cpu=hppa1.1
+ vendor=hp
;;
hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
# FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
+ cpu=hppa1.1
+ vendor=hp
;;
hp9k8[0-9][13679] | hp8[0-9][13679])
- basic_machine=hppa1.1-hp
+ cpu=hppa1.1
+ vendor=hp
;;
hp9k8[0-9][0-9] | hp8[0-9][0-9])
- basic_machine=hppa1.0-hp
+ cpu=hppa1.0
+ vendor=hp
;;
- hppa-next)
- os=-nextstep3
- ;;
- hppaosf)
- basic_machine=hppa1.1-hp
- os=-osf
- ;;
- hppro)
- basic_machine=hppa1.1-hp
- os=-proelf
- ;;
- i370-ibm* | ibm*)
- basic_machine=i370-ibm
- ;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i*86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv32
+ cpu=`echo "$1" | sed -e 's/86.*/86/'`
+ vendor=pc
+ basic_os=sysv32
;;
i*86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv4
+ cpu=`echo "$1" | sed -e 's/86.*/86/'`
+ vendor=pc
+ basic_os=sysv4
;;
i*86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv
+ cpu=`echo "$1" | sed -e 's/86.*/86/'`
+ vendor=pc
+ basic_os=sysv
;;
i*86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-solaris2
- ;;
- i386mach)
- basic_machine=i386-mach
- os=-mach
+ cpu=`echo "$1" | sed -e 's/86.*/86/'`
+ vendor=pc
+ basic_os=solaris2
;;
- i386-vsta | vsta)
- basic_machine=i386-unknown
- os=-vsta
+ j90 | j90-cray)
+ cpu=j90
+ vendor=cray
+ basic_os=${basic_os:-unicos}
;;
iris | iris4d)
- basic_machine=mips-sgi
- case $os in
- -irix*)
+ cpu=mips
+ vendor=sgi
+ case $basic_os in
+ irix*)
;;
*)
- os=-irix4
+ basic_os=irix4
;;
esac
;;
- isi68 | isi)
- basic_machine=m68k-isi
- os=-sysv
- ;;
- m88k-omron*)
- basic_machine=m88k-omron
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- os=-sysv
- ;;
- merlin)
- basic_machine=ns32k-utek
- os=-sysv
- ;;
- mingw32)
- basic_machine=i386-pc
- os=-mingw32
- ;;
miniframe)
- basic_machine=m68000-convergent
- ;;
- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
- mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
- ;;
- mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
- ;;
- mmix*)
- basic_machine=mmix-knuth
- os=-mmixware
- ;;
- monitor)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- morphos)
- basic_machine=powerpc-unknown
- os=-morphos
+ cpu=m68000
+ vendor=convergent
;;
- msdos)
- basic_machine=i386-pc
- os=-msdos
- ;;
- mvs)
- basic_machine=i370-ibm
- os=-mvs
- ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
- ;;
- netbsd386)
- basic_machine=i386-unknown
- os=-netbsd
- ;;
- netwinder)
- basic_machine=armv4l-rebel
- os=-linux
- ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- os=-newsos
- ;;
- news1000)
- basic_machine=m68030-sony
- os=-newsos
+ *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ cpu=m68k
+ vendor=atari
+ basic_os=mint
;;
news-3600 | risc-news)
- basic_machine=mips-sony
- os=-newsos
- ;;
- necv70)
- basic_machine=v70-nec
- os=-sysv
- ;;
- next | m*-next )
- basic_machine=m68k-next
- case $os in
- -nextstep* )
+ cpu=mips
+ vendor=sony
+ basic_os=newsos
+ ;;
+ next | m*-next)
+ cpu=m68k
+ vendor=next
+ case $basic_os in
+ openstep*)
+ ;;
+ nextstep*)
;;
- -ns2*)
- os=-nextstep2
+ ns2*)
+ basic_os=nextstep2
;;
*)
- os=-nextstep3
+ basic_os=nextstep3
;;
esac
;;
- nh3000)
- basic_machine=m68k-harris
- os=-cxux
- ;;
- nh[45]000)
- basic_machine=m88k-harris
- os=-cxux
- ;;
- nindy960)
- basic_machine=i960-intel
- os=-nindy
- ;;
- mon960)
- basic_machine=i960-intel
- os=-mon960
- ;;
- nonstopux)
- basic_machine=mips-compaq
- os=-nonstopux
- ;;
np1)
- basic_machine=np1-gould
- ;;
- nv1)
- basic_machine=nv1-cray
- os=-unicosmp
- ;;
- nsr-tandem)
- basic_machine=nsr-tandem
+ cpu=np1
+ vendor=gould
;;
op50n-* | op60c-*)
- basic_machine=hppa1.1-oki
- os=-proelf
- ;;
- or32 | or32-*)
- basic_machine=or32-unknown
- os=-coff
- ;;
- OSE68000 | ose68000)
- basic_machine=m68000-ericsson
- os=-ose
- ;;
- os68k)
- basic_machine=m68k-none
- os=-os68k
+ cpu=hppa1.1
+ vendor=oki
+ basic_os=proelf
;;
pa-hitachi)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- paragon)
- basic_machine=i860-intel
- os=-osf
+ cpu=hppa1.1
+ vendor=hitachi
+ basic_os=hiuxwe2
;;
pbd)
- basic_machine=sparc-tti
+ cpu=sparc
+ vendor=tti
;;
pbb)
- basic_machine=m68k-tti
- ;;
- pc532 | pc532-*)
- basic_machine=ns32k-pc532
- ;;
- pentium | p5 | k5 | k6 | nexgen | viac3)
- basic_machine=i586-pc
- ;;
- pentiumpro | p6 | 6x86 | athlon | athlon_*)
- basic_machine=i686-pc
+ cpu=m68k
+ vendor=tti
;;
- pentiumii | pentium2 | pentiumiii | pentium3)
- basic_machine=i686-pc
- ;;
- pentium4)
- basic_machine=i786-pc
- ;;
- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium4-*)
- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ pc532)
+ cpu=ns32k
+ vendor=pc532
;;
pn)
- basic_machine=pn-gould
- ;;
- power) basic_machine=power-ibm
- ;;
- ppc) basic_machine=powerpc-unknown
- ;;
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppcle | powerpclittle | ppc-le | powerpc-little)
- basic_machine=powerpcle-unknown
+ cpu=pn
+ vendor=gould
;;
- ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64) basic_machine=powerpc64-unknown
+ power)
+ cpu=power
+ vendor=ibm
;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ps2)
+ cpu=i386
+ vendor=ibm
;;
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
- basic_machine=powerpc64le-unknown
+ rm[46]00)
+ cpu=mips
+ vendor=siemens
;;
- ppc64le-* | powerpc64little-*)
- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ rtpc | rtpc-*)
+ cpu=romp
+ vendor=ibm
;;
- ps2)
- basic_machine=i386-ibm
+ sde)
+ cpu=mipsisa32
+ vendor=sde
+ basic_os=${basic_os:-elf}
;;
- pw32)
- basic_machine=i586-unknown
- os=-pw32
+ simso-wrs)
+ cpu=sparclite
+ vendor=wrs
+ basic_os=vxworks
;;
- rom68k)
- basic_machine=m68k-rom68k
- os=-coff
+ tower | tower-32)
+ cpu=m68k
+ vendor=ncr
;;
- rm[46]00)
- basic_machine=mips-siemens
+ vpp*|vx|vx-*)
+ cpu=f301
+ vendor=fujitsu
;;
- rtpc | rtpc-*)
- basic_machine=romp-ibm
+ w65)
+ cpu=w65
+ vendor=wdc
;;
- sa29200)
- basic_machine=a29k-amd
- os=-udi
+ w89k-*)
+ cpu=hppa1.1
+ vendor=winbond
+ basic_os=proelf
;;
- sb1)
- basic_machine=mipsisa64sb1-unknown
+ none)
+ cpu=none
+ vendor=none
;;
- sb1el)
- basic_machine=mipsisa64sb1el-unknown
+ leon|leon[3-9])
+ cpu=sparc
+ vendor=$basic_machine
;;
- sei)
- basic_machine=mips-sei
- os=-seiux
+ leon-*|leon[3-9]-*)
+ cpu=sparc
+ vendor=`echo "$basic_machine" | sed 's/-.*//'`
;;
- sequent)
- basic_machine=i386-sequent
+
+ *-*)
+ # shellcheck disable=SC2162
+ saved_IFS=$IFS
+ IFS="-" read cpu vendor <<EOF
+$basic_machine
+EOF
+ IFS=$saved_IFS
;;
- sh)
- basic_machine=sh-hitachi
- os=-hms
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ cpu=$basic_machine
+ vendor=pc
;;
- sh64)
- basic_machine=sh64-unknown
+ # These rules are duplicated from below for sake of the special case above;
+ # i.e. things that normalized to x86 arches should also default to "pc"
+ pc98)
+ cpu=i386
+ vendor=pc
;;
- sparclite-wrs | simso-wrs)
- basic_machine=sparclite-wrs
- os=-vxworks
+ x64 | amd64)
+ cpu=x86_64
+ vendor=pc
;;
- sps7)
- basic_machine=m68k-bull
- os=-sysv2
+ # Recognize the basic CPU types without company name.
+ *)
+ cpu=$basic_machine
+ vendor=unknown
;;
- spur)
- basic_machine=spur-unknown
+esac
+
+unset -v basic_machine
+
+# Decode basic machines in the full and proper CPU-Company form.
+case $cpu-$vendor in
+ # Here we handle the default manufacturer of certain CPU types in canonical form. It is in
+ # some cases the only manufacturer, in others, it is the most popular.
+ craynv-unknown)
+ vendor=cray
+ basic_os=${basic_os:-unicosmp}
;;
- st2000)
- basic_machine=m68k-tandem
+ c90-unknown | c90-cray)
+ vendor=cray
+ basic_os=${Basic_os:-unicos}
;;
- stratus)
- basic_machine=i860-stratus
- os=-sysv4
+ fx80-unknown)
+ vendor=alliant
;;
- sun2)
- basic_machine=m68000-sun
+ romp-unknown)
+ vendor=ibm
;;
- sun2os3)
- basic_machine=m68000-sun
- os=-sunos3
+ mmix-unknown)
+ vendor=knuth
;;
- sun2os4)
- basic_machine=m68000-sun
- os=-sunos4
+ microblaze-unknown | microblazeel-unknown)
+ vendor=xilinx
;;
- sun3os3)
- basic_machine=m68k-sun
- os=-sunos3
+ rs6000-unknown)
+ vendor=ibm
;;
- sun3os4)
- basic_machine=m68k-sun
- os=-sunos4
+ vax-unknown)
+ vendor=dec
;;
- sun4os3)
- basic_machine=sparc-sun
- os=-sunos3
+ pdp11-unknown)
+ vendor=dec
;;
- sun4os4)
- basic_machine=sparc-sun
- os=-sunos4
+ we32k-unknown)
+ vendor=att
;;
- sun4sol2)
- basic_machine=sparc-sun
- os=-solaris2
+ cydra-unknown)
+ vendor=cydrome
;;
- sun3 | sun3-*)
- basic_machine=m68k-sun
+ i370-ibm*)
+ vendor=ibm
;;
- sun4)
- basic_machine=sparc-sun
+ orion-unknown)
+ vendor=highlevel
;;
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
+ xps-unknown | xps100-unknown)
+ cpu=xps100
+ vendor=honeywell
;;
- sv1)
- basic_machine=sv1-cray
- os=-unicos
+
+ # Here we normalize CPU types with a missing or matching vendor
+ armh-unknown | armh-alt)
+ cpu=armv7l
+ vendor=alt
+ basic_os=${basic_os:-linux-gnueabihf}
;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
+ dpx20-unknown | dpx20-bull)
+ cpu=rs6000
+ vendor=bull
+ basic_os=${basic_os:-bosx}
;;
- t3e)
- basic_machine=alphaev5-cray
- os=-unicos
+
+ # Here we normalize CPU types irrespective of the vendor
+ amd64-*)
+ cpu=x86_64
;;
- t90)
- basic_machine=t90-cray
- os=-unicos
+ blackfin-*)
+ cpu=bfin
+ basic_os=linux
;;
- tic54x | c54x*)
- basic_machine=tic54x-unknown
- os=-coff
+ c54x-*)
+ cpu=tic54x
;;
- tic55x | c55x*)
- basic_machine=tic55x-unknown
- os=-coff
+ c55x-*)
+ cpu=tic55x
;;
- tic6x | c6x*)
- basic_machine=tic6x-unknown
- os=-coff
+ c6x-*)
+ cpu=tic6x
;;
- tx39)
- basic_machine=mipstx39-unknown
+ e500v[12]-*)
+ cpu=powerpc
+ basic_os=${basic_os}"spe"
;;
- tx39el)
- basic_machine=mipstx39el-unknown
+ mips3*-*)
+ cpu=mips64
;;
- toad1)
- basic_machine=pdp10-xkl
- os=-tops20
+ ms1-*)
+ cpu=mt
;;
- tower | tower-32)
- basic_machine=m68k-ncr
+ m68knommu-*)
+ cpu=m68k
+ basic_os=linux
;;
- udi29k)
- basic_machine=a29k-amd
- os=-udi
+ m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
+ cpu=s12z
;;
- ultra3)
- basic_machine=a29k-nyu
- os=-sym1
+ openrisc-*)
+ cpu=or32
;;
- v810 | necv810)
- basic_machine=v810-nec
- os=-none
+ parisc-*)
+ cpu=hppa
+ basic_os=linux
;;
- vaxv)
- basic_machine=vax-dec
- os=-sysv
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ cpu=i586
;;
- vms)
- basic_machine=vax-dec
- os=-vms
+ pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
+ cpu=i686
;;
- vpp*|vx|vx-*)
- basic_machine=f301-fujitsu
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ cpu=i686
;;
- vxworks960)
- basic_machine=i960-wrs
- os=-vxworks
+ pentium4-*)
+ cpu=i786
;;
- vxworks68)
- basic_machine=m68k-wrs
- os=-vxworks
+ pc98-*)
+ cpu=i386
;;
- vxworks29k)
- basic_machine=a29k-wrs
- os=-vxworks
+ ppc-* | ppcbe-*)
+ cpu=powerpc
;;
- w65*)
- basic_machine=w65-wdc
- os=-none
+ ppcle-* | powerpclittle-*)
+ cpu=powerpcle
;;
- w89k-*)
- basic_machine=hppa1.1-winbond
- os=-proelf
+ ppc64-*)
+ cpu=powerpc64
;;
- xps | xps100)
- basic_machine=xps100-honeywell
+ ppc64le-* | powerpc64little-*)
+ cpu=powerpc64le
;;
- ymp)
- basic_machine=ymp-cray
- os=-unicos
+ sb1-*)
+ cpu=mipsisa64sb1
;;
- z8k-*-coff)
- basic_machine=z8k-unknown
- os=-sim
+ sb1el-*)
+ cpu=mipsisa64sb1el
;;
- none)
- basic_machine=none-none
- os=-none
+ sh5e[lb]-*)
+ cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`
;;
-
-# Here we handle the default manufacturer of certain CPU types. It is in
-# some cases the only manufacturer, in others, it is the most popular.
- w89k)
- basic_machine=hppa1.1-winbond
+ spur-*)
+ cpu=spur
;;
- op50n)
- basic_machine=hppa1.1-oki
+ strongarm-* | thumb-*)
+ cpu=arm
;;
- op60c)
- basic_machine=hppa1.1-oki
+ tx39-*)
+ cpu=mipstx39
;;
- romp)
- basic_machine=romp-ibm
+ tx39el-*)
+ cpu=mipstx39el
;;
- rs6000)
- basic_machine=rs6000-ibm
+ x64-*)
+ cpu=x86_64
;;
- vax)
- basic_machine=vax-dec
+ xscale-* | xscalee[bl]-*)
+ cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
;;
- pdp10)
- # there are many clones, so DEC is not a safe bet
- basic_machine=pdp10-unknown
+ arm64-* | aarch64le-*)
+ cpu=aarch64
;;
- pdp11)
- basic_machine=pdp11-dec
+
+ # Recognize the canonical CPU Types that limit and/or modify the
+ # company names they are paired with.
+ cr16-*)
+ basic_os=${basic_os:-elf}
;;
- we32k)
- basic_machine=we32k-att
+ crisv32-* | etraxfs*-*)
+ cpu=crisv32
+ vendor=axis
;;
- sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
- basic_machine=sh-unknown
+ cris-* | etrax*-*)
+ cpu=cris
+ vendor=axis
;;
- sh64)
- basic_machine=sh64-unknown
+ crx-*)
+ basic_os=${basic_os:-elf}
;;
- sparc | sparcv8 | sparcv9 | sparcv9b)
- basic_machine=sparc-sun
+ neo-tandem)
+ cpu=neo
+ vendor=tandem
;;
- cydra)
- basic_machine=cydra-cydrome
+ nse-tandem)
+ cpu=nse
+ vendor=tandem
;;
- orion)
- basic_machine=orion-highlevel
+ nsr-tandem)
+ cpu=nsr
+ vendor=tandem
;;
- orion105)
- basic_machine=clipper-highlevel
+ nsv-tandem)
+ cpu=nsv
+ vendor=tandem
;;
- mac | mpw | mac-mpw)
- basic_machine=m68k-apple
+ nsx-tandem)
+ cpu=nsx
+ vendor=tandem
;;
- pmac | pmac-mpw)
- basic_machine=powerpc-apple
+ mipsallegrexel-sony)
+ cpu=mipsallegrexel
+ vendor=sony
;;
- *-unknown)
- # Make sure to match an already-canonicalized machine name.
+ tile*-*)
+ basic_os=${basic_os:-linux-gnu}
;;
+
*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
+ # Recognize the canonical CPU types that are allowed with any
+ # company name.
+ case $cpu in
+ 1750a | 580 \
+ | a29k \
+ | aarch64 | aarch64_be \
+ | abacus \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
+ | alphapca5[67] | alpha64pca5[67] \
+ | am33_2.0 \
+ | amdgcn \
+ | arc | arceb | arc32 | arc64 \
+ | arm | arm[lb]e | arme[lb] | armv* \
+ | avr | avr32 \
+ | asmjs \
+ | ba \
+ | be32 | be64 \
+ | bfin | bpf | bs2000 \
+ | c[123]* | c30 | [cjt]90 | c4x \
+ | c8051 | clipper | craynv | csky | cydra \
+ | d10v | d30v | dlx | dsp16xx \
+ | e2k | elxsi | epiphany \
+ | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
+ | h8300 | h8500 \
+ | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | hexagon \
+ | i370 | i*86 | i860 | i960 | ia16 | ia64 \
+ | ip2k | iq2000 \
+ | k1om \
+ | le32 | le64 \
+ | lm32 \
+ | loongarch32 | loongarch64 | loongarchx32 \
+ | m32c | m32r | m32rle \
+ | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
+ | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
+ | m88110 | m88k | maxq | mb | mcore | mep | metag \
+ | microblaze | microblazeel \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64eb | mips64el \
+ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa32r3 | mipsisa32r3el \
+ | mipsisa32r5 | mipsisa32r5el \
+ | mipsisa32r6 | mipsisa32r6el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64r3 | mipsisa64r3el \
+ | mipsisa64r5 | mipsisa64r5el \
+ | mipsisa64r6 | mipsisa64r6el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipsr5900 | mipsr5900el \
+ | mipstx39 | mipstx39el \
+ | mmix \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+ | nds32 | nds32le | nds32be \
+ | nfp \
+ | nios | nios2 | nios2eb | nios2el \
+ | none | np1 | ns16k | ns32k | nvptx \
+ | open8 \
+ | or1k* \
+ | or32 \
+ | orion \
+ | picochip \
+ | pdp10 | pdp11 | pj | pjl | pn | power \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
+ | pru \
+ | pyramid \
+ | riscv | riscv32 | riscv32be | riscv64 | riscv64be \
+ | rl78 | romp | rs6000 | rx \
+ | s390 | s390x \
+ | score \
+ | sh | shl \
+ | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
+ | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \
+ | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
+ | spu \
+ | tahoe \
+ | thumbv7* \
+ | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
+ | tron \
+ | ubicom32 \
+ | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
+ | vax \
+ | visium \
+ | w65 \
+ | wasm32 | wasm64 \
+ | we32k \
+ | x86 | x86_64 | xc16x | xgate | xps100 \
+ | xstormy16 | xtensa* \
+ | ymp \
+ | z8k | z80)
+ ;;
+
+ *)
+ echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
+ exit 1
+ ;;
+ esac
;;
esac
# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
- *-digital*)
- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+case $vendor in
+ digital*)
+ vendor=dec
;;
- *-commodore*)
- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ commodore*)
+ vendor=cbm
;;
*)
;;
@@ -1092,174 +1306,215 @@ esac
# Decode manufacturer-specific aliases for certain operating systems.
-if [ x"$os" != x"" ]
+if test x$basic_os != x
then
+
+# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just
+# set os.
+case $basic_os in
+ gnu/linux*)
+ kernel=linux
+ os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'`
+ ;;
+ os2-emx)
+ kernel=os2
+ os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'`
+ ;;
+ nto-qnx*)
+ kernel=nto
+ os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'`
+ ;;
+ *-*)
+ # shellcheck disable=SC2162
+ saved_IFS=$IFS
+ IFS="-" read kernel os <<EOF
+$basic_os
+EOF
+ IFS=$saved_IFS
+ ;;
+ # Default OS when just kernel was specified
+ nto*)
+ kernel=nto
+ os=`echo "$basic_os" | sed -e 's|nto|qnx|'`
+ ;;
+ linux*)
+ kernel=linux
+ os=`echo "$basic_os" | sed -e 's|linux|gnu|'`
+ ;;
+ *)
+ kernel=
+ os=$basic_os
+ ;;
+esac
+
+# Now, normalize the OS (knowing we just have one component, it's not a kernel,
+# etc.)
case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
- # -solaris* is a basic system type, with this one exception.
- -solaris1 | -solaris1.*)
- os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ # First match some system type aliases that might get confused
+ # with valid system types.
+ # solaris* is a basic system type, with this one exception.
+ auroraux)
+ os=auroraux
;;
- -solaris)
- os=-solaris2
+ bluegene*)
+ os=cnk
;;
- -svr4*)
- os=-sysv4
+ solaris1 | solaris1.*)
+ os=`echo "$os" | sed -e 's|solaris1|sunos4|'`
;;
- -unixware*)
- os=-sysv4.2uw
+ solaris)
+ os=solaris2
;;
- -gnu/linux*)
- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ unixware*)
+ os=sysv4.2uw
;;
- # First accept the basic system types.
- # The portable systems comes first.
- # Each alternative MUST END IN A *, to match a version number.
- # -sysv* is not here because it comes later, after sysvr4.
- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
- | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* \
- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -chorusos* | -chorusrdb* \
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
- | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
- | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
- -qnx*)
- case $basic_machine in
- x86-* | i*86-*)
- ;;
- *)
- os=-nto$os
- ;;
- esac
+ # es1800 is here to avoid being matched by es* (a different OS)
+ es1800*)
+ os=ose
;;
- -nto-qnx*)
+ # Some version numbers need modification
+ chorusos*)
+ os=chorusos
;;
- -nto*)
- os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ isc)
+ os=isc2.2
;;
- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
- | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ sco6)
+ os=sco5v6
;;
- -mac*)
- os=`echo $os | sed -e 's|mac|macos|'`
+ sco5)
+ os=sco3.2v5
;;
- -linux*)
- os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ sco4)
+ os=sco3.2v4
;;
- -sunos5*)
- os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ sco3.2.[4-9]*)
+ os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'`
;;
- -sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ sco*v* | scout)
+ # Don't match below
;;
- -opened*)
- os=-openedition
+ sco*)
+ os=sco3.2v2
;;
- -wince*)
- os=-wince
+ psos*)
+ os=psos
;;
- -osfrose*)
- os=-osfrose
+ qnx*)
+ os=qnx
;;
- -osf*)
- os=-osf
+ hiux*)
+ os=hiuxwe2
;;
- -utek*)
- os=-bsd
+ lynx*178)
+ os=lynxos178
;;
- -dynix*)
- os=-bsd
+ lynx*5)
+ os=lynxos5
;;
- -acis*)
- os=-aos
+ lynxos*)
+ # don't get caught up in next wildcard
;;
- -atheos*)
- os=-atheos
+ lynx*)
+ os=lynxos
;;
- -386bsd)
- os=-bsd
+ mac[0-9]*)
+ os=`echo "$os" | sed -e 's|mac|macos|'`
;;
- -ctix* | -uts*)
- os=-sysv
+ opened*)
+ os=openedition
;;
- -nova*)
- os=-rtmk-nova
+ os400*)
+ os=os400
;;
- -ns2 )
- os=-nextstep2
+ sunos5*)
+ os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
;;
- -nsk*)
- os=-nsk
+ sunos6*)
+ os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
;;
- # Preserve the version number of sinix5.
- -sinix5.*)
- os=`echo $os | sed -e 's|sinix|sysv|'`
+ wince*)
+ os=wince
+ ;;
+ utek*)
+ os=bsd
+ ;;
+ dynix*)
+ os=bsd
;;
- -sinix*)
- os=-sysv4
+ acis*)
+ os=aos
;;
- -triton*)
- os=-sysv3
+ atheos*)
+ os=atheos
;;
- -oss*)
- os=-sysv3
+ syllable*)
+ os=syllable
;;
- -svr4)
- os=-sysv4
+ 386bsd)
+ os=bsd
+ ;;
+ ctix* | uts*)
+ os=sysv
+ ;;
+ nova*)
+ os=rtmk-nova
+ ;;
+ ns2)
+ os=nextstep2
+ ;;
+ # Preserve the version number of sinix5.
+ sinix5.*)
+ os=`echo "$os" | sed -e 's|sinix|sysv|'`
;;
- -svr3)
- os=-sysv3
+ sinix*)
+ os=sysv4
;;
- -sysvr4)
- os=-sysv4
+ tpf*)
+ os=tpf
;;
- # This must come after -sysvr4.
- -sysv*)
+ triton*)
+ os=sysv3
;;
- -ose*)
- os=-ose
+ oss*)
+ os=sysv3
;;
- -es1800*)
- os=-ose
+ svr4*)
+ os=sysv4
;;
- -xenix)
- os=-xenix
+ svr3)
+ os=sysv3
;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- os=-mint
+ sysvr4)
+ os=sysv4
;;
- -aros*)
- os=-aros
+ ose*)
+ os=ose
;;
- -kaos*)
- os=-kaos
+ *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
+ os=mint
;;
- -none)
+ dicos*)
+ os=dicos
+ ;;
+ pikeos*)
+ # Until real need of OS specific support for
+ # particular features comes up, bare metal
+ # configurations are quite functional.
+ case $cpu in
+ arm*)
+ os=eabi
+ ;;
+ *)
+ os=elf
+ ;;
+ esac
;;
*)
- # Get rid of the `-' at the beginning of $os.
- os=`echo $os | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
- exit 1
+ # No normalization, but not necessarily accepted, that comes below.
;;
esac
+
else
# Here we handle the default operating systems that come with various machines.
@@ -1272,228 +1527,363 @@ else
# will signal an error saying that MANUFACTURER isn't an operating
# system, and we'll never get to this point.
-case $basic_machine in
+kernel=
+case $cpu-$vendor in
+ score-*)
+ os=elf
+ ;;
+ spu-*)
+ os=elf
+ ;;
*-acorn)
- os=-riscix1.2
+ os=riscix1.2
;;
arm*-rebel)
- os=-linux
+ kernel=linux
+ os=gnu
;;
arm*-semi)
- os=-aout
+ os=aout
;;
c4x-* | tic4x-*)
- os=-coff
+ os=coff
+ ;;
+ c8051-*)
+ os=elf
+ ;;
+ clipper-intergraph)
+ os=clix
+ ;;
+ hexagon-*)
+ os=elf
+ ;;
+ tic54x-*)
+ os=coff
+ ;;
+ tic55x-*)
+ os=coff
+ ;;
+ tic6x-*)
+ os=coff
;;
# This must come before the *-dec entry.
pdp10-*)
- os=-tops20
+ os=tops20
;;
pdp11-*)
- os=-none
+ os=none
;;
*-dec | vax-*)
- os=-ultrix4.2
+ os=ultrix4.2
;;
m68*-apollo)
- os=-domain
+ os=domain
;;
i386-sun)
- os=-sunos4.0.2
+ os=sunos4.0.2
;;
m68000-sun)
- os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
+ os=sunos3
;;
m68*-cisco)
- os=-aout
+ os=aout
+ ;;
+ mep-*)
+ os=elf
;;
mips*-cisco)
- os=-elf
+ os=elf
;;
mips*-*)
- os=-elf
+ os=elf
;;
or32-*)
- os=-coff
+ os=coff
;;
*-tti) # must be before sparc entry or we get the wrong os.
- os=-sysv3
+ os=sysv3
;;
sparc-* | *-sun)
- os=-sunos4.1.1
+ os=sunos4.1.1
+ ;;
+ pru-*)
+ os=elf
;;
*-be)
- os=-beos
+ os=beos
;;
*-ibm)
- os=-aix
+ os=aix
+ ;;
+ *-knuth)
+ os=mmixware
;;
*-wec)
- os=-proelf
+ os=proelf
;;
*-winbond)
- os=-proelf
+ os=proelf
;;
*-oki)
- os=-proelf
+ os=proelf
;;
*-hp)
- os=-hpux
+ os=hpux
;;
*-hitachi)
- os=-hiux
+ os=hiux
;;
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
- os=-sysv
+ os=sysv
;;
*-cbm)
- os=-amigaos
+ os=amigaos
;;
*-dg)
- os=-dgux
+ os=dgux
;;
*-dolphin)
- os=-sysv3
+ os=sysv3
;;
m68k-ccur)
- os=-rtu
+ os=rtu
;;
m88k-omron*)
- os=-luna
+ os=luna
;;
- *-next )
- os=-nextstep
+ *-next)
+ os=nextstep
;;
*-sequent)
- os=-ptx
+ os=ptx
;;
*-crds)
- os=-unos
+ os=unos
;;
*-ns)
- os=-genix
+ os=genix
;;
i370-*)
- os=-mvs
- ;;
- *-next)
- os=-nextstep3
+ os=mvs
;;
*-gould)
- os=-sysv
+ os=sysv
;;
*-highlevel)
- os=-bsd
+ os=bsd
;;
*-encore)
- os=-bsd
+ os=bsd
;;
*-sgi)
- os=-irix
+ os=irix
;;
*-siemens)
- os=-sysv4
+ os=sysv4
;;
*-masscomp)
- os=-rtu
+ os=rtu
;;
f30[01]-fujitsu | f700-fujitsu)
- os=-uxpv
+ os=uxpv
;;
*-rom68k)
- os=-coff
+ os=coff
;;
*-*bug)
- os=-coff
+ os=coff
;;
*-apple)
- os=-macos
+ os=macos
;;
*-atari*)
- os=-mint
+ os=mint
+ ;;
+ *-wrs)
+ os=vxworks
;;
*)
- os=-none
+ os=none
;;
esac
+
fi
+# Now, validate our (potentially fixed-up) OS.
+case $os in
+ # Sometimes we do "kernel-libc", so those need to count as OSes.
+ musl* | newlib* | relibc* | uclibc*)
+ ;;
+ # Likewise for "kernel-abi"
+ eabi* | gnueabi*)
+ ;;
+ # VxWorks passes extra cpu info in the 4th filed.
+ simlinux | simwindows | spe)
+ ;;
+ # Now accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST end in a * to match a version number.
+ gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
+ | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \
+ | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
+ | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \
+ | hiux* | abug | nacl* | netware* | windows* \
+ | os9* | macos* | osx* | ios* \
+ | mpw* | magic* | mmixware* | mon960* | lnews* \
+ | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
+ | aos* | aros* | cloudabi* | sortix* | twizzler* \
+ | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
+ | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
+ | mirbsd* | netbsd* | dicos* | openedition* | ose* \
+ | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \
+ | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
+ | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
+ | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
+ | udi* | lites* | ieee* | go32* | aux* | hcos* \
+ | chorusrdb* | cegcc* | glidix* | serenity* \
+ | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
+ | midipix* | mingw32* | mingw64* | mint* \
+ | uxpv* | beos* | mpeix* | udk* | moxiebox* \
+ | interix* | uwin* | mks* | rhapsody* | darwin* \
+ | openstep* | oskit* | conix* | pw32* | nonstopux* \
+ | storm-chaos* | tops10* | tenex* | tops20* | its* \
+ | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \
+ | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \
+ | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
+ | skyos* | haiku* | rdos* | toppers* | drops* | es* \
+ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
+ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
+ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
+ | fiwix* )
+ ;;
+ # This one is extra strict with allowed versions
+ sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ ;;
+ none)
+ ;;
+ *)
+ echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# As a final step for OS-related things, validate the OS-kernel combination
+# (given a valid OS), if there is a kernel.
+case $kernel-$os in
+ linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \
+ | linux-musl* | linux-relibc* | linux-uclibc* )
+ ;;
+ uclinux-uclibc* )
+ ;;
+ -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* )
+ # These are just libc implementations, not actual OSes, and thus
+ # require a kernel.
+ echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
+ exit 1
+ ;;
+ kfreebsd*-gnu* | kopensolaris*-gnu*)
+ ;;
+ vxworks-simlinux | vxworks-simwindows | vxworks-spe)
+ ;;
+ nto-qnx*)
+ ;;
+ os2-emx)
+ ;;
+ *-eabi* | *-gnueabi*)
+ ;;
+ -*)
+ # Blank kernel with real OS is always fine.
+ ;;
+ *-*)
+ echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2
+ exit 1
+ ;;
+esac
+
# Here we handle the case where we know the os, and the CPU type, but not the
# manufacturer. We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
- *-unknown)
- case $os in
- -riscix*)
+case $vendor in
+ unknown)
+ case $cpu-$os in
+ *-riscix*)
vendor=acorn
;;
- -sunos*)
+ *-sunos*)
vendor=sun
;;
- -aix*)
+ *-cnk* | *-aix*)
vendor=ibm
;;
- -beos*)
+ *-beos*)
vendor=be
;;
- -hpux*)
+ *-hpux*)
vendor=hp
;;
- -mpeix*)
+ *-mpeix*)
vendor=hp
;;
- -hiux*)
+ *-hiux*)
vendor=hitachi
;;
- -unos*)
+ *-unos*)
vendor=crds
;;
- -dgux*)
+ *-dgux*)
vendor=dg
;;
- -luna*)
+ *-luna*)
vendor=omron
;;
- -genix*)
+ *-genix*)
vendor=ns
;;
- -mvs* | -opened*)
+ *-clix*)
+ vendor=intergraph
+ ;;
+ *-mvs* | *-opened*)
vendor=ibm
;;
- -ptx*)
+ *-os400*)
+ vendor=ibm
+ ;;
+ s390-* | s390x-*)
+ vendor=ibm
+ ;;
+ *-ptx*)
vendor=sequent
;;
- -vxsim* | -vxworks* | -windiss*)
+ *-tpf*)
+ vendor=ibm
+ ;;
+ *-vxsim* | *-vxworks* | *-windiss*)
vendor=wrs
;;
- -aux*)
+ *-aux*)
vendor=apple
;;
- -hms*)
+ *-hms*)
vendor=hitachi
;;
- -mpw* | -macos*)
+ *-mpw* | *-macos*)
vendor=apple
;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*)
vendor=atari
;;
- -vos*)
+ *-vos*)
vendor=stratus
;;
esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
;;
esac
-echo $basic_machine$os
-exit 0
+echo "$cpu-$vendor-${kernel:+$kernel-}$os"
+exit
# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
diff --git a/3rdparty/libflac/configure b/3rdparty/libflac/configure
index 947f077fc5c..f0806e8d782 100644..100755
--- a/3rdparty/libflac/configure
+++ b/3rdparty/libflac/configure
@@ -1,81 +1,490 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59.
+# Generated by GNU Autoconf 2.71 for flac 1.4.3.
+#
+# Report bugs to <flac-dev@xiph.org>.
+#
+#
+# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
+# Inc.
+#
#
-# Copyright (C) 2003 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+as_nop=:
+if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
+ setopt NO_GLOB_SUBST
+else $as_nop
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
fi
-DUALCASE=1; export DUALCASE # for MKS sh
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+# Reset variables that may have inherited troublesome values from
+# the environment.
+
+# IFS needs to be set, to space, tab, and newline, in precisely that order.
+# (If _AS_PATH_WALK were called with IFS unset, it would have the
+# side effect of setting IFS to empty, thus disabling word splitting.)
+# Quoting is to prevent editors from complaining about space-tab.
+as_nl='
+'
+export as_nl
+IFS=" "" $as_nl"
+
PS1='$ '
PS2='> '
PS4='+ '
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
+# Ensure predictable behavior from utilities with locale-dependent output.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# We cannot yet rely on "unset" to work, but we need these variables
+# to be unset--not just set to an empty or harmless value--now, to
+# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct
+# also avoids known problems related to "unset" and subshell syntax
+# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
+for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+do eval test \${$as_var+y} \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+
+# Ensure that fds 0, 1, and 2 are open.
+if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi
+if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
+if (exec 3>&2) ; then :; else exec 2>/dev/null; fi
+
+# The user is always right.
+if ${PATH_SEPARATOR+false} :; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ test -r "$as_dir$0" && as_myself=$as_dir$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+
+# Use a proper internal environment variable to ensure we don't fall
+ # into an infinite loop, continuously re-executing ourselves.
+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+ _as_can_reexec=no; export _as_can_reexec;
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
fi
+ # We don't want this to propagate to other subprocesses.
+ { _as_can_reexec=; unset _as_can_reexec;}
+if test "x$CONFIG_SHELL" = x; then
+ as_bourne_compatible="as_nop=:
+if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else \$as_nop
+ case \`(set -o) 2>/dev/null\` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+"
+ as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" )
+then :
+
+else \$as_nop
+ exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1
+blah=\$(echo \$(echo blah))
+test x\"\$blah\" = xblah || exit 1
+test -x / || exit 1"
+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+
+ test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
+ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+ PATH=/empty FPATH=/empty; export PATH FPATH
+ test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
+ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+ if (eval "$as_required") 2>/dev/null
+then :
+ as_have_required=yes
+else $as_nop
+ as_have_required=no
+fi
+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null
+then :
+
+else $as_nop
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ as_found=:
+ case $as_dir in #(
+ /*)
+ for as_base in sh bash ksh sh5; do
+ # Try only shells that exist, to save several forks.
+ as_shell=$as_dir$as_base
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null
+then :
+ CONFIG_SHELL=$as_shell as_have_required=yes
+ if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null
+then :
+ break 2
+fi
+fi
+ done;;
+ esac
+ as_found=false
done
+IFS=$as_save_IFS
+if $as_found
+then :
+
+else $as_nop
+ if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+ as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null
+then :
+ CONFIG_SHELL=$SHELL as_have_required=yes
+fi
+fi
+
+
+ if test "x$CONFIG_SHELL" != x
+then :
+ export CONFIG_SHELL
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+fi
+
+ if test x$as_have_required = xno
+then :
+ printf "%s\n" "$0: This script requires a shell more modern than all"
+ printf "%s\n" "$0: the shells that I found on your system."
+ if test ${ZSH_VERSION+y} ; then
+ printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+ printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."
+ else
+ printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and flac-dev@xiph.org
+$0: about your system, including any error possibly output
+$0: before this message. Then install a modern shell, or
+$0: manually run the script under such a shell if you do
+$0: have one."
+ fi
+ exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+# as_fn_nop
+# ---------
+# Do nothing but, unlike ":", preserve the value of $?.
+as_fn_nop ()
+{
+ return $?
+}
+as_nop=as_fn_nop
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+printf "%s\n" X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
+then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else $as_nop
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
+then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else $as_nop
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+# as_fn_nop
+# ---------
+# Do nothing but, unlike ":", preserve the value of $?.
+as_fn_nop ()
+{
+ return $?
+}
+as_nop=as_fn_nop
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ printf "%s\n" "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
fi
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
-# Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+printf "%s\n" X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
-# PATH needs CR, and LINENO needs CR and PATH.
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
@@ -83,146 +492,102 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
+ as_lineno_1=$LINENO as_lineno_1a=$LINENO
+ as_lineno_2=$LINENO as_lineno_2a=$LINENO
+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
+ s/-\n.*//
' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
+ chmod +x "$as_me.lineno" ||
+ { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+ # already done that, so ensure we don't try to do so again and fall
+ # in an infinite loop. This has already happened in practice.
+ _as_can_reexec=no; export _as_can_reexec
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
# Exit status is that of the last command.
exit
}
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+# Determine whether it's possible to make 'echo' print without a newline.
+# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
+# for compatibility with existing Makefiles.
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
esac
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
+# For backward compatibility with old third-party macros, we provide
+# the shell variables $as_echo and $as_echo_n. New code should use
+# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
+as_echo='printf %s\n'
+as_echo_n='printf %s'
+
rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -pR'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -pR'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -pR'
fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
+ as_mkdir_p='mkdir -p "$as_dir"'
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
-as_executable_p="test -f"
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -230,245 +595,325 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-
-
-# Check that we are running under the correct shell.
SHELL=${CONFIG_SHELL-/bin/sh}
-case X$ECHO in
-X*--fallback-echo)
- # Remove one level of quotation (which was required for Make).
- ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','`
- ;;
-esac
-
-echo=${ECHO-echo}
-if test "X$1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X$1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
- # Yippee, $echo works!
- :
-else
- # Restart under the correct shell.
- exec $SHELL "$0" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
-$*
-EOF
- exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if (echo_test_string="`eval $cmd`") 2>/dev/null &&
- echo_test_string="`eval $cmd`" &&
- (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
- then
- break
- fi
- done
-fi
-
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- :
-else
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\\/\\\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
-
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for dir in $PATH /usr/ucb; do
- IFS="$lt_save_ifs"
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$dir/echo"
- break
- fi
- done
- IFS="$lt_save_ifs"
-
- if test "X$echo" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- echo='print -r'
- elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running configure again with it.
- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
- else
- # Try using printf.
- echo='printf %s\n'
- if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # Cool, printf works
- :
- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- echo="$CONFIG_SHELL $0 --fallback-echo"
- elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$CONFIG_SHELL $0 --fallback-echo"
- else
- # maybe with a smaller string...
- prev=:
-
- for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
- if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
- then
- break
- fi
- prev="$cmd"
- done
-
- if test "$prev" != 'sed 50q "$0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
- else
- # Oops. We lost completely, so just stick with echo.
- echo=echo
- fi
- fi
- fi
- fi
-fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
- ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
-fi
-
-
-
-tagnames=${tagnames+${tagnames},}CXX
-
-tagnames=${tagnames+${tagnames},}F77
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-exec 6>&1
-
#
# Initializations.
#
ac_default_prefix=/usr/local
+ac_clean_files=
ac_config_libobj_dir=.
+LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete. It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
# Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
+PACKAGE_NAME='flac'
+PACKAGE_TARNAME='flac'
+PACKAGE_VERSION='1.4.3'
+PACKAGE_STRING='flac 1.4.3'
+PACKAGE_BUGREPORT='flac-dev@xiph.org'
+PACKAGE_URL='https://www.xiph.org/flac/'
ac_unique_file="src/flac/main.c"
# Factoring default headers for most tests.
ac_includes_default="\
-#include <stdio.h>
-#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#if HAVE_SYS_STAT_H
-# include <sys/stat.h>
+#include <stddef.h>
+#ifdef HAVE_STDIO_H
+# include <stdio.h>
#endif
-#if STDC_HEADERS
+#ifdef HAVE_STDLIB_H
# include <stdlib.h>
-# include <stddef.h>
-#else
-# if HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
#endif
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
-# include <memory.h>
-# endif
+#ifdef HAVE_STRING_H
# include <string.h>
#endif
-#if HAVE_STRINGS_H
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_STRINGS_H
# include <strings.h>
#endif
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-# include <stdint.h>
-# endif
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
#endif
-#if HAVE_UNISTD_H
+#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE am__leading_dot MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL ACLOCAL_AMFLAGS CCAS CCASFLAGS FLaC__CPU_IA32_TRUE FLaC__CPU_IA32_FALSE FLaC__CPU_PPC_TRUE FLaC__CPU_PPC_FALSE FLaC__CPU_SPARC_TRUE FLaC__CPU_SPARC_FALSE OBJ_FORMAT MINGW_WINSOCK_LIBS FLaC__SYS_DARWIN_TRUE FLaC__SYS_DARWIN_FALSE FLaC__SYS_LINUX_TRUE FLaC__SYS_LINUX_FALSE FLaC__NO_ASM_TRUE FLaC__NO_ASM_FALSE DEBUG_TRUE DEBUG_FALSE FLaC__SSE_OS_TRUE FLaC__SSE_OS_FALSE FLaC__USE_3DNOW_TRUE FLaC__USE_3DNOW_FALSE FLaC__USE_ALTIVEC_TRUE FLaC__USE_ALTIVEC_FALSE FLAC__TEST_LEVEL FLAC__TEST_WITH_VALGRIND DOXYGEN FLaC__HAS_DOXYGEN_TRUE FLaC__HAS_DOXYGEN_FALSE FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE XMMS_CONFIG XMMS_CFLAGS XMMS_LIBS XMMS_VERSION XMMS_DATA_DIR XMMS_PLUGIN_DIR XMMS_VISUALIZATION_PLUGIN_DIR XMMS_INPUT_PLUGIN_DIR XMMS_OUTPUT_PLUGIN_DIR XMMS_GENERAL_PLUGIN_DIR XMMS_EFFECT_PLUGIN_DIR FLaC__HAS_XMMS_TRUE FLaC__HAS_XMMS_FALSE FLaC__WITH_CPPLIBS_TRUE FLaC__WITH_CPPLIBS_FALSE OGG_CFLAGS OGG_LIBS FLaC__HAS_OGG_TRUE FLaC__HAS_OGG_FALSE LIBICONV LTLIBICONV DOCBOOK_TO_MAN FLaC__HAS_DOCBOOK_TO_MAN_TRUE FLaC__HAS_DOCBOOK_TO_MAN_FALSE NASM FLaC__HAS_NASM_TRUE FLaC__HAS_NASM_FALSE AS GAS FLaC__HAS_AS_TRUE FLaC__HAS_AS_FALSE FLaC__HAS_GAS_TRUE FLaC__HAS_GAS_FALSE FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE LIBOBJS LTLIBOBJS'
+ac_header_c_list=
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
+LIBOBJS
+ASSOC_MATH_AVAILABLE_FALSE
+ASSOC_MATH_AVAILABLE_TRUE
+GIT_COMMIT_VERSION_HASH
+GIT_FOUND
+GCC_MINOR_VERSION
+GCC_MAJOR_VERSION
+GCC_VERSION
+LIB_CLOCK_GETTIME
+FLaC__HAS_PREBUILT_MANPAGES_FALSE
+FLaC__HAS_PREBUILT_MANPAGES_TRUE
+FLaC__HAS_PANDOC_FALSE
+FLaC__HAS_PANDOC_TRUE
+PANDOC
+LTLIBICONV
+LIBICONV
+CPP
+EXAMPLES_FALSE
+EXAMPLES_TRUE
+FLaC__WITH_PROGRAMS_FALSE
+FLaC__WITH_PROGRAMS_TRUE
+OGG_PACKAGE
+FLAC__HAS_OGG
+FLaC__HAS_OGG_FALSE
+FLaC__HAS_OGG_TRUE
+OGG_LIBS
+OGG_CFLAGS
+LIB_FUZZING_ENGINE
+USE_OSSFUZZERS_FALSE
+USE_OSSFUZZERS_TRUE
+FLaC__WITH_CPPLIBS_FALSE
+FLaC__WITH_CPPLIBS_TRUE
+FLaC__HAS_PREBUILT_DOXYGEN_FALSE
+FLaC__HAS_PREBUILT_DOXYGEN_TRUE
+FLaC__HAS_DOXYGEN_FALSE
+FLaC__HAS_DOXYGEN_TRUE
+DOXYGEN
+FLAC__TEST_WITH_VALGRIND
+ENABLE_64_BIT_WORDS
+FLAC__TEST_LEVEL
+FLaC__USE_AVX_FALSE
+FLaC__USE_AVX_TRUE
+DEBUG_FALSE
+DEBUG_TRUE
+FLaC__SYS_LINUX_FALSE
+FLaC__SYS_LINUX_TRUE
+FLaC__SYS_DARWIN_FALSE
+FLaC__SYS_DARWIN_TRUE
+HAVE_WINDRES_FALSE
+HAVE_WINDRES_TRUE
+OS_IS_WINDOWS_FALSE
+OS_IS_WINDOWS_TRUE
+RC
+OBJ_FORMAT
+FLAC__CPU_ARM64_FALSE
+FLAC__CPU_ARM64_TRUE
+FLaC__CPU_IA32_FALSE
+FLaC__CPU_IA32_TRUE
+FLAC__CPU_X86_64_FALSE
+FLAC__CPU_X86_64_TRUE
+FLaC__NO_ASM_FALSE
+FLaC__NO_ASM_TRUE
+CXXCPP
+am__fastdepCXX_FALSE
+am__fastdepCXX_TRUE
+CXXDEPMODE
+ac_ct_CXX
+CXXFLAGS
+CXX
+am__fastdepCCAS_FALSE
+am__fastdepCCAS_TRUE
+CCASDEPMODE
+CCASFLAGS
+CCAS
+LT_SYS_LIBRARY_PATH
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+MANIFEST_TOOL
+RANLIB
+LN_S
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+EGREP
+GREP
+SED
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+LIBTOOL
+OBJDUMP
+DLLTOOL
+AS
+ac_ct_AR
+AR
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+am__nodep
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
+CSCOPE
+ETAGS
+CTAGS
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+runstatedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL
+am__quote'
ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_silent_rules
+enable_debug
+enable_dependency_tracking
+enable_static
+with_pic
+enable_shared
+enable_fast_install
+with_aix_soname
+with_gnu_ld
+with_sysroot
+enable_libtool_lock
+enable_largefile
+enable_asm_optimizations
+enable_avx
+enable_thorough_tests
+enable_exhaustive_tests
+enable_werror
+enable_stack_smash_protection
+enable_fortify_source
+enable_64_bit_words
+enable_valgrind_testing
+enable_doxygen_docs
+enable_cpplibs
+enable_oss_fuzzers
+enable_ogg
+with_ogg
+with_ogg_libraries
+with_ogg_includes
+enable_oggtest
+enable_programs
+enable_examples
+enable_version_from_git
+enable_rpath
+with_libiconv_prefix
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+LT_SYS_LIBRARY_PATH
+CCAS
+CCASFLAGS
+CXX
+CXXFLAGS
+CCC
+CXXCPP
+CPP'
+
# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
@@ -491,34 +936,48 @@ x_libraries=NONE
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
+runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
ac_prev=
+ac_dashdash=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
+ eval $ac_prev=\$ac_option
ac_prev=
continue
fi
- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
case $ac_option in
+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *=) ac_optarg= ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
@@ -540,33 +999,59 @@ do
--config-cache | -C)
cache_file=config.cache ;;
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ -datadir | --datadir | --datadi | --datad)
ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
datadir=$ac_optarg ;;
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
-disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- eval "enable_$ac_feature=no" ;;
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: \`$ac_useropt'"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
-enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: \`$ac_useropt'"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
esac
- eval "enable_$ac_feature='$ac_optarg'" ;;
+ eval enable_$ac_useropt=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -593,6 +1078,12 @@ do
-host=* | --host=* | --hos=* | --ho=*)
host_alias=$ac_optarg ;;
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
@@ -617,13 +1108,16 @@ do
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
-localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
+ | --localstate | --localstat | --localsta | --localst | --locals)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
localstatedir=$ac_optarg ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
@@ -688,10 +1182,29 @@ do
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
+ -runstatedir | --runstatedir | --runstatedi | --runstated \
+ | --runstate | --runstat | --runsta | --runst | --runs \
+ | --run | --ru | --r)
+ ac_prev=runstatedir ;;
+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+ | --run=* | --ru=* | --r=*)
+ runstatedir=$ac_optarg ;;
+
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -738,26 +1251,36 @@ do
ac_init_version=: ;;
-with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: \`$ac_useropt'"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
esac
- eval "with_$ac_package='$ac_optarg'" ;;
+ eval with_$ac_useropt=\$ac_optarg ;;
-without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/-/_/g'`
- eval "with_$ac_package=no" ;;
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: \`$ac_useropt'"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
--x)
# Obsolete; use --with-x.
@@ -777,27 +1300,26 @@ do
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
- -*) { echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; }
+ -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
;;
*=*)
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
- { (exit 1); exit 1; }; }
- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
- eval "$ac_envvar='$ac_optarg'"
+ case $ac_envvar in #(
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+ esac
+ eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
;;
esac
@@ -805,31 +1327,36 @@ done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
- { (exit 1); exit 1; }; }
+ as_fn_error $? "missing argument to $ac_option"
fi
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+ *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
esac
-done
+fi
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
- localstatedir libdir includedir oldincludedir infodir mandir
+# Check all directory arguments for consistency.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir runstatedir
do
- eval ac_val=$`echo $ac_var`
+ eval ac_val=\$$ac_var
+ # Remove trailing slashes.
case $ac_val in
- [\\/$]* | ?:[\\/]* ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
esac
+ # Be sure to have absolute directory names.
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
done
# There might be people who depend on the old broken behavior: `$host'
@@ -843,8 +1370,6 @@ target=$target_alias
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
@@ -856,94 +1381,72 @@ test -n "$host_alias" && ac_tool_prefix=$host_alias-
test "$silent" = yes && exec 6>/dev/null
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ as_fn_error $? "pwd does not report name of working directory"
+
+
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_confdir=`(dirname "$0") 2>/dev/null ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+printf "%s\n" X"$as_myself" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
+ if test ! -r "$srcdir/$ac_unique_file"; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
- { (exit 1); exit 1; }; }
- else
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
- fi
-fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
- { (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CC_set=${CC+set}
-ac_env_CC_value=$CC
-ac_cv_env_CC_set=${CC+set}
-ac_cv_env_CC_value=$CC
-ac_env_CFLAGS_set=${CFLAGS+set}
-ac_env_CFLAGS_value=$CFLAGS
-ac_cv_env_CFLAGS_set=${CFLAGS+set}
-ac_cv_env_CFLAGS_value=$CFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-ac_env_CPP_set=${CPP+set}
-ac_env_CPP_value=$CPP
-ac_cv_env_CPP_set=${CPP+set}
-ac_cv_env_CPP_value=$CPP
-ac_env_CXX_set=${CXX+set}
-ac_env_CXX_value=$CXX
-ac_cv_env_CXX_set=${CXX+set}
-ac_cv_env_CXX_value=$CXX
-ac_env_CXXFLAGS_set=${CXXFLAGS+set}
-ac_env_CXXFLAGS_value=$CXXFLAGS
-ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set}
-ac_cv_env_CXXFLAGS_value=$CXXFLAGS
-ac_env_CXXCPP_set=${CXXCPP+set}
-ac_env_CXXCPP_value=$CXXCPP
-ac_cv_env_CXXCPP_set=${CXXCPP+set}
-ac_cv_env_CXXCPP_value=$CXXCPP
-ac_env_F77_set=${F77+set}
-ac_env_F77_value=$F77
-ac_cv_env_F77_set=${F77+set}
-ac_cv_env_F77_value=$F77
-ac_env_FFLAGS_set=${FFLAGS+set}
-ac_env_FFLAGS_value=$FFLAGS
-ac_cv_env_FFLAGS_set=${FFLAGS+set}
-ac_cv_env_FFLAGS_value=$FFLAGS
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
#
# Report the --help message.
@@ -952,7 +1455,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures this package to adapt to many kinds of systems.
+\`configure' configures flac 1.4.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -966,20 +1469,17 @@ Configuration:
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking...' messages
+ -q, --quiet, --silent do not print \`checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for \`--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or \`..']
-_ACEOF
-
- cat <<_ACEOF
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
+ [$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
+ [PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
@@ -989,18 +1489,26 @@ for instance \`--prefix=\$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --infodir=DIR info documentation [PREFIX/info]
- --mandir=DIR man documentation [PREFIX/man]
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/flac]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
@@ -1017,61 +1525,77 @@ _ACEOF
fi
if test -n "$ac_init_help"; then
-
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of flac 1.4.3:";;
+ esac
cat <<\_ACEOF
Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer
- --enable-shared[=PKGS]
- build shared libraries [default=yes]
- --enable-static[=PKGS]
- build static libraries [default=yes]
+ --enable-silent-rules less verbose build output (undo: "make V=1")
+ --disable-silent-rules verbose build output (undo: "make V=0")
+ --enable-debug=[yes/info/profile/no]
+ compile with debugging
+ --enable-dependency-tracking
+ do not reject slow dependency extractors
+ --disable-dependency-tracking
+ speeds up one-time build
+ --enable-static[=PKGS] build static libraries [default=no]
+ --enable-shared[=PKGS] build shared libraries [default=yes]
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
- --disable-dependency-tracking Speeds up one-time builds
- --enable-dependency-tracking Do not reject slow dependency extractors
--disable-libtool-lock avoid locking (might break parallel builds)
--disable-largefile omit support for large files
--disable-asm-optimizations
- Don't use any assembly optimization routines
- --enable-debug Turn on debugging
- --enable-sse Enable SSE support by asserting that the OS supports
- SSE instructions
- --disable-3dnow Disable 3DNOW! optimizations
- --disable-altivec Disable Altivec optimizations
+ Do not use any CPU specific optimization routines
+ --disable-avx Disable AVX, AVX2 optimizations. There is runtime
+ detection of CPU features, so disabling is only
+ necessary when a compiler does not know about them
--disable-thorough-tests
Disable thorough (long) testing, do only basic tests
--enable-exhaustive-tests
Enable exhaustive testing (VERY long)
+ --enable-werror Enable -Werror in all Makefiles
+ --disable-stack-smash-protection
+ Disable GNU GCC stack smash protection
+ --disable-fortify-source
+ Disable _FORTIFY_SOURCE buffer overflow protection
+ --disable-64-bit-words Set FLAC__BYTES_PER_WORD to 4 (8 is the default)
--enable-valgrind-testing
Run all tests inside Valgrind
--disable-doxygen-docs Disable API documentation building via Doxygen
- --enable-local-xmms-plugin
- Install XMMS plugin to ~/.xmms/Plugins instead of
- system location
- --disable-xmms-plugin Do not build XMMS plugin
--disable-cpplibs Do not build libFLAC++
+ --enable-oss-fuzzers Whether to generate the fuzzers for OSS-Fuzz (Clang
+ only)
--disable-ogg Disable ogg support (default: test for libogg)
--disable-oggtest Do not try to compile and run a test Ogg program
+ --disable-programs Do not build and install flac and metaflac
+ --disable-examples Do not build and install examples
+ --disable-version-from-git
+ Do not use git tag, commit hash and commit date for
+ version number
--disable-rpath do not hardcode runtime library paths
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-pic try to use only PIC/non-PIC objects [default=use
+ --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
both]
- --with-tags[=TAGS]
- include additional configurations [automatic]
- --with-xmms-prefix=PFX Prefix where XMMS is installed (optional)
- --with-xmms-exec-prefix=PFX Exec prefix where XMMS is installed (optional)
- --with-ogg=PFX Prefix where libogg is installed (optional)
- --with-ogg-libraries=DIR Directory where libogg library is installed (optional)
- --with-ogg-includes=DIR Directory where libogg header files are installed (optional)
- --with-gnu-ld assume the C compiler uses GNU ld default=no
+ --with-aix-soname=aix|svr4|both
+ shared library versioning (aka "SONAME") variant to
+ provide on AIX, [default=aix].
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+ --with-sysroot[=DIR] Search for dependent libraries within DIR (or the
+ compiler's sysroot if not specified).
+ --with-ogg=PFX Prefix where libogg is installed (optional)
+ --with-ogg-libraries=DIR
+ Directory where libogg library is installed
+ (optional)
+ --with-ogg-includes=DIR Directory where libogg header files are installed
+ (optional)
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
--without-libiconv-prefix don't search for libiconv in includedir and libdir
@@ -1080,131 +1604,705 @@ Some influential environment variables:
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
- CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
- headers in a nonstandard directory <include dir>
- CPP C preprocessor
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
+ LT_SYS_LIBRARY_PATH
+ User-defined run-time library search path.
+ CCAS assembler compiler command (defaults to CC)
+ CCASFLAGS assembler compiler flags (defaults to CFLAGS)
CXX C++ compiler command
CXXFLAGS C++ compiler flags
CXXCPP C++ preprocessor
- F77 Fortran 77 compiler command
- FFLAGS Fortran 77 compiler flags
+ CPP C preprocessor
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
+Report bugs to <flac-dev@xiph.org>.
+flac home page: <https://www.xiph.org/flac/>.
_ACEOF
+ac_status=$?
fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
- ac_popdir=`pwd`
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d $ac_dir || continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
ac_builddir=.
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
case $srcdir in
- .) # No --srcdir option. We are building in place.
+ .) # We are building in place.
ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for configure.gnu first; this name is used for a wrapper for
+ # Metaconfig's "Configure" on case-insensitive file systems.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+flac configure 1.4.3
+generated by GNU Autoconf 2.71
+
+Copyright (C) 2021 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest.beam
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext
+then :
+ ac_retval=0
+else $as_nop
+ printf "%s\n" "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
+if eval test \${$3+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ eval "$3=yes"
+else $as_nop
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ test -x conftest$ac_exeext
+ }
+then :
+ ac_retval=0
+else $as_nop
+ printf "%s\n" "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
+if eval test \${$3+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $2 (); below. */
+
+#include <limits.h>
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main (void)
+{
+return $2 ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ eval "$3=yes"
+else $as_nop
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_func
+
+# ac_fn_cxx_try_compile LINENO
+# ----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest.beam
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext
+then :
+ ac_retval=0
+else $as_nop
+ printf "%s\n" "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_compile
+
+# ac_fn_cxx_try_cpp LINENO
+# ------------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_cpp ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } > conftest.i && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }
+then :
+ ac_retval=0
+else $as_nop
+ printf "%s\n" "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
- cd $ac_dir
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_srcdir/configure.gnu; then
- echo
- $SHELL $ac_srcdir/configure.gnu --help=recursive
- elif test -f $ac_srcdir/configure; then
- echo
- $SHELL $ac_srcdir/configure --help=recursive
- elif test -f $ac_srcdir/configure.ac ||
- test -f $ac_srcdir/configure.in; then
- echo
- $ac_configure --help
- else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi
- cd $ac_popdir
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_cpp
+
+# ac_fn_cxx_try_link LINENO
+# -------------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_link ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ test -x conftest$ac_exeext
+ }
+then :
+ ac_retval=0
+else $as_nop
+ printf "%s\n" "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_link
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that
+# executables *can* be run.
+ac_fn_c_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }
+then :
+ ac_retval=0
+else $as_nop
+ printf "%s\n" "$as_me: program exited with status $ac_status" >&5
+ printf "%s\n" "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=$ac_status
+fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
+# --------------------------------------------
+# Tries to find the compile-time value of EXPR in a program that includes
+# INCLUDES, setting VAR accordingly. Returns whether the value could be
+# computed
+ac_fn_c_compute_int ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main (void)
+{
+static int test_array [1 - 2 * !(($2) >= 0)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main (void)
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_hi=$ac_mid; break
+else $as_nop
+ as_fn_arith $ac_mid + 1 && ac_lo=$as_val
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ done
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main (void)
+{
+static int test_array [1 - 2 * !(($2) < 0)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main (void)
+{
+static int test_array [1 - 2 * !(($2) >= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_lo=$ac_mid; break
+else $as_nop
+ as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
done
+else $as_nop
+ ac_lo= ac_hi=
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main (void)
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
-test -n "$ac_init_help" && exit 0
-if $ac_init_version; then
- cat <<\_ACEOF
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_hi=$ac_mid
+else $as_nop
+ as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+done
+case $ac_lo in #((
+?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
+'') ac_retval=1 ;;
+esac
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+static long int longval (void) { return $2; }
+static unsigned long int ulongval (void) { return $2; }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main (void)
+{
-Copyright (C) 2003 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (($2) < 0)
+ {
+ long int i = longval ();
+ if (i != ($2))
+ return 1;
+ fprintf (f, "%ld", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ($2))
+ return 1;
+ fprintf (f, "%lu", i);
+ }
+ /* Do not output a trailing newline, as this causes \r\n confusion
+ on some platforms. */
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
_ACEOF
- exit 0
+if ac_fn_c_try_run "$LINENO"
+then :
+ echo >>conftest.val; read $3 <conftest.val; ac_retval=0
+else $as_nop
+ ac_retval=1
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f conftest.val
+
+ fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_compute_int
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } > conftest.i && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }
+then :
+ ac_retval=0
+else $as_nop
+ printf "%s\n" "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
fi
-exec 5>config.log
-cat >&5 <<_ACEOF
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+ac_configure_args_raw=
+for ac_arg
+do
+ case $ac_arg in
+ *\'*)
+ ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ as_fn_append ac_configure_args_raw " '$ac_arg'"
+done
+
+case $ac_configure_args_raw in
+ *$as_nl*)
+ ac_safe_unquote= ;;
+ *)
+ ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab.
+ ac_unsafe_a="$ac_unsafe_z#~"
+ ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g"
+ ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;;
+esac
+
+cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by $as_me, which was
-generated by GNU Autoconf 2.59. Invocation command line was
+It was created by flac $as_me 1.4.3, which was
+generated by GNU Autoconf 2.71. Invocation command line was
- $ $0 $@
+ $ $0$ac_configure_args_raw
_ACEOF
+exec 5>>config.log
{
cat <<_ASUNAME
## --------- ##
@@ -1223,7 +2321,7 @@ uname -v = `(uname -v) 2>/dev/null || echo unknown`
/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
@@ -1234,9 +2332,14 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
-done
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ printf "%s\n" "PATH: $as_dir"
+ done
+IFS=$as_save_IFS
} >&5
@@ -1258,7 +2361,6 @@ _ACEOF
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
-ac_sep=
ac_must_keep_next=false
for ac_pass in 1 2
do
@@ -1269,13 +2371,13 @@ do
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
continue ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *\'*)
+ ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
- 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
2)
- ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ as_fn_append ac_configure_args1 " '$ac_arg'"
if test $ac_must_keep_next = true; then
ac_must_keep_next=false # Got value, back to normal.
else
@@ -1291,217 +2393,874 @@ do
-* ) ac_must_keep_next=true ;;
esac
fi
- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
- # Get rid of the leading space.
- ac_sep=" "
+ as_fn_append ac_configure_args " '$ac_arg'"
;;
esac
done
done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
# When interrupted or exit'd, cleanup temporary files, and complete
# config.log. We remove comments because anyway the quotes in there
# would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
trap 'exit_status=$?
+ # Sanitize IFS.
+ IFS=" "" $as_nl"
# Save into config.log some information that might help in debugging.
{
echo
- cat <<\_ASBOX
-## ---------------- ##
+ printf "%s\n" "## ---------------- ##
## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
echo
# The following way of writing the cache mishandles newlines in values,
-{
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
(set) 2>&1 |
- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
sed -n \
- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
- ;;
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
*)
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
- esac;
-}
+ esac |
+ sort
+)
echo
- cat <<\_ASBOX
-## ----------------- ##
+ printf "%s\n" "## ----------------- ##
## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
echo
for ac_var in $ac_subst_vars
do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ printf "%s\n" "$ac_var='\''$ac_val'\''"
done | sort
echo
if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
-_ASBOX
+ printf "%s\n" "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
echo
for ac_var in $ac_subst_files
do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ printf "%s\n" "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
+ printf "%s\n" "## ----------- ##
## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
echo
- sed "/^$/d" confdefs.h | sort
+ cat confdefs.h
echo
fi
test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
+ printf "%s\n" "$as_me: caught signal $ac_signal"
+ printf "%s\n" "$as_me: exit $exit_status"
} >&5
- rm -f core *.core &&
- rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
- ' 0
+' 0
for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
done
ac_signal=0
# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
+rm -f -r conftest* confdefs.h
+printf "%s\n" "/* confdefs.h */" > confdefs.h
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
+# Predefined preprocessor variables.
+printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
+printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h
+printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
+printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h
+printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
+printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h
# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
+# Prefer an explicitly selected file to automatically selected ones.
+if test -n "$CONFIG_SITE"; then
+ ac_site_files="$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+ ac_site_files="$prefix/share/config.site $prefix/etc/config.site"
+else
+ ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
+
+for ac_site_file in $ac_site_files
+do
+ case $ac_site_file in #(
+ */*) :
+ ;; #(
+ *) :
+ ac_site_file=./$ac_site_file ;;
+esac
+ if test -f "$ac_site_file" && test -r "$ac_site_file"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
+ . "$ac_site_file" \
+ || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
fi
done
if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special
- # files actually), so we avoid doing that.
- if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
+ # Some versions of bash will fail to source /dev/null (special files
+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.
+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+printf "%s\n" "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
- [\\/]* | ?:[\\/]* ) . $cache_file;;
- *) . ./$cache_file;;
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
esac
fi
else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+printf "%s\n" "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
+# Test code for whether the C compiler supports C89 (global declarations)
+ac_c_conftest_c89_globals='
+/* Does the compiler advertise C89 conformance?
+ Do not test the value of __STDC__, because some compilers set it to 0
+ while being otherwise adequately conformant. */
+#if !defined __STDC__
+# error "Compiler does not advertise C89 conformance"
+#endif
+
+#include <stddef.h>
+#include <stdarg.h>
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
+struct buf { int x; };
+struct buf * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not \xHH hex character constants.
+ These do not provoke an error unfortunately, instead are silently treated
+ as an "x". The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously \x00 != x always comes out true, for an
+ array size at least. It is necessary to write \x00 == 0 to get something
+ that is true only with -std. */
+int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) '\''x'\''
+int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
+ int, int);'
+
+# Test code for whether the C compiler supports C89 (body of main).
+ac_c_conftest_c89_main='
+ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
+'
+
+# Test code for whether the C compiler supports C99 (global declarations)
+ac_c_conftest_c99_globals='
+// Does the compiler advertise C99 conformance?
+#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
+# error "Compiler does not advertise C99 conformance"
+#endif
+
+#include <stdbool.h>
+extern int puts (const char *);
+extern int printf (const char *, ...);
+extern int dprintf (int, const char *, ...);
+extern void *malloc (size_t);
+
+// Check varargs macros. These examples are taken from C99 6.10.3.5.
+// dprintf is used instead of fprintf to avoid needing to declare
+// FILE and stderr.
+#define debug(...) dprintf (2, __VA_ARGS__)
+#define showlist(...) puts (#__VA_ARGS__)
+#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
+static void
+test_varargs_macros (void)
+{
+ int x = 1234;
+ int y = 5678;
+ debug ("Flag");
+ debug ("X = %d\n", x);
+ showlist (The first, second, and third items.);
+ report (x>y, "x is %d but y is %d", x, y);
+}
+
+// Check long long types.
+#define BIG64 18446744073709551615ull
+#define BIG32 4294967295ul
+#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
+#if !BIG_OK
+ #error "your preprocessor is broken"
+#endif
+#if BIG_OK
+#else
+ #error "your preprocessor is broken"
+#endif
+static long long int bignum = -9223372036854775807LL;
+static unsigned long long int ubignum = BIG64;
+
+struct incomplete_array
+{
+ int datasize;
+ double data[];
+};
+
+struct named_init {
+ int number;
+ const wchar_t *name;
+ double average;
+};
+
+typedef const char *ccp;
+
+static inline int
+test_restrict (ccp restrict text)
+{
+ // See if C++-style comments work.
+ // Iterate through items via the restricted pointer.
+ // Also check for declarations in for loops.
+ for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i)
+ continue;
+ return 0;
+}
+
+// Check varargs and va_copy.
+static bool
+test_varargs (const char *format, ...)
+{
+ va_list args;
+ va_start (args, format);
+ va_list args_copy;
+ va_copy (args_copy, args);
+
+ const char *str = "";
+ int number = 0;
+ float fnumber = 0;
+
+ while (*format)
+ {
+ switch (*format++)
+ {
+ case '\''s'\'': // string
+ str = va_arg (args_copy, const char *);
+ break;
+ case '\''d'\'': // int
+ number = va_arg (args_copy, int);
+ break;
+ case '\''f'\'': // float
+ fnumber = va_arg (args_copy, double);
+ break;
+ default:
+ break;
+ }
+ }
+ va_end (args_copy);
+ va_end (args);
+
+ return *str && number && fnumber;
+}
+'
+
+# Test code for whether the C compiler supports C99 (body of main).
+ac_c_conftest_c99_main='
+ // Check bool.
+ _Bool success = false;
+ success |= (argc != 0);
+
+ // Check restrict.
+ if (test_restrict ("String literal") == 0)
+ success = true;
+ char *restrict newvar = "Another string";
+
+ // Check varargs.
+ success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234);
+ test_varargs_macros ();
+
+ // Check flexible array members.
+ struct incomplete_array *ia =
+ malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
+ ia->datasize = 10;
+ for (int i = 0; i < ia->datasize; ++i)
+ ia->data[i] = i * 1.234;
+
+ // Check named initializers.
+ struct named_init ni = {
+ .number = 34,
+ .name = L"Test wide string",
+ .average = 543.34343,
+ };
+
+ ni.number = 58;
+
+ int dynamic_array[ni.number];
+ dynamic_array[0] = argv[0][0];
+ dynamic_array[ni.number - 1] = 543;
+
+ // work around unused variable warnings
+ ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\''
+ || dynamic_array[ni.number - 1] != 543);
+'
+
+# Test code for whether the C compiler supports C11 (global declarations)
+ac_c_conftest_c11_globals='
+// Does the compiler advertise C11 conformance?
+#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
+# error "Compiler does not advertise C11 conformance"
+#endif
+
+// Check _Alignas.
+char _Alignas (double) aligned_as_double;
+char _Alignas (0) no_special_alignment;
+extern char aligned_as_int;
+char _Alignas (0) _Alignas (int) aligned_as_int;
+
+// Check _Alignof.
+enum
+{
+ int_alignment = _Alignof (int),
+ int_array_alignment = _Alignof (int[100]),
+ char_alignment = _Alignof (char)
+};
+_Static_assert (0 < -_Alignof (int), "_Alignof is signed");
+
+// Check _Noreturn.
+int _Noreturn does_not_return (void) { for (;;) continue; }
+
+// Check _Static_assert.
+struct test_static_assert
+{
+ int x;
+ _Static_assert (sizeof (int) <= sizeof (long int),
+ "_Static_assert does not work in struct");
+ long int y;
+};
+
+// Check UTF-8 literals.
+#define u8 syntax error!
+char const utf8_literal[] = u8"happens to be ASCII" "another string";
+
+// Check duplicate typedefs.
+typedef long *long_ptr;
+typedef long int *long_ptr;
+typedef long_ptr long_ptr;
+
+// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
+struct anonymous
+{
+ union {
+ struct { int i; int j; };
+ struct { int k; long int l; } w;
+ };
+ int m;
+} v1;
+'
+
+# Test code for whether the C compiler supports C11 (body of main).
+ac_c_conftest_c11_main='
+ _Static_assert ((offsetof (struct anonymous, i)
+ == offsetof (struct anonymous, w.k)),
+ "Anonymous union alignment botch");
+ v1.i = 2;
+ v1.w.k = 5;
+ ok |= v1.i != 5;
+'
+
+# Test code for whether the C compiler supports C11 (complete).
+ac_c_conftest_c11_program="${ac_c_conftest_c89_globals}
+${ac_c_conftest_c99_globals}
+${ac_c_conftest_c11_globals}
+
+int
+main (int argc, char **argv)
+{
+ int ok = 0;
+ ${ac_c_conftest_c89_main}
+ ${ac_c_conftest_c99_main}
+ ${ac_c_conftest_c11_main}
+ return ok;
+}
+"
+
+# Test code for whether the C compiler supports C99 (complete).
+ac_c_conftest_c99_program="${ac_c_conftest_c89_globals}
+${ac_c_conftest_c99_globals}
+
+int
+main (int argc, char **argv)
+{
+ int ok = 0;
+ ${ac_c_conftest_c89_main}
+ ${ac_c_conftest_c99_main}
+ return ok;
+}
+"
+
+# Test code for whether the C compiler supports C89 (complete).
+ac_c_conftest_c89_program="${ac_c_conftest_c89_globals}
+
+int
+main (int argc, char **argv)
+{
+ int ok = 0;
+ ${ac_c_conftest_c89_main}
+ return ok;
+}
+"
+
+as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H"
+as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H"
+as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H"
+as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H"
+as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H"
+as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H"
+as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H"
+as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H"
+as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H"
+as_fn_append ac_header_c_list " wchar.h wchar_h HAVE_WCHAR_H"
+as_fn_append ac_header_c_list " minix/config.h minix_config_h HAVE_MINIX_CONFIG_H"
+# Test code for whether the C++ compiler supports C++98 (global declarations)
+ac_cxx_conftest_cxx98_globals='
+// Does the compiler advertise C++98 conformance?
+#if !defined __cplusplus || __cplusplus < 199711L
+# error "Compiler does not advertise C++98 conformance"
+#endif
+
+// These inclusions are to reject old compilers that
+// lack the unsuffixed header files.
+#include <cstdlib>
+#include <exception>
+
+// <cassert> and <cstring> are *not* freestanding headers in C++98.
+extern void assert (int);
+namespace std {
+ extern int strcmp (const char *, const char *);
+}
+
+// Namespaces, exceptions, and templates were all added after "C++ 2.0".
+using std::exception;
+using std::strcmp;
+
+namespace {
+
+void test_exception_syntax()
+{
+ try {
+ throw "test";
+ } catch (const char *s) {
+ // Extra parentheses suppress a warning when building autoconf itself,
+ // due to lint rules shared with more typical C programs.
+ assert (!(strcmp) (s, "test"));
+ }
+}
+
+template <typename T> struct test_template
+{
+ T const val;
+ explicit test_template(T t) : val(t) {}
+ template <typename U> T add(U u) { return static_cast<T>(u) + val; }
+};
+
+} // anonymous namespace
+'
+
+# Test code for whether the C++ compiler supports C++98 (body of main)
+ac_cxx_conftest_cxx98_main='
+ assert (argc);
+ assert (! argv[0]);
+{
+ test_exception_syntax ();
+ test_template<double> tt (2.0);
+ assert (tt.add (4) == 6.0);
+ assert (true && !false);
+}
+'
+
+# Test code for whether the C++ compiler supports C++11 (global declarations)
+ac_cxx_conftest_cxx11_globals='
+// Does the compiler advertise C++ 2011 conformance?
+#if !defined __cplusplus || __cplusplus < 201103L
+# error "Compiler does not advertise C++11 conformance"
+#endif
+
+namespace cxx11test
+{
+ constexpr int get_val() { return 20; }
+
+ struct testinit
+ {
+ int i;
+ double d;
+ };
+
+ class delegate
+ {
+ public:
+ delegate(int n) : n(n) {}
+ delegate(): delegate(2354) {}
+
+ virtual int getval() { return this->n; };
+ protected:
+ int n;
+ };
+
+ class overridden : public delegate
+ {
+ public:
+ overridden(int n): delegate(n) {}
+ virtual int getval() override final { return this->n * 2; }
+ };
+
+ class nocopy
+ {
+ public:
+ nocopy(int i): i(i) {}
+ nocopy() = default;
+ nocopy(const nocopy&) = delete;
+ nocopy & operator=(const nocopy&) = delete;
+ private:
+ int i;
+ };
+
+ // for testing lambda expressions
+ template <typename Ret, typename Fn> Ret eval(Fn f, Ret v)
+ {
+ return f(v);
+ }
+
+ // for testing variadic templates and trailing return types
+ template <typename V> auto sum(V first) -> V
+ {
+ return first;
+ }
+ template <typename V, typename... Args> auto sum(V first, Args... rest) -> V
+ {
+ return first + sum(rest...);
+ }
+}
+'
+
+# Test code for whether the C++ compiler supports C++11 (body of main)
+ac_cxx_conftest_cxx11_main='
+{
+ // Test auto and decltype
+ auto a1 = 6538;
+ auto a2 = 48573953.4;
+ auto a3 = "String literal";
+
+ int total = 0;
+ for (auto i = a3; *i; ++i) { total += *i; }
+
+ decltype(a2) a4 = 34895.034;
+}
+{
+ // Test constexpr
+ short sa[cxx11test::get_val()] = { 0 };
+}
+{
+ // Test initializer lists
+ cxx11test::testinit il = { 4323, 435234.23544 };
+}
+{
+ // Test range-based for
+ int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3,
+ 14, 19, 17, 8, 6, 20, 16, 2, 11, 1};
+ for (auto &x : array) { x += 23; }
+}
+{
+ // Test lambda expressions
+ using cxx11test::eval;
+ assert (eval ([](int x) { return x*2; }, 21) == 42);
+ double d = 2.0;
+ assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0);
+ assert (d == 5.0);
+ assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0);
+ assert (d == 5.0);
+}
+{
+ // Test use of variadic templates
+ using cxx11test::sum;
+ auto a = sum(1);
+ auto b = sum(1, 2);
+ auto c = sum(1.0, 2.0, 3.0);
+}
+{
+ // Test constructor delegation
+ cxx11test::delegate d1;
+ cxx11test::delegate d2();
+ cxx11test::delegate d3(45);
+}
+{
+ // Test override and final
+ cxx11test::overridden o1(55464);
+}
+{
+ // Test nullptr
+ char *c = nullptr;
+}
+{
+ // Test template brackets
+ test_template<::test_template<int>> v(test_template<int>(12));
+}
+{
+ // Unicode literals
+ char const *utf8 = u8"UTF-8 string \u2500";
+ char16_t const *utf16 = u"UTF-8 string \u2500";
+ char32_t const *utf32 = U"UTF-32 string \u2500";
+}
+'
+
+# Test code for whether the C compiler supports C++11 (complete).
+ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals}
+${ac_cxx_conftest_cxx11_globals}
+
+int
+main (int argc, char **argv)
+{
+ int ok = 0;
+ ${ac_cxx_conftest_cxx98_main}
+ ${ac_cxx_conftest_cxx11_main}
+ return ok;
+}
+"
+
+# Test code for whether the C compiler supports C++98 (complete).
+ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals}
+int
+main (int argc, char **argv)
+{
+ int ok = 0;
+ ${ac_cxx_conftest_cxx98_main}
+ return ok;
+}
+"
+
+
+# Auxiliary files required by this configure script.
+ac_aux_files="config.rpath config.guess config.sub ltmain.sh ar-lib compile missing install-sh"
+
+# Locations in which to look for auxiliary files.
+ac_aux_dir_candidates="${srcdir}${PATH_SEPARATOR}${srcdir}/..${PATH_SEPARATOR}${srcdir}/../.."
+
+# Search for a directory containing all of the required auxiliary files,
+# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates.
+# If we don't find one directory that contains all the files we need,
+# we report the set of missing files from the *first* directory in
+# $ac_aux_dir_candidates and give up.
+ac_missing_aux_files=""
+ac_first_candidate=:
+printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in $ac_aux_dir_candidates
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ as_found=:
+
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5
+ ac_aux_dir_found=yes
+ ac_install_sh=
+ for ac_aux in $ac_aux_files
+ do
+ # As a special case, if "install-sh" is required, that requirement
+ # can be satisfied by any of "install-sh", "install.sh", or "shtool",
+ # and $ac_install_sh is set appropriately for whichever one is found.
+ if test x"$ac_aux" = x"install-sh"
+ then
+ if test -f "${as_dir}install-sh"; then
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5
+ ac_install_sh="${as_dir}install-sh -c"
+ elif test -f "${as_dir}install.sh"; then
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5
+ ac_install_sh="${as_dir}install.sh -c"
+ elif test -f "${as_dir}shtool"; then
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5
+ ac_install_sh="${as_dir}shtool install -c"
+ else
+ ac_aux_dir_found=no
+ if $ac_first_candidate; then
+ ac_missing_aux_files="${ac_missing_aux_files} install-sh"
+ else
+ break
+ fi
+ fi
+ else
+ if test -f "${as_dir}${ac_aux}"; then
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5
+ else
+ ac_aux_dir_found=no
+ if $ac_first_candidate; then
+ ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}"
+ else
+ break
+ fi
+ fi
+ fi
+ done
+ if test "$ac_aux_dir_found" = yes; then
+ ac_aux_dir="$as_dir"
+ break
+ fi
+ ac_first_candidate=false
+
+ as_found=false
+done
+IFS=$as_save_IFS
+if $as_found
+then :
+
+else $as_nop
+ as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5
+fi
+
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+if test -f "${ac_aux_dir}config.guess"; then
+ ac_config_guess="$SHELL ${ac_aux_dir}config.guess"
+fi
+if test -f "${ac_aux_dir}config.sub"; then
+ ac_config_sub="$SHELL ${ac_aux_dir}config.sub"
+fi
+if test -f "$ac_aux_dir/configure"; then
+ ac_configure="$SHELL ${ac_aux_dir}configure"
+fi
+
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+for ac_var in $ac_precious_vars; do
eval ac_old_set=\$ac_cv_env_${ac_var}_set
eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val="\$ac_cv_env_${ac_var}_value"
- eval ac_new_val="\$ac_env_${ac_var}_value"
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
+printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
+printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;}
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
*" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) as_fn_append ac_configure_args " '$ac_arg'" ;;
esac
fi
done
if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
- { (exit 1); exit 1; }; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;}
+ as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file'
+ and start over" "$LINENO" 5
fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -1510,50 +3269,15 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ac_config_headers="$ac_config_headers config.h"
+am__api_version='1.16'
-
-
-
-
-
-
-
-
-
-
-
-am__api_version="1.7"
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f $ac_dir/shtool; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
-echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
- { (exit 1); exit 1; }; }
-fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
-
-# Find a good install program. We prefer a C program (faster),
+ # Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# incompatible versions:
# SysV /etc/install, /usr/sbin/install
@@ -1566,22 +3290,28 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+# Reject install programs that cannot install multiple files.
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+printf %s "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+if test ${ac_cv_path_install+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
- ./ | .// | /cC/* | \
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ # Account for fact that we put trailing slashes in our PATH walk.
+case $as_dir in #((
+ ./ | /[cC]/* | \
/etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
/usr/ucb/* ) ;;
*)
# OSF1 and SCO ODT 3.0 have their own names for install.
@@ -1589,40 +3319,53 @@ case $as_dir/ in
# by default.
for ac_prog in ginstall scoinst install; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then
if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
:
elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# program-specific install script used by HP pwplus--don't use.
:
else
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
fi
fi
done
done
;;
esac
-done
+ done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
fi
- if test "${ac_cv_path_install+set}" = set; then
+ if test ${ac_cv_path_install+y}; then
INSTALL=$ac_cv_path_install
else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
# break other packages using the cache if that directory is
- # removed, or if the path is relative.
+ # removed, or if the value is a relative name.
INSTALL=$ac_install_sh
fi
fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+printf "%s\n" "$INSTALL" >&6; }
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
@@ -1632,87 +3375,277 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+printf %s "checking whether build environment is sane... " >&6; }
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[\\\"\#\$\&\'\`$am_lf]*)
+ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+ *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
+ as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
+esac
+
+# Do 'set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&5
-echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
+ am_has_slept=no
+ for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
+ alias in your environment" "$LINENO" 5
+ fi
+ if test "$2" = conftest.file || test $am_try -eq 2; then
+ break
+ fi
+ # Just in case.
+ sleep 1
+ am_has_slept=yes
+ done
test "$2" = conftest.file
)
then
# Ok.
:
else
- { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
-Check your system clock" >&5
-echo "$as_me: error: newly created file is older than distributed files!
-Check your system clock" >&2;}
- { (exit 1); exit 1; }; }
-fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
test "$program_prefix" != NONE &&
- program_transform_name="s,^,$program_prefix,;$program_transform_name"
+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
- program_transform_name="s,\$,$program_suffix,;$program_transform_name"
-# Double any \ or $. echo might interpret backslashes.
+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
# By default was `s,x,x', remove it if useless.
-cat <<\_ACEOF >conftest.sed
-s/[\\$]/&&/g;s/;s,x,x,$//
-_ACEOF
-program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm conftest.sed
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"`
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+
+ if test x"${MISSING+set}" != xset; then
+ MISSING="\${SHELL} '$am_aux_dir/missing'"
+fi
# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
else
am_missing_run=
- { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip". However 'strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the 'STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_STRIP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+printf "%s\n" "$STRIP" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_STRIP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+printf "%s\n" "$ac_ct_STRIP" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5
+printf %s "checking for a race-free mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+ if test ${ac_cv_path_mkdir+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_prog in mkdir gmkdir; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue
+ case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #(
+ 'mkdir ('*'coreutils) '* | \
+ 'BusyBox '* | \
+ 'mkdir (fileutils) '4.1*)
+ ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext
+ break 3;;
+ esac
+ done
+ done
+ done
+IFS=$as_save_IFS
+
fi
+ test -d ./--version && rmdir ./--version
+ if test ${ac_cv_path_mkdir+y}; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ MKDIR_P="$ac_install_sh -d"
+ fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+printf "%s\n" "$MKDIR_P" >&6; }
+
for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_AWK+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_AWK+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$AWK"; then
ac_cv_prog_AWK="$AWK" # Let the user override the test.
else
@@ -1720,56 +3653,65 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_AWK="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
+IFS=$as_save_IFS
fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
- echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+printf "%s\n" "$AWK" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
+
test -n "$AWK" && break
done
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval test \${ac_cv_prog_make_${ac_make}_set+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
all:
- @echo 'ac_maketemp="$(MAKE)"'
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
rm -f conftest.make
fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
SET_MAKE=
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
@@ -1782,12 +3724,55 @@ else
fi
rmdir .tst 2>/dev/null
- # test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
- test -f $srcdir/config.status; then
- { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
- { (exit 1); exit 1; }; }
+# Check whether --enable-silent-rules was given.
+if test ${enable_silent_rules+y}
+then :
+ enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+printf %s "checking whether $am_make supports nested variables... " >&6; }
+if test ${am_cv_make_support_nested_variables+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if printf "%s\n" 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+printf "%s\n" "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ am__isrc=' -I$(srcdir)'
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+ fi
fi
# test whether we have cygpath
@@ -1801,18 +3786,14 @@ fi
# Define the identity of the package.
- PACKAGE=flac
- VERSION=1.2.1
+ PACKAGE='flac'
+ VERSION='1.4.3'
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
+printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
+printf "%s\n" "#define VERSION \"$VERSION\"" >>confdefs.h
# Some tools Automake needs.
@@ -1830,323 +3811,324 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+# For better backward compatibility. To be removed once Automake 1.9.x
+# dies out for good. For more background, see:
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
-AMTAR=${AMTAR-"${am_missing_run}tar"}
+# We need awk for the "check" target (and possibly the TAP driver). The
+# system "awk" is bad on some platforms.
+# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar pax cpio none'
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to create a pax tar archive" >&5
+printf %s "checking how to create a pax tar archive... " >&6; }
+
+ # Go ahead even if we have the value already cached. We do so because we
+ # need to set the values for the 'am__tar' and 'am__untar' variables.
+ _am_tools=${am_cv_prog_tar_pax-$_am_tools}
+
+ for _am_tool in $_am_tools; do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar; do
+ { echo "$as_me:$LINENO: $_am_tar --version" >&5
+ ($_am_tar --version) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && break
+ done
+ am__tar="$_am_tar --format=posix -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=posix -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x pax -w "$$tardir"'
+ am__tar_='pax -L -x pax -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H pax -L'
+ am__tar_='find "$tardir" -print | cpio -o -H pax -L'
+ am__untar='cpio -i -H pax -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_pax}" && break
+
+ # tar/untar a dummy directory, and stop if the command works.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
+ (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ { echo "$as_me:$LINENO: $am__untar <conftest.tar" >&5
+ ($am__untar <conftest.tar) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ { echo "$as_me:$LINENO: cat conftest.dir/file" >&5
+ (cat conftest.dir/file) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+ done
+ rm -rf conftest.dir
+ if test ${am_cv_prog_tar_pax+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ am_cv_prog_tar_pax=$_am_tool
fi
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_pax" >&5
+printf "%s\n" "$am_cv_prog_tar_pax" >&6; }
+
+
+
+
+
+# Variables for tags utilities; see am/tags.am
+if test -z "$CTAGS"; then
+ CTAGS=ctags
fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+
+if test -z "$ETAGS"; then
+ ETAGS=etags
fi
+if test -z "$CSCOPE"; then
+ CSCOPE=cscope
fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <https://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+ fi
fi
+
+# Check whether --enable-silent-rules was given.
+if test ${enable_silent_rules+y}
+then :
+ enableval=$enable_silent_rules;
fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
+
+case $enable_silent_rules in # (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=0;;
+esac
+am_make=${MAKE-make}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+printf %s "checking whether $am_make supports nested variables... " >&6; }
+if test ${am_cv_make_support_nested_variables+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if printf "%s\n" 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ am_cv_make_support_nested_variables=no
fi
-
- STRIP=$ac_ct_STRIP
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+printf "%s\n" "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
else
- STRIP="$ac_cv_prog_STRIP"
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
fi
+AM_BACKSLASH='\'
-fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable debugging" >&5
+printf %s "checking whether to enable debugging... " >&6; }
+ ax_enable_debug_default=no
+ ax_enable_debug_is_release=$ax_is_release
-# Don't automagically regenerate autoconf/automake generated files unless
-# explicitly requested. Eases autobuilding -mdz
-echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
- # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then
- enableval="$enable_maintainer_mode"
- USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi;
- echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
+ # If this is a release, override the default.
+ if test "$ax_enable_debug_is_release" = "yes"
+then :
+ ax_enable_debug_default="no"
+fi
-if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
- MAINT=$MAINTAINER_MODE_TRUE
+ # Check whether --enable-debug was given.
+if test ${enable_debug+y}
+then :
+ enableval=$enable_debug;
+else $as_nop
+ enable_debug=$ax_enable_debug_default
+fi
-# We need two libtools, one that builds both shared and static, and
-# one that builds only static. This is because the resulting libtool
-# does not allow us to choose which to build at runtime.
-# Check whether --enable-shared or --disable-shared was given.
-if test "${enable_shared+set}" = set; then
- enableval="$enable_shared"
- p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_shared=yes
-fi;
+ # empty mean debug yes
+ if test "x$enable_debug" = "x"
+then :
+ enable_debug="yes"
+fi
-# Check whether --enable-static or --disable-static was given.
-if test "${enable_static+set}" = set; then
- enableval="$enable_static"
- p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_static=yes
-fi;
+ # case of debug
+ case $enable_debug in #(
+ yes) :
-# Check whether --enable-fast-install or --disable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then
- enableval="$enable_fast_install"
- p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_fast_install=yes
-fi;
-
-# Make sure we can run config.sub.
-$ac_config_sub sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
-echo "$as_me: error: cannot run $ac_config_sub" >&2;}
- { (exit 1); exit 1; }; }
-
-echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6
-if test "${ac_cv_build+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_build_alias=$build_alias
-test -z "$ac_cv_build_alias" &&
- ac_cv_build_alias=`$ac_config_guess`
-test -z "$ac_cv_build_alias" &&
- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
- { (exit 1); exit 1; }; }
-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6
-build=$ac_cv_build
-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ CFLAGS="${CFLAGS} -g -O0"
+ CXXFLAGS="${CXXFLAGS} -g -O0"
+ FFLAGS="${FFLAGS} -g -O0"
+ FCFLAGS="${FCFLAGS} -g -O0"
+ OBJCFLAGS="${OBJCFLAGS} -g -O0"
+ ;; #(
+ info) :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: info" >&5
+printf "%s\n" "info" >&6; }
+ CFLAGS="${CFLAGS} -g"
+ CXXFLAGS="${CXXFLAGS} -g"
+ FFLAGS="${FFLAGS} -g"
+ FCFLAGS="${FCFLAGS} -g"
+ OBJCFLAGS="${OBJCFLAGS} -g"
+ ;; #(
+ profile) :
-echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6
-if test "${ac_cv_host+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_host_alias=$host_alias
-test -z "$ac_cv_host_alias" &&
- ac_cv_host_alias=$ac_cv_build_alias
-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
- { (exit 1); exit 1; }; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: profile" >&5
+printf "%s\n" "profile" >&6; }
+ CFLAGS="${CFLAGS} -g -pg"
+ CXXFLAGS="${CXXFLAGS} -g -pg"
+ FFLAGS="${FFLAGS} -g -pg"
+ FCFLAGS="${FCFLAGS} -g -pg"
+ OBJCFLAGS="${OBJCFLAGS} -g -pg"
+ LDFLAGS="${LDFLAGS} -pg"
+ ;; #(
+ *) :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+ if test "x${CFLAGS+set}" != "xset"
+then :
+ CFLAGS=""
fi
-echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6
-host=$ac_cv_host
-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
+ if test "x${CXXFLAGS+set}" != "xset"
+then :
+ CXXFLAGS=""
+fi
+ if test "x${FFLAGS+set}" != "xset"
+then :
+ FFLAGS=""
+fi
+ if test "x${FCFLAGS+set}" != "xset"
+then :
+ FCFLAGS=""
+fi
+ if test "x${OBJCFLAGS+set}" != "xset"
+then :
+ OBJCFLAGS=""
+fi
+ ;;
+esac
-DEPDIR="${am__leading_dot}deps"
+ if test "x$enable_debug" = "xyes"
+then :
- ac_config_commands="$ac_config_commands depfiles"
+else $as_nop
+printf "%s\n" "#define NDEBUG /**/" >>confdefs.h
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo done
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
fi
+ ax_enable_debug=$enable_debug
+
+user_cflags=$CFLAGS
+
+#Prefer whatever the current ISO standard is.
-echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6
-rm -f confinc confmf
-# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then
- enableval="$enable_dependency_tracking"
-fi;
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
-if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
@@ -2158,11 +4140,12 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
@@ -2170,37 +4153,44 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
@@ -2208,41 +4198,57 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
+IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
- CC=$ac_ct_CC
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
else
CC="$ac_cv_prog_CC"
fi
if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
@@ -2250,79 +4256,44 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
- CC=$ac_ct_CC
-else
- CC="$ac_cv_prog_CC"
-fi
+ fi
fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
@@ -2331,19 +4302,24 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
fi
ac_cv_prog_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
+IFS=$as_save_IFS
if test $ac_prog_rejected = yes; then
# We found a bogon in the path, so make sure we never use it.
@@ -2354,32 +4330,34 @@ if test $ac_prog_rejected = yes; then
# However, it has the same basename, so the bogon will be chosen
# first if we set CC to just the basename; use the full file name.
shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
fi
fi
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
+
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
- for ac_prog in cl
+ for ac_prog in cl.exe
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
@@ -2387,41 +4365,48 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
+
test -n "$CC" && break
done
fi
if test -z "$CC"; then
ac_ct_CC=$CC
- for ac_prog in cl
+ for ac_prog in cl.exe
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
@@ -2429,71 +4414,191 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
+IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
+
test -n "$ac_ct_CC" && break
done
- CC=$ac_ct_CC
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
+set dummy ${ac_tool_prefix}clang; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}clang"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "clang", so it can be a program name with args.
+set dummy clang; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="clang"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
fi
fi
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
+printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion -version; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
@@ -2501,112 +4606,111 @@ main ()
}
_ACEOF
ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
-echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
- (eval $ac_link_default) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Find the output, starting from the most likely. This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+printf %s "checking whether the C compiler works... " >&6; }
+ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+then :
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
- ;;
- conftest.$ac_ext )
- # This is the source file.
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
;;
[ab].out )
# We found the default executable, but exeext='' is most
# certainly right.
break;;
*.* )
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- # FIXME: I believe we export ac_cv_exeext for Libtool,
- # but it would be cool to find out if it's true. Does anybody
- # maintain Libtool? --akim.
- export ac_cv_exeext
+ if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
break;;
* )
break;;
esac
done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+test "$ac_cv_exeext" = no && ac_cv_exeext=
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
-See \`config.log' for more details." >&5
-echo "$as_me: error: C compiler cannot create executables
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
+else $as_nop
+ ac_file=''
fi
+if test -z "$ac_file"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+printf "%s\n" "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+printf %s "checking for C compiler default output file name... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+printf "%s\n" "$ac_file" >&6; }
ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
-
-# Check the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
- if { ac_try='./$ac_file'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
- fi
- fi
-fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
-
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+printf %s "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+then :
# If both `conftest.exe' and `conftest' are `present' (well, observable)
# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
# work properly (i.e., refer to `conftest.exe'), while it won't with
@@ -2614,42 +4718,95 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- export ac_cv_exeext
break;;
* ) break;;
esac
done
-else
- { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+else $as_nop
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
fi
-
-rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
+rm -f conftest conftest$ac_cv_exeext
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+printf "%s\n" "$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
-echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
-if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdio.h>
+int
+main (void)
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+printf %s "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+ { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if { ac_try='./conftest$ac_cv_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+printf "%s\n" "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+printf %s "checking for suffix of object files... " >&6; }
+if test ${ac_cv_objext+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
@@ -2657,49 +4814,52 @@ main ()
}
_ACEOF
rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+then :
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
*) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
break;;
esac
done
-else
- echo "$as_me: failed program was:" >&5
+else $as_nop
+ printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
fi
-
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+printf "%s\n" "$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
+printf %s "checking whether the compiler supports GNU C... " >&6; }
+if test ${ac_cv_c_compiler_gnu+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
#ifndef __GNUC__
choke me
@@ -2709,99 +4869,95 @@ main ()
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_compiler_gnu=no
+else $as_nop
+ ac_compiler_gnu=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
-GCC=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+y}
+ac_save_CFLAGS=$CFLAGS
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+printf %s "checking whether $CC accepts -g... " >&6; }
+if test ${ac_cv_prog_cc_g+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_prog_cc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+else $as_nop
+ CFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
-ac_cv_prog_cc_g=no
+else $as_nop
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_prog_cc_g=yes
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
-if test "$ac_test_CFLAGS" = set; then
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
+if test $ac_test_CFLAGS; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
if test "$GCC" = yes; then
@@ -2816,283 +4972,292 @@ else
CFLAGS=
fi
fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_prog_cc_stdc=no
+ac_prog_cc_stdc=no
+if test x$ac_prog_cc_stdc = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
+printf %s "checking for $CC option to enable C11 features... " >&6; }
+if test ${ac_cv_prog_cc_c11+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_cv_prog_cc_c11=no
ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std1 is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std1. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
+$ac_c_conftest_c11_program
_ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX -qlanglvl=ansi
-# Ultrix and OSF/1 -std1
-# HP-UX 10.20 and later -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -std=gnu11
do
CC="$ac_save_CC $ac_arg"
- rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_stdc=$ac_arg
-break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
+ if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_prog_cc_c11=$ac_arg
fi
-rm -f conftest.err conftest.$ac_objext
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+ test "x$ac_cv_prog_cc_c11" != "xno" && break
done
-rm -f conftest.$ac_ext conftest.$ac_objext
+rm -f conftest.$ac_ext
CC=$ac_save_CC
-
fi
-case "x$ac_cv_prog_cc_stdc" in
- x|xno)
- echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
- *)
- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
- CC="$CC $ac_cv_prog_cc_stdc" ;;
-esac
-
-# Some people use a C++ compiler to compile C. Since we use `exit',
-# in C++ we need to declare it. In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
- choke me
-#endif
+if test "x$ac_cv_prog_cc_c11" = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+ if test "x$ac_cv_prog_cc_c11" = x
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
+printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
+ CC="$CC $ac_cv_prog_cc_c11"
+fi
+ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
+ ac_prog_cc_stdc=c11
+fi
+fi
+if test x$ac_prog_cc_stdc = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
+printf %s "checking for $CC option to enable C99 features... " >&6; }
+if test ${ac_cv_prog_cc_c99+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_cv_prog_cc_c99=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_c_conftest_c99_program
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
+for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_prog_cc_c99=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+ test "x$ac_cv_prog_cc_c99" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+fi
+
+if test "x$ac_cv_prog_cc_c99" = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+ if test "x$ac_cv_prog_cc_c99" = x
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
+printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
+ CC="$CC $ac_cv_prog_cc_c99"
+fi
+ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
+ ac_prog_cc_stdc=c99
+fi
+fi
+if test x$ac_prog_cc_stdc = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
+printf %s "checking for $CC option to enable C89 features... " >&6; }
+if test ${ac_cv_prog_cc_c89+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
+$ac_c_conftest_c89_program
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+fi
-continue
+if test "x$ac_cv_prog_cc_c89" = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+ if test "x$ac_cv_prog_cc_c89" = x
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
+ CC="$CC $ac_cv_prog_cc_c89"
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
+ ac_prog_cc_stdc=c89
+fi
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+printf %s "checking whether $CC understands -c and -o together... " >&6; }
+if test ${am_cv_prog_cc_c_o+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-$ac_declaration
+
int
-main ()
+main (void)
{
-exit (42);
+
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+printf "%s\n" "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-depcc="$CC" am_compiler_list=
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
+printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; }
+cat > confinc.mk << 'END'
+am__doit:
+ @echo this is the am__doit target >confinc.out
+.PHONY: am__doit
+END
+am__include="#"
+am__quote=
+# BSD make does it like this.
+echo '.include "confinc.mk" # ignored' > confmf.BSD
+# Other make implementations (GNU, Solaris 10, AIX) do it like this.
+echo 'include confinc.mk # ignored' > confmf.GNU
+_am_result=no
+for s in GNU BSD; do
+ { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
+ (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ case $?:`cat confinc.out 2>/dev/null` in #(
+ '0:this is the am__doit target') :
+ case $s in #(
+ BSD) :
+ am__include='.include' am__quote='"' ;; #(
+ *) :
+ am__include='include' am__quote='' ;;
+esac ;; #(
+ *) :
+ ;;
+esac
+ if test "$am__include" != "#"; then
+ _am_result="yes ($s style)"
+ break
+ fi
+done
+rm -f confinc.* confmf.*
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
+printf "%s\n" "${_am_result}" >&6; }
+
+# Check whether --enable-dependency-tracking was given.
+if test ${enable_dependency_tracking+y}
+then :
+ enableval=$enable_dependency_tracking;
+fi
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+ am__nodep='_no'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
+
+depcc="$CC" am_compiler_list=
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+printf %s "checking dependency style of $depcc... " >&6; }
+if test ${am_cv_CC_dependencies_compiler_type+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
@@ -3110,6 +5275,11 @@ else
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
@@ -3121,37 +5291,59 @@ else
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
- : > sub/conftst$i.h
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
if test "x$enable_dependency_tracking" = xyes; then
continue
else
break
fi
;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
none) break ;;
esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ source=sub/conftest.c object=$am__obj \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
>/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
- # (even with -Werror). So we grep stderr for any message
- # that says an option was ignored.
- if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
am_cv_CC_dependencies_compiler_type=$depmode
break
fi
@@ -3165,13 +5357,11 @@ else
fi
fi
-echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
-
-if
+ if
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
am__fastdepCC_TRUE=
@@ -3182,94 +5372,870 @@ else
fi
-echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6
-if test "${lt_cv_path_SED+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+
+ac_header= ac_cache=
+for ac_item in $ac_header_c_list
+do
+ if test $ac_cache; then
+ ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default"
+ if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then
+ printf "%s\n" "#define $ac_item 1" >> confdefs.h
+ fi
+ ac_header= ac_cache=
+ elif test $ac_header; then
+ ac_cache=$ac_item
+ else
+ ac_header=$ac_item
+ fi
+done
+
+
+
+
+
+
+
+
+if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes
+then :
+
+printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+
+
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
+printf %s "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+if test ${ac_cv_safe_to_define___extensions__+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+# define __EXTENSIONS__ 1
+ $ac_includes_default
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_safe_to_define___extensions__=yes
+else $as_nop
+ ac_cv_safe_to_define___extensions__=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
+printf "%s\n" "$ac_cv_safe_to_define___extensions__" >&6; }
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5
+printf %s "checking whether _XOPEN_SOURCE should be defined... " >&6; }
+if test ${ac_cv_should_define__xopen_source+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_cv_should_define__xopen_source=no
+ if test $ac_cv_header_wchar_h = yes
+then :
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <wchar.h>
+ mbstate_t x;
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #define _XOPEN_SOURCE 500
+ #include <wchar.h>
+ mbstate_t x;
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_should_define__xopen_source=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_should_define__xopen_source" >&5
+printf "%s\n" "$ac_cv_should_define__xopen_source" >&6; }
+
+ printf "%s\n" "#define _ALL_SOURCE 1" >>confdefs.h
+
+ printf "%s\n" "#define _DARWIN_C_SOURCE 1" >>confdefs.h
+
+ printf "%s\n" "#define _GNU_SOURCE 1" >>confdefs.h
+
+ printf "%s\n" "#define _HPUX_ALT_XOPEN_SOCKET_API 1" >>confdefs.h
+
+ printf "%s\n" "#define _NETBSD_SOURCE 1" >>confdefs.h
+
+ printf "%s\n" "#define _OPENBSD_SOURCE 1" >>confdefs.h
+
+ printf "%s\n" "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+
+ printf "%s\n" "#define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1" >>confdefs.h
+
+ printf "%s\n" "#define __STDC_WANT_IEC_60559_BFP_EXT__ 1" >>confdefs.h
+
+ printf "%s\n" "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h
+
+ printf "%s\n" "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h
+
+ printf "%s\n" "#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1" >>confdefs.h
+
+ printf "%s\n" "#define __STDC_WANT_LIB_EXT2__ 1" >>confdefs.h
+
+ printf "%s\n" "#define __STDC_WANT_MATH_SPEC_FUNCS__ 1" >>confdefs.h
+
+ printf "%s\n" "#define _TANDEM_SOURCE 1" >>confdefs.h
+
+ if test $ac_cv_header_minix_config_h = yes
+then :
+ MINIX=yes
+ printf "%s\n" "#define _MINIX 1" >>confdefs.h
+
+ printf "%s\n" "#define _POSIX_SOURCE 1" >>confdefs.h
+
+ printf "%s\n" "#define _POSIX_1_SOURCE 2" >>confdefs.h
+
+else $as_nop
+ MINIX=
+fi
+ if test $ac_cv_safe_to_define___extensions__ = yes
+then :
+ printf "%s\n" "#define __EXTENSIONS__ 1" >>confdefs.h
+
+fi
+ if test $ac_cv_should_define__xopen_source = yes
+then :
+ printf "%s\n" "#define _XOPEN_SOURCE 500" >>confdefs.h
+
+fi
+
+
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in ar lib "link -lib"
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_AR+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
else
- # Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for lt_ac_prog in sed gsed; do
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
- fi
- done
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+printf "%s\n" "$AR" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+ test -n "$AR" && break
done
+fi
+if test -z "$AR"; then
+ ac_ct_AR=$AR
+ for ac_prog in ar lib "link -lib"
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_AR+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_AR="$ac_prog"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
done
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && continue
- cat /dev/null > conftest.in
- lt_ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
- # Check for GNU sed and select it if it is found.
- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
- lt_cv_path_SED=$lt_ac_sed
- break
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+printf "%s\n" "$ac_ct_AR" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_AR" && break
+done
+
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
fi
- while true; do
- cat conftest.in conftest.in >conftest.tmp
- mv conftest.tmp conftest.in
- cp conftest.in conftest.nl
- echo >>conftest.nl
- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
- cmp -s conftest.out conftest.nl || break
- # 10000 chars as input seems more than enough
- test $lt_ac_count -gt 10 && break
- lt_ac_count=`expr $lt_ac_count + 1`
- if test $lt_ac_count -gt $lt_ac_max; then
- lt_ac_max=$lt_ac_count
- lt_cv_path_SED=$lt_ac_sed
+fi
+
+: ${AR=ar}
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5
+printf %s "checking the archiver ($AR) interface... " >&6; }
+if test ${am_cv_ar_interface+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ am_cv_ar_interface=ar
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int some_variable = 0;
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
+ (eval $am_ar_try) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test "$ac_status" -eq 0; then
+ am_cv_ar_interface=ar
+ else
+ am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
+ (eval $am_ar_try) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test "$ac_status" -eq 0; then
+ am_cv_ar_interface=lib
+ else
+ am_cv_ar_interface=unknown
+ fi
+ fi
+ rm -f conftest.lib libconftest.a
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5
+printf "%s\n" "$am_cv_ar_interface" >&6; }
+
+case $am_cv_ar_interface in
+ar)
+ ;;
+lib)
+ # Microsoft lib, so override with the ar-lib wrapper script.
+ # FIXME: It is wrong to rewrite AR.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__AR in this case,
+ # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
+ # similar.
+ AR="$am_aux_dir/ar-lib $AR"
+ ;;
+unknown)
+ as_fn_error $? "could not determine $AR interface" "$LINENO" 5
+ ;;
+esac
+
+case `pwd` in
+ *\ * | *\ *)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+printf "%s\n" "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
+
+
+
+macro_version='2.4.6'
+macro_revision='2.4.6'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ltmain=$ac_aux_dir/ltmain.sh
+
+
+
+ # Make sure we can run config.sub.
+$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 ||
+ as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+printf %s "checking build system type... " >&6; }
+if test ${ac_cv_build+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"`
+test "x$ac_build_alias" = x &&
+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` ||
+ as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+printf "%s\n" "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+printf %s "checking host system type... " >&6; }
+if test ${ac_cv_host+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` ||
+ as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+printf "%s\n" "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+printf %s "checking how to print strings... " >&6; }
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='printf %s\n'
+else
+ # Use this function as a fallback that always works.
+ func_fallback_echo ()
+ {
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+ }
+ ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO ""
+}
+
+case $ECHO in
+ printf*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: printf" >&5
+printf "%s\n" "printf" >&6; } ;;
+ print*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
+printf "%s\n" "print -r" >&6; } ;;
+ *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cat" >&5
+printf "%s\n" "cat" >&6; } ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+printf %s "checking for a sed that does not truncate output... " >&6; }
+if test ${ac_cv_path_SED+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for ac_i in 1 2 3 4 5 6 7; do
+ ac_script="$ac_script$as_nl$ac_script"
+ done
+ echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+ { ac_script=; unset ac_script;}
+ if test -z "$SED"; then
+ ac_path_SED_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_prog in sed gsed
+ do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_SED="$as_dir$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_SED" || continue
+# Check for GNU ac_path_SED and select it if it is found.
+ # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+ ac_count=0
+ printf %s 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ printf "%s\n" '' >> "conftest.nl"
+ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_SED_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_SED="$ac_path_SED"
+ ac_path_SED_max=$ac_count
fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
done
-done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_SED_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_SED"; then
+ as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+ fi
+else
+ ac_cv_path_SED=$SED
+fi
fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+printf "%s\n" "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+ rm -f conftest.sed
+
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+
+
+
+
+
+
-SED=$lt_cv_path_SED
-echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6
-echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-if test "${ac_cv_prog_egrep+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+printf %s "checking for grep that handles long lines and -e... " >&6; }
+if test ${ac_cv_path_GREP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_prog in grep ggrep
+ do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_GREP" || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ printf %s 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ printf "%s\n" 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
else
- if echo a | (grep -E '(a|b)') >/dev/null 2>&1
- then ac_cv_prog_egrep='grep -E'
- else ac_cv_prog_egrep='egrep'
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+printf "%s\n" "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+printf %s "checking for egrep... " >&6; }
+if test ${ac_cv_path_EGREP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_prog in egrep
+ do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_EGREP" || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ printf %s 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ printf "%s\n" 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
- EGREP=$ac_cv_prog_egrep
+
+ fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+printf "%s\n" "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+printf %s "checking for fgrep... " >&6; }
+if test ${ac_cv_path_FGREP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+ then ac_cv_path_FGREP="$GREP -F"
+ else
+ if test -z "$FGREP"; then
+ ac_path_FGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_prog in fgrep
+ do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_FGREP" || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+ # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+ ac_count=0
+ printf %s 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ printf "%s\n" 'FGREP' >> "conftest.nl"
+ "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_FGREP="$ac_path_FGREP"
+ ac_path_FGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
+ $ac_path_FGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_FGREP"; then
+ as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
else
+ ac_cv_path_FGREP=$FGREP
+fi
+
+ fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+printf "%s\n" "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
+
+
+test -z "$GREP" && GREP=grep
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-gnu-ld was given.
+if test ${with_gnu_ld+y}
+then :
+ withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
+else $as_nop
with_gnu_ld=no
-fi;
+fi
+
ac_prog=ld
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
# Check if gcc -print-prog-name=ld gives a path.
- echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+printf %s "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
+ # gcc leaves a trailing carriage return, which upsets mingw
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
*)
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
@@ -3279,11 +6245,11 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
[\\/]* | ?:[\\/]*)
re_direlt='/[^/][^/]*/\.\./'
# Canonicalize the pathname of ld
- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
done
- test -z "$LD" && LD="$ac_prog"
+ test -z "$LD" && LD=$ac_prog
;;
"")
# If it fails, then pretend we aren't using GCC.
@@ -3294,59 +6260,59 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
with_gnu_ld=unknown
;;
esac
-elif test "$with_gnu_ld" = yes; then
- echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+elif test yes = "$with_gnu_ld"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+printf %s "checking for GNU ld... " >&6; }
else
- echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+printf %s "checking for non-GNU ld... " >&6; }
fi
-if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+if test ${lt_cv_path_LD+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
+ lt_cv_path_LD=$ac_dir/$ac_prog
# Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
+ # but apparently some variants of GNU ld only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer.
case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
+ test no != "$with_gnu_ld" && break
;;
*)
- test "$with_gnu_ld" != yes && break
+ test yes != "$with_gnu_ld" && break
;;
esac
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
+ lt_cv_path_LD=$LD # Let the user override the test with a path.
fi
fi
-LD="$lt_cv_path_LD"
+LD=$lt_cv_path_LD
if test -n "$LD"; then
- echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
- { (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # I'd rather use --version here, but apparently some GNU ld's only accept -v.
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+printf "%s\n" "$LD" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+printf %s "checking if the linker ($LD) is GNU ld... " >&6; }
+if test ${lt_cv_prog_gnu_ld+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
lt_cv_prog_gnu_ld=yes
@@ -3356,20 +6322,515 @@ case `$LD -v 2>&1 </dev/null` in
;;
esac
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
-echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
-if test "${lt_cv_ld_reload_flag+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+
+
+
+
+
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if test ${lt_cv_path_NM+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM=$NM
+else
+ lt_nm_to_check=${ac_tool_prefix}nm
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS=$lt_save_ifs
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm=$ac_dir/$lt_tmp_nm
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+ case $build_os in
+ mingw*) lt_bad_file=conftest.nm/nofile ;;
+ *) lt_bad_file=/dev/null ;;
+ esac
+ case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+ *$lt_bad_file* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break 2
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break 2
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS=$lt_save_ifs
+ done
+ : ${lt_cv_path_NM=no}
+fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
+printf "%s\n" "$lt_cv_path_NM" >&6; }
+if test no != "$lt_cv_path_NM"; then
+ NM=$lt_cv_path_NM
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$DUMPBIN"; then :
+ # Let the user override the test.
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in dumpbin "link -dump"
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_DUMPBIN+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$DUMPBIN"; then
+ ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+printf "%s\n" "$DUMPBIN" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+ test -n "$DUMPBIN" && break
+ done
+fi
+if test -z "$DUMPBIN"; then
+ ac_ct_DUMPBIN=$DUMPBIN
+ for ac_prog in dumpbin "link -dump"
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_DUMPBIN+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_DUMPBIN"; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+printf "%s\n" "$ac_ct_DUMPBIN" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_DUMPBIN" && break
+done
+
+ if test "x$ac_ct_DUMPBIN" = x; then
+ DUMPBIN=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DUMPBIN=$ac_ct_DUMPBIN
+ fi
+fi
+
+ case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
+ *COFF*)
+ DUMPBIN="$DUMPBIN -symbols -headers"
+ ;;
+ *)
+ DUMPBIN=:
+ ;;
+ esac
+ fi
+
+ if test : != "$DUMPBIN"; then
+ NM=$DUMPBIN
+ fi
+fi
+test -z "$NM" && NM=nm
+
+
+
+
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+printf %s "checking the name lister ($NM) interface... " >&6; }
+if test ${lt_cv_nm_interface+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:$LINENO: output\"" >&5)
+ cat conftest.out >&5
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+printf "%s\n" "$lt_cv_nm_interface" >&6; }
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+printf %s "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+printf "%s\n" "no, using $LN_S" >&6; }
+fi
+
+# find the maximum length of command line arguments
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+printf %s "checking the maximum length of command line arguments... " >&6; }
+if test ${lt_cv_sys_max_cmd_len+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ i=0
+ teststring=ABCD
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ mint*)
+ # On MiNT this can take a long time and run out of memory.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ os2*)
+ # The test takes a long time on OS/2.
+ lt_cv_sys_max_cmd_len=8192
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len" && \
+ test undefined != "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test X`env echo "$teststring$teststring" 2>/dev/null` \
+ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+ test 17 != "$i" # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+
+fi
+
+if test -n "$lt_cv_sys_max_cmd_len"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5
+printf "%s\n" "none" >&6; }
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+
+
+
+
+
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
else
+ lt_unset=false
+fi
+
+
+
+
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
+printf %s "checking how to convert $build file names to $host format... " >&6; }
+if test ${lt_cv_to_host_file_cmd+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+ ;;
+ esac
+ ;;
+ *-*-cygwin* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+ ;;
+ esac
+ ;;
+ * ) # unhandled hosts (and "normal" native builds)
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+esac
+
+fi
+
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
+printf "%s\n" "$lt_cv_to_host_file_cmd" >&6; }
+
+
+
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
+printf %s "checking how to convert $build file names to toolchain format... " >&6; }
+if test ${lt_cv_to_tool_file_cmd+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ #assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ esac
+ ;;
+esac
+
+fi
+
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
+printf "%s\n" "$lt_cv_to_tool_file_cmd" >&6; }
+
+
+
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+printf %s "checking for $LD option to reload object files... " >&6; }
+if test ${lt_cv_ld_reload_flag+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_ld_reload_flag='-r'
fi
-echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+printf "%s\n" "$lt_cv_ld_reload_flag" >&6; }
reload_flag=$lt_cv_ld_reload_flag
case $reload_flag in
"" | " "*) ;;
@@ -3377,93 +6838,159 @@ case $reload_flag in
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ if test yes != "$GCC"; then
+ reload_cmds=false
+ fi
+ ;;
darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs'
+ if test yes = "$GCC"; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
else
reload_cmds='$LD$reload_flag -o $output$reload_objs'
fi
;;
esac
-echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
-if test "${lt_cv_path_NM+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OBJDUMP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$OBJDUMP"; then
+ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
else
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/${ac_tool_prefix}nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- esac
- fi
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
done
- IFS="$lt_save_ifs"
- test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+IFS=$as_save_IFS
+
+fi
fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+printf "%s\n" "$OBJDUMP" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
-echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-echo "${ECHO_T}$lt_cv_path_NM" >&6
-NM="$lt_cv_path_NM"
-echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+ ac_ct_OBJDUMP=$OBJDUMP
+ # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OBJDUMP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_OBJDUMP"; then
+ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_OBJDUMP="objdump"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+printf "%s\n" "$ac_ct_OBJDUMP" >&6; }
else
- echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
-echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5
-echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6
-if test "${lt_cv_deplibs_check_method+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OBJDUMP=$ac_ct_OBJDUMP
+ fi
else
+ OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+printf %s "checking how to recognize dependent libraries... " >&6; }
+if test ${lt_cv_deplibs_check_method+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
lt_cv_deplibs_check_method='unknown'
# Need to set the preceding variable on all platforms that support
# interlibrary dependencies.
# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
+# 'unknown' -- same as none, but documents that we really don't know.
# 'pass_all' -- all dependencies passed with no checks.
# 'test_compile' -- check by making test program.
# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
+# that responds to the $file_magic_cmd with a given extended regex.
+# If you have 'file' or equivalent on your system and you're not sure
+# whether 'pass_all' will *always* work, you probably want this one.
case $host_os in
-aix4* | aix5*)
+aix[4-9]*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -3485,8 +7012,21 @@ cygwin*)
mingw* | pw32*)
# Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump'.
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ if ( file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ # Keep this pattern in sync with the one in func_win32_libid.
+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+cegcc*)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
lt_cv_file_magic_cmd='$OBJDUMP -f'
;;
@@ -3494,8 +7034,8 @@ darwin* | rhapsody*)
lt_cv_deplibs_check_method=pass_all
;;
-freebsd* | kfreebsd*-gnu | dragonfly*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
case $host_cpu in
i*86 )
# Not sure whether the presence of OpenBSD here was a mistake.
@@ -3510,28 +7050,33 @@ freebsd* | kfreebsd*-gnu | dragonfly*)
fi
;;
-gnu*)
+haiku*)
lt_cv_deplibs_check_method=pass_all
;;
hpux10.20* | hpux11*)
lt_cv_file_magic_cmd=/usr/bin/file
- case "$host_cpu" in
+ case $host_cpu in
ia64*)
lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
;;
hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
;;
*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
lt_cv_file_magic_test_file=/usr/lib/libc.sl
;;
esac
;;
+interix[3-9]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+ ;;
+
irix5* | irix6* | nonstopux*)
case $LD in
*-32|*"-32 ") libmagic=32-bit;;
@@ -3542,13 +7087,13 @@ irix5* | irix6* | nonstopux*)
lt_cv_deplibs_check_method=pass_all
;;
-# This must be Linux ELF.
-linux*)
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
else
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
@@ -3561,12 +7106,12 @@ newos6*)
lt_cv_file_magic_test_file=/usr/lib/libnls.so
;;
-nto-qnx*)
- lt_cv_deplibs_check_method=unknown
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
;;
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+openbsd* | bitrig*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
else
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
@@ -3577,7 +7122,7 @@ osf3* | osf4* | osf5*)
lt_cv_deplibs_check_method=pass_all
;;
-sco3.2v5*)
+rdos*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -3585,7 +7130,11 @@ solaris*)
lt_cv_deplibs_check_method=pass_all
;;
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
case $host_vendor in
motorola)
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
@@ -3606,17 +7155,38 @@ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
siemens)
lt_cv_deplibs_check_method=pass_all
;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
esac
;;
-sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7* | sysv4*uw2*)
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+os2*)
lt_cv_deplibs_check_method=pass_all
;;
esac
fi
-echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+printf "%s\n" "$lt_cv_deplibs_check_method" >&6; }
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+ case $host_os in
+ mingw* | pw32*)
+ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+ want_nocaseglob=yes
+ else
+ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
+ fi
+ ;;
+ esac
+fi
+
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -3624,1873 +7194,653 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-# Allow CC to be a program name with arguments.
-compiler=$CC
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
- enableval="$enable_libtool_lock"
-fi;
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line 3665 "configure"' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- case "`/usr/bin/file conftest.o`" in
- *32-bit*)
- case $host in
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
-if test "${lt_cv_cc_needs_belf+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-int
-main ()
-{
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- lt_cv_cc_needs_belf=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-lt_cv_cc_needs_belf=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-fi
-echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-esac
-need_locks="$enable_libtool_lock"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_DLLTOOL+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$DLLTOOL"; then
+ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+done
+ done
+IFS=$as_save_IFS
- # Broken: fails on valid input.
-continue
fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+printf "%s\n" "$DLLTOOL" >&6; }
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
-rm -f conftest.err conftest.$ac_ext
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
fi
- CPP=$ac_cv_prog_CPP
+if test -z "$ac_cv_prog_DLLTOOL"; then
+ ac_ct_DLLTOOL=$DLLTOOL
+ # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_DLLTOOL+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_DLLTOOL"; then
+ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
else
- ac_cv_prog_CPP=$CPP
-fi
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- :
-else
- { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
-if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_header_stdc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_header_stdc=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <string.h>
+ done
+IFS=$as_save_IFS
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
fi
-rm -f conftest*
-
fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then
- :
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+printf "%s\n" "$ac_ct_DLLTOOL" >&6; }
else
- ac_cv_header_stdc=no
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then
- :
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ctype.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- exit(2);
- exit (0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
+ if test "x$ac_ct_DLLTOOL" = x; then
+ DLLTOOL="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DLLTOOL=$ac_ct_DLLTOOL
+ fi
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
+ DLLTOOL="$ac_cv_prog_DLLTOOL"
fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
-
-
-
-
-
+test -z "$DLLTOOL" && DLLTOOL=dlltool
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_Header=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-eval "$as_ac_Header=no"
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-fi
-done
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
+printf %s "checking how to associate runtime and link libraries... " >&6; }
+if test ${lt_cv_sharedlib_from_linklib_cmd+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ lt_cv_sharedlib_from_linklib_cmd='unknown'
-for ac_header in dlfcn.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+ # two different shell functions defined in ltmain.sh;
+ # decide which one to use based on capabilities of $DLLTOOL
+ case `$DLLTOOL --help 2>&1` in
+ *--identify-strict*)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+ ;;
+ *)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+ ;;
+ esac
+ ;;
+*)
+ # fallback: assume linklib IS sharedlib
+ lt_cv_sharedlib_from_linklib_cmd=$ECHO
+ ;;
+esac
-ac_header_compiler=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
+printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists. ##
-## ------------------------------------------ ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-fi
-done
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
if test -n "$ac_tool_prefix"; then
- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+ for ac_prog in ar
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_AR+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
+IFS=$as_save_IFS
fi
fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
- echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+printf "%s\n" "$AR" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
- test -n "$CXX" && break
+
+ test -n "$AR" && break
done
fi
-if test -z "$CXX"; then
- ac_ct_CXX=$CXX
- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+if test -z "$AR"; then
+ ac_ct_AR=$AR
+ for ac_prog in ar
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CXX"; then
- ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_AR+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CXX="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_AR="$ac_prog"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
+IFS=$as_save_IFS
fi
fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
- echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+printf "%s\n" "$ac_ct_AR" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
- test -n "$ac_ct_CXX" && break
+
+ test -n "$ac_ct_AR" && break
done
-test -n "$ac_ct_CXX" || ac_ct_CXX="g++"
- CXX=$ac_ct_CXX
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
fi
+: ${AR=ar}
+: ${AR_FLAGS=cr}
-# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C++ compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-ac_compiler_gnu=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
-fi
-echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
-GXX=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-CXXFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
-if test "${ac_cv_prog_cxx_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-int
-main ()
-{
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cxx_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_prog_cxx_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
-if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
- if test "$GXX" = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-g"
- fi
-else
- if test "$GXX" = yes; then
- CXXFLAGS="-O2"
- else
- CXXFLAGS=
- fi
-fi
-for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+printf %s "checking for archiver @FILE support... " >&6; }
+if test ${lt_cv_ar_at_file+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ lt_cv_ar_at_file=no
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-$ac_declaration
+
int
-main ()
+main (void)
{
-exit (42);
+
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_compile "$LINENO"
+then :
+ echo conftest.$ac_objext > conftest.lst
+ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+ (eval $lt_ar_try) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test 0 -eq "$ac_status"; then
+ # Ensure the archiver fails upon bogus file names.
+ rm -f conftest.$ac_objext libconftest.a
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+ (eval $lt_ar_try) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test 0 -ne "$ac_status"; then
+ lt_cv_ar_at_file=@
+ fi
+ fi
+ rm -f conftest.* libconftest.a
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-depcc="$CXX" am_compiler_list=
-
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CXX_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- : > sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # (even with -Werror). So we grep stderr for any message
- # that says an option was ignored.
- if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else
- am_cv_CXX_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CXX_dependencies_compiler_type=none
fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
+printf "%s\n" "$lt_cv_ar_at_file" >&6; }
+if test no = "$lt_cv_ar_at_file"; then
+ archiver_list_spec=
+else
+ archiver_list_spec=$lt_cv_ar_at_file
fi
-echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
-if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
- am__fastdepCXX_TRUE=
- am__fastdepCXX_FALSE='#'
-else
- am__fastdepCXX_TRUE='#'
- am__fastdepCXX_FALSE=
-fi
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
-if test -z "$CXXCPP"; then
- if test "${ac_cv_prog_CXXCPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_STRIP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
else
- # Double quotes because CXXCPP needs to be expanded
- for CXXCPP in "$CXX -E" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+done
+ done
+IFS=$as_save_IFS
- # Broken: fails on valid input.
-continue
fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+printf "%s\n" "$STRIP" >&6; }
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
-rm -f conftest.err conftest.$ac_ext
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- break
-fi
-
- done
- ac_cv_prog_CXXCPP=$CXXCPP
fi
- CXXCPP=$ac_cv_prog_CXXCPP
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_STRIP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
else
- ac_cv_prog_CXXCPP=$CXXCPP
-fi
-echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6
-ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
fi
-else
- ac_cpp_err=yes
+done
+ done
+IFS=$as_save_IFS
+
fi
-if test -z "$ac_cpp_err"; then
- :
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+printf "%s\n" "$ac_ct_STRIP" >&6; }
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
-rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
else
- ac_cpp_err=
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
fi
else
- ac_cpp_err=yes
+ STRIP="$ac_cv_prog_STRIP"
fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
+test -z "$STRIP" && STRIP=:
+
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- :
-else
- { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-fi
-ac_ext=f
-ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
-ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_f77_compiler_gnu
if test -n "$ac_tool_prefix"; then
- for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$F77"; then
- ac_cv_prog_F77="$F77" # Let the user override the test.
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_RANLIB+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
+IFS=$as_save_IFS
fi
fi
-F77=$ac_cv_prog_F77
-if test -n "$F77"; then
- echo "$as_me:$LINENO: result: $F77" >&5
-echo "${ECHO_T}$F77" >&6
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+printf "%s\n" "$RANLIB" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
- test -n "$F77" && break
- done
+
fi
-if test -z "$F77"; then
- ac_ct_F77=$F77
- for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_F77"; then
- ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test.
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_RANLIB+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_F77="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
+IFS=$as_save_IFS
fi
fi
-ac_ct_F77=$ac_cv_prog_ac_ct_F77
-if test -n "$ac_ct_F77"; then
- echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
-echo "${ECHO_T}$ac_ct_F77" >&6
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+printf "%s\n" "$ac_ct_RANLIB" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
- test -n "$ac_ct_F77" && break
-done
-
- F77=$ac_ct_F77
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
fi
+test -z "$RANLIB" && RANLIB=:
-# Provide some information about the compiler.
-echo "$as_me:5237:" \
- "checking for Fortran 77 compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-rm -f a.out
-
-# If we don't use `.F' as extension, the preprocessor is not run on the
-# input file. (Note that this only needs to work for GNU compilers.)
-ac_save_ext=$ac_ext
-ac_ext=F
-echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6
-if test "${ac_cv_f77_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
- program main
-#ifndef __GNUC__
- choke me
-#endif
- end
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-ac_compiler_gnu=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_f77_compiler_gnu=$ac_compiler_gnu
-fi
-echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6
-ac_ext=$ac_save_ext
-ac_test_FFLAGS=${FFLAGS+set}
-ac_save_FFLAGS=$FFLAGS
-FFLAGS=
-echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
-echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6
-if test "${ac_cv_prog_f77_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- FFLAGS=-g
-cat >conftest.$ac_ext <<_ACEOF
- program main
- end
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_f77_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_prog_f77_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
-echo "${ECHO_T}$ac_cv_prog_f77_g" >&6
-if test "$ac_test_FFLAGS" = set; then
- FFLAGS=$ac_save_FFLAGS
-elif test $ac_cv_prog_f77_g = yes; then
- if test "x$ac_cv_f77_compiler_gnu" = xyes; then
- FFLAGS="-g -O2"
- else
- FFLAGS="-g"
- fi
-else
- if test "x$ac_cv_f77_compiler_gnu" = xyes; then
- FFLAGS="-O2"
- else
- FFLAGS=
- fi
+if test -n "$RANLIB"; then
+ case $host_os in
+ bitrig* | openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
fi
-G77=`test $ac_compiler_gnu = yes && echo yes`
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+case $host_os in
+ darwin*)
+ lock_old_archive_extraction=yes ;;
+ *)
+ lock_old_archive_extraction=no ;;
+esac
+
+
+
+
+
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-# find the maximum length of command line arguments
-echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- i=0
- teststring="ABCD"
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
- cygwin* | mingw*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for *BSD
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- *)
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
- = "XX$teststring") >/dev/null 2>&1 &&
- new_result=`expr "X$teststring" : ".*" 2>&1` &&
- lt_cv_sys_max_cmd_len=$new_result &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- teststring=
- # Add a significant safety factor because C++ compilers can tack on massive
- # amounts of additional arguments before passing them to the linker.
- # It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- ;;
- esac
-fi
-if test -n $lt_cv_sys_max_cmd_len ; then
- echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6
-else
- echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6
-fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
# Check for command to grab the raw symbol name followed by C symbol from nm.
-echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
+printf %s "checking command to parse $NM output from $compiler object... " >&6; }
+if test ${lt_cv_sys_global_symbol_pipe+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
# These are sane defaults that work on at least a few old systems.
# [They come from Ultrix. What could be older than Ultrix?!! ;)]
@@ -5501,33 +7851,18 @@ symcode='[BCDEGRST]'
# Regexp to match symbols that can be accessed directly from C.
sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
-
# Define system-specific variables.
case $host_os in
aix*)
symcode='[BCDT]'
;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
symcode='[ABCDGISTW]'
;;
-hpux*) # Its linker distinguishes data from code symbols
- if test "$host_cpu" = ia64; then
+hpux*)
+ if test ia64 = "$host_cpu"; then
symcode='[ABCDEGRST]'
fi
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- ;;
-linux*)
- if test "$host_cpu" = ia64; then
- symcode='[ABCDGIRSTW]'
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- fi
;;
irix* | nonstopux*)
symcode='[BCDEGRST]'
@@ -5535,65 +7870,134 @@ irix* | nonstopux*)
osf*)
symcode='[BCDEGQRST]'
;;
-solaris* | sysv5*)
+solaris*)
symcode='[BDRT]'
;;
+sco3.2v5*)
+ symcode='[DT]'
+ ;;
+sysv4.2uw2*)
+ symcode='[DT]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[ABDT]'
+ ;;
sysv4)
symcode='[DFNSTU]'
;;
esac
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[ABCDGIRSTW]' ;;
+esac
+
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Gets list of data symbols to import.
+ lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+ # Adjust the below global symbol transforms to fixup imported variables.
+ lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+ lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
+ lt_c_name_lib_hook="\
+ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
+ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
+else
+ # Disable hooks by default.
+ lt_cv_sys_global_symbol_to_import=
+ lt_cdecl_hook=
+ lt_c_name_hook=
+ lt_c_name_lib_hook=
+fi
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
+
# Handle CRLF in mingw tool chain
opt_cr=
case $build_os in
mingw*)
- opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
;;
esac
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Try without a prefix undercore, then with it.
+# Try without a prefix underscore, then with it.
for ac_symprfx in "" "_"; do
# Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
symxfrm="\\1 $ac_symprfx\\2 \\2"
# Write the raw and C identifiers.
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function,
+ # D for any global variable and I for any imported variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK '"\
+" {last_section=section; section=\$ 3};"\
+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
# Check to see that the pipe works correctly.
pipe_works=no
rm -f conftest*
- cat > conftest.$ac_ext <<EOF
+ cat > conftest.$ac_ext <<_LT_EOF
#ifdef __cplusplus
extern "C" {
#endif
char nm_test_var;
-void nm_test_func(){}
+void nm_test_func(void);
+void nm_test_func(void){}
#ifdef __cplusplus
}
#endif
int main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
+_LT_EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
# Now try to grab the symbols.
nlist=conftest.nm
- if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
- (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s "$nlist"; then
+ $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&5
+ if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&5 && test -s "$nlist"; then
# Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then
mv -f "$nlist"T "$nlist"
@@ -5602,57 +8006,71 @@ EOF
fi
# Make sure that we snagged all the symbols we need.
- if grep ' nm_test_var$' "$nlist" >/dev/null; then
- if grep ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<EOF > conftest.$ac_ext
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT_DLSYM_CONST
+#elif defined __osf__
+/* This system does not cope well with relocations in const data. */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif
-EOF
+_LT_EOF
# Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
- cat <<EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
+ cat <<_LT_EOF >> conftest.$ac_ext
-/* The mapping between symbol names and symbols. */
-const struct {
+/* The mapping between symbol names and symbols. */
+LT_DLSYM_CONST struct {
const char *name;
- lt_ptr_t address;
+ void *address;
}
-lt_preloaded_symbols[] =
+lt__PROGRAM__LTX_preloaded_symbols[] =
{
-EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
- cat <<\EOF >> conftest.$ac_ext
- {0, (lt_ptr_t) 0}
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
};
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
#ifdef __cplusplus
}
#endif
-EOF
+_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
- lt_save_LIBS="$LIBS"
- lt_save_CFLAGS="$CFLAGS"
- LIBS="conftstm.$ac_objext"
+ lt_globsym_save_LIBS=$LIBS
+ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS=conftstm.$ac_objext
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext}; then
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest$ac_exeext; then
pipe_works=yes
fi
- LIBS="$lt_save_LIBS"
- CFLAGS="$lt_save_CFLAGS"
+ LIBS=$lt_globsym_save_LIBS
+ CFLAGS=$lt_globsym_save_CFLAGS
else
echo "cannot find nm_test_func in $nlist" >&5
fi
@@ -5666,10 +8084,10 @@ EOF
echo "$progname: failed program was:" >&5
cat conftest.$ac_ext >&5
fi
- rm -f conftest* conftst*
+ rm -rf conftest* conftst*
# Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
+ if test yes = "$pipe_works"; then
break
else
lt_cv_sys_global_symbol_pipe=
@@ -5682,398 +8100,1975 @@ if test -z "$lt_cv_sys_global_symbol_pipe"; then
lt_cv_sys_global_symbol_to_cdecl=
fi
if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+printf "%s\n" "failed" >&6; }
else
- echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+printf "%s\n" "ok" >&6; }
fi
-echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6
-if test "${lt_cv_objdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
+ nm_file_list_spec='@'
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+printf %s "checking for sysroot... " >&6; }
+
+# Check whether --with-sysroot was given.
+if test ${with_sysroot+y}
+then :
+ withval=$with_sysroot;
+else $as_nop
+ with_sysroot=no
+fi
+
+
+lt_sysroot=
+case $with_sysroot in #(
+ yes)
+ if test yes = "$GCC"; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
+printf "%s\n" "$with_sysroot" >&6; }
+ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+ ;;
+esac
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+printf "%s\n" "${lt_sysroot:-no}" >&6; }
+
+
+
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
+printf %s "checking for a working dd... " >&6; }
+if test ${ac_cv_path_lt_DD+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+if test -z "$lt_DD"; then
+ ac_path_lt_DD_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_prog in dd
+ do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_lt_DD="$as_dir$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_lt_DD" || continue
+if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi
+ $ac_path_lt_DD_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_lt_DD"; then
+ :
+ fi
else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
+ ac_cv_path_lt_DD=$lt_DD
fi
-rmdir .libs 2>/dev/null
+
+rm -f conftest.i conftest2.i conftest.out
fi
-echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
-echo "${ECHO_T}$lt_cv_objdir" >&6
-objdir=$lt_cv_objdir
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
+printf "%s\n" "$ac_cv_path_lt_DD" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
+printf %s "checking how to truncate binary pipes... " >&6; }
+if test ${lt_cv_truncate_bin+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
+fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
+printf "%s\n" "$lt_cv_truncate_bin" >&6; }
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
+
+
+
+
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+ for cc_temp in $*""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+ done
+ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
+# Check whether --enable-libtool-lock was given.
+if test ${enable_libtool_lock+y}
+then :
+ enableval=$enable_libtool_lock;
+fi
+
+test no = "$enable_libtool_lock" || enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out what ABI is being produced by ac_compile, and set mode
+ # options accordingly.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE=32
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE=64
+ ;;
+ esac
fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ if test yes = "$lt_cv_prog_gnu_ld"; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
;;
-esac
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
+mips64*-*linux*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ emul=elf
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ emul="${emul}32"
+ ;;
+ *64-bit*)
+ emul="${emul}64"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *MSB*)
+ emul="${emul}btsmip"
+ ;;
+ *LSB*)
+ emul="${emul}ltsmip"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *N32*)
+ emul="${emul}n32"
+ ;;
+ esac
+ LD="${LD-ld} -m $emul"
+ fi
+ rm -rf conftest*
+ ;;
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly. Note that the listed cases only cover the
+ # situations where additional linker options are needed (such as when
+ # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+ # vice versa); the common cases where no linker options are needed do
+ # not appear in the list.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ case `/usr/bin/file conftest.o` in
+ *x86-64*)
+ LD="${LD-ld} -m elf32_x86_64"
+ ;;
+ *)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ esac
+ ;;
+ powerpc64le-*linux*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
+ powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ powerpcle-*linux*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS -belf"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+printf %s "checking whether the C compiler needs -belf... " >&6; }
+if test ${lt_cv_cc_needs_belf+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-# Constants:
-rm="rm -f"
+int
+main (void)
+{
-# Global variables:
-default_ofile=libtool
-can_build_shared=yes
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ lt_cv_cc_needs_belf=yes
+else $as_nop
+ lt_cv_cc_needs_belf=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-# All known linkers require a `.a' archive for static linking (except M$VC,
-# which needs '.lib').
-libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
+printf "%s\n" "$lt_cv_cc_needs_belf" >&6; }
+ if test yes != "$lt_cv_cc_needs_belf"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS=$SAVE_CFLAGS
+ fi
+ ;;
+*-*solaris*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*)
+ case $host in
+ i?86-*-solaris*|x86_64-*-solaris*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ sparc*-*-solaris*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+ LD=${LD-ld}_sol2
+ fi
+ ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+esac
+
+need_locks=$enable_libtool_lock
if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
+ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}mt; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_MANIFEST_TOOL+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$MANIFEST_TOOL"; then
+ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
+if test -n "$MANIFEST_TOOL"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
+printf "%s\n" "$MANIFEST_TOOL" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
+ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
+ # Extract the first word of "mt", so it can be a program name with args.
+set dummy mt; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_MANIFEST_TOOL+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_MANIFEST_TOOL"; then
+ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
done
+ done
+IFS=$as_save_IFS
fi
fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
+ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
+if test -n "$ac_ct_MANIFEST_TOOL"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
+printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
+ if test "x$ac_ct_MANIFEST_TOOL" = x; then
+ MANIFEST_TOOL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
+ fi
+else
+ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
fi
-if test -z "$ac_cv_prog_AR"; then
- ac_ct_AR=$AR
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
+printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
+if test ${lt_cv_path_mainfest_tool+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ lt_cv_path_mainfest_tool=no
+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+ cat conftest.err >&5
+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+ lt_cv_path_mainfest_tool=yes
+ fi
+ rm -f conftest*
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
+printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; }
+if test yes != "$lt_cv_path_mainfest_tool"; then
+ MANIFEST_TOOL=:
+fi
+
+
+
+
+
+
+ case $host_os in
+ rhapsody* | darwin*)
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_DSYMUTIL+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$DSYMUTIL"; then
+ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+printf "%s\n" "$DSYMUTIL" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+ ac_ct_DSYMUTIL=$DSYMUTIL
+ # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_DSYMUTIL+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_DSYMUTIL"; then
+ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_AR="ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+printf "%s\n" "$ac_ct_DSYMUTIL" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+ if test "x$ac_ct_DSYMUTIL" = x; then
+ DSYMUTIL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DSYMUTIL=$ac_ct_DSYMUTIL
+ fi
+else
+ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_NMEDIT+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$NMEDIT"; then
+ ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
done
+ done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="false"
fi
fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+printf "%s\n" "$NMEDIT" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
- AR=$ac_ct_AR
+
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+ ac_ct_NMEDIT=$NMEDIT
+ # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_NMEDIT+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_NMEDIT"; then
+ ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_NMEDIT="nmedit"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+printf "%s\n" "$ac_ct_NMEDIT" >&6; }
else
- AR="$ac_cv_prog_AR"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ if test "x$ac_ct_NMEDIT" = x; then
+ NMEDIT=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ NMEDIT=$ac_ct_NMEDIT
+ fi
else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+ NMEDIT="$ac_cv_prog_NMEDIT"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_LIPO+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$LIPO"; then
+ ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+printf "%s\n" "$LIPO" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_LIPO"; then
+ ac_ct_LIPO=$LIPO
+ # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_LIPO+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_LIPO"; then
+ ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_LIPO="lipo"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
done
+ done
+IFS=$as_save_IFS
fi
fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+printf "%s\n" "$ac_ct_LIPO" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
+ if test "x$ac_ct_LIPO" = x; then
+ LIPO=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ LIPO=$ac_ct_LIPO
+ fi
+else
+ LIPO="$ac_cv_prog_LIPO"
fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OTOOL+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$OTOOL"; then
+ ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
+printf "%s\n" "$OTOOL" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+ ac_ct_OTOOL=$OTOOL
+ # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OTOOL+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_OTOOL"; then
+ ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_OTOOL="otool"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+printf "%s\n" "$ac_ct_OTOOL" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+ if test "x$ac_ct_OTOOL" = x; then
+ OTOOL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL=$ac_ct_OTOOL
+ fi
+else
+ OTOOL="$ac_cv_prog_OTOOL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OTOOL64+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$OTOOL64"; then
+ ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
done
+ done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
fi
fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+printf "%s\n" "$OTOOL64" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
- RANLIB=$ac_ct_RANLIB
+
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+ ac_ct_OTOOL64=$OTOOL64
+ # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OTOOL64+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_OTOOL64"; then
+ ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
else
- RANLIB="$ac_cv_prog_RANLIB"
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_OTOOL64="otool64"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+printf "%s\n" "$ac_ct_OTOOL64" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ if test "x$ac_ct_OTOOL64" = x; then
+ OTOOL64=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL64=$ac_ct_OTOOL64
+ fi
else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+ OTOOL64="$ac_cv_prog_OTOOL64"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+printf %s "checking for -single_module linker flag... " >&6; }
+if test ${lt_cv_apple_cc_single_mod+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ lt_cv_apple_cc_single_mod=no
+ if test -z "$LT_MULTI_MODULE"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ # If there is a non-empty error log, and "single_module"
+ # appears in it, assume the flag caused a linker warning
+ if test -s conftest.err && $GREP single_module conftest.err; then
+ cat conftest.err >&5
+ # Otherwise, if the output was created with a 0 exit code from
+ # the compiler, it worked.
+ elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&5
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; }
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+printf %s "checking for -exported_symbols_list linker flag... " >&6; }
+if test ${lt_cv_ld_exported_symbols_list+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ lt_cv_ld_exported_symbols_list=yes
+else $as_nop
+ lt_cv_ld_exported_symbols_list=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; }
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
+printf %s "checking for -force_load linker flag... " >&6; }
+if test ${lt_cv_ld_force_load+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ lt_cv_ld_force_load=no
+ cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+ echo "$AR cr libconftest.a conftest.o" >&5
+ $AR cr libconftest.a conftest.o 2>&5
+ echo "$RANLIB libconftest.a" >&5
+ $RANLIB libconftest.a 2>&5
+ cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+ _lt_result=$?
+ if test -s conftest.err && $GREP force_load conftest.err; then
+ cat conftest.err >&5
+ elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
+ lt_cv_ld_force_load=yes
+ else
+ cat conftest.err >&5
+ fi
+ rm -f conftest.err libconftest.a conftest conftest.c
+ rm -rf conftest.dSYM
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
+printf "%s\n" "$lt_cv_ld_force_load" >&6; }
+ case $host_os in
+ rhapsody* | darwin1.[012])
+ _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[912]*)
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ 10.[012][,.]*)
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+ 10.*|11.*)
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test yes = "$lt_cv_apple_cc_single_mod"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test yes = "$lt_cv_ld_exported_symbols_list"; then
+ _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
+ fi
+ if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+# string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+# string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+# "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+# VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+ case x$2 in
+ x)
+ ;;
+ *:)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+ ;;
+ x:*)
+ eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ *::*)
+ eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+ eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+ ;;
+ *)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ esac
+}
+
+ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_DLFCN_H 1" >>confdefs.h
+
+fi
+
+
+
+
+
+# Set options
+enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_AS+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AS=$ac_cv_prog_AS
+if test -n "$AS"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
+printf "%s\n" "$AS" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AS"; then
+ ac_ct_AS=$AS
+ # Extract the first word of "as", so it can be a program name with args.
+set dummy as; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_AS+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_AS"; then
+ ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_AS="as"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
done
+ done
+IFS=$as_save_IFS
fi
fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
+ac_ct_AS=$ac_cv_prog_ac_ct_AS
+if test -n "$ac_ct_AS"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
+printf "%s\n" "$ac_ct_AS" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+ if test "x$ac_ct_AS" = x; then
+ AS="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AS=$ac_ct_AS
+ fi
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ AS="$ac_cv_prog_AS"
fi
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_DLLTOOL+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$DLLTOOL"; then
+ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+printf "%s\n" "$DLLTOOL" >&6; }
else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DLLTOOL"; then
+ ac_ct_DLLTOOL=$DLLTOOL
+ # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_DLLTOOL+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_DLLTOOL"; then
+ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+printf "%s\n" "$ac_ct_DLLTOOL" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+ if test "x$ac_ct_DLLTOOL" = x; then
+ DLLTOOL="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DLLTOOL=$ac_ct_DLLTOOL
+ fi
+else
+ DLLTOOL="$ac_cv_prog_DLLTOOL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OBJDUMP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$OBJDUMP"; then
+ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
done
+ done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
fi
fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+printf "%s\n" "$OBJDUMP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
- STRIP=$ac_ct_STRIP
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+ ac_ct_OBJDUMP=$OBJDUMP
+ # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OBJDUMP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_OBJDUMP"; then
+ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
else
- STRIP="$ac_cv_prog_STRIP"
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_OBJDUMP="objdump"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+printf "%s\n" "$ac_ct_OBJDUMP" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OBJDUMP=$ac_ct_OBJDUMP
+ fi
+else
+ OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
+ ;;
+esac
-# Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
test -z "$AS" && AS=as
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
+
+
+
+
+
test -z "$DLLTOOL" && DLLTOOL=dlltool
-test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
+
+
+
+
+
test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
-test -z "$ac_objext" && ac_objext=o
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
- ;;
- *)
- old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+
+
+# Check whether --enable-static was given.
+if test ${enable_static+y}
+then :
+ enableval=$enable_static; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+ for pkg in $enableval; do
+ IFS=$lt_save_ifs
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS=$lt_save_ifs
+ ;;
+ esac
+else $as_nop
+ enable_static=no
fi
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+
+
+
+
+
+# Check whether --with-pic was given.
+if test ${with_pic+y}
+then :
+ withval=$with_pic; lt_p=${PACKAGE-default}
+ case $withval in
+ yes|no) pic_mode=$withval ;;
+ *)
+ pic_mode=default
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+ for lt_pkg in $withval; do
+ IFS=$lt_save_ifs
+ if test "X$lt_pkg" = "X$lt_p"; then
+ pic_mode=yes
+ fi
+ done
+ IFS=$lt_save_ifs
+ ;;
+ esac
+else $as_nop
+ pic_mode=yes
+fi
+
+
+
+
+
+
+
+
+
+ enable_dlopen=no
+
+
+
+ # Check whether --enable-shared was given.
+if test ${enable_shared+y}
+then :
+ enableval=$enable_shared; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+ for pkg in $enableval; do
+ IFS=$lt_save_ifs
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS=$lt_save_ifs
+ ;;
+ esac
+else $as_nop
+ enable_shared=yes
+fi
+
+
+
+
+
+
+
+
+
+
+
+ # Check whether --enable-fast-install was given.
+if test ${enable_fast_install+y}
+then :
+ enableval=$enable_fast_install; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+ for pkg in $enableval; do
+ IFS=$lt_save_ifs
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS=$lt_save_ifs
+ ;;
+ esac
+else $as_nop
+ enable_fast_install=yes
+fi
+
+
+
+
+
+
+
+
+ shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[5-9]*,yes)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
+printf %s "checking which variant of shared library versioning to provide... " >&6; }
+
+# Check whether --with-aix-soname was given.
+if test ${with_aix_soname+y}
+then :
+ withval=$with_aix_soname; case $withval in
+ aix|svr4|both)
+ ;;
+ *)
+ as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
+ ;;
+ esac
+ lt_cv_with_aix_soname=$with_aix_soname
+else $as_nop
+ if test ${lt_cv_with_aix_soname+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ lt_cv_with_aix_soname=aix
+fi
+
+ with_aix_soname=$lt_cv_with_aix_soname
+fi
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
+printf "%s\n" "$with_aix_soname" >&6; }
+ if test aix != "$with_aix_soname"; then
+ # For the AIX way of multilib, we name the shared archive member
+ # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+ # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+ # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+ # the AIX toolchain works better with OBJECT_MODE set (default 32).
+ if test 64 = "${OBJECT_MODE-32}"; then
+ shared_archive_member_spec=shr_64
+ else
+ shared_archive_member_spec=shr
+ fi
+ fi
+ ;;
+*)
+ with_aix_soname=aix
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS=$ltmain
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+test -z "$LN_S" && LN_S="ln -s"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "${ZSH_VERSION+set}"; then
+ setopt NO_GLOB_SUBST
+fi
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+printf %s "checking for objdir... " >&6; }
+if test ${lt_cv_objdir+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
+printf "%s\n" "$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
+
+
+
+
+
+printf "%s\n" "#define LT_OBJDIR \"$lt_cv_objdir/\"" >>confdefs.h
+
+
+
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test set != "${COLLECT_NAMES+set}"; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a '.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+old_CC=$CC
+old_CFLAGS=$CFLAGS
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+func_cc_basename $compiler
+cc_basename=$func_cc_basename_result
# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
+printf %s "checking for ${ac_tool_prefix}file... " >&6; }
+if test ${lt_cv_path_MAGIC_CMD+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
;;
*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_MAGIC_CMD=$MAGIC_CMD
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+ if test -f "$ac_dir/${ac_tool_prefix}file"; then
+ lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file"
if test -n "$file_magic_test_file"; then
case $deplibs_check_method in
"file_magic "*)
- file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
$EGREP "$file_magic_regex" > /dev/null; then
:
else
- cat <<EOF 1>&2
+ cat <<_LT_EOF 1>&2
*** Warning: the command libtool uses to detect shared libraries,
*** $file_magic_cmd, produces output that libtool cannot recognize.
@@ -6084,58 +10079,63 @@ else
*** may want to report the problem to your system manager and/or to
*** bug-libtool@gnu.org
-EOF
+_LT_EOF
fi ;;
esac
fi
break
fi
done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
+ IFS=$lt_save_ifs
+ MAGIC_CMD=$lt_save_MAGIC_CMD
;;
esac
fi
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if test -n "$MAGIC_CMD"; then
- echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+printf "%s\n" "$MAGIC_CMD" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
+
+
+
+
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
- echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for file" >&5
+printf %s "checking for file... " >&6; }
+if test ${lt_cv_path_MAGIC_CMD+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
;;
*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_MAGIC_CMD=$MAGIC_CMD
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
+ if test -f "$ac_dir/file"; then
+ lt_cv_path_MAGIC_CMD=$ac_dir/"file"
if test -n "$file_magic_test_file"; then
case $deplibs_check_method in
"file_magic "*)
- file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
$EGREP "$file_magic_regex" > /dev/null; then
:
else
- cat <<EOF 1>&2
+ cat <<_LT_EOF 1>&2
*** Warning: the command libtool uses to detect shared libraries,
*** $file_magic_cmd, produces output that libtool cannot recognize.
@@ -6146,28 +10146,29 @@ else
*** may want to report the problem to your system manager and/or to
*** bug-libtool@gnu.org
-EOF
+_LT_EOF
fi ;;
esac
fi
break
fi
done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
+ IFS=$lt_save_ifs
+ MAGIC_CMD=$lt_save_MAGIC_CMD
;;
esac
fi
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if test -n "$MAGIC_CMD"; then
- echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+printf "%s\n" "$MAGIC_CMD" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
+
else
MAGIC_CMD=:
fi
@@ -6177,29 +10178,9 @@ fi
;;
esac
-enable_dlopen=no
-enable_win32_dll=no
-
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
- enableval="$enable_libtool_lock"
-
-fi;
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-
-# Check whether --with-pic or --without-pic was given.
-if test "${with_pic+set}" = set; then
- withval="$with_pic"
- pic_mode="$withval"
-else
- pic_mode=default
-fi;
-test -z "$pic_mode" && pic_mode=default
-
# Use C for the default configuration in the libtool script
-tagname=
-lt_save_CC="$CC"
+
+lt_save_CC=$CC
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -6215,144 +10196,100 @@ objext=o
objext=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}\n'
+lt_simple_link_test_code='int main(){return(0);}'
+
+
+
+
+
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
# Allow CC to be a program name with arguments.
compiler=$CC
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
# save warnings/boilerplate of simple test code
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
+$RM conftest*
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
-
-
-#
-# Check for any special shared library compilation flags.
-#
-lt_prog_cc_shlib=
-if test "$GCC" = no; then
- case $host_os in
- sco3.2v5*)
- lt_prog_cc_shlib='-belf'
- ;;
- esac
-fi
-if test -n "$lt_prog_cc_shlib"; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&5
-echo "$as_me: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&2;}
- if echo "$old_CC $old_CFLAGS " | grep "[ ]$lt_prog_cc_shlib[ ]" >/dev/null; then :
- else
- { echo "$as_me:$LINENO: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&5
-echo "$as_me: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&2;}
- lt_cv_prog_cc_can_build_shared=no
- fi
-fi
-
-
-#
-# Check to make sure the static flag actually works.
-#
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_prog_compiler_static works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_prog_compiler_static works... $ECHO_C" >&6
-if test "${lt_prog_compiler_static_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_prog_compiler_static"
- printf "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed > conftest.exp
- $SED '/^$/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works=yes
- fi
- else
- lt_prog_compiler_static_works=yes
- fi
- fi
- $rm conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works" >&6
-
-if test x"$lt_prog_compiler_static_works" = xyes; then
- :
-else
- lt_prog_compiler_static=
-fi
-
+$RM -r conftest*
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
lt_prog_compiler_no_builtin_flag=
-if test "$GCC" = yes; then
- lt_prog_compiler_no_builtin_flag=' -fno-builtin'
-
+if test yes = "$GCC"; then
+ case $cc_basename in
+ nvcc*)
+ lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
+ *)
+ lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
+ esac
-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if test ${lt_cv_prog_compiler_rtti_exceptions+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# Note that $ac_compile itself does not contain backslashes and begins
# with a dollar sign (not a hyphen), so the echo should work correctly.
# The option is referenced via a variable to avoid confusing sed.
lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:6335: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:6339: \$? = $ac_status" >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
- $SED '/^$/d' conftest.err >conftest.er2
- if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
lt_cv_prog_compiler_rtti_exceptions=yes
fi
fi
- $rm conftest*
+ $RM conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then
lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
else
:
@@ -6360,41 +10297,60 @@ fi
fi
-lt_prog_compiler_wl=
+
+
+
+
+
+ lt_prog_compiler_wl=
lt_prog_compiler_pic=
lt_prog_compiler_static=
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
- if test "$GCC" = yes; then
+ if test yes = "$GCC"; then
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_static='-static'
case $host_os in
aix*)
# All AIX code is PIC.
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
lt_prog_compiler_static='-Bstatic'
fi
+ lt_prog_compiler_pic='-fPIC'
;;
amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the '-m68020' flag to GCC prevents building anything better,
+ # like '-m68040'.
+ lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
lt_prog_compiler_pic='-DDLL_EXPORT'
+ case $host_os in
+ os2*)
+ lt_prog_compiler_static='$wl-static'
+ ;;
+ esac
;;
darwin* | rhapsody*)
@@ -6403,6 +10359,31 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_pic='-fno-common'
;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ lt_prog_compiler_static=
+ ;;
+
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+ ;;
+
+ interix[3-9]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
msdosdjgpp*)
# Just because we use GCC doesn't mean we suddenly get shared libraries
# on systems that don't support them.
@@ -6410,63 +10391,74 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
enable_shared=no
;;
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+
sysv4*MP*)
if test -d /usr/nec; then
lt_prog_compiler_pic=-Kconform_pic
fi
;;
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case "$host_cpu" in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- ;;
-
*)
lt_prog_compiler_pic='-fPIC'
;;
esac
+
+ case $cc_basename in
+ nvcc*) # Cuda Compiler Driver 2.2
+ lt_prog_compiler_wl='-Xlinker '
+ if test -n "$lt_prog_compiler_pic"; then
+ lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
+ fi
+ ;;
+ esac
else
# PORTME Check for flag to pass linker flags through the system compiler.
case $host_os in
aix*)
lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
lt_prog_compiler_static='-Bstatic'
else
lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
fi
;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic='-qnocommon'
- lt_prog_compiler_wl='-Wl,'
- ;;
- esac
- ;;
- mingw* | pw32* | os2*)
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic='-fno-common'
+ case $cc_basename in
+ nagfor*)
+ # NAG Fortran compiler
+ lt_prog_compiler_wl='-Wl,-Wl,,'
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ esac
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
lt_prog_compiler_pic='-DDLL_EXPORT'
+ case $host_os in
+ os2*)
+ lt_prog_compiler_static='$wl-static'
+ ;;
+ esac
;;
hpux9* | hpux10* | hpux11*)
lt_prog_compiler_wl='-Wl,'
# PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
# not for PA HP-UX.
- case "$host_cpu" in
+ case $host_cpu in
hppa*64*|ia64*)
# +Z the default
;;
@@ -6475,7 +10467,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
;;
esac
# Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
+ lt_prog_compiler_static='$wl-a ${wl}archive'
;;
irix5* | irix6* | nonstopux*)
@@ -6484,49 +10476,123 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_static='-non_shared'
;;
- newsos6)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- linux*)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
- icc* | ecc*)
+ # old Intel for x86_64, which still supported -KPIC.
+ ecc*)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-static'
;;
- pgcc* | pgf77* | pgf90*)
+ # flang / f18. f95 an alias for gfortran or flang on Debian
+ flang* | f18* | f95*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
+ nagfor*)
+ # NAG Fortran compiler
+ lt_prog_compiler_wl='-Wl,-Wl,,'
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='-fpic'
- lt_prog_compiler_static='-static'
+ lt_prog_compiler_static='-Bstatic'
;;
ccc*)
lt_prog_compiler_wl='-Wl,'
# All Alpha code is PIC.
lt_prog_compiler_static='-non_shared'
;;
+ xl* | bgxl* | bgf* | mpixl*)
+ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-qpic'
+ lt_prog_compiler_static='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl=''
+ ;;
+ *Sun\ F* | *Sun*Fortran*)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Qoption ld '
+ ;;
+ *Sun\ C*)
+ # Sun C 5.9
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Wl,'
+ ;;
+ *Intel*\ [CF]*Compiler*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ *Portland\ Group*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fpic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ esac
+ ;;
esac
;;
+ newsos6)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+
osf3* | osf4* | osf5*)
lt_prog_compiler_wl='-Wl,'
# All OSF/1 code is PIC.
lt_prog_compiler_static='-non_shared'
;;
- sco3.2v5*)
- lt_prog_compiler_pic='-Kpic'
- lt_prog_compiler_static='-dn'
+ rdos*)
+ lt_prog_compiler_static='-non_shared'
;;
solaris*)
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
- f77* | f90* | f95*)
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
@@ -6539,19 +10605,25 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_static='-Bstatic'
;;
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ sysv4 | sysv4.2uw2* | sysv4.3*)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
;;
sysv4*MP*)
- if test -d /usr/nec ;then
+ if test -d /usr/nec; then
lt_prog_compiler_pic='-Kconform_pic'
lt_prog_compiler_static='-Bstatic'
fi
;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
unicos*)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_can_build_shared=no
@@ -6568,53 +10640,72 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic" >&6
+case $host_os in
+ # For platforms that do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic=
+ ;;
+ *)
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+esac
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+printf %s "checking for $compiler option to produce PIC... " >&6; }
+if test ${lt_cv_prog_compiler_pic+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
+printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; }
+lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic"; then
-
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6
-if test "${lt_prog_compiler_pic_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_pic_works=no
- ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if test ${lt_cv_prog_compiler_pic_works+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ lt_cv_prog_compiler_pic_works=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# Note that $ac_compile itself does not contain backslashes and begins
# with a dollar sign (not a hyphen), so the echo should work correctly.
# The option is referenced via a variable to avoid confusing sed.
lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:6597: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:6601: \$? = $ac_status" >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
- $SED '/^$/d' conftest.err >conftest.er2
- if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works=yes
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_pic_works=yes
fi
fi
- $rm conftest*
+ $RM conftest*
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
+printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; }
-if test x"$lt_prog_compiler_pic_works" = xyes; then
+if test yes = "$lt_cv_prog_compiler_pic_works"; then
case $lt_prog_compiler_pic in
"" | " "*) ;;
*) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
@@ -6625,27 +10716,133 @@ else
fi
fi
-case "$host_os" in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic=
- ;;
- *)
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
-esac
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+
+
+
+
+
+
+
+
+
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test ${lt_cv_prog_compiler_static_works+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ lt_cv_prog_compiler_static_works=no
+ save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_static_works=yes
+ fi
+ else
+ lt_cv_prog_compiler_static_works=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS=$save_LDFLAGS
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
+printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; }
+
+if test yes = "$lt_cv_prog_compiler_static_works"; then
+ :
else
+ lt_prog_compiler_static=
+fi
+
+
+
+
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test ${lt_cv_prog_compiler_c_o+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test ${lt_cv_prog_compiler_c_o+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
lt_cv_prog_compiler_c_o=no
- $rm -r conftest 2>/dev/null
+ $RM -r conftest 2>/dev/null
mkdir conftest
cd conftest
mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
@@ -6653,144 +10850,178 @@ else
# Note that $ac_compile itself does not contain backslashes and begins
# with a dollar sign (not a hyphen), so the echo should work correctly.
lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:6659: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:6663: \$? = $ac_status" >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
- $SED '/^$/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
lt_cv_prog_compiler_c_o=yes
fi
fi
- chmod u+w .
- $rm conftest*
+ chmod u+w . 2>&5
+ $RM conftest*
# SGI C++ compiler will create directory out/ii_files/ for
# template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
cd ..
- rmdir conftest
- $rm conftest*
+ $RM -r conftest
+ $RM conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; }
+
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+
+hard_links=nottested
+if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then
# do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+printf %s "checking if we can lock with hard links... " >&6; }
hard_links=yes
- $rm conftest*
+ $RM conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
- if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+printf "%s\n" "$hard_links" >&6; }
+ if test no = "$hard_links"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
+printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
need_locks=no
fi
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+
+
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
runpath_var=
allow_undefined_flag=
- enable_shared_with_static_runtimes=no
+ always_export_symbols=no
archive_cmds=
archive_expsym_cmds=
- old_archive_From_new_cmds=
- old_archive_from_expsyms_cmds=
+ compiler_needs_object=no
+ enable_shared_with_static_runtimes=no
export_dynamic_flag_spec=
- whole_archive_flag_spec=
- thread_safe_flag_spec=
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ hardcode_automatic=no
+ hardcode_direct=no
+ hardcode_direct_absolute=no
hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld=
hardcode_libdir_separator=
- hardcode_direct=no
hardcode_minus_L=no
hardcode_shlibpath_var=unsupported
+ inherit_rpath=no
link_all_deplibs=unknown
- hardcode_automatic=no
module_cmds=
module_expsym_cmds=
- always_export_symbols=no
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ old_archive_from_new_cmds=
+ old_archive_from_expsyms_cmds=
+ thread_safe_flag_spec=
+ whole_archive_flag_spec=
# include_expsyms should be a list of space-separated symbols to be *always*
# included in the symbol list
include_expsyms=
# exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+ # it will be wrapped by ' (' and ')$', so one must not match beginning or
+ # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
+ # as well as any symbol that contains 'd'.
+ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
# the symbol is explicitly referenced. Since portable code cannot
# rely on this symbol name, it's probably fine to never include it in
# preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
case $host_os in
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
- if test "$GCC" != yes; then
+ if test yes != "$GCC"; then
with_gnu_ld=no
fi
;;
- openbsd*)
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd* | bitrig*)
with_gnu_ld=no
;;
+ linux* | k*bsd*-gnu | gnu*)
+ link_all_deplibs=no
+ ;;
esac
ld_shlibs=yes
- if test "$with_gnu_ld" = yes; then
+
+ # On some targets, GNU ld is compatible enough with the native linker
+ # that we're better off using the native interface for both.
+ lt_use_gnu_ld_interface=no
+ if test yes = "$with_gnu_ld"; then
+ case $host_os in
+ aix*)
+ # The AIX port of GNU ld has always aspired to compatibility
+ # with the native linker. However, as the warning in the GNU ld
+ # block says, versions before 2.19.5* couldn't really create working
+ # shared libraries, regardless of the interface used.
+ case `$LD -v 2>&1` in
+ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+ *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
+ *\ \(GNU\ Binutils\)\ [3-9]*) ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ fi
+
+ if test yes = "$lt_use_gnu_ld_interface"; then
# If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
+ wlarc='$wl'
# Set some defaults for GNU ld with shared library support. These
# are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary.
runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+ export_dynamic_flag_spec='$wl--export-dynamic'
# ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec=
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+ else
+ whole_archive_flag_spec=
fi
supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
+ case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
*\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
*\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
@@ -6800,116 +11031,217 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
# See if GNU ld supports shared libraries.
case $host_os in
- aix3* | aix4* | aix5*)
+ aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
+ if test ia64 != "$host_cpu"; then
ld_shlibs=no
- cat <<EOF 1>&2
+ cat <<_LT_EOF 1>&2
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** Warning: the GNU linker, at least up to release 2.19, is reported
*** to be unable to reliably create shared libraries on AIX.
*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
-EOF
+_LT_EOF
fi
;;
amigaos*)
- archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- ld_shlibs=no
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
;;
beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
allow_undefined_flag=unsupported
# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
# support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
else
ld_shlibs=no
fi
;;
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
# as there is no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
+ export_dynamic_flag_spec='$wl--export-all-symbols'
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file, use it as
+ # is; otherwise, prepend EXPORTS...
+ archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
ld_shlibs=no
fi
;;
- linux*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
+ haiku*)
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ link_all_deplibs=yes
+ ;;
+
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ allow_undefined_flag=unsupported
+ shrext_cmds=.dll
+ archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ enable_shared_with_static_runtimes=yes
+ ;;
+
+ interix[3-9]*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+ export_dynamic_flag_spec='$wl-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ tmp_diet=no
+ if test linux-dietlibc = "$host_os"; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test no = "$tmp_diet"
+ then
+ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec=
+ pgcc*) # Portland Group C compiler
+ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ tmp_addflag=' $pic_flag'
;;
- pgf77* | pgf90* ) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec=
- tmp_addflag=' -fpic -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group f77 and f90 compilers
+ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
tmp_addflag=' -i_dynamic' ;;
efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
tmp_addflag=' -i_dynamic -nofor_main' ;;
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ whole_archive_flag_spec=
+ tmp_sharedflag='--shared' ;;
+ nagfor*) # NAGFOR 5.3
+ tmp_sharedflag='-Wl,-shared' ;;
+ xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ nvcc*) # Cuda Compiler Driver 2.2
+ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ compiler_needs_object=yes
+ ;;
esac
- archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ compiler_needs_object=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- if test $supports_anon_versioning = yes; then
- archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
+ if test yes = "$supports_anon_versioning"; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ tcc*)
+ export_dynamic_flag_spec='-rdynamic'
+ ;;
+ xlf* | bgf* | bgxlf* | mpixlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test yes = "$supports_anon_versioning"; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
else
- ld_shlibs=no
+ ld_shlibs=no
fi
;;
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
fi
;;
- solaris* | sysv5*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
ld_shlibs=no
- cat <<EOF 1>&2
+ cat <<_LT_EOF 1>&2
*** Warning: The releases 2.8.* of the GNU linker cannot reliably
*** create shared libraries on Solaris systems. Therefore, libtool
@@ -6918,15 +11250,46 @@ EOF
*** your PATH or compiler configuration so that the native linker is
*** used, and then restart.
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
ld_shlibs=no
fi
;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ ;;
+
sunos4*)
archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
wlarc=
@@ -6935,16 +11298,16 @@ EOF
;;
*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
ld_shlibs=no
fi
;;
esac
- if test "$ld_shlibs" = no; then
+ if test no = "$ld_shlibs"; then
runpath_var=
hardcode_libdir_flag_spec=
export_dynamic_flag_spec=
@@ -6960,40 +11323,66 @@ EOF
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$link_static_flag"; then
+ if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
hardcode_direct=unsupported
fi
;;
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
+ aix[4-9]*)
+ if test ia64 = "$host_cpu"; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
exp_sym_flag='-Bexport'
- no_entry_flag=""
+ no_entry_flag=
else
# If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+ # Without the "-l" option, or with the "-B" option, AIX nm treats
+ # weak defined symbols like other global defined symbols, whereas
+ # GNU nm marks them as "W".
+ # While the 'weak' keyword is ignored in the Export File, we need
+ # it in the Import File for the 'aix-soname' feature, so we have
+ # to replace the "-B" option with "-P" for AIX nm.
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ # have runtime linking enabled, and use it for executables.
+ # For shared libraries, we enable/disable runtime linking
+ # depending on the kind of the shared library created -
+ # when "with_aix_soname,aix_use_runtimelinking" is:
+ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
+ # "aix,yes" lib.so shared, rtl:yes, for executables
+ # lib.a static archive
+ # "both,no" lib.so.V(shr.o) shared, rtl:yes
+ # lib.a(lib.so.V) shared, rtl:no, for executables
+ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a(lib.so.V) shared, rtl:no
+ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a static archive
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
+ if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
done
+ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # With aix-soname=svr4, we create the lib.so.V shared archives only,
+ # so we don't have lib.a shared libs to link our executables.
+ # We have to force runtime linking in this case.
+ aix_use_runtimelinking=yes
+ LDFLAGS="$LDFLAGS -Wl,-brtl"
+ fi
+ ;;
esac
exp_sym_flag='-bexport'
@@ -7008,267 +11397,323 @@ EOF
archive_cmds=''
hardcode_direct=yes
+ hardcode_direct_absolute=yes
hardcode_libdir_separator=':'
link_all_deplibs=yes
+ file_list_spec='$wl-f,'
+ case $with_aix_soname,$aix_use_runtimelinking in
+ aix,*) ;; # traditional, no import file
+ svr4,* | *,yes) # use import file
+ # The Import File defines what to hardcode.
+ hardcode_direct=no
+ hardcode_direct_absolute=no
+ ;;
+ esac
- if test "$GCC" = yes; then
+ if test yes = "$GCC"; then
case $host_os in aix4.[012]|aix4.[012].*)
# We only want to do this on AIX 4.2 and lower, the check
# below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
+ collect2name=`$CC -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
then
- # We have reworked collect2
- hardcode_direct=yes
+ # We have reworked collect2
+ :
else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
+ # We have old collect2
+ hardcode_direct=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
fi
+ ;;
esac
shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag="$shared_flag "'$wl-G'
fi
+ # Need to ensure runtime linking is disabled for the traditional
+ # shared library, or the linker may eventually find shared libraries
+ # /with/ Import File - we do not want to mix them.
+ shared_flag_aix='-shared'
+ shared_flag_svr4='-shared $wl-G'
else
# not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
+ if test ia64 = "$host_cpu"; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag='$wl-G'
else
- shared_flag='${wl}-bM:SRE'
- fi
+ shared_flag='$wl-bM:SRE'
+ fi
+ shared_flag_aix='$wl-bM:SRE'
+ shared_flag_svr4='$wl-G'
fi
fi
+ export_dynamic_flag_spec='$wl-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to export.
always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
+ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
# Warning - without using the other runtime loading flags (-brtl),
# -berok will link without error, but may produce a broken library.
allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ if test set = "${lt_cv_aix_libpath+set}"; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if test ${lt_cv_aix_libpath_+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_c_try_link "$LINENO"
+then :
+
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_=/usr/lib:/lib
+ fi
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+fi
+ aix_libpath=$lt_cv_aix_libpath_
fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
+ else
+ if test ia64 = "$host_cpu"; then
+ hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'
allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
else
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ if test set = "${lt_cv_aix_libpath+set}"; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if test ${lt_cv_aix_libpath_+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_c_try_link "$LINENO"
+then :
+
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_=/usr/lib:/lib
+ fi
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+fi
+ aix_libpath=$lt_cv_aix_libpath_
fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- # -bexpall does not export symbols beginning with underscore (_)
- always_export_symbols=yes
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec=' '
+ no_undefined_flag=' $wl-bernotok'
+ allow_undefined_flag=' $wl-berok'
+ if test yes = "$with_gnu_ld"; then
+ # We only use this code for GNU lds that support --whole-archive.
+ whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec='$convenience'
+ fi
archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds it's shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+ # -brtl affects multiple linker settings, -berok does not and is overridden later
+ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
+ if test svr4 != "$with_aix_soname"; then
+ # This is similar to how AIX traditionally builds its shared libraries.
+ archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+ fi
+ if test aix != "$with_aix_soname"; then
+ archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+ else
+ # used by -dlpreopen to get the symbols
+ archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
+ fi
+ archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
fi
fi
;;
amigaos*)
- archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs=no
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
;;
bsdi[45]*)
export_dynamic_flag_spec=-rdynamic
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_From_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes=yes
+ case $cc_basename in
+ cl*)
+ # Native MSVC
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+ file_list_spec='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=.dll
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+ archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
+ cp "$export_symbols" "$output_objdir/$soname.def";
+ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+ else
+ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
+ enable_shared_with_static_runtimes=yes
+ exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+ # Don't use ranlib
+ old_postinstall_cmds='chmod 644 $oldlib'
+ postlink_cmds='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile=$lt_outputfile.exe
+ lt_tool_outputfile=$lt_tool_outputfile.exe
+ ;;
+ esac~
+ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # Assume MSVC wrapper
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=.dll
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ old_archive_from_new_cmds='true'
+ # FIXME: Should let the user specify the lib program.
+ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ enable_shared_with_static_runtimes=yes
+ ;;
+ esac
;;
darwin* | rhapsody*)
- case "$host_os" in
- rhapsody* | darwin1.[012])
- allow_undefined_flag='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- archive_cmds_need_lc=no
- hardcode_direct=no
- hardcode_automatic=yes
- hardcode_shlibpath_var=unsupported
- whole_archive_flag_spec=''
- link_all_deplibs=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
- archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
- module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
- archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs=no
- ;;
- esac
- fi
+
+
+ archive_cmds_need_lc=no
+ hardcode_direct=no
+ hardcode_automatic=yes
+ hardcode_shlibpath_var=unsupported
+ if test yes = "$lt_cv_ld_force_load"; then
+ whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
+ else
+ whole_archive_flag_spec=''
+ fi
+ link_all_deplibs=yes
+ allow_undefined_flag=$_lt_dar_allow_undefined
+ case $cc_basename in
+ ifort*|nagfor*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test yes = "$_lt_dar_can_shared"; then
+ output_verbose_link_cmd=func_echo_all
+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+ archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+ module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
+
+ else
+ ld_shlibs=no
+ fi
+
;;
dgux*)
@@ -7277,10 +11722,6 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_shlibpath_var=no
;;
- freebsd1*)
- ld_shlibs=no
- ;;
-
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
# support. Future versions do this automatically, but an explicit c++rt0.o
# does not break anything, and helps significantly (at the cost of a little
@@ -7293,7 +11734,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
# Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
+ freebsd2.*)
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
hardcode_direct=yes
hardcode_minus_L=yes
@@ -7301,72 +11742,126 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | kfreebsd*-gnu | dragonfly*)
- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+ freebsd* | dragonfly*)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
;;
hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ if test yes = "$GCC"; then
+ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
else
- archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_flag_spec='$wl+b $wl$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
+ export_dynamic_flag_spec='$wl-E'
;;
- hpux10* | hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case "$host_cpu" in
- hppa*64*|ia64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ hpux10*)
+ if test yes,no = "$GCC,$with_gnu_ld"; then
+ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test no = "$with_gnu_ld"; then
+ hardcode_libdir_flag_spec='$wl+b $wl$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ export_dynamic_flag_spec='$wl-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test yes,no = "$GCC,$with_gnu_ld"; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
else
- case "$host_cpu" in
- hppa*64*|ia64*)
- archive_cmds='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+
+ # Older versions of the 11.00 compiler do not understand -b yet
+ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
+printf %s "checking if $CC understands -b... " >&6; }
+if test ${lt_cv_prog_compiler__b+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ lt_cv_prog_compiler__b=no
+ save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -b"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler__b=yes
+ fi
+ else
+ lt_cv_prog_compiler__b=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS=$save_LDFLAGS
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
+printf "%s\n" "$lt_cv_prog_compiler__b" >&6; }
+
+if test yes = "$lt_cv_prog_compiler__b"; then
+ archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+fi
+
;;
esac
fi
- if test "$with_gnu_ld" = no; then
- case "$host_cpu" in
- hppa*64*)
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld='+b $libdir'
- hardcode_libdir_separator=:
- hardcode_direct=no
- hardcode_shlibpath_var=no
- ;;
- ia64*)
- hardcode_libdir_flag_spec='-L$libdir'
+ if test no = "$with_gnu_ld"; then
+ hardcode_libdir_flag_spec='$wl+b $wl$libdir'
+ hardcode_libdir_separator=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
hardcode_direct=no
hardcode_shlibpath_var=no
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
;;
*)
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
hardcode_direct=yes
- export_dynamic_flag_spec='${wl}-E'
+ hardcode_direct_absolute=yes
+ export_dynamic_flag_spec='$wl-E'
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
@@ -7377,19 +11872,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ if test yes = "$GCC"; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ # This should be the same for all languages, so no per-tag cache variable.
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
+printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
+if test ${lt_cv_irix_exported_symbol+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int foo (void) { return 0; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ lt_cv_irix_exported_symbol=yes
+else $as_nop
+ lt_cv_irix_exported_symbol=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
+printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; }
+ if test yes = "$lt_cv_irix_exported_symbol"; then
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
+ fi
+ link_all_deplibs=no
else
- archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
fi
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
hardcode_libdir_separator=:
+ inherit_rpath=yes
link_all_deplibs=yes
;;
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ linux*)
+ case $cc_basename in
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ ld_shlibs=yes
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
@@ -7402,30 +11941,30 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
newsos6)
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
hardcode_libdir_separator=:
hardcode_shlibpath_var=no
;;
- openbsd*)
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
+ *nto* | *qnx*)
+ ;;
+
+ openbsd* | bitrig*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ hardcode_direct_absolute=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+ export_dynamic_flag_spec='$wl-E'
+ else
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+ fi
else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
+ ld_shlibs=no
fi
;;
@@ -7433,85 +11972,108 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
allow_undefined_flag=unsupported
- archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ shrext_cmds=.dll
+ archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ enable_shared_with_static_runtimes=yes
;;
osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ if test yes = "$GCC"; then
+ allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
else
allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
fi
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
hardcode_libdir_separator=:
;;
osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ if test yes = "$GCC"; then
+ allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+ archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
# Both c and cxx compiler support -rpath directly
hardcode_libdir_flag_spec='-rpath $libdir'
fi
+ archive_cmds_need_lc='no'
hardcode_libdir_separator=:
;;
- sco3.2v5*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- export_dynamic_flag_spec='${wl}-Bexport'
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ;;
-
solaris*)
- no_undefined_flag=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+ no_undefined_flag=' -z defs'
+ if test yes = "$GCC"; then
+ wlarc='$wl'
+ archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
else
- wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='$wl'
+ archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
fi
hardcode_libdir_flag_spec='-R$libdir'
hardcode_shlibpath_var=no
case $host_os in
solaris2.[0-5] | solaris2.[0-5].*) ;;
*)
- # The compiler driver will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl, iff we do not link with $LD.
- # Luckily, gcc supports the same syntax we need for Sun Studio.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- case $wlarc in
- '')
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
- *)
- whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- esac ;;
+ # The compiler driver will combine and reorder linker options,
+ # but understands '-z linker_flag'. GCC discards it without '$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test yes = "$GCC"; then
+ whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+ else
+ whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
esac
link_all_deplibs=yes
;;
sunos4*)
- if test "x$host_vendor" = xsequent; then
+ if test sequent = "$host_vendor"; then
# Use $CC to link under sequent, because it throws in some extra .o
# files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
else
archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
fi
@@ -7559,36 +12121,45 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
fi
;;
- sysv4.2uw2*)
- archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_minus_L=no
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag='$wl-z,text'
+ archive_cmds_need_lc=no
hardcode_shlibpath_var=no
- hardcode_runpath_var=yes
- runpath_var=LD_RUN_PATH
- ;;
+ runpath_var='LD_RUN_PATH'
- sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
- no_undefined_flag='${wl}-z ${wl}text'
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes = "$GCC"; then
+ archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var=no
;;
- sysv5*)
- no_undefined_flag=' -z text'
- # $CC -shared without GNU ld will not create a library from C++
- # object files and a static libstdc++, better avoid it by now
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- hardcode_libdir_flag_spec=
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We CANNOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag='$wl-z,text'
+ allow_undefined_flag='$wl-z,nodefs'
+ archive_cmds_need_lc=no
hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='$wl-R,$libdir'
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ export_dynamic_flag_spec='$wl-Bexport'
runpath_var='LD_RUN_PATH'
+
+ if test yes = "$GCC"; then
+ archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
;;
uts4*)
@@ -7601,16 +12172,35 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
ld_shlibs=no
;;
esac
+
+ if test sni = "$host_vendor"; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ export_dynamic_flag_spec='$wl-Blargedynsym'
+ ;;
+ esac
+ fi
fi
-echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6
-test "$ld_shlibs" = no && can_build_shared=no
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
+printf "%s\n" "$ld_shlibs" >&6; }
+test no = "$ld_shlibs" && can_build_shared=no
+
+with_gnu_ld=$with_gnu_ld
+
+
+
+
+
+
+
+
+
+
+
+
+
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
#
# Do we need to explicitly link libc?
@@ -7620,7 +12210,7 @@ x|xyes)
# Assume -lc should be added
archive_cmds_need_lc=yes
- if test "$enable_shared" = yes && test "$GCC" = yes; then
+ if test yes,yes = "$GCC,$enable_shared"; then
case $archive_cmds in
*'~'*)
# FIXME: we may have to deal with multi-command sequences.
@@ -7629,57 +12219,288 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
- $rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+printf %s "checking whether -lc should be explicitly linked in... " >&6; }
+if test ${lt_cv_archive_cmds_need_lc+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag
- allow_undefined_flag=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- then
- archive_cmds_need_lc=no
- else
- archive_cmds_need_lc=yes
- fi
- allow_undefined_flag=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
-echo "${ECHO_T}$archive_cmds_need_lc" >&6
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl
+ pic_flag=$lt_prog_compiler_pic
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag
+ allow_undefined_flag=
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+ (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ then
+ lt_cv_archive_cmds_need_lc=no
+ else
+ lt_cv_archive_cmds_need_lc=yes
+ fi
+ allow_undefined_flag=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
+printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; }
+ archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
;;
esac
fi
;;
esac
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+printf %s "checking dynamic linker characteristics... " >&6; }
+
+if test yes = "$GCC"; then
+ case $host_os in
+ darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+ *) lt_awk_arg='/^libraries:/' ;;
+ esac
+ case $host_os in
+ mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
+ *) lt_sed_strip_eq='s|=/|/|g' ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+ case $lt_search_path_spec in
+ *\;*)
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+ ;;
+ *)
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ esac
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary...
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ # ...but if some path component already ends with the multilib dir we assume
+ # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+ case "$lt_multi_os_dir; $lt_search_path_spec " in
+ "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+ lt_multi_os_dir=
+ ;;
+ esac
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+ elif test -n "$lt_multi_os_dir"; then
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS = " "; FS = "/|\n";} {
+ lt_foo = "";
+ lt_count = 0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo = "/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[lt_foo]++; }
+ if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+ # AWK program above erroneously prepends '/' to C:/dos/paths
+ # for these hosts.
+ case $host_os in
+ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ $SED 's|/\([A-Za-z]:\)|\1|g'` ;;
+ esac
+ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
library_names_spec=
libname_spec='lib$name'
soname_spec=
-shrext_cmds=".so"
+shrext_cmds=.so
postinstall_cmds=
postuninstall_cmds=
finish_cmds=
@@ -7689,20 +12510,6 @@ shlibpath_overrides_runpath=unknown
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
need_lib_prefix=unknown
hardcode_into_libs=no
@@ -7710,77 +12517,138 @@ hardcode_into_libs=no
# flags to be left without arguments
need_version=unknown
+
+
case $host_os in
aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
shlibpath_var=LIBPATH
# AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
+ soname_spec='$libname$release$shared_ext$major'
;;
-aix4* | aix5*)
- version_type=linux
+aix[4-9]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
else
# With GCC up to 2.95.x, collect2 would create an import file
# for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
+ # the line '#! .'. This would cause the generated library to
+ # depend on '.', always an invalid library. This was fixed in
# development snapshots of GCC prior to 3.0.
case $host_os in
aix4 | aix4.[01] | aix4.[01].*)
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
:
else
can_build_shared=no
fi
;;
esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # Using Import Files as archive members, it is possible to support
+ # filename-based versioning of shared library archives on AIX. While
+ # this would work for both with and without runtime linking, it will
+ # prevent static linking of such archives. So we do filename-based
+ # shared library versioning with .so extension only, which is used
+ # when both runtime linking and shared linking is enabled.
+ # Unfortunately, runtime linking may impact performance, so we do
+ # not want this to be the default eventually. Also, we use the
+ # versioned .so libs for executables only if there is the -brtl
+ # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+ # To allow for filename-based versioning support, we need to create
+ # libNAME.so.V as an archive file, containing:
+ # *) an Import File, referring to the versioned filename of the
+ # archive as well as the shared archive member, telling the
+ # bitwidth (32 or 64) of that shared object, and providing the
+ # list of exported symbols of that shared object, eventually
+ # decorated with the 'weak' keyword
+ # *) the shared object with the F_LOADONLY flag set, to really avoid
+ # it being seen by the linker.
+ # At run time we better use the real file rather than another symlink,
+ # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+ case $with_aix_soname,$aix_use_runtimelinking in
+ # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
# soname into executable. Probably we can add versioning support to
# collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
+ aix,yes) # traditional libtool
+ dynamic_linker='AIX unversionable lib.so'
# If using run time linking (on AIX 4.2 or later) use lib<name>.so
# instead of lib<name>.a to let people know that these are not
# typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ ;;
+ aix,no) # traditional AIX only
+ dynamic_linker='AIX lib.a(lib.so.V)'
# We preserve .a as extension for shared libraries through AIX4.2
# and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ ;;
+ svr4,*) # full svr4 only
+ dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,yes) # both, prefer svr4
+ dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # unpreferred sharedlib libNAME.a needs extra handling
+ postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+ postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,no) # both, prefer aix
+ dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+ postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+ postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+ ;;
+ esac
shlibpath_var=LIBPATH
fi
;;
amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
;;
beos*)
- library_names_spec='${libname}${shared_ext}'
+ library_names_spec='$libname$shared_ext'
dynamic_linker="$host_os ld.so"
shlibpath_var=LIBRARY_PATH
;;
bsdi[45]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
@@ -7790,60 +12658,112 @@ bsdi[45]*)
# libtool to hard-code these into programs
;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
- shrext_cmds=".dll"
+ shrext_cmds=.dll
need_version=no
need_lib_prefix=no
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname'
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
dlpath=$dir/\$dldll~
- $rm \$dlpath'
+ $RM \$dlpath'
shlibpath_overrides_runpath=yes
case $host_os in
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
;;
- mingw*)
+ mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
+ soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ ;;
+
+ *,cl*)
+ # Native MSVC
+ libname_spec='$name'
+ soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+ library_names_spec='$libname.dll.lib'
+
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec=$LIB
+ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
;;
esac
+
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ dynamic_linker='Win32 link.exe'
;;
*)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ # Assume MSVC wrapper
+ library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
+ dynamic_linker='Win32 ld.exe'
;;
esac
- dynamic_linker='Win32 ld.exe'
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
@@ -7853,84 +12773,80 @@ darwin* | rhapsody*)
version_type=darwin
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
+ library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$major$shared_ext'
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-kfreebsd*-gnu)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
;;
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
- objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[23].*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
version_type=freebsd-$objformat
case $version_type in
freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
need_version=no
need_lib_prefix=no
;;
freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
need_version=yes
;;
esac
shlibpath_var=LD_LIBRARY_PATH
case $host_os in
- freebsd2*)
+ freebsd2.*)
shlibpath_overrides_runpath=yes
;;
freebsd3.[01]* | freebsdelf3.[01]*)
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
- *) # from 3.2 on
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
esac
;;
-gnu*)
- version_type=linux
+haiku*)
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
hardcode_into_libs=yes
;;
@@ -7940,60 +12856,75 @@ hpux9* | hpux10* | hpux11*)
version_type=sunos
need_lib_prefix=no
need_version=no
- case "$host_cpu" in
+ case $host_cpu in
ia64*)
shrext_cmds='.so'
hardcode_into_libs=yes
dynamic_linker="$host_os dld.so"
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ if test 32 = "$HPUX_IA64_MODE"; then
sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux32
else
sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux64
fi
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
+ *)
shrext_cmds='.sl'
dynamic_linker="$host_os dld.sl"
shlibpath_var=SHLIB_PATH
shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
;;
esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
+ ;;
+
+interix[3-9]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
;;
irix5* | irix6* | nonstopux*)
case $host_os in
nonstopux*) version_type=nonstopux ;;
*)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
+ if test yes = "$lt_cv_prog_gnu_ld"; then
+ version_type=linux # correct to gnu/linux during the next big refactor
else
version_type=irix
fi ;;
esac
need_lib_prefix=no
need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
case $host_os in
irix5* | nonstopux*)
libsuff= shlibsuff=
@@ -8012,8 +12943,8 @@ irix5* | irix6* | nonstopux*)
esac
shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+ sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
hardcode_into_libs=yes
;;
@@ -8022,46 +12953,88 @@ linux*oldld* | linux*aout* | linux*coff*)
dynamic_linker=no
;;
-# This must be Linux ELF.
-linux*)
- version_type=linux
+linux*android*)
+ version_type=none # Android doesn't support versioned libraries.
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext'
+ soname_spec='$libname$release$shared_ext'
+ finish_cmds=
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ dynamic_linker='Android linker'
+ # Don't embed -rpath directories since the linker doesn't support them.
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
+
+ # Some binutils ld are patched to set DT_RUNPATH
+ if test ${lt_cv_shlibpath_overrides_runpath+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null
+then :
+ lt_cv_shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+
+fi
+
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
# This implies no fast_install, which is unacceptable.
# Some rework will be needed to allow for fast_install
# before this can be enabled.
hardcode_into_libs=yes
- # find out which ABI we are using
- libsuff=
- case "$host_cpu" in
- x86_64*|s390x*|powerpc64*)
- echo '#line 8044 "configure"' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *64-bit*)
- libsuff=64
- sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
- esac
-
- # Append ld.so.conf contents to the search path
+ # Ideally, we could use ldconfig to report *all* directores which are
+ # searched for libraries, however this is still not possible. Aside from not
+ # being certain /sbin/ldconfig is available, command
+ # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+ # even though it is searched at run-time. Try to do the best guess by
+ # appending ld.so.conf contents (and includes) to the search path.
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -8073,7 +13046,7 @@ linux*)
dynamic_linker='GNU/Linux ld.so'
;;
-knetbsd*-gnu)
+netbsdelf*-gnu)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -8082,20 +13055,20 @@ knetbsd*-gnu)
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
+ dynamic_linker='NetBSD ld.elf_so'
;;
netbsd*)
version_type=sunos
need_lib_prefix=no
need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
dynamic_linker='NetBSD ld.elf_so'
fi
shlibpath_var=LD_LIBRARY_PATH
@@ -8104,76 +13077,90 @@ netbsd*)
;;
newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
;;
-nto-qnx*)
- version_type=linux
+*nto* | *qnx*)
+ version_type=qnx
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
;;
-openbsd*)
+openbsd* | bitrig*)
version_type=sunos
+ sys_lib_dlsearch_path_spec=/usr/lib
need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ need_version=no
else
- shlibpath_overrides_runpath=yes
+ need_version=yes
fi
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
;;
os2*)
libname_spec='$name'
- shrext_cmds=".dll"
+ version_type=windows
+ shrext_cmds=.dll
+ need_version=no
need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
+ # OS/2 can only load a DLL with a base name of 8 characters or less.
+ soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+ v=$($ECHO $release$versuffix | tr -d .-);
+ n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+ $ECHO $n$v`$shared_ext'
+ library_names_spec='${libname}_dll.$libext'
dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
+ shlibpath_var=BEGINLIBPATH
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
;;
osf3* | osf4* | osf5*)
version_type=osf
need_lib_prefix=no
need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
-sco3.2v5*)
- version_type=osf
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
+rdos*)
+ dynamic_linker=no
;;
solaris*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
@@ -8183,26 +13170,25 @@ solaris*)
sunos4*)
version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
need_lib_prefix=no
fi
need_version=yes
;;
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+sysv4 | sysv4.3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
case $host_vendor in
sni)
shlibpath_overrides_runpath=no
need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
runpath_var=LD_RUN_PATH
;;
siemens)
@@ -8218,18 +13204,51 @@ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
;;
sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
+ if test -d /usr/nec; then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+ soname_spec='$libname$shared_ext.$major'
shlibpath_var=LD_LIBRARY_PATH
fi
;;
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=sco
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test yes = "$with_gnu_ld"; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -8237,24 +13256,142 @@ uts4*)
dynamic_linker=no
;;
esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
-test "$dynamic_linker" = no && can_build_shared=no
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+printf "%s\n" "$dynamic_linker" >&6; }
+test no = "$dynamic_linker" && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test yes = "$GCC"; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+ sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
+fi
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+ sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
+fi
+
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+printf %s "checking how to hardcode library paths into programs... " >&6; }
hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" || \
- test -n "$runpath_var" || \
- test "X$hardcode_automatic" = "Xyes" ; then
+if test -n "$hardcode_libdir_flag_spec" ||
+ test -n "$runpath_var" ||
+ test yes = "$hardcode_automatic"; then
- # We can hardcode non-existant directories.
- if test "$hardcode_direct" != no &&
+ # We can hardcode non-existent directories.
+ if test no != "$hardcode_direct" &&
# If the only mechanism to avoid hardcoding is shlibpath_var, we
# have to relink, otherwise we might link with an installed library
# when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
+ ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&
+ test no != "$hardcode_minus_L"; then
# Linking always hardcodes the temporary library directory.
hardcode_action=relink
else
@@ -8266,48 +13403,25 @@ else
# directories.
hardcode_action=unsupported
fi
-echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
+printf "%s\n" "$hardcode_action" >&6; }
-if test "$hardcode_action" = relink; then
+if test relink = "$hardcode_action" ||
+ test yes = "$inherit_rpath"; then
# Fast installation is not supported
enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
+elif test yes = "$shlibpath_overrides_runpath" ||
+ test no = "$enable_shared"; then
# Fast installation is not necessary
enable_fast_install=needless
fi
-striplib=
-old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
- ;;
- *)
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- ;;
- esac
-fi
-if test "x$enable_dlopen" != xyes; then
+
+
+
+
+ if test yes != "$enable_dlopen"; then
enable_dlopen=unknown
enable_dlopen_self=unknown
enable_dlopen_self_static=unknown
@@ -8317,553 +13431,245 @@ else
case $host_os in
beos*)
- lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen=load_add_on
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
;;
- mingw* | pw32*)
- lt_cv_dlopen="LoadLibrary"
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen=LoadLibrary
lt_cv_dlopen_libs=
- ;;
+ ;;
cygwin*)
- lt_cv_dlopen="dlopen"
+ lt_cv_dlopen=dlopen
lt_cv_dlopen_libs=
- ;;
+ ;;
darwin*)
- # if libdl is installed we need to link against it
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+ # if libdl is installed we need to link against it
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+printf %s "checking for dlopen in -ldl... " >&6; }
+if test ${ac_cv_lib_dl_dlopen+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
char dlopen ();
int
-main ()
+main (void)
{
-dlopen ();
+return dlopen ();
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_lib_dl_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dl_dlopen=no
+else $as_nop
+ ac_cv_lib_dl_dlopen=no
fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes
+then :
+ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
+else $as_nop
- lt_cv_dlopen="dyld"
+ lt_cv_dlopen=dyld
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
fi
- ;;
-
- *)
- echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
-if test "${ac_cv_func_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define shl_load innocuous_shl_load
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char shl_load (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef shl_load
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char shl_load ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
-choke me
-#else
-char (*f) () = shl_load;
-#endif
-#ifdef __cplusplus
-}
-#endif
+ ;;
-int
-main ()
-{
-return f != shl_load;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_shl_load=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ tpf*)
+ # Don't try to run any link tests for TPF. We know it's impossible
+ # because TPF is a cross-compiler, and we know how we open DSOs.
+ lt_cv_dlopen=dlopen
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=no
+ ;;
-ac_cv_func_shl_load=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6
-if test $ac_cv_func_shl_load = yes; then
- lt_cv_dlopen="shl_load"
-else
- echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+ *)
+ ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
+if test "x$ac_cv_func_shl_load" = xyes
+then :
+ lt_cv_dlopen=shl_load
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+printf %s "checking for shl_load in -ldld... " >&6; }
+if test ${ac_cv_lib_dld_shl_load+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
char shl_load ();
int
-main ()
+main (void)
{
-shl_load ();
+return shl_load ();
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_lib_dld_shl_load=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dld_shl_load=no
+else $as_nop
+ ac_cv_lib_dld_shl_load=no
fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
-if test $ac_cv_lib_dld_shl_load = yes; then
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
-else
- echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
-if test "${ac_cv_func_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define dlopen innocuous_dlopen
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char dlopen (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef dlopen
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_dlopen) || defined (__stub___dlopen)
-choke me
-#else
-char (*f) () = dlopen;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != dlopen;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6
-if test $ac_cv_func_dlopen = yes; then
- lt_cv_dlopen="dlopen"
-else
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
+printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = xyes
+then :
+ lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
+else $as_nop
+ ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = xyes
+then :
+ lt_cv_dlopen=dlopen
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+printf %s "checking for dlopen in -ldl... " >&6; }
+if test ${ac_cv_lib_dl_dlopen+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
char dlopen ();
int
-main ()
+main (void)
{
-dlopen ();
+return dlopen ();
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_lib_dl_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dl_dlopen=no
+else $as_nop
+ ac_cv_lib_dl_dlopen=no
fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes
+then :
+ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+printf %s "checking for dlopen in -lsvld... " >&6; }
+if test ${ac_cv_lib_svld_dlopen+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-lsvld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
char dlopen ();
int
-main ()
+main (void)
{
-dlopen ();
+return dlopen ();
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_lib_svld_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_svld_dlopen=no
+else $as_nop
+ ac_cv_lib_svld_dlopen=no
fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
-if test $ac_cv_lib_svld_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
+printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = xyes
+then :
+ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+printf %s "checking for dld_link in -ldld... " >&6; }
+if test ${ac_cv_lib_dld_dld_link+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
char dld_link ();
int
-main ()
+main (void)
{
-dld_link ();
+return dld_link ();
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_lib_dld_dld_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dld_dld_link=no
+else $as_nop
+ ac_cv_lib_dld_dld_link=no
fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
-if test $ac_cv_lib_dld_dld_link = yes; then
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
+printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = xyes
+then :
+ lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
fi
@@ -8884,35 +13690,36 @@ fi
;;
esac
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
+ if test no = "$lt_cv_dlopen"; then
enable_dlopen=no
+ else
+ enable_dlopen=yes
fi
case $lt_cv_dlopen in
dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+ save_CPPFLAGS=$CPPFLAGS
+ test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
- save_LDFLAGS="$LDFLAGS"
- eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+ save_LDFLAGS=$LDFLAGS
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
- save_LIBS="$LIBS"
+ save_LIBS=$LIBS
LIBS="$lt_cv_dlopen_libs $LIBS"
- echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
-if test "${lt_cv_dlopen_self+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
+printf %s "checking whether a program can dlopen itself... " >&6; }
+if test ${lt_cv_dlopen_self+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test yes = "$cross_compiling"; then :
lt_cv_dlopen_self=cross
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-#line 8915 "configure"
+ cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -8953,11 +13760,13 @@ else
# endif
#endif
-#ifdef __cplusplus
-extern "C" void exit (int);
+/* When -fvisibility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
#endif
-void fnord() { int i=42;}
+int fnord () { return 42; }
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
@@ -8966,24 +13775,30 @@ int main ()
if (self)
{
if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
/* dlclose (self); */
}
+ else
+ puts (dlerror ());
- exit (status);
+ return status;
}
-EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+_LT_EOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) 2>/dev/null
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
case x$lt_status in
x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_unknown|x*) lt_cv_dlopen_self=no ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
esac
else :
# compilation failed
@@ -8994,23 +13809,24 @@ rm -fr conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
+printf "%s\n" "$lt_cv_dlopen_self" >&6; }
- if test "x$lt_cv_dlopen_self" = xyes; then
- LDFLAGS="$LDFLAGS $link_static_flag"
- echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
-if test "${lt_cv_dlopen_self_static+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then :
+ if test yes = "$lt_cv_dlopen_self"; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
+printf %s "checking whether a statically linked program can dlopen itself... " >&6; }
+if test ${lt_cv_dlopen_self_static+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test yes = "$cross_compiling"; then :
lt_cv_dlopen_self_static=cross
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-#line 9013 "configure"
+ cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -9051,11 +13867,13 @@ else
# endif
#endif
-#ifdef __cplusplus
-extern "C" void exit (int);
+/* When -fvisibility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
#endif
-void fnord() { int i=42;}
+int fnord () { return 42; }
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
@@ -9064,24 +13882,30 @@ int main ()
if (self)
{
if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
/* dlclose (self); */
}
+ else
+ puts (dlerror ());
- exit (status);
+ return status;
}
-EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+_LT_EOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) 2>/dev/null
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
case x$lt_status in
x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
esac
else :
# compilation failed
@@ -9092,13 +13916,13 @@ rm -fr conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
+printf "%s\n" "$lt_cv_dlopen_self_static" >&6; }
fi
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
+ CPPFLAGS=$save_CPPFLAGS
+ LDFLAGS=$save_LDFLAGS
+ LIBS=$save_LIBS
;;
esac
@@ -9114,715 +13938,1056 @@ echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
fi
-# Report which librarie types wil actually be built
-echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6
-echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
-test "$can_build_shared" = "no" && enable_shared=no
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case "$host_os" in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-aix4* | aix5*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6
-
-echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler \
- CC \
- LD \
- lt_prog_compiler_wl \
- lt_prog_compiler_pic \
- lt_prog_compiler_static \
- lt_prog_compiler_no_builtin_flag \
- export_dynamic_flag_spec \
- thread_safe_flag_spec \
- whole_archive_flag_spec \
- enable_shared_with_static_runtimes \
- old_archive_cmds \
- old_archive_from_new_cmds \
- predep_objects \
- postdep_objects \
- predeps \
- postdeps \
- compiler_lib_search_path \
- archive_cmds \
- archive_expsym_cmds \
- postinstall_cmds \
- postuninstall_cmds \
- old_archive_from_expsyms_cmds \
- allow_undefined_flag \
- no_undefined_flag \
- export_symbols_cmds \
- hardcode_libdir_flag_spec \
- hardcode_libdir_flag_spec_ld \
- hardcode_libdir_separator \
- hardcode_automatic \
- module_cmds \
- module_expsym_cmds \
- lt_cv_prog_compiler_c_o \
- exclude_expsyms \
- include_expsyms; do
-
- case $var in
- old_archive_cmds | \
- old_archive_from_new_cmds | \
- archive_cmds | \
- archive_expsym_cmds | \
- module_cmds | \
- module_expsym_cmds | \
- old_archive_from_expsyms_cmds | \
- export_symbols_cmds | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-cfgfile="${ofile}T"
- trap "$rm \"$cfgfile\"; exit 1" 1 2 15
- $rm -f "$cfgfile"
- { echo "$as_me:$LINENO: creating $ofile" >&5
-echo "$as_me: creating $ofile" >&6;}
- cat <<__EOF__ >> "$cfgfile"
-#! $SHELL
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-# A sed program that does not truncate output.
-SED=$lt_SED
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e 1s/^X//"
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-# The names of the tagged configurations supported by this script.
-available_tags=
-# ### BEGIN LIBTOOL CONFIG
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
+striplib=
+old_striplib=
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+printf %s "checking whether stripping libraries is possible... " >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP"; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+ fi
+ ;;
+ *)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+ ;;
+ esac
+fi
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-# A C compiler.
-LTCC=$lt_LTCC
-# A language-specific compiler.
-CC=$lt_compiler
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC
-# An ERE matcher.
-EGREP=$lt_EGREP
+ # Report what library types will actually be built
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+printf %s "checking if libtool supports shared libraries... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+printf "%s\n" "$can_build_shared" >&6; }
-# The linker used to build libraries.
-LD=$lt_LD
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
+printf %s "checking whether to build shared libraries... " >&6; }
+ test no = "$can_build_shared" && enable_shared=no
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test yes = "$enable_shared" && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
-# A BSD-compatible nm program.
-NM=$lt_NM
+ aix[4-9]*)
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
+ fi
+ ;;
+ esac
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
+printf "%s\n" "$enable_shared" >&6; }
-# A symbol stripping program
-STRIP=$lt_STRIP
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
+printf %s "checking whether to build static libraries... " >&6; }
+ # Make sure either enable_shared or enable_static is yes.
+ test yes = "$enable_shared" || enable_static=yes
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
+printf "%s\n" "$enable_static" >&6; }
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-# Used on cygwin: assembler.
-AS="$AS"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
+CC=$lt_save_CC
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-# Object file suffix (normally "o").
-objext="$ac_objext"
-# Old archive suffix (normally "a").
-libext="$libext"
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-# Executable file suffix (normally "").
-exeext="$exeext"
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-pic_mode=$pic_mode
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-# Do we need a version for libraries?
-need_version=$need_version
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
+ ac_config_commands="$ac_config_commands libtool"
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
+# Only expand once:
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec
-# Library versioning type.
-version_type=$version_type
+# By default we simply use the C compiler to build assembly code.
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
+test "${CCAS+set}" = set || CCAS=$CC
+test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
+depcc="$CCAS" am_compiler_list=
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+printf %s "checking dependency style of $depcc... " >&6; }
+if test ${am_cv_CCAS_dependencies_compiler_type+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+ am_cv_CCAS_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CCAS_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CCAS_dependencies_compiler_type=none
+fi
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
+printf "%s\n" "$am_cv_CCAS_dependencies_compiler_type" >&6; }
+CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
+ am__fastdepCCAS_TRUE=
+ am__fastdepCCAS_FALSE='#'
+else
+ am__fastdepCCAS_TRUE='#'
+ am__fastdepCCAS_FALSE=
+fi
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+ if test -n "$CCC"; then
+ CXX=$CCC
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CXX+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$CXX"; then
+ ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
+printf "%s\n" "$CXX" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+ test -n "$CXX" && break
+ done
+fi
+if test -z "$CXX"; then
+ ac_ct_CXX=$CXX
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CXX+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_CXX"; then
+ ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CXX="$ac_prog"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
+printf "%s\n" "$ac_ct_CXX" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+ test -n "$ac_ct_CXX" && break
+done
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
+ if test "x$ac_ct_CXX" = x; then
+ CXX="g++"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CXX=$ac_ct_CXX
+ fi
+fi
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
+ fi
+fi
+# Provide some information about the compiler.
+printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5
+printf %s "checking whether the compiler supports GNU C++... " >&6; }
+if test ${ac_cv_cxx_compiler_gnu+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+int
+main (void)
+{
+#ifndef __GNUC__
+ choke me
+#endif
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"
+then :
+ ac_compiler_gnu=yes
+else $as_nop
+ ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
+printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; }
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L
+if test $ac_compiler_gnu = yes; then
+ GXX=yes
+else
+ GXX=
+fi
+ac_test_CXXFLAGS=${CXXFLAGS+y}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
+printf %s "checking whether $CXX accepts -g... " >&6; }
+if test ${ac_cv_prog_cxx_g+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ ac_cxx_werror_flag=yes
+ ac_cv_prog_cxx_g=no
+ CXXFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
+int
+main (void)
+{
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"
+then :
+ ac_cv_prog_cxx_g=yes
+else $as_nop
+ CXXFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
+int
+main (void)
+{
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"
+then :
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+else $as_nop
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+int
+main (void)
+{
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path"
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"
+then :
+ ac_cv_prog_cxx_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
+printf "%s\n" "$ac_cv_prog_cxx_g" >&6; }
+if test $ac_test_CXXFLAGS; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
+ac_prog_cxx_stdcxx=no
+if test x$ac_prog_cxx_stdcxx = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5
+printf %s "checking for $CXX option to enable C++11 features... " >&6; }
+if test ${ac_cv_prog_cxx_11+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_cv_prog_cxx_11=no
+ac_save_CXX=$CXX
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_cxx_conftest_cxx11_program
+_ACEOF
+for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA
+do
+ CXX="$ac_save_CXX $ac_arg"
+ if ac_fn_cxx_try_compile "$LINENO"
+then :
+ ac_cv_prog_cxx_cxx11=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+ test "x$ac_cv_prog_cxx_cxx11" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CXX=$ac_save_CXX
+fi
+
+if test "x$ac_cv_prog_cxx_cxx11" = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+ if test "x$ac_cv_prog_cxx_cxx11" = x
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5
+printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; }
+ CXX="$CXX $ac_cv_prog_cxx_cxx11"
+fi
+ ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11
+ ac_prog_cxx_stdcxx=cxx11
+fi
+fi
+if test x$ac_prog_cxx_stdcxx = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5
+printf %s "checking for $CXX option to enable C++98 features... " >&6; }
+if test ${ac_cv_prog_cxx_98+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_cv_prog_cxx_98=no
+ac_save_CXX=$CXX
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_cxx_conftest_cxx98_program
+_ACEOF
+for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA
+do
+ CXX="$ac_save_CXX $ac_arg"
+ if ac_fn_cxx_try_compile "$LINENO"
+then :
+ ac_cv_prog_cxx_cxx98=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+ test "x$ac_cv_prog_cxx_cxx98" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CXX=$ac_save_CXX
+fi
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols
+if test "x$ac_cv_prog_cxx_cxx98" = xno
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+ if test "x$ac_cv_prog_cxx_cxx98" = x
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5
+printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; }
+ CXX="$CXX $ac_cv_prog_cxx_cxx98"
+fi
+ ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98
+ ac_prog_cxx_stdcxx=cxx98
+fi
+fi
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
+depcc="$CXX" am_compiler_list=
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+printf %s "checking dependency style of $depcc... " >&6; }
+if test ${am_cv_CXX_dependencies_compiler_type+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
+ am_cv_CXX_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
-# ### END LIBTOOL CONFIG
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-__EOF__
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CXX_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CXX_dependencies_compiler_type=none
+fi
- case $host_os in
- aix3*)
- cat <<\EOF >> "$cfgfile"
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
+printf "%s\n" "$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+ am__fastdepCXX_TRUE=
+ am__fastdepCXX_FALSE='#'
+else
+ am__fastdepCXX_TRUE='#'
+ am__fastdepCXX_FALSE=
fi
-EOF
- ;;
- esac
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
- mv -f "$cfgfile" "$ofile" || \
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
+
+func_stripname_cnf ()
+{
+ case $2 in
+ .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;;
+ *) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;;
+ esac
+} # func_stripname_cnf
+
+ if test -n "$CXX" && ( test no != "$CXX" &&
+ ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
+ (test g++ != "$CXX"))); then
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
+printf %s "checking how to run the C++ preprocessor... " >&6; }
+if test -z "$CXXCPP"; then
+ if test ${ac_cv_prog_CXXCPP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ # Double quotes because $CXX needs to be expanded
+ for CXXCPP in "$CXX -E" cpp /lib/cpp
+ do
+ ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+ Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"
+then :
+
+else $as_nop
+ # Broken: fails on valid input.
+continue
fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"
+then :
+ # Broken: success on invalid input.
+continue
+else $as_nop
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok
+then :
+ break
+fi
-CC="$lt_save_CC"
+ done
+ ac_cv_prog_CXXCPP=$CXXCPP
+fi
+ CXXCPP=$ac_cv_prog_CXXCPP
+else
+ ac_cv_prog_CXXCPP=$CXXCPP
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
+printf "%s\n" "$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+ Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"
+then :
-# Check whether --with-tags or --without-tags was given.
-if test "${with_tags+set}" = set; then
- withval="$with_tags"
- tagnames="$withval"
-fi;
+else $as_nop
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
-if test -f "$ltmain" && test -n "$tagnames"; then
- if test ! -f "${ofile}"; then
- { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
- fi
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"
+then :
+ # Broken: success on invalid input.
+continue
+else $as_nop
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
- if test -z "$LTCC"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
- if test -z "$LTCC"; then
- { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
- else
- { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
-echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
- fi
- fi
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok
+then :
- # Extract list of available tagged configurations in $ofile.
- # Note that this assumes the entire list is on one line.
- available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
-
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for tagname in $tagnames; do
- IFS="$lt_save_ifs"
- # Check whether tagname contains only valid characters
- case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in
- "") ;;
- *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
-echo "$as_me: error: invalid tag name: $tagname" >&2;}
- { (exit 1); exit 1; }; }
- ;;
- esac
+else $as_nop
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
- then
- { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
-echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
- { (exit 1); exit 1; }; }
- fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
- # Update the list of available tags.
- if test -n "$tagname"; then
- echo appending configuration tag \"$tagname\" to $ofile
+else
+ _lt_caught_CXX_error=yes
+fi
- case $tagname in
- CXX)
- if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- ac_ext=cc
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
archive_cmds_need_lc_CXX=no
allow_undefined_flag_CXX=
always_export_symbols_CXX=no
archive_expsym_cmds_CXX=
+compiler_needs_object_CXX=no
export_dynamic_flag_spec_CXX=
hardcode_direct_CXX=no
+hardcode_direct_absolute_CXX=no
hardcode_libdir_flag_spec_CXX=
-hardcode_libdir_flag_spec_ld_CXX=
hardcode_libdir_separator_CXX=
hardcode_minus_L_CXX=no
+hardcode_shlibpath_var_CXX=unsupported
hardcode_automatic_CXX=no
+inherit_rpath_CXX=no
module_cmds_CXX=
module_expsym_cmds_CXX=
link_all_deplibs_CXX=unknown
old_archive_cmds_CXX=$old_archive_cmds
+reload_flag_CXX=$reload_flag
+reload_cmds_CXX=$reload_cmds
no_undefined_flag_CXX=
whole_archive_flag_spec_CXX=
enable_shared_with_static_runtimes_CXX=no
-# Dependencies to place before and after the object being linked:
-predep_objects_CXX=
-postdep_objects_CXX=
-predeps_CXX=
-postdeps_CXX=
-compiler_lib_search_path_CXX=
-
# Source file extension for C++ test sources.
-ac_ext=cc
+ac_ext=cpp
# Object file extension for compiled C++ test sources.
objext=o
objext_CXX=$objext
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test yes != "$_lt_caught_CXX_error"; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="int some_variable = 0;"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+
+
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *) { return(0); }\n'
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
# Allow CC to be a program name with arguments.
compiler=$CC
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+ # save warnings/boilerplate of simple test code
+ ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
+$RM conftest*
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+ ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$RM -r conftest*
+
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_CFLAGS=$CFLAGS
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+ lt_save_with_gnu_ld=$with_gnu_ld
+ lt_save_path_LD=$lt_cv_path_LD
+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+ else
+ $as_unset lt_cv_prog_gnu_ld
+ fi
+ if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+ else
+ $as_unset lt_cv_path_LD
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
+ CFLAGS=$CXXFLAGS
+ compiler=$CC
+ compiler_CXX=$CC
+ func_cc_basename $compiler
+cc_basename=$func_cc_basename_result
+
+
+ if test -n "$compiler"; then
+ # We don't want -fno-exception when compiling C++ code, so set the
+ # no_builtin_flag separately
+ if test yes = "$GXX"; then
+ lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
+ else
+ lt_prog_compiler_no_builtin_flag_CXX=
+ fi
+ if test yes = "$GXX"; then
+ # Set up default GNU C++ configuration
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
- unset lt_cv_prog_gnu_ld
-fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
- lt_cv_path_LD=$lt_cv_path_LDCXX
-else
- unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-compiler_CXX=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
- lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
-else
- lt_prog_compiler_no_builtin_flag_CXX=
+# Check whether --with-gnu-ld was given.
+if test ${with_gnu_ld+y}
+then :
+ withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
+else $as_nop
+ with_gnu_ld=no
fi
-if test "$GXX" = yes; then
- # Set up default GNU C++ configuration
-
-
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi;
ac_prog=ld
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
# Check if gcc -print-prog-name=ld gives a path.
- echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+printf %s "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
+ # gcc leaves a trailing carriage return, which upsets mingw
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
*)
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
@@ -9832,11 +14997,11 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
[\\/]* | ?:[\\/]*)
re_direlt='/[^/][^/]*/\.\./'
# Canonicalize the pathname of ld
- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
done
- test -z "$LD" && LD="$ac_prog"
+ test -z "$LD" && LD=$ac_prog
;;
"")
# If it fails, then pretend we aren't using GCC.
@@ -9847,59 +15012,59 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
with_gnu_ld=unknown
;;
esac
-elif test "$with_gnu_ld" = yes; then
- echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+elif test yes = "$with_gnu_ld"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+printf %s "checking for GNU ld... " >&6; }
else
- echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+printf %s "checking for non-GNU ld... " >&6; }
fi
-if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+if test ${lt_cv_path_LD+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
+ lt_cv_path_LD=$ac_dir/$ac_prog
# Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
+ # but apparently some variants of GNU ld only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer.
case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
+ test no != "$with_gnu_ld" && break
;;
*)
- test "$with_gnu_ld" != yes && break
+ test yes != "$with_gnu_ld" && break
;;
esac
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
+ lt_cv_path_LD=$LD # Let the user override the test with a path.
fi
fi
-LD="$lt_cv_path_LD"
+LD=$lt_cv_path_LD
if test -n "$LD"; then
- echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
- { (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # I'd rather use --version here, but apparently some GNU ld's only accept -v.
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+printf "%s\n" "$LD" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+printf %s "checking if the linker ($LD) is GNU ld... " >&6; }
+if test ${lt_cv_prog_gnu_ld+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
lt_cv_prog_gnu_ld=yes
@@ -9909,953 +15074,1157 @@ case `$LD -v 2>&1 </dev/null` in
;;
esac
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
- # Check if GNU C++ uses GNU ld as the underlying linker, since the
- # archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- # If archive_cmds runs LD, not CC, wlarc should be empty
- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
- # investigate it a little bit more. (MM)
- wlarc='${wl}'
-
- # ancient GNU ld didn't support --whole-archive et. al.
- if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
- grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec_CXX=
- fi
- else
- with_gnu_ld=no
- wlarc=
-
- # A generic and very simple default shared library creation
- # command for GNU C++ for the case where it uses the native
- # linker, instead of GNU ld. If possible, this setting should
- # overridden to take advantage of the native linker features on
- # the platform it is being used on.
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- fi
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-else
- GXX=no
- with_gnu_ld=no
- wlarc=
-fi
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test yes = "$with_gnu_ld"; then
+ archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-# PORTME: fill in a description of your system's C++ link characteristics
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
-ld_shlibs_CXX=yes
-case $host_os in
- aix3*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
- for ld_flag in $LDFLAGS; do
- case $ld_flag in
- *-brtl*)
- aix_use_runtimelinking=yes
- break
- ;;
- esac
- done
- esac
+ hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
+ export_dynamic_flag_spec_CXX='$wl--export-dynamic'
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='$wl'
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds_CXX=''
- hardcode_direct_CXX=yes
- hardcode_libdir_separator_CXX=':'
- link_all_deplibs_CXX=yes
-
- if test "$GXX" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- hardcode_direct_CXX=yes
- else
- # We have old collect2
- hardcode_direct_CXX=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L_CXX=yes
- hardcode_libdir_flag_spec_CXX='-L$libdir'
- hardcode_libdir_separator_CXX=
- fi
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+ $GREP 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+ else
+ whole_archive_flag_spec_CXX=
+ fi
else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
+
+ else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
fi
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols_CXX=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag_CXX='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ # PORTME: fill in a description of your system's C++ link characteristics
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+ ld_shlibs_CXX=yes
+ case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aix[4-9]*)
+ if test ia64 = "$host_cpu"; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # have runtime linking enabled, and use it for executables.
+ # For shared libraries, we enable/disable runtime linking
+ # depending on the kind of the shared library created -
+ # when "with_aix_soname,aix_use_runtimelinking" is:
+ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
+ # "aix,yes" lib.so shared, rtl:yes, for executables
+ # lib.a static archive
+ # "both,no" lib.so.V(shr.o) shared, rtl:yes
+ # lib.a(lib.so.V) shared, rtl:no, for executables
+ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a(lib.so.V) shared, rtl:no
+ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a static archive
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # With aix-soname=svr4, we create the lib.so.V shared archives only,
+ # so we don't have lib.a shared libs to link our executables.
+ # We have to force runtime linking in this case.
+ aix_use_runtimelinking=yes
+ LDFLAGS="$LDFLAGS -Wl,-brtl"
+ fi
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds_CXX=''
+ hardcode_direct_CXX=yes
+ hardcode_direct_absolute_CXX=yes
+ hardcode_libdir_separator_CXX=':'
+ link_all_deplibs_CXX=yes
+ file_list_spec_CXX='$wl-f,'
+ case $with_aix_soname,$aix_use_runtimelinking in
+ aix,*) ;; # no import file
+ svr4,* | *,yes) # use import file
+ # The Import File defines what to hardcode.
+ hardcode_direct_CXX=no
+ hardcode_direct_absolute_CXX=no
+ ;;
+ esac
+
+ if test yes = "$GXX"; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`$CC -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ hardcode_direct_CXX=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L_CXX=yes
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ hardcode_libdir_separator_CXX=
+ fi
+ esac
+ shared_flag='-shared'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag=$shared_flag' $wl-G'
+ fi
+ # Need to ensure runtime linking is disabled for the traditional
+ # shared library, or the linker may eventually find shared libraries
+ # /with/ Import File - we do not want to mix them.
+ shared_flag_aix='-shared'
+ shared_flag_svr4='-shared $wl-G'
+ else
+ # not using gcc
+ if test ia64 = "$host_cpu"; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag='$wl-G'
+ else
+ shared_flag='$wl-bM:SRE'
+ fi
+ shared_flag_aix='$wl-bM:SRE'
+ shared_flag_svr4='$wl-G'
+ fi
+ fi
+
+ export_dynamic_flag_spec_CXX='$wl-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to
+ # export.
+ always_export_symbols_CXX=yes
+ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ # The "-G" linker flag allows undefined symbols.
+ no_undefined_flag_CXX='-bernotok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ if test set = "${lt_cv_aix_libpath+set}"; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if test ${lt_cv_aix_libpath__CXX+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_cxx_try_link "$LINENO"
+then :
+
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath__CXX"; then
+ lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath__CXX"; then
+ lt_cv_aix_libpath__CXX=/usr/lib:/lib
+ fi
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+fi
+ aix_libpath=$lt_cv_aix_libpath__CXX
fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
- hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+ hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag_CXX="-z nodefs"
- archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
+ else
+ if test ia64 = "$host_cpu"; then
+ hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag_CXX="-z nodefs"
+ archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ if test set = "${lt_cv_aix_libpath+set}"; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if test ${lt_cv_aix_libpath__CXX+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
+if ac_fn_cxx_try_link "$LINENO"
+then :
+
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath__CXX"; then
+ lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath__CXX"; then
+ lt_cv_aix_libpath__CXX=/usr/lib:/lib
+ fi
- hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag_CXX=' ${wl}-bernotok'
- allow_undefined_flag_CXX=' ${wl}-berok'
- # -bexpall does not export symbols beginning with underscore (_)
- always_export_symbols_CXX=yes
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_CXX=' '
- archive_cmds_need_lc_CXX=yes
- # This is similar to how AIX traditionally builds it's shared libraries.
- archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
- chorus*)
- case $cc_basename in
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
+fi
+ aix_libpath=$lt_cv_aix_libpath__CXX
+fi
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec_CXX='-L$libdir'
- allow_undefined_flag_CXX=unsupported
- always_export_symbols_CXX=no
- enable_shared_with_static_runtimes_CXX=yes
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
- else
- ld_shlibs_CXX=no
- fi
- ;;
- darwin* | rhapsody*)
- case "$host_os" in
- rhapsody* | darwin1.[012])
- allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- archive_cmds_need_lc_CXX=no
- hardcode_direct_CXX=no
- hardcode_automatic_CXX=yes
- hardcode_shlibpath_var_CXX=unsupported
- whole_archive_flag_spec_CXX=''
- link_all_deplibs_CXX=yes
-
- if test "$GXX" = yes ; then
- lt_int_apple_cc_single_mod=no
- output_verbose_link_cmd='echo'
- if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
- lt_int_apple_cc_single_mod=yes
- fi
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- else
- archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- fi
- module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag_CXX=' $wl-bernotok'
+ allow_undefined_flag_CXX=' $wl-berok'
+ if test yes = "$with_gnu_ld"; then
+ # We only use this code for GNU lds that support --whole-archive.
+ whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec_CXX='$convenience'
+ fi
+ archive_cmds_need_lc_CXX=yes
+ archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+ # -brtl affects multiple linker settings, -berok does not and is overridden later
+ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
+ if test svr4 != "$with_aix_soname"; then
+ # This is similar to how AIX traditionally builds its shared
+ # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
+ archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+ fi
+ if test aix != "$with_aix_soname"; then
+ archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+ else
+ # used by -dlpreopen to get the symbols
+ archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
+ fi
+ archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d'
fi
- module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
- module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs_CXX=no
- ;;
- esac
- fi
+ fi
;;
- dgux*)
- case $cc_basename in
- ec++*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag_CXX=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ else
+ ld_shlibs_CXX=no
+ fi
;;
- esac
- ;;
- freebsd[12]*)
- # C++ shared libraries reported to be fairly broken before switch to ELF
- ld_shlibs_CXX=no
- ;;
- freebsd-elf*)
- archive_cmds_need_lc_CXX=no
- ;;
- freebsd* | kfreebsd*-gnu | dragonfly*)
- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
- # conventions
- ld_shlibs_CXX=yes
- ;;
- gnu*)
- ;;
- hpux9*)
- hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
- export_dynamic_flag_spec_CXX='${wl}-E'
- hardcode_direct_CXX=yes
- hardcode_minus_L_CXX=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- aCC*)
- archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- fi
- ;;
- esac
- ;;
- hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- case "$host_cpu" in
- hppa*64*)
- hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld_CXX='+b $libdir'
- hardcode_libdir_separator_CXX=:
- ;;
- ia64*)
- hardcode_libdir_flag_spec_CXX='-L$libdir'
- ;;
- *)
- hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
- export_dynamic_flag_spec_CXX='${wl}-E'
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
;;
- esac
- fi
- case "$host_cpu" in
- hppa*64*)
- hardcode_direct_CXX=no
- hardcode_shlibpath_var_CXX=no
- ;;
- ia64*)
- hardcode_direct_CXX=no
- hardcode_shlibpath_var_CXX=no
- hardcode_minus_L_CXX=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- *)
- hardcode_direct_CXX=yes
- hardcode_minus_L_CXX=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- esac
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- aCC*)
- case "$host_cpu" in
- hppa*64*|ia64*)
- archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $GXX,$cc_basename in
+ ,cl* | no,cl*)
+ # Native MSVC
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec_CXX=' '
+ allow_undefined_flag_CXX=unsupported
+ always_export_symbols_CXX=yes
+ file_list_spec_CXX='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=.dll
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+ archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
+ cp "$export_symbols" "$output_objdir/$soname.def";
+ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+ else
+ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true'
+ enable_shared_with_static_runtimes_CXX=yes
+ # Don't use ranlib
+ old_postinstall_cmds_CXX='chmod 644 $oldlib'
+ postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile=$lt_outputfile.exe
+ lt_tool_outputfile=$lt_tool_outputfile.exe
+ ;;
+ esac~
+ func_to_tool_file "$lt_outputfile"~
+ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
;;
*)
- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
- case "$host_cpu" in
- ia64*|hppa*64*)
- archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
- ;;
- *)
- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- fi
- else
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- fi
- ;;
- esac
- ;;
- irix5* | irix6*)
- case $cc_basename in
- CC*)
- # SGI C++
- archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- # Archives containing C++ object files must be created using
- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
- ;;
- *)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # g++
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ export_dynamic_flag_spec_CXX='$wl--export-all-symbols'
+ allow_undefined_flag_CXX=unsupported
+ always_export_symbols_CXX=no
+ enable_shared_with_static_runtimes_CXX=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file, use it as
+ # is; otherwise, prepend EXPORTS...
+ archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
+ ld_shlibs_CXX=no
fi
- fi
- link_all_deplibs_CXX=yes
- ;;
- esac
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
- ;;
- linux*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
- hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
- ;;
- icpc*)
- # Intel C++
- with_gnu_ld=yes
- # version 8.0 and above of icpc choke on multiply defined symbols
- # if we add $predep_objects and $postdep_objects, however 7.1 and
- # earlier do not add the objects themselves.
- case `$CC -V 2>&1` in
- *"Version 7."*)
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- *) # Version 8.0 or newer
- tmp_idyn=
- case $host_cpu in
- ia64*) tmp_idyn=' -i_dynamic';;
- esac
- archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
;;
esac
- archive_cmds_need_lc_CXX=no
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
;;
- pgCC*)
- # Portland Group C++ compiler
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- whole_archive_flag_spec_CXX=''
- ;;
- cxx*)
- # Compaq C++
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+ darwin* | rhapsody*)
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec_CXX='-rpath $libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- esac
- ;;
- lynxos*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- m88k*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
- wlarc=
- hardcode_libdir_flag_spec_CXX='-R$libdir'
- hardcode_direct_CXX=yes
- hardcode_shlibpath_var_CXX=no
- fi
- # Workaround some broken pre-1.5 toolchains
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
- ;;
- openbsd2*)
- # C++ shared libraries are fairly broken
- ld_shlibs_CXX=no
- ;;
- openbsd*)
- hardcode_direct_CXX=yes
- hardcode_shlibpath_var_CXX=no
- archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- export_dynamic_flag_spec_CXX='${wl}-E'
- whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- fi
- output_verbose_link_cmd='echo'
- ;;
- osf3*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ archive_cmds_need_lc_CXX=no
+ hardcode_direct_CXX=no
+ hardcode_automatic_CXX=yes
+ hardcode_shlibpath_var_CXX=unsupported
+ if test yes = "$lt_cv_ld_force_load"; then
+ whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- hardcode_libdir_separator_CXX=:
+ else
+ whole_archive_flag_spec_CXX=''
+ fi
+ link_all_deplibs_CXX=yes
+ allow_undefined_flag_CXX=$_lt_dar_allow_undefined
+ case $cc_basename in
+ ifort*|nagfor*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test yes = "$_lt_dar_can_shared"; then
+ output_verbose_link_cmd=func_echo_all
+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+ archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+ module_expsym_cmds_CXX="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
+ if test yes != "$lt_cv_apple_cc_single_mod"; then
+ archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
+ archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
+ fi
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+ else
+ ld_shlibs_CXX=no
+ fi
;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- cxx*)
- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+
+ os2*)
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ hardcode_minus_L_CXX=yes
+ allow_undefined_flag_CXX=unsupported
+ shrext_cmds=.dll
+ archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ enable_shared_with_static_runtimes_CXX=yes
;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+ freebsd2.*)
+ # C++ shared libraries reported to be fairly broken before
+ # switch to ELF
+ ld_shlibs_CXX=no
+ ;;
- else
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- fi
- ;;
- esac
- ;;
- osf4* | osf5*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
+ freebsd-elf*)
+ archive_cmds_need_lc_CXX=no
+ ;;
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ freebsd* | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ ld_shlibs_CXX=yes
+ ;;
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- hardcode_libdir_separator_CXX=:
+ haiku*)
+ archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ link_all_deplibs_CXX=yes
+ ;;
- # Archives containing C++ object files must be created using
- # the KAI C++ compiler.
- old_archive_cmds_CXX='$CC -o $oldlib $oldobjs'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- cxx*)
- allow_undefined_flag_CXX=' -expect_unresolved \*'
- archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
- $rm $lib.exp'
-
- hardcode_libdir_flag_spec_CXX='-rpath $libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hpux9*)
+ hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'
+ hardcode_libdir_separator_CXX=:
+ export_dynamic_flag_spec_CXX='$wl-E'
+ hardcode_direct_CXX=yes
+ hardcode_minus_L_CXX=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aCC*)
+ archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test yes = "$GXX"; then
+ archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hpux10*|hpux11*)
+ if test no = "$with_gnu_ld"; then
+ hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'
hardcode_libdir_separator_CXX=:
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ export_dynamic_flag_spec_CXX='$wl-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ ;;
+ *)
+ hardcode_direct_CXX=yes
+ hardcode_direct_absolute_CXX=yes
+ hardcode_minus_L_CXX=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
- else
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- fi
- ;;
- esac
- ;;
- psos*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- sco*)
- archive_cmds_need_lc_CXX=no
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aCC*)
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test yes = "$GXX"; then
+ if test no = "$with_gnu_ld"; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+
+ interix[3-9]*)
+ hardcode_direct_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='$wl-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds_CXX='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- esac
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test yes = "$GXX"; then
+ if test no = "$with_gnu_ld"; then
+ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ else
+ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
+ fi
+ fi
+ link_all_deplibs_CXX=yes
+ ;;
+ esac
+ hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
+ hardcode_libdir_separator_CXX=:
+ inherit_rpath_CXX=yes
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+
+ hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='$wl--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc* | ecpc* )
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ archive_cmds_need_lc_CXX=no
+ hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='$wl--export-dynamic'
+ whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+ *pgCC\ [1-5].* | *pgcpp\ [1-5].*)
+ prelink_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+ old_archive_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+ $RANLIB $oldlib'
+ archive_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 6 and above use weak symbols
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+
+ hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir'
+ export_dynamic_flag_spec_CXX='$wl--export-dynamic'
+ whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+ ;;
+ xl* | mpixl* | bgxl*)
+ # IBM XL 8.0 on PPC, with GNU ld
+ hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
+ export_dynamic_flag_spec_CXX='$wl--export-dynamic'
+ archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ if test yes = "$supports_anon_versioning"; then
+ archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ no_undefined_flag_CXX=' -zdefs'
+ archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ compiler_needs_object_CXX=yes
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
+ esac
;;
- lcc*)
- # Lucid
- # FIXME: insert proper C++ library support
+
+ lynxos*)
+ # FIXME: insert proper C++ library support
ld_shlibs_CXX=no
;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
+
+ m88k*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
;;
- esac
- ;;
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- no_undefined_flag_CXX=' -zdefs'
- archive_cmds_CXX='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- hardcode_libdir_flag_spec_CXX='-R$libdir'
- hardcode_shlibpath_var_CXX=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
+
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
*)
- # The C++ compiler is used as linker so we must use $wl
- # flag to pass the commands to the underlying system
- # linker. We must also pass each convience library through
- # to the system linker between allextract/defaultextract.
- # The C++ compiler will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
;;
esac
- link_all_deplibs_CXX=yes
+ ;;
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[LR]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ hardcode_direct_CXX=yes
+ hardcode_shlibpath_var_CXX=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
;;
- gcx*)
- # Green Hills C++ Compiler
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- # The C++ compiler must be used to create the archive.
- old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ *nto* | *qnx*)
+ ld_shlibs_CXX=yes
;;
- *)
- # GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
- if $CC --version | grep -v '^2\.7' > /dev/null; then
- archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
- # platform.
- archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+ openbsd* | bitrig*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct_CXX=yes
+ hardcode_shlibpath_var_CXX=no
+ hardcode_direct_absolute_CXX=yes
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
+ export_dynamic_flag_spec_CXX='$wl-E'
+ whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+ fi
+ output_verbose_link_cmd=func_echo_all
+ else
+ ld_shlibs_CXX=no
+ fi
+ ;;
+
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ case $host in
+ osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
+ *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
+ esac
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ cxx*)
+ case $host in
+ osf3*)
+ allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'
+ archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
+ ;;
+ *)
+ allow_undefined_flag_CXX=' -expect_unresolved \*'
+ archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
+ $RM $lib.exp'
+ hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+ ;;
+ esac
+
+ hardcode_libdir_separator_CXX=:
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- fi
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test yes,no = "$GXX,$with_gnu_ld"; then
+ allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'
+ case $host in
+ osf3*)
+ archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ ;;
+ esac
+
+ hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+
+ psos*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ archive_cmds_need_lc_CXX=yes
+ no_undefined_flag_CXX=' -zdefs'
+ archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ hardcode_shlibpath_var_CXX=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands '-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ link_all_deplibs_CXX=yes
+
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test yes,no = "$GXX,$with_gnu_ld"; then
+ no_undefined_flag_CXX=' $wl-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
+ else
+ # g++ 2.7 appears to require '-G' NOT '-shared' on this
+ # platform.
+ archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
+ fi
+
+ hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir'
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag_CXX='$wl-z,text'
+ archive_cmds_need_lc_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We CANNOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag_CXX='$wl-z,text'
+ allow_undefined_flag_CXX='$wl-z,nodefs'
+ archive_cmds_need_lc_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ hardcode_libdir_flag_spec_CXX='$wl-R,$libdir'
+ hardcode_libdir_separator_CXX=':'
+ link_all_deplibs_CXX=yes
+ export_dynamic_flag_spec_CXX='$wl-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~
+ '"$old_archive_cmds_CXX"
+ reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~
+ '"$reload_cmds_CXX"
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
- hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
- fi
- ;;
- esac
- ;;
- sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
- archive_cmds_need_lc_CXX=no
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
esac
- ;;
- vxworks*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
-esac
-echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6
-test "$ld_shlibs_CXX" = no && can_build_shared=no
-GCC_CXX="$GXX"
-LD_CXX="$LD"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
+printf "%s\n" "$ld_shlibs_CXX" >&6; }
+ test no = "$ld_shlibs_CXX" && can_build_shared=no
+ GCC_CXX=$GXX
+ LD_CXX=$LD
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ # Dependencies to place before and after the object being linked:
+predep_objects_CXX=
+postdep_objects_CXX=
+predeps_CXX=
+postdeps_CXX=
+compiler_lib_search_path_CXX=
-cat > conftest.$ac_ext <<EOF
+cat > conftest.$ac_ext <<_LT_EOF
class Foo
{
public:
@@ -10863,13 +16232,21 @@ public:
private:
int a;
};
-EOF
+_LT_EOF
+
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
+if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
# Parse the compiler output and extract the necessary
# objects, libraries and library flags.
@@ -10877,35 +16254,39 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
# the conftest object file.
pre_test_object_deps_done=no
- # The `*' in the case matches for architectures that use `case' in
- # $output_verbose_cmd can trigger glob expansion during the loop
- # eval without this substitution.
- output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`"
-
- for p in `eval $output_verbose_link_cmd`; do
- case $p in
+ for p in `eval "$output_verbose_link_cmd"`; do
+ case $prev$p in
-L* | -R* | -l*)
# Some compilers place space between "-{L,R}" and the path.
# Remove the space.
- if test $p = "-L" \
- || test $p = "-R"; then
+ if test x-L = "$p" ||
+ test x-R = "$p"; then
prev=$p
continue
- else
- prev=
fi
- if test "$pre_test_object_deps_done" = no; then
- case $p in
- -L* | -R*)
+ # Expand the sysroot to ease extracting the directories later.
+ if test -z "$prev"; then
+ case $p in
+ -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+ -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+ -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+ esac
+ fi
+ case $p in
+ =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+ esac
+ if test no = "$pre_test_object_deps_done"; then
+ case $prev in
+ -L | -R)
# Internal compiler library paths should come after those
# provided the user. The postdeps already come after the
# user supplied libs so there is no need to process them.
if test -z "$compiler_lib_search_path_CXX"; then
- compiler_lib_search_path_CXX="${prev}${p}"
+ compiler_lib_search_path_CXX=$prev$p
else
- compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
+ compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p"
fi
;;
# The "-l" case would never come before the object being
@@ -10913,13 +16294,15 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
esac
else
if test -z "$postdeps_CXX"; then
- postdeps_CXX="${prev}${p}"
+ postdeps_CXX=$prev$p
else
- postdeps_CXX="${postdeps_CXX} ${prev}${p}"
+ postdeps_CXX="${postdeps_CXX} $prev$p"
fi
fi
+ prev=
;;
+ *.lto.$objext) ;; # Ignore GCC LTO objects
*.$objext)
# This assumes that the test object file only shows up
# once in the compiler output.
@@ -10928,15 +16311,15 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
continue
fi
- if test "$pre_test_object_deps_done" = no; then
+ if test no = "$pre_test_object_deps_done"; then
if test -z "$predep_objects_CXX"; then
- predep_objects_CXX="$p"
+ predep_objects_CXX=$p
else
predep_objects_CXX="$predep_objects_CXX $p"
fi
else
if test -z "$postdep_objects_CXX"; then
- postdep_objects_CXX="$p"
+ postdep_objects_CXX=$p
else
postdep_objects_CXX="$postdep_objects_CXX $p"
fi
@@ -10954,45 +16337,108 @@ else
echo "libtool.m4: error: problem compiling CXX test program"
fi
-$rm -f confest.$objext
+$RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
+
+# PORTME: override above test on systems where it is broken
+case $host_os in
+interix[3-9]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ predep_objects_CXX=
+ postdep_objects_CXX=
+ postdeps_CXX=
+ ;;
+esac
+
case " $postdeps_CXX " in
*" -lc "*) archive_cmds_need_lc_CXX=no ;;
esac
+ compiler_lib_search_dirs_CXX=
+if test -n "${compiler_lib_search_path_CXX}"; then
+ compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'`
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-lt_prog_compiler_wl_CXX=
+
+
+
+
+
+
+
+
+ lt_prog_compiler_wl_CXX=
lt_prog_compiler_pic_CXX=
lt_prog_compiler_static_CXX=
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
# C++ specific cases for pic, static, wl, etc.
- if test "$GXX" = yes; then
+ if test yes = "$GXX"; then
lt_prog_compiler_wl_CXX='-Wl,'
lt_prog_compiler_static_CXX='-static'
case $host_os in
aix*)
# All AIX code is PIC.
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
lt_prog_compiler_static_CXX='-Bstatic'
fi
+ lt_prog_compiler_pic_CXX='-fPIC'
;;
+
amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the '-m68020' flag to GCC prevents building anything better,
+ # like '-m68040'.
+ lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | os2* | pw32*)
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+ case $host_os in
+ os2*)
+ lt_prog_compiler_static_CXX='$wl-static'
+ ;;
+ esac
;;
darwin* | rhapsody*)
# PIC is the default on this platform
@@ -11003,31 +16449,46 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
# DJGPP does not support shared libraries at all
lt_prog_compiler_pic_CXX=
;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ lt_prog_compiler_static_CXX=
+ ;;
+ interix[3-9]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
sysv4*MP*)
if test -d /usr/nec; then
lt_prog_compiler_pic_CXX=-Kconform_pic
fi
;;
hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case "$host_cpu" in
- hppa*64*|ia64*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
;;
*)
lt_prog_compiler_pic_CXX='-fPIC'
;;
esac
;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic_CXX='-fPIC -shared'
+ ;;
*)
lt_prog_compiler_pic_CXX='-fPIC'
;;
esac
else
case $host_os in
- aix4* | aix5*)
+ aix[4-9]*)
# All AIX code is PIC.
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
lt_prog_compiler_static_CXX='-Bstatic'
else
@@ -11038,20 +16499,15 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
case $cc_basename in
cxch68*)
# Green Hills C++ Compiler
- # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
;;
esac
;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic_CXX='-qnocommon'
- lt_prog_compiler_wl_CXX='-Wl,'
- ;;
- esac
- ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+ ;;
dgux*)
case $cc_basename in
ec++*)
@@ -11065,22 +16521,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
;;
esac
;;
- freebsd* | kfreebsd*-gnu | dragonfly*)
+ freebsd* | dragonfly*)
# FreeBSD uses GNU C++
;;
hpux9* | hpux10* | hpux11*)
case $cc_basename in
CC*)
lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
- if test "$host_cpu" != ia64; then
+ lt_prog_compiler_static_CXX='$wl-a ${wl}archive'
+ if test ia64 != "$host_cpu"; then
lt_prog_compiler_pic_CXX='+Z'
fi
;;
aCC*)
lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
- case "$host_cpu" in
+ lt_prog_compiler_static_CXX='$wl-a ${wl}archive'
+ case $host_cpu in
hppa*64*|ia64*)
# +Z the default
;;
@@ -11093,6 +16549,10 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
;;
esac
;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
irix5* | irix6* | nonstopux*)
case $cc_basename in
CC*)
@@ -11104,25 +16564,32 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
;;
esac
;;
- linux*)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
KCC*)
# KAI C++ Compiler
lt_prog_compiler_wl_CXX='--backend -Wl,'
lt_prog_compiler_pic_CXX='-fPIC'
;;
- icpc* | ecpc*)
- # Intel C++
+ ecpc* )
+ # old Intel C++ for x86_64, which still supported -KPIC.
lt_prog_compiler_wl_CXX='-Wl,'
lt_prog_compiler_pic_CXX='-KPIC'
lt_prog_compiler_static_CXX='-static'
;;
- pgCC*)
- # Portland Group C++ compiler.
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_pic_CXX='-fpic'
+ lt_prog_compiler_pic_CXX='-fPIC'
lt_prog_compiler_static_CXX='-static'
;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-fpic'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
cxx*)
# Compaq C++
# Make sure the PIC flag is empty. It appears that all Alpha
@@ -11130,7 +16597,21 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
lt_prog_compiler_pic_CXX=
lt_prog_compiler_static_CXX='-non_shared'
;;
+ xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)
+ # IBM XL 8.0, 9.0 on PPC and BlueGene
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-qpic'
+ lt_prog_compiler_static_CXX='-qstaticlink'
+ ;;
*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ lt_prog_compiler_wl_CXX='-Qoption ld '
+ ;;
+ esac
;;
esac
;;
@@ -11147,8 +16628,13 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
;;
esac
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic_CXX='-fPIC -shared'
+ ;;
osf3* | osf4* | osf5*)
case $cc_basename in
KCC*)
@@ -11172,18 +16658,9 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
;;
psos*)
;;
- sco*)
- case $cc_basename in
- CC*)
- lt_prog_compiler_pic_CXX='-fPIC'
- ;;
- *)
- ;;
- esac
- ;;
solaris*)
case $cc_basename in
- CC*)
+ CC* | sunCC*)
# Sun C++ 4.2, 5.x and Centerline C++
lt_prog_compiler_pic_CXX='-KPIC'
lt_prog_compiler_static_CXX='-Bstatic'
@@ -11212,6 +16689,15 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
;;
esac
;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
+ esac
+ ;;
tandem*)
case $cc_basename in
NCC*)
@@ -11222,8 +16708,6 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
;;
esac
;;
- unixware*)
- ;;
vxworks*)
;;
*)
@@ -11232,53 +16716,72 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6
+case $host_os in
+ # For platforms that do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic_CXX=
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
+ ;;
+esac
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+printf %s "checking for $compiler option to produce PIC... " >&6; }
+if test ${lt_cv_prog_compiler_pic_CXX+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5
+printf "%s\n" "$lt_cv_prog_compiler_pic_CXX" >&6; }
+lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_CXX"; then
-
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6
-if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_pic_works_CXX=no
- ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
+if test ${lt_cv_prog_compiler_pic_works_CXX+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ lt_cv_prog_compiler_pic_works_CXX=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" ## exclude from sc_useless_quotes_in_assignment
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# Note that $ac_compile itself does not contain backslashes and begins
# with a dollar sign (not a hyphen), so the echo should work correctly.
# The option is referenced via a variable to avoid confusing sed.
lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:11261: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:11265: \$? = $ac_status" >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
- $SED '/^$/d' conftest.err >conftest.er2
- if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_CXX=yes
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_pic_works_CXX=yes
fi
fi
- $rm conftest*
+ $RM conftest*
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
+printf "%s\n" "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
-if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
+if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then
case $lt_prog_compiler_pic_CXX in
"" | " "*) ;;
*) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
@@ -11289,2458 +16792,121 @@ else
fi
fi
-case "$host_os" in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic_CXX=
- ;;
- *)
- lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
- ;;
-esac
-
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_c_o_CXX=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:11323: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:11327: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
- $SED '/^$/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o_CXX=yes
- fi
- fi
- chmod u+w .
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
- if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- case $host_os in
- aix4* | aix5*)
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- fi
- ;;
- pw32*)
- export_symbols_cmds_CXX="$ltdll_cmds"
- ;;
- cygwin* | mingw*)
- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- *)
- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- esac
-echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6
-test "$ld_shlibs_CXX" = no && can_build_shared=no
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
#
-# Do we need to explicitly link libc?
+# Check to make sure the static flag actually works.
#
-case "x$archive_cmds_need_lc_CXX" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc_CXX=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds_CXX in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
- $rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl_CXX
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
- allow_undefined_flag_CXX=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- then
- archive_cmds_need_lc_CXX=no
- else
- archive_cmds_need_lc_CXX=yes
- fi
- allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6
- ;;
- esac
- fi
- ;;
-esac
-
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix4* | aix5*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-kfreebsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- *) # from 3.2 on
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case "$host_cpu" in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # find out which ABI we are using
- libsuff=
- case "$host_cpu" in
- x86_64*|s390x*|powerpc64*)
- echo '#line 11838 "configure"' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *64-bit*)
- libsuff=64
- sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
- esac
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-knetbsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-openbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-sco3.2v5*)
- version_type=osf
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
-test "$dynamic_linker" = no && can_build_shared=no
-
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
-hardcode_action_CXX=
-if test -n "$hardcode_libdir_flag_spec_CXX" || \
- test -n "$runpath_var_CXX" || \
- test "X$hardcode_automatic_CXX" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$hardcode_direct_CXX" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
- test "$hardcode_minus_L_CXX" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action_CXX=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action_CXX=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action_CXX=unsupported
-fi
-echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
-echo "${ECHO_T}$hardcode_action_CXX" >&6
-
-if test "$hardcode_action_CXX" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-striplib=
-old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
- ;;
- *)
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- ;;
- esac
-fi
-
-if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dl_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dl_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
-
-fi
-
- ;;
-
- *)
- echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
-if test "${ac_cv_func_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define shl_load innocuous_shl_load
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char shl_load (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef shl_load
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char shl_load ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
-choke me
-#else
-char (*f) () = shl_load;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != shl_load;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_shl_load=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_shl_load=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6
-if test $ac_cv_func_shl_load = yes; then
- lt_cv_dlopen="shl_load"
-else
- echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char shl_load ();
-int
-main ()
-{
-shl_load ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dld_shl_load=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dld_shl_load=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
-if test $ac_cv_lib_dld_shl_load = yes; then
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
-else
- echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
-if test "${ac_cv_func_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define dlopen innocuous_dlopen
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char dlopen (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef dlopen
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_dlopen) || defined (__stub___dlopen)
-choke me
-#else
-char (*f) () = dlopen;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != dlopen;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6
-if test $ac_cv_func_dlopen = yes; then
- lt_cv_dlopen="dlopen"
-else
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dl_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dl_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_svld_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_svld_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
-if test $ac_cv_lib_svld_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dld_link ();
-int
-main ()
-{
-dld_link ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dld_dld_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dld_dld_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
-if test $ac_cv_lib_dld_dld_link = yes; then
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
-if test "${lt_cv_dlopen_self+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-#line 12709 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
-
- exit (status);
-}
-EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_unknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- LDFLAGS="$LDFLAGS $link_static_flag"
- echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
-if test "${lt_cv_dlopen_self_static+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-#line 12807 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
-
- exit (status);
-}
-EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
+wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test ${lt_cv_prog_compiler_static_works_CXX+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ lt_cv_prog_compiler_static_works_CXX=no
+ save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_static_works_CXX=yes
+ fi
+ else
+ lt_cv_prog_compiler_static_works_CXX=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS=$save_LDFLAGS
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
+printf "%s\n" "$lt_cv_prog_compiler_static_works_CXX" >&6; }
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_CXX \
- CC_CXX \
- LD_CXX \
- lt_prog_compiler_wl_CXX \
- lt_prog_compiler_pic_CXX \
- lt_prog_compiler_static_CXX \
- lt_prog_compiler_no_builtin_flag_CXX \
- export_dynamic_flag_spec_CXX \
- thread_safe_flag_spec_CXX \
- whole_archive_flag_spec_CXX \
- enable_shared_with_static_runtimes_CXX \
- old_archive_cmds_CXX \
- old_archive_from_new_cmds_CXX \
- predep_objects_CXX \
- postdep_objects_CXX \
- predeps_CXX \
- postdeps_CXX \
- compiler_lib_search_path_CXX \
- archive_cmds_CXX \
- archive_expsym_cmds_CXX \
- postinstall_cmds_CXX \
- postuninstall_cmds_CXX \
- old_archive_from_expsyms_cmds_CXX \
- allow_undefined_flag_CXX \
- no_undefined_flag_CXX \
- export_symbols_cmds_CXX \
- hardcode_libdir_flag_spec_CXX \
- hardcode_libdir_flag_spec_ld_CXX \
- hardcode_libdir_separator_CXX \
- hardcode_automatic_CXX \
- module_cmds_CXX \
- module_expsym_cmds_CXX \
- lt_cv_prog_compiler_c_o_CXX \
- exclude_expsyms_CXX \
- include_expsyms_CXX; do
-
- case $var in
- old_archive_cmds_CXX | \
- old_archive_from_new_cmds_CXX | \
- archive_cmds_CXX | \
- archive_expsym_cmds_CXX | \
- module_cmds_CXX | \
- module_expsym_cmds_CXX | \
- old_archive_from_expsyms_cmds_CXX | \
- export_symbols_cmds_CXX | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_CXX
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# A language-specific compiler.
-CC=$lt_compiler_CXX
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_CXX
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_CXX
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_CXX
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_CXX
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_CXX
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_CXX
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_CXX
-archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_CXX
-module_expsym_cmds=$lt_module_expsym_cmds_CXX
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_CXX
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_CXX
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_CXX
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_CXX
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_CXX
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_CXX
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_CXX
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_CXX
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_CXX
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_CXX
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_CXX
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_CXX"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_CXX
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_CXX
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_CXX
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_CXX
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
+if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then
+ :
else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
+ lt_prog_compiler_static_CXX=
fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-
- else
- tagname=""
- fi
- ;;
-
- F77)
- if test -n "$F77" && test "X$F77" != "Xno"; then
-
-ac_ext=f
-ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
-ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_f77_compiler_gnu
-
-
-archive_cmds_need_lc_F77=no
-allow_undefined_flag_F77=
-always_export_symbols_F77=no
-archive_expsym_cmds_F77=
-export_dynamic_flag_spec_F77=
-hardcode_direct_F77=no
-hardcode_libdir_flag_spec_F77=
-hardcode_libdir_flag_spec_ld_F77=
-hardcode_libdir_separator_F77=
-hardcode_minus_L_F77=no
-hardcode_automatic_F77=no
-module_cmds_F77=
-module_expsym_cmds_F77=
-link_all_deplibs_F77=unknown
-old_archive_cmds_F77=$old_archive_cmds
-no_undefined_flag_F77=
-whole_archive_flag_spec_F77=
-enable_shared_with_static_runtimes_F77=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-objext_F77=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code=" subroutine t\n return\n end\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code=" program t\n end\n"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${F77-"f77"}
-compiler=$CC
-compiler_F77=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6
-
-echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case "$host_os" in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-aix4* | aix5*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6
-
-echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6
-
-test "$ld_shlibs_F77" = no && can_build_shared=no
-
-GCC_F77="$G77"
-LD_F77="$LD"
-
-lt_prog_compiler_wl_F77=
-lt_prog_compiler_pic_F77=
-lt_prog_compiler_static_F77=
-
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_static_F77='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_F77='-Bstatic'
- fi
- ;;
-
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
- ;;
-
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic_F77='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic_F77='-fno-common'
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared_F77=no
- enable_shared=no
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic_F77=-Kconform_pic
- fi
- ;;
-
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case "$host_cpu" in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_F77='-fPIC'
- ;;
- esac
- ;;
-
- *)
- lt_prog_compiler_pic_F77='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl_F77='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_F77='-Bstatic'
- else
- lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic_F77='-qnocommon'
- lt_prog_compiler_wl_F77='-Wl,'
- ;;
- esac
- ;;
-
- mingw* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic_F77='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl_F77='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case "$host_cpu" in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_F77='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static_F77='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl_F77='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static_F77='-non_shared'
- ;;
-
- newsos6)
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
-
- linux*)
- case $cc_basename in
- icc* | ecc*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-static'
- ;;
- pgcc* | pgf77* | pgf90*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-fpic'
- lt_prog_compiler_static_F77='-static'
- ;;
- ccc*)
- lt_prog_compiler_wl_F77='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static_F77='-non_shared'
- ;;
- esac
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl_F77='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static_F77='-non_shared'
- ;;
-
- sco3.2v5*)
- lt_prog_compiler_pic_F77='-Kpic'
- lt_prog_compiler_static_F77='-dn'
- ;;
-
- solaris*)
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- lt_prog_compiler_wl_F77='-Qoption ld ';;
- *)
- lt_prog_compiler_wl_F77='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl_F77='-Qoption ld '
- lt_prog_compiler_pic_F77='-PIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic_F77='-Kconform_pic'
- lt_prog_compiler_static_F77='-Bstatic'
- fi
- ;;
-
- unicos*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_can_build_shared_F77=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic_F77='-pic'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
- *)
- lt_prog_compiler_can_build_shared_F77=no
- ;;
- esac
- fi
-
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_F77"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test ${lt_cv_prog_compiler_c_o_CXX+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ lt_cv_prog_compiler_c_o_CXX=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6
-if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_pic_works_F77=no
- ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic_F77"
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# Note that $ac_compile itself does not contain backslashes and begins
# with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13692: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
- cat conftest.err >&5
- echo "$as_me:13696: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
+ cat out/conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
# The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
- $SED '/^$/d' conftest.err >conftest.er2
- if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_F77=yes
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o_CXX=yes
fi
fi
- $rm conftest*
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; }
-if test x"$lt_prog_compiler_pic_works_F77" = xyes; then
- case $lt_prog_compiler_pic_F77 in
- "" | " "*) ;;
- *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;;
- esac
-else
- lt_prog_compiler_pic_F77=
- lt_prog_compiler_can_build_shared_F77=no
-fi
-fi
-case "$host_os" in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic_F77=
- ;;
- *)
- lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77"
- ;;
-esac
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_c_o_F77=no
- $rm -r conftest 2>/dev/null
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test ${lt_cv_prog_compiler_c_o_CXX+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ lt_cv_prog_compiler_c_o_CXX=no
+ $RM -r conftest 2>/dev/null
mkdir conftest
cd conftest
mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
@@ -13748,1013 +16914,257 @@ else
# Note that $ac_compile itself does not contain backslashes and begins
# with a dollar sign (not a hyphen), so the echo should work correctly.
lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13754: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:13758: \$? = $ac_status" >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
- $SED '/^$/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o_F77=yes
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o_CXX=yes
fi
fi
- chmod u+w .
- $rm conftest*
+ chmod u+w . 2>&5
+ $RM conftest*
# SGI C++ compiler will create directory out/ii_files/ for
# template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
cd ..
- rmdir conftest
- $rm conftest*
+ $RM -r conftest
+ $RM conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; }
+
+
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
+hard_links=nottested
+if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then
# do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+printf %s "checking if we can lock with hard links... " >&6; }
hard_links=yes
- $rm conftest*
+ $RM conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
- if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+printf "%s\n" "$hard_links" >&6; }
+ if test no = "$hard_links"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
+printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
need_locks=no
fi
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
- runpath_var=
- allow_undefined_flag_F77=
- enable_shared_with_static_runtimes_F77=no
- archive_cmds_F77=
- archive_expsym_cmds_F77=
- old_archive_From_new_cmds_F77=
- old_archive_from_expsyms_cmds_F77=
- export_dynamic_flag_spec_F77=
- whole_archive_flag_spec_F77=
- thread_safe_flag_spec_F77=
- hardcode_libdir_flag_spec_F77=
- hardcode_libdir_flag_spec_ld_F77=
- hardcode_libdir_separator_F77=
- hardcode_direct_F77=no
- hardcode_minus_L_F77=no
- hardcode_shlibpath_var_F77=unsupported
- link_all_deplibs_F77=unknown
- hardcode_automatic_F77=no
- module_cmds_F77=
- module_expsym_cmds_F77=
- always_export_symbols_F77=no
- export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms_F77=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_"
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
+ aix[4-9]*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+ # Without the "-l" option, or with the "-B" option, AIX nm treats
+ # weak defined symbols like other global defined symbols, whereas
+ # GNU nm marks them as "W".
+ # While the 'weak' keyword is ignored in the Export File, we need
+ # it in the Import File for the 'aix-soname' feature, so we have
+ # to replace the "-B" option with "-P" for AIX nm.
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
;;
- openbsd*)
- with_gnu_ld=no
+ pw32*)
+ export_symbols_cmds_CXX=$ltdll_cmds
+ ;;
+ cygwin* | mingw* | cegcc*)
+ case $cc_basename in
+ cl*)
+ exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ ;;
+ *)
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+ exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | gnu*)
+ link_all_deplibs_CXX=no
+ ;;
+ *)
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
;;
esac
- ld_shlibs_F77=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
+printf "%s\n" "$ld_shlibs_CXX" >&6; }
+test no = "$ld_shlibs_CXX" && can_build_shared=no
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_F77='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec_F77=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
+with_gnu_ld_CXX=$with_gnu_ld
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix3* | aix4* | aix5*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs_F77=no
- cat <<EOF 1>&2
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-EOF
- fi
- ;;
- amigaos*)
- archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_minus_L_F77=yes
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- ld_shlibs_F77=no
- ;;
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag_F77=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec_F77='-L$libdir'
- allow_undefined_flag_F77=unsupported
- always_export_symbols_F77=no
- enable_shared_with_static_runtimes_F77=yes
- export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_CXX" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc_CXX=yes
+
+ if test yes,yes = "$GCC,$enable_shared"; then
+ case $archive_cmds_CXX in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+printf %s "checking whether -lc should be explicitly linked in... " >&6; }
+if test ${lt_cv_archive_cmds_need_lc_CXX+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl_CXX
+ pic_flag=$lt_prog_compiler_pic_CXX
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
+ allow_undefined_flag_CXX=
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+ (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ then
+ lt_cv_archive_cmds_need_lc_CXX=no
+ else
+ lt_cv_archive_cmds_need_lc_CXX=yes
+ fi
+ allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
- else
- ld_shlibs_F77=no
- fi
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5
+printf "%s\n" "$lt_cv_archive_cmds_need_lc_CXX" >&6; }
+ archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX
;;
+ esac
+ fi
+ ;;
+esac
- linux*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec_F77=
- ;;
- pgf77* | pgf90* ) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec_F77=
- tmp_addflag=' -fpic -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- esac
- archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- if test $supports_anon_versioning = yes; then
- archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- else
- ld_shlibs_F77=no
- fi
- ;;
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
- solaris* | sysv5*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- ld_shlibs_F77=no
- cat <<EOF 1>&2
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
- sunos4*)
- archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
- esac
- if test "$ld_shlibs_F77" = no; then
- runpath_var=
- hardcode_libdir_flag_spec_F77=
- export_dynamic_flag_spec_F77=
- whole_archive_flag_spec_F77=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag_F77=unsupported
- always_export_symbols_F77=yes
- archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L_F77=yes
- if test "$GCC" = yes && test -z "$link_static_flag"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct_F77=unsupported
- fi
- ;;
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- esac
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
- archive_cmds_F77=''
- hardcode_direct_F77=yes
- hardcode_libdir_separator_F77=':'
- link_all_deplibs_F77=yes
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- hardcode_direct_F77=yes
- else
- # We have old collect2
- hardcode_direct_F77=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L_F77=yes
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_libdir_separator_F77=
- fi
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols_F77=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag_F77='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
- program main
- end
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
- hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag_F77="-z nodefs"
- archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
- program main
- end
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
- hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag_F77=' ${wl}-bernotok'
- allow_undefined_flag_F77=' ${wl}-berok'
- # -bexpall does not export symbols beginning with underscore (_)
- always_export_symbols_F77=yes
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_F77=' '
- archive_cmds_need_lc_F77=yes
- # This is similar to how AIX traditionally builds it's shared libraries.
- archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
- amigaos*)
- archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_minus_L_F77=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs_F77=no
- ;;
- bsdi[45]*)
- export_dynamic_flag_spec_F77=-rdynamic
- ;;
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec_F77=' '
- allow_undefined_flag_F77=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_From_new_cmds_F77='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path_F77='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes_F77=yes
- ;;
- darwin* | rhapsody*)
- case "$host_os" in
- rhapsody* | darwin1.[012])
- allow_undefined_flag_F77='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- archive_cmds_need_lc_F77=no
- hardcode_direct_F77=no
- hardcode_automatic_F77=yes
- hardcode_shlibpath_var_F77=unsupported
- whole_archive_flag_spec_F77=''
- link_all_deplibs_F77=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
- archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
- module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
- archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs_F77=no
- ;;
- esac
- fi
- ;;
- dgux*)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_shlibpath_var_F77=no
- ;;
- freebsd1*)
- ld_shlibs_F77=no
- ;;
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=yes
- hardcode_minus_L_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | kfreebsd*-gnu | dragonfly*)
- archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- hardcode_direct_F77=yes
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_F77=yes
- export_dynamic_flag_spec_F77='${wl}-E'
- ;;
- hpux10* | hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case "$host_cpu" in
- hppa*64*|ia64*)
- archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case "$host_cpu" in
- hppa*64*|ia64*)
- archive_cmds_F77='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
- ;;
- *)
- archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- case "$host_cpu" in
- hppa*64*)
- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld_F77='+b $libdir'
- hardcode_libdir_separator_F77=:
- hardcode_direct_F77=no
- hardcode_shlibpath_var_F77=no
- ;;
- ia64*)
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_direct_F77=no
- hardcode_shlibpath_var_F77=no
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_F77=yes
- ;;
- *)
- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- hardcode_direct_F77=yes
- export_dynamic_flag_spec_F77='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_F77=yes
- ;;
- esac
- fi
- ;;
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_ld_F77='-rpath $libdir'
- fi
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- link_all_deplibs_F77=yes
- ;;
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
- newsos6)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=yes
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- hardcode_shlibpath_var_F77=no
- ;;
- openbsd*)
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_F77='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- ;;
- *)
- archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- ;;
- os2*)
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_minus_L_F77=yes
- allow_undefined_flag_F77=unsupported
- archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag_F77=' -expect_unresolved \*'
- archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- ;;
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag_F77=' -expect_unresolved \*'
- archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec_F77='-rpath $libdir'
- fi
- hardcode_libdir_separator_F77=:
- ;;
- sco3.2v5*)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_F77=no
- export_dynamic_flag_spec_F77='${wl}-Bexport'
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ;;
- solaris*)
- no_undefined_flag_F77=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- wlarc=''
- archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_shlibpath_var_F77=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl, iff we do not link with $LD.
- # Luckily, gcc supports the same syntax we need for Sun Studio.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- case $wlarc in
- '')
- whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;;
- *)
- whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- esac ;;
- esac
- link_all_deplibs_F77=yes
- ;;
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_direct_F77=yes
- hardcode_minus_L_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds_F77='$CC -r -o $output$reload_objs'
- hardcode_direct_F77=no
- ;;
- motorola)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var_F77=no
- ;;
- sysv4.3*)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_F77=no
- export_dynamic_flag_spec_F77='-Bexport'
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_F77=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs_F77=yes
- fi
- ;;
- sysv4.2uw2*)
- archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=yes
- hardcode_minus_L_F77=no
- hardcode_shlibpath_var_F77=no
- hardcode_runpath_var=yes
- runpath_var=LD_RUN_PATH
- ;;
- sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
- no_undefined_flag_F77='${wl}-z ${wl}text'
- if test "$GCC" = yes; then
- archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var_F77=no
- ;;
- sysv5*)
- no_undefined_flag_F77=' -z text'
- # $CC -shared without GNU ld will not create a library from C++
- # object files and a static libstdc++, better avoid it by now
- archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- hardcode_libdir_flag_spec_F77=
- hardcode_shlibpath_var_F77=no
- runpath_var='LD_RUN_PATH'
- ;;
- uts4*)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_shlibpath_var_F77=no
- ;;
- *)
- ld_shlibs_F77=no
- ;;
- esac
- fi
-echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
-echo "${ECHO_T}$ld_shlibs_F77" >&6
-test "$ld_shlibs_F77" = no && can_build_shared=no
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_F77" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc_F77=yes
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds_F77 in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
- $rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl_F77
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag_F77
- allow_undefined_flag_F77=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- then
- archive_cmds_need_lc_F77=no
- else
- archive_cmds_need_lc_F77=yes
- fi
- allow_undefined_flag_F77=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6
- ;;
- esac
- fi
- ;;
-esac
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+printf %s "checking dynamic linker characteristics... " >&6; }
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
library_names_spec=
libname_spec='lib$name'
soname_spec=
-shrext_cmds=".so"
+shrext_cmds=.so
postinstall_cmds=
postuninstall_cmds=
finish_cmds=
@@ -14764,20 +17174,6 @@ shlibpath_overrides_runpath=unknown
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
need_lib_prefix=unknown
hardcode_into_libs=no
@@ -14785,77 +17181,138 @@ hardcode_into_libs=no
# flags to be left without arguments
need_version=unknown
+
+
case $host_os in
aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
shlibpath_var=LIBPATH
# AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
+ soname_spec='$libname$release$shared_ext$major'
;;
-aix4* | aix5*)
- version_type=linux
+aix[4-9]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
else
# With GCC up to 2.95.x, collect2 would create an import file
# for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
+ # the line '#! .'. This would cause the generated library to
+ # depend on '.', always an invalid library. This was fixed in
# development snapshots of GCC prior to 3.0.
case $host_os in
aix4 | aix4.[01] | aix4.[01].*)
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
:
else
can_build_shared=no
fi
;;
esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # Using Import Files as archive members, it is possible to support
+ # filename-based versioning of shared library archives on AIX. While
+ # this would work for both with and without runtime linking, it will
+ # prevent static linking of such archives. So we do filename-based
+ # shared library versioning with .so extension only, which is used
+ # when both runtime linking and shared linking is enabled.
+ # Unfortunately, runtime linking may impact performance, so we do
+ # not want this to be the default eventually. Also, we use the
+ # versioned .so libs for executables only if there is the -brtl
+ # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+ # To allow for filename-based versioning support, we need to create
+ # libNAME.so.V as an archive file, containing:
+ # *) an Import File, referring to the versioned filename of the
+ # archive as well as the shared archive member, telling the
+ # bitwidth (32 or 64) of that shared object, and providing the
+ # list of exported symbols of that shared object, eventually
+ # decorated with the 'weak' keyword
+ # *) the shared object with the F_LOADONLY flag set, to really avoid
+ # it being seen by the linker.
+ # At run time we better use the real file rather than another symlink,
+ # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+ case $with_aix_soname,$aix_use_runtimelinking in
+ # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
# soname into executable. Probably we can add versioning support to
# collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
+ aix,yes) # traditional libtool
+ dynamic_linker='AIX unversionable lib.so'
# If using run time linking (on AIX 4.2 or later) use lib<name>.so
# instead of lib<name>.a to let people know that these are not
# typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ ;;
+ aix,no) # traditional AIX only
+ dynamic_linker='AIX lib.a(lib.so.V)'
# We preserve .a as extension for shared libraries through AIX4.2
# and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ ;;
+ svr4,*) # full svr4 only
+ dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,yes) # both, prefer svr4
+ dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # unpreferred sharedlib libNAME.a needs extra handling
+ postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+ postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,no) # both, prefer aix
+ dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+ postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+ postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+ ;;
+ esac
shlibpath_var=LIBPATH
fi
;;
amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
;;
beos*)
- library_names_spec='${libname}${shared_ext}'
+ library_names_spec='$libname$shared_ext'
dynamic_linker="$host_os ld.so"
shlibpath_var=LIBRARY_PATH
;;
bsdi[45]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
@@ -14865,60 +17322,111 @@ bsdi[45]*)
# libtool to hard-code these into programs
;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
- shrext_cmds=".dll"
+ shrext_cmds=.dll
need_version=no
need_lib_prefix=no
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname'
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
dlpath=$dir/\$dldll~
- $rm \$dlpath'
+ $RM \$dlpath'
shlibpath_overrides_runpath=yes
case $host_os in
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+
;;
- mingw*)
+ mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
+ soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ ;;
+
+ *,cl*)
+ # Native MSVC
+ libname_spec='$name'
+ soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+ library_names_spec='$libname.dll.lib'
+
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec=$LIB
+ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
;;
esac
+
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ dynamic_linker='Win32 link.exe'
;;
*)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ # Assume MSVC wrapper
+ library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
+ dynamic_linker='Win32 ld.exe'
;;
esac
- dynamic_linker='Win32 ld.exe'
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
@@ -14928,84 +17436,79 @@ darwin* | rhapsody*)
version_type=darwin
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
+ library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$major$shared_ext'
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-kfreebsd*-gnu)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
;;
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
- objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[23].*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
version_type=freebsd-$objformat
case $version_type in
freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
need_version=no
need_lib_prefix=no
;;
freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
need_version=yes
;;
esac
shlibpath_var=LD_LIBRARY_PATH
case $host_os in
- freebsd2*)
+ freebsd2.*)
shlibpath_overrides_runpath=yes
;;
freebsd3.[01]* | freebsdelf3.[01]*)
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
- *) # from 3.2 on
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
esac
;;
-gnu*)
- version_type=linux
+haiku*)
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
hardcode_into_libs=yes
;;
@@ -15015,60 +17518,75 @@ hpux9* | hpux10* | hpux11*)
version_type=sunos
need_lib_prefix=no
need_version=no
- case "$host_cpu" in
+ case $host_cpu in
ia64*)
shrext_cmds='.so'
hardcode_into_libs=yes
dynamic_linker="$host_os dld.so"
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ if test 32 = "$HPUX_IA64_MODE"; then
sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux32
else
sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux64
fi
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
+ *)
shrext_cmds='.sl'
dynamic_linker="$host_os dld.sl"
shlibpath_var=SHLIB_PATH
shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
;;
esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
+ ;;
+
+interix[3-9]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
;;
irix5* | irix6* | nonstopux*)
case $host_os in
nonstopux*) version_type=nonstopux ;;
*)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
+ if test yes = "$lt_cv_prog_gnu_ld"; then
+ version_type=linux # correct to gnu/linux during the next big refactor
else
version_type=irix
fi ;;
esac
need_lib_prefix=no
need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
case $host_os in
irix5* | nonstopux*)
libsuff= shlibsuff=
@@ -15087,8 +17605,8 @@ irix5* | irix6* | nonstopux*)
esac
shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+ sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
hardcode_into_libs=yes
;;
@@ -15097,2528 +17615,88 @@ linux*oldld* | linux*aout* | linux*coff*)
dynamic_linker=no
;;
-# This must be Linux ELF.
-linux*)
- version_type=linux
+linux*android*)
+ version_type=none # Android doesn't support versioned libraries.
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ library_names_spec='$libname$release$shared_ext'
+ soname_spec='$libname$release$shared_ext'
+ finish_cmds=
shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
+ shlibpath_overrides_runpath=yes
+
# This implies no fast_install, which is unacceptable.
# Some rework will be needed to allow for fast_install
# before this can be enabled.
hardcode_into_libs=yes
- # find out which ABI we are using
- libsuff=
- case "$host_cpu" in
- x86_64*|s390x*|powerpc64*)
- echo '#line 15119 "configure"' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *64-bit*)
- libsuff=64
- sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
- esac
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
+ dynamic_linker='Android linker'
+ # Don't embed -rpath directories since the linker doesn't support them.
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
;;
-knetbsd*-gnu)
- version_type=linux
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-openbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-sco3.2v5*)
- version_type=osf
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
-test "$dynamic_linker" = no && can_build_shared=no
-
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
-hardcode_action_F77=
-if test -n "$hardcode_libdir_flag_spec_F77" || \
- test -n "$runpath_var_F77" || \
- test "X$hardcode_automatic_F77" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$hardcode_direct_F77" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no &&
- test "$hardcode_minus_L_F77" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action_F77=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action_F77=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action_F77=unsupported
-fi
-echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
-echo "${ECHO_T}$hardcode_action_F77" >&6
-
-if test "$hardcode_action_F77" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-striplib=
-old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
- ;;
- *)
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- ;;
- esac
-fi
-
-
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_F77 \
- CC_F77 \
- LD_F77 \
- lt_prog_compiler_wl_F77 \
- lt_prog_compiler_pic_F77 \
- lt_prog_compiler_static_F77 \
- lt_prog_compiler_no_builtin_flag_F77 \
- export_dynamic_flag_spec_F77 \
- thread_safe_flag_spec_F77 \
- whole_archive_flag_spec_F77 \
- enable_shared_with_static_runtimes_F77 \
- old_archive_cmds_F77 \
- old_archive_from_new_cmds_F77 \
- predep_objects_F77 \
- postdep_objects_F77 \
- predeps_F77 \
- postdeps_F77 \
- compiler_lib_search_path_F77 \
- archive_cmds_F77 \
- archive_expsym_cmds_F77 \
- postinstall_cmds_F77 \
- postuninstall_cmds_F77 \
- old_archive_from_expsyms_cmds_F77 \
- allow_undefined_flag_F77 \
- no_undefined_flag_F77 \
- export_symbols_cmds_F77 \
- hardcode_libdir_flag_spec_F77 \
- hardcode_libdir_flag_spec_ld_F77 \
- hardcode_libdir_separator_F77 \
- hardcode_automatic_F77 \
- module_cmds_F77 \
- module_expsym_cmds_F77 \
- lt_cv_prog_compiler_c_o_F77 \
- exclude_expsyms_F77 \
- include_expsyms_F77; do
-
- case $var in
- old_archive_cmds_F77 | \
- old_archive_from_new_cmds_F77 | \
- archive_cmds_F77 | \
- archive_expsym_cmds_F77 | \
- module_cmds_F77 | \
- module_expsym_cmds_F77 | \
- old_archive_from_expsyms_cmds_F77 | \
- export_symbols_cmds_F77 | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_F77
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# A language-specific compiler.
-CC=$lt_compiler_F77
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_F77
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_F77
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_F77
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_F77
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_F77
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_F77
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_F77
-archive_expsym_cmds=$lt_archive_expsym_cmds_F77
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_F77
-module_expsym_cmds=$lt_module_expsym_cmds_F77
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_F77
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_F77
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_F77
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_F77
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_F77
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_F77
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_F77
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_F77
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_F77
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_F77
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_F77
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_F77
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_F77
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_F77"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_F77
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_F77
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_F77
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_F77
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
- else
- tagname=""
- fi
- ;;
-
- GCJ)
- if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
-
-
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-objext_GCJ=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}\n"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-compiler_GCJ=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-archive_cmds_need_lc_GCJ=no
-
-old_archive_cmds_GCJ=$old_archive_cmds
-
-
-lt_prog_compiler_no_builtin_flag_GCJ=
-
-if test "$GCC" = yes; then
- lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
-
-
-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:15892: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:15896: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
- $SED '/^$/d' conftest.err >conftest.er2
- if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $rm conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
-else
- :
-fi
-
-fi
-
-lt_prog_compiler_wl_GCJ=
-lt_prog_compiler_pic_GCJ=
-lt_prog_compiler_static_GCJ=
-
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_static_GCJ='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_GCJ='-Bstatic'
- fi
- ;;
-
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
- ;;
-
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic_GCJ='-fno-common'
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared_GCJ=no
- enable_shared=no
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic_GCJ=-Kconform_pic
- fi
- ;;
-
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case "$host_cpu" in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_GCJ='-fPIC'
- ;;
- esac
- ;;
-
- *)
- lt_prog_compiler_pic_GCJ='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_GCJ='-Bstatic'
- else
- lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic_GCJ='-qnocommon'
- lt_prog_compiler_wl_GCJ='-Wl,'
- ;;
- esac
- ;;
-
- mingw* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case "$host_cpu" in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_GCJ='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
-
- newsos6)
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- linux*)
- case $cc_basename in
- icc* | ecc*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-static'
- ;;
- pgcc* | pgf77* | pgf90*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-fpic'
- lt_prog_compiler_static_GCJ='-static'
- ;;
- ccc*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
- esac
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
-
- sco3.2v5*)
- lt_prog_compiler_pic_GCJ='-Kpic'
- lt_prog_compiler_static_GCJ='-dn'
- ;;
-
- solaris*)
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- lt_prog_compiler_wl_GCJ='-Qoption ld ';;
- *)
- lt_prog_compiler_wl_GCJ='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl_GCJ='-Qoption ld '
- lt_prog_compiler_pic_GCJ='-PIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic_GCJ='-Kconform_pic'
- lt_prog_compiler_static_GCJ='-Bstatic'
- fi
- ;;
-
- unicos*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_can_build_shared_GCJ=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic_GCJ='-pic'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared_GCJ=no
- ;;
- esac
- fi
-
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_GCJ"; then
-
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6
-if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_pic_works_GCJ=no
- ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16154: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:16158: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
- $SED '/^$/d' conftest.err >conftest.er2
- if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_GCJ=yes
- fi
- fi
- $rm conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6
-
-if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
- case $lt_prog_compiler_pic_GCJ in
- "" | " "*) ;;
- *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
- esac
-else
- lt_prog_compiler_pic_GCJ=
- lt_prog_compiler_can_build_shared_GCJ=no
-fi
-
-fi
-case "$host_os" in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic_GCJ=
- ;;
- *)
- lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ"
- ;;
-esac
-
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_c_o_GCJ=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16216: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:16220: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
- $SED '/^$/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o_GCJ=yes
- fi
- fi
- chmod u+w .
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
- if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
-
- runpath_var=
- allow_undefined_flag_GCJ=
- enable_shared_with_static_runtimes_GCJ=no
- archive_cmds_GCJ=
- archive_expsym_cmds_GCJ=
- old_archive_From_new_cmds_GCJ=
- old_archive_from_expsyms_cmds_GCJ=
- export_dynamic_flag_spec_GCJ=
- whole_archive_flag_spec_GCJ=
- thread_safe_flag_spec_GCJ=
- hardcode_libdir_flag_spec_GCJ=
- hardcode_libdir_flag_spec_ld_GCJ=
- hardcode_libdir_separator_GCJ=
- hardcode_direct_GCJ=no
- hardcode_minus_L_GCJ=no
- hardcode_shlibpath_var_GCJ=unsupported
- link_all_deplibs_GCJ=unknown
- hardcode_automatic_GCJ=no
- module_cmds_GCJ=
- module_expsym_cmds_GCJ=
- always_export_symbols_GCJ=no
- export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms_GCJ=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_"
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
- case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
- ld_shlibs_GCJ=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec_GCJ=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix3* | aix4* | aix5*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs_GCJ=no
- cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
- fi
- ;;
-
- amigaos*)
- archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_minus_L_GCJ=yes
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- ld_shlibs_GCJ=no
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag_GCJ=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- allow_undefined_flag_GCJ=unsupported
- always_export_symbols_GCJ=no
- enable_shared_with_static_runtimes_GCJ=yes
- export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- linux*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec_GCJ=
- ;;
- pgf77* | pgf90* ) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec_GCJ=
- tmp_addflag=' -fpic -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- esac
- archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test $supports_anon_versioning = yes; then
- archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris* | sysv5*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- ld_shlibs_GCJ=no
- cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- sunos4*)
- archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs_GCJ" = no; then
- runpath_var=
- hardcode_libdir_flag_spec_GCJ=
- export_dynamic_flag_spec_GCJ=
- whole_archive_flag_spec_GCJ=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag_GCJ=unsupported
- always_export_symbols_GCJ=yes
- archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L_GCJ=yes
- if test "$GCC" = yes && test -z "$link_static_flag"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct_GCJ=unsupported
- fi
- ;;
-
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds_GCJ=''
- hardcode_direct_GCJ=yes
- hardcode_libdir_separator_GCJ=':'
- link_all_deplibs_GCJ=yes
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- hardcode_direct_GCJ=yes
- else
- # We have old collect2
- hardcode_direct_GCJ=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L_GCJ=yes
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_libdir_separator_GCJ=
- fi
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols_GCJ=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag_GCJ='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag_GCJ="-z nodefs"
- archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ # Some binutils ld are patched to set DT_RUNPATH
+ if test ${lt_cv_shlibpath_overrides_runpath+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
+if ac_fn_cxx_try_link "$LINENO"
+then :
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null
+then :
+ lt_cv_shlibpath_overrides_runpath=yes
fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag_GCJ=' ${wl}-bernotok'
- allow_undefined_flag_GCJ=' ${wl}-berok'
- # -bexpall does not export symbols beginning with underscore (_)
- always_export_symbols_GCJ=yes
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_GCJ=' '
- archive_cmds_need_lc_GCJ=yes
- # This is similar to how AIX traditionally builds it's shared libraries.
- archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_minus_L_GCJ=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs_GCJ=no
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec_GCJ=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec_GCJ=' '
- allow_undefined_flag_GCJ=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_From_new_cmds_GCJ='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes_GCJ=yes
- ;;
-
- darwin* | rhapsody*)
- case "$host_os" in
- rhapsody* | darwin1.[012])
- allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- archive_cmds_need_lc_GCJ=no
- hardcode_direct_GCJ=no
- hardcode_automatic_GCJ=yes
- hardcode_shlibpath_var_GCJ=unsupported
- whole_archive_flag_spec_GCJ=''
- link_all_deplibs_GCJ=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
- archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
- module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
- archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs_GCJ=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- freebsd1*)
- ld_shlibs_GCJ=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=yes
- hardcode_minus_L_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | kfreebsd*-gnu | dragonfly*)
- archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- hardcode_direct_GCJ=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-E'
- ;;
-
- hpux10* | hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case "$host_cpu" in
- hppa*64*|ia64*)
- archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case "$host_cpu" in
- hppa*64*|ia64*)
- archive_cmds_GCJ='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
- ;;
- *)
- archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- case "$host_cpu" in
- hppa*64*)
- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld_GCJ='+b $libdir'
- hardcode_libdir_separator_GCJ=:
- hardcode_direct_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- ;;
- ia64*)
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_direct_GCJ=no
- hardcode_shlibpath_var_GCJ=no
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_GCJ=yes
- ;;
- *)
- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- hardcode_direct_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_GCJ=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir'
- fi
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- link_all_deplibs_GCJ=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- newsos6)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=yes
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- openbsd*)
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_GCJ='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- ;;
- *)
- archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_minus_L_GCJ=yes
- allow_undefined_flag_GCJ=unsupported
- archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag_GCJ=' -expect_unresolved \*'
- archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag_GCJ=' -expect_unresolved \*'
- archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec_GCJ='-rpath $libdir'
- fi
- hardcode_libdir_separator_GCJ=:
- ;;
-
- sco3.2v5*)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_GCJ=no
- export_dynamic_flag_spec_GCJ='${wl}-Bexport'
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ;;
-
- solaris*)
- no_undefined_flag_GCJ=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- wlarc=''
- archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_shlibpath_var_GCJ=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl, iff we do not link with $LD.
- # Luckily, gcc supports the same syntax we need for Sun Studio.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- case $wlarc in
- '')
- whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;;
- *)
- whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- esac ;;
- esac
- link_all_deplibs_GCJ=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_direct_GCJ=yes
- hardcode_minus_L_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds_GCJ='$CC -r -o $output$reload_objs'
- hardcode_direct_GCJ=no
- ;;
- motorola)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- sysv4.3*)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_GCJ=no
- export_dynamic_flag_spec_GCJ='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_GCJ=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs_GCJ=yes
- fi
- ;;
-
- sysv4.2uw2*)
- archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=yes
- hardcode_minus_L_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- hardcode_runpath_var=yes
- runpath_var=LD_RUN_PATH
- ;;
-
- sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
- no_undefined_flag_GCJ='${wl}-z ${wl}text'
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- sysv5*)
- no_undefined_flag_GCJ=' -z text'
- # $CC -shared without GNU ld will not create a library from C++
- # object files and a static libstdc++, better avoid it by now
- archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- hardcode_libdir_flag_spec_GCJ=
- hardcode_shlibpath_var_GCJ=no
- runpath_var='LD_RUN_PATH'
- ;;
-
- uts4*)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- *)
- ld_shlibs_GCJ=no
- ;;
- esac
- fi
-
-echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
-echo "${ECHO_T}$ld_shlibs_GCJ" >&6
-test "$ld_shlibs_GCJ" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_GCJ" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc_GCJ=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds_GCJ in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
- $rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl_GCJ
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ
- allow_undefined_flag_GCJ=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- then
- archive_cmds_need_lc_GCJ=no
- else
- archive_cmds_need_lc_GCJ=yes
- fi
- allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6
- ;;
- esac
- fi
- ;;
-esac
-
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
fi
-need_lib_prefix=unknown
-hardcode_into_libs=no
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-aix4* | aix5*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-kfreebsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- *) # from 3.2 on
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case "$host_cpu" in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
# This implies no fast_install, which is unacceptable.
# Some rework will be needed to allow for fast_install
# before this can be enabled.
hardcode_into_libs=yes
- # find out which ABI we are using
- libsuff=
- case "$host_cpu" in
- x86_64*|s390x*|powerpc64*)
- echo '#line 17601 "configure"' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *64-bit*)
- libsuff=64
- sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
- esac
-
- # Append ld.so.conf contents to the search path
+ # Ideally, we could use ldconfig to report *all* directores which are
+ # searched for libraries, however this is still not possible. Aside from not
+ # being certain /sbin/ldconfig is available, command
+ # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+ # even though it is searched at run-time. Try to do the best guess by
+ # appending ld.so.conf contents (and includes) to the search path.
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra"
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -17630,7 +17708,7 @@ linux*)
dynamic_linker='GNU/Linux ld.so'
;;
-knetbsd*-gnu)
+netbsdelf*-gnu)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -17639,20 +17717,20 @@ knetbsd*-gnu)
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
- dynamic_linker='GNU ld.so'
+ dynamic_linker='NetBSD ld.elf_so'
;;
netbsd*)
version_type=sunos
need_lib_prefix=no
need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
dynamic_linker='NetBSD ld.elf_so'
fi
shlibpath_var=LD_LIBRARY_PATH
@@ -17661,76 +17739,90 @@ netbsd*)
;;
newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
;;
-nto-qnx*)
- version_type=linux
+*nto* | *qnx*)
+ version_type=qnx
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
;;
-openbsd*)
+openbsd* | bitrig*)
version_type=sunos
+ sys_lib_dlsearch_path_spec=/usr/lib
need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ need_version=no
else
- shlibpath_overrides_runpath=yes
+ need_version=yes
fi
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
;;
os2*)
libname_spec='$name'
- shrext_cmds=".dll"
+ version_type=windows
+ shrext_cmds=.dll
+ need_version=no
need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
+ # OS/2 can only load a DLL with a base name of 8 characters or less.
+ soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+ v=$($ECHO $release$versuffix | tr -d .-);
+ n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+ $ECHO $n$v`$shared_ext'
+ library_names_spec='${libname}_dll.$libext'
dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
+ shlibpath_var=BEGINLIBPATH
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
;;
osf3* | osf4* | osf5*)
version_type=osf
need_lib_prefix=no
need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
-sco3.2v5*)
- version_type=osf
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
+rdos*)
+ dynamic_linker=no
;;
solaris*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
@@ -17740,26 +17832,25 @@ solaris*)
sunos4*)
version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
need_lib_prefix=no
fi
need_version=yes
;;
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+sysv4 | sysv4.3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
case $host_vendor in
sni)
shlibpath_overrides_runpath=no
need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
runpath_var=LD_RUN_PATH
;;
siemens)
@@ -17775,18 +17866,51 @@ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
;;
sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
+ if test -d /usr/nec; then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+ soname_spec='$libname$shared_ext.$major'
shlibpath_var=LD_LIBRARY_PATH
fi
;;
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=sco
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test yes = "$with_gnu_ld"; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -17794,1762 +17918,128 @@ uts4*)
dynamic_linker=no
;;
esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
-test "$dynamic_linker" = no && can_build_shared=no
-
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
-hardcode_action_GCJ=
-if test -n "$hardcode_libdir_flag_spec_GCJ" || \
- test -n "$runpath_var_GCJ" || \
- test "X$hardcode_automatic_GCJ" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$hardcode_direct_GCJ" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
- test "$hardcode_minus_L_GCJ" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action_GCJ=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action_GCJ=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action_GCJ=unsupported
-fi
-echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
-echo "${ECHO_T}$hardcode_action_GCJ" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+printf "%s\n" "$dynamic_linker" >&6; }
+test no = "$dynamic_linker" && can_build_shared=no
-if test "$hardcode_action_GCJ" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-striplib=
-old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
- ;;
- *)
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- ;;
- esac
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test yes = "$GCC"; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dl_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dl_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+ sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+ sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
fi
- ;;
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
- *)
- echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
-if test "${ac_cv_func_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define shl_load innocuous_shl_load
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char shl_load (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
-#undef shl_load
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char shl_load ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
-choke me
-#else
-char (*f) () = shl_load;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != shl_load;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_shl_load=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_func_shl_load=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6
-if test $ac_cv_func_shl_load = yes; then
- lt_cv_dlopen="shl_load"
-else
- echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char shl_load ();
-int
-main ()
-{
-shl_load ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dld_shl_load=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_dld_shl_load=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
-if test $ac_cv_lib_dld_shl_load = yes; then
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
-else
- echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
-if test "${ac_cv_func_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define dlopen innocuous_dlopen
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char dlopen (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-#undef dlopen
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_dlopen) || defined (__stub___dlopen)
-choke me
-#else
-char (*f) () = dlopen;
-#endif
-#ifdef __cplusplus
-}
-#endif
-int
-main ()
-{
-return f != dlopen;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_func_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6
-if test $ac_cv_func_dlopen = yes; then
- lt_cv_dlopen="dlopen"
-else
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dl_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_dl_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_svld_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_svld_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
-if test $ac_cv_lib_svld_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dld_link ();
-int
-main ()
-{
-dld_link ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dld_dld_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_dld_dld_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
-if test $ac_cv_lib_dld_dld_link = yes; then
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
-fi
-fi
-fi
-fi
-fi
-fi
- ;;
- esac
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
- save_LDFLAGS="$LDFLAGS"
- eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
- echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
-if test "${lt_cv_dlopen_self+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-#line 18472 "configure"
-#include "confdefs.h"
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-#include <stdio.h>
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+printf %s "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action_CXX=
+if test -n "$hardcode_libdir_flag_spec_CXX" ||
+ test -n "$runpath_var_CXX" ||
+ test yes = "$hardcode_automatic_CXX"; then
- exit (status);
-}
-EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_unknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
+ # We can hardcode non-existent directories.
+ if test no != "$hardcode_direct_CXX" &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" &&
+ test no != "$hardcode_minus_L_CXX"; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action_CXX=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action_CXX=immediate
fi
-fi
-rm -fr conftest*
-
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- LDFLAGS="$LDFLAGS $link_static_flag"
- echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
-if test "${lt_cv_dlopen_self_static+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-#line 18570 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
-
- exit (status);
-}
-EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action_CXX=unsupported
fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
+printf "%s\n" "$hardcode_action_CXX" >&6; }
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_GCJ \
- CC_GCJ \
- LD_GCJ \
- lt_prog_compiler_wl_GCJ \
- lt_prog_compiler_pic_GCJ \
- lt_prog_compiler_static_GCJ \
- lt_prog_compiler_no_builtin_flag_GCJ \
- export_dynamic_flag_spec_GCJ \
- thread_safe_flag_spec_GCJ \
- whole_archive_flag_spec_GCJ \
- enable_shared_with_static_runtimes_GCJ \
- old_archive_cmds_GCJ \
- old_archive_from_new_cmds_GCJ \
- predep_objects_GCJ \
- postdep_objects_GCJ \
- predeps_GCJ \
- postdeps_GCJ \
- compiler_lib_search_path_GCJ \
- archive_cmds_GCJ \
- archive_expsym_cmds_GCJ \
- postinstall_cmds_GCJ \
- postuninstall_cmds_GCJ \
- old_archive_from_expsyms_cmds_GCJ \
- allow_undefined_flag_GCJ \
- no_undefined_flag_GCJ \
- export_symbols_cmds_GCJ \
- hardcode_libdir_flag_spec_GCJ \
- hardcode_libdir_flag_spec_ld_GCJ \
- hardcode_libdir_separator_GCJ \
- hardcode_automatic_GCJ \
- module_cmds_GCJ \
- module_expsym_cmds_GCJ \
- lt_cv_prog_compiler_c_o_GCJ \
- exclude_expsyms_GCJ \
- include_expsyms_GCJ; do
-
- case $var in
- old_archive_cmds_GCJ | \
- old_archive_from_new_cmds_GCJ | \
- archive_cmds_GCJ | \
- archive_expsym_cmds_GCJ | \
- module_cmds_GCJ | \
- module_expsym_cmds_GCJ | \
- old_archive_from_expsyms_cmds_GCJ | \
- export_symbols_cmds_GCJ | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_GCJ
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# A language-specific compiler.
-CC=$lt_compiler_GCJ
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_GCJ
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_GCJ
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_GCJ
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_GCJ
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_GCJ
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_GCJ
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_GCJ
-archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_GCJ
-module_expsym_cmds=$lt_module_expsym_cmds_GCJ
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_GCJ
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_GCJ
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_GCJ
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_GCJ
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_GCJ
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_GCJ
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_GCJ
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_GCJ
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_GCJ
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_GCJ
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_GCJ
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_GCJ"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_GCJ
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_GCJ
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_GCJ
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_GCJ
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
+if test relink = "$hardcode_action_CXX" ||
+ test yes = "$inherit_rpath_CXX"; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test yes = "$shlibpath_overrides_runpath" ||
+ test no = "$enable_shared"; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
- else
- tagname=""
- fi
- ;;
-
- RC)
-
-
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-objext_RC=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-compiler_RC=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-lt_cv_prog_compiler_c_o_RC=yes
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_RC \
- CC_RC \
- LD_RC \
- lt_prog_compiler_wl_RC \
- lt_prog_compiler_pic_RC \
- lt_prog_compiler_static_RC \
- lt_prog_compiler_no_builtin_flag_RC \
- export_dynamic_flag_spec_RC \
- thread_safe_flag_spec_RC \
- whole_archive_flag_spec_RC \
- enable_shared_with_static_runtimes_RC \
- old_archive_cmds_RC \
- old_archive_from_new_cmds_RC \
- predep_objects_RC \
- postdep_objects_RC \
- predeps_RC \
- postdeps_RC \
- compiler_lib_search_path_RC \
- archive_cmds_RC \
- archive_expsym_cmds_RC \
- postinstall_cmds_RC \
- postuninstall_cmds_RC \
- old_archive_from_expsyms_cmds_RC \
- allow_undefined_flag_RC \
- no_undefined_flag_RC \
- export_symbols_cmds_RC \
- hardcode_libdir_flag_spec_RC \
- hardcode_libdir_flag_spec_ld_RC \
- hardcode_libdir_separator_RC \
- hardcode_automatic_RC \
- module_cmds_RC \
- module_expsym_cmds_RC \
- lt_cv_prog_compiler_c_o_RC \
- exclude_expsyms_RC \
- include_expsyms_RC; do
-
- case $var in
- old_archive_cmds_RC | \
- old_archive_from_new_cmds_RC | \
- archive_cmds_RC | \
- archive_expsym_cmds_RC | \
- module_cmds_RC | \
- module_expsym_cmds_RC | \
- old_archive_from_expsyms_cmds_RC | \
- export_symbols_cmds_RC | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_RC
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# A language-specific compiler.
-CC=$lt_compiler_RC
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_RC
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_RC
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_RC
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_RC
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_RC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_RC
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_RC
-archive_expsym_cmds=$lt_archive_expsym_cmds_RC
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_RC
-module_expsym_cmds=$lt_module_expsym_cmds_RC
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_RC
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_RC
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_RC
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_RC
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_RC
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_RC
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_RC
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_RC
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_RC
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_RC
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_RC
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_RC
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_RC
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_RC"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_RC
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_RC
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_RC
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_RC
-# ### END LIBTOOL TAG CONFIG: $tagname
-__EOF__
+ fi # test -n "$compiler"
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+ with_gnu_ld=$lt_save_with_gnu_ld
+ lt_cv_path_LDCXX=$lt_cv_path_LD
+ lt_cv_path_LD=$lt_save_path_LD
+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test yes != "$_lt_caught_CXX_error"
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -19557,742 +18047,203 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-CC="$lt_save_CC"
-
- ;;
-
- *)
- { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
-echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
- { (exit 1); exit 1; }; }
- ;;
- esac
-
- # Append the new tag name to the list of available tags.
- if test -n "$tagname" ; then
- available_tags="$available_tags $tagname"
- fi
- fi
- done
- IFS="$lt_save_ifs"
-
- # Now substitute the updated list of available tags.
- if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
- mv "${ofile}T" "$ofile"
- chmod +x "$ofile"
- else
- rm -f "${ofile}T"
- { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
-echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
- { (exit 1); exit 1; }; }
- fi
-fi
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-# Prevent multiple expansion
-
-
-
-
-
-
-
-
-
-
-
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are using the CLANG C compiler" >&5
+printf %s "checking whether we are using the CLANG C compiler... " >&6; }
+if test ${xiph_cv_c_compiler_clang+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
-
-
-
-
-
-
-
-sed -e 's/^build_old_libs=yes/build_old_libs=no/' libtool > libtool-disable-static
-chmod +x libtool-disable-static
-
-ACLOCAL_AMFLAGS="-I m4"
-
-
-# By default we simply use the C compiler to build assembly code.
-
-: ${CCAS='$(CC)'}
-# Set ASFLAGS if not already set.
-: ${CCASFLAGS='$(CFLAGS)'}
-
-
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
- echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$CXX" && break
- done
-fi
-if test -z "$CXX"; then
- ac_ct_CXX=$CXX
- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CXX"; then
- ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CXX="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
- echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$ac_ct_CXX" && break
-done
-test -n "$ac_ct_CXX" || ac_ct_CXX="g++"
-
- CXX=$ac_ct_CXX
-fi
-
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C++ compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-
-echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+ #include <stdio.h>
+
int
-main ()
+main (void)
{
-#ifndef __GNUC__
- choke me
-#endif
+
+ #ifndef __clang__
+ This is not clang!
+ #endif
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_link "$LINENO"
+then :
+ xiph_cv_c_compiler_clang=yes
+else $as_nop
+ xiph_cv_c_compiler_clang=no
-ac_compiler_gnu=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
-GXX=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-CXXFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
-if test "${ac_cv_prog_cxx_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $xiph_cv_c_compiler_clang" >&5
+printf "%s\n" "$xiph_cv_c_compiler_clang" >&6; }
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cxx_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_prog_cxx_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
-if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
- if test "$GXX" = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-g"
- fi
-else
- if test "$GXX" = yes; then
- CXXFLAGS="-O2"
- else
- CXXFLAGS=
- fi
-fi
-for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ if test "x$ac_cv_c_compiler_gnu" = "xyes" ; then
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
+ #include <stdio.h>
+
int
-main ()
+main (void)
{
-exit (42);
+
+ #ifdef __clang__
+ This is clang!
+ #endif
+
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-depcc="$CXX" am_compiler_list=
-
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CXX_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- : > sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # (even with -Werror). So we grep stderr for any message
- # that says an option was ignored.
- if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else
- am_cv_CXX_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CXX_dependencies_compiler_type=none
-fi
-
-fi
-echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
-
-
-
-if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
- am__fastdepCXX_TRUE=
- am__fastdepCXX_FALSE='#'
-else
- am__fastdepCXX_TRUE='#'
- am__fastdepCXX_FALSE=
-fi
-
-
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+if ac_fn_c_try_link "$LINENO"
+then :
+ ac_cv_c_compiler_gnu=yes
+else $as_nop
+ ac_cv_c_compiler_gnu=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ fi
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval test \${ac_cv_prog_make_${ac_make}_set+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
all:
- @echo 'ac_maketemp="$(MAKE)"'
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
rm -f conftest.make
fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
SET_MAKE=
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
-# Check whether --enable-largefile or --disable-largefile was given.
-if test "${enable_largefile+set}" = set; then
- enableval="$enable_largefile"
-fi;
+# Check whether --enable-largefile was given.
+if test ${enable_largefile+y}
+then :
+ enableval=$enable_largefile;
+fi
+
if test "$enable_largefile" != no; then
- echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5
-echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6
-if test "${ac_cv_sys_largefile_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
+printf %s "checking for special C compiler options needed for large files... " >&6; }
+if test ${ac_cv_sys_largefile_CC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
ac_cv_sys_largefile_CC=no
if test "$GCC" != yes; then
ac_save_CC=$CC
while :; do
- # IRIX 6.2 and later do not support large files by default,
- # so use the C compiler's -n32 option if that helps.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ # IRIX 6.2 and later do not support large files by default,
+ # so use the C compiler's -n32 option if that helps.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
/* Check that off_t can represent 2**63 - 1 correctly.
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
- rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ if ac_fn_c_try_compile "$LINENO"
+then :
break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
fi
-rm -f conftest.err conftest.$ac_objext
- CC="$CC -n32"
- rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+ CC="$CC -n32"
+ if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_sys_largefile_CC=' -n32'; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
fi
-rm -f conftest.err conftest.$ac_objext
+rm -f core conftest.err conftest.$ac_objext conftest.beam
break
done
CC=$ac_save_CC
rm -f conftest.$ac_ext
fi
fi
-echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5
-echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
+printf "%s\n" "$ac_cv_sys_largefile_CC" >&6; }
if test "$ac_cv_sys_largefile_CC" != no; then
CC=$CC$ac_cv_sys_largefile_CC
fi
- echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6
-if test "${ac_cv_sys_file_offset_bits+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+printf %s "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+if test ${ac_cv_sys_file_offset_bits+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
while :; do
- ac_cv_sys_file_offset_bits=no
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
/* Check that off_t can represent 2**63 - 1 correctly.
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_sys_file_offset_bits=no; break
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#define _FILE_OFFSET_BITS 64
#include <sys/types.h>
@@ -20300,124 +18251,69 @@ cat >>conftest.$ac_ext <<_ACEOF
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_sys_file_offset_bits=64; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ ac_cv_sys_file_offset_bits=unknown
break
done
fi
-echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5
-echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6
-if test "$ac_cv_sys_file_offset_bits" != no; then
-
-cat >>confdefs.h <<_ACEOF
-#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
-_ACEOF
-
-fi
-rm -f conftest*
- echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5
-echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6
-if test "${ac_cv_sys_large_files+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
+printf "%s\n" "$ac_cv_sys_file_offset_bits" >&6; }
+case $ac_cv_sys_file_offset_bits in #(
+ no | unknown) ;;
+ *)
+printf "%s\n" "#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits" >>confdefs.h
+;;
+esac
+rm -rf conftest*
+ if test $ac_cv_sys_file_offset_bits = unknown; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
+printf %s "checking for _LARGE_FILES value needed for large files... " >&6; }
+if test ${ac_cv_sys_large_files+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
while :; do
- ac_cv_sys_large_files=no
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
/* Check that off_t can represent 2**63 - 1 correctly.
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_sys_large_files=no; break
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#define _LARGE_FILES 1
#include <sys/types.h>
@@ -20425,1089 +18321,858 @@ cat >>conftest.$ac_ext <<_ACEOF
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_sys_large_files=1; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ ac_cv_sys_large_files=unknown
break
done
fi
-echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5
-echo "${ECHO_T}$ac_cv_sys_large_files" >&6
-if test "$ac_cv_sys_large_files" != no; then
-
-cat >>confdefs.h <<_ACEOF
-#define _LARGE_FILES $ac_cv_sys_large_files
-_ACEOF
-
-fi
-rm -f conftest*
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
+printf "%s\n" "$ac_cv_sys_large_files" >&6; }
+case $ac_cv_sys_large_files in #(
+ no | unknown) ;;
+ *)
+printf "%s\n" "#define _LARGE_FILES $ac_cv_sys_large_files" >>confdefs.h
+;;
+esac
+rm -rf conftest*
+ fi
fi
-echo "$as_me:$LINENO: checking for _LARGEFILE_SOURCE value needed for large files" >&5
-echo $ECHO_N "checking for _LARGEFILE_SOURCE value needed for large files... $ECHO_C" >&6
-if test "${ac_cv_sys_largefile_source+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5
+printf %s "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; }
+if test ${ac_cv_sys_largefile_source+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
while :; do
- ac_cv_sys_largefile_source=no
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <stdio.h>
+#include <sys/types.h> /* for off_t */
+ #include <stdio.h>
int
-main ()
+main (void)
{
-return !fseeko;
+int (*fp) (FILE *, off_t, int) = fseeko;
+ return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
+if ac_fn_c_try_link "$LINENO"
+then :
+ ac_cv_sys_largefile_source=no; break
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#define _LARGEFILE_SOURCE 1
-#include <stdio.h>
+#include <sys/types.h> /* for off_t */
+ #include <stdio.h>
int
-main ()
+main (void)
{
-return !fseeko;
+int (*fp) (FILE *, off_t, int) = fseeko;
+ return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_c_try_link "$LINENO"
+then :
ac_cv_sys_largefile_source=1; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ ac_cv_sys_largefile_source=unknown
break
done
fi
-echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_source" >&5
-echo "${ECHO_T}$ac_cv_sys_largefile_source" >&6
-if test "$ac_cv_sys_largefile_source" != no; then
-
-cat >>confdefs.h <<_ACEOF
-#define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source
-_ACEOF
-
-fi
-rm -f conftest*
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_source" >&5
+printf "%s\n" "$ac_cv_sys_largefile_source" >&6; }
+case $ac_cv_sys_largefile_source in #(
+ no | unknown) ;;
+ *)
+printf "%s\n" "#define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source" >>confdefs.h
+;;
+esac
+rm -rf conftest*
# We used to try defining _XOPEN_SOURCE=500 too, to work around a bug
# in glibc 2.1.3, but that breaks too many other things.
# If you want fseeko and ftello with glibc, upgrade to a fixed glibc.
-echo "$as_me:$LINENO: checking for fseeko" >&5
-echo $ECHO_N "checking for fseeko... $ECHO_C" >&6
-if test "${ac_cv_func_fseeko+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-return fseeko && fseeko (stdin, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_fseeko=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if test $ac_cv_sys_largefile_source != unknown; then
+
+printf "%s\n" "#define HAVE_FSEEKO 1" >>confdefs.h
+
+fi
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5
+printf %s "checking size of off_t... " >&6; }
+if test ${ac_cv_sizeof_off_t+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t" "$ac_includes_default"
+then :
-ac_cv_func_fseeko=no
+else $as_nop
+ if test "$ac_cv_type_off_t" = yes; then
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (off_t)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_off_t=0
+ fi
fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+
fi
-echo "$as_me:$LINENO: result: $ac_cv_func_fseeko" >&5
-echo "${ECHO_T}$ac_cv_func_fseeko" >&6
-if test $ac_cv_func_fseeko = yes; then
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_off_t" >&5
+printf "%s\n" "$ac_cv_sizeof_off_t" >&6; }
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_FSEEKO 1
-_ACEOF
+
+printf "%s\n" "#define SIZEOF_OFF_T $ac_cv_sizeof_off_t" >>confdefs.h
+
+ # Fake default value.
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of void*" >&5
+printf %s "checking size of void*... " >&6; }
+if test ${ac_cv_sizeof_voidp+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void*))" "ac_cv_sizeof_voidp" "$ac_includes_default"
+then :
+
+else $as_nop
+ if test "$ac_cv_type_voidp" = yes; then
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (void*)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_voidp=0
+ fi
fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_voidp" >&5
+printf "%s\n" "$ac_cv_sizeof_voidp" >&6; }
-echo "$as_me:$LINENO: checking for void*" >&5
-echo $ECHO_N "checking for void*... $ECHO_C" >&6
-if test "${ac_cv_type_voidp+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+
+
+printf "%s\n" "#define SIZEOF_VOIDP $ac_cv_sizeof_voidp" >>confdefs.h
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing lround" >&5
+printf %s "checking for library containing lround... " >&6; }
+if test ${ac_cv_search_lround+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-$ac_includes_default
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+char lround ();
int
-main ()
+main (void)
{
-if ((void* *) 0)
- return 0;
-if (sizeof (void*))
- return 0;
+return lround ();
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_voidp=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+for ac_lib in '' m
+do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"
+then :
+ ac_cv_search_lround=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext
+ if test ${ac_cv_search_lround+y}
+then :
+ break
+fi
+done
+if test ${ac_cv_search_lround+y}
+then :
-ac_cv_type_voidp=no
+else $as_nop
+ ac_cv_search_lround=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_type_voidp" >&5
-echo "${ECHO_T}$ac_cv_type_voidp" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_lround" >&5
+printf "%s\n" "$ac_cv_search_lround" >&6; }
+ac_res=$ac_cv_search_lround
+if test "$ac_res" != no
+then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-echo "$as_me:$LINENO: checking size of void*" >&5
-echo $ECHO_N "checking size of void*... $ECHO_C" >&6
-if test "${ac_cv_sizeof_voidp+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$ac_cv_type_voidp" = yes; then
- # The cast to unsigned long works around a bug in the HP C Compiler
- # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
- # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
- # This bug is HP SR number 8606223364.
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (void*))) >= 0)];
-test_array [0] = 0
+printf "%s\n" "#define HAVE_LROUND 1" >>confdefs.h
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+fi
+
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
+printf %s "checking for inline... " >&6; }
+if test ${ac_cv_c_inline+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_cv_c_inline=no
+for ac_kw in inline __inline__ __inline; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (void*))) <= $ac_mid)];
-test_array [0] = 0
+#ifndef __cplusplus
+typedef int foo_t;
+static $ac_kw foo_t static_foo (void) {return 0; }
+$ac_kw foo_t foo (void) {return 0; }
+#endif
- ;
- return 0;
-}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_c_inline=$ac_kw
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ test "$ac_cv_c_inline" != no && break
+done
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
+printf "%s\n" "$ac_cv_c_inline" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
+case $ac_cv_c_inline in
+ inline | yes) ;;
+ *)
+ case $ac_cv_c_inline in
+ no) ac_val=;;
+ *) ac_val=$ac_cv_c_inline;;
+ esac
+ cat >>confdefs.h <<_ACEOF
+#ifndef __cplusplus
+#define inline $ac_val
+#endif
_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (void*))) < 0)];
-test_array [0] = 0
+ ;;
+esac
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for typeof syntax and keyword spelling" >&5
+printf %s "checking for typeof syntax and keyword spelling... " >&6; }
+if test ${ac_cv_c_typeof+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_cv_c_typeof=no
+ for ac_kw in typeof __typeof__ no; do
+ test $ac_kw = no && break
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-$ac_includes_default
+
int
-main ()
+main (void)
{
-static int test_array [1 - 2 * !(((long) (sizeof (void*))) >= $ac_mid)];
-test_array [0] = 0
+
+ int value;
+ typedef struct {
+ char a [1
+ + ! (($ac_kw (value))
+ (($ac_kw (value)) 0 < ($ac_kw (value)) -1
+ ? ($ac_kw (value)) - 1
+ : ~ (~ ($ac_kw (value)) 0
+ << sizeof ($ac_kw (value)))))]; }
+ ac__typeof_type_;
+ return
+ (! ((void) ((ac__typeof_type_ *) 0), 0));
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_c_typeof=$ac_kw
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ test $ac_cv_c_typeof != no && break
+ done
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_typeof" >&5
+printf "%s\n" "$ac_cv_c_typeof" >&6; }
+ if test $ac_cv_c_typeof != no; then
+
+printf "%s\n" "#define HAVE_TYPEOF 1" >>confdefs.h
+
+ if test $ac_cv_c_typeof != typeof; then
+
+printf "%s\n" "#define typeof $ac_cv_c_typeof" >>confdefs.h
+
+ fi
+ fi
+
+
+ac_fn_c_check_header_compile "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default"
+if test "x$ac_cv_header_stdint_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_STDINT_H 1" >>confdefs.h
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ac_fn_c_check_header_compile "$LINENO" "stdbool.h" "ac_cv_header_stdbool_h" "$ac_includes_default"
+if test "x$ac_cv_header_stdbool_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_STDBOOL_H 1" >>confdefs.h
-ac_lo= ac_hi=
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_fn_c_check_header_compile "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default"
+if test "x$ac_cv_header_inttypes_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_INTTYPES_H 1" >>confdefs.h
+
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ac_fn_c_check_header_compile "$LINENO" "byteswap.h" "ac_cv_header_byteswap_h" "$ac_includes_default"
+if test "x$ac_cv_header_byteswap_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_BYTESWAP_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/auxv.h" "ac_cv_header_sys_auxv_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_auxv_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_SYS_AUXV_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_param_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_SYS_PARAM_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/ioctl.h" "ac_cv_header_sys_ioctl_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_ioctl_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_SYS_IOCTL_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "termios.h" "ac_cv_header_termios_h" "$ac_includes_default"
+if test "x$ac_cv_header_termios_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_TERMIOS_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "x86intrin.h" "ac_cv_header_x86intrin_h" "$ac_includes_default"
+if test "x$ac_cv_header_x86intrin_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_X86INTRIN_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "cpuid.h" "ac_cv_header_cpuid_h" "$ac_includes_default"
+if test "x$ac_cv_header_cpuid_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_CPUID_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "arm_neon.h" "ac_cv_header_arm_neon_h" "$ac_includes_default"
+if test "x$ac_cv_header_arm_neon_h" = xyes
+then :
+ printf "%s\n" "#define HAVE_ARM_NEON_H 1" >>confdefs.h
+
+fi
+
+
+if test "x$ac_cv_header_stdint_h" != xyes -o "x$ac_cv_header_stdbool_h" != xyes; then
+as_fn_error $? "\"Header stdint.h and/or stdbool.h not found\"" "$LINENO" 5
+fi
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bswap32 intrinsic" >&5
+printf %s "checking for bswap32 intrinsic... " >&6; }
+if test ${ac_cv_c_bswap32+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-$ac_includes_default
+
int
-main ()
+main (void)
{
-static int test_array [1 - 2 * !(((long) (sizeof (void*))) <= $ac_mid)];
-test_array [0] = 0
-
+return __builtin_bswap32 (0) ;
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_link "$LINENO"
+then :
+ ac_cv_c_bswap32=yes
+else $as_nop
+ ac_cv_c_bswap32=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ if test $ac_cv_c_bswap32 = yes; then
+
+printf "%s\n" "#define HAVE_BSWAP32 1" >>confdefs.h
+
+ fi
-ac_lo=`expr '(' $ac_mid ')' + 1`
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_voidp=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (void*), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (void*), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bswap32" >&5
+printf "%s\n" "$ac_cv_c_bswap32" >&6; }
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bswap16 intrinsic" >&5
+printf %s "checking for bswap16 intrinsic... " >&6; }
+if test ${ac_cv_c_bswap16+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-$ac_includes_default
-long longval () { return (long) (sizeof (void*)); }
-unsigned long ulongval () { return (long) (sizeof (void*)); }
-#include <stdio.h>
-#include <stdlib.h>
+
int
-main ()
+main (void)
{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if (((long) (sizeof (void*))) < 0)
- {
- long i = longval ();
- if (i != ((long) (sizeof (void*))))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != ((long) (sizeof (void*))))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
+return __builtin_bswap16 (0) ;
;
return 0;
}
_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_voidp=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (void*), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (void*), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
+if ac_fn_c_try_link "$LINENO"
+then :
+ ac_cv_c_bswap16=yes
+else $as_nop
+ ac_cv_c_bswap16=no
fi
-rm -f conftest.val
-else
- ac_cv_sizeof_voidp=0
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_voidp" >&5
-echo "${ECHO_T}$ac_cv_sizeof_voidp" >&6
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_VOIDP $ac_cv_sizeof_voidp
-_ACEOF
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ if test $ac_cv_c_bswap16 = yes; then
+
+printf "%s\n" "#define HAVE_BSWAP16 1" >>confdefs.h
+ fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bswap16" >&5
+printf "%s\n" "$ac_cv_c_bswap16" >&6; }
-#@@@ new name is AC_CONFIG_HEADERS
- ac_config_headers="$ac_config_headers config.h"
+ac_cv_c_big_endian=0
+ac_cv_c_little_endian=0
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
+printf %s "checking whether byte ordering is bigendian... " >&6; }
+if test ${ac_cv_c_bigendian+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_cv_c_bigendian=unknown
+ # See if we're dealing with a universal compiler.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __APPLE_CC__
+ not a universal capable compiler
+ #endif
+ typedef int dummy;
-echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
-echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6
-if test "${ac_cv_c_bigendian+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # See if sys/param.h defines the BYTE_ORDER macro.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+
+ # Check for potential -arch flags. It is not universal unless
+ # there are at least two -arch flags with different values.
+ ac_arch=
+ ac_prev=
+ for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+ if test -n "$ac_prev"; then
+ case $ac_word in
+ i?86 | x86_64 | ppc | ppc64)
+ if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+ ac_arch=$ac_word
+ else
+ ac_cv_c_bigendian=universal
+ break
+ fi
+ ;;
+ esac
+ ac_prev=
+ elif test "x$ac_word" = "x-arch"; then
+ ac_prev=arch
+ fi
+ done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if sys/param.h defines the BYTE_ORDER macro.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
-#include <sys/param.h>
+ #include <sys/param.h>
int
-main ()
+main (void)
{
-#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
- bogus endian macros
-#endif
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+ && LITTLE_ENDIAN)
+ bogus endian macros
+ #endif
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_c_try_compile "$LINENO"
+then :
# It does; now see whether it defined to BIG_ENDIAN or not.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
-#include <sys/param.h>
+ #include <sys/param.h>
int
-main ()
+main (void)
{
#if BYTE_ORDER != BIG_ENDIAN
- not big endian
-#endif
+ not big endian
+ #endif
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_c_bigendian=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_c_bigendian=no
+else $as_nop
+ ac_cv_c_bigendian=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
-# It does not; compile a test program.
-if test "$cross_compiling" = yes; then
- # try to guess the endianness by grepping values into an object file
- ac_cv_c_bigendian=unknown
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
+int
+main (void)
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ # It does; now see whether it defined to _BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
-short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
+#include <limits.h>
+
int
-main ()
+main (void)
{
- _ascii (); _ebcdic ();
+#ifndef _BIG_ENDIAN
+ not big endian
+ #endif
+
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
+if ac_fn_c_try_compile "$LINENO"
+then :
ac_cv_c_bigendian=yes
+else $as_nop
+ ac_cv_c_bigendian=no
fi
-if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- if test "$ac_cv_c_bigendian" = unknown; then
- ac_cv_c_bigendian=no
- else
- # finding both strings is unlikely to happen, but who knows?
- ac_cv_c_bigendian=unknown
- fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # Compile a test program.
+ if test "$cross_compiling" = yes
+then :
+ # Try to guess by grepping values from an object file.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+unsigned short int ascii_mm[] =
+ { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+ unsigned short int ascii_ii[] =
+ { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+ int use_ascii (int i) {
+ return ascii_mm[i] + ascii_ii[i];
+ }
+ unsigned short int ebcdic_ii[] =
+ { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+ unsigned short int ebcdic_mm[] =
+ { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+ int use_ebcdic (int i) {
+ return ebcdic_mm[i] + ebcdic_ii[i];
+ }
+ extern int foo;
+
int
-main ()
+main (void)
{
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long l;
- char c[sizeof (long)];
- } u;
- u.l = 1;
- exit (u.c[sizeof (long) - 1] == 1);
+return use_ascii (foo) == use_ebcdic (foo);
+ ;
+ return 0;
}
_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_c_bigendian=no
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_c_bigendian=yes
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+if ac_fn_c_try_compile "$LINENO"
+then :
+ if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+ ac_cv_c_bigendian=yes
+ fi
+ if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+ if test "$ac_cv_c_bigendian" = unknown; then
+ ac_cv_c_bigendian=no
+ else
+ # finding both strings is unlikely to happen, but who knows?
+ ac_cv_c_bigendian=unknown
+ fi
+ fi
fi
-echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
-echo "${ECHO_T}$ac_cv_c_bigendian" >&6
-case $ac_cv_c_bigendian in
- yes)
-
-cat >>confdefs.h <<\_ACEOF
-#define WORDS_BIGENDIAN 1
-_ACEOF
- ;;
- no)
- ;;
- *)
- { { echo "$as_me:$LINENO: error: unknown endianness
-presetting ac_cv_c_bigendian=no (or yes) will help" >&5
-echo "$as_me: error: unknown endianness
-presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-
-
-echo "$as_me:$LINENO: checking for socklen_t" >&5
-echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6
-if test "${ac_cv_type_socklen_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
int
-main ()
+main (void)
{
-if ((socklen_t *) 0)
- return 0;
-if (sizeof (socklen_t))
- return 0;
+
+ /* Are we little or big endian? From Harbison&Steele. */
+ union
+ {
+ long int l;
+ char c[sizeof (long int)];
+ } u;
+ u.l = 1;
+ return u.c[sizeof (long int) - 1] == 1;
+
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_socklen_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_socklen_t=no
+if ac_fn_c_try_run "$LINENO"
+then :
+ ac_cv_c_bigendian=no
+else $as_nop
+ ac_cv_c_bigendian=yes
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_type_socklen_t" >&5
-echo "${ECHO_T}$ac_cv_type_socklen_t" >&6
-if test $ac_cv_type_socklen_t = yes; then
-cat >>confdefs.h <<_ACEOF
-#define HAVE_SOCKLEN_T 1
-_ACEOF
+ fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
+printf "%s\n" "$ac_cv_c_bigendian" >&6; }
+ case $ac_cv_c_bigendian in #(
+ yes)
+ ac_cv_c_big_endian=1;; #(
+ no)
+ ac_cv_c_little_endian=1 ;; #(
+ universal)
+printf "%s\n" "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-fi
+ ;; #(
+ *)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *****************************************************************" >&5
+printf "%s\n" "$as_me: WARNING: *****************************************************************" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Not able to determine endian-ness of target processor. " >&5
+printf "%s\n" "$as_me: WARNING: *** Not able to determine endian-ness of target processor. " >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** The constants CPU_IS_BIG_ENDIAN and CPU_IS_LITTLE_ENDIAN in " >&5
+printf "%s\n" "$as_me: WARNING: *** The constants CPU_IS_BIG_ENDIAN and CPU_IS_LITTLE_ENDIAN in " >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** config.h may need to be hand editied. " >&5
+printf "%s\n" "$as_me: WARNING: *** config.h may need to be hand editied. " >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *****************************************************************" >&5
+printf "%s\n" "$as_me: WARNING: *****************************************************************" >&2;}
+ ;;
+ esac
-for ac_func in getopt_long
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
+printf "%s\n" "#define CPU_IS_BIG_ENDIAN ${ac_cv_c_big_endian}" >>confdefs.h
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
+printf "%s\n" "#define CPU_IS_LITTLE_ENDIAN ${ac_cv_c_little_endian}" >>confdefs.h
-#undef $ac_func
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
+printf "%s\n" "#define WORDS_BIGENDIAN ${ac_cv_c_big_endian}" >>confdefs.h
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
+
+# Check whether --enable-asm-optimizations was given.
+if test ${enable_asm_optimizations+y}
+then :
+ enableval=$enable_asm_optimizations; asm_opt=no
+else $as_nop
+ asm_opt=yes
+fi
+
+ if test "x$asm_opt" = xno; then
+ FLaC__NO_ASM_TRUE=
+ FLaC__NO_ASM_FALSE='#'
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ FLaC__NO_ASM_TRUE='#'
+ FLaC__NO_ASM_FALSE=
+fi
+
+if test "x$asm_opt" = xno ; then
+printf "%s\n" "#define FLAC__NO_ASM 1" >>confdefs.h
+
+
+fi
+
+ac_fn_c_check_func "$LINENO" "getauxval" "ac_cv_func_getauxval"
+if test "x$ac_cv_func_getauxval" = xyes
+then :
+ printf "%s\n" "#define HAVE_GETAUXVAL 1" >>confdefs.h
-eval "$as_ac_var=no"
fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+
+
+ac_fn_c_check_func "$LINENO" "getopt_long" "ac_cv_func_getopt_long"
+if test "x$ac_cv_func_getopt_long" = xyes
+then :
+ printf "%s\n" "#define HAVE_GETOPT_LONG 1" >>confdefs.h
+
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of void*" >&5
+printf %s "checking size of void*... " >&6; }
+if test ${ac_cv_sizeof_voidp+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void*))" "ac_cv_sizeof_voidp" "$ac_includes_default"
+then :
+
+else $as_nop
+ if test "$ac_cv_type_voidp" = yes; then
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (void*)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_voidp=0
+ fi
fi
-done
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_voidp" >&5
+printf "%s\n" "$ac_cv_sizeof_voidp" >&6; }
+
+printf "%s\n" "#define SIZEOF_VOIDP $ac_cv_sizeof_voidp" >>confdefs.h
+
+
+
+asm_optimisation=no
case "$host_cpu" in
- i*86)
- cpu_ia32=true
- cat >>confdefs.h <<\_ACEOF
-#define FLAC__CPU_IA32 1
-_ACEOF
+ amd64|x86_64)
+ case "$host" in
+ *gnux32)
+ # x32 user space and 64 bit kernel.
+ cpu_x86_64=true
+ printf "%s\n" "#define FLAC__CPU_X86_64 1" >>confdefs.h
+ ;;
+ *)
+ if test $ac_cv_sizeof_voidp = 4 ; then
+ # This must be a 32 bit user space running on 64 bit kernel so treat
+ # this as ia32.
+ cpu_ia32=true
+ printf "%s\n" "#define FLAC__CPU_IA32 1" >>confdefs.h
- ;;
- powerpc)
- cpu_ppc=true
- cat >>confdefs.h <<\_ACEOF
-#define FLAC__CPU_PPC 1
-_ACEOF
+ else
+ # x86_64 user space and kernel.
+ cpu_x86_64=true
+ printf "%s\n" "#define FLAC__CPU_X86_64 1" >>confdefs.h
+ fi
+ ;;
+ esac
;;
- sparc)
- cpu_sparc=true
- cat >>confdefs.h <<\_ACEOF
-#define FLAC__CPU_SPARC 1
-_ACEOF
+ i*86)
+ cpu_ia32=true
+ printf "%s\n" "#define FLAC__CPU_IA32 1" >>confdefs.h
+
+ ;;
+ arm64|aarch64)
+ cpu_arm64=true
+ printf "%s\n" "#define FLAC__CPU_ARM64 1" >>confdefs.h
;;
esac
+ if test "x$cpu_x86_64" = xtrue; then
+ FLAC__CPU_X86_64_TRUE=
+ FLAC__CPU_X86_64_FALSE='#'
+else
+ FLAC__CPU_X86_64_TRUE='#'
+ FLAC__CPU_X86_64_FALSE=
+fi
-
-if test "x$cpu_ia32" = xtrue; then
+ if test "x$cpu_ia32" = xtrue; then
FLaC__CPU_IA32_TRUE=
FLaC__CPU_IA32_FALSE='#'
else
@@ -21515,65 +19180,217 @@ else
FLaC__CPU_IA32_FALSE=
fi
+ if test "x$cpu_arm64" = xtrue; then
+ FLAC__CPU_ARM64_TRUE=
+ FLAC__CPU_ARM64_FALSE='#'
+else
+ FLAC__CPU_ARM64_TRUE='#'
+ FLAC__CPU_ARM64_FALSE=
+fi
+
+if test "x$ac_cv_header_x86intrin_h" = xyes -a "x$asm_opt" = xyes; then
-if test "x$cpu_ppc" = xtrue; then
- FLaC__CPU_PPC_TRUE=
- FLaC__CPU_PPC_FALSE='#'
+printf "%s\n" "#define FLAC__HAS_X86INTRIN 1" >>confdefs.h
+
+ asm_optimisation=yes
else
- FLaC__CPU_PPC_TRUE='#'
- FLaC__CPU_PPC_FALSE=
+ printf "%s\n" "#define FLAC__HAS_X86INTRIN 0" >>confdefs.h
+
fi
+if test "x$ac_cv_header_arm_neon_h" = xyes -a "x$asm_opt" = xyes; then
+printf "%s\n" "#define FLAC__HAS_NEONINTRIN 1" >>confdefs.h
-if test "x$cpu_sparc" = xtrue; then
- FLaC__CPU_SPARC_TRUE=
- FLaC__CPU_SPARC_FALSE='#'
-else
- FLaC__CPU_SPARC_TRUE='#'
- FLaC__CPU_SPARC_FALSE=
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether arm_neon.h has A64 functions" >&5
+printf %s "checking whether arm_neon.h has A64 functions... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <arm_neon.h>
+int
+main (void)
+{
+float64x2_t sum5; sum5 = vdupq_n_f64(0.0f);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ has_a64neon=yes
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ if test "x$has_a64neon" = xyes; then
+printf "%s\n" "#define FLAC__HAS_A64NEONINTRIN 1" >>confdefs.h
+
+ asm_optimisation=yes
+ else
+ printf "%s\n" "#define FLAC__HAS_A64NEONINTRIN 0" >>confdefs.h
+
+ fi
+else
+ printf "%s\n" "#define FLAC__HAS_NEONINTRIN 0" >>confdefs.h
+
+fi
case "$host" in
i386-*-openbsd3.[0-3]) OBJ_FORMAT=aoutb ;;
*-*-cygwin|*mingw*) OBJ_FORMAT=win32 ;;
*-*-darwin*) OBJ_FORMAT=macho ;;
+ *emx*) OBJ_FORMAT=aout ;;
+ *djgpp) OBJ_FORMAT=coff ;;
*) OBJ_FORMAT=elf ;;
esac
-# only needed because of ntohl() usage, can get rid of after that's gone:
+os_is_windows=no
case "$host" in
- *-*-cygwin|*mingw*) MINGW_WINSOCK_LIBS=-lwsock32 ;;
- *) MINGW_WINSOCK_LIBS= ;;
+ *mingw*)
+ os_is_windows=yes
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args.
+set dummy ${ac_tool_prefix}windres; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_RC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$RC"; then
+ ac_cv_prog_RC="$RC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_RC="${ac_tool_prefix}windres"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+RC=$ac_cv_prog_RC
+if test -n "$RC"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RC" >&5
+printf "%s\n" "$RC" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RC"; then
+ ac_ct_RC=$RC
+ # Extract the first word of "windres", so it can be a program name with args.
+set dummy windres; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_RC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_RC"; then
+ ac_cv_prog_ac_ct_RC="$ac_ct_RC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_RC="windres"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RC=$ac_cv_prog_ac_ct_RC
+if test -n "$ac_ct_RC"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RC" >&5
+printf "%s\n" "$ac_ct_RC" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+ if test "x$ac_ct_RC" = x; then
+ RC=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
esac
+ RC=$ac_ct_RC
+ fi
+else
+ RC="$ac_cv_prog_RC"
+fi
+
+ ;;
+esac
+
+ if test "x$os_is_windows" = xyes; then
+ OS_IS_WINDOWS_TRUE=
+ OS_IS_WINDOWS_FALSE='#'
+else
+ OS_IS_WINDOWS_TRUE='#'
+ OS_IS_WINDOWS_FALSE=
+fi
+
+ if test "x$RC" != "x:"; then
+ HAVE_WINDRES_TRUE=
+ HAVE_WINDRES_FALSE='#'
+else
+ HAVE_WINDRES_TRUE='#'
+ HAVE_WINDRES_FALSE=
+fi
case "$host" in
- *-pc-linux-gnu)
+ *-linux-*)
sys_linux=true
- cat >>confdefs.h <<\_ACEOF
-#define FLAC__SYS_LINUX 1
-_ACEOF
-
+ printf "%s\n" "#define FLAC__SYS_LINUX 1" >>confdefs.h
;;
*-*-darwin*)
sys_darwin=true
- cat >>confdefs.h <<\_ACEOF
-#define FLAC__SYS_DARWIN 1
-_ACEOF
-
+ printf "%s\n" "#define FLAC__SYS_DARWIN 1" >>confdefs.h
;;
esac
-
-
-if test "x$sys_darwin" = xtrue; then
+ if test "x$sys_darwin" = xtrue; then
FLaC__SYS_DARWIN_TRUE=
FLaC__SYS_DARWIN_FALSE='#'
else
@@ -21581,9 +19398,7 @@ else
FLaC__SYS_DARWIN_FALSE=
fi
-
-
-if test "x$sys_linux" = xtrue; then
+ if test "x$sys_linux" = xtrue; then
FLaC__SYS_LINUX_TRUE=
FLaC__SYS_LINUX_FALSE='#'
else
@@ -21592,234 +19407,300 @@ else
fi
-if test "x$cpu_ia32" = xtrue ; then
-cat >>confdefs.h <<\_ACEOF
-#define FLAC__ALIGN_MALLOC_DATA 1
-_ACEOF
-
+if test "x$cpu_ia32" = xtrue || test "x$cpu_x86_64" = xtrue ; then
+printf "%s\n" "#define FLAC__ALIGN_MALLOC_DATA 1" >>confdefs.h
fi
-# Check whether --enable-asm-optimizations or --disable-asm-optimizations was given.
-if test "${enable_asm_optimizations+set}" = set; then
- enableval="$enable_asm_optimizations"
- asm_opt=no
+ if test "x${ax_enable_debug}" = "xyes" || test "x${ax_enable_debug}" = "xinfo"; then
+ DEBUG_TRUE=
+ DEBUG_FALSE='#'
else
- asm_opt=yes
-fi;
+ DEBUG_TRUE='#'
+ DEBUG_FALSE=
+fi
-if test "x$asm_opt" = xno; then
- FLaC__NO_ASM_TRUE=
- FLaC__NO_ASM_FALSE='#'
-else
- FLaC__NO_ASM_TRUE='#'
- FLaC__NO_ASM_FALSE=
+# Check whether --enable-avx was given.
+if test ${enable_avx+y}
+then :
+ enableval=$enable_avx; case "${enableval}" in
+ yes) use_avx=true ;;
+ no) use_avx=false ;;
+ *) as_fn_error $? "bad value ${enableval} for --enable-avx" "$LINENO" 5 ;;
+esac
+else $as_nop
+ use_avx=true
fi
-if test "x$asm_opt" = xno ; then
-cat >>confdefs.h <<\_ACEOF
-#define FLAC__NO_ASM 1
-_ACEOF
+ if test "x$use_avx" = xtrue; then
+ FLaC__USE_AVX_TRUE=
+ FLaC__USE_AVX_FALSE='#'
+else
+ FLaC__USE_AVX_TRUE='#'
+ FLaC__USE_AVX_FALSE=
+fi
+if test "x$use_avx" = xtrue ; then
+printf "%s\n" "#define FLAC__USE_AVX 1" >>confdefs.h
fi
-# Check whether --enable-debug or --disable-debug was given.
-if test "${enable_debug+set}" = set; then
- enableval="$enable_debug"
- case "${enableval}" in
- yes) debug=true ;;
- no) debug=false ;;
- *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-debug" >&5
-echo "$as_me: error: bad value ${enableval} for --enable-debug" >&2;}
- { (exit 1); exit 1; }; } ;;
+# Check whether --enable-thorough-tests was given.
+if test ${enable_thorough_tests+y}
+then :
+ enableval=$enable_thorough_tests; case "${enableval}" in
+ yes) thorough_tests=true ;;
+ no) thorough_tests=false ;;
+ *) as_fn_error $? "bad value ${enableval} for --enable-thorough-tests" "$LINENO" 5 ;;
esac
-else
- debug=false
-fi;
-
-
-if test "x$debug" = xtrue; then
- DEBUG_TRUE=
- DEBUG_FALSE='#'
-else
- DEBUG_TRUE='#'
- DEBUG_FALSE=
+else $as_nop
+ thorough_tests=true
fi
-
-# Check whether --enable-sse or --disable-sse was given.
-if test "${enable_sse+set}" = set; then
- enableval="$enable_sse"
- case "${enableval}" in
- yes) sse_os=true ;;
- no) sse_os=false ;;
- *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-sse" >&5
-echo "$as_me: error: bad value ${enableval} for --enable-sse" >&2;}
- { (exit 1); exit 1; }; } ;;
+# Check whether --enable-exhaustive-tests was given.
+if test ${enable_exhaustive_tests+y}
+then :
+ enableval=$enable_exhaustive_tests; case "${enableval}" in
+ yes) exhaustive_tests=true ;;
+ no) exhaustive_tests=false ;;
+ *) as_fn_error $? "bad value ${enableval} for --enable-exhaustive-tests" "$LINENO" 5 ;;
esac
+else $as_nop
+ exhaustive_tests=false
+fi
+
+if test "x$thorough_tests" = xfalse ; then
+FLAC__TEST_LEVEL=0
+elif test "x$exhaustive_tests" = xfalse ; then
+FLAC__TEST_LEVEL=1
else
- sse_os=false
-fi;
+FLAC__TEST_LEVEL=2
+fi
-if test "x$sse_os" = xtrue; then
- FLaC__SSE_OS_TRUE=
- FLaC__SSE_OS_FALSE='#'
-else
- FLaC__SSE_OS_TRUE='#'
- FLaC__SSE_OS_FALSE=
+# Check whether --enable-werror was given.
+if test ${enable_werror+y}
+then :
+ enableval=$enable_werror;
fi
-if test "x$sse_os" = xtrue ; then
-cat >>confdefs.h <<\_ACEOF
-#define FLAC__SSE_OS 1
-_ACEOF
+# Check whether --enable-stack-smash-protection was given.
+if test ${enable_stack_smash_protection+y}
+then :
+ enableval=$enable_stack_smash_protection;
+else $as_nop
+ if test "$ac_cv_c_compiler_gnu" = "yes"
+then :
+ enable_stack_smash_protection=yes
+else $as_nop
+ enable_stack_smash_protection=no
+fi
+fi
+# Check whether --enable-fortify-source was given.
+if test ${enable_fortify_source+y}
+then :
+ enableval=$enable_fortify_source;
+else $as_nop
+ if test "$ac_cv_c_compiler_gnu" = "yes"
+then :
+ enable_fortify_source=yes
+else $as_nop
+ enable_fortify_source=no
+fi
fi
-# Check whether --enable-3dnow or --disable-3dnow was given.
-if test "${enable_3dnow+set}" = set; then
- enableval="$enable_3dnow"
- case "${enableval}" in
- yes) use_3dnow=true ;;
- no) use_3dnow=false ;;
- *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-3dnow" >&5
-echo "$as_me: error: bad value ${enableval} for --enable-3dnow" >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-else
- use_3dnow=true
-fi;
+case "$host" in
+ *mingw*)
+ if test "$enable_fortify_source" = "yes"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing __memset_chk" >&5
+printf %s "checking for library containing __memset_chk... " >&6; }
+if test ${ac_cv_search___memset_chk+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-if test "x$use_3dnow" = xtrue; then
- FLaC__USE_3DNOW_TRUE=
- FLaC__USE_3DNOW_FALSE='#'
-else
- FLaC__USE_3DNOW_TRUE='#'
- FLaC__USE_3DNOW_FALSE=
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+char __memset_chk ();
+int
+main (void)
+{
+return __memset_chk ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' ssp
+do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"
+then :
+ ac_cv_search___memset_chk=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext
+ if test ${ac_cv_search___memset_chk+y}
+then :
+ break
fi
+done
+if test ${ac_cv_search___memset_chk+y}
+then :
+
+else $as_nop
+ ac_cv_search___memset_chk=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search___memset_chk" >&5
+printf "%s\n" "$ac_cv_search___memset_chk" >&6; }
+ac_res=$ac_cv_search___memset_chk
+if test "$ac_res" != no
+then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+else $as_nop
+ mingw_has_memset_chk=no
+fi
+
+ fi
+ if test "$enable_stack_smash_protection" = "yes"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing __stack_chk_fail" >&5
+printf %s "checking for library containing __stack_chk_fail... " >&6; }
+if test ${ac_cv_search___stack_chk_fail+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-if test "x$use_3dnow" = xtrue ; then
-cat >>confdefs.h <<\_ACEOF
-#define FLAC__USE_3DNOW 1
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+char __stack_chk_fail ();
+int
+main (void)
+{
+return __stack_chk_fail ();
+ ;
+ return 0;
+}
_ACEOF
+for ac_lib in '' ssp
+do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"
+then :
+ ac_cv_search___stack_chk_fail=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext
+ if test ${ac_cv_search___stack_chk_fail+y}
+then :
+ break
+fi
+done
+if test ${ac_cv_search___stack_chk_fail+y}
+then :
+else $as_nop
+ ac_cv_search___stack_chk_fail=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search___stack_chk_fail" >&5
+printf "%s\n" "$ac_cv_search___stack_chk_fail" >&6; }
+ac_res=$ac_cv_search___stack_chk_fail
+if test "$ac_res" != no
+then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
+else $as_nop
+ mingw_has_stack_chk_fail=no
fi
-# Check whether --enable-altivec or --disable-altivec was given.
-if test "${enable_altivec+set}" = set; then
- enableval="$enable_altivec"
- case "${enableval}" in
- yes) use_altivec=true ;;
- no) use_altivec=false ;;
- *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-altivec" >&5
-echo "$as_me: error: bad value ${enableval} for --enable-altivec" >&2;}
- { (exit 1); exit 1; }; } ;;
+ fi
+ ;;
esac
-else
- use_altivec=true
-fi;
-if test "x$use_altivec" = xtrue; then
- FLaC__USE_ALTIVEC_TRUE=
- FLaC__USE_ALTIVEC_FALSE='#'
-else
- FLaC__USE_ALTIVEC_TRUE='#'
- FLaC__USE_ALTIVEC_FALSE=
+# Check whether --enable-64-bit-words was given.
+if test ${enable_64_bit_words+y}
+then :
+ enableval=$enable_64_bit_words;
fi
-if test "x$use_altivec" = xtrue ; then
-cat >>confdefs.h <<\_ACEOF
-#define FLAC__USE_ALTIVEC 1
-_ACEOF
-
+if test "x$enable_64_bit_words" = xno ; then
+printf "%s\n" "#define ENABLE_64_BIT_WORDS 0" >>confdefs.h
-fi
-
-# Check whether --enable-thorough-tests or --disable-thorough-tests was given.
-if test "${enable_thorough_tests+set}" = set; then
- enableval="$enable_thorough_tests"
- case "${enableval}" in
- yes) thorough_tests=true ;;
- no) thorough_tests=false ;;
- *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-thorough-tests" >&5
-echo "$as_me: error: bad value ${enableval} for --enable-thorough-tests" >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-else
- thorough_tests=true
-fi;
-# Check whether --enable-exhaustive-tests or --disable-exhaustive-tests was given.
-if test "${enable_exhaustive_tests+set}" = set; then
- enableval="$enable_exhaustive_tests"
- case "${enableval}" in
- yes) exhaustive_tests=true ;;
- no) exhaustive_tests=false ;;
- *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-exhaustive-tests" >&5
-echo "$as_me: error: bad value ${enableval} for --enable-exhaustive-tests" >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-else
- exhaustive_tests=false
-fi;
-if test "x$thorough_tests" = xfalse ; then
-FLAC__TEST_LEVEL=0
-elif test "x$exhaustive_tests" = xfalse ; then
-FLAC__TEST_LEVEL=1
else
-FLAC__TEST_LEVEL=2
+ printf "%s\n" "#define ENABLE_64_BIT_WORDS 1" >>confdefs.h
+
fi
-# Check whether --enable-valgrind-testing or --disable-valgrind-testing was given.
-if test "${enable_valgrind_testing+set}" = set; then
- enableval="$enable_valgrind_testing"
- case "${enableval}" in
+# Check whether --enable-valgrind-testing was given.
+if test ${enable_valgrind_testing+y}
+then :
+ enableval=$enable_valgrind_testing; case "${enableval}" in
yes) FLAC__TEST_WITH_VALGRIND=yes ;;
no) FLAC__TEST_WITH_VALGRIND=no ;;
- *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-valgrind-testing" >&5
-echo "$as_me: error: bad value ${enableval} for --enable-valgrind-testing" >&2;}
- { (exit 1); exit 1; }; } ;;
+ *) as_fn_error $? "bad value ${enableval} for --enable-valgrind-testing" "$LINENO" 5 ;;
esac
-else
+else $as_nop
FLAC__TEST_WITH_VALGRIND=no
-fi;
+fi
-# Check whether --enable-doxygen-docs or --disable-doxygen-docs was given.
-if test "${enable_doxygen_docs+set}" = set; then
- enableval="$enable_doxygen_docs"
- case "${enableval}" in
+
+# Check whether --enable-doxygen-docs was given.
+if test ${enable_doxygen_docs+y}
+then :
+ enableval=$enable_doxygen_docs; case "${enableval}" in
yes) enable_doxygen_docs=true ;;
no) enable_doxygen_docs=false ;;
- *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-doxygen-docs" >&5
-echo "$as_me: error: bad value ${enableval} for --enable-doxygen-docs" >&2;}
- { (exit 1); exit 1; }; } ;;
+ *) as_fn_error $? "bad value ${enableval} for --enable-doxygen-docs" "$LINENO" 5 ;;
esac
-else
+else $as_nop
enable_doxygen_docs=true
-fi;
+fi
+
if test "x$enable_doxygen_docs" != xfalse ; then
for ac_prog in doxygen
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_DOXYGEN+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_DOXYGEN+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -n "$DOXYGEN"; then
ac_cv_prog_DOXYGEN="$DOXYGEN" # Let the user override the test.
else
@@ -21827,34 +19708,38 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_DOXYGEN="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
+IFS=$as_save_IFS
fi
fi
DOXYGEN=$ac_cv_prog_DOXYGEN
if test -n "$DOXYGEN"; then
- echo "$as_me:$LINENO: result: $DOXYGEN" >&5
-echo "${ECHO_T}$DOXYGEN" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DOXYGEN" >&5
+printf "%s\n" "$DOXYGEN" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
+
test -n "$DOXYGEN" && break
done
fi
-
-
-if test -n "$DOXYGEN"; then
+ if test -n "$DOXYGEN"; then
FLaC__HAS_DOXYGEN_TRUE=
FLaC__HAS_DOXYGEN_FALSE='#'
else
@@ -21863,365 +19748,167 @@ else
fi
-# Check whether --enable-local-xmms-plugin or --disable-local-xmms-plugin was given.
-if test "${enable_local_xmms_plugin+set}" = set; then
- enableval="$enable_local_xmms_plugin"
- case "${enableval}" in
- yes) install_xmms_plugin_locally=true ;;
- no) install_xmms_plugin_locally=false ;;
- *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-local-xmms-plugin" >&5
-echo "$as_me: error: bad value ${enableval} for --enable-local-xmms-plugin" >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-else
- install_xmms_plugin_locally=false
-fi;
-
-
-if test "x$install_xmms_plugin_locally" = xtrue; then
- FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE=
- FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE='#'
-else
- FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE='#'
- FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE=
+if test ! -n "$DOXYGEN" && test -f "$srcdir/doc/FLAC.tag" && test -f "$srcdir/doc/api/modules.html" ; then
+ HAS_PREBUILT_DOXYGEN=yes
fi
-
-
-# Check whether --enable-xmms-plugin or --disable-xmms-plugin was given.
-if test "${enable_xmms_plugin+set}" = set; then
- enableval="$enable_xmms_plugin"
- case "${enableval}" in
- yes) enable_xmms_plugin=true ;;
- no) enable_xmms_plugin=false ;;
- *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-xmms-plugin" >&5
-echo "$as_me: error: bad value ${enableval} for --enable-xmms-plugin" >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-else
- enable_xmms_plugin=true
-fi;
-if test "x$enable_xmms_plugin" != xfalse ; then
-
-
-# Check whether --with-xmms-prefix or --without-xmms-prefix was given.
-if test "${with_xmms_prefix+set}" = set; then
- withval="$with_xmms_prefix"
- xmms_config_prefix="$withval"
-else
- xmms_config_prefix=""
-fi;
-
-# Check whether --with-xmms-exec-prefix or --without-xmms-exec-prefix was given.
-if test "${with_xmms_exec_prefix+set}" = set; then
- withval="$with_xmms_exec_prefix"
- xmms_config_exec_prefix="$withval"
+ if test "x$HAS_PREBUILT_DOXYGEN" = xyes; then
+ FLaC__HAS_PREBUILT_DOXYGEN_TRUE=
+ FLaC__HAS_PREBUILT_DOXYGEN_FALSE='#'
else
- xmms_config_exec_prefix=""
-fi;
-
-if test x$xmms_config_exec_prefix != x; then
- xmms_config_args="$xmms_config_args --exec-prefix=$xmms_config_exec_prefix"
- if test x${XMMS_CONFIG+set} != xset; then
- XMMS_CONFIG=$xmms_config_exec_prefix/bin/xmms-config
- fi
+ FLaC__HAS_PREBUILT_DOXYGEN_TRUE='#'
+ FLaC__HAS_PREBUILT_DOXYGEN_FALSE=
fi
-if test x$xmms_config_prefix != x; then
- xmms_config_args="$xmms_config_args --prefix=$xmms_config_prefix"
- if test x${XMMS_CONFIG+set} != xset; then
- XMMS_CONFIG=$xmms_config_prefix/bin/xmms-config
- fi
-fi
-
-# Extract the first word of "xmms-config", so it can be a program name with args.
-set dummy xmms-config; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_XMMS_CONFIG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $XMMS_CONFIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_XMMS_CONFIG="$XMMS_CONFIG" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_XMMS_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
- test -z "$ac_cv_path_XMMS_CONFIG" && ac_cv_path_XMMS_CONFIG="no"
- ;;
+# Check whether --enable-cpplibs was given.
+if test ${enable_cpplibs+y}
+then :
+ enableval=$enable_cpplibs; case "${enableval}" in
+ yes) disable_cpplibs=false ;;
+ no) disable_cpplibs=true ;;
+ *) as_fn_error $? "bad value ${enableval} for --enable-cpplibs" "$LINENO" 5 ;;
esac
+else $as_nop
+ disable_cpplibs=false
fi
-XMMS_CONFIG=$ac_cv_path_XMMS_CONFIG
-if test -n "$XMMS_CONFIG"; then
- echo "$as_me:$LINENO: result: $XMMS_CONFIG" >&5
-echo "${ECHO_T}$XMMS_CONFIG" >&6
+ if test "x$disable_cpplibs" != xtrue; then
+ FLaC__WITH_CPPLIBS_TRUE=
+ FLaC__WITH_CPPLIBS_FALSE='#'
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ FLaC__WITH_CPPLIBS_TRUE='#'
+ FLaC__WITH_CPPLIBS_FALSE=
fi
-min_xmms_version=0.9.5.1
-
-if test "$XMMS_CONFIG" = "no"; then
- no_xmms=yes
-else
- XMMS_CFLAGS=`$XMMS_CONFIG $xmms_config_args --cflags`
- XMMS_LIBS=`$XMMS_CONFIG $xmms_config_args --libs`
- XMMS_VERSION=`$XMMS_CONFIG $xmms_config_args --version`
- XMMS_DATA_DIR=`$XMMS_CONFIG $xmms_config_args --data-dir`
- XMMS_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --plugin-dir`
- XMMS_VISUALIZATION_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args \
- --visualization-plugin-dir`
- XMMS_INPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --input-plugin-dir`
- XMMS_OUTPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --output-plugin-dir`
- XMMS_EFFECT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --effect-plugin-dir`
- XMMS_GENERAL_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --general-plugin-dir`
-
-
-
-# Determine which version number is greater. Prints 2 to stdout if
-# the second number is greater, 1 if the first number is greater,
-# 0 if the numbers are equal.
-# Written 15 December 1999 by Ben Gertzfield <che@debian.org>
-# Revised 15 December 1999 by Jim Monty <monty@primenet.com>
+# Check whether --enable-oss-fuzzers was given.
+if test ${enable_oss_fuzzers+y}
+then :
+ enableval=$enable_oss_fuzzers; have_oss_fuzzers=yes
+else $as_nop
+ have_oss_fuzzers=no
+fi
- for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_AWK+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AWK="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6
+if test "x$have_oss_fuzzers" = "xyes"; then
+ if test "x$xiph_cv_c_compiler_clang" = "xyes" ; then
+ if test "x$have_oss_fuzzers" = "xyes"; then
+ USE_OSSFUZZERS_TRUE=
+ USE_OSSFUZZERS_FALSE='#'
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ USE_OSSFUZZERS_TRUE='#'
+ USE_OSSFUZZERS_FALSE=
fi
- test -n "$AWK" && break
-done
-
- xmms_got_version=` $AWK ' \
-BEGIN { \
- print vercmp(ARGV[1], ARGV[2]); \
-} \
- \
-function vercmp(ver1, ver2, ver1arr, ver2arr, \
- ver1len, ver2len, \
- ver1int, ver2int, len, i, p) { \
- \
- ver1len = split(ver1, ver1arr, /\./); \
- ver2len = split(ver2, ver2arr, /\./); \
- \
- len = ver1len > ver2len ? ver1len : ver2len; \
- \
- for (i = 1; i <= len; i++) { \
- p = 1000 ^ (len - i); \
- ver1int += ver1arr[i] * p; \
- ver2int += ver2arr[i] * p; \
- } \
- \
- if (ver1int < ver2int) \
- return 2; \
- else if (ver1int > ver2int) \
- return 1; \
- else \
- return 0; \
-}' $XMMS_VERSION $min_xmms_version`
-
- if test $xmms_got_version -eq 2; then # failure
- no_xmms=version
- else # success!
- :
+ if test "x$LIB_FUZZING_ENGINE" = "x" ; then
+ # Only set this if it is empty.
+ LIB_FUZZING_ENGINE=-fsanitize=fuzzer
fi
-
-fi
-
-echo "$as_me:$LINENO: checking for XMMS - version >= $min_xmms_version" >&5
-echo $ECHO_N "checking for XMMS - version >= $min_xmms_version... $ECHO_C" >&6
-
-if test "x$no_xmms" = x; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- :
+ else
+ if test "false" = "true"; then
+ USE_OSSFUZZERS_TRUE=
+ USE_OSSFUZZERS_FALSE='#'
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-
- if test "$XMMS_CONFIG" = "no" ; then
- echo "*** The xmms-config script installed by XMMS could not be found."
- echo "*** If XMMS was installed in PREFIX, make sure PREFIX/bin is in"
- echo "*** your path, or set the XMMS_CONFIG environment variable to the"
- echo "*** full path to xmms-config."
- else
- if test "$no_xmms" = "version"; then
- echo "*** An old version of XMMS, $XMMS_VERSION, was found."
- echo "*** You need a version of XMMS newer than $min_xmms_version."
- echo "*** The latest version of XMMS is always available from"
- echo "*** http://www.xmms.org/"
- echo "***"
-
- echo "*** If you have already installed a sufficiently new version, this error"
- echo "*** probably means that the wrong copy of the xmms-config shell script is"
- echo "*** being found. The easiest way to fix this is to remove the old version"
- echo "*** of XMMS, but you can also set the XMMS_CONFIG environment to point to the"
- echo "*** correct copy of xmms-config. (In this case, you will have to"
- echo "*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf"
- echo "*** so that the correct libraries are found at run-time)"
- fi
- fi
- XMMS_CFLAGS=""
- XMMS_LIBS=""
- { echo "$as_me:$LINENO: WARNING: *** XMMS >= 0.9.5.1 not installed - XMMS support will not be built" >&5
-echo "$as_me: WARNING: *** XMMS >= 0.9.5.1 not installed - XMMS support will not be built" >&2;}
-fi
-
-
-
-
-
-
-
-
-
-
-
+ USE_OSSFUZZERS_TRUE='#'
+ USE_OSSFUZZERS_FALSE=
fi
-
-if test -n "$XMMS_INPUT_PLUGIN_DIR"; then
- FLaC__HAS_XMMS_TRUE=
- FLaC__HAS_XMMS_FALSE='#'
+ # Disable fuzzer if the compiler is not Clang.
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Ozz-Fuzz is disabled because that requires the Clang compiler." >&5
+printf "%s\n" "$as_me: WARNING: *** Ozz-Fuzz is disabled because that requires the Clang compiler." >&2;}
+ have_oss_fuzzers="no (compiler is not Clang)"
+ fi
+else
+ if test "false" = "true"; then
+ USE_OSSFUZZERS_TRUE=
+ USE_OSSFUZZERS_FALSE='#'
else
- FLaC__HAS_XMMS_TRUE='#'
- FLaC__HAS_XMMS_FALSE=
+ USE_OSSFUZZERS_TRUE='#'
+ USE_OSSFUZZERS_FALSE=
fi
+fi
-# Check whether --enable-cpplibs or --disable-cpplibs was given.
-if test "${enable_cpplibs+set}" = set; then
- enableval="$enable_cpplibs"
- case "${enableval}" in
- yes) disable_cpplibs=false ;;
- no) disable_cpplibs=true ;;
- *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-cpplibs" >&5
-echo "$as_me: error: bad value ${enableval} for --enable-cpplibs" >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-else
- disable_cpplibs=false
-fi;
-if test "x$disable_cpplibs" != xtrue; then
- FLaC__WITH_CPPLIBS_TRUE=
- FLaC__WITH_CPPLIBS_FALSE='#'
-else
- FLaC__WITH_CPPLIBS_TRUE='#'
- FLaC__WITH_CPPLIBS_FALSE=
+# Check whether --enable-ogg was given.
+if test ${enable_ogg+y}
+then :
+ enableval=$enable_ogg; want_ogg=$enableval
+else $as_nop
+ want_ogg=yes
fi
-# Check whether --enable-ogg or --disable-ogg was given.
-if test "${enable_ogg+set}" = set; then
- enableval="$enable_ogg"
- want_ogg=$enableval
-else
- want_ogg=yes
-fi;
-
if test "x$want_ogg" != "xno"; then
-# Check whether --with-ogg or --without-ogg was given.
-if test "${with_ogg+set}" = set; then
- withval="$with_ogg"
- ogg_prefix="$withval"
-else
+# Check whether --with-ogg was given.
+if test ${with_ogg+y}
+then :
+ withval=$with_ogg; ogg_prefix="$withval"
+else $as_nop
ogg_prefix=""
-fi;
+fi
-# Check whether --with-ogg-libraries or --without-ogg-libraries was given.
-if test "${with_ogg_libraries+set}" = set; then
- withval="$with_ogg_libraries"
- ogg_libraries="$withval"
-else
+
+# Check whether --with-ogg-libraries was given.
+if test ${with_ogg_libraries+y}
+then :
+ withval=$with_ogg_libraries; ogg_libraries="$withval"
+else $as_nop
ogg_libraries=""
-fi;
+fi
-# Check whether --with-ogg-includes or --without-ogg-includes was given.
-if test "${with_ogg_includes+set}" = set; then
- withval="$with_ogg_includes"
- ogg_includes="$withval"
-else
+
+# Check whether --with-ogg-includes was given.
+if test ${with_ogg_includes+y}
+then :
+ withval=$with_ogg_includes; ogg_includes="$withval"
+else $as_nop
ogg_includes=""
-fi;
-# Check whether --enable-oggtest or --disable-oggtest was given.
-if test "${enable_oggtest+set}" = set; then
- enableval="$enable_oggtest"
+fi
-else
+# Check whether --enable-oggtest was given.
+if test ${enable_oggtest+y}
+then :
+ enableval=$enable_oggtest;
+else $as_nop
enable_oggtest=yes
-fi;
+fi
+
if test "x$ogg_libraries" != "x" ; then
OGG_LIBS="-L$ogg_libraries"
+ elif test "x$ogg_prefix" = "xno" || test "x$ogg_prefix" = "xyes" ; then
+ OGG_LIBS=""
elif test "x$ogg_prefix" != "x" ; then
OGG_LIBS="-L$ogg_prefix/lib"
elif test "x$prefix" != "xNONE" ; then
OGG_LIBS="-L$prefix/lib"
fi
- OGG_LIBS="$OGG_LIBS -logg"
+ if test "x$ogg_prefix" != "xno" ; then
+ OGG_LIBS="$OGG_LIBS -logg"
+ fi
if test "x$ogg_includes" != "x" ; then
OGG_CFLAGS="-I$ogg_includes"
+ elif test "x$ogg_prefix" = "xno" || test "x$ogg_prefix" = "xyes" ; then
+ OGG_CFLAGS=""
elif test "x$ogg_prefix" != "x" ; then
OGG_CFLAGS="-I$ogg_prefix/include"
elif test "x$prefix" != "xNONE"; then
OGG_CFLAGS="-I$prefix/include"
fi
- echo "$as_me:$LINENO: checking for Ogg" >&5
-echo $ECHO_N "checking for Ogg... $ECHO_C" >&6
- no_ogg=""
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Ogg" >&5
+printf %s "checking for Ogg... " >&6; }
+ if test "x$ogg_prefix" = "xno" ; then
+ no_ogg="disabled"
+ enable_oggtest="no"
+ else
+ no_ogg=""
+ fi
if test "x$enable_oggtest" = "xyes" ; then
@@ -22230,14 +19917,11 @@ echo $ECHO_N "checking for Ogg... $ECHO_C" >&6
CFLAGS="$CFLAGS $OGG_CFLAGS"
LIBS="$LIBS $OGG_LIBS"
rm -f conf.oggtest
- if test "$cross_compiling" = yes; then
+ if test "$cross_compiling" = yes
+then :
echo $ac_n "cross compiling; assumed OK... $ac_c"
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
@@ -22253,85 +19937,54 @@ int main ()
_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_run "$LINENO"
+then :
-( exit $ac_status )
-no_ogg=yes
+else $as_nop
+ no_ogg=yes
fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
+
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
- if test "x$no_ogg" = "x" ; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ if test "x$no_ogg" = "xdisabled" ; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Ogg development environment not installed - Ogg support will not be built" >&5
+printf "%s\n" "$as_me: WARNING: *** Ogg development environment not installed - Ogg support will not be built" >&2;}
+ elif test "x$no_ogg" = "x" ; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
have_ogg=yes
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
if test -f conf.oggtest ; then
:
else
echo "*** Could not run Ogg test program, checking why..."
CFLAGS="$CFLAGS $OGG_CFLAGS"
LIBS="$LIBS $OGG_LIBS"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
#include <ogg/ogg.h>
int
-main ()
+main (void)
{
return 0;
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_c_try_link "$LINENO"
+then :
echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding Ogg or finding the wrong"
echo "*** version of Ogg. If it is not finding Ogg, you'll need to set your"
@@ -22341,23 +19994,20 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
echo "***"
echo "*** If you have an old version installed, it is best to remove it, although"
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- echo "*** The test program failed to compile or link. See the file config.log for the"
- echo "*** exact error that occured. This usually means Ogg was incorrectly installed"
+else $as_nop
+ echo "*** The test program failed to compile or link. See the file config.log for the"
+ echo "*** exact error that occurred. This usually means Ogg was incorrectly installed"
echo "*** or that you have moved Ogg since it was installed."
fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
OGG_CFLAGS=""
OGG_LIBS=""
- { echo "$as_me:$LINENO: WARNING: *** Ogg development enviroment not installed - Ogg support will not be built" >&5
-echo "$as_me: WARNING: *** Ogg development enviroment not installed - Ogg support will not be built" >&2;}
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Ogg development environment not installed - Ogg support will not be built" >&5
+printf "%s\n" "$as_me: WARNING: *** Ogg development environment not installed - Ogg support will not be built" >&2;}
fi
@@ -22365,9 +20015,8 @@ echo "$as_me: WARNING: *** Ogg development enviroment not installed - Ogg suppor
fi
-
-
-if test "x$have_ogg" = xyes; then
+FLAC__HAS_OGG=0
+ if test "x$have_ogg" = xyes; then
FLaC__HAS_OGG_TRUE=
FLaC__HAS_OGG_FALSE='#'
else
@@ -22376,15 +20025,58 @@ else
fi
if test "x$have_ogg" = xyes ; then
-cat >>confdefs.h <<\_ACEOF
-#define FLAC__HAS_OGG 1
-_ACEOF
+ FLAC__HAS_OGG=1
+ OGG_PACKAGE="ogg"
+else
+ have_ogg=no
+fi
+
+printf "%s\n" "#define FLAC__HAS_OGG $FLAC__HAS_OGG" >>confdefs.h
+
+
+
+
+# Check whether --enable-programs was given.
+if test ${enable_programs+y}
+then :
+ enableval=$enable_programs;
+fi
+
+ if test "x$enable_programs" != "xno"; then
+ FLaC__WITH_PROGRAMS_TRUE=
+ FLaC__WITH_PROGRAMS_FALSE='#'
+else
+ FLaC__WITH_PROGRAMS_TRUE='#'
+ FLaC__WITH_PROGRAMS_FALSE=
+fi
+
+# Check whether --enable-examples was given.
+if test ${enable_examples+y}
+then :
+ enableval=$enable_examples;
+fi
+
+ if test "x$enable_examples" != "xno"; then
+ EXAMPLES_TRUE=
+ EXAMPLES_FALSE='#'
+else
+ EXAMPLES_TRUE='#'
+ EXAMPLES_FALSE=
+fi
+# Check whether --enable-version-from-git was given.
+if test ${enable_version_from_git+y}
+then :
+ enableval=$enable_version_from_git; enable_version_from_git=$enableval
+else $as_nop
+ enable_version_from_git=yes
fi
+
+
if test "X$prefix" = "XNONE"; then
acl_final_prefix="$ac_default_prefix"
else
@@ -22401,31 +20093,33 @@ fi
prefix="$acl_save_prefix"
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
-else
+
+# Check whether --with-gnu-ld was given.
+if test ${with_gnu_ld+y}
+then :
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else $as_nop
with_gnu_ld=no
-fi;
+fi
+
# Prepare PATH_SEPARATOR.
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
fi
+
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- echo "$as_me:$LINENO: checking for ld used by GCC" >&5
-echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+printf %s "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -22435,12 +20129,12 @@ echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6
esac
case $ac_prog in
# Accept absolute paths.
- [\\/]* | [A-Za-z]:[\\/]*)
+ [\\/]* | ?:[\\/]*)
re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the path of ld
- ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ # Canonicalize the pathname of ld
+ ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
+ while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
done
test -z "$LD" && LD="$ac_prog"
;;
@@ -22454,33 +20148,37 @@ echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6
;;
esac
elif test "$with_gnu_ld" = yes; then
- echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+printf %s "checking for GNU ld... " >&6; }
else
- echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+printf %s "checking for non-GNU ld... " >&6; }
fi
-if test "${acl_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+if test ${acl_cv_path_LD+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+ acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do
+ IFS="$acl_save_ifs"
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
acl_cv_path_LD="$ac_dir/$ac_prog"
# Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
+ # but apparently some variants of GNU ld only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
+ case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break ;;
+ test "$with_gnu_ld" != no && break
+ ;;
*)
- test "$with_gnu_ld" != yes && break ;;
+ test "$with_gnu_ld" != yes && break
+ ;;
esac
fi
done
- IFS="$ac_save_ifs"
+ IFS="$acl_save_ifs"
else
acl_cv_path_LD="$LD" # Let the user override the test with a path.
fi
@@ -22488,40 +20186,43 @@ fi
LD="$acl_cv_path_LD"
if test -n "$LD"; then
- echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
- { (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
-if test "${acl_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # I'd rather use --version here, but apparently some GNU ld's only accept -v.
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+printf "%s\n" "$LD" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+printf %s "checking if the linker ($LD) is GNU ld... " >&6; }
+if test ${acl_cv_prog_gnu_ld+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
- acl_cv_prog_gnu_ld=yes ;;
+ acl_cv_prog_gnu_ld=yes
+ ;;
*)
- acl_cv_prog_gnu_ld=no ;;
+ acl_cv_prog_gnu_ld=no
+ ;;
esac
fi
-echo "$as_me:$LINENO: result: $acl_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$acl_cv_prog_gnu_ld" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
+printf "%s\n" "$acl_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$acl_cv_prog_gnu_ld
- echo "$as_me:$LINENO: checking for shared library run path origin" >&5
-echo $ECHO_N "checking for shared library run path origin... $ECHO_C" >&6
-if test "${acl_cv_rpath+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
+printf %s "checking for shared library run path origin... " >&6; }
+if test ${acl_cv_rpath+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
@@ -22530,22 +20231,228 @@ else
acl_cv_rpath=done
fi
-echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5
-echo "${ECHO_T}$acl_cv_rpath" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
+printf "%s\n" "$acl_cv_rpath" >&6; }
wl="$acl_cv_wl"
- libext="$acl_cv_libext"
- shlibext="$acl_cv_shlibext"
- hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
- hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
- hardcode_direct="$acl_cv_hardcode_direct"
- hardcode_minus_L="$acl_cv_hardcode_minus_L"
- # Check whether --enable-rpath or --disable-rpath was given.
-if test "${enable_rpath+set}" = set; then
- enableval="$enable_rpath"
- :
-else
+ acl_libext="$acl_cv_libext"
+ acl_shlibext="$acl_cv_shlibext"
+ acl_libname_spec="$acl_cv_libname_spec"
+ acl_library_names_spec="$acl_cv_library_names_spec"
+ acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+ acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+ acl_hardcode_direct="$acl_cv_hardcode_direct"
+ acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
+ # Check whether --enable-rpath was given.
+if test ${enable_rpath+y}
+then :
+ enableval=$enable_rpath; :
+else $as_nop
enable_rpath=yes
-fi;
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+printf %s "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if test ${ac_cv_prog_CPP+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ # Double quotes because $CC needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"
+then :
+
+else $as_nop
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"
+then :
+ # Broken: success on invalid input.
+continue
+else $as_nop
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok
+then :
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+printf "%s\n" "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"
+then :
+
+else $as_nop
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"
+then :
+ # Broken: success on invalid input.
+continue
+else $as_nop
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok
+then :
+
+else $as_nop
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+ acl_libdirstem=lib
+ acl_libdirstem2=
+ case "$host_os" in
+ solaris*)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
+printf %s "checking for 64-bit host... " >&6; }
+if test ${gl_cv_solaris_64bit+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef _LP64
+sixtyfour bits
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "sixtyfour bits" >/dev/null 2>&1
+then :
+ gl_cv_solaris_64bit=yes
+else $as_nop
+ gl_cv_solaris_64bit=no
+fi
+rm -rf conftest*
+
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
+printf "%s\n" "$gl_cv_solaris_64bit" >&6; }
+ if test $gl_cv_solaris_64bit = yes; then
+ acl_libdirstem=lib/64
+ case "$host_cpu" in
+ sparc*) acl_libdirstem2=lib/sparcv9 ;;
+ i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+ esac
+ fi
+ ;;
+ *)
+ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+ if test -n "$searchpath"; then
+ acl_save_IFS="${IFS= }"; IFS=":"
+ for searchdir in $searchpath; do
+ if test -d "$searchdir"; then
+ case "$searchdir" in
+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+ */../ | */.. )
+ # Better ignore directories of this form. They are misleading.
+ ;;
+ *) searchdir=`cd "$searchdir" && pwd`
+ case "$searchdir" in
+ */lib64 ) acl_libdirstem=lib64 ;;
+ esac ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_IFS"
+ fi
+ ;;
+ esac
+ test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+
+
+
+
+
@@ -22567,10 +20474,10 @@ fi;
prefix="$acl_save_prefix"
-# Check whether --with-libiconv-prefix or --without-libiconv-prefix was given.
-if test "${with_libiconv_prefix+set}" = set; then
- withval="$with_libiconv_prefix"
-
+# Check whether --with-libiconv-prefix was given.
+if test ${with_libiconv_prefix+y}
+then :
+ withval=$with_libiconv_prefix;
if test "X$withval" = "Xno"; then
use_additional=no
else
@@ -22589,14 +20496,21 @@ if test "${with_libiconv_prefix+set}" = set; then
else
additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
+ additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
+ fi
fi
fi
-fi;
+fi
+
LIBICONV=
LTLIBICONV=
INCICONV=
+ LIBICONV_PREFIX=
+ HAVE_LIBICONV=
rpathdirs=
ltrpathdirs=
names_already_handled=
@@ -22614,7 +20528,7 @@ fi;
done
if test -z "$already_handled"; then
names_already_handled="$names_already_handled $name"
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
eval value=\"\$HAVE_LIB$uppername\"
if test -n "$value"; then
if test "$value" = yes; then
@@ -22630,22 +20544,52 @@ fi;
found_la=
found_so=
found_a=
+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
+ if test -n "$acl_shlibext"; then
+ shrext=".$acl_shlibext" # typically: shrext=.so
+ else
+ shrext=
+ fi
if test $use_additional = yes; then
- if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
- found_dir="$additional_libdir"
- found_so="$additional_libdir/lib$name.$shlibext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- else
- if test -f "$additional_libdir/lib$name.$libext"; then
- found_dir="$additional_libdir"
- found_a="$additional_libdir/lib$name.$libext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
+ dir="$additional_libdir"
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
fi
fi
fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
fi
if test "X$found_dir" = "X"; then
for x in $LDFLAGS $LTLIBICONV; do
@@ -22661,21 +20605,44 @@ fi;
case "$x" in
-L*)
dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
- found_dir="$dir"
- found_so="$dir/lib$name.$shlibext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- else
- if test -f "$dir/lib$name.$libext"; then
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
found_dir="$dir"
- found_a="$dir/lib$name.$libext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
fi
fi
fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
;;
esac
if test "X$found_dir" != "X"; then
@@ -22686,7 +20653,9 @@ fi;
if test "X$found_dir" != "X"; then
LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
if test "X$found_so" != "X"; then
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
else
haveit=
@@ -22699,10 +20668,10 @@ fi;
if test -z "$haveit"; then
ltrpathdirs="$ltrpathdirs $found_dir"
fi
- if test "$hardcode_direct" = yes; then
+ if test "$acl_hardcode_direct" = yes; then
LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
else
- if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
haveit=
for x in $rpathdirs; do
@@ -22734,7 +20703,7 @@ fi;
if test -z "$haveit"; then
LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
fi
- if test "$hardcode_minus_L" != no; then
+ if test "$acl_hardcode_minus_L" != no; then
LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
else
LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
@@ -22751,8 +20720,18 @@ fi;
fi
additional_includedir=
case "$found_dir" in
- */lib | */lib/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+ */$acl_libdirstem | */$acl_libdirstem/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ if test "$name" = 'iconv'; then
+ LIBICONV_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = 'iconv'; then
+ LIBICONV_PREFIX="$basedir"
+ fi
additional_includedir="$basedir/include"
;;
esac
@@ -22801,9 +20780,11 @@ fi;
case "$dep" in
-L*)
additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- if test "X$additional_libdir" != "X/usr/lib"; then
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
haveit=
- if test "X$additional_libdir" = "X/usr/local/lib"; then
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
if test -n "$GCC"; then
case $host_os in
linux* | gnu* | k*bsd*-gnu) haveit=yes;;
@@ -22903,21 +20884,21 @@ fi;
done
done
if test "X$rpathdirs" != "X"; then
- if test -n "$hardcode_libdir_separator"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
alldirs=
for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
done
acl_save_libdir="$libdir"
libdir="$alldirs"
- eval flag=\"$hardcode_libdir_flag_spec\"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
else
for found_dir in $rpathdirs; do
acl_save_libdir="$libdir"
libdir="$found_dir"
- eval flag=\"$hardcode_libdir_flag_spec\"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
done
@@ -22935,6 +20916,11 @@ fi;
+
+
+
+
+
am_save_CPPFLAGS="$CPPFLAGS"
for element in $INCICONV; do
@@ -22960,132 +20946,224 @@ fi;
done
- echo "$as_me:$LINENO: checking for iconv" >&5
-echo $ECHO_N "checking for iconv... $ECHO_C" >&6
-if test "${am_cv_func_iconv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
+printf %s "checking for iconv... " >&6; }
+if test ${am_cv_func_iconv+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
am_cv_func_iconv="no, consider installing GNU libiconv"
am_cv_lib_iconv=no
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+
#include <stdlib.h>
#include <iconv.h>
+
int
-main ()
+main (void)
{
iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_c_try_link "$LINENO"
+then :
am_cv_func_iconv=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
if test "$am_cv_func_iconv" != yes; then
am_save_LIBS="$LIBS"
LIBS="$LIBS $LIBICONV"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+
#include <stdlib.h>
#include <iconv.h>
+
int
-main ()
+main (void)
{
iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_c_try_link "$LINENO"
+then :
am_cv_lib_iconv=yes
am_cv_func_iconv=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
LIBS="$am_save_LIBS"
fi
fi
-echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5
-echo "${ECHO_T}$am_cv_func_iconv" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
+printf "%s\n" "$am_cv_func_iconv" >&6; }
if test "$am_cv_func_iconv" = yes; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
+printf %s "checking for working iconv... " >&6; }
+if test ${am_cv_func_iconv_works+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+
+ am_save_LIBS="$LIBS"
+ if test $am_cv_lib_iconv = yes; then
+ LIBS="$LIBS $LIBICONV"
+ fi
+ if test "$cross_compiling" = yes
+then :
+
+ case "$host_os" in
+ aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+ *) am_cv_func_iconv_works="guessing yes" ;;
+ esac
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ICONV 1
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <iconv.h>
+#include <string.h>
+int main ()
+{
+ int result = 0;
+ /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
+ returns. */
+ {
+ iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
+ if (cd_utf8_to_88591 != (iconv_t)(-1))
+ {
+ static const char input[] = "\342\202\254"; /* EURO SIGN */
+ char buf[10];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_utf8_to_88591,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ result |= 1;
+ iconv_close (cd_utf8_to_88591);
+ }
+ }
+ /* Test against Solaris 10 bug: Failures are not distinguishable from
+ successful returns. */
+ {
+ iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+ if (cd_ascii_to_88591 != (iconv_t)(-1))
+ {
+ static const char input[] = "\263";
+ char buf[10];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_ascii_to_88591,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ result |= 2;
+ iconv_close (cd_ascii_to_88591);
+ }
+ }
+ /* Test against AIX 6.1..7.1 bug: Buffer overrun. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static const char input[] = "\304";
+ static char buf[2] = { (char)0xDE, (char)0xAD };
+ const char *inptr = input;
+ size_t inbytesleft = 1;
+ char *outptr = buf;
+ size_t outbytesleft = 1;
+ size_t res = iconv (cd_88591_to_utf8,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+ result |= 4;
+ iconv_close (cd_88591_to_utf8);
+ }
+ }
+#if 0 /* This bug could be worked around by the caller. */
+ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+ char buf[50];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_88591_to_utf8,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if ((int)res > 0)
+ result |= 8;
+ iconv_close (cd_88591_to_utf8);
+ }
+ }
+#endif
+ /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+ provided. */
+ if (/* Try standardized names. */
+ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
+ /* Try IRIX, OSF/1 names. */
+ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
+ /* Try AIX names. */
+ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
+ /* Try HP-UX names. */
+ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
+ result |= 16;
+ return result;
+}
_ACEOF
+if ac_fn_c_try_run "$LINENO"
+then :
+ am_cv_func_iconv_works=yes
+else $as_nop
+ am_cv_func_iconv_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ LIBS="$am_save_LIBS"
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
+printf "%s\n" "$am_cv_func_iconv_works" >&6; }
+ case "$am_cv_func_iconv_works" in
+ *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+ *) am_func_iconv=yes ;;
+ esac
+ else
+ am_func_iconv=no am_cv_lib_iconv=no
+ fi
+ if test "$am_func_iconv" = yes; then
+
+printf "%s\n" "#define HAVE_ICONV 1" >>confdefs.h
fi
if test "$am_cv_lib_iconv" = yes; then
- echo "$as_me:$LINENO: checking how to link with libiconv" >&5
-echo $ECHO_N "checking how to link with libiconv... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $LIBICONV" >&5
-echo "${ECHO_T}$LIBICONV" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
+printf %s "checking how to link with libiconv... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
+printf "%s\n" "$LIBICONV" >&6; }
else
CPPFLAGS="$am_save_CPPFLAGS"
LIBICONV=
@@ -23095,17 +21173,14 @@ echo "${ECHO_T}$LIBICONV" >&6
if test "$am_cv_func_iconv" = yes; then
- echo "$as_me:$LINENO: checking for iconv declaration" >&5
-echo $ECHO_N "checking for iconv declaration... $ECHO_C" >&6
- if test "${am_cv_proto_iconv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5
+printf %s "checking for iconv declaration... " >&6; }
+ if test ${am_cv_proto_iconv+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
@@ -23114,409 +21189,755 @@ extern
#ifdef __cplusplus
"C"
#endif
-#if defined(__STDC__) || defined(__cplusplus)
+#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
#else
size_t iconv();
#endif
int
-main ()
+main (void)
{
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_c_try_compile "$LINENO"
+then :
am_cv_proto_iconv_arg1=""
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-am_cv_proto_iconv_arg1="const"
+else $as_nop
+ am_cv_proto_iconv_arg1="const"
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
fi
am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
- echo "$as_me:$LINENO: result: ${ac_t:-
- }$am_cv_proto_iconv" >&5
-echo "${ECHO_T}${ac_t:-
- }$am_cv_proto_iconv" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result:
+ $am_cv_proto_iconv" >&5
+printf "%s\n" "
+ $am_cv_proto_iconv" >&6; }
+
+printf "%s\n" "#define ICONV_CONST $am_cv_proto_iconv_arg1" >>confdefs.h
-cat >>confdefs.h <<_ACEOF
-#define ICONV_CONST $am_cv_proto_iconv_arg1
-_ACEOF
fi
- echo "$as_me:$LINENO: checking for nl_langinfo and CODESET" >&5
-echo $ECHO_N "checking for nl_langinfo and CODESET... $ECHO_C" >&6
-if test "${am_cv_langinfo_codeset+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
+printf %s "checking for nl_langinfo and CODESET... " >&6; }
+if test ${am_cv_langinfo_codeset+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <langinfo.h>
int
-main ()
+main (void)
{
-char* cs = nl_langinfo(CODESET);
+char* cs = nl_langinfo(CODESET); return !cs;
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_c_try_link "$LINENO"
+then :
am_cv_langinfo_codeset=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-am_cv_langinfo_codeset=no
+else $as_nop
+ am_cv_langinfo_codeset=no
fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $am_cv_langinfo_codeset" >&5
-echo "${ECHO_T}$am_cv_langinfo_codeset" >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5
+printf "%s\n" "$am_cv_langinfo_codeset" >&6; }
if test $am_cv_langinfo_codeset = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_LANGINFO_CODESET 1
-_ACEOF
+printf "%s\n" "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h
fi
-for ac_prog in docbook-to-man docbook2man
+for ac_prog in pandoc
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_DOCBOOK_TO_MAN+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$DOCBOOK_TO_MAN"; then
- ac_cv_prog_DOCBOOK_TO_MAN="$DOCBOOK_TO_MAN" # Let the user override the test.
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_PANDOC+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$PANDOC"; then
+ ac_cv_prog_PANDOC="$PANDOC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_DOCBOOK_TO_MAN="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_PANDOC="$ac_prog"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
+IFS=$as_save_IFS
fi
fi
-DOCBOOK_TO_MAN=$ac_cv_prog_DOCBOOK_TO_MAN
-if test -n "$DOCBOOK_TO_MAN"; then
- echo "$as_me:$LINENO: result: $DOCBOOK_TO_MAN" >&5
-echo "${ECHO_T}$DOCBOOK_TO_MAN" >&6
+PANDOC=$ac_cv_prog_PANDOC
+if test -n "$PANDOC"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PANDOC" >&5
+printf "%s\n" "$PANDOC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
- test -n "$DOCBOOK_TO_MAN" && break
+
+ test -n "$PANDOC" && break
done
+ if test -n "$PANDOC"; then
+ FLaC__HAS_PANDOC_TRUE=
+ FLaC__HAS_PANDOC_FALSE='#'
+else
+ FLaC__HAS_PANDOC_TRUE='#'
+ FLaC__HAS_PANDOC_FALSE=
+fi
+
+if test -n "$PANDOC" ; then
+ printf "%s\n" "#define FLAC__HAS_PANDOC 1" >>confdefs.h
-if test -n "$DOCBOOK_TO_MAN"; then
- FLaC__HAS_DOCBOOK_TO_MAN_TRUE=
- FLaC__HAS_DOCBOOK_TO_MAN_FALSE='#'
else
- FLaC__HAS_DOCBOOK_TO_MAN_TRUE='#'
- FLaC__HAS_DOCBOOK_TO_MAN_FALSE=
+if test -f "$srcdir/man/flac.1" && test -f "$srcdir/man/metaflac.1" ; then
+ HAS_PREBUILT_MANPAGES=yes
+fi
+fi
+ if test "x$HAS_PREBUILT_MANPAGES" = "xyes"; then
+ FLaC__HAS_PREBUILT_MANPAGES_TRUE=
+ FLaC__HAS_PREBUILT_MANPAGES_FALSE='#'
+else
+ FLaC__HAS_PREBUILT_MANPAGES_TRUE='#'
+ FLaC__HAS_PREBUILT_MANPAGES_FALSE=
fi
-if test -n "$DOCBOOK_TO_MAN" ; then
-cat >>confdefs.h <<\_ACEOF
-#define FLAC__HAS_DOCBOOK_TO_MAN 1
-_ACEOF
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for clock_gettime in -lrt" >&5
+printf %s "checking for clock_gettime in -lrt... " >&6; }
+if test ${ac_cv_lib_rt_clock_gettime+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lrt $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+char clock_gettime ();
+int
+main (void)
+{
+return clock_gettime ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ ac_cv_lib_rt_clock_gettime=yes
+else $as_nop
+ ac_cv_lib_rt_clock_gettime=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_clock_gettime" >&5
+printf "%s\n" "$ac_cv_lib_rt_clock_gettime" >&6; }
+if test "x$ac_cv_lib_rt_clock_gettime" = xyes
+then :
+ LIB_CLOCK_GETTIME=-lrt
+ printf "%s\n" "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h
fi
-# only matters for x86
-for ac_prog in nasm
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_NASM+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$NASM"; then
- ac_cv_prog_NASM="$NASM" # Let the user override the test.
+
+
+
+if test "x$ac_cv_c_compiler_gnu" = "xyes" ; then
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for version of $CC" >&5
+printf %s "checking for version of $CC... " >&6; }
+ GCC_VERSION=`$CC -dumpversion`
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GCC_VERSION" >&5
+printf "%s\n" "$GCC_VERSION" >&6; }
+
+ GCC_MAJOR_VERSION=`echo $GCC_VERSION | cut -d. -f 1`
+ GCC_MINOR_VERSION=`echo $GCC_VERSION | cut -d. -f 2`
else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_NASM="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
+ GCC_MAJOR_VERSION=0
+ GCC_MINOR_VERSION=0
+ fi
+
+
+
+
+
+
+if test x$ac_cv_c_compiler_gnu = xyes -o x$xiph_cv_c_compiler_clang = xyes ; then
+ if test "x${ax_enable_debug}" = "xno"
+then :
+
+ CFLAGS="-O3 -funroll-loops $CFLAGS"
+ CXXFLAGS="-O3 $CXXFLAGS"
+
+fi
+
+ CFLAGS="$CFLAGS -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -Waggregate-return -Wcast-align -Wnested-externs -Wshadow -Wundef -Wmissing-declarations -Winline " # -Wcast-qual -Wbad-function-cast -Wwrite-strings -Wconversion
+ CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wcast-align -Wshadow -Wwrite-strings -Wctor-dtor-privacy -Wnon-virtual-dtor -Wreorder -Wsign-promo -Wundef " # -Wcast-qual -Wbad-function-cast -Wwrite-strings -Woverloaded-virtual -Wmissing-declarations
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC accepts -Wdeclaration-after-statement" >&5
+printf %s "checking if $CC accepts -Wdeclaration-after-statement... " >&6; }
+ ac_add_cflags__old_cflags="$CFLAGS"
+ CFLAGS="-Wdeclaration-after-statement"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <stdio.h>
+
+int
+main (void)
+{
+puts("Hello, World!"); return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ CFLAGS="$ac_add_cflags__old_cflags -Wdeclaration-after-statement"
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+ CFLAGS="$ac_add_cflags__old_cflags"
fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+
+
+
+ if test "$enable_fortify_source" = "yes" && test "x$mingw_has_memset_chk" != "xno"
+ then
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to add -D_FORTIFY_SOURCE=2 to CPPFLAGS" >&5
+printf %s "checking whether to add -D_FORTIFY_SOURCE=2 to CPPFLAGS... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+
+ int main() {
+ #ifndef _FORTIFY_SOURCE
+ return 0;
+ #else
+ this_is_an_error;
+ #endif
+ }
+
+
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2"
+
+else $as_nop
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+
fi
-NASM=$ac_cv_prog_NASM
-if test -n "$NASM"; then
- echo "$as_me:$LINENO: result: $NASM" >&5
-echo "${ECHO_T}$NASM" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+
+ fi
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CXX accepts -Weffc++" >&5
+printf %s "checking if $CXX accepts -Weffc++... " >&6; }
+
+ ac_add_cxxflags__old_cxxflags="$CXXFLAGS"
+ CXXFLAGS="-Weffc++"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <cstdio>
+
+int
+main (void)
+{
+puts("Hello, World!"); return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ CXXFLAGS="$ac_add_cxxflags__old_cxxflags -Weffc++"
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+ CXXFLAGS="$ac_add_cxxflags__old_cxxflags"
+
fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
- test -n "$NASM" && break
-done
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ if test x$xiph_cv_c_compiler_clang = xyes -a "$OBJ_FORMAT" = elf; then
+ CPPFLAGS="$CPPFLAGS -DFLAC__USE_VISIBILITY_ATTR"
+ CFLAGS="$CFLAGS -fvisibility=hidden"
+ CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
+ elif test "$GCC_MAJOR_VERSION" -ge 4 && test "$OBJ_FORMAT" = elf; then
+ CPPFLAGS="$CPPFLAGS -DFLAC__USE_VISIBILITY_ATTR"
+ CFLAGS="$CFLAGS -fvisibility=hidden"
+ CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
+ fi
+
+
+ if test x$xiph_cv_c_compiler_clang = xyes -a "$OBJ_FORMAT" = macho; then
+ CPPFLAGS="$CPPFLAGS -DFLAC__USE_VISIBILITY_ATTR"
+ CFLAGS="$CFLAGS -fvisibility=hidden"
+ CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
+ elif test "$GCC_MAJOR_VERSION" -ge 4 && test "$OBJ_FORMAT" = macho; then
+ CPPFLAGS="$CPPFLAGS -DFLAC__USE_VISIBILITY_ATTR"
+ CFLAGS="$CFLAGS -fvisibility=hidden"
+ CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
+ fi
+
+ if test "x$GCC_MAJOR_VERSION$GCC_MINOR_VERSION" = "x42" ; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC accepts -fgnu89-inline" >&5
+printf %s "checking if $CC accepts -fgnu89-inline... " >&6; }
+ ac_add_cflags__old_cflags="$CFLAGS"
+ CFLAGS="-fgnu89-inline"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <stdio.h>
+
+int
+main (void)
+{
+puts("Hello, World!"); return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ CFLAGS="$ac_add_cflags__old_cflags -fgnu89-inline"
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+ CFLAGS="$ac_add_cflags__old_cflags"
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+
+ fi
+
+ if test "x$GCC_MAJOR_VERSION$GCC_MINOR_VERSION" = "x47" ; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC accepts -fno-inline-small-functions" >&5
+printf %s "checking if $CC accepts -fno-inline-small-functions... " >&6; }
+ ac_add_cflags__old_cflags="$CFLAGS"
+ CFLAGS="-fno-inline-small-functions"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <stdio.h>
+
+int
+main (void)
+{
+puts("Hello, World!"); return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ CFLAGS="$ac_add_cflags__old_cflags -fno-inline-small-functions"
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+ CFLAGS="$ac_add_cflags__old_cflags"
-if test -n "$NASM"; then
- FLaC__HAS_NASM_TRUE=
- FLaC__HAS_NASM_FALSE='#'
-else
- FLaC__HAS_NASM_TRUE='#'
- FLaC__HAS_NASM_FALSE=
fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
-if test -n "$NASM" ; then
-cat >>confdefs.h <<\_ACEOF
-#define FLAC__HAS_NASM 1
+ fi
+
+ fi
+
+case "$host_os" in
+ "mingw32"|"os2")
+ if test "$host_cpu" = "i686"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC accepts -mstackrealign" >&5
+printf %s "checking if $CC accepts -mstackrealign... " >&6; }
+ ac_add_cflags__old_cflags="$CFLAGS"
+ CFLAGS="-mstackrealign"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <stdio.h>
+
+int
+main (void)
+{
+puts("Hello, World!"); return 0;
+ ;
+ return 0;
+}
_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ CFLAGS="$ac_add_cflags__old_cflags -mstackrealign"
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+ CFLAGS="$ac_add_cflags__old_cflags"
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+
+ fi
+ esac
+if test x$enable_werror = "xyes" ; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC accepts -Werror" >&5
+printf %s "checking if $CC accepts -Werror... " >&6; }
+ ac_add_cflags__old_cflags="$CFLAGS"
+ CFLAGS="-Werror"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+ #include <stdio.h>
+
+int
+main (void)
+{
+puts("Hello, World!"); return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ CFLAGS="$ac_add_cflags__old_cflags -Werror"
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+ CFLAGS="$ac_add_cflags__old_cflags"
fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
-# only matters for PowerPC
-for ac_prog in as
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_AS+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AS="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CXX accepts -Werror" >&5
+printf %s "checking if $CXX accepts -Werror... " >&6; }
+
+ ac_add_cxxflags__old_cxxflags="$CXXFLAGS"
+ CXXFLAGS="-Werror"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <cstdio>
+
+int
+main (void)
+{
+puts("Hello, World!"); return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ CXXFLAGS="$ac_add_cxxflags__old_cxxflags -Werror"
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+ CXXFLAGS="$ac_add_cxxflags__old_cxxflags"
fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ fi
+
+if test x$enable_stack_smash_protection = "xyes" && test "x$mingw_has_stack_chk_fail" != "xno" ; then
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports stack smash protection" >&5
+printf %s "checking if $CC supports stack smash protection... " >&6; }
+ xiph_stack_check_old_cflags="$CFLAGS"
+ SSP_FLAGS="-fstack-protector-strong"
+ CFLAGS=$SSP_FLAGS
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <stdio.h>
+
+int
+main (void)
+{
+puts("Hello, World!"); return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ CFLAGS="$xiph_stack_check_old_cflags $SSP_FLAGS"
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+ CFLAGS="$xiph_stack_check_old_cflags"
+
fi
-AS=$ac_cv_prog_AS
-if test -n "$AS"; then
- echo "$as_me:$LINENO: result: $AS" >&5
-echo "${ECHO_T}$AS" >&6
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CXX supports stack smash protection" >&5
+printf %s "checking if $CXX supports stack smash protection... " >&6; }
+ xiph_stack_check_old_cxxflags="$CXXFLAGS"
+ SSP_FLAGS="-fstack-protector-strong"
+ CXXFLAGS=$SSP_FLAGS
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <cstdio>
+
+int
+main (void)
+{
+puts("Hello, World!"); return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ CXXFLAGS="$xiph_stack_check_old_cxxflags $SSP_FLAGS"
+else $as_nop
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+ CXXFLAGS="$xiph_stack_check_old_cxxflags"
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ enable_stack_smash_protection=no
fi
- test -n "$AS" && break
-done
-test -n "$AS" || AS="as"
-for ac_prog in gas
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_GAS+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$GAS"; then
- ac_cv_prog_GAS="$GAS" # Let the user override the test.
+
+if test x$enable_static = "xyes" ; then
+ CPPFLAGS="-DFLAC__NO_DLL $CPPFLAGS"
+ fi
+
+# Extract the first word of "git", so it can be a program name with args.
+set dummy git; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_GIT_FOUND+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$GIT_FOUND"; then
+ ac_cv_prog_GIT_FOUND="$GIT_FOUND" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_GAS="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_GIT_FOUND="yes"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
+IFS=$as_save_IFS
fi
fi
-GAS=$ac_cv_prog_GAS
-if test -n "$GAS"; then
- echo "$as_me:$LINENO: result: $GAS" >&5
-echo "${ECHO_T}$GAS" >&6
+GIT_FOUND=$ac_cv_prog_GIT_FOUND
+if test -n "$GIT_FOUND"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GIT_FOUND" >&5
+printf "%s\n" "$GIT_FOUND" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
fi
- test -n "$GAS" && break
-done
-test -n "$GAS" || GAS="gas"
-# try -v (apple as) and --version (gas) at the same time
-test "$AS" = "as" && as --version -v < /dev/null 2>&1 | grep Apple >/dev/null || AS=gas
+if test x$GIT_FOUND$enable_version_from_git = "xyesyes"; then
+ GIT_COMMIT_TAG=`git -C $srcdir --git-dir=.git describe --tags --exact-match 2>/dev/null`
+ GIT_COMMIT_HASH=`git -C $srcdir --git-dir=.git log -1 --pretty=format:%h 2>/dev/null`
+ GIT_COMMIT_DATE=`git -C $srcdir --git-dir=.git log -1 --pretty=format:%cd --date=format:%Y%m%d 2>/dev/null`
+ if test ${#GIT_COMMIT_HASH} = 8 && test ${#GIT_COMMIT_DATE} = 8; then
+ GIT_COMMIT_VERSION_AVAIL=yes
+ if test ${#GIT_COMMIT_TAG} != 0 ; then
+ GIT_COMMIT_TAG_AVAIL=yes
+printf "%s\n" "#define GIT_COMMIT_TAG \"${GIT_COMMIT_TAG}\"" >>confdefs.h
+ else
+ GIT_COMMIT_VERSION_HASH=yes
+ fi
-if test "$AS" = "as"; then
- FLaC__HAS_AS_TRUE=
- FLaC__HAS_AS_FALSE='#'
-else
- FLaC__HAS_AS_TRUE='#'
- FLaC__HAS_AS_FALSE=
-fi
+printf "%s\n" "#define GIT_COMMIT_HASH \"${GIT_COMMIT_HASH}\"" >>confdefs.h
+printf "%s\n" "#define GIT_COMMIT_DATE \"${GIT_COMMIT_DATE}\"" >>confdefs.h
-if test "$AS" = "gas"; then
- FLaC__HAS_GAS_TRUE=
- FLaC__HAS_GAS_FALSE='#'
-else
- FLaC__HAS_GAS_TRUE='#'
- FLaC__HAS_GAS_FALSE=
+ fi
fi
-if test "$AS" = "as" ; then
-cat >>confdefs.h <<\_ACEOF
-#define FLAC__HAS_AS 1
-_ACEOF
-
-
-fi
-if test "$AS" = "gas" ; then
-# funniest. macro. ever.
-cat >>confdefs.h <<\_ACEOF
-#define FLAC__HAS_GAS 1
-_ACEOF
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fassociative-math -fno-signed-zeros -fno-trapping-math -freciprocal-math" >&5
+printf %s "checking whether C compiler accepts -fassociative-math -fno-signed-zeros -fno-trapping-math -freciprocal-math... " >&6; }
+if test ${ax_cv_check_cflags___fassociative_math__fno_signed_zeros__fno_trapping_math__freciprocal_math+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ax_check_save_flags=$CFLAGS
+ CFLAGS="$CFLAGS -fassociative-math -fno-signed-zeros -fno-trapping-math -freciprocal-math"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-fi
+int
+main (void)
+{
-CPPFLAGS='-I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include'" $CPPFLAGS"
-if test "x$debug" = xtrue; then
- CPPFLAGS="-DDEBUG $CPPFLAGS"
- CFLAGS="-g $CFLAGS"
-else
- CPPFLAGS="-DNDEBUG $CPPFLAGS"
- if test "x$GCC" = xyes; then
- CPPFLAGS="-DFLaC__INLINE=__inline__ $CPPFLAGS"
- CFLAGS="-O3 -funroll-loops -finline-functions -Wall -W -Winline $CFLAGS"
- fi
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ax_cv_check_cflags___fassociative_math__fno_signed_zeros__fno_trapping_math__freciprocal_math=yes
+else $as_nop
+ ax_cv_check_cflags___fassociative_math__fno_signed_zeros__fno_trapping_math__freciprocal_math=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ CFLAGS=$ax_check_save_flags
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fassociative_math__fno_signed_zeros__fno_trapping_math__freciprocal_math" >&5
+printf "%s\n" "$ax_cv_check_cflags___fassociative_math__fno_signed_zeros__fno_trapping_math__freciprocal_math" >&6; }
+if test "x$ax_cv_check_cflags___fassociative_math__fno_signed_zeros__fno_trapping_math__freciprocal_math" = xyes
+then :
+ HAVE_ASSOC_MATH=yes
+else $as_nop
+ :
fi
-#@@@
-
-
-if test "yes" = "no"; then
- FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE=
- FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE='#'
+ if test "x$HAVE_ASSOC_MATH" = "xyes"; then
+ ASSOC_MATH_AVAILABLE_TRUE=
+ ASSOC_MATH_AVAILABLE_FALSE='#'
else
- FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE='#'
- FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE=
+ ASSOC_MATH_AVAILABLE_TRUE='#'
+ ASSOC_MATH_AVAILABLE_FALSE=
fi
-if test "yes" = "no"; then
- FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE=
- FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE='#'
-else
- FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE='#'
- FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE=
-fi
-
-
- ac_config_files="$ac_config_files Makefile src/Makefile src/libFLAC/Makefile src/libFLAC/flac.pc src/libFLAC/ia32/Makefile src/libFLAC/ppc/Makefile src/libFLAC/ppc/as/Makefile src/libFLAC/ppc/gas/Makefile src/libFLAC/include/Makefile src/libFLAC/include/private/Makefile src/libFLAC/include/protected/Makefile src/libFLAC++/Makefile src/libFLAC++/flac++.pc src/flac/Makefile src/metaflac/Makefile src/monkeys_audio_utilities/Makefile src/monkeys_audio_utilities/flac_mac/Makefile src/monkeys_audio_utilities/flac_ren/Makefile src/plugin_common/Makefile src/plugin_winamp2/Makefile src/plugin_winamp2/include/Makefile src/plugin_winamp2/include/winamp2/Makefile src/plugin_xmms/Makefile src/share/Makefile src/share/getopt/Makefile src/share/grabbag/Makefile src/share/replaygain_analysis/Makefile src/share/replaygain_synthesis/Makefile src/share/replaygain_synthesis/include/Makefile src/share/replaygain_synthesis/include/private/Makefile src/share/utf8/Makefile src/test_grabbag/Makefile src/test_grabbag/cuesheet/Makefile src/test_grabbag/picture/Makefile src/test_libs_common/Makefile src/test_libFLAC/Makefile src/test_libFLAC++/Makefile src/test_seeking/Makefile src/test_streams/Makefile examples/Makefile examples/c/Makefile examples/c/decode/Makefile examples/c/decode/file/Makefile examples/c/encode/Makefile examples/c/encode/file/Makefile examples/cpp/Makefile examples/cpp/decode/Makefile examples/cpp/decode/file/Makefile examples/cpp/encode/Makefile examples/cpp/encode/file/Makefile include/Makefile include/FLAC/Makefile include/FLAC++/Makefile include/share/Makefile include/share/grabbag/Makefile include/test_libs_common/Makefile doc/Makefile doc/html/Makefile doc/html/images/Makefile doc/html/images/hw/Makefile doc/html/ru/Makefile m4/Makefile man/Makefile test/Makefile test/cuesheets/Makefile test/flac-to-flac-metadata-test-files/Makefile test/metaflac-test-files/Makefile test/pictures/Makefile build/Makefile obj/Makefile obj/debug/Makefile obj/debug/bin/Makefile obj/debug/lib/Makefile obj/release/Makefile obj/release/bin/Makefile obj/release/lib/Makefile"
+ac_config_files="$ac_config_files Makefile src/Makefile src/libFLAC/Makefile src/libFLAC/flac.pc src/libFLAC/include/Makefile src/libFLAC/include/private/Makefile src/libFLAC/include/protected/Makefile src/libFLAC++/Makefile src/libFLAC++/flac++.pc src/flac/Makefile src/metaflac/Makefile src/share/Makefile src/test_grabbag/Makefile src/test_grabbag/cuesheet/Makefile src/test_grabbag/picture/Makefile src/test_libs_common/Makefile src/test_libFLAC/Makefile src/test_libFLAC++/Makefile src/test_seeking/Makefile src/test_streams/Makefile src/utils/Makefile src/utils/flacdiff/Makefile src/utils/flactimer/Makefile examples/Makefile examples/c/Makefile examples/c/decode/Makefile examples/c/decode/file/Makefile examples/c/encode/Makefile examples/c/encode/file/Makefile examples/cpp/Makefile examples/cpp/decode/Makefile examples/cpp/decode/file/Makefile examples/cpp/encode/Makefile examples/cpp/encode/file/Makefile include/Makefile include/FLAC/Makefile include/FLAC++/Makefile include/share/Makefile include/share/grabbag/Makefile include/test_libs_common/Makefile doc/Doxyfile doc/Makefile doc/images/Makefile m4/Makefile man/Makefile test/common.sh test/Makefile test/cuesheets/Makefile test/foreign-metadata-test-files/Makefile test/flac-to-flac-metadata-test-files/Makefile test/metaflac-test-files/Makefile test/pictures/Makefile microbench/Makefile oss-fuzz/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -23536,39 +21957,70 @@ _ACEOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
+# So, we kill variables containing newlines.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
-{
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+
(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \).
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes: double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \.
sed -n \
"s/'/'\\\\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;;
+ ;; #(
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
- esac;
-} |
+ esac |
+ sort
+) |
sed '
+ /^ac_cv_env_/b end
t clear
- : clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/
t end
- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
- if test -w $cache_file; then
- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
- cat confcache >$cache_file
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ if test "x$cache_file" != "x/dev/null"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+printf "%s\n" "$as_me: updating cache $cache_file" >&6;}
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
else
- echo "not updating unwritable cache $cache_file"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;}
fi
fi
rm -f confcache
@@ -23577,227 +22029,155 @@ test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}'
-fi
-
DEFS=-DHAVE_CONFIG_H
ac_libobjs=
ac_ltlibobjs=
+U=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
- ac_i=`echo "$ac_i" |
- sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
- # 2. Add them.
- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs
LTLIBOBJS=$ac_ltlibobjs
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+printf %s "checking that generated files are newer than configure... " >&6; }
+ if test -n "$am_sleep_pid"; then
+ # Hide warnings about reused PIDs.
+ wait $am_sleep_pid 2>/dev/null
+ fi
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5
+printf "%s\n" "done" >&6; }
+ if test -n "$EXEEXT"; then
+ am__EXEEXT_TRUE=
+ am__EXEEXT_FALSE='#'
+else
+ am__EXEEXT_TRUE='#'
+ am__EXEEXT_FALSE=
fi
+
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
+if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
+ as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+if test -z "${FLaC__NO_ASM_TRUE}" && test -z "${FLaC__NO_ASM_FALSE}"; then
+ as_fn_error $? "conditional \"FLaC__NO_ASM\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${FLAC__CPU_X86_64_TRUE}" && test -z "${FLAC__CPU_X86_64_FALSE}"; then
+ as_fn_error $? "conditional \"FLAC__CPU_X86_64\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${FLaC__CPU_IA32_TRUE}" && test -z "${FLaC__CPU_IA32_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FLaC__CPU_IA32\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FLaC__CPU_IA32\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${FLaC__CPU_PPC_TRUE}" && test -z "${FLaC__CPU_PPC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FLaC__CPU_PPC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FLaC__CPU_PPC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${FLaC__CPU_SPARC_TRUE}" && test -z "${FLaC__CPU_SPARC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FLaC__CPU_SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FLaC__CPU_SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "conditional \"FLaC__CPU_IA32\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${FLAC__CPU_ARM64_TRUE}" && test -z "${FLAC__CPU_ARM64_FALSE}"; then
+ as_fn_error $? "conditional \"FLAC__CPU_ARM64\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${OS_IS_WINDOWS_TRUE}" && test -z "${OS_IS_WINDOWS_FALSE}"; then
+ as_fn_error $? "conditional \"OS_IS_WINDOWS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_WINDRES_TRUE}" && test -z "${HAVE_WINDRES_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_WINDRES\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${FLaC__SYS_DARWIN_TRUE}" && test -z "${FLaC__SYS_DARWIN_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FLaC__SYS_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FLaC__SYS_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "conditional \"FLaC__SYS_DARWIN\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${FLaC__SYS_LINUX_TRUE}" && test -z "${FLaC__SYS_LINUX_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FLaC__SYS_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FLaC__SYS_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${FLaC__NO_ASM_TRUE}" && test -z "${FLaC__NO_ASM_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FLaC__NO_ASM\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FLaC__NO_ASM\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "conditional \"FLaC__SYS_LINUX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${DEBUG_TRUE}" && test -z "${DEBUG_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${FLaC__SSE_OS_TRUE}" && test -z "${FLaC__SSE_OS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FLaC__SSE_OS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FLaC__SSE_OS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${FLaC__USE_3DNOW_TRUE}" && test -z "${FLaC__USE_3DNOW_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FLaC__USE_3DNOW\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FLaC__USE_3DNOW\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${FLaC__USE_ALTIVEC_TRUE}" && test -z "${FLaC__USE_ALTIVEC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FLaC__USE_ALTIVEC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FLaC__USE_ALTIVEC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "conditional \"DEBUG\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${FLaC__USE_AVX_TRUE}" && test -z "${FLaC__USE_AVX_FALSE}"; then
+ as_fn_error $? "conditional \"FLaC__USE_AVX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${FLaC__HAS_DOXYGEN_TRUE}" && test -z "${FLaC__HAS_DOXYGEN_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FLaC__HAS_DOXYGEN\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FLaC__HAS_DOXYGEN\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE}" && test -z "${FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FLaC__INSTALL_XMMS_PLUGIN_LOCALLY\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FLaC__INSTALL_XMMS_PLUGIN_LOCALLY\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${FLaC__HAS_XMMS_TRUE}" && test -z "${FLaC__HAS_XMMS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FLaC__HAS_XMMS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FLaC__HAS_XMMS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "conditional \"FLaC__HAS_DOXYGEN\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${FLaC__HAS_PREBUILT_DOXYGEN_TRUE}" && test -z "${FLaC__HAS_PREBUILT_DOXYGEN_FALSE}"; then
+ as_fn_error $? "conditional \"FLaC__HAS_PREBUILT_DOXYGEN\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${FLaC__WITH_CPPLIBS_TRUE}" && test -z "${FLaC__WITH_CPPLIBS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FLaC__WITH_CPPLIBS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FLaC__WITH_CPPLIBS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "conditional \"FLaC__WITH_CPPLIBS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${USE_OSSFUZZERS_TRUE}" && test -z "${USE_OSSFUZZERS_FALSE}"; then
+ as_fn_error $? "conditional \"USE_OSSFUZZERS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${USE_OSSFUZZERS_TRUE}" && test -z "${USE_OSSFUZZERS_FALSE}"; then
+ as_fn_error $? "conditional \"USE_OSSFUZZERS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${USE_OSSFUZZERS_TRUE}" && test -z "${USE_OSSFUZZERS_FALSE}"; then
+ as_fn_error $? "conditional \"USE_OSSFUZZERS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${FLaC__HAS_OGG_TRUE}" && test -z "${FLaC__HAS_OGG_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FLaC__HAS_OGG\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FLaC__HAS_OGG\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${FLaC__HAS_DOCBOOK_TO_MAN_TRUE}" && test -z "${FLaC__HAS_DOCBOOK_TO_MAN_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FLaC__HAS_DOCBOOK_TO_MAN\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FLaC__HAS_DOCBOOK_TO_MAN\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${FLaC__HAS_NASM_TRUE}" && test -z "${FLaC__HAS_NASM_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FLaC__HAS_NASM\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FLaC__HAS_NASM\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${FLaC__HAS_AS_TRUE}" && test -z "${FLaC__HAS_AS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FLaC__HAS_AS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FLaC__HAS_AS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${FLaC__HAS_GAS_TRUE}" && test -z "${FLaC__HAS_GAS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FLaC__HAS_GAS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FLaC__HAS_GAS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE}" && test -z "${FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FLaC__HAS_AS__TEMPORARILY_DISABLED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FLaC__HAS_AS__TEMPORARILY_DISABLED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE}" && test -z "${FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FLaC__HAS_GAS__TEMPORARILY_DISABLED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FLaC__HAS_GAS__TEMPORARILY_DISABLED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-: ${CONFIG_STATUS=./config.status}
+ as_fn_error $? "conditional \"FLaC__HAS_OGG\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${FLaC__WITH_PROGRAMS_TRUE}" && test -z "${FLaC__WITH_PROGRAMS_FALSE}"; then
+ as_fn_error $? "conditional \"FLaC__WITH_PROGRAMS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EXAMPLES_TRUE}" && test -z "${EXAMPLES_FALSE}"; then
+ as_fn_error $? "conditional \"EXAMPLES\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${FLaC__HAS_PANDOC_TRUE}" && test -z "${FLaC__HAS_PANDOC_FALSE}"; then
+ as_fn_error $? "conditional \"FLaC__HAS_PANDOC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${FLaC__HAS_PREBUILT_MANPAGES_TRUE}" && test -z "${FLaC__HAS_PREBUILT_MANPAGES_FALSE}"; then
+ as_fn_error $? "conditional \"FLaC__HAS_PREBUILT_MANPAGES\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ASSOC_MATH_AVAILABLE_TRUE}" && test -z "${ASSOC_MATH_AVAILABLE_FALSE}"; then
+ as_fn_error $? "conditional \"ASSOC_MATH_AVAILABLE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+: "${CONFIG_STATUS=./config.status}"
+ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
@@ -23807,81 +22187,236 @@ cat >$CONFIG_STATUS <<_ACEOF
debug=false
ac_cs_recheck=false
ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+as_nop=:
+if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
+ setopt NO_GLOB_SUBST
+else $as_nop
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
fi
-DUALCASE=1; export DUALCASE # for MKS sh
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+# Reset variables that may have inherited troublesome values from
+# the environment.
+
+# IFS needs to be set, to space, tab, and newline, in precisely that order.
+# (If _AS_PATH_WALK were called with IFS unset, it would have the
+# side effect of setting IFS to empty, thus disabling word splitting.)
+# Quoting is to prevent editors from complaining about space-tab.
+as_nl='
+'
+export as_nl
+IFS=" "" $as_nl"
+
PS1='$ '
PS2='> '
PS4='+ '
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
+# Ensure predictable behavior from utilities with locale-dependent output.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# We cannot yet rely on "unset" to work, but we need these variables
+# to be unset--not just set to an empty or harmless value--now, to
+# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct
+# also avoids known problems related to "unset" and subshell syntax
+# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
+for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+do eval test \${$as_var+y} \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+
+# Ensure that fds 0, 1, and 2 are open.
+if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi
+if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
+if (exec 3>&2) ; then :; else exec 2>/dev/null; fi
+
+# The user is always right.
+if ${PATH_SEPARATOR+false} :; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ test -r "$as_dir$0" && as_myself=$as_dir$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
-done
+ printf "%s\n" "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
+then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else $as_nop
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
+then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else $as_nop
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
fi
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
-# Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+printf "%s\n" X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
-
-# PATH needs CR, and LINENO needs CR and PATH.
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
@@ -23889,148 +22424,121 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+# Determine whether it's possible to make 'echo' print without a newline.
+# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
+# for compatibility with existing Makefiles.
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
esac
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
+# For backward compatibility with old third-party macros, we provide
+# the shell variables $as_echo and $as_echo_n. New code should use
+# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
+as_echo='printf %s\n'
+as_echo_n='printf %s'
rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -pR'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -pR'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -pR'
fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+printf "%s\n" X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+} # as_fn_mkdir_p
if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
+ as_mkdir_p='mkdir -p "$as_dir"'
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
-as_executable_p="test -f"
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -24039,31 +22547,20 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
exec 6>&1
-
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
-This file was extended by $as_me, which was
-generated by GNU Autoconf 2.59. Invocation command line was
+# values after options handling.
+ac_log="
+This file was extended by flac $as_me 1.4.3, which was
+generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -24071,45 +22568,47 @@ generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_COMMANDS = $CONFIG_COMMANDS
$ $0 $@
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
_ACEOF
-# Files that config.status was made for.
-if test -n "$ac_config_files"; then
- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
-if test -n "$ac_config_headers"; then
- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
-if test -n "$ac_config_links"; then
- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-if test -n "$ac_config_commands"; then
- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
-cat >>$CONFIG_STATUS <<\_ACEOF
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration. Unless the files
+and actions are specified as TAGs, all are instantiated by default.
-Usage: $0 [OPTIONS] [FILE]...
+Usage: $0 [OPTION]... [TAG]...
-h, --help print this help, then exit
- -V, --version print version number, then exit
- -q, --quiet do not print progress messages
+ -V, --version print version number and configuration settings, then exit
+ --config print configuration, then exit
+ -q, --quiet, --silent
+ do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
Configuration files:
$config_files
@@ -24120,84 +22619,95 @@ $config_headers
Configuration commands:
$config_commands
-Report bugs to <bug-autoconf@gnu.org>."
-_ACEOF
+Report bugs to <flac-dev@xiph.org>.
+flac home page: <https://www.xiph.org/flac/>."
-cat >>$CONFIG_STATUS <<_ACEOF
+_ACEOF
+ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"`
+ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"`
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-config.status
-configured by $0, generated by GNU Autoconf 2.59,
- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+flac config.status 1.4.3
+configured by $0, generated by GNU Autoconf 2.71,
+ with options \\"\$ac_cs_config\\"
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 2021 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-INSTALL="$INSTALL"
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
ac_need_defaults=:
while test $# != 0
do
case $1 in
- --*=*)
- ac_option=`expr "x$1" : 'x\([^=]*\)='`
- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ --*=?*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ --*=)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=
ac_shift=:
;;
- -*)
+ *)
ac_option=$1
ac_optarg=$2
ac_shift=shift
;;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_option=$1
- ac_need_defaults=false;;
esac
case $ac_option in
# Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ printf "%s\n" "$ac_cs_version"; exit ;;
+ --config | --confi | --conf | --con | --co | --c )
+ printf "%s\n" "$ac_cs_config"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ case $ac_optarg in
+ *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ '') as_fn_error $? "missing file argument" ;;
+ esac
+ as_fn_append CONFIG_FILES " '$ac_optarg'"
ac_need_defaults=false;;
--header | --heade | --head | --hea )
$ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+ case $ac_optarg in
+ *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ as_fn_append CONFIG_HEADERS " '$ac_optarg'"
ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ as_fn_error $? "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
+ --help | --hel | -h )
+ printf "%s\n" "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; } ;;
+ -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
- *) ac_config_targets="$ac_config_targets $1" ;;
+ *) as_fn_append ac_config_targets " $1"
+ ac_need_defaults=false ;;
esac
shift
@@ -24211,1028 +22721,1898 @@ if $ac_cs_silent; then
fi
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+ export CONFIG_SHELL
+ exec "\$@"
fi
_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ printf "%s\n" "$ac_log"
+} >&5
-cat >>$CONFIG_STATUS <<_ACEOF
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#
-# INIT-COMMANDS section.
+# INIT-COMMANDS
#
+AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-_ACEOF
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
+AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`'
+DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
+SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
+ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
+PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
+host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
+host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
+host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
+build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
+build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
+build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
+SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
+Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
+GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
+EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
+FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
+LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
+NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
+LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
+exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
+file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
+want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
+sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
+AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
+archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
+STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
+lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
+CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
+compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
+GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'
+nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
+lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'
+objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
+MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
+libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
+postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
+version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
+install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
+configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
+configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
+striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'
+predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'
+postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'
+predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'
+postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'
+LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'
+reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'
+reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
+GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
+inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
+always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
+predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'
+postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'
+predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'
+postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'
+
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in AS \
+DLLTOOL \
+OBJDUMP \
+SHELL \
+ECHO \
+PATH_SEPARATOR \
+SED \
+GREP \
+EGREP \
+FGREP \
+LD \
+NM \
+LN_S \
+lt_SP2NL \
+lt_NL2SP \
+reload_flag \
+deplibs_check_method \
+file_magic_cmd \
+file_magic_glob \
+want_nocaseglob \
+sharedlib_from_linklib_cmd \
+AR \
+AR_FLAGS \
+archiver_list_spec \
+STRIP \
+RANLIB \
+CC \
+CFLAGS \
+compiler \
+lt_cv_sys_global_symbol_pipe \
+lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_import \
+lt_cv_sys_global_symbol_to_c_name_address \
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+lt_cv_nm_interface \
+nm_file_list_spec \
+lt_cv_truncate_bin \
+lt_prog_compiler_no_builtin_flag \
+lt_prog_compiler_pic \
+lt_prog_compiler_wl \
+lt_prog_compiler_static \
+lt_cv_prog_compiler_c_o \
+need_locks \
+MANIFEST_TOOL \
+DSYMUTIL \
+NMEDIT \
+LIPO \
+OTOOL \
+OTOOL64 \
+shrext_cmds \
+export_dynamic_flag_spec \
+whole_archive_flag_spec \
+compiler_needs_object \
+with_gnu_ld \
+allow_undefined_flag \
+no_undefined_flag \
+hardcode_libdir_flag_spec \
+hardcode_libdir_separator \
+exclude_expsyms \
+include_expsyms \
+file_list_spec \
+variables_saved_for_relink \
+libname_spec \
+library_names_spec \
+soname_spec \
+install_override_mode \
+finish_eval \
+old_striplib \
+striplib \
+compiler_lib_search_dirs \
+predep_objects \
+postdep_objects \
+predeps \
+postdeps \
+compiler_lib_search_path \
+LD_CXX \
+reload_flag_CXX \
+compiler_CXX \
+lt_prog_compiler_no_builtin_flag_CXX \
+lt_prog_compiler_pic_CXX \
+lt_prog_compiler_wl_CXX \
+lt_prog_compiler_static_CXX \
+lt_cv_prog_compiler_c_o_CXX \
+export_dynamic_flag_spec_CXX \
+whole_archive_flag_spec_CXX \
+compiler_needs_object_CXX \
+with_gnu_ld_CXX \
+allow_undefined_flag_CXX \
+no_undefined_flag_CXX \
+hardcode_libdir_flag_spec_CXX \
+hardcode_libdir_separator_CXX \
+exclude_expsyms_CXX \
+include_expsyms_CXX \
+file_list_spec_CXX \
+compiler_lib_search_dirs_CXX \
+predep_objects_CXX \
+postdep_objects_CXX \
+predeps_CXX \
+postdeps_CXX \
+compiler_lib_search_path_CXX; do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in reload_cmds \
+old_postinstall_cmds \
+old_postuninstall_cmds \
+old_archive_cmds \
+extract_expsyms_cmds \
+old_archive_from_new_cmds \
+old_archive_from_expsyms_cmds \
+archive_cmds \
+archive_expsym_cmds \
+module_cmds \
+module_expsym_cmds \
+export_symbols_cmds \
+prelink_cmds \
+postlink_cmds \
+postinstall_cmds \
+postuninstall_cmds \
+finish_cmds \
+sys_lib_search_path_spec \
+configure_time_dlsearch_path \
+configure_time_lt_sys_library_path \
+reload_cmds_CXX \
+old_archive_cmds_CXX \
+old_archive_from_new_cmds_CXX \
+old_archive_from_expsyms_cmds_CXX \
+archive_cmds_CXX \
+archive_expsym_cmds_CXX \
+module_cmds_CXX \
+module_expsym_cmds_CXX \
+export_symbols_cmds_CXX \
+prelink_cmds_CXX \
+postlink_cmds_CXX; do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+ac_aux_dir='$ac_aux_dir'
+
+# See if we are running on zsh, and set the options that allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}"; then
+ setopt NO_GLOB_SUBST
+fi
+
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ RM='$RM'
+ ofile='$ofile'
-cat >>$CONFIG_STATUS <<\_ACEOF
+
+
+
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
for ac_config_target in $ac_config_targets
do
- case "$ac_config_target" in
- # Handling of arguments.
- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
- "src/libFLAC/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libFLAC/Makefile" ;;
- "src/libFLAC/flac.pc" ) CONFIG_FILES="$CONFIG_FILES src/libFLAC/flac.pc" ;;
- "src/libFLAC/ia32/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libFLAC/ia32/Makefile" ;;
- "src/libFLAC/ppc/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libFLAC/ppc/Makefile" ;;
- "src/libFLAC/ppc/as/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libFLAC/ppc/as/Makefile" ;;
- "src/libFLAC/ppc/gas/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libFLAC/ppc/gas/Makefile" ;;
- "src/libFLAC/include/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libFLAC/include/Makefile" ;;
- "src/libFLAC/include/private/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libFLAC/include/private/Makefile" ;;
- "src/libFLAC/include/protected/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libFLAC/include/protected/Makefile" ;;
- "src/libFLAC++/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libFLAC++/Makefile" ;;
- "src/libFLAC++/flac++.pc" ) CONFIG_FILES="$CONFIG_FILES src/libFLAC++/flac++.pc" ;;
- "src/flac/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/flac/Makefile" ;;
- "src/metaflac/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/metaflac/Makefile" ;;
- "src/monkeys_audio_utilities/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/monkeys_audio_utilities/Makefile" ;;
- "src/monkeys_audio_utilities/flac_mac/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/monkeys_audio_utilities/flac_mac/Makefile" ;;
- "src/monkeys_audio_utilities/flac_ren/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/monkeys_audio_utilities/flac_ren/Makefile" ;;
- "src/plugin_common/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugin_common/Makefile" ;;
- "src/plugin_winamp2/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugin_winamp2/Makefile" ;;
- "src/plugin_winamp2/include/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugin_winamp2/include/Makefile" ;;
- "src/plugin_winamp2/include/winamp2/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugin_winamp2/include/winamp2/Makefile" ;;
- "src/plugin_xmms/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/plugin_xmms/Makefile" ;;
- "src/share/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/share/Makefile" ;;
- "src/share/getopt/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/share/getopt/Makefile" ;;
- "src/share/grabbag/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/share/grabbag/Makefile" ;;
- "src/share/replaygain_analysis/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/share/replaygain_analysis/Makefile" ;;
- "src/share/replaygain_synthesis/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/share/replaygain_synthesis/Makefile" ;;
- "src/share/replaygain_synthesis/include/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/share/replaygain_synthesis/include/Makefile" ;;
- "src/share/replaygain_synthesis/include/private/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/share/replaygain_synthesis/include/private/Makefile" ;;
- "src/share/utf8/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/share/utf8/Makefile" ;;
- "src/test_grabbag/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/test_grabbag/Makefile" ;;
- "src/test_grabbag/cuesheet/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/test_grabbag/cuesheet/Makefile" ;;
- "src/test_grabbag/picture/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/test_grabbag/picture/Makefile" ;;
- "src/test_libs_common/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/test_libs_common/Makefile" ;;
- "src/test_libFLAC/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/test_libFLAC/Makefile" ;;
- "src/test_libFLAC++/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/test_libFLAC++/Makefile" ;;
- "src/test_seeking/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/test_seeking/Makefile" ;;
- "src/test_streams/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/test_streams/Makefile" ;;
- "examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
- "examples/c/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/c/Makefile" ;;
- "examples/c/decode/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/c/decode/Makefile" ;;
- "examples/c/decode/file/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/c/decode/file/Makefile" ;;
- "examples/c/encode/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/c/encode/Makefile" ;;
- "examples/c/encode/file/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/c/encode/file/Makefile" ;;
- "examples/cpp/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/cpp/Makefile" ;;
- "examples/cpp/decode/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/cpp/decode/Makefile" ;;
- "examples/cpp/decode/file/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/cpp/decode/file/Makefile" ;;
- "examples/cpp/encode/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/cpp/encode/Makefile" ;;
- "examples/cpp/encode/file/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/cpp/encode/file/Makefile" ;;
- "include/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
- "include/FLAC/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/FLAC/Makefile" ;;
- "include/FLAC++/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/FLAC++/Makefile" ;;
- "include/share/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/share/Makefile" ;;
- "include/share/grabbag/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/share/grabbag/Makefile" ;;
- "include/test_libs_common/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/test_libs_common/Makefile" ;;
- "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
- "doc/html/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/Makefile" ;;
- "doc/html/images/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/images/Makefile" ;;
- "doc/html/images/hw/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/images/hw/Makefile" ;;
- "doc/html/ru/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/ru/Makefile" ;;
- "m4/Makefile" ) CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;;
- "man/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
- "test/Makefile" ) CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
- "test/cuesheets/Makefile" ) CONFIG_FILES="$CONFIG_FILES test/cuesheets/Makefile" ;;
- "test/flac-to-flac-metadata-test-files/Makefile" ) CONFIG_FILES="$CONFIG_FILES test/flac-to-flac-metadata-test-files/Makefile" ;;
- "test/metaflac-test-files/Makefile" ) CONFIG_FILES="$CONFIG_FILES test/metaflac-test-files/Makefile" ;;
- "test/pictures/Makefile" ) CONFIG_FILES="$CONFIG_FILES test/pictures/Makefile" ;;
- "build/Makefile" ) CONFIG_FILES="$CONFIG_FILES build/Makefile" ;;
- "obj/Makefile" ) CONFIG_FILES="$CONFIG_FILES obj/Makefile" ;;
- "obj/debug/Makefile" ) CONFIG_FILES="$CONFIG_FILES obj/debug/Makefile" ;;
- "obj/debug/bin/Makefile" ) CONFIG_FILES="$CONFIG_FILES obj/debug/bin/Makefile" ;;
- "obj/debug/lib/Makefile" ) CONFIG_FILES="$CONFIG_FILES obj/debug/lib/Makefile" ;;
- "obj/release/Makefile" ) CONFIG_FILES="$CONFIG_FILES obj/release/Makefile" ;;
- "obj/release/bin/Makefile" ) CONFIG_FILES="$CONFIG_FILES obj/release/bin/Makefile" ;;
- "obj/release/lib/Makefile" ) CONFIG_FILES="$CONFIG_FILES obj/release/lib/Makefile" ;;
- "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
+ case $ac_config_target in
+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "src/libFLAC/Makefile") CONFIG_FILES="$CONFIG_FILES src/libFLAC/Makefile" ;;
+ "src/libFLAC/flac.pc") CONFIG_FILES="$CONFIG_FILES src/libFLAC/flac.pc" ;;
+ "src/libFLAC/include/Makefile") CONFIG_FILES="$CONFIG_FILES src/libFLAC/include/Makefile" ;;
+ "src/libFLAC/include/private/Makefile") CONFIG_FILES="$CONFIG_FILES src/libFLAC/include/private/Makefile" ;;
+ "src/libFLAC/include/protected/Makefile") CONFIG_FILES="$CONFIG_FILES src/libFLAC/include/protected/Makefile" ;;
+ "src/libFLAC++/Makefile") CONFIG_FILES="$CONFIG_FILES src/libFLAC++/Makefile" ;;
+ "src/libFLAC++/flac++.pc") CONFIG_FILES="$CONFIG_FILES src/libFLAC++/flac++.pc" ;;
+ "src/flac/Makefile") CONFIG_FILES="$CONFIG_FILES src/flac/Makefile" ;;
+ "src/metaflac/Makefile") CONFIG_FILES="$CONFIG_FILES src/metaflac/Makefile" ;;
+ "src/share/Makefile") CONFIG_FILES="$CONFIG_FILES src/share/Makefile" ;;
+ "src/test_grabbag/Makefile") CONFIG_FILES="$CONFIG_FILES src/test_grabbag/Makefile" ;;
+ "src/test_grabbag/cuesheet/Makefile") CONFIG_FILES="$CONFIG_FILES src/test_grabbag/cuesheet/Makefile" ;;
+ "src/test_grabbag/picture/Makefile") CONFIG_FILES="$CONFIG_FILES src/test_grabbag/picture/Makefile" ;;
+ "src/test_libs_common/Makefile") CONFIG_FILES="$CONFIG_FILES src/test_libs_common/Makefile" ;;
+ "src/test_libFLAC/Makefile") CONFIG_FILES="$CONFIG_FILES src/test_libFLAC/Makefile" ;;
+ "src/test_libFLAC++/Makefile") CONFIG_FILES="$CONFIG_FILES src/test_libFLAC++/Makefile" ;;
+ "src/test_seeking/Makefile") CONFIG_FILES="$CONFIG_FILES src/test_seeking/Makefile" ;;
+ "src/test_streams/Makefile") CONFIG_FILES="$CONFIG_FILES src/test_streams/Makefile" ;;
+ "src/utils/Makefile") CONFIG_FILES="$CONFIG_FILES src/utils/Makefile" ;;
+ "src/utils/flacdiff/Makefile") CONFIG_FILES="$CONFIG_FILES src/utils/flacdiff/Makefile" ;;
+ "src/utils/flactimer/Makefile") CONFIG_FILES="$CONFIG_FILES src/utils/flactimer/Makefile" ;;
+ "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
+ "examples/c/Makefile") CONFIG_FILES="$CONFIG_FILES examples/c/Makefile" ;;
+ "examples/c/decode/Makefile") CONFIG_FILES="$CONFIG_FILES examples/c/decode/Makefile" ;;
+ "examples/c/decode/file/Makefile") CONFIG_FILES="$CONFIG_FILES examples/c/decode/file/Makefile" ;;
+ "examples/c/encode/Makefile") CONFIG_FILES="$CONFIG_FILES examples/c/encode/Makefile" ;;
+ "examples/c/encode/file/Makefile") CONFIG_FILES="$CONFIG_FILES examples/c/encode/file/Makefile" ;;
+ "examples/cpp/Makefile") CONFIG_FILES="$CONFIG_FILES examples/cpp/Makefile" ;;
+ "examples/cpp/decode/Makefile") CONFIG_FILES="$CONFIG_FILES examples/cpp/decode/Makefile" ;;
+ "examples/cpp/decode/file/Makefile") CONFIG_FILES="$CONFIG_FILES examples/cpp/decode/file/Makefile" ;;
+ "examples/cpp/encode/Makefile") CONFIG_FILES="$CONFIG_FILES examples/cpp/encode/Makefile" ;;
+ "examples/cpp/encode/file/Makefile") CONFIG_FILES="$CONFIG_FILES examples/cpp/encode/file/Makefile" ;;
+ "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
+ "include/FLAC/Makefile") CONFIG_FILES="$CONFIG_FILES include/FLAC/Makefile" ;;
+ "include/FLAC++/Makefile") CONFIG_FILES="$CONFIG_FILES include/FLAC++/Makefile" ;;
+ "include/share/Makefile") CONFIG_FILES="$CONFIG_FILES include/share/Makefile" ;;
+ "include/share/grabbag/Makefile") CONFIG_FILES="$CONFIG_FILES include/share/grabbag/Makefile" ;;
+ "include/test_libs_common/Makefile") CONFIG_FILES="$CONFIG_FILES include/test_libs_common/Makefile" ;;
+ "doc/Doxyfile") CONFIG_FILES="$CONFIG_FILES doc/Doxyfile" ;;
+ "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+ "doc/images/Makefile") CONFIG_FILES="$CONFIG_FILES doc/images/Makefile" ;;
+ "m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;;
+ "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
+ "test/common.sh") CONFIG_FILES="$CONFIG_FILES test/common.sh" ;;
+ "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
+ "test/cuesheets/Makefile") CONFIG_FILES="$CONFIG_FILES test/cuesheets/Makefile" ;;
+ "test/foreign-metadata-test-files/Makefile") CONFIG_FILES="$CONFIG_FILES test/foreign-metadata-test-files/Makefile" ;;
+ "test/flac-to-flac-metadata-test-files/Makefile") CONFIG_FILES="$CONFIG_FILES test/flac-to-flac-metadata-test-files/Makefile" ;;
+ "test/metaflac-test-files/Makefile") CONFIG_FILES="$CONFIG_FILES test/metaflac-test-files/Makefile" ;;
+ "test/pictures/Makefile") CONFIG_FILES="$CONFIG_FILES test/pictures/Makefile" ;;
+ "microbench/Makefile") CONFIG_FILES="$CONFIG_FILES microbench/Makefile" ;;
+ "oss-fuzz/Makefile") CONFIG_FILES="$CONFIG_FILES oss-fuzz/Makefile" ;;
+
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
done
+
# If the user did not use the arguments to specify the items to instantiate,
# then the envvar interface is used. Set only those that are not.
# We use the long form for the default assignment because of an extremely
# bizarre bug on SunOS 4.1.3.
if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+ test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files
+ test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers
+ test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands
fi
# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
+# simply because there is no reason against having it here, and in addition,
# creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
+ tmp= ac_tmp=
+ trap 'exit_status=$?
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+' 0
+ trap 'as_fn_exit 1' 1 2 13 15
}
-
# Create a (secure) tmp directory for tmp files.
{
- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -d "$tmp"
} ||
{
- tmp=./confstat$$-$RANDOM
- (umask 077 && mkdir $tmp)
-} ||
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+ eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
{
- echo "$me: cannot create a temporary directory in ." >&2
- { (exit 1); exit 1; }
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
}
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-
-#
-# CONFIG_FILES section.
-#
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
+h
+s///
+s/^/:/
+s/[ ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[ ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[ ]*$//
+}'
+fi
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s,@SHELL@,$SHELL,;t t
-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s,@exec_prefix@,$exec_prefix,;t t
-s,@prefix@,$prefix,;t t
-s,@program_transform_name@,$program_transform_name,;t t
-s,@bindir@,$bindir,;t t
-s,@sbindir@,$sbindir,;t t
-s,@libexecdir@,$libexecdir,;t t
-s,@datadir@,$datadir,;t t
-s,@sysconfdir@,$sysconfdir,;t t
-s,@sharedstatedir@,$sharedstatedir,;t t
-s,@localstatedir@,$localstatedir,;t t
-s,@libdir@,$libdir,;t t
-s,@includedir@,$includedir,;t t
-s,@oldincludedir@,$oldincludedir,;t t
-s,@infodir@,$infodir,;t t
-s,@mandir@,$mandir,;t t
-s,@build_alias@,$build_alias,;t t
-s,@host_alias@,$host_alias,;t t
-s,@target_alias@,$target_alias,;t t
-s,@DEFS@,$DEFS,;t t
-s,@ECHO_C@,$ECHO_C,;t t
-s,@ECHO_N@,$ECHO_N,;t t
-s,@ECHO_T@,$ECHO_T,;t t
-s,@LIBS@,$LIBS,;t t
-s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-s,@INSTALL_DATA@,$INSTALL_DATA,;t t
-s,@CYGPATH_W@,$CYGPATH_W,;t t
-s,@PACKAGE@,$PACKAGE,;t t
-s,@VERSION@,$VERSION,;t t
-s,@ACLOCAL@,$ACLOCAL,;t t
-s,@AUTOCONF@,$AUTOCONF,;t t
-s,@AUTOMAKE@,$AUTOMAKE,;t t
-s,@AUTOHEADER@,$AUTOHEADER,;t t
-s,@MAKEINFO@,$MAKEINFO,;t t
-s,@AMTAR@,$AMTAR,;t t
-s,@install_sh@,$install_sh,;t t
-s,@STRIP@,$STRIP,;t t
-s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
-s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
-s,@AWK@,$AWK,;t t
-s,@SET_MAKE@,$SET_MAKE,;t t
-s,@am__leading_dot@,$am__leading_dot,;t t
-s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
-s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
-s,@MAINT@,$MAINT,;t t
-s,@build@,$build,;t t
-s,@build_cpu@,$build_cpu,;t t
-s,@build_vendor@,$build_vendor,;t t
-s,@build_os@,$build_os,;t t
-s,@host@,$host,;t t
-s,@host_cpu@,$host_cpu,;t t
-s,@host_vendor@,$host_vendor,;t t
-s,@host_os@,$host_os,;t t
-s,@CC@,$CC,;t t
-s,@CFLAGS@,$CFLAGS,;t t
-s,@LDFLAGS@,$LDFLAGS,;t t
-s,@CPPFLAGS@,$CPPFLAGS,;t t
-s,@ac_ct_CC@,$ac_ct_CC,;t t
-s,@EXEEXT@,$EXEEXT,;t t
-s,@OBJEXT@,$OBJEXT,;t t
-s,@DEPDIR@,$DEPDIR,;t t
-s,@am__include@,$am__include,;t t
-s,@am__quote@,$am__quote,;t t
-s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
-s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
-s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
-s,@CCDEPMODE@,$CCDEPMODE,;t t
-s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
-s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
-s,@EGREP@,$EGREP,;t t
-s,@LN_S@,$LN_S,;t t
-s,@ECHO@,$ECHO,;t t
-s,@AR@,$AR,;t t
-s,@ac_ct_AR@,$ac_ct_AR,;t t
-s,@RANLIB@,$RANLIB,;t t
-s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s,@CPP@,$CPP,;t t
-s,@CXX@,$CXX,;t t
-s,@CXXFLAGS@,$CXXFLAGS,;t t
-s,@ac_ct_CXX@,$ac_ct_CXX,;t t
-s,@CXXDEPMODE@,$CXXDEPMODE,;t t
-s,@am__fastdepCXX_TRUE@,$am__fastdepCXX_TRUE,;t t
-s,@am__fastdepCXX_FALSE@,$am__fastdepCXX_FALSE,;t t
-s,@CXXCPP@,$CXXCPP,;t t
-s,@F77@,$F77,;t t
-s,@FFLAGS@,$FFLAGS,;t t
-s,@ac_ct_F77@,$ac_ct_F77,;t t
-s,@LIBTOOL@,$LIBTOOL,;t t
-s,@ACLOCAL_AMFLAGS@,$ACLOCAL_AMFLAGS,;t t
-s,@CCAS@,$CCAS,;t t
-s,@CCASFLAGS@,$CCASFLAGS,;t t
-s,@FLaC__CPU_IA32_TRUE@,$FLaC__CPU_IA32_TRUE,;t t
-s,@FLaC__CPU_IA32_FALSE@,$FLaC__CPU_IA32_FALSE,;t t
-s,@FLaC__CPU_PPC_TRUE@,$FLaC__CPU_PPC_TRUE,;t t
-s,@FLaC__CPU_PPC_FALSE@,$FLaC__CPU_PPC_FALSE,;t t
-s,@FLaC__CPU_SPARC_TRUE@,$FLaC__CPU_SPARC_TRUE,;t t
-s,@FLaC__CPU_SPARC_FALSE@,$FLaC__CPU_SPARC_FALSE,;t t
-s,@OBJ_FORMAT@,$OBJ_FORMAT,;t t
-s,@MINGW_WINSOCK_LIBS@,$MINGW_WINSOCK_LIBS,;t t
-s,@FLaC__SYS_DARWIN_TRUE@,$FLaC__SYS_DARWIN_TRUE,;t t
-s,@FLaC__SYS_DARWIN_FALSE@,$FLaC__SYS_DARWIN_FALSE,;t t
-s,@FLaC__SYS_LINUX_TRUE@,$FLaC__SYS_LINUX_TRUE,;t t
-s,@FLaC__SYS_LINUX_FALSE@,$FLaC__SYS_LINUX_FALSE,;t t
-s,@FLaC__NO_ASM_TRUE@,$FLaC__NO_ASM_TRUE,;t t
-s,@FLaC__NO_ASM_FALSE@,$FLaC__NO_ASM_FALSE,;t t
-s,@DEBUG_TRUE@,$DEBUG_TRUE,;t t
-s,@DEBUG_FALSE@,$DEBUG_FALSE,;t t
-s,@FLaC__SSE_OS_TRUE@,$FLaC__SSE_OS_TRUE,;t t
-s,@FLaC__SSE_OS_FALSE@,$FLaC__SSE_OS_FALSE,;t t
-s,@FLaC__USE_3DNOW_TRUE@,$FLaC__USE_3DNOW_TRUE,;t t
-s,@FLaC__USE_3DNOW_FALSE@,$FLaC__USE_3DNOW_FALSE,;t t
-s,@FLaC__USE_ALTIVEC_TRUE@,$FLaC__USE_ALTIVEC_TRUE,;t t
-s,@FLaC__USE_ALTIVEC_FALSE@,$FLaC__USE_ALTIVEC_FALSE,;t t
-s,@FLAC__TEST_LEVEL@,$FLAC__TEST_LEVEL,;t t
-s,@FLAC__TEST_WITH_VALGRIND@,$FLAC__TEST_WITH_VALGRIND,;t t
-s,@DOXYGEN@,$DOXYGEN,;t t
-s,@FLaC__HAS_DOXYGEN_TRUE@,$FLaC__HAS_DOXYGEN_TRUE,;t t
-s,@FLaC__HAS_DOXYGEN_FALSE@,$FLaC__HAS_DOXYGEN_FALSE,;t t
-s,@FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@,$FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE,;t t
-s,@FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@,$FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE,;t t
-s,@XMMS_CONFIG@,$XMMS_CONFIG,;t t
-s,@XMMS_CFLAGS@,$XMMS_CFLAGS,;t t
-s,@XMMS_LIBS@,$XMMS_LIBS,;t t
-s,@XMMS_VERSION@,$XMMS_VERSION,;t t
-s,@XMMS_DATA_DIR@,$XMMS_DATA_DIR,;t t
-s,@XMMS_PLUGIN_DIR@,$XMMS_PLUGIN_DIR,;t t
-s,@XMMS_VISUALIZATION_PLUGIN_DIR@,$XMMS_VISUALIZATION_PLUGIN_DIR,;t t
-s,@XMMS_INPUT_PLUGIN_DIR@,$XMMS_INPUT_PLUGIN_DIR,;t t
-s,@XMMS_OUTPUT_PLUGIN_DIR@,$XMMS_OUTPUT_PLUGIN_DIR,;t t
-s,@XMMS_GENERAL_PLUGIN_DIR@,$XMMS_GENERAL_PLUGIN_DIR,;t t
-s,@XMMS_EFFECT_PLUGIN_DIR@,$XMMS_EFFECT_PLUGIN_DIR,;t t
-s,@FLaC__HAS_XMMS_TRUE@,$FLaC__HAS_XMMS_TRUE,;t t
-s,@FLaC__HAS_XMMS_FALSE@,$FLaC__HAS_XMMS_FALSE,;t t
-s,@FLaC__WITH_CPPLIBS_TRUE@,$FLaC__WITH_CPPLIBS_TRUE,;t t
-s,@FLaC__WITH_CPPLIBS_FALSE@,$FLaC__WITH_CPPLIBS_FALSE,;t t
-s,@OGG_CFLAGS@,$OGG_CFLAGS,;t t
-s,@OGG_LIBS@,$OGG_LIBS,;t t
-s,@FLaC__HAS_OGG_TRUE@,$FLaC__HAS_OGG_TRUE,;t t
-s,@FLaC__HAS_OGG_FALSE@,$FLaC__HAS_OGG_FALSE,;t t
-s,@LIBICONV@,$LIBICONV,;t t
-s,@LTLIBICONV@,$LTLIBICONV,;t t
-s,@DOCBOOK_TO_MAN@,$DOCBOOK_TO_MAN,;t t
-s,@FLaC__HAS_DOCBOOK_TO_MAN_TRUE@,$FLaC__HAS_DOCBOOK_TO_MAN_TRUE,;t t
-s,@FLaC__HAS_DOCBOOK_TO_MAN_FALSE@,$FLaC__HAS_DOCBOOK_TO_MAN_FALSE,;t t
-s,@NASM@,$NASM,;t t
-s,@FLaC__HAS_NASM_TRUE@,$FLaC__HAS_NASM_TRUE,;t t
-s,@FLaC__HAS_NASM_FALSE@,$FLaC__HAS_NASM_FALSE,;t t
-s,@AS@,$AS,;t t
-s,@GAS@,$GAS,;t t
-s,@FLaC__HAS_AS_TRUE@,$FLaC__HAS_AS_TRUE,;t t
-s,@FLaC__HAS_AS_FALSE@,$FLaC__HAS_AS_FALSE,;t t
-s,@FLaC__HAS_GAS_TRUE@,$FLaC__HAS_GAS_TRUE,;t t
-s,@FLaC__HAS_GAS_FALSE@,$FLaC__HAS_GAS_FALSE,;t t
-s,@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@,$FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE,;t t
-s,@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@,$FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE,;t t
-s,@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@,$FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE,;t t
-s,@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@,$FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE,;t t
-s,@LIBOBJS@,$LIBOBJS,;t t
-s,@LTLIBOBJS@,$LTLIBOBJS,;t t
-CEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
_ACEOF
- cat >>$CONFIG_STATUS <<\_ACEOF
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_tt"; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
-fi # test -n "$CONFIG_FILES"
+done
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any. Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[ ]*#[ ]*define[ ][ ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ for (key in D) D_is_set[key] = 1
+ FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+ line = \$ 0
+ split(line, arg, " ")
+ if (arg[1] == "#") {
+ defundef = arg[2]
+ mac1 = arg[3]
+ } else {
+ defundef = substr(arg[1], 2)
+ mac1 = arg[2]
+ }
+ split(mac1, mac2, "(") #)
+ macro = mac2[1]
+ prefix = substr(line, 1, index(line, defundef) - 1)
+ if (D_is_set[macro]) {
+ # Preserve the white space surrounding the "#".
+ print prefix "define", macro P[macro] D[macro]
+ next
+ } else {
+ # Replace #undef with comments. This is necessary, for example,
+ # in the case of _POSIX_SOURCE, which is predefined and required
+ # on some systems where configure will not decide to define it.
+ if (defundef == "undef") {
+ print "/*", prefix defundef, macro, "*/"
+ next
+ }
+ }
+}
+{ print }
+_ACAWK
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$ac_tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ esac
+ case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ as_fn_append ac_file_inputs " '$ac_f'"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input='Generated from '`
+ printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+printf "%s\n" "$as_me: creating $ac_file" >&6;}
+ fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`printf "%s\n" "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ esac
+ ;;
esac
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+ ac_dir=`$as_dirname -- "$ac_file" ||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+printf "%s\n" X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir="$ac_dir"; as_fn_mkdir_p
ac_builddir=.
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
case $srcdir in
- .) # No --srcdir option. We are building in place.
+ .) # We are building in place.
ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
case $INSTALL in
[\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
esac
+ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [\\/$]* | ?:[\\/]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+ esac
+_ACEOF
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
$extrasub
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s,@configure_input@,$configure_input,;t t
-s,@srcdir@,$ac_srcdir,;t t
-s,@abs_srcdir@,$ac_abs_srcdir,;t t
-s,@top_srcdir@,$ac_top_srcdir,;t t
-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s,@builddir@,$ac_builddir,;t t
-s,@abs_builddir@,$ac_abs_builddir,;t t
-s,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-s,@INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
-
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_HEADER section.
-#
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='[ ].*$,\1#\2'
-ac_dC=' '
-ac_dD=',;t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='$,\1#\2define\3'
-ac_uC=' '
-ac_uD=',;t'
-
-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&5
+printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&2;}
+
+ rm -f "$ac_tmp/stdin"
case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- # Do quote $f, to prevent DOS paths from being IFS'd.
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
- # Remove the trailing spaces.
- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
-
-_ACEOF
-
-# Transform confdefs.h into two sed scripts, `conftest.defines' and
-# `conftest.undefs', that substitutes the proper values into
-# config.h.in to produce config.h. The first handles `#define'
-# templates, and the second `#undef' templates.
-# And first: Protect against being on the right side of a sed subst in
-# config.status. Protect against being in an unquoted here document
-# in config.status.
-rm -f conftest.defines conftest.undefs
-# Using a here document instead of a string reduces the quoting nightmare.
-# Putting comments in sed scripts is not portable.
-#
-# `end' is used to avoid that the second main sed command (meant for
-# 0-ary CPP macros) applies to n-ary macro definitions.
-# See the Autoconf documentation for `clear'.
-cat >confdef2sed.sed <<\_ACEOF
-s/[\\&,]/\\&/g
-s,[\\$`],\\&,g
-t clear
-: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
-t end
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
-: end
-_ACEOF
-# If some macros were called several times there might be several times
-# the same #defines, which is useless. Nevertheless, we may not want to
-# sort them, since we want the *last* AC-DEFINE to be honored.
-uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
-sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
-rm -f confdef2sed.sed
-
-# This sed command replaces #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-cat >>conftest.undefs <<\_ACEOF
-s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
-_ACEOF
-
-# Break up conftest.defines because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
-echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
-echo ' :' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.defines >/dev/null
-do
- # Write a limited-size here document to $tmp/defines.sed.
- echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#define' lines.
- echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/defines.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
- rm -f conftest.defines
- mv conftest.tail conftest.defines
-done
-rm -f conftest.defines
-echo ' fi # grep' >>$CONFIG_STATUS
-echo >>$CONFIG_STATUS
-
-# Break up conftest.undefs because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.undefs >/dev/null
-do
- # Write a limited-size here document to $tmp/undefs.sed.
- echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#undef'
- echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
- rm -f conftest.undefs
- mv conftest.tail conftest.undefs
-done
-rm -f conftest.undefs
-
-cat >>$CONFIG_STATUS <<\_ACEOF
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- echo "/* Generated by configure. */" >$tmp/config.h
- else
- echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
- fi
- cat $tmp/in >>$tmp/config.h
- rm -f $tmp/in
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+ esac \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+ :H)
+ #
+ # CONFIG_HEADER
+ #
if test x"$ac_file" != x-; then
- if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
+ {
+ printf "%s\n" "/* $configure_input */" >&1 \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+ } >"$ac_tmp/config.h" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+printf "%s\n" "$as_me: $ac_file is unchanged" >&6;}
else
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- rm -f $ac_file
- mv $tmp/config.h $ac_file
+ rm -f "$ac_file"
+ mv "$ac_tmp/config.h" "$ac_file" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
fi
else
- cat $tmp/config.h
- rm -f $tmp/config.h
+ printf "%s\n" "/* $configure_input */" >&1 \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+ || as_fn_error $? "could not create -" "$LINENO" 5
fi
-# Compute $ac_file's index in $config_headers.
+# Compute "$ac_file"'s index in $config_headers.
+_am_arg="$ac_file"
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
- $ac_file | $ac_file:* )
+ $_am_arg | $_am_arg:* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
-echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
-$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X$ac_file : 'X\(//\)[^/]' \| \
- X$ac_file : 'X\(//\)$' \| \
- X$ac_file : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X$ac_file |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`/stamp-h$_am_stamp_count
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$_am_arg" : 'X\(//\)[^/]' \| \
+ X"$_am_arg" : 'X\(//\)$' \| \
+ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+printf "%s\n" X"$_am_arg" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
+
+ :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+printf "%s\n" "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+
+
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+ # Older Autoconf quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ # TODO: see whether this extra hack can be removed once we start
+ # requiring Autoconf 2.70 or later.
+ case $CONFIG_FILES in #(
+ *\'*) :
+ eval set x "$CONFIG_FILES" ;; #(
+ *) :
+ set x $CONFIG_FILES ;; #(
+ *) :
+ ;;
+esac
+ shift
+ # Used to flag and report bootstrapping failures.
+ am_rc=0
+ for am_mf
+ do
+ # Strip MF so we end up with the name of the file.
+ am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile which includes
+ # dependency-tracking related rules and includes.
+ # Grep'ing the whole file directly is not great: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
+ || continue
+ am_dirpart=`$as_dirname -- "$am_mf" ||
+$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$am_mf" : 'X\(//\)[^/]' \| \
+ X"$am_mf" : 'X\(//\)$' \| \
+ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
+printf "%s\n" X"$am_mf" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ am_filepart=`$as_basename -- "$am_mf" ||
+$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$am_mf" : 'X\(//\)$' \| \
+ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
+printf "%s\n" X/"$am_mf" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { echo "$as_me:$LINENO: cd "$am_dirpart" \
+ && sed -e '/# am--include-marker/d' "$am_filepart" \
+ | $MAKE -f - am--depfiles" >&5
+ (cd "$am_dirpart" \
+ && sed -e '/# am--include-marker/d' "$am_filepart" \
+ | $MAKE -f - am--depfiles) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } || am_rc=$?
+ done
+ if test $am_rc -ne 0; then
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Something went wrong bootstrapping makefile fragments
+ for automatic dependency tracking. If GNU make was not used, consider
+ re-running the configure script with MAKE=\"gmake\" (or whatever is
+ necessary). You can also try re-running configure with the
+ '--disable-dependency-tracking' option to at least be able to build
+ the package (albeit without support for automatic dependency tracking).
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ { am_dirpart=; unset am_dirpart;}
+ { am_filepart=; unset am_filepart;}
+ { am_mf=; unset am_mf;}
+ { am_rc=; unset am_rc;}
+ rm -f conftest-deps.mk
+}
+ ;;
+ "libtool":C)
+
+ # See if we are running on zsh, and set the options that allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}"; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile=${ofile}T
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+# Generated automatically by $as_me ($PACKAGE) $VERSION
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of of the License, or
+# (at your option) any later version.
#
-# CONFIG_COMMANDS section.
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the same
+# distribution terms that you use for the rest of that program.
#
-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
- ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
- ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_dest" : 'X\(//\)[^/]' \| \
- X"$ac_dest" : 'X\(//\)$' \| \
- X"$ac_dest" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_dest" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+# The names of the tagged configurations supported by this script.
+available_tags='CXX '
+
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Which release of libtool.m4 was used?
+macro_version=$macro_version
+macro_revision=$macro_revision
+
+# Assembler program.
+AS=$lt_AS
+
+# DLL creation program.
+DLLTOOL=$lt_DLLTOOL
+
+# Object dumper program.
+OBJDUMP=$lt_OBJDUMP
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# What type of objects to build.
+pic_mode=$pic_mode
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# Shared archive member basename,for filename based shared library versioning on AIX.
+shared_archive_member_spec=$shared_archive_member_spec
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that protects backslashes.
+ECHO=$lt_ECHO
+
+# The PATH separator for the build system.
+PATH_SEPARATOR=$lt_PATH_SEPARATOR
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="\$SED -e 1s/^X//"
+
+# A grep program that handles long lines.
+GREP=$lt_GREP
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# A literal string matcher.
+FGREP=$lt_FGREP
+
+# A BSD- or MS-compatible name lister.
+NM=$lt_NM
+
+# Whether we need soft or hard links.
+LN_S=$lt_LN_S
+
+# What is the maximum length of a command?
+max_cmd_len=$max_cmd_len
+
+# Object file suffix (normally "o").
+objext=$ac_objext
+
+# Executable file suffix (normally "").
+exeext=$exeext
+
+# whether the shell understands "unset".
+lt_unset=$lt_unset
+
+# turn spaces into newlines.
+SP2NL=$lt_lt_SP2NL
+
+# turn newlines into spaces.
+NL2SP=$lt_lt_NL2SP
+
+# convert \$build file names to \$host format.
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+
+# convert \$build files to toolchain format.
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method = "file_magic".
+file_magic_cmd=$lt_file_magic_cmd
+
+# How to find potential files when deplibs_check_method = "file_magic".
+file_magic_glob=$lt_file_magic_glob
+
+# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
+want_nocaseglob=$lt_want_nocaseglob
+
+# Command to associate shared and link libraries.
+sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
+
+# The archiver.
+AR=$lt_AR
+
+# Flags to create an archive.
+AR_FLAGS=$lt_AR_FLAGS
+
+# How to feed a file listing to the archiver.
+archiver_list_spec=$lt_archiver_list_spec
+
+# A symbol stripping program.
+STRIP=$lt_STRIP
+
+# Commands used to install an old-style archive.
+RANLIB=$lt_RANLIB
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Whether to use a lock for old archive extraction.
+lock_old_archive_extraction=$lock_old_archive_extraction
+
+# A C compiler.
+LTCC=$lt_CC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_CFLAGS
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration.
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm into a list of symbols to manually relocate.
+global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import
+
+# Transform the output of nm in a C name address pair.
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# Transform the output of nm in a C name address pair when lib prefix is needed.
+global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
+# The name lister interface.
+nm_interface=$lt_lt_cv_nm_interface
+
+# Specify filename containing input files for \$NM.
+nm_file_list_spec=$lt_nm_file_list_spec
+
+# The root where to search for dependent libraries,and where our libraries should be installed.
+lt_sysroot=$lt_sysroot
+
+# Command to truncate a binary pipe.
+lt_truncate_bin=$lt_lt_cv_truncate_bin
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# Used to examine libraries when file_magic_cmd begins with "file".
+MAGIC_CMD=$MAGIC_CMD
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Manifest tool.
+MANIFEST_TOOL=$lt_MANIFEST_TOOL
+
+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+DSYMUTIL=$lt_DSYMUTIL
+
+# Tool to change global to local symbols on Mac OS X.
+NMEDIT=$lt_NMEDIT
+
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=$lt_LIPO
+
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=$lt_OTOOL
+
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=$lt_OTOOL64
+
+# Old archive suffix (normally "a").
+libext=$libext
+
+# Shared library suffix (normally ".so").
+shrext_cmds=$lt_shrext_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at link time.
+variables_saved_for_relink=$lt_variables_saved_for_relink
+
+# Do we need the "lib" prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Library versioning type.
+version_type=$version_type
+
+# Shared library runtime path variable.
+runpath_var=$runpath_var
+
+# Shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Permission mode override for installation of shared libraries.
+install_override_mode=$lt_install_override_mode
+
+# Command to use after installation of a shared archive.
+postinstall_cmds=$lt_postinstall_cmds
+
+# Command to use after uninstallation of a shared archive.
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# As "finish_cmds", except a single script fragment to be evaled but
+# not shown.
+finish_eval=$lt_finish_eval
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Compile-time system search path for libraries.
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Detected run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
+
+# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
+configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds
+
+# A language specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \$shlibpath_var if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds
+
+# Commands necessary for finishing linking programs.
+postlink_cmds=$lt_postlink_cmds
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects
+postdep_objects=$lt_postdep_objects
+predeps=$lt_predeps
+postdeps=$lt_postdeps
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path
+
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+# string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+# string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+# "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+# VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+ case x$2 in
+ x)
+ ;;
+ *:)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+ ;;
+ x:*)
+ eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ *::*)
+ eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+ eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+ ;;
+ *)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ esac
+}
+
+
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+ for cc_temp in $*""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
+ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
- ac_builddir=.
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test set != "${COLLECT_NAMES+set}"; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
fi
+_LT_EOF
+ ;;
+ esac
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
+ltmain=$ac_aux_dir/ltmain.sh
- { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
-echo "$as_me: executing $ac_dest commands" >&6;}
- case $ac_dest in
- depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # So let's grep whole file.
- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
- dirpart=`(dirname "$mf") 2>/dev/null ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- else
- continue
- fi
- grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
- # Extract the definition of DEP_FILES from the Makefile without
- # running `make'.
- DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
- test -z "$DEPDIR" && continue
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n -e '/^U = / s///p' < "$mf"`
- test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
- # We invoke sed twice because it is the simplest approach to
- # changing $(DEPDIR) to its actual value in the expansion.
- for file in `sed -n -e '
- /^DEP_FILES = .*\\\\$/ {
- s/^DEP_FILES = //
- :loop
- s/\\\\$//
- p
- n
- /\\\\$/ b loop
- p
- }
- /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`(dirname "$file") 2>/dev/null ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p $dirpart/$fdir
- else
- as_dir=$dirpart/$fdir
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
-echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
- { (exit 1); exit 1; }; }; }
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
-done
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+
+ cat <<_LT_EOF >> "$ofile"
+
+# ### BEGIN LIBTOOL TAG CONFIG: CXX
+
+# The linker used to build libraries.
+LD=$lt_LD_CXX
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag_CXX
+reload_cmds=$lt_reload_cmds_CXX
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds_CXX
+
+# A language specific compiler.
+CC=$lt_compiler_CXX
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC_CXX
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_CXX
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_CXX
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_CXX
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object_CXX
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds_CXX
+archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds_CXX
+module_expsym_cmds=$lt_module_expsym_cmds_CXX
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld_CXX
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_CXX
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_CXX
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
+
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct_CXX
+
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \$shlibpath_var if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute_CXX
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L_CXX
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic_CXX
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath_CXX
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_CXX
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols_CXX
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_CXX
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_CXX
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_CXX
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds_CXX
+
+# Commands necessary for finishing linking programs.
+postlink_cmds=$lt_postlink_cmds_CXX
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec_CXX
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_CXX
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects_CXX
+postdep_objects=$lt_postdep_objects_CXX
+predeps=$lt_predeps_CXX
+postdeps=$lt_postdeps_CXX
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
+
+# ### END LIBTOOL TAG CONFIG: CXX
+_LT_EOF
+
;;
+
esac
-done
-_ACEOF
+done # for ac_tag
-cat >>$CONFIG_STATUS <<\_ACEOF
-{ (exit 0); exit 0; }
+as_fn_exit 0
_ACEOF
-chmod +x $CONFIG_STATUS
ac_clean_files=$ac_clean_files_save
+test $ac_write_fail = 0 ||
+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
@@ -25252,6 +24632,51 @@ if test "$no_create" != yes; then
exec 5>>config.log
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
- $ac_cs_success || { (exit 1); exit 1; }
+ $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result:
+-=-=-=-=-=-=-=-=-=-= Configuration Complete =-=-=-=-=-=-=-=-=-=-
+
+ Configuration summary :
+
+ FLAC version : ............................ ${VERSION}
+
+ Host CPU : ................................ ${host_cpu}
+ Host Vendor : ............................. ${host_vendor}
+ Host OS : ................................. ${host_os}
+" >&5
+printf "%s\n" "
+-=-=-=-=-=-=-=-=-=-= Configuration Complete =-=-=-=-=-=-=-=-=-=-
+
+ Configuration summary :
+
+ FLAC version : ............................ ${VERSION}
+
+ Host CPU : ................................ ${host_cpu}
+ Host Vendor : ............................. ${host_vendor}
+ Host OS : ................................. ${host_os}
+" >&6; }
+
+if test x$GIT_COMMIT_TAG_AVAIL = xyes ; then
+ echo " Version string : reference libFLAC ${GIT_COMMIT_TAG} ${GIT_COMMIT_DATE}"
+elif test x$GIT_COMMIT_VERSION_AVAIL = xyes ; then
+ echo " Version string : reference libFLAC git-${GIT_COMMIT_HASH} ${GIT_COMMIT_DATE}"
+fi
+ echo ""
+ echo " Compiler is GCC : ......................... ${ac_cv_c_compiler_gnu}"
+if test x$ac_cv_c_compiler_gnu = xyes ; then
+ echo " GCC version : ............................. ${GCC_VERSION}"
fi
+ echo " Compiler is Clang : ....................... ${xiph_cv_c_compiler_clang}"
+ echo " Asm optimizations : ....................... ${asm_optimisation}"
+ echo " Ogg/FLAC support : ........................ ${have_ogg}"
+ echo " Stack protector : ........................ ${enable_stack_smash_protection}"
+ echo " Fuzzing support (Clang only) : ............ ${have_oss_fuzzers}"
+echo
diff --git a/3rdparty/libflac/configure.ac b/3rdparty/libflac/configure.ac
new file mode 100644
index 00000000000..418677c7a6f
--- /dev/null
+++ b/3rdparty/libflac/configure.ac
@@ -0,0 +1,602 @@
+# FLAC - Free Lossless Audio Codec
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
+#
+# This file is part the FLAC project. FLAC is comprised of several
+# components distributed under different licenses. The codec libraries
+# are distributed under Xiph.Org's BSD-like license (see the file
+# COPYING.Xiph in this distribution). All other programs, libraries, and
+# plugins are distributed under the GPL (see COPYING.GPL). The documentation
+# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
+# FLAC distribution contains at the top the terms under which it may be
+# distributed.
+#
+# Since this particular file is relevant to all components of FLAC,
+# it may be distributed under the Xiph.Org license, which is the least
+# restrictive of those mentioned above. See the file COPYING.Xiph in this
+# distribution.
+
+# NOTE that for many of the AM_CONDITIONALs we use the prefix FLaC__
+# instead of FLAC__ since autoconf triggers off 'AC_' in strings
+
+AC_PREREQ(2.60)
+AC_INIT([flac],[1.4.3],[flac-dev@xiph.org],[flac],[https://www.xiph.org/flac/])
+AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_SRCDIR([src/flac/main.c])
+AC_CONFIG_MACRO_DIR([m4])
+AM_INIT_AUTOMAKE([foreign 1.10 -Wall tar-pax no-dist-gzip dist-xz subdir-objects])
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
+AX_CHECK_ENABLE_DEBUG
+user_cflags=$CFLAGS
+
+#Prefer whatever the current ISO standard is.
+AC_PROG_CC
+AC_USE_SYSTEM_EXTENSIONS
+m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+LT_INIT([win32-dll disable-static pic-only])
+AM_PROG_AS
+AC_PROG_CXX
+XIPH_C_COMPILER_IS_CLANG
+XIPH_GCC_REALLY_IS_GCC
+AC_PROG_MAKE_SET
+AC_PROG_MKDIR_P
+
+AC_SYS_LARGEFILE
+AC_FUNC_FSEEKO
+
+AC_CHECK_SIZEOF(off_t,1) # Fake default value.
+AC_CHECK_SIZEOF([void*])
+AC_SEARCH_LIBS([lround],[m], [AC_DEFINE(HAVE_LROUND,1,lround support)])
+
+AM_PROG_CC_C_O
+AC_C_INLINE
+AC_C_TYPEOF
+
+AC_CHECK_HEADERS([stdint.h stdbool.h inttypes.h byteswap.h sys/auxv.h sys/param.h sys/ioctl.h termios.h x86intrin.h cpuid.h arm_neon.h])
+
+if test "x$ac_cv_header_stdint_h" != xyes -o "x$ac_cv_header_stdbool_h" != xyes; then
+AC_MSG_ERROR("Header stdint.h and/or stdbool.h not found")
+fi
+
+
+XIPH_C_BSWAP32
+XIPH_C_BSWAP16
+
+ac_cv_c_big_endian=0
+ac_cv_c_little_endian=0
+AC_C_BIGENDIAN([ac_cv_c_big_endian=1], [ac_cv_c_little_endian=1], [
+ AC_MSG_WARN([[*****************************************************************]])
+ AC_MSG_WARN([[*** Not able to determine endian-ness of target processor. ]])
+ AC_MSG_WARN([[*** The constants CPU_IS_BIG_ENDIAN and CPU_IS_LITTLE_ENDIAN in ]])
+ AC_MSG_WARN([[*** config.h may need to be hand editied. ]])
+ AC_MSG_WARN([[*****************************************************************]])
+])
+AC_DEFINE_UNQUOTED(CPU_IS_BIG_ENDIAN, ${ac_cv_c_big_endian},
+ [Target processor is big endian.])
+AC_DEFINE_UNQUOTED(CPU_IS_LITTLE_ENDIAN, ${ac_cv_c_little_endian},
+ [Target processor is little endian.])
+AC_DEFINE_UNQUOTED(WORDS_BIGENDIAN, ${ac_cv_c_big_endian},
+ [Target processor is big endian.])
+
+AC_ARG_ENABLE(asm-optimizations, AS_HELP_STRING([--disable-asm-optimizations],[Do not use any CPU specific optimization routines]), asm_opt=no, asm_opt=yes)
+AM_CONDITIONAL(FLaC__NO_ASM, test "x$asm_opt" = xno)
+if test "x$asm_opt" = xno ; then
+AC_DEFINE(FLAC__NO_ASM)
+AH_TEMPLATE(FLAC__NO_ASM, [define to disable use of assembly code])
+fi
+
+dnl check for getauxval in standard library
+AC_CHECK_FUNCS(getauxval)
+
+dnl check for getopt in standard library
+dnl AC_CHECK_FUNCS(getopt_long , , [LIBOBJS="$LIBOBJS getopt.o getopt1.o"] )
+AC_CHECK_FUNCS(getopt_long, [], [])
+
+AC_CHECK_SIZEOF(void*,1)
+
+asm_optimisation=no
+case "$host_cpu" in
+ amd64|x86_64)
+ case "$host" in
+ *gnux32)
+ # x32 user space and 64 bit kernel.
+ cpu_x86_64=true
+ AC_DEFINE(FLAC__CPU_X86_64)
+ AH_TEMPLATE(FLAC__CPU_X86_64, [define if building for x86_64])
+ ;;
+ *)
+ if test $ac_cv_sizeof_voidp = 4 ; then
+ # This must be a 32 bit user space running on 64 bit kernel so treat
+ # this as ia32.
+ cpu_ia32=true
+ AC_DEFINE(FLAC__CPU_IA32)
+ AH_TEMPLATE(FLAC__CPU_IA32, [define if building for ia32/i386])
+ else
+ # x86_64 user space and kernel.
+ cpu_x86_64=true
+ AC_DEFINE(FLAC__CPU_X86_64)
+ AH_TEMPLATE(FLAC__CPU_X86_64, [define if building for x86_64])
+ fi
+ ;;
+ esac
+ ;;
+ i*86)
+ cpu_ia32=true
+ AC_DEFINE(FLAC__CPU_IA32)
+ AH_TEMPLATE(FLAC__CPU_IA32, [define if building for ia32/i386])
+ ;;
+ arm64|aarch64)
+ cpu_arm64=true
+ AC_DEFINE(FLAC__CPU_ARM64)
+ AH_TEMPLATE(FLAC__CPU_ARM64, [define if building for ARM])
+ ;;
+esac
+AM_CONDITIONAL(FLAC__CPU_X86_64, test "x$cpu_x86_64" = xtrue)
+AM_CONDITIONAL(FLaC__CPU_IA32, test "x$cpu_ia32" = xtrue)
+AM_CONDITIONAL(FLAC__CPU_ARM64, test "x$cpu_arm64" = xtrue)
+
+if test "x$ac_cv_header_x86intrin_h" = xyes -a "x$asm_opt" = xyes; then
+ AC_DEFINE([FLAC__HAS_X86INTRIN], 1, [Set to 1 if <x86intrin.h> is available.])
+ asm_optimisation=yes
+else
+ AC_DEFINE([FLAC__HAS_X86INTRIN], 0)
+fi
+
+if test "x$ac_cv_header_arm_neon_h" = xyes -a "x$asm_opt" = xyes; then
+ AC_DEFINE([FLAC__HAS_NEONINTRIN], 1, [Set to 1 if <arm_neon.h> is available.])
+ AC_MSG_CHECKING([whether arm_neon.h has A64 functions])
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[#include <arm_neon.h>]],
+ [[float64x2_t sum5; sum5 = vdupq_n_f64(0.0f);]])],
+ [AC_MSG_RESULT([yes])
+ has_a64neon=yes],
+ [AC_MSG_RESULT([no])])
+ if test "x$has_a64neon" = xyes; then
+ AC_DEFINE([FLAC__HAS_A64NEONINTRIN], 1, [Set to 1 if <arm_neon.h> has A64 instructions.])
+ asm_optimisation=yes
+ else
+ AC_DEFINE([FLAC__HAS_A64NEONINTRIN], 0)
+ fi
+else
+ AC_DEFINE([FLAC__HAS_NEONINTRIN], 0)
+fi
+
+case "$host" in
+ i386-*-openbsd3.[[0-3]]) OBJ_FORMAT=aoutb ;;
+ *-*-cygwin|*mingw*) OBJ_FORMAT=win32 ;;
+ *-*-darwin*) OBJ_FORMAT=macho ;;
+ *emx*) OBJ_FORMAT=aout ;;
+ *djgpp) OBJ_FORMAT=coff ;;
+ *) OBJ_FORMAT=elf ;;
+esac
+AC_SUBST(OBJ_FORMAT)
+
+os_is_windows=no
+case "$host" in
+ *mingw*)
+ os_is_windows=yes
+ AC_CHECK_TOOL(RC,[windres],[:])
+ ;;
+esac
+
+AM_CONDITIONAL(OS_IS_WINDOWS, test "x$os_is_windows" = xyes)
+AM_CONDITIONAL(HAVE_WINDRES, test "x$RC" != "x:")
+
+case "$host" in
+ *-linux-*)
+ sys_linux=true
+ AC_DEFINE(FLAC__SYS_LINUX)
+ AH_TEMPLATE(FLAC__SYS_LINUX, [define if building for Linux])
+ ;;
+ *-*-darwin*)
+ sys_darwin=true
+ AC_DEFINE(FLAC__SYS_DARWIN)
+ AH_TEMPLATE(FLAC__SYS_DARWIN, [define if building for Darwin / MacOS X])
+ ;;
+esac
+AM_CONDITIONAL(FLaC__SYS_DARWIN, test "x$sys_darwin" = xtrue)
+AM_CONDITIONAL(FLaC__SYS_LINUX, test "x$sys_linux" = xtrue)
+
+if test "x$cpu_ia32" = xtrue || test "x$cpu_x86_64" = xtrue ; then
+AC_DEFINE(FLAC__ALIGN_MALLOC_DATA)
+AH_TEMPLATE(FLAC__ALIGN_MALLOC_DATA, [define to align allocated memory on 32-byte boundaries])
+fi
+
+AM_CONDITIONAL([DEBUG], [test "x${ax_enable_debug}" = "xyes" || test "x${ax_enable_debug}" = "xinfo"])
+
+AC_ARG_ENABLE(avx,
+AS_HELP_STRING([--disable-avx],[Disable AVX, AVX2 optimizations. There is runtime detection of CPU features, so disabling is only necessary when a compiler does not know about them]),
+[case "${enableval}" in
+ yes) use_avx=true ;;
+ no) use_avx=false ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-avx) ;;
+esac],[use_avx=true])
+AM_CONDITIONAL(FLaC__USE_AVX, test "x$use_avx" = xtrue)
+if test "x$use_avx" = xtrue ; then
+AC_DEFINE(FLAC__USE_AVX)
+AH_TEMPLATE(FLAC__USE_AVX, [define to enable use of AVX instructions])
+fi
+
+AC_ARG_ENABLE(thorough-tests,
+AS_HELP_STRING([--disable-thorough-tests],[Disable thorough (long) testing, do only basic tests]),
+[case "${enableval}" in
+ yes) thorough_tests=true ;;
+ no) thorough_tests=false ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-thorough-tests) ;;
+esac],[thorough_tests=true])
+AC_ARG_ENABLE(exhaustive-tests,
+AS_HELP_STRING([--enable-exhaustive-tests],[Enable exhaustive testing (VERY long)]),
+[case "${enableval}" in
+ yes) exhaustive_tests=true ;;
+ no) exhaustive_tests=false ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-exhaustive-tests) ;;
+esac],[exhaustive_tests=false])
+if test "x$thorough_tests" = xfalse ; then
+FLAC__TEST_LEVEL=0
+elif test "x$exhaustive_tests" = xfalse ; then
+FLAC__TEST_LEVEL=1
+else
+FLAC__TEST_LEVEL=2
+fi
+AC_SUBST(FLAC__TEST_LEVEL)
+
+AC_ARG_ENABLE(werror,
+ AS_HELP_STRING([--enable-werror],[Enable -Werror in all Makefiles]))
+
+AC_ARG_ENABLE([stack-smash-protection],
+ [AS_HELP_STRING([--disable-stack-smash-protection],[Disable GNU GCC stack smash protection])],,
+ [AS_IF([test "$ac_cv_c_compiler_gnu" = "yes"],
+ [enable_stack_smash_protection=yes],[enable_stack_smash_protection=no])])
+
+AC_ARG_ENABLE([fortify-source],
+ [AS_HELP_STRING([--disable-fortify-source],[Disable _FORTIFY_SOURCE buffer overflow protection])],,
+ [AS_IF([test "$ac_cv_c_compiler_gnu" = "yes"],
+ [enable_fortify_source=yes],[enable_fortify_source=no])])
+
+case "$host" in
+ *mingw*)
+ if test "$enable_fortify_source" = "yes"; then
+ AC_SEARCH_LIBS(__memset_chk, ssp, , mingw_has_memset_chk=no)
+ fi
+ if test "$enable_stack_smash_protection" = "yes"; then
+ AC_SEARCH_LIBS(__stack_chk_fail, ssp, , mingw_has_stack_chk_fail=no)
+ fi
+ ;;
+esac
+
+
+AC_ARG_ENABLE(64-bit-words,
+ AS_HELP_STRING([--disable-64-bit-words],[Set FLAC__BYTES_PER_WORD to 4 (8 is the default)]))
+if test "x$enable_64_bit_words" = xno ; then
+ AC_DEFINE_UNQUOTED([ENABLE_64_BIT_WORDS],0,[Set FLAC__BYTES_PER_WORD to 8 (this is the default)])
+else
+ AC_DEFINE_UNQUOTED([ENABLE_64_BIT_WORDS],1)
+fi
+AC_SUBST(ENABLE_64_BIT_WORDS)
+
+AC_ARG_ENABLE(valgrind-testing,
+AS_HELP_STRING([--enable-valgrind-testing],[Run all tests inside Valgrind]),
+[case "${enableval}" in
+ yes) FLAC__TEST_WITH_VALGRIND=yes ;;
+ no) FLAC__TEST_WITH_VALGRIND=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-valgrind-testing) ;;
+esac],[FLAC__TEST_WITH_VALGRIND=no])
+AC_SUBST(FLAC__TEST_WITH_VALGRIND)
+
+AC_ARG_ENABLE(doxygen-docs,
+AS_HELP_STRING([--disable-doxygen-docs],[Disable API documentation building via Doxygen]),
+[case "${enableval}" in
+ yes) enable_doxygen_docs=true ;;
+ no) enable_doxygen_docs=false ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-doxygen-docs) ;;
+esac],[enable_doxygen_docs=true])
+if test "x$enable_doxygen_docs" != xfalse ; then
+ AC_CHECK_PROGS(DOXYGEN, doxygen)
+fi
+AM_CONDITIONAL(FLaC__HAS_DOXYGEN, test -n "$DOXYGEN")
+
+if test ! -n "$DOXYGEN" && test -f "$srcdir/doc/FLAC.tag" && test -f "$srcdir/doc/api/modules.html" ; then
+ HAS_PREBUILT_DOXYGEN=yes
+fi
+AM_CONDITIONAL(FLaC__HAS_PREBUILT_DOXYGEN, test "x$HAS_PREBUILT_DOXYGEN" = xyes)
+
+dnl build FLAC++ or not
+AC_ARG_ENABLE([cpplibs],
+AS_HELP_STRING([--disable-cpplibs],[Do not build libFLAC++]),
+[case "${enableval}" in
+ yes) disable_cpplibs=false ;;
+ no) disable_cpplibs=true ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-cpplibs) ;;
+esac], [disable_cpplibs=false])
+AM_CONDITIONAL(FLaC__WITH_CPPLIBS, [test "x$disable_cpplibs" != xtrue])
+
+AC_ARG_ENABLE([oss-fuzzers],
+ [AS_HELP_STRING([--enable-oss-fuzzers],
+ [Whether to generate the fuzzers for OSS-Fuzz (Clang only)])],
+ [have_oss_fuzzers=yes], [have_oss_fuzzers=no])
+
+if test "x$have_oss_fuzzers" = "xyes"; then
+ if test "x$xiph_cv_c_compiler_clang" = "xyes" ; then
+ AM_CONDITIONAL([USE_OSSFUZZERS], [test "x$have_oss_fuzzers" = "xyes"])
+ if test "x$LIB_FUZZING_ENGINE" = "x" ; then
+ # Only set this if it is empty.
+ LIB_FUZZING_ENGINE=-fsanitize=fuzzer
+ fi
+ else
+ AM_CONDITIONAL([USE_OSSFUZZERS], [test "false" = "true"])
+ # Disable fuzzer if the compiler is not Clang.
+ AC_MSG_WARN([*** Ozz-Fuzz is disabled because that requires the Clang compiler.])
+ have_oss_fuzzers="no (compiler is not Clang)"
+ fi
+else
+ AM_CONDITIONAL([USE_OSSFUZZERS], [test "false" = "true"])
+fi
+
+AC_SUBST([LIB_FUZZING_ENGINE])
+
+dnl check for ogg library
+AC_ARG_ENABLE([ogg],
+ AS_HELP_STRING([--disable-ogg],[Disable ogg support (default: test for libogg)]),
+ [ want_ogg=$enableval ], [ want_ogg=yes ] )
+
+if test "x$want_ogg" != "xno"; then
+ XIPH_PATH_OGG(have_ogg=yes, AC_MSG_WARN([*** Ogg development environment not installed - Ogg support will not be built]))
+fi
+
+FLAC__HAS_OGG=0
+AM_CONDITIONAL(FLaC__HAS_OGG, [test "x$have_ogg" = xyes])
+if test "x$have_ogg" = xyes ; then
+ FLAC__HAS_OGG=1
+ OGG_PACKAGE="ogg"
+else
+ have_ogg=no
+fi
+AC_DEFINE_UNQUOTED([FLAC__HAS_OGG],$FLAC__HAS_OGG,[define if you have the ogg library])
+AC_SUBST(FLAC__HAS_OGG)
+AC_SUBST(OGG_PACKAGE)
+
+dnl Build programs?
+AC_ARG_ENABLE([programs],
+ AS_HELP_STRING([--disable-programs], [Do not build and install flac and metaflac]))
+AM_CONDITIONAL(FLaC__WITH_PROGRAMS, [test "x$enable_programs" != "xno"])
+
+dnl Build examples?
+AC_ARG_ENABLE([examples],
+ AS_HELP_STRING([--disable-examples], [Do not build and install examples]))
+AM_CONDITIONAL([EXAMPLES], [test "x$enable_examples" != "xno"])
+
+dnl Ask git which version FLAC is
+AC_ARG_ENABLE([version-from-git],
+ AS_HELP_STRING([--disable-version-from-git], [Do not use git tag, commit hash and commit date for version number]),
+ [ enable_version_from_git=$enableval ], [ enable_version_from_git=yes ])
+
+
+dnl check for i18n(internationalization); these are from libiconv/gettext
+AM_ICONV
+AM_LANGINFO_CODESET
+
+AC_CHECK_PROGS(PANDOC, pandoc)
+AM_CONDITIONAL(FLaC__HAS_PANDOC, test -n "$PANDOC")
+if test -n "$PANDOC" ; then
+ AC_DEFINE(FLAC__HAS_PANDOC)
+ AH_TEMPLATE(FLAC__HAS_PANDOC, [define if you have pandoc])
+else
+if test -f "$srcdir/man/flac.1" && test -f "$srcdir/man/metaflac.1" ; then
+ HAS_PREBUILT_MANPAGES=yes
+fi
+fi
+AM_CONDITIONAL(FLaC__HAS_PREBUILT_MANPAGES, test "x$HAS_PREBUILT_MANPAGES" = "xyes")
+
+AC_CHECK_LIB(rt, clock_gettime,
+ LIB_CLOCK_GETTIME=-lrt
+ AC_DEFINE(HAVE_CLOCK_GETTIME)
+ AH_TEMPLATE(HAVE_CLOCK_GETTIME, [define if you have clock_gettime]))
+AC_SUBST(LIB_CLOCK_GETTIME)
+
+XIPH_GCC_VERSION dnl Sets a non-zero GCC_XXX_VERSION for gcc, not clang. checks below rely on that..
+
+if test x$ac_cv_c_compiler_gnu = xyes -o x$xiph_cv_c_compiler_clang = xyes ; then
+ dnl Prepend defaults to CFLAGS for GCC and Clang
+ AS_IF([test "x${ax_enable_debug}" = "xno"], [
+ CFLAGS="-O3 -funroll-loops $CFLAGS"
+ CXXFLAGS="-O3 $CXXFLAGS"
+ ])
+
+ CFLAGS="$CFLAGS -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -Waggregate-return -Wcast-align -Wnested-externs -Wshadow -Wundef -Wmissing-declarations -Winline " # -Wcast-qual -Wbad-function-cast -Wwrite-strings -Wconversion
+ CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wcast-align -Wshadow -Wwrite-strings -Wctor-dtor-privacy -Wnon-virtual-dtor -Wreorder -Wsign-promo -Wundef " # -Wcast-qual -Wbad-function-cast -Wwrite-strings -Woverloaded-virtual -Wmissing-declarations
+
+ XIPH_ADD_CFLAGS([-Wdeclaration-after-statement])
+
+ dnl some distributions (such as Gentoo) have _FORTIFY_SOURCE always
+ dnl enabled. We test for this situation in order to prevent polluting
+ dnl the console with messages of macro redefinitions.
+
+ if test "$enable_fortify_source" = "yes" && test "x$mingw_has_memset_chk" != "xno"
+ then
+ AX_ADD_FORTIFY_SOURCE
+ fi
+
+ AC_LANG_PUSH([C++])
+ XIPH_ADD_CXXFLAGS([-Weffc++])
+ AC_LANG_POP([C++])
+
+ if test x$xiph_cv_c_compiler_clang = xyes -a "$OBJ_FORMAT" = elf; then
+ CPPFLAGS="$CPPFLAGS -DFLAC__USE_VISIBILITY_ATTR"
+ CFLAGS="$CFLAGS -fvisibility=hidden"
+ CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
+ elif test "$GCC_MAJOR_VERSION" -ge 4 && test "$OBJ_FORMAT" = elf; then
+ CPPFLAGS="$CPPFLAGS -DFLAC__USE_VISIBILITY_ATTR"
+ CFLAGS="$CFLAGS -fvisibility=hidden"
+ CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
+ fi
+
+
+ if test x$xiph_cv_c_compiler_clang = xyes -a "$OBJ_FORMAT" = macho; then
+ CPPFLAGS="$CPPFLAGS -DFLAC__USE_VISIBILITY_ATTR"
+ CFLAGS="$CFLAGS -fvisibility=hidden"
+ CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
+ elif test "$GCC_MAJOR_VERSION" -ge 4 && test "$OBJ_FORMAT" = macho; then
+ CPPFLAGS="$CPPFLAGS -DFLAC__USE_VISIBILITY_ATTR"
+ CFLAGS="$CFLAGS -fvisibility=hidden"
+ CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
+ fi
+
+ if test "x$GCC_MAJOR_VERSION$GCC_MINOR_VERSION" = "x42" ; then
+ XIPH_ADD_CFLAGS([-fgnu89-inline])
+ fi
+
+ if test "x$GCC_MAJOR_VERSION$GCC_MINOR_VERSION" = "x47" ; then
+ XIPH_ADD_CFLAGS([-fno-inline-small-functions])
+ fi
+
+ fi
+
+case "$host_os" in
+ "mingw32"|"os2")
+ if test "$host_cpu" = "i686"; then
+ XIPH_ADD_CFLAGS([-mstackrealign])
+ fi
+ esac
+
+if test x$enable_werror = "xyes" ; then
+ XIPH_ADD_CFLAGS([-Werror])
+ AC_LANG_PUSH([C++])
+ XIPH_ADD_CXXFLAGS([-Werror])
+ AC_LANG_POP([C++])
+ fi
+
+if test x$enable_stack_smash_protection = "xyes" && test "x$mingw_has_stack_chk_fail" != "xno" ; then
+ XIPH_GCC_STACK_PROTECTOR
+ XIPH_GXX_STACK_PROTECTOR
+else
+ enable_stack_smash_protection=no
+fi
+
+AH_VERBATIM([FLAC_API_EXPORTS],
+[/* libtool defines DLL_EXPORT for windows dll builds,
+ but flac code relies on FLAC_API_EXPORTS instead. */
+#ifdef DLL_EXPORT
+#ifdef __cplusplus
+# define FLACPP_API_EXPORTS
+#else
+# define FLAC_API_EXPORTS
+#endif
+#endif])
+
+if test x$enable_static = "xyes" ; then
+dnl for correct FLAC_API
+ CPPFLAGS="-DFLAC__NO_DLL $CPPFLAGS"
+ fi
+
+AC_CHECK_PROG(GIT_FOUND,git,yes)
+
+if test x$GIT_FOUND$enable_version_from_git = "xyesyes"; then
+ GIT_COMMIT_TAG=`git -C $srcdir --git-dir=.git describe --tags --exact-match 2>/dev/null`
+ GIT_COMMIT_HASH=`git -C $srcdir --git-dir=.git log -1 --pretty=format:%h 2>/dev/null`
+ GIT_COMMIT_DATE=`git -C $srcdir --git-dir=.git log -1 --pretty=format:%cd --date=format:%Y%m%d 2>/dev/null`
+ if test ${#GIT_COMMIT_HASH} = 8 && test ${#GIT_COMMIT_DATE} = 8; then
+ GIT_COMMIT_VERSION_AVAIL=yes
+ if test ${#GIT_COMMIT_TAG} != 0 ; then
+ GIT_COMMIT_TAG_AVAIL=yes
+ AC_DEFINE_UNQUOTED(GIT_COMMIT_TAG, "${GIT_COMMIT_TAG}", "Define to the tag of the current git HEAD")
+ else
+ GIT_COMMIT_VERSION_HASH=yes
+ fi
+ AC_DEFINE_UNQUOTED(GIT_COMMIT_HASH, "${GIT_COMMIT_HASH}", "Define to the short hash of the current git HEAD")
+ AC_DEFINE_UNQUOTED(GIT_COMMIT_DATE, "${GIT_COMMIT_DATE}", "Define to the commit date of the current git HEAD")
+ fi
+fi
+
+AC_SUBST(GIT_COMMIT_VERSION_HASH)
+
+AX_CHECK_COMPILE_FLAG([-fassociative-math -fno-signed-zeros -fno-trapping-math -freciprocal-math],HAVE_ASSOC_MATH=yes)
+AM_CONDITIONAL(ASSOC_MATH_AVAILABLE, test "x$HAVE_ASSOC_MATH" = "xyes")
+
+
+AC_CONFIG_FILES([ \
+ Makefile \
+ src/Makefile \
+ src/libFLAC/Makefile \
+ src/libFLAC/flac.pc \
+ src/libFLAC/include/Makefile \
+ src/libFLAC/include/private/Makefile \
+ src/libFLAC/include/protected/Makefile \
+ src/libFLAC++/Makefile \
+ src/libFLAC++/flac++.pc \
+ src/flac/Makefile \
+ src/metaflac/Makefile \
+ src/share/Makefile \
+ src/test_grabbag/Makefile \
+ src/test_grabbag/cuesheet/Makefile \
+ src/test_grabbag/picture/Makefile \
+ src/test_libs_common/Makefile \
+ src/test_libFLAC/Makefile \
+ src/test_libFLAC++/Makefile \
+ src/test_seeking/Makefile \
+ src/test_streams/Makefile \
+ src/utils/Makefile \
+ src/utils/flacdiff/Makefile \
+ src/utils/flactimer/Makefile \
+ examples/Makefile \
+ examples/c/Makefile \
+ examples/c/decode/Makefile \
+ examples/c/decode/file/Makefile \
+ examples/c/encode/Makefile \
+ examples/c/encode/file/Makefile \
+ examples/cpp/Makefile \
+ examples/cpp/decode/Makefile \
+ examples/cpp/decode/file/Makefile \
+ examples/cpp/encode/Makefile \
+ examples/cpp/encode/file/Makefile \
+ include/Makefile \
+ include/FLAC/Makefile \
+ include/FLAC++/Makefile \
+ include/share/Makefile \
+ include/share/grabbag/Makefile \
+ include/test_libs_common/Makefile \
+ doc/Doxyfile \
+ doc/Makefile \
+ doc/images/Makefile \
+ m4/Makefile \
+ man/Makefile \
+ test/common.sh \
+ test/Makefile \
+ test/cuesheets/Makefile \
+ test/foreign-metadata-test-files/Makefile \
+ test/flac-to-flac-metadata-test-files/Makefile \
+ test/metaflac-test-files/Makefile \
+ test/pictures/Makefile \
+ microbench/Makefile \
+ oss-fuzz/Makefile
+])
+AC_OUTPUT
+
+AC_MSG_RESULT([
+-=-=-=-=-=-=-=-=-=-= Configuration Complete =-=-=-=-=-=-=-=-=-=-
+
+ Configuration summary :
+
+ FLAC version : ............................ ${VERSION}
+
+ Host CPU : ................................ ${host_cpu}
+ Host Vendor : ............................. ${host_vendor}
+ Host OS : ................................. ${host_os}
+])
+
+if test x$GIT_COMMIT_TAG_AVAIL = xyes ; then
+ echo " Version string : reference libFLAC ${GIT_COMMIT_TAG} ${GIT_COMMIT_DATE}"
+elif test x$GIT_COMMIT_VERSION_AVAIL = xyes ; then
+ echo " Version string : reference libFLAC git-${GIT_COMMIT_HASH} ${GIT_COMMIT_DATE}"
+fi
+ echo ""
+ echo " Compiler is GCC : ......................... ${ac_cv_c_compiler_gnu}"
+if test x$ac_cv_c_compiler_gnu = xyes ; then
+ echo " GCC version : ............................. ${GCC_VERSION}"
+fi
+ echo " Compiler is Clang : ....................... ${xiph_cv_c_compiler_clang}"
+ echo " Asm optimizations : ....................... ${asm_optimisation}"
+ echo " Ogg/FLAC support : ........................ ${have_ogg}"
+ echo " Stack protector : ........................ ${enable_stack_smash_protection}"
+ echo " Fuzzing support (Clang only) : ............ ${have_oss_fuzzers}"
+echo
diff --git a/3rdparty/libflac/configure.in b/3rdparty/libflac/configure.in
deleted file mode 100644
index bfa6d8ed8ca..00000000000
--- a/3rdparty/libflac/configure.in
+++ /dev/null
@@ -1,390 +0,0 @@
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-# NOTE that for many of the AM_CONDITIONALs we use the prefix FLaC__
-# instead of FLAC__ since autoconf triggers off 'AC_' in strings
-
-AC_INIT(src/flac/main.c)
-AM_INIT_AUTOMAKE(flac, 1.2.1)
-
-# Don't automagically regenerate autoconf/automake generated files unless
-# explicitly requested. Eases autobuilding -mdz
-AM_MAINTAINER_MODE
-
-# We need two libtools, one that builds both shared and static, and
-# one that builds only static. This is because the resulting libtool
-# does not allow us to choose which to build at runtime.
-AM_PROG_LIBTOOL
-sed -e 's/^build_old_libs=yes/build_old_libs=no/' libtool > libtool-disable-static
-chmod +x libtool-disable-static
-
-AC_SUBST(ACLOCAL_AMFLAGS, "-I m4")
-
-AM_PROG_AS
-AC_PROG_CXX
-AC_PROG_MAKE_SET
-
-AC_SYS_LARGEFILE
-AC_FUNC_FSEEKO
-
-AC_CHECK_SIZEOF(void*,0)
-
-#@@@ new name is AC_CONFIG_HEADERS
-AM_CONFIG_HEADER(config.h)
-
-AC_C_BIGENDIAN
-
-AC_CHECK_TYPES(socklen_t, [], [])
-
-dnl check for getopt in standard library
-dnl AC_CHECK_FUNCS(getopt_long , , [LIBOBJS="$LIBOBJS getopt.o getopt1.o"] )
-AC_CHECK_FUNCS(getopt_long, [], [])
-
-case "$host_cpu" in
- i*86)
- cpu_ia32=true
- AC_DEFINE(FLAC__CPU_IA32)
- AH_TEMPLATE(FLAC__CPU_IA32, [define if building for ia32/i386])
- ;;
- powerpc)
- cpu_ppc=true
- AC_DEFINE(FLAC__CPU_PPC)
- AH_TEMPLATE(FLAC__CPU_PPC, [define if building for PowerPC])
- ;;
- sparc)
- cpu_sparc=true
- AC_DEFINE(FLAC__CPU_SPARC)
- AH_TEMPLATE(FLAC__CPU_SPARC, [define if building for SPARC])
- ;;
-esac
-AM_CONDITIONAL(FLaC__CPU_IA32, test "x$cpu_ia32" = xtrue)
-AM_CONDITIONAL(FLaC__CPU_PPC, test "x$cpu_ppc" = xtrue)
-AM_CONDITIONAL(FLaC__CPU_SPARC, test "x$cpu_sparc" = xtrue)
-
-case "$host" in
- i386-*-openbsd3.[[0-3]]) OBJ_FORMAT=aoutb ;;
- *-*-cygwin|*mingw*) OBJ_FORMAT=win32 ;;
- *-*-darwin*) OBJ_FORMAT=macho ;;
- *) OBJ_FORMAT=elf ;;
-esac
-AC_SUBST(OBJ_FORMAT)
-
-# only needed because of ntohl() usage, can get rid of after that's gone:
-case "$host" in
- *-*-cygwin|*mingw*) MINGW_WINSOCK_LIBS=-lwsock32 ;;
- *) MINGW_WINSOCK_LIBS= ;;
-esac
-AC_SUBST(MINGW_WINSOCK_LIBS)
-
-case "$host" in
- *-pc-linux-gnu)
- sys_linux=true
- AC_DEFINE(FLAC__SYS_LINUX)
- AH_TEMPLATE(FLAC__SYS_LINUX, [define if building for Linux])
- ;;
- *-*-darwin*)
- sys_darwin=true
- AC_DEFINE(FLAC__SYS_DARWIN)
- AH_TEMPLATE(FLAC__SYS_DARWIN, [define if building for Darwin / MacOS X])
- ;;
-esac
-AM_CONDITIONAL(FLaC__SYS_DARWIN, test "x$sys_darwin" = xtrue)
-AM_CONDITIONAL(FLaC__SYS_LINUX, test "x$sys_linux" = xtrue)
-
-if test "x$cpu_ia32" = xtrue ; then
-AC_DEFINE(FLAC__ALIGN_MALLOC_DATA)
-AH_TEMPLATE(FLAC__ALIGN_MALLOC_DATA, [define to align allocated memory on 32-byte boundaries])
-fi
-
-AC_ARG_ENABLE(asm-optimizations, AC_HELP_STRING([--disable-asm-optimizations], [Don't use any assembly optimization routines]), asm_opt=no, asm_opt=yes)
-AM_CONDITIONAL(FLaC__NO_ASM, test "x$asm_opt" = xno)
-if test "x$asm_opt" = xno ; then
-AC_DEFINE(FLAC__NO_ASM)
-AH_TEMPLATE(FLAC__NO_ASM, [define to disable use of assembly code])
-fi
-
-AC_ARG_ENABLE(debug,
-AC_HELP_STRING([--enable-debug], [Turn on debugging]),
-[case "${enableval}" in
- yes) debug=true ;;
- no) debug=false ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
-esac],[debug=false])
-AM_CONDITIONAL(DEBUG, test "x$debug" = xtrue)
-
-AC_ARG_ENABLE(sse,
-AC_HELP_STRING([--enable-sse], [Enable SSE support by asserting that the OS supports SSE instructions]),
-[case "${enableval}" in
- yes) sse_os=true ;;
- no) sse_os=false ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-sse) ;;
-esac],[sse_os=false])
-AM_CONDITIONAL(FLaC__SSE_OS, test "x$sse_os" = xtrue)
-if test "x$sse_os" = xtrue ; then
-AC_DEFINE(FLAC__SSE_OS)
-AH_TEMPLATE(FLAC__SSE_OS, [define if your operating system supports SSE instructions])
-fi
-
-AC_ARG_ENABLE(3dnow,
-AC_HELP_STRING([--disable-3dnow], [Disable 3DNOW! optimizations]),
-[case "${enableval}" in
- yes) use_3dnow=true ;;
- no) use_3dnow=false ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-3dnow) ;;
-esac],[use_3dnow=true])
-AM_CONDITIONAL(FLaC__USE_3DNOW, test "x$use_3dnow" = xtrue)
-if test "x$use_3dnow" = xtrue ; then
-AC_DEFINE(FLAC__USE_3DNOW)
-AH_TEMPLATE(FLAC__USE_3DNOW, [define to enable use of 3Dnow! instructions])
-fi
-
-AC_ARG_ENABLE(altivec,
-AC_HELP_STRING([--disable-altivec], [Disable Altivec optimizations]),
-[case "${enableval}" in
- yes) use_altivec=true ;;
- no) use_altivec=false ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-altivec) ;;
-esac],[use_altivec=true])
-AM_CONDITIONAL(FLaC__USE_ALTIVEC, test "x$use_altivec" = xtrue)
-if test "x$use_altivec" = xtrue ; then
-AC_DEFINE(FLAC__USE_ALTIVEC)
-AH_TEMPLATE(FLAC__USE_ALTIVEC, [define to enable use of Altivec instructions])
-fi
-
-AC_ARG_ENABLE(thorough-tests,
-AC_HELP_STRING([--disable-thorough-tests], [Disable thorough (long) testing, do only basic tests]),
-[case "${enableval}" in
- yes) thorough_tests=true ;;
- no) thorough_tests=false ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-thorough-tests) ;;
-esac],[thorough_tests=true])
-AC_ARG_ENABLE(exhaustive-tests,
-AC_HELP_STRING([--enable-exhaustive-tests], [Enable exhaustive testing (VERY long)]),
-[case "${enableval}" in
- yes) exhaustive_tests=true ;;
- no) exhaustive_tests=false ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-exhaustive-tests) ;;
-esac],[exhaustive_tests=false])
-if test "x$thorough_tests" = xfalse ; then
-FLAC__TEST_LEVEL=0
-elif test "x$exhaustive_tests" = xfalse ; then
-FLAC__TEST_LEVEL=1
-else
-FLAC__TEST_LEVEL=2
-fi
-AC_SUBST(FLAC__TEST_LEVEL)
-
-AC_ARG_ENABLE(valgrind-testing,
-AC_HELP_STRING([--enable-valgrind-testing], [Run all tests inside Valgrind]),
-[case "${enableval}" in
- yes) FLAC__TEST_WITH_VALGRIND=yes ;;
- no) FLAC__TEST_WITH_VALGRIND=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-valgrind-testing) ;;
-esac],[FLAC__TEST_WITH_VALGRIND=no])
-AC_SUBST(FLAC__TEST_WITH_VALGRIND)
-
-AC_ARG_ENABLE(doxygen-docs,
-AC_HELP_STRING([--disable-doxygen-docs], [Disable API documentation building via Doxygen]),
-[case "${enableval}" in
- yes) enable_doxygen_docs=true ;;
- no) enable_doxygen_docs=false ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-doxygen-docs) ;;
-esac],[enable_doxygen_docs=true])
-if test "x$enable_doxygen_docs" != xfalse ; then
- AC_CHECK_PROGS(DOXYGEN, doxygen)
-fi
-AM_CONDITIONAL(FLaC__HAS_DOXYGEN, test -n "$DOXYGEN")
-
-AC_ARG_ENABLE(local-xmms-plugin,
-AC_HELP_STRING([--enable-local-xmms-plugin], [Install XMMS plugin to ~/.xmms/Plugins instead of system location]),
-[case "${enableval}" in
- yes) install_xmms_plugin_locally=true ;;
- no) install_xmms_plugin_locally=false ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-local-xmms-plugin) ;;
-esac],[install_xmms_plugin_locally=false])
-AM_CONDITIONAL(FLaC__INSTALL_XMMS_PLUGIN_LOCALLY, test "x$install_xmms_plugin_locally" = xtrue)
-
-AC_ARG_ENABLE(xmms-plugin,
-AC_HELP_STRING([--disable-xmms-plugin], [Do not build XMMS plugin]),
-[case "${enableval}" in
- yes) enable_xmms_plugin=true ;;
- no) enable_xmms_plugin=false ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-xmms-plugin) ;;
-esac],[enable_xmms_plugin=true])
-if test "x$enable_xmms_plugin" != xfalse ; then
- AM_PATH_XMMS(0.9.5.1, , AC_MSG_WARN([*** XMMS >= 0.9.5.1 not installed - XMMS support will not be built]))
-fi
-AM_CONDITIONAL(FLaC__HAS_XMMS, test -n "$XMMS_INPUT_PLUGIN_DIR")
-
-dnl build FLAC++ or not
-AC_ARG_ENABLE([cpplibs],
-AC_HELP_STRING([--disable-cpplibs], [Do not build libFLAC++]),
-[case "${enableval}" in
- yes) disable_cpplibs=false ;;
- no) disable_cpplibs=true ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-cpplibs) ;;
-esac], [disable_cpplibs=false])
-AM_CONDITIONAL(FLaC__WITH_CPPLIBS, [test "x$disable_cpplibs" != xtrue])
-
-dnl check for ogg library
-AC_ARG_ENABLE([ogg],
- AC_HELP_STRING([--disable-ogg], [Disable ogg support (default: test for libogg)]),
- [ want_ogg=$enableval ], [ want_ogg=yes ] )
-
-if test "x$want_ogg" != "xno"; then
- XIPH_PATH_OGG(have_ogg=yes, AC_MSG_WARN([*** Ogg development enviroment not installed - Ogg support will not be built]))
-fi
-
-AM_CONDITIONAL(FLaC__HAS_OGG, [test "x$have_ogg" = xyes])
-if test "x$have_ogg" = xyes ; then
-AC_DEFINE(FLAC__HAS_OGG)
-AH_TEMPLATE(FLAC__HAS_OGG, [define if you have the ogg library])
-fi
-
-dnl check for i18n(internationalization); these are from libiconv/gettext
-AM_ICONV
-AM_LANGINFO_CODESET
-
-AC_CHECK_PROGS(DOCBOOK_TO_MAN, docbook-to-man docbook2man)
-AM_CONDITIONAL(FLaC__HAS_DOCBOOK_TO_MAN, test -n "$DOCBOOK_TO_MAN")
-if test -n "$DOCBOOK_TO_MAN" ; then
-AC_DEFINE(FLAC__HAS_DOCBOOK_TO_MAN)
-AH_TEMPLATE(FLAC__HAS_DOCBOOK_TO_MAN, [define if you have docbook-to-man or docbook2man])
-fi
-
-# only matters for x86
-AC_CHECK_PROGS(NASM, nasm)
-AM_CONDITIONAL(FLaC__HAS_NASM, test -n "$NASM")
-if test -n "$NASM" ; then
-AC_DEFINE(FLAC__HAS_NASM)
-AH_TEMPLATE(FLAC__HAS_NASM, [define if you are compiling for x86 and have the NASM assembler])
-fi
-
-# only matters for PowerPC
-AC_CHECK_PROGS(AS, as, as)
-AC_CHECK_PROGS(GAS, gas, gas)
-
-# try -v (apple as) and --version (gas) at the same time
-test "$AS" = "as" && as --version -v < /dev/null 2>&1 | grep Apple >/dev/null || AS=gas
-
-AM_CONDITIONAL(FLaC__HAS_AS, test "$AS" = "as")
-AM_CONDITIONAL(FLaC__HAS_GAS, test "$AS" = "gas")
-if test "$AS" = "as" ; then
-AC_DEFINE(FLAC__HAS_AS)
-AH_TEMPLATE(FLAC__HAS_AS, [define if you are compiling for PowerPC and have the 'as' assembler])
-fi
-if test "$AS" = "gas" ; then
-# funniest. macro. ever.
-AC_DEFINE(FLAC__HAS_GAS)
-AH_TEMPLATE(FLAC__HAS_GAS, [define if you are compiling for PowerPC and have the 'gas' assembler])
-fi
-
-CPPFLAGS='-I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include'" $CPPFLAGS"
-if test "x$debug" = xtrue; then
- CPPFLAGS="-DDEBUG $CPPFLAGS"
- CFLAGS="-g $CFLAGS"
-else
- CPPFLAGS="-DNDEBUG $CPPFLAGS"
- if test "x$GCC" = xyes; then
- CPPFLAGS="-DFLaC__INLINE=__inline__ $CPPFLAGS"
- CFLAGS="-O3 -funroll-loops -finline-functions -Wall -W -Winline $CFLAGS"
- fi
-fi
-
-#@@@
-AM_CONDITIONAL(FLaC__HAS_AS__TEMPORARILY_DISABLED, test "yes" = "no")
-AM_CONDITIONAL(FLaC__HAS_GAS__TEMPORARILY_DISABLED, test "yes" = "no")
-
-AC_CONFIG_FILES([ \
- Makefile \
- src/Makefile \
- src/libFLAC/Makefile \
- src/libFLAC/flac.pc \
- src/libFLAC/ia32/Makefile \
- src/libFLAC/ppc/Makefile \
- src/libFLAC/ppc/as/Makefile \
- src/libFLAC/ppc/gas/Makefile \
- src/libFLAC/include/Makefile \
- src/libFLAC/include/private/Makefile \
- src/libFLAC/include/protected/Makefile \
- src/libFLAC++/Makefile \
- src/libFLAC++/flac++.pc \
- src/flac/Makefile \
- src/metaflac/Makefile \
- src/monkeys_audio_utilities/Makefile \
- src/monkeys_audio_utilities/flac_mac/Makefile \
- src/monkeys_audio_utilities/flac_ren/Makefile \
- src/plugin_common/Makefile \
- src/plugin_winamp2/Makefile \
- src/plugin_winamp2/include/Makefile \
- src/plugin_winamp2/include/winamp2/Makefile \
- src/plugin_xmms/Makefile \
- src/share/Makefile \
- src/share/getopt/Makefile \
- src/share/grabbag/Makefile \
- src/share/replaygain_analysis/Makefile \
- src/share/replaygain_synthesis/Makefile \
- src/share/replaygain_synthesis/include/Makefile \
- src/share/replaygain_synthesis/include/private/Makefile \
- src/share/utf8/Makefile \
- src/test_grabbag/Makefile \
- src/test_grabbag/cuesheet/Makefile \
- src/test_grabbag/picture/Makefile \
- src/test_libs_common/Makefile \
- src/test_libFLAC/Makefile \
- src/test_libFLAC++/Makefile \
- src/test_seeking/Makefile \
- src/test_streams/Makefile \
- examples/Makefile \
- examples/c/Makefile \
- examples/c/decode/Makefile \
- examples/c/decode/file/Makefile \
- examples/c/encode/Makefile \
- examples/c/encode/file/Makefile \
- examples/cpp/Makefile \
- examples/cpp/decode/Makefile \
- examples/cpp/decode/file/Makefile \
- examples/cpp/encode/Makefile \
- examples/cpp/encode/file/Makefile \
- include/Makefile \
- include/FLAC/Makefile \
- include/FLAC++/Makefile \
- include/share/Makefile \
- include/share/grabbag/Makefile \
- include/test_libs_common/Makefile \
- doc/Makefile \
- doc/html/Makefile \
- doc/html/images/Makefile \
- doc/html/images/hw/Makefile \
- doc/html/ru/Makefile \
- m4/Makefile \
- man/Makefile \
- test/Makefile \
- test/cuesheets/Makefile \
- test/flac-to-flac-metadata-test-files/Makefile \
- test/metaflac-test-files/Makefile \
- test/pictures/Makefile \
- build/Makefile \
- obj/Makefile \
- obj/debug/Makefile \
- obj/debug/bin/Makefile \
- obj/debug/lib/Makefile \
- obj/release/Makefile \
- obj/release/bin/Makefile \
- obj/release/lib/Makefile \
-])
-AC_OUTPUT
diff --git a/3rdparty/libflac/depcomp b/3rdparty/libflac/depcomp
index edb5d38efdb..715e34311ed 100644..100755
--- a/3rdparty/libflac/depcomp
+++ b/3rdparty/libflac/depcomp
@@ -1,7 +1,9 @@
#! /bin/sh
-
# depcomp - compile a program generating dependencies as side-effects
-# Copyright 1999, 2000, 2003 Free Software Foundation, Inc.
+
+scriptversion=2018-03-07.03; # UTC
+
+# Copyright (C) 1999-2021 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -14,9 +16,7 @@
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -25,26 +25,112 @@
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+case $1 in
+ '')
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+ depmode Dependency tracking mode.
+ source Source file read by 'PROGRAMS ARGS'.
+ object Object file output by 'PROGRAMS ARGS'.
+ DEPDIR directory where to store dependencies.
+ depfile Dependency file to output.
+ tmpdepfile Temporary file to use when outputting dependencies.
+ libtool Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "depcomp $scriptversion"
+ exit $?
+ ;;
+esac
+
+# Get the directory component of the given path, and save it in the
+# global variables '$dir'. Note that this directory component will
+# be either empty or ending with a '/' character. This is deliberate.
+set_dir_from ()
+{
+ case $1 in
+ */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
+ *) dir=;;
+ esac
+}
+
+# Get the suffix-stripped basename of the given path, and save it the
+# global variable '$base'.
+set_base_from ()
+{
+ base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
+}
+
+# If no dependency file was actually created by the compiler invocation,
+# we still have to create a dummy depfile, to avoid errors with the
+# Makefile "include basename.Plo" scheme.
+make_dummy_depfile ()
+{
+ echo "#dummy" > "$depfile"
+}
+
+# Factor out some common post-processing of the generated depfile.
+# Requires the auxiliary global variable '$tmpdepfile' to be set.
+aix_post_process_depfile ()
+{
+ # If the compiler actually managed to produce a dependency file,
+ # post-process it.
+ if test -f "$tmpdepfile"; then
+ # Each line is of the form 'foo.o: dependency.h'.
+ # Do two passes, one to just change these to
+ # $object: dependency.h
+ # and one to simply output
+ # dependency.h:
+ # which is needed to avoid the deleted-header problem.
+ { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
+ sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
+ } > "$depfile"
+ rm -f "$tmpdepfile"
+ else
+ make_dummy_depfile
+ fi
+}
+
+# A tabulation character.
+tab=' '
+# A newline character.
+nl='
+'
+# Character ranges might be problematic outside the C locale.
+# These definitions help.
+upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
+lower=abcdefghijklmnopqrstuvwxyz
+digits=0123456789
+alpha=${upper}${lower}
+
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
-# `libtool' can also be set to `yes' or `no'.
-
-if test -z "$depfile"; then
- base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
- dir=`echo "$object" | sed 's,/.*$,/,'`
- if test "$dir" = "$object"; then
- dir=
- fi
- # FIXME: should be _deps on DOS.
- depfile="$dir.deps/$base"
-fi
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+ sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
+# Avoid interferences from the environment.
+gccflag= dashmflag=
+
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
@@ -56,9 +142,32 @@ if test "$depmode" = hp; then
fi
if test "$depmode" = dashXmstdout; then
- # This is just like dashmstdout with a different argument.
- dashmflag=-xM
- depmode=dashmstdout
+ # This is just like dashmstdout with a different argument.
+ dashmflag=-xM
+ depmode=dashmstdout
+fi
+
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+ # This is just like msvisualcpp but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvisualcpp
+fi
+
+if test "$depmode" = msvc7msys; then
+ # This is just like msvc7 but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvc7
+fi
+
+if test "$depmode" = xlc; then
+ # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
+ gccflag=-qmakedep=gcc,-MF
+ depmode=gcc
fi
case "$depmode" in
@@ -66,10 +175,22 @@ gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
- "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am. Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+ for arg
+ do
+ case $arg in
+ -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+ *) set fnord "$@" "$arg" ;;
+ esac
+ shift # fnord
+ shift # $arg
+ done
+ "$@"
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
@@ -77,13 +198,17 @@ gcc3)
;;
gcc)
+## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
+## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
+## (see the conditional assignment to $gccflag above).
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-## -MM, not -M (despite what the docs say).
+## -MM, not -M (despite what the docs say). Also, it might not be
+## supported by the other compilers which use the 'gcc' depmode.
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
@@ -91,31 +216,31 @@ gcc)
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
- alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
+ # The second -e expression handles DOS-style file names with drive
+ # letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
+## This next piece of magic avoids the "deleted header file" problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
- tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'. On the theory
+## Some versions of gcc put a space before the ':'. On the theory
## that the space means something, we add a space to the output as
-## well.
+## well. hp depmode also adds that space, but also prefixes the VPATH
+## to the object. Take care to not repeat it in the output.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
@@ -133,8 +258,7 @@ sgi)
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
@@ -142,99 +266,156 @@ sgi)
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
-
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
- # the IRIX cc adds comments like `#:fec' to the end of the
+ # the IRIX cc adds comments like '#:fec' to the end of the
# dependency line.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
- tr '
-' ' ' >> $depfile
- echo >> $depfile
-
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
+ | tr "$nl" ' ' >> "$depfile"
+ echo >> "$depfile"
# The second pass generates a dummy entry for each header file.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
- >> $depfile
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+ >> "$depfile"
else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
+ make_dummy_depfile
fi
rm -f "$tmpdepfile"
;;
+xlc)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
- # current directory. Also, the AIX compiler puts `$object:' at the
+ # current directory. Also, the AIX compiler puts '$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
- stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
- tmpdepfile="$stripped.u"
+ set_dir_from "$object"
+ set_base_from "$object"
if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$base.u
+ tmpdepfile3=$dir.libs/$base.u
"$@" -Wc,-M
else
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$dir$base.u
+ tmpdepfile3=$dir$base.u
"$@" -M
fi
stat=$?
-
- if test -f "$tmpdepfile"; then :
- else
- stripped=`echo "$stripped" | sed 's,^.*/,,'`
- tmpdepfile="$stripped.u"
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
fi
- if test $stat -eq 0; then :
- else
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ aix_post_process_depfile
+ ;;
+
+tcc)
+ # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
+ # FIXME: That version still under development at the moment of writing.
+ # Make that this statement remains true also for stable, released
+ # versions.
+ # It will wrap lines (doesn't matter whether long or short) with a
+ # trailing '\', as in:
+ #
+ # foo.o : \
+ # foo.c \
+ # foo.h \
+ #
+ # It will put a trailing '\' even on the last line, and will use leading
+ # spaces rather than leading tabs (at least since its commit 0394caf7
+ # "Emit spaces for -MD").
+ "$@" -MD -MF "$tmpdepfile"
+ stat=$?
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
-
- if test -f "$tmpdepfile"; then
- outname="$stripped.o"
- # Each line is of the form `foo.o: dependent.h'.
- # Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
- sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
- sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
- fi
+ rm -f "$depfile"
+ # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
+ # We have to change lines of the first kind to '$object: \'.
+ sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
+ # And for each line of the second kind, we have to emit a 'dep.h:'
+ # dummy dependency, to avoid the deleted-header problem.
+ sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
rm -f "$tmpdepfile"
;;
-icc)
- # Intel's C compiler understands `-MD -MF file'. However on
- # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
- # ICC 7.0 will fill foo.d with something like
- # foo.o: sub/foo.c
- # foo.o: sub/foo.h
- # which is wrong. We want:
- # sub/foo.o: sub/foo.c
- # sub/foo.o: sub/foo.h
- # sub/foo.c:
- # sub/foo.h:
- # ICC 7.1 will output
+## The order of this option in the case statement is important, since the
+## shell code in configure will try each of these formats in the order
+## listed in this file. A plain '-MD' option would be understood by many
+## compilers, so we must ensure this comes after the gcc and icc options.
+pgcc)
+ # Portland's C compiler understands '-MD'.
+ # Will always output deps to 'file.d' where file is the root name of the
+ # source file under compilation, even if file resides in a subdirectory.
+ # The object file name does not affect the name of the '.d' file.
+ # pgcc 10.2 will output
# foo.o: sub/foo.c sub/foo.h
- # and will wrap long lines using \ :
+ # and will wrap long lines using '\' :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
+ set_dir_from "$object"
+ # Use the source, not the object, to determine the base name, since
+ # that's sadly what pgcc will do too.
+ set_base_from "$source"
+ tmpdepfile=$base.d
+
+ # For projects that build the same source file twice into different object
+ # files, the pgcc approach of using the *source* file root name can cause
+ # problems in parallel builds. Use a locking strategy to avoid stomping on
+ # the same $tmpdepfile.
+ lockdir=$base.d-lock
+ trap "
+ echo '$0: caught signal, cleaning up...' >&2
+ rmdir '$lockdir'
+ exit 1
+ " 1 2 13 15
+ numtries=100
+ i=$numtries
+ while test $i -gt 0; do
+ # mkdir is a portable test-and-set.
+ if mkdir "$lockdir" 2>/dev/null; then
+ # This process acquired the lock.
+ "$@" -MD
+ stat=$?
+ # Release the lock.
+ rmdir "$lockdir"
+ break
+ else
+ # If the lock is being held by a different process, wait
+ # until the winning process is done or we timeout.
+ while test -d "$lockdir" && test $i -gt 0; do
+ sleep 1
+ i=`expr $i - 1`
+ done
+ fi
+ i=`expr $i - 1`
+ done
+ trap - 1 2 13 15
+ if test $i -le 0; then
+ echo "$0: failed to acquire lock after $numtries attempts" >&2
+ echo "$0: check lockdir '$lockdir'" >&2
+ exit 1
+ fi
- "$@" -MD -MF "$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
@@ -246,52 +427,141 @@ icc)
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
- sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
- sed -e 's/$/ :/' >> "$depfile"
+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
+hp2)
+ # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+ # compilers, which have integrated preprocessors. The correct option
+ # to use with these is +Maked; it writes dependencies to a file named
+ # 'foo.d', which lands next to the object file, wherever that
+ # happens to be.
+ # Much of this is similar to the tru64 case; see comments there.
+ set_dir_from "$object"
+ set_base_from "$object"
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir.libs/$base.d
+ "$@" -Wc,+Maked
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ "$@" +Maked
+ fi
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile1" "$tmpdepfile2"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
+ # Add 'dependent.h:' lines.
+ sed -ne '2,${
+ s/^ *//
+ s/ \\*$//
+ s/$/:/
+ p
+ }' "$tmpdepfile" >> "$depfile"
+ else
+ make_dummy_depfile
+ fi
+ rm -f "$tmpdepfile" "$tmpdepfile2"
+ ;;
+
tru64)
- # The Tru64 compiler uses -MD to generate dependencies as a side
- # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
- # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
- # dependencies in `foo.d' instead, so we check for that too.
- # Subdirectories are respected.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
- if test "$libtool" = yes; then
- tmpdepfile1="$dir.libs/$base.lo.d"
- tmpdepfile2="$dir.libs/$base.d"
- "$@" -Wc,-MD
- else
- tmpdepfile1="$dir$base.o.d"
- tmpdepfile2="$dir$base.d"
- "$@" -MD
- fi
-
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile1" "$tmpdepfile2"
- exit $stat
- fi
-
- if test -f "$tmpdepfile1"; then
- tmpdepfile="$tmpdepfile1"
- else
- tmpdepfile="$tmpdepfile2"
- fi
- if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- # That's a tab and a space in the [].
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
+ # The Tru64 compiler uses -MD to generate dependencies as a side
+ # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+ # dependencies in 'foo.d' instead, so we check for that too.
+ # Subdirectories are respected.
+ set_dir_from "$object"
+ set_base_from "$object"
+
+ if test "$libtool" = yes; then
+ # Libtool generates 2 separate objects for the 2 libraries. These
+ # two compilations output dependencies in $dir.libs/$base.o.d and
+ # in $dir$base.o.d. We have to check for both files, because
+ # one of the two compilations can be disabled. We should prefer
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+ # automatically cleaned when .libs/ is deleted, while ignoring
+ # the former would cause a distcleancheck panic.
+ tmpdepfile1=$dir$base.o.d # libtool 1.5
+ tmpdepfile2=$dir.libs/$base.o.d # Likewise.
+ tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
+ "$@" -Wc,-MD
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ tmpdepfile3=$dir$base.d
+ "$@" -MD
+ fi
+
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ # Same post-processing that is required for AIX mode.
+ aix_post_process_depfile
+ ;;
+
+msvc7)
+ if test "$libtool" = yes; then
+ showIncludes=-Wc,-showIncludes
+ else
+ showIncludes=-showIncludes
+ fi
+ "$@" $showIncludes > "$tmpdepfile"
+ stat=$?
+ grep -v '^Note: including file: ' "$tmpdepfile"
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ # The first sed program below extracts the file names and escapes
+ # backslashes for cygpath. The second sed program outputs the file
+ # name when reading, but also accumulates all include files in the
+ # hold buffer in order to output them again at the end. This only
+ # works with sed implementations that can handle large buffers.
+ sed < "$tmpdepfile" -n '
+/^Note: including file: *\(.*\)/ {
+ s//\1/
+ s/\\/\\\\/g
+ p
+}' | $cygpath_u | sort -u | sed -n '
+s/ /\\ /g
+s/\(.*\)/'"$tab"'\1 \\/p
+s/.\(.*\) \\/\1:/
+H
+$ {
+ s/.*/'"$tab"'/
+ G
+ p
+}' >> "$depfile"
+ echo >> "$depfile" # make sure the fragment doesn't end with a backslash
+ rm -f "$tmpdepfile"
+ ;;
+
+msvc7msys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
@@ -304,13 +574,13 @@ dashmstdout)
# Remove the call to Libtool.
if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
+ while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
- # Remove `-o $object'.
+ # Remove '-o $object'.
IFS=" "
for arg
do
@@ -330,18 +600,18 @@ dashmstdout)
done
test -z "$dashmflag" && dashmflag=-M
- # Require at least two characters before searching for `:'
+ # Require at least two characters before searching for ':'
# in the target name. This is to cope with DOS-style filenames:
- # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+ # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
"$@" $dashmflag |
- sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
+ sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
- tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this sed invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
@@ -355,41 +625,51 @@ makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
+ while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
- cleared=no
- for arg in "$@"; do
+ cleared=no eat=no
+ for arg
+ do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
+ if test $eat = yes; then
+ eat=no
+ continue
+ fi
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
+ -arch)
+ eat=yes ;;
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
- obj_suffix="`echo $object | sed 's/^.*\././'`"
+ obj_suffix=`echo "$object" | sed 's/^.*\././'`
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
- sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ # makedepend may prepend the VPATH from the source file name to the object.
+ # No need to regex-escape $object, excess matching of '.' is harmless.
+ sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process the last invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed '1,2d' "$tmpdepfile" \
+ | tr ' ' "$nl" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
@@ -400,13 +680,13 @@ cpp)
# Remove the call to Libtool.
if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
+ while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
- # Remove `-o $object'.
+ # Remove '-o $object'.
IFS=" "
for arg
do
@@ -425,9 +705,10 @@ cpp)
esac
done
- "$@" -E |
- sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
- sed '$ s: \\$::' > "$tmpdepfile"
+ "$@" -E \
+ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ | sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
@@ -437,35 +718,56 @@ cpp)
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout, regardless of -o,
- # because we must use -o when running libtool.
+ # always write the preprocessed file to stdout.
"$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
IFS=" "
for arg
do
case "$arg" in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
- set fnord "$@"
- shift
- shift
- ;;
+ set fnord "$@"
+ shift
+ shift
+ ;;
*)
- set fnord "$@" "$arg"
- shift
- shift
- ;;
+ set fnord "$@" "$arg"
+ shift
+ shift
+ ;;
esac
done
- "$@" -E |
- sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
+ "$@" -E 2>/dev/null |
+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
- echo " " >> "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
+ echo "$tab" >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
+msvcmsys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
none)
exec "$@"
;;
@@ -477,3 +779,13 @@ none)
esac
exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/3rdparty/libflac/doc/Doxyfile b/3rdparty/libflac/doc/Doxyfile
deleted file mode 100644
index 000c2fb945a..00000000000
--- a/3rdparty/libflac/doc/Doxyfile
+++ /dev/null
@@ -1,1220 +0,0 @@
-# Doxyfile 1.4.2
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-# TAG = value [value, ...]
-# For lists items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME = FLAC
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER = 1.2.1
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY = doxytmp
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of
-# source files, where putting all generated files in the same directory would
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish,
-# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese,
-# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian,
-# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish,
-# Swedish, and Ukrainian.
-
-OUTPUT_LANGUAGE = English
-
-# This tag can be used to specify the encoding used in the generated output.
-# The encoding is not always determined by the language that is chosen,
-# but also whether or not the output is meant for Windows or non-Windows users.
-# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
-# forces the Windows encoding (this is the default for the Windows binary),
-# whereas setting the tag to NO uses a Unix-style encoding (the default for
-# all platforms other than Windows).
-
-USE_WINDOWS_ENCODING = NO
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC = NO
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is
-# used as the annotated text. Otherwise, the brief description is used as-is.
-# If left blank, the following values are used ("$name" is automatically
-# replaced with the name of the entity): "The $name class" "The $name widget"
-# "The $name file" "is" "provides" "specifies" "contains"
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF =
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC = YES
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB = YES
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES = YES
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
-
-STRIP_FROM_PATH = ..
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful is your file systems
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like the Qt-style comments (thus requiring an
-# explicit @brief command for a brief description.
-
-JAVADOC_AUTOBRIEF = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the DETAILS_AT_TOP tag is set to YES then Doxygen
-# will output the detailed description near the top, like JavaDoc.
-# If set to NO, the detailed description appears after the member
-# documentation.
-
-DETAILS_AT_TOP = YES
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
-
-INHERIT_DOCS = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-# a new page for each member. If set to NO, the documentation of a member will
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE = 4
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES = "assert=\par Assertions:\n" \
- "default=\par Default Value:\n"
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-# sources only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
-# only. Doxygen will then generate output that is more tailored for Java.
-# For instance, namespaces will be presented as packages, qualified scopes
-# will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
-SUBGROUPING = YES
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL = NO
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC = NO
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES = YES
-
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES = YES
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS = NO
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
-
-SORT_BRIEF_DOCS = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME = YES
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or define consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and defines in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES = YES
-
-# If the sources in your project are distributed over multiple directories
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
-# in the documentation.
-
-SHOW_DIRECTORIES = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from the
-# version control system). Doxygen will invoke the program by executing (via
-# popen()) the command <command> <input-file>, where <command> is the value of
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
-# provided by doxygen. Whatever the progam writes to standard output
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR = YES
-
-# This WARN_NO_PARAMDOC option can be abled to get warnings for
-# functions that are documented, but have no documentation for their parameters
-# or return value. If set to NO (the default) doxygen will only warn about
-# wrong or incomplete parameter documentation, but not about the absence of
-# documentation.
-
-WARN_NO_PARAMDOC = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text. Optionally the format may contain
-# $version, which will be replaced by the version of the file (if it could
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT = ../include/FLAC \
- ../include/FLAC++
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm
-
-FILE_PATTERNS =
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE = NO
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE =
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
-# directories that are symbolic links (a Unix filesystem feature) are excluded
-# from the input.
-
-EXCLUDE_SYMLINKS = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
-
-EXCLUDE_PATTERNS =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output. If FILTER_PATTERNS is specified, this tag will be
-# ignored.
-
-INPUT_FILTER =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis. Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match. The filters are a list of the form:
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
-# is applied to all files.
-
-FILTER_PATTERNS =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES (the default)
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = YES
-
-# If the REFERENCES_RELATION tag is set to YES (the default)
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION = YES
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX = YES
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER =
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER = doxygen.footer.html
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET =
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output directory.
-
-CHM_FILE =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND = NO
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX = NO
-
-# This tag can be used to set the number of enum values (range [1..20])
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE = 4
-
-# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
-# generated containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
-# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
-# probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH = 250
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-
-LATEX_CMD_NAME = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS = NO
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX = NO
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimized for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation.
-
-GENERATE_XML = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD =
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-# dump the program listings (including syntax highlighting
-# and cross-referencing information) to the XML output. Note that
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_PERLMOD = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader. This is useful
-# if you want to understand what is going on. On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION = YES
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_PREDEFINED tags.
-
-EXPAND_ONLY_PREDEF = YES
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed. To prevent a macro definition from being
-# undefined via #undef or recursively expanded use the := operator
-# instead of the = operator.
-
-PREDEFINED = FLAC__NO_DLL
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED = FLAC_API FLACPP_API
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all function-like macros that are alone
-# on a line, have an all uppercase name, and do not end with a semicolon. Such
-# function macros are typically used for boiler-plate code, and will confuse
-# the parser if not removed.
-
-SKIP_FUNCTION_MACROS = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles.
-# Optionally an initial location of the external documentation
-# can be added for each tagfile. The format of a tag file without
-# this location is as follows:
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths or
-# URLs. If a location is present for each tag, the installdox tool
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE = FLAC.tag
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
-# or super classes. Setting the tag to NO turns the diagrams off. Note that
-# this option is superseded by the HAVE_DOT option below. This is only a
-# fallback. It is recommended to install and use dot, since it yields more
-# powerful graphs.
-
-CLASS_DIAGRAMS = YES
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT = NO
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH = YES
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-
-UML_LOOK = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH = YES
-
-# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will
-# generate a call dependency graph for every global function or class method.
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable call graphs for selected
-# functions only using the \callgraph command.
-
-CALL_GRAPH = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
-# then doxygen will show the dependencies a directory has on other directories
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS =
-
-# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_WIDTH = 1024
-
-# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_HEIGHT = 1024
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes
-# that lay further from the root node will be omitted. Note that setting this
-# option to 1 or 2 may greatly reduce the computation time needed for large
-# code bases. Also note that a graph may be further truncated if the graph's
-# image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH
-# and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default),
-# the graph is not depth-constrained.
-
-MAX_DOT_GRAPH_DEPTH = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, which results in a white background.
-# Warning: Depending on the platform used, enabling this option may lead to
-# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
-# read).
-
-DOT_TRANSPARENT = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10)
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS = NO
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE = NO
diff --git a/3rdparty/libflac/doc/FLAC.tag b/3rdparty/libflac/doc/FLAC.tag
deleted file mode 100644
index 9d853b9044b..00000000000
--- a/3rdparty/libflac/doc/FLAC.tag
+++ /dev/null
@@ -1,12259 +0,0 @@
-<?xml version='1.0' encoding='ISO-8859-1' standalone='yes' ?>
-<tagfile>
- <compound kind="page">
- <name>index</name>
- <title></title>
- <filename>index</filename>
- <docanchor file="index">cpp_api</docanchor>
- <docanchor file="index">intro</docanchor>
- <docanchor file="index">getting_started</docanchor>
- <docanchor file="index">c_api</docanchor>
- <docanchor file="index">porting_guide</docanchor>
- <docanchor file="index">embedded_developers</docanchor>
- </compound>
- <compound kind="file">
- <name>decoder.h</name>
- <path>/home/jcoalson/flac/build-1.2.1/include/FLAC++/</path>
- <filename>decoder_8h</filename>
- <includes id="+_2export_8h" name="export.h" local="yes" imported="no">export.h</includes>
- <includes id="stream__decoder_8h" name="stream_decoder.h" local="yes" imported="no">FLAC/stream_decoder.h</includes>
- </compound>
- <compound kind="file">
- <name>encoder.h</name>
- <path>/home/jcoalson/flac/build-1.2.1/include/FLAC++/</path>
- <filename>encoder_8h</filename>
- <includes id="+_2export_8h" name="export.h" local="yes" imported="no">export.h</includes>
- <includes id="stream__encoder_8h" name="stream_encoder.h" local="yes" imported="no">FLAC/stream_encoder.h</includes>
- <includes id="decoder_8h" name="decoder.h" local="yes" imported="no">decoder.h</includes>
- <includes id="+_2metadata_8h" name="metadata.h" local="yes" imported="no">metadata.h</includes>
- </compound>
- <compound kind="file">
- <name>callback.h</name>
- <path>/home/jcoalson/flac/build-1.2.1/include/FLAC/</path>
- <filename>callback_8h</filename>
- <member kind="typedef">
- <type>void *</type>
- <name>FLAC__IOHandle</name>
- <anchorfile>group__flac__callbacks.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist></arglist>
- </member>
- <member kind="typedef">
- <type>size_t(*</type>
- <name>FLAC__IOCallback_Read</name>
- <anchorfile>group__flac__callbacks.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>)(void *ptr, size_t size, size_t nmemb, FLAC__IOHandle handle)</arglist>
- </member>
- <member kind="typedef">
- <type>size_t(*</type>
- <name>FLAC__IOCallback_Write</name>
- <anchorfile>group__flac__callbacks.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist>)(const void *ptr, size_t size, size_t nmemb, FLAC__IOHandle handle)</arglist>
- </member>
- <member kind="typedef">
- <type>int(*</type>
- <name>FLAC__IOCallback_Seek</name>
- <anchorfile>group__flac__callbacks.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist>)(FLAC__IOHandle handle, FLAC__int64 offset, int whence)</arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__int64(*</type>
- <name>FLAC__IOCallback_Tell</name>
- <anchorfile>group__flac__callbacks.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>)(FLAC__IOHandle handle)</arglist>
- </member>
- <member kind="typedef">
- <type>int(*</type>
- <name>FLAC__IOCallback_Eof</name>
- <anchorfile>group__flac__callbacks.html</anchorfile>
- <anchor>ga5</anchor>
- <arglist>)(FLAC__IOHandle handle)</arglist>
- </member>
- <member kind="typedef">
- <type>int(*</type>
- <name>FLAC__IOCallback_Close</name>
- <anchorfile>group__flac__callbacks.html</anchorfile>
- <anchor>ga6</anchor>
- <arglist>)(FLAC__IOHandle handle)</arglist>
- </member>
- </compound>
- <compound kind="file">
- <name>export.h</name>
- <path>/home/jcoalson/flac/build-1.2.1/include/FLAC/</path>
- <filename>export_8h</filename>
- <member kind="define">
- <type>#define</type>
- <name>FLAC_API</name>
- <anchorfile>group__flac__export.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC_API_VERSION_CURRENT</name>
- <anchorfile>group__flac__export.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC_API_VERSION_REVISION</name>
- <anchorfile>group__flac__export.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC_API_VERSION_AGE</name>
- <anchorfile>group__flac__export.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>int</type>
- <name>FLAC_API_SUPPORTS_OGG_FLAC</name>
- <anchorfile>group__flac__export.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="file">
- <name>export.h</name>
- <path>/home/jcoalson/flac/build-1.2.1/include/FLAC++/</path>
- <filename>+_2export_8h</filename>
- <member kind="define">
- <type>#define</type>
- <name>FLACPP_API</name>
- <anchorfile>group__flacpp__export.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLACPP_API_VERSION_CURRENT</name>
- <anchorfile>group__flacpp__export.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLACPP_API_VERSION_REVISION</name>
- <anchorfile>group__flacpp__export.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLACPP_API_VERSION_AGE</name>
- <anchorfile>group__flacpp__export.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="file">
- <name>format.h</name>
- <path>/home/jcoalson/flac/build-1.2.1/include/FLAC/</path>
- <filename>format_8h</filename>
- <includes id="export_8h" name="export.h" local="yes" imported="no">export.h</includes>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MAX_METADATA_TYPE_CODE</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga89</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MIN_BLOCK_SIZE</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga90</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MAX_BLOCK_SIZE</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga91</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__SUBSET_MAX_BLOCK_SIZE_48000HZ</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga92</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MAX_CHANNELS</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga93</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MIN_BITS_PER_SAMPLE</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga94</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MAX_BITS_PER_SAMPLE</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga95</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga96</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MAX_SAMPLE_RATE</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga97</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MAX_LPC_ORDER</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga98</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__SUBSET_MAX_LPC_ORDER_48000HZ</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga99</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MIN_QLP_COEFF_PRECISION</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga100</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MAX_QLP_COEFF_PRECISION</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga101</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MAX_FIXED_ORDER</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga102</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MAX_RICE_PARTITION_ORDER</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga103</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__SUBSET_MAX_RICE_PARTITION_ORDER</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga104</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__STREAM_SYNC_LENGTH</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga105</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__STREAM_METADATA_STREAMINFO_LENGTH</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga106</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__STREAM_METADATA_SEEKPOINT_LENGTH</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga107</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__STREAM_METADATA_HEADER_LENGTH</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga108</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__EntropyCodingMethodType</name>
- <anchor>ga109</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE</name>
- <anchor>gga109a100</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2</name>
- <anchor>gga109a101</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__SubframeType</name>
- <anchor>ga110</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__SUBFRAME_TYPE_CONSTANT</name>
- <anchor>gga110a102</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__SUBFRAME_TYPE_VERBATIM</name>
- <anchor>gga110a103</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__SUBFRAME_TYPE_FIXED</name>
- <anchor>gga110a104</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__SUBFRAME_TYPE_LPC</name>
- <anchor>gga110a105</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__ChannelAssignment</name>
- <anchor>ga111</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT</name>
- <anchor>gga111a106</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE</name>
- <anchor>gga111a107</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE</name>
- <anchor>gga111a108</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__CHANNEL_ASSIGNMENT_MID_SIDE</name>
- <anchor>gga111a109</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__FrameNumberType</name>
- <anchor>ga112</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__FRAME_NUMBER_TYPE_FRAME_NUMBER</name>
- <anchor>gga112a110</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER</name>
- <anchor>gga112a111</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__MetadataType</name>
- <anchor>ga113</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_TYPE_STREAMINFO</name>
- <anchor>gga113a112</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_TYPE_PADDING</name>
- <anchor>gga113a113</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_TYPE_APPLICATION</name>
- <anchor>gga113a114</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_TYPE_SEEKTABLE</name>
- <anchor>gga113a115</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_TYPE_VORBIS_COMMENT</name>
- <anchor>gga113a116</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_TYPE_CUESHEET</name>
- <anchor>gga113a117</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_TYPE_PICTURE</name>
- <anchor>gga113a118</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_TYPE_UNDEFINED</name>
- <anchor>gga113a119</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamMetadata_Picture_Type</name>
- <anchor>ga114</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER</name>
- <anchor>gga114a120</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD</name>
- <anchor>gga114a121</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON</name>
- <anchor>gga114a122</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER</name>
- <anchor>gga114a123</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER</name>
- <anchor>gga114a124</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE</name>
- <anchor>gga114a125</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA</name>
- <anchor>gga114a126</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST</name>
- <anchor>gga114a127</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST</name>
- <anchor>gga114a128</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR</name>
- <anchor>gga114a129</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_BAND</name>
- <anchor>gga114a130</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER</name>
- <anchor>gga114a131</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST</name>
- <anchor>gga114a132</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION</name>
- <anchor>gga114a133</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING</name>
- <anchor>gga114a134</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE</name>
- <anchor>gga114a135</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE</name>
- <anchor>gga114a136</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_FISH</name>
- <anchor>gga114a137</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION</name>
- <anchor>gga114a138</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE</name>
- <anchor>gga114a139</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE</name>
- <anchor>gga114a140</anchor>
- <arglist></arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__format_sample_rate_is_valid</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga80</anchor>
- <arglist>(unsigned sample_rate)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__format_sample_rate_is_subset</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga81</anchor>
- <arglist>(unsigned sample_rate)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__format_vorbiscomment_entry_name_is_legal</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga82</anchor>
- <arglist>(const char *name)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__format_vorbiscomment_entry_value_is_legal</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga83</anchor>
- <arglist>(const FLAC__byte *value, unsigned length)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__format_vorbiscomment_entry_is_legal</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga84</anchor>
- <arglist>(const FLAC__byte *entry, unsigned length)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__format_seektable_is_legal</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga85</anchor>
- <arglist>(const FLAC__StreamMetadata_SeekTable *seek_table)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__format_seektable_sort</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga86</anchor>
- <arglist>(FLAC__StreamMetadata_SeekTable *seek_table)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__format_cuesheet_is_legal</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga87</anchor>
- <arglist>(const FLAC__StreamMetadata_CueSheet *cue_sheet, FLAC__bool check_cd_da_subset, const char **violation)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__format_picture_is_legal</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga88</anchor>
- <arglist>(const FLAC__StreamMetadata_Picture *picture, const char **violation)</arglist>
- </member>
- <member kind="variable">
- <type>const char *</type>
- <name>FLAC__VERSION_STRING</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const char *</type>
- <name>FLAC__VENDOR_STRING</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const FLAC__byte</type>
- <name>FLAC__STREAM_SYNC_STRING</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist>[4]</arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_SYNC</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_SYNC_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__EntropyCodingMethodTypeString</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga5</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga6</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga9</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga10</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga11</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__ENTROPY_CODING_METHOD_TYPE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga12</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__SubframeTypeString</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga13</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga14</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga15</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__SUBFRAME_ZERO_PAD_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga16</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__SUBFRAME_TYPE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga17</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga18</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga19</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga20</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga21</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga22</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__ChannelAssignmentString</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga23</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__FrameNumberTypeString</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga24</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_HEADER_SYNC</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga25</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_HEADER_SYNC_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga26</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_HEADER_RESERVED_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga27</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga28</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_HEADER_BLOCK_SIZE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga29</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_HEADER_SAMPLE_RATE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga30</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga31</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga32</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_HEADER_ZERO_PAD_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga33</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_HEADER_CRC_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga34</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_FOOTER_CRC_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga35</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__MetadataTypeString</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga36</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga37</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga38</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga39</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga40</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga41</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga42</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga43</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga44</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga45</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_APPLICATION_ID_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga46</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga47</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga48</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga49</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const FLAC__uint64</type>
- <name>FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga50</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga51</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga52</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga53</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga54</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga55</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga56</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga57</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga58</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga59</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga60</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga61</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga62</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga63</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga64</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga65</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga66</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga67</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamMetadata_Picture_TypeString</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga68</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga69</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga70</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga71</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga72</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga73</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga74</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_PICTURE_COLORS_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga75</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga76</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_IS_LAST_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga77</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_TYPE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga78</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_LENGTH_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga79</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="file">
- <name>metadata.h</name>
- <path>/home/jcoalson/flac/build-1.2.1/include/FLAC/</path>
- <filename>metadata_8h</filename>
- <includes id="export_8h" name="export.h" local="yes" imported="no">export.h</includes>
- <includes id="callback_8h" name="callback.h" local="yes" imported="no">callback.h</includes>
- <includes id="format_8h" name="format.h" local="yes" imported="no">format.h</includes>
- <member kind="typedef">
- <type>FLAC__Metadata_SimpleIterator</type>
- <name>FLAC__Metadata_SimpleIterator</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist></arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__Metadata_Chain</type>
- <name>FLAC__Metadata_Chain</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist></arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__Metadata_Iterator</type>
- <name>FLAC__Metadata_Iterator</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__Metadata_SimpleIteratorStatus</name>
- <anchor>ga18</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK</name>
- <anchor>gga18a5</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT</name>
- <anchor>gga18a6</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE</name>
- <anchor>gga18a7</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_A_FLAC_FILE</name>
- <anchor>gga18a8</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_WRITABLE</name>
- <anchor>gga18a9</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA</name>
- <anchor>gga18a10</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR</name>
- <anchor>gga18a11</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR</name>
- <anchor>gga18a12</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_WRITE_ERROR</name>
- <anchor>gga18a13</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_RENAME_ERROR</name>
- <anchor>gga18a14</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_UNLINK_ERROR</name>
- <anchor>gga18a15</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR</name>
- <anchor>gga18a16</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_INTERNAL_ERROR</name>
- <anchor>gga18a17</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__Metadata_ChainStatus</name>
- <anchor>ga27</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_OK</name>
- <anchor>gga27a18</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_ILLEGAL_INPUT</name>
- <anchor>gga27a19</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE</name>
- <anchor>gga27a20</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_NOT_A_FLAC_FILE</name>
- <anchor>gga27a21</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_NOT_WRITABLE</name>
- <anchor>gga27a22</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_BAD_METADATA</name>
- <anchor>gga27a23</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_READ_ERROR</name>
- <anchor>gga27a24</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_SEEK_ERROR</name>
- <anchor>gga27a25</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_WRITE_ERROR</name>
- <anchor>gga27a26</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_RENAME_ERROR</name>
- <anchor>gga27a27</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_UNLINK_ERROR</name>
- <anchor>gga27a28</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_MEMORY_ALLOCATION_ERROR</name>
- <anchor>gga27a29</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_INTERNAL_ERROR</name>
- <anchor>gga27a30</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_INVALID_CALLBACKS</name>
- <anchor>gga27a31</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_READ_WRITE_MISMATCH</name>
- <anchor>gga27a32</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_WRONG_WRITE_CALL</name>
- <anchor>gga27a33</anchor>
- <arglist></arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_get_streaminfo</name>
- <anchorfile>group__flac__metadata__level0.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist>(const char *filename, FLAC__StreamMetadata *streaminfo)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_get_tags</name>
- <anchorfile>group__flac__metadata__level0.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>(const char *filename, FLAC__StreamMetadata **tags)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_get_cuesheet</name>
- <anchorfile>group__flac__metadata__level0.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist>(const char *filename, FLAC__StreamMetadata **cuesheet)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_get_picture</name>
- <anchorfile>group__flac__metadata__level0.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist>(const char *filename, FLAC__StreamMetadata **picture, FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, unsigned max_width, unsigned max_height, unsigned max_depth, unsigned max_colors)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__Metadata_SimpleIterator *</type>
- <name>FLAC__metadata_simple_iterator_new</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist>(void)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__metadata_simple_iterator_delete</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist>(FLAC__Metadata_SimpleIterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__Metadata_SimpleIteratorStatus</type>
- <name>FLAC__metadata_simple_iterator_status</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>(FLAC__Metadata_SimpleIterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_simple_iterator_init</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga5</anchor>
- <arglist>(FLAC__Metadata_SimpleIterator *iterator, const char *filename, FLAC__bool read_only, FLAC__bool preserve_file_stats)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_simple_iterator_is_writable</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga6</anchor>
- <arglist>(const FLAC__Metadata_SimpleIterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_simple_iterator_next</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist>(FLAC__Metadata_SimpleIterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_simple_iterator_prev</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist>(FLAC__Metadata_SimpleIterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_simple_iterator_is_last</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga9</anchor>
- <arglist>(const FLAC__Metadata_SimpleIterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>off_t</type>
- <name>FLAC__metadata_simple_iterator_get_block_offset</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga10</anchor>
- <arglist>(const FLAC__Metadata_SimpleIterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__MetadataType</type>
- <name>FLAC__metadata_simple_iterator_get_block_type</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga11</anchor>
- <arglist>(const FLAC__Metadata_SimpleIterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__metadata_simple_iterator_get_block_length</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga12</anchor>
- <arglist>(const FLAC__Metadata_SimpleIterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_simple_iterator_get_application_id</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga13</anchor>
- <arglist>(FLAC__Metadata_SimpleIterator *iterator, FLAC__byte *id)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamMetadata *</type>
- <name>FLAC__metadata_simple_iterator_get_block</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga14</anchor>
- <arglist>(FLAC__Metadata_SimpleIterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_simple_iterator_set_block</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga15</anchor>
- <arglist>(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool use_padding)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_simple_iterator_insert_block_after</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga16</anchor>
- <arglist>(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool use_padding)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_simple_iterator_delete_block</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga17</anchor>
- <arglist>(FLAC__Metadata_SimpleIterator *iterator, FLAC__bool use_padding)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__Metadata_Chain *</type>
- <name>FLAC__metadata_chain_new</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist>(void)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__metadata_chain_delete</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>(FLAC__Metadata_Chain *chain)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__Metadata_ChainStatus</type>
- <name>FLAC__metadata_chain_status</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga5</anchor>
- <arglist>(FLAC__Metadata_Chain *chain)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_chain_read</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga6</anchor>
- <arglist>(FLAC__Metadata_Chain *chain, const char *filename)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_chain_read_ogg</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist>(FLAC__Metadata_Chain *chain, const char *filename)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_chain_read_with_callbacks</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist>(FLAC__Metadata_Chain *chain, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_chain_read_ogg_with_callbacks</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga9</anchor>
- <arglist>(FLAC__Metadata_Chain *chain, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_chain_check_if_tempfile_needed</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga10</anchor>
- <arglist>(FLAC__Metadata_Chain *chain, FLAC__bool use_padding)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_chain_write</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga11</anchor>
- <arglist>(FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__bool preserve_file_stats)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_chain_write_with_callbacks</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga12</anchor>
- <arglist>(FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_chain_write_with_callbacks_and_tempfile</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga13</anchor>
- <arglist>(FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks, FLAC__IOHandle temp_handle, FLAC__IOCallbacks temp_callbacks)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__metadata_chain_merge_padding</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga14</anchor>
- <arglist>(FLAC__Metadata_Chain *chain)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__metadata_chain_sort_padding</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga15</anchor>
- <arglist>(FLAC__Metadata_Chain *chain)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__Metadata_Iterator *</type>
- <name>FLAC__metadata_iterator_new</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga16</anchor>
- <arglist>(void)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__metadata_iterator_delete</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga17</anchor>
- <arglist>(FLAC__Metadata_Iterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__metadata_iterator_init</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga18</anchor>
- <arglist>(FLAC__Metadata_Iterator *iterator, FLAC__Metadata_Chain *chain)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_iterator_next</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga19</anchor>
- <arglist>(FLAC__Metadata_Iterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_iterator_prev</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga20</anchor>
- <arglist>(FLAC__Metadata_Iterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__MetadataType</type>
- <name>FLAC__metadata_iterator_get_block_type</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga21</anchor>
- <arglist>(const FLAC__Metadata_Iterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamMetadata *</type>
- <name>FLAC__metadata_iterator_get_block</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga22</anchor>
- <arglist>(FLAC__Metadata_Iterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_iterator_set_block</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga23</anchor>
- <arglist>(FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_iterator_delete_block</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga24</anchor>
- <arglist>(FLAC__Metadata_Iterator *iterator, FLAC__bool replace_with_padding)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_iterator_insert_block_before</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga25</anchor>
- <arglist>(FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_iterator_insert_block_after</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga26</anchor>
- <arglist>(FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamMetadata *</type>
- <name>FLAC__metadata_object_new</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist>(FLAC__MetadataType type)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamMetadata *</type>
- <name>FLAC__metadata_object_clone</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>(const FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__metadata_object_delete</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist>(FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_is_equal</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist>(const FLAC__StreamMetadata *block1, const FLAC__StreamMetadata *block2)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_application_set_data</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>(FLAC__StreamMetadata *object, FLAC__byte *data, unsigned length, FLAC__bool copy)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_seektable_resize_points</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga5</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned new_num_points)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__metadata_object_seektable_set_point</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga6</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned point_num, FLAC__StreamMetadata_SeekPoint point)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_seektable_insert_point</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned point_num, FLAC__StreamMetadata_SeekPoint point)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_seektable_delete_point</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned point_num)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_seektable_is_legal</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga9</anchor>
- <arglist>(const FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_seektable_template_append_placeholders</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga10</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned num)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_seektable_template_append_point</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga11</anchor>
- <arglist>(FLAC__StreamMetadata *object, FLAC__uint64 sample_number)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_seektable_template_append_points</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga12</anchor>
- <arglist>(FLAC__StreamMetadata *object, FLAC__uint64 sample_numbers[], unsigned num)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_seektable_template_append_spaced_points</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga13</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned num, FLAC__uint64 total_samples)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_seektable_template_append_spaced_points_by_samples</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga14</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned samples, FLAC__uint64 total_samples)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_seektable_template_sort</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga15</anchor>
- <arglist>(FLAC__StreamMetadata *object, FLAC__bool compact)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_vorbiscomment_set_vendor_string</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga16</anchor>
- <arglist>(FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_vorbiscomment_resize_comments</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga17</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned new_num_comments)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_vorbiscomment_set_comment</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga18</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_vorbiscomment_insert_comment</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga19</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_vorbiscomment_append_comment</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga20</anchor>
- <arglist>(FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_vorbiscomment_replace_comment</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga21</anchor>
- <arglist>(FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool all, FLAC__bool copy)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_vorbiscomment_delete_comment</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga22</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned comment_num)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga23</anchor>
- <arglist>(FLAC__StreamMetadata_VorbisComment_Entry *entry, const char *field_name, const char *field_value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga24</anchor>
- <arglist>(const FLAC__StreamMetadata_VorbisComment_Entry entry, char **field_name, char **field_value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_vorbiscomment_entry_matches</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga25</anchor>
- <arglist>(const FLAC__StreamMetadata_VorbisComment_Entry entry, const char *field_name, unsigned field_name_length)</arglist>
- </member>
- <member kind="function">
- <type>int</type>
- <name>FLAC__metadata_object_vorbiscomment_find_entry_from</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga26</anchor>
- <arglist>(const FLAC__StreamMetadata *object, unsigned offset, const char *field_name)</arglist>
- </member>
- <member kind="function">
- <type>int</type>
- <name>FLAC__metadata_object_vorbiscomment_remove_entry_matching</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga27</anchor>
- <arglist>(FLAC__StreamMetadata *object, const char *field_name)</arglist>
- </member>
- <member kind="function">
- <type>int</type>
- <name>FLAC__metadata_object_vorbiscomment_remove_entries_matching</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga28</anchor>
- <arglist>(FLAC__StreamMetadata *object, const char *field_name)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamMetadata_CueSheet_Track *</type>
- <name>FLAC__metadata_object_cuesheet_track_new</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga29</anchor>
- <arglist>(void)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamMetadata_CueSheet_Track *</type>
- <name>FLAC__metadata_object_cuesheet_track_clone</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga30</anchor>
- <arglist>(const FLAC__StreamMetadata_CueSheet_Track *object)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__metadata_object_cuesheet_track_delete</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga31</anchor>
- <arglist>(FLAC__StreamMetadata_CueSheet_Track *object)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_cuesheet_track_resize_indices</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga32</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned track_num, unsigned new_num_indices)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_cuesheet_track_insert_index</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga33</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned track_num, unsigned index_num, FLAC__StreamMetadata_CueSheet_Index index)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_cuesheet_track_insert_blank_index</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga34</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned track_num, unsigned index_num)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_cuesheet_track_delete_index</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga35</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned track_num, unsigned index_num)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_cuesheet_resize_tracks</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga36</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned new_num_tracks)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_cuesheet_insert_track</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga37</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_cuesheet_insert_blank_track</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga38</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned track_num)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_cuesheet_delete_track</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga39</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned track_num)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_cuesheet_is_legal</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga40</anchor>
- <arglist>(const FLAC__StreamMetadata *object, FLAC__bool check_cd_da_subset, const char **violation)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__uint32</type>
- <name>FLAC__metadata_object_cuesheet_calculate_cddb_id</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga41</anchor>
- <arglist>(const FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_picture_set_mime_type</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga42</anchor>
- <arglist>(FLAC__StreamMetadata *object, char *mime_type, FLAC__bool copy)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_picture_set_description</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga43</anchor>
- <arglist>(FLAC__StreamMetadata *object, FLAC__byte *description, FLAC__bool copy)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_picture_set_data</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga44</anchor>
- <arglist>(FLAC__StreamMetadata *object, FLAC__byte *data, FLAC__uint32 length, FLAC__bool copy)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_picture_is_legal</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga45</anchor>
- <arglist>(const FLAC__StreamMetadata *object, const char **violation)</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__Metadata_SimpleIteratorStatusString</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__Metadata_ChainStatusString</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist>[]</arglist>
- </member>
- </compound>
- <compound kind="file">
- <name>metadata.h</name>
- <path>/home/jcoalson/flac/build-1.2.1/include/FLAC++/</path>
- <filename>+_2metadata_8h</filename>
- <includes id="+_2export_8h" name="export.h" local="yes" imported="no">export.h</includes>
- <includes id="metadata_8h" name="metadata.h" local="yes" imported="no">FLAC/metadata.h</includes>
- <member kind="function">
- <type>Prototype *</type>
- <name>clone</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist>(const Prototype *)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_streaminfo</name>
- <anchorfile>group__flacpp__metadata__level0.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist>(const char *filename, StreamInfo &amp;streaminfo)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_tags</name>
- <anchorfile>group__flacpp__metadata__level0.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>(const char *filename, VorbisComment *&amp;tags)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_tags</name>
- <anchorfile>group__flacpp__metadata__level0.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist>(const char *filename, VorbisComment &amp;tags)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_cuesheet</name>
- <anchorfile>group__flacpp__metadata__level0.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist>(const char *filename, CueSheet *&amp;cuesheet)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_cuesheet</name>
- <anchorfile>group__flacpp__metadata__level0.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>(const char *filename, CueSheet &amp;cuesheet)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_picture</name>
- <anchorfile>group__flacpp__metadata__level0.html</anchorfile>
- <anchor>ga5</anchor>
- <arglist>(const char *filename, Picture *&amp;picture,::FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, unsigned max_width, unsigned max_height, unsigned max_depth, unsigned max_colors)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_picture</name>
- <anchorfile>group__flacpp__metadata__level0.html</anchorfile>
- <anchor>ga6</anchor>
- <arglist>(const char *filename, Picture &amp;picture,::FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, unsigned max_width, unsigned max_height, unsigned max_depth, unsigned max_colors)</arglist>
- </member>
- </compound>
- <compound kind="file">
- <name>stream_decoder.h</name>
- <path>/home/jcoalson/flac/build-1.2.1/include/FLAC/</path>
- <filename>stream__decoder_8h</filename>
- <includes id="export_8h" name="export.h" local="yes" imported="no">export.h</includes>
- <includes id="format_8h" name="format.h" local="yes" imported="no">format.h</includes>
- <member kind="typedef">
- <type>FLAC__StreamDecoderReadStatus(*</type>
- <name>FLAC__StreamDecoderReadCallback</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist>)(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__StreamDecoderSeekStatus(*</type>
- <name>FLAC__StreamDecoderSeekCallback</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga9</anchor>
- <arglist>)(const FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__StreamDecoderTellStatus(*</type>
- <name>FLAC__StreamDecoderTellCallback</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga10</anchor>
- <arglist>)(const FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__StreamDecoderLengthStatus(*</type>
- <name>FLAC__StreamDecoderLengthCallback</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga11</anchor>
- <arglist>)(const FLAC__StreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__bool(*</type>
- <name>FLAC__StreamDecoderEofCallback</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga12</anchor>
- <arglist>)(const FLAC__StreamDecoder *decoder, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__StreamDecoderWriteStatus(*</type>
- <name>FLAC__StreamDecoderWriteCallback</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga13</anchor>
- <arglist>)(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 *const buffer[], void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>void(*</type>
- <name>FLAC__StreamDecoderMetadataCallback</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga14</anchor>
- <arglist>)(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>void(*</type>
- <name>FLAC__StreamDecoderErrorCallback</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga15</anchor>
- <arglist>)(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)</arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamDecoderState</name>
- <anchor>ga50</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_SEARCH_FOR_METADATA</name>
- <anchor>gga50a16</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_READ_METADATA</name>
- <anchor>gga50a17</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC</name>
- <anchor>gga50a18</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_READ_FRAME</name>
- <anchor>gga50a19</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_END_OF_STREAM</name>
- <anchor>gga50a20</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_OGG_ERROR</name>
- <anchor>gga50a21</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_SEEK_ERROR</name>
- <anchor>gga50a22</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_ABORTED</name>
- <anchor>gga50a23</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR</name>
- <anchor>gga50a24</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_UNINITIALIZED</name>
- <anchor>gga50a25</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamDecoderInitStatus</name>
- <anchor>ga51</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_INIT_STATUS_OK</name>
- <anchor>gga51a26</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER</name>
- <anchor>gga51a27</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS</name>
- <anchor>gga51a28</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_INIT_STATUS_MEMORY_ALLOCATION_ERROR</name>
- <anchor>gga51a29</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FILE</name>
- <anchor>gga51a30</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED</name>
- <anchor>gga51a31</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamDecoderReadStatus</name>
- <anchor>ga52</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_READ_STATUS_CONTINUE</name>
- <anchor>gga52a32</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM</name>
- <anchor>gga52a33</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_READ_STATUS_ABORT</name>
- <anchor>gga52a34</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamDecoderSeekStatus</name>
- <anchor>ga53</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_SEEK_STATUS_OK</name>
- <anchor>gga53a35</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_SEEK_STATUS_ERROR</name>
- <anchor>gga53a36</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED</name>
- <anchor>gga53a37</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamDecoderTellStatus</name>
- <anchor>ga54</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_TELL_STATUS_OK</name>
- <anchor>gga54a38</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_TELL_STATUS_ERROR</name>
- <anchor>gga54a39</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED</name>
- <anchor>gga54a40</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamDecoderLengthStatus</name>
- <anchor>ga55</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_LENGTH_STATUS_OK</name>
- <anchor>gga55a41</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR</name>
- <anchor>gga55a42</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_LENGTH_STATUS_UNSUPPORTED</name>
- <anchor>gga55a43</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamDecoderWriteStatus</name>
- <anchor>ga56</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE</name>
- <anchor>gga56a44</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_WRITE_STATUS_ABORT</name>
- <anchor>gga56a45</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamDecoderErrorStatus</name>
- <anchor>ga57</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC</name>
- <anchor>gga57a46</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER</name>
- <anchor>gga57a47</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH</name>
- <anchor>gga57a48</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM</name>
- <anchor>gga57a49</anchor>
- <arglist></arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamDecoder *</type>
- <name>FLAC__stream_decoder_new</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga16</anchor>
- <arglist>(void)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__stream_decoder_delete</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga17</anchor>
- <arglist>(FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_set_ogg_serial_number</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga18</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, long serial_number)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_set_md5_checking</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga19</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, FLAC__bool value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_set_metadata_respond</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga20</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, FLAC__MetadataType type)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_set_metadata_respond_application</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga21</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, const FLAC__byte id[4])</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_set_metadata_respond_all</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga22</anchor>
- <arglist>(FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_set_metadata_ignore</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga23</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, FLAC__MetadataType type)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_set_metadata_ignore_application</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga24</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, const FLAC__byte id[4])</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_set_metadata_ignore_all</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga25</anchor>
- <arglist>(FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamDecoderState</type>
- <name>FLAC__stream_decoder_get_state</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga26</anchor>
- <arglist>(const FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>const char *</type>
- <name>FLAC__stream_decoder_get_resolved_state_string</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga27</anchor>
- <arglist>(const FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_get_md5_checking</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga28</anchor>
- <arglist>(const FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__uint64</type>
- <name>FLAC__stream_decoder_get_total_samples</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga29</anchor>
- <arglist>(const FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_decoder_get_channels</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga30</anchor>
- <arglist>(const FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__ChannelAssignment</type>
- <name>FLAC__stream_decoder_get_channel_assignment</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga31</anchor>
- <arglist>(const FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_decoder_get_bits_per_sample</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga32</anchor>
- <arglist>(const FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_decoder_get_sample_rate</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga33</anchor>
- <arglist>(const FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_decoder_get_blocksize</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga34</anchor>
- <arglist>(const FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_get_decode_position</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga35</anchor>
- <arglist>(const FLAC__StreamDecoder *decoder, FLAC__uint64 *position)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamDecoderInitStatus</type>
- <name>FLAC__stream_decoder_init_stream</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga36</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, FLAC__StreamDecoderReadCallback read_callback, FLAC__StreamDecoderSeekCallback seek_callback, FLAC__StreamDecoderTellCallback tell_callback, FLAC__StreamDecoderLengthCallback length_callback, FLAC__StreamDecoderEofCallback eof_callback, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamDecoderInitStatus</type>
- <name>FLAC__stream_decoder_init_ogg_stream</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga37</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, FLAC__StreamDecoderReadCallback read_callback, FLAC__StreamDecoderSeekCallback seek_callback, FLAC__StreamDecoderTellCallback tell_callback, FLAC__StreamDecoderLengthCallback length_callback, FLAC__StreamDecoderEofCallback eof_callback, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamDecoderInitStatus</type>
- <name>FLAC__stream_decoder_init_FILE</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga38</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, FILE *file, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamDecoderInitStatus</type>
- <name>FLAC__stream_decoder_init_ogg_FILE</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga39</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, FILE *file, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamDecoderInitStatus</type>
- <name>FLAC__stream_decoder_init_file</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga40</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, const char *filename, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamDecoderInitStatus</type>
- <name>FLAC__stream_decoder_init_ogg_file</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga41</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, const char *filename, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_finish</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga42</anchor>
- <arglist>(FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_flush</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga43</anchor>
- <arglist>(FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_reset</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga44</anchor>
- <arglist>(FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_process_single</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga45</anchor>
- <arglist>(FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_process_until_end_of_metadata</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga46</anchor>
- <arglist>(FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_process_until_end_of_stream</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga47</anchor>
- <arglist>(FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_skip_single_frame</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga48</anchor>
- <arglist>(FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_seek_absolute</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga49</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, FLAC__uint64 sample)</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamDecoderStateString</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamDecoderInitStatusString</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamDecoderReadStatusString</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamDecoderSeekStatusString</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamDecoderTellStatusString</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamDecoderLengthStatusString</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga5</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamDecoderWriteStatusString</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga6</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamDecoderErrorStatusString</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist>[]</arglist>
- </member>
- </compound>
- <compound kind="file">
- <name>stream_encoder.h</name>
- <path>/home/jcoalson/flac/build-1.2.1/include/FLAC/</path>
- <filename>stream__encoder_8h</filename>
- <includes id="export_8h" name="export.h" local="yes" imported="no">export.h</includes>
- <includes id="format_8h" name="format.h" local="yes" imported="no">format.h</includes>
- <includes id="stream__decoder_8h" name="stream_decoder.h" local="yes" imported="no">stream_decoder.h</includes>
- <member kind="typedef">
- <type>FLAC__StreamEncoderReadStatus(*</type>
- <name>FLAC__StreamEncoderReadCallback</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga6</anchor>
- <arglist>)(const FLAC__StreamEncoder *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__StreamEncoderWriteStatus(*</type>
- <name>FLAC__StreamEncoderWriteCallback</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist>)(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__StreamEncoderSeekStatus(*</type>
- <name>FLAC__StreamEncoderSeekCallback</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist>)(const FLAC__StreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__StreamEncoderTellStatus(*</type>
- <name>FLAC__StreamEncoderTellCallback</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga9</anchor>
- <arglist>)(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>void(*</type>
- <name>FLAC__StreamEncoderMetadataCallback</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga10</anchor>
- <arglist>)(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetadata *metadata, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>void(*</type>
- <name>FLAC__StreamEncoderProgressCallback</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga11</anchor>
- <arglist>)(const FLAC__StreamEncoder *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate, void *client_data)</arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamEncoderState</name>
- <anchor>ga65</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_OK</name>
- <anchor>gga65a12</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_UNINITIALIZED</name>
- <anchor>gga65a13</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_OGG_ERROR</name>
- <anchor>gga65a14</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR</name>
- <anchor>gga65a15</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA</name>
- <anchor>gga65a16</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_CLIENT_ERROR</name>
- <anchor>gga65a17</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_IO_ERROR</name>
- <anchor>gga65a18</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_FRAMING_ERROR</name>
- <anchor>gga65a19</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR</name>
- <anchor>gga65a20</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamEncoderInitStatus</name>
- <anchor>ga66</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_OK</name>
- <anchor>gga66a21</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR</name>
- <anchor>gga66a22</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_UNSUPPORTED_CONTAINER</name>
- <anchor>gga66a23</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS</name>
- <anchor>gga66a24</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_NUMBER_OF_CHANNELS</name>
- <anchor>gga66a25</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BITS_PER_SAMPLE</name>
- <anchor>gga66a26</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_SAMPLE_RATE</name>
- <anchor>gga66a27</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BLOCK_SIZE</name>
- <anchor>gga66a28</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_MAX_LPC_ORDER</name>
- <anchor>gga66a29</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_QLP_COEFF_PRECISION</name>
- <anchor>gga66a30</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_BLOCK_SIZE_TOO_SMALL_FOR_LPC_ORDER</name>
- <anchor>gga66a31</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE</name>
- <anchor>gga66a32</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_METADATA</name>
- <anchor>gga66a33</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_ALREADY_INITIALIZED</name>
- <anchor>gga66a34</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamEncoderReadStatus</name>
- <anchor>ga67</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_READ_STATUS_CONTINUE</name>
- <anchor>gga67a35</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_READ_STATUS_END_OF_STREAM</name>
- <anchor>gga67a36</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_READ_STATUS_ABORT</name>
- <anchor>gga67a37</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_READ_STATUS_UNSUPPORTED</name>
- <anchor>gga67a38</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamEncoderWriteStatus</name>
- <anchor>ga68</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_WRITE_STATUS_OK</name>
- <anchor>gga68a39</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR</name>
- <anchor>gga68a40</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamEncoderSeekStatus</name>
- <anchor>ga69</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_SEEK_STATUS_OK</name>
- <anchor>gga69a41</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR</name>
- <anchor>gga69a42</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_SEEK_STATUS_UNSUPPORTED</name>
- <anchor>gga69a43</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamEncoderTellStatus</name>
- <anchor>ga70</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_TELL_STATUS_OK</name>
- <anchor>gga70a44</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_TELL_STATUS_ERROR</name>
- <anchor>gga70a45</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED</name>
- <anchor>gga70a46</anchor>
- <arglist></arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamEncoder *</type>
- <name>FLAC__stream_encoder_new</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga12</anchor>
- <arglist>(void)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__stream_encoder_delete</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga13</anchor>
- <arglist>(FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_ogg_serial_number</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga14</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, long serial_number)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_verify</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga15</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__bool value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_streamable_subset</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga16</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__bool value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_channels</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga17</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_bits_per_sample</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga18</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_sample_rate</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga19</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_compression_level</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga20</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_blocksize</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga21</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_do_mid_side_stereo</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga22</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__bool value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_loose_mid_side_stereo</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga23</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__bool value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_apodization</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga24</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, const char *specification)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_max_lpc_order</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga25</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_qlp_coeff_precision</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga26</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_do_qlp_coeff_prec_search</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga27</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__bool value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_do_escape_coding</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga28</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__bool value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_do_exhaustive_model_search</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga29</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__bool value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_min_residual_partition_order</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga30</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_max_residual_partition_order</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga31</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_rice_parameter_search_dist</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga32</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_total_samples_estimate</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga33</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__uint64 value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_metadata</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga34</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__StreamMetadata **metadata, unsigned num_blocks)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamEncoderState</type>
- <name>FLAC__stream_encoder_get_state</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga35</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamDecoderState</type>
- <name>FLAC__stream_encoder_get_verify_decoder_state</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga36</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>const char *</type>
- <name>FLAC__stream_encoder_get_resolved_state_string</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga37</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__stream_encoder_get_verify_decoder_error_stats</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga38</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_sample, unsigned *frame_number, unsigned *channel, unsigned *sample, FLAC__int32 *expected, FLAC__int32 *got)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_get_verify</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga39</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_get_streamable_subset</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga40</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_encoder_get_channels</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga41</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_encoder_get_bits_per_sample</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga42</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_encoder_get_sample_rate</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga43</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_encoder_get_blocksize</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga44</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_get_do_mid_side_stereo</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga45</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_get_loose_mid_side_stereo</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga46</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_encoder_get_max_lpc_order</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga47</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_encoder_get_qlp_coeff_precision</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga48</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_get_do_qlp_coeff_prec_search</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga49</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_get_do_escape_coding</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga50</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_get_do_exhaustive_model_search</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga51</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_encoder_get_min_residual_partition_order</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga52</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_encoder_get_max_residual_partition_order</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga53</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_encoder_get_rice_parameter_search_dist</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga54</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__uint64</type>
- <name>FLAC__stream_encoder_get_total_samples_estimate</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga55</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamEncoderInitStatus</type>
- <name>FLAC__stream_encoder_init_stream</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga56</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__StreamEncoderWriteCallback write_callback, FLAC__StreamEncoderSeekCallback seek_callback, FLAC__StreamEncoderTellCallback tell_callback, FLAC__StreamEncoderMetadataCallback metadata_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamEncoderInitStatus</type>
- <name>FLAC__stream_encoder_init_ogg_stream</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga57</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__StreamEncoderReadCallback read_callback, FLAC__StreamEncoderWriteCallback write_callback, FLAC__StreamEncoderSeekCallback seek_callback, FLAC__StreamEncoderTellCallback tell_callback, FLAC__StreamEncoderMetadataCallback metadata_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamEncoderInitStatus</type>
- <name>FLAC__stream_encoder_init_FILE</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga58</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FILE *file, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamEncoderInitStatus</type>
- <name>FLAC__stream_encoder_init_ogg_FILE</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga59</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FILE *file, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamEncoderInitStatus</type>
- <name>FLAC__stream_encoder_init_file</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga60</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, const char *filename, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamEncoderInitStatus</type>
- <name>FLAC__stream_encoder_init_ogg_file</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga61</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, const char *filename, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_finish</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga62</anchor>
- <arglist>(FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_process</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga63</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, const FLAC__int32 *const buffer[], unsigned samples)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_process_interleaved</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga64</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, const FLAC__int32 buffer[], unsigned samples)</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamEncoderStateString</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamEncoderInitStatusString</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamEncoderReadStatusString</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamEncoderWriteStatusString</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamEncoderSeekStatusString</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamEncoderTellStatusString</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga5</anchor>
- <arglist>[]</arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__EntropyCodingMethod</name>
- <filename>structFLAC____EntropyCodingMethod.html</filename>
- <member kind="variable">
- <type>FLAC__EntropyCodingMethodType</type>
- <name>type</name>
- <anchorfile>structFLAC____EntropyCodingMethod.html</anchorfile>
- <anchor>FLAC____EntropyCodingMethodo0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__EntropyCodingMethod::@0</type>
- <name>data</name>
- <anchorfile>structFLAC____EntropyCodingMethod.html</anchorfile>
- <anchor>FLAC____EntropyCodingMethodo2</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__EntropyCodingMethod_PartitionedRice</type>
- <name>partitioned_rice</name>
- <anchorfile>unionFLAC____EntropyCodingMethod_1_1@0.html</anchorfile>
- <anchor>FLAC____EntropyCodingMethod_1_1@0o0</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__EntropyCodingMethod_PartitionedRice</name>
- <filename>structFLAC____EntropyCodingMethod__PartitionedRice.html</filename>
- <member kind="variable">
- <type>unsigned</type>
- <name>order</name>
- <anchorfile>structFLAC____EntropyCodingMethod__PartitionedRice.html</anchorfile>
- <anchor>FLAC____EntropyCodingMethod__PartitionedRiceo0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const FLAC__EntropyCodingMethod_PartitionedRiceContents *</type>
- <name>contents</name>
- <anchorfile>structFLAC____EntropyCodingMethod__PartitionedRice.html</anchorfile>
- <anchor>FLAC____EntropyCodingMethod__PartitionedRiceo1</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__EntropyCodingMethod_PartitionedRiceContents</name>
- <filename>structFLAC____EntropyCodingMethod__PartitionedRiceContents.html</filename>
- <member kind="variable">
- <type>unsigned *</type>
- <name>parameters</name>
- <anchorfile>structFLAC____EntropyCodingMethod__PartitionedRiceContents.html</anchorfile>
- <anchor>FLAC____EntropyCodingMethod__PartitionedRiceContentso0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>unsigned *</type>
- <name>raw_bits</name>
- <anchorfile>structFLAC____EntropyCodingMethod__PartitionedRiceContents.html</anchorfile>
- <anchor>FLAC____EntropyCodingMethod__PartitionedRiceContentso1</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>unsigned</type>
- <name>capacity_by_order</name>
- <anchorfile>structFLAC____EntropyCodingMethod__PartitionedRiceContents.html</anchorfile>
- <anchor>FLAC____EntropyCodingMethod__PartitionedRiceContentso2</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__Frame</name>
- <filename>structFLAC____Frame.html</filename>
- <member kind="variable">
- <type>FLAC__FrameHeader</type>
- <name>header</name>
- <anchorfile>structFLAC____Frame.html</anchorfile>
- <anchor>FLAC____Frameo0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__Subframe</type>
- <name>subframes</name>
- <anchorfile>structFLAC____Frame.html</anchorfile>
- <anchor>FLAC____Frameo1</anchor>
- <arglist>[FLAC__MAX_CHANNELS]</arglist>
- </member>
- <member kind="variable">
- <type>FLAC__FrameFooter</type>
- <name>footer</name>
- <anchorfile>structFLAC____Frame.html</anchorfile>
- <anchor>FLAC____Frameo2</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__FrameFooter</name>
- <filename>structFLAC____FrameFooter.html</filename>
- <member kind="variable">
- <type>FLAC__uint16</type>
- <name>crc</name>
- <anchorfile>structFLAC____FrameFooter.html</anchorfile>
- <anchor>FLAC____FrameFootero0</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__FrameHeader</name>
- <filename>structFLAC____FrameHeader.html</filename>
- <member kind="variable">
- <type>unsigned</type>
- <name>blocksize</name>
- <anchorfile>structFLAC____FrameHeader.html</anchorfile>
- <anchor>FLAC____FrameHeadero0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>unsigned</type>
- <name>sample_rate</name>
- <anchorfile>structFLAC____FrameHeader.html</anchorfile>
- <anchor>FLAC____FrameHeadero1</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>unsigned</type>
- <name>channels</name>
- <anchorfile>structFLAC____FrameHeader.html</anchorfile>
- <anchor>FLAC____FrameHeadero2</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__ChannelAssignment</type>
- <name>channel_assignment</name>
- <anchorfile>structFLAC____FrameHeader.html</anchorfile>
- <anchor>FLAC____FrameHeadero3</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>unsigned</type>
- <name>bits_per_sample</name>
- <anchorfile>structFLAC____FrameHeader.html</anchorfile>
- <anchor>FLAC____FrameHeadero4</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__FrameNumberType</type>
- <name>number_type</name>
- <anchorfile>structFLAC____FrameHeader.html</anchorfile>
- <anchor>FLAC____FrameHeadero5</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__FrameHeader::@2</type>
- <name>number</name>
- <anchorfile>structFLAC____FrameHeader.html</anchorfile>
- <anchor>FLAC____FrameHeadero8</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__uint32</type>
- <name>frame_number</name>
- <anchorfile>unionFLAC____FrameHeader_1_1@2.html</anchorfile>
- <anchor>FLAC____FrameHeader_1_1@2o0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__uint64</type>
- <name>sample_number</name>
- <anchorfile>unionFLAC____FrameHeader_1_1@2.html</anchorfile>
- <anchor>FLAC____FrameHeader_1_1@2o1</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__uint8</type>
- <name>crc</name>
- <anchorfile>structFLAC____FrameHeader.html</anchorfile>
- <anchor>FLAC____FrameHeadero9</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__IOCallbacks</name>
- <filename>structFLAC____IOCallbacks.html</filename>
- <member kind="variable">
- <type>FLAC__IOCallback_Read</type>
- <name>read</name>
- <anchorfile>structFLAC____IOCallbacks.html</anchorfile>
- <anchor>FLAC____IOCallbackso0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__IOCallback_Write</type>
- <name>write</name>
- <anchorfile>structFLAC____IOCallbacks.html</anchorfile>
- <anchor>FLAC____IOCallbackso1</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__IOCallback_Seek</type>
- <name>seek</name>
- <anchorfile>structFLAC____IOCallbacks.html</anchorfile>
- <anchor>FLAC____IOCallbackso2</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__IOCallback_Tell</type>
- <name>tell</name>
- <anchorfile>structFLAC____IOCallbacks.html</anchorfile>
- <anchor>FLAC____IOCallbackso3</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__IOCallback_Eof</type>
- <name>eof</name>
- <anchorfile>structFLAC____IOCallbacks.html</anchorfile>
- <anchor>FLAC____IOCallbackso4</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__IOCallback_Close</type>
- <name>close</name>
- <anchorfile>structFLAC____IOCallbacks.html</anchorfile>
- <anchor>FLAC____IOCallbackso5</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__StreamDecoder</name>
- <filename>structFLAC____StreamDecoder.html</filename>
- <member kind="variable">
- <type>FLAC__StreamDecoderProtected *</type>
- <name>protected_</name>
- <anchorfile>structFLAC____StreamDecoder.html</anchorfile>
- <anchor>FLAC____StreamDecodero0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__StreamDecoderPrivate *</type>
- <name>private_</name>
- <anchorfile>structFLAC____StreamDecoder.html</anchorfile>
- <anchor>FLAC____StreamDecodero1</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__StreamEncoder</name>
- <filename>structFLAC____StreamEncoder.html</filename>
- <member kind="variable">
- <type>FLAC__StreamEncoderProtected *</type>
- <name>protected_</name>
- <anchorfile>structFLAC____StreamEncoder.html</anchorfile>
- <anchor>FLAC____StreamEncodero0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__StreamEncoderPrivate *</type>
- <name>private_</name>
- <anchorfile>structFLAC____StreamEncoder.html</anchorfile>
- <anchor>FLAC____StreamEncodero1</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__StreamMetadata</name>
- <filename>structFLAC____StreamMetadata.html</filename>
- <member kind="variable">
- <type>FLAC__MetadataType</type>
- <name>type</name>
- <anchorfile>structFLAC____StreamMetadata.html</anchorfile>
- <anchor>FLAC____StreamMetadatao0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__bool</type>
- <name>is_last</name>
- <anchorfile>structFLAC____StreamMetadata.html</anchorfile>
- <anchor>FLAC____StreamMetadatao1</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>unsigned</type>
- <name>length</name>
- <anchorfile>structFLAC____StreamMetadata.html</anchorfile>
- <anchor>FLAC____StreamMetadatao2</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__StreamMetadata::@3</type>
- <name>data</name>
- <anchorfile>structFLAC____StreamMetadata.html</anchorfile>
- <anchor>FLAC____StreamMetadatao11</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__StreamMetadata_StreamInfo</type>
- <name>stream_info</name>
- <anchorfile>unionFLAC____StreamMetadata_1_1@3.html</anchorfile>
- <anchor>FLAC____StreamMetadata_1_1@3o0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__StreamMetadata_Padding</type>
- <name>padding</name>
- <anchorfile>unionFLAC____StreamMetadata_1_1@3.html</anchorfile>
- <anchor>FLAC____StreamMetadata_1_1@3o1</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__StreamMetadata_Application</type>
- <name>application</name>
- <anchorfile>unionFLAC____StreamMetadata_1_1@3.html</anchorfile>
- <anchor>FLAC____StreamMetadata_1_1@3o2</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__StreamMetadata_SeekTable</type>
- <name>seek_table</name>
- <anchorfile>unionFLAC____StreamMetadata_1_1@3.html</anchorfile>
- <anchor>FLAC____StreamMetadata_1_1@3o3</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__StreamMetadata_VorbisComment</type>
- <name>vorbis_comment</name>
- <anchorfile>unionFLAC____StreamMetadata_1_1@3.html</anchorfile>
- <anchor>FLAC____StreamMetadata_1_1@3o4</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__StreamMetadata_CueSheet</type>
- <name>cue_sheet</name>
- <anchorfile>unionFLAC____StreamMetadata_1_1@3.html</anchorfile>
- <anchor>FLAC____StreamMetadata_1_1@3o5</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__StreamMetadata_Picture</type>
- <name>picture</name>
- <anchorfile>unionFLAC____StreamMetadata_1_1@3.html</anchorfile>
- <anchor>FLAC____StreamMetadata_1_1@3o6</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__StreamMetadata_Unknown</type>
- <name>unknown</name>
- <anchorfile>unionFLAC____StreamMetadata_1_1@3.html</anchorfile>
- <anchor>FLAC____StreamMetadata_1_1@3o7</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__StreamMetadata_Application</name>
- <filename>structFLAC____StreamMetadata__Application.html</filename>
- <member kind="variable">
- <type>FLAC__byte</type>
- <name>id</name>
- <anchorfile>structFLAC____StreamMetadata__Application.html</anchorfile>
- <anchor>FLAC____StreamMetadata__Applicationo0</anchor>
- <arglist>[4]</arglist>
- </member>
- <member kind="variable">
- <type>FLAC__byte *</type>
- <name>data</name>
- <anchorfile>structFLAC____StreamMetadata__Application.html</anchorfile>
- <anchor>FLAC____StreamMetadata__Applicationo1</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__StreamMetadata_CueSheet</name>
- <filename>structFLAC____StreamMetadata__CueSheet.html</filename>
- <member kind="variable">
- <type>char</type>
- <name>media_catalog_number</name>
- <anchorfile>structFLAC____StreamMetadata__CueSheet.html</anchorfile>
- <anchor>FLAC____StreamMetadata__CueSheeto0</anchor>
- <arglist>[129]</arglist>
- </member>
- <member kind="variable">
- <type>FLAC__uint64</type>
- <name>lead_in</name>
- <anchorfile>structFLAC____StreamMetadata__CueSheet.html</anchorfile>
- <anchor>FLAC____StreamMetadata__CueSheeto1</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__bool</type>
- <name>is_cd</name>
- <anchorfile>structFLAC____StreamMetadata__CueSheet.html</anchorfile>
- <anchor>FLAC____StreamMetadata__CueSheeto2</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>unsigned</type>
- <name>num_tracks</name>
- <anchorfile>structFLAC____StreamMetadata__CueSheet.html</anchorfile>
- <anchor>FLAC____StreamMetadata__CueSheeto3</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__StreamMetadata_CueSheet_Track *</type>
- <name>tracks</name>
- <anchorfile>structFLAC____StreamMetadata__CueSheet.html</anchorfile>
- <anchor>FLAC____StreamMetadata__CueSheeto4</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__StreamMetadata_CueSheet_Index</name>
- <filename>structFLAC____StreamMetadata__CueSheet__Index.html</filename>
- <member kind="variable">
- <type>FLAC__uint64</type>
- <name>offset</name>
- <anchorfile>structFLAC____StreamMetadata__CueSheet__Index.html</anchorfile>
- <anchor>FLAC____StreamMetadata__CueSheet__Indexo0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__byte</type>
- <name>number</name>
- <anchorfile>structFLAC____StreamMetadata__CueSheet__Index.html</anchorfile>
- <anchor>FLAC____StreamMetadata__CueSheet__Indexo1</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__StreamMetadata_CueSheet_Track</name>
- <filename>structFLAC____StreamMetadata__CueSheet__Track.html</filename>
- <member kind="variable">
- <type>FLAC__uint64</type>
- <name>offset</name>
- <anchorfile>structFLAC____StreamMetadata__CueSheet__Track.html</anchorfile>
- <anchor>FLAC____StreamMetadata__CueSheet__Tracko0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__byte</type>
- <name>number</name>
- <anchorfile>structFLAC____StreamMetadata__CueSheet__Track.html</anchorfile>
- <anchor>FLAC____StreamMetadata__CueSheet__Tracko1</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>char</type>
- <name>isrc</name>
- <anchorfile>structFLAC____StreamMetadata__CueSheet__Track.html</anchorfile>
- <anchor>FLAC____StreamMetadata__CueSheet__Tracko2</anchor>
- <arglist>[13]</arglist>
- </member>
- <member kind="variable">
- <type>unsigned</type>
- <name>type</name>
- <anchorfile>structFLAC____StreamMetadata__CueSheet__Track.html</anchorfile>
- <anchor>FLAC____StreamMetadata__CueSheet__Tracko3</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>unsigned</type>
- <name>pre_emphasis</name>
- <anchorfile>structFLAC____StreamMetadata__CueSheet__Track.html</anchorfile>
- <anchor>FLAC____StreamMetadata__CueSheet__Tracko4</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__byte</type>
- <name>num_indices</name>
- <anchorfile>structFLAC____StreamMetadata__CueSheet__Track.html</anchorfile>
- <anchor>FLAC____StreamMetadata__CueSheet__Tracko5</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__StreamMetadata_CueSheet_Index *</type>
- <name>indices</name>
- <anchorfile>structFLAC____StreamMetadata__CueSheet__Track.html</anchorfile>
- <anchor>FLAC____StreamMetadata__CueSheet__Tracko6</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__StreamMetadata_Padding</name>
- <filename>structFLAC____StreamMetadata__Padding.html</filename>
- <member kind="variable">
- <type>int</type>
- <name>dummy</name>
- <anchorfile>structFLAC____StreamMetadata__Padding.html</anchorfile>
- <anchor>FLAC____StreamMetadata__Paddingo0</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__StreamMetadata_Picture</name>
- <filename>structFLAC____StreamMetadata__Picture.html</filename>
- <member kind="variable">
- <type>FLAC__StreamMetadata_Picture_Type</type>
- <name>type</name>
- <anchorfile>structFLAC____StreamMetadata__Picture.html</anchorfile>
- <anchor>FLAC____StreamMetadata__Pictureo0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>char *</type>
- <name>mime_type</name>
- <anchorfile>structFLAC____StreamMetadata__Picture.html</anchorfile>
- <anchor>FLAC____StreamMetadata__Pictureo1</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__byte *</type>
- <name>description</name>
- <anchorfile>structFLAC____StreamMetadata__Picture.html</anchorfile>
- <anchor>FLAC____StreamMetadata__Pictureo2</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__uint32</type>
- <name>width</name>
- <anchorfile>structFLAC____StreamMetadata__Picture.html</anchorfile>
- <anchor>FLAC____StreamMetadata__Pictureo3</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__uint32</type>
- <name>height</name>
- <anchorfile>structFLAC____StreamMetadata__Picture.html</anchorfile>
- <anchor>FLAC____StreamMetadata__Pictureo4</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__uint32</type>
- <name>depth</name>
- <anchorfile>structFLAC____StreamMetadata__Picture.html</anchorfile>
- <anchor>FLAC____StreamMetadata__Pictureo5</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__uint32</type>
- <name>colors</name>
- <anchorfile>structFLAC____StreamMetadata__Picture.html</anchorfile>
- <anchor>FLAC____StreamMetadata__Pictureo6</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__uint32</type>
- <name>data_length</name>
- <anchorfile>structFLAC____StreamMetadata__Picture.html</anchorfile>
- <anchor>FLAC____StreamMetadata__Pictureo7</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__byte *</type>
- <name>data</name>
- <anchorfile>structFLAC____StreamMetadata__Picture.html</anchorfile>
- <anchor>FLAC____StreamMetadata__Pictureo8</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__StreamMetadata_SeekPoint</name>
- <filename>structFLAC____StreamMetadata__SeekPoint.html</filename>
- <member kind="variable">
- <type>FLAC__uint64</type>
- <name>sample_number</name>
- <anchorfile>structFLAC____StreamMetadata__SeekPoint.html</anchorfile>
- <anchor>FLAC____StreamMetadata__SeekPointo0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__uint64</type>
- <name>stream_offset</name>
- <anchorfile>structFLAC____StreamMetadata__SeekPoint.html</anchorfile>
- <anchor>FLAC____StreamMetadata__SeekPointo1</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>unsigned</type>
- <name>frame_samples</name>
- <anchorfile>structFLAC____StreamMetadata__SeekPoint.html</anchorfile>
- <anchor>FLAC____StreamMetadata__SeekPointo2</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__StreamMetadata_SeekTable</name>
- <filename>structFLAC____StreamMetadata__SeekTable.html</filename>
- <member kind="variable">
- <type>unsigned</type>
- <name>num_points</name>
- <anchorfile>structFLAC____StreamMetadata__SeekTable.html</anchorfile>
- <anchor>FLAC____StreamMetadata__SeekTableo0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__StreamMetadata_SeekPoint *</type>
- <name>points</name>
- <anchorfile>structFLAC____StreamMetadata__SeekTable.html</anchorfile>
- <anchor>FLAC____StreamMetadata__SeekTableo1</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__StreamMetadata_StreamInfo</name>
- <filename>structFLAC____StreamMetadata__StreamInfo.html</filename>
- <member kind="variable">
- <type>unsigned</type>
- <name>min_blocksize</name>
- <anchorfile>structFLAC____StreamMetadata__StreamInfo.html</anchorfile>
- <anchor>FLAC____StreamMetadata__StreamInfoo0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>unsigned</type>
- <name>max_blocksize</name>
- <anchorfile>structFLAC____StreamMetadata__StreamInfo.html</anchorfile>
- <anchor>FLAC____StreamMetadata__StreamInfoo1</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>unsigned</type>
- <name>min_framesize</name>
- <anchorfile>structFLAC____StreamMetadata__StreamInfo.html</anchorfile>
- <anchor>FLAC____StreamMetadata__StreamInfoo2</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>unsigned</type>
- <name>max_framesize</name>
- <anchorfile>structFLAC____StreamMetadata__StreamInfo.html</anchorfile>
- <anchor>FLAC____StreamMetadata__StreamInfoo3</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>unsigned</type>
- <name>sample_rate</name>
- <anchorfile>structFLAC____StreamMetadata__StreamInfo.html</anchorfile>
- <anchor>FLAC____StreamMetadata__StreamInfoo4</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>unsigned</type>
- <name>channels</name>
- <anchorfile>structFLAC____StreamMetadata__StreamInfo.html</anchorfile>
- <anchor>FLAC____StreamMetadata__StreamInfoo5</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>unsigned</type>
- <name>bits_per_sample</name>
- <anchorfile>structFLAC____StreamMetadata__StreamInfo.html</anchorfile>
- <anchor>FLAC____StreamMetadata__StreamInfoo6</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__uint64</type>
- <name>total_samples</name>
- <anchorfile>structFLAC____StreamMetadata__StreamInfo.html</anchorfile>
- <anchor>FLAC____StreamMetadata__StreamInfoo7</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__byte</type>
- <name>md5sum</name>
- <anchorfile>structFLAC____StreamMetadata__StreamInfo.html</anchorfile>
- <anchor>FLAC____StreamMetadata__StreamInfoo8</anchor>
- <arglist>[16]</arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__StreamMetadata_Unknown</name>
- <filename>structFLAC____StreamMetadata__Unknown.html</filename>
- <member kind="variable">
- <type>FLAC__byte *</type>
- <name>data</name>
- <anchorfile>structFLAC____StreamMetadata__Unknown.html</anchorfile>
- <anchor>FLAC____StreamMetadata__Unknowno0</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__StreamMetadata_VorbisComment</name>
- <filename>structFLAC____StreamMetadata__VorbisComment.html</filename>
- <member kind="variable">
- <type>FLAC__StreamMetadata_VorbisComment_Entry</type>
- <name>vendor_string</name>
- <anchorfile>structFLAC____StreamMetadata__VorbisComment.html</anchorfile>
- <anchor>FLAC____StreamMetadata__VorbisCommento0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__uint32</type>
- <name>num_comments</name>
- <anchorfile>structFLAC____StreamMetadata__VorbisComment.html</anchorfile>
- <anchor>FLAC____StreamMetadata__VorbisCommento1</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__StreamMetadata_VorbisComment_Entry *</type>
- <name>comments</name>
- <anchorfile>structFLAC____StreamMetadata__VorbisComment.html</anchorfile>
- <anchor>FLAC____StreamMetadata__VorbisCommento2</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__StreamMetadata_VorbisComment_Entry</name>
- <filename>structFLAC____StreamMetadata__VorbisComment__Entry.html</filename>
- <member kind="variable">
- <type>FLAC__uint32</type>
- <name>length</name>
- <anchorfile>structFLAC____StreamMetadata__VorbisComment__Entry.html</anchorfile>
- <anchor>FLAC____StreamMetadata__VorbisComment__Entryo0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__byte *</type>
- <name>entry</name>
- <anchorfile>structFLAC____StreamMetadata__VorbisComment__Entry.html</anchorfile>
- <anchor>FLAC____StreamMetadata__VorbisComment__Entryo1</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__Subframe</name>
- <filename>structFLAC____Subframe.html</filename>
- <member kind="variable">
- <type>FLAC__SubframeType</type>
- <name>type</name>
- <anchorfile>structFLAC____Subframe.html</anchorfile>
- <anchor>FLAC____Subframeo0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__Subframe::@1</type>
- <name>data</name>
- <anchorfile>structFLAC____Subframe.html</anchorfile>
- <anchor>FLAC____Subframeo5</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__Subframe_Constant</type>
- <name>constant</name>
- <anchorfile>unionFLAC____Subframe_1_1@1.html</anchorfile>
- <anchor>FLAC____Subframe_1_1@1o0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__Subframe_Fixed</type>
- <name>fixed</name>
- <anchorfile>unionFLAC____Subframe_1_1@1.html</anchorfile>
- <anchor>FLAC____Subframe_1_1@1o1</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__Subframe_LPC</type>
- <name>lpc</name>
- <anchorfile>unionFLAC____Subframe_1_1@1.html</anchorfile>
- <anchor>FLAC____Subframe_1_1@1o2</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__Subframe_Verbatim</type>
- <name>verbatim</name>
- <anchorfile>unionFLAC____Subframe_1_1@1.html</anchorfile>
- <anchor>FLAC____Subframe_1_1@1o3</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>unsigned</type>
- <name>wasted_bits</name>
- <anchorfile>structFLAC____Subframe.html</anchorfile>
- <anchor>FLAC____Subframeo6</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__Subframe_Constant</name>
- <filename>structFLAC____Subframe__Constant.html</filename>
- <member kind="variable">
- <type>FLAC__int32</type>
- <name>value</name>
- <anchorfile>structFLAC____Subframe__Constant.html</anchorfile>
- <anchor>FLAC____Subframe__Constanto0</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__Subframe_Fixed</name>
- <filename>structFLAC____Subframe__Fixed.html</filename>
- <member kind="variable">
- <type>FLAC__EntropyCodingMethod</type>
- <name>entropy_coding_method</name>
- <anchorfile>structFLAC____Subframe__Fixed.html</anchorfile>
- <anchor>FLAC____Subframe__Fixedo0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>unsigned</type>
- <name>order</name>
- <anchorfile>structFLAC____Subframe__Fixed.html</anchorfile>
- <anchor>FLAC____Subframe__Fixedo1</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__int32</type>
- <name>warmup</name>
- <anchorfile>structFLAC____Subframe__Fixed.html</anchorfile>
- <anchor>FLAC____Subframe__Fixedo2</anchor>
- <arglist>[FLAC__MAX_FIXED_ORDER]</arglist>
- </member>
- <member kind="variable">
- <type>const FLAC__int32 *</type>
- <name>residual</name>
- <anchorfile>structFLAC____Subframe__Fixed.html</anchorfile>
- <anchor>FLAC____Subframe__Fixedo3</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__Subframe_LPC</name>
- <filename>structFLAC____Subframe__LPC.html</filename>
- <member kind="variable">
- <type>FLAC__EntropyCodingMethod</type>
- <name>entropy_coding_method</name>
- <anchorfile>structFLAC____Subframe__LPC.html</anchorfile>
- <anchor>FLAC____Subframe__LPCo0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>unsigned</type>
- <name>order</name>
- <anchorfile>structFLAC____Subframe__LPC.html</anchorfile>
- <anchor>FLAC____Subframe__LPCo1</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>unsigned</type>
- <name>qlp_coeff_precision</name>
- <anchorfile>structFLAC____Subframe__LPC.html</anchorfile>
- <anchor>FLAC____Subframe__LPCo2</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>int</type>
- <name>quantization_level</name>
- <anchorfile>structFLAC____Subframe__LPC.html</anchorfile>
- <anchor>FLAC____Subframe__LPCo3</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>FLAC__int32</type>
- <name>qlp_coeff</name>
- <anchorfile>structFLAC____Subframe__LPC.html</anchorfile>
- <anchor>FLAC____Subframe__LPCo4</anchor>
- <arglist>[FLAC__MAX_LPC_ORDER]</arglist>
- </member>
- <member kind="variable">
- <type>FLAC__int32</type>
- <name>warmup</name>
- <anchorfile>structFLAC____Subframe__LPC.html</anchorfile>
- <anchor>FLAC____Subframe__LPCo5</anchor>
- <arglist>[FLAC__MAX_LPC_ORDER]</arglist>
- </member>
- <member kind="variable">
- <type>const FLAC__int32 *</type>
- <name>residual</name>
- <anchorfile>structFLAC____Subframe__LPC.html</anchorfile>
- <anchor>FLAC____Subframe__LPCo6</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="struct">
- <name>FLAC__Subframe_Verbatim</name>
- <filename>structFLAC____Subframe__Verbatim.html</filename>
- <member kind="variable">
- <type>const FLAC__int32 *</type>
- <name>data</name>
- <anchorfile>structFLAC____Subframe__Verbatim.html</anchorfile>
- <anchor>FLAC____Subframe__Verbatimo0</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="group">
- <name>porting</name>
- <title>Porting Guide for New Versions</title>
- <filename>group__porting.html</filename>
- <subgroup>porting_1_1_2_to_1_1_3</subgroup>
- <subgroup>porting_1_1_3_to_1_1_4</subgroup>
- <subgroup>porting_1_1_4_to_1_2_0</subgroup>
- </compound>
- <compound kind="group">
- <name>porting_1_1_2_to_1_1_3</name>
- <title>Porting from FLAC 1.1.2 to 1.1.3</title>
- <filename>group__porting__1__1__2__to__1__1__3.html</filename>
- </compound>
- <compound kind="group">
- <name>porting_1_1_3_to_1_1_4</name>
- <title>Porting from FLAC 1.1.3 to 1.1.4</title>
- <filename>group__porting__1__1__3__to__1__1__4.html</filename>
- </compound>
- <compound kind="group">
- <name>porting_1_1_4_to_1_2_0</name>
- <title>Porting from FLAC 1.1.4 to 1.2.0</title>
- <filename>group__porting__1__1__4__to__1__2__0.html</filename>
- </compound>
- <compound kind="group">
- <name>flac</name>
- <title>FLAC C API</title>
- <filename>group__flac.html</filename>
- <subgroup>flac_callbacks</subgroup>
- <subgroup>flac_export</subgroup>
- <subgroup>flac_format</subgroup>
- <subgroup>flac_metadata</subgroup>
- <subgroup>flac_decoder</subgroup>
- <subgroup>flac_encoder</subgroup>
- </compound>
- <compound kind="group">
- <name>flac_callbacks</name>
- <title>FLAC/callback.h: I/O callback structures</title>
- <filename>group__flac__callbacks.html</filename>
- <class kind="struct">FLAC__IOCallbacks</class>
- <member kind="typedef">
- <type>void *</type>
- <name>FLAC__IOHandle</name>
- <anchorfile>group__flac__callbacks.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist></arglist>
- </member>
- <member kind="typedef">
- <type>size_t(*</type>
- <name>FLAC__IOCallback_Read</name>
- <anchorfile>group__flac__callbacks.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>)(void *ptr, size_t size, size_t nmemb, FLAC__IOHandle handle)</arglist>
- </member>
- <member kind="typedef">
- <type>size_t(*</type>
- <name>FLAC__IOCallback_Write</name>
- <anchorfile>group__flac__callbacks.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist>)(const void *ptr, size_t size, size_t nmemb, FLAC__IOHandle handle)</arglist>
- </member>
- <member kind="typedef">
- <type>int(*</type>
- <name>FLAC__IOCallback_Seek</name>
- <anchorfile>group__flac__callbacks.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist>)(FLAC__IOHandle handle, FLAC__int64 offset, int whence)</arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__int64(*</type>
- <name>FLAC__IOCallback_Tell</name>
- <anchorfile>group__flac__callbacks.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>)(FLAC__IOHandle handle)</arglist>
- </member>
- <member kind="typedef">
- <type>int(*</type>
- <name>FLAC__IOCallback_Eof</name>
- <anchorfile>group__flac__callbacks.html</anchorfile>
- <anchor>ga5</anchor>
- <arglist>)(FLAC__IOHandle handle)</arglist>
- </member>
- <member kind="typedef">
- <type>int(*</type>
- <name>FLAC__IOCallback_Close</name>
- <anchorfile>group__flac__callbacks.html</anchorfile>
- <anchor>ga6</anchor>
- <arglist>)(FLAC__IOHandle handle)</arglist>
- </member>
- </compound>
- <compound kind="group">
- <name>flac_export</name>
- <title>FLAC/export.h: export symbols</title>
- <filename>group__flac__export.html</filename>
- <member kind="define">
- <type>#define</type>
- <name>FLAC_API</name>
- <anchorfile>group__flac__export.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC_API_VERSION_CURRENT</name>
- <anchorfile>group__flac__export.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC_API_VERSION_REVISION</name>
- <anchorfile>group__flac__export.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC_API_VERSION_AGE</name>
- <anchorfile>group__flac__export.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>int</type>
- <name>FLAC_API_SUPPORTS_OGG_FLAC</name>
- <anchorfile>group__flac__export.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="group">
- <name>flac_format</name>
- <title>FLAC/format.h: format components</title>
- <filename>group__flac__format.html</filename>
- <class kind="struct">FLAC__EntropyCodingMethod_PartitionedRiceContents</class>
- <class kind="struct">FLAC__EntropyCodingMethod_PartitionedRice</class>
- <class kind="struct">FLAC__EntropyCodingMethod</class>
- <class kind="struct">FLAC__Subframe_Constant</class>
- <class kind="struct">FLAC__Subframe_Verbatim</class>
- <class kind="struct">FLAC__Subframe_Fixed</class>
- <class kind="struct">FLAC__Subframe_LPC</class>
- <class kind="struct">FLAC__Subframe</class>
- <class kind="struct">FLAC__FrameHeader</class>
- <class kind="struct">FLAC__FrameFooter</class>
- <class kind="struct">FLAC__Frame</class>
- <class kind="struct">FLAC__StreamMetadata_StreamInfo</class>
- <class kind="struct">FLAC__StreamMetadata_Padding</class>
- <class kind="struct">FLAC__StreamMetadata_Application</class>
- <class kind="struct">FLAC__StreamMetadata_SeekPoint</class>
- <class kind="struct">FLAC__StreamMetadata_SeekTable</class>
- <class kind="struct">FLAC__StreamMetadata_VorbisComment_Entry</class>
- <class kind="struct">FLAC__StreamMetadata_VorbisComment</class>
- <class kind="struct">FLAC__StreamMetadata_CueSheet_Index</class>
- <class kind="struct">FLAC__StreamMetadata_CueSheet_Track</class>
- <class kind="struct">FLAC__StreamMetadata_CueSheet</class>
- <class kind="struct">FLAC__StreamMetadata_Picture</class>
- <class kind="struct">FLAC__StreamMetadata_Unknown</class>
- <class kind="struct">FLAC__StreamMetadata</class>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MAX_METADATA_TYPE_CODE</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga89</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MIN_BLOCK_SIZE</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga90</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MAX_BLOCK_SIZE</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga91</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__SUBSET_MAX_BLOCK_SIZE_48000HZ</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga92</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MAX_CHANNELS</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga93</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MIN_BITS_PER_SAMPLE</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga94</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MAX_BITS_PER_SAMPLE</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga95</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga96</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MAX_SAMPLE_RATE</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga97</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MAX_LPC_ORDER</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga98</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__SUBSET_MAX_LPC_ORDER_48000HZ</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga99</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MIN_QLP_COEFF_PRECISION</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga100</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MAX_QLP_COEFF_PRECISION</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga101</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MAX_FIXED_ORDER</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga102</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__MAX_RICE_PARTITION_ORDER</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga103</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__SUBSET_MAX_RICE_PARTITION_ORDER</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga104</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__STREAM_SYNC_LENGTH</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga105</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__STREAM_METADATA_STREAMINFO_LENGTH</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga106</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__STREAM_METADATA_SEEKPOINT_LENGTH</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga107</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLAC__STREAM_METADATA_HEADER_LENGTH</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga108</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__EntropyCodingMethodType</name>
- <anchor>ga109</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE</name>
- <anchor>gga109a100</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2</name>
- <anchor>gga109a101</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__SubframeType</name>
- <anchor>ga110</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__SUBFRAME_TYPE_CONSTANT</name>
- <anchor>gga110a102</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__SUBFRAME_TYPE_VERBATIM</name>
- <anchor>gga110a103</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__SUBFRAME_TYPE_FIXED</name>
- <anchor>gga110a104</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__SUBFRAME_TYPE_LPC</name>
- <anchor>gga110a105</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__ChannelAssignment</name>
- <anchor>ga111</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT</name>
- <anchor>gga111a106</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE</name>
- <anchor>gga111a107</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE</name>
- <anchor>gga111a108</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__CHANNEL_ASSIGNMENT_MID_SIDE</name>
- <anchor>gga111a109</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__FrameNumberType</name>
- <anchor>ga112</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__FRAME_NUMBER_TYPE_FRAME_NUMBER</name>
- <anchor>gga112a110</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER</name>
- <anchor>gga112a111</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__MetadataType</name>
- <anchor>ga113</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_TYPE_STREAMINFO</name>
- <anchor>gga113a112</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_TYPE_PADDING</name>
- <anchor>gga113a113</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_TYPE_APPLICATION</name>
- <anchor>gga113a114</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_TYPE_SEEKTABLE</name>
- <anchor>gga113a115</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_TYPE_VORBIS_COMMENT</name>
- <anchor>gga113a116</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_TYPE_CUESHEET</name>
- <anchor>gga113a117</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_TYPE_PICTURE</name>
- <anchor>gga113a118</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_TYPE_UNDEFINED</name>
- <anchor>gga113a119</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamMetadata_Picture_Type</name>
- <anchor>ga114</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER</name>
- <anchor>gga114a120</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD</name>
- <anchor>gga114a121</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON</name>
- <anchor>gga114a122</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER</name>
- <anchor>gga114a123</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER</name>
- <anchor>gga114a124</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE</name>
- <anchor>gga114a125</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA</name>
- <anchor>gga114a126</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST</name>
- <anchor>gga114a127</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST</name>
- <anchor>gga114a128</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR</name>
- <anchor>gga114a129</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_BAND</name>
- <anchor>gga114a130</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER</name>
- <anchor>gga114a131</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST</name>
- <anchor>gga114a132</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION</name>
- <anchor>gga114a133</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING</name>
- <anchor>gga114a134</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE</name>
- <anchor>gga114a135</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE</name>
- <anchor>gga114a136</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_FISH</name>
- <anchor>gga114a137</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION</name>
- <anchor>gga114a138</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE</name>
- <anchor>gga114a139</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE</name>
- <anchor>gga114a140</anchor>
- <arglist></arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__format_sample_rate_is_valid</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga80</anchor>
- <arglist>(unsigned sample_rate)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__format_sample_rate_is_subset</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga81</anchor>
- <arglist>(unsigned sample_rate)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__format_vorbiscomment_entry_name_is_legal</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga82</anchor>
- <arglist>(const char *name)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__format_vorbiscomment_entry_value_is_legal</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga83</anchor>
- <arglist>(const FLAC__byte *value, unsigned length)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__format_vorbiscomment_entry_is_legal</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga84</anchor>
- <arglist>(const FLAC__byte *entry, unsigned length)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__format_seektable_is_legal</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga85</anchor>
- <arglist>(const FLAC__StreamMetadata_SeekTable *seek_table)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__format_seektable_sort</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga86</anchor>
- <arglist>(FLAC__StreamMetadata_SeekTable *seek_table)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__format_cuesheet_is_legal</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga87</anchor>
- <arglist>(const FLAC__StreamMetadata_CueSheet *cue_sheet, FLAC__bool check_cd_da_subset, const char **violation)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__format_picture_is_legal</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga88</anchor>
- <arglist>(const FLAC__StreamMetadata_Picture *picture, const char **violation)</arglist>
- </member>
- <member kind="variable">
- <type>const char *</type>
- <name>FLAC__VERSION_STRING</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const char *</type>
- <name>FLAC__VENDOR_STRING</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const FLAC__byte</type>
- <name>FLAC__STREAM_SYNC_STRING</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist>[4]</arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_SYNC</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_SYNC_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__EntropyCodingMethodTypeString</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga5</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga6</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga9</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga10</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga11</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__ENTROPY_CODING_METHOD_TYPE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga12</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__SubframeTypeString</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga13</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga14</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga15</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__SUBFRAME_ZERO_PAD_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga16</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__SUBFRAME_TYPE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga17</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga18</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga19</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga20</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga21</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga22</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__ChannelAssignmentString</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga23</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__FrameNumberTypeString</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga24</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_HEADER_SYNC</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga25</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_HEADER_SYNC_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga26</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_HEADER_RESERVED_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga27</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga28</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_HEADER_BLOCK_SIZE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga29</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_HEADER_SAMPLE_RATE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga30</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga31</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga32</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_HEADER_ZERO_PAD_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga33</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_HEADER_CRC_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga34</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__FRAME_FOOTER_CRC_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga35</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__MetadataTypeString</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga36</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga37</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga38</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga39</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga40</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga41</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga42</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga43</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga44</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga45</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_APPLICATION_ID_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga46</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga47</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga48</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga49</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const FLAC__uint64</type>
- <name>FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga50</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga51</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga52</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga53</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga54</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga55</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga56</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga57</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga58</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga59</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga60</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga61</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga62</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga63</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga64</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga65</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga66</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga67</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamMetadata_Picture_TypeString</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga68</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_PICTURE_TYPE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga69</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga70</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga71</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga72</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga73</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga74</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_PICTURE_COLORS_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga75</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga76</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_IS_LAST_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga77</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_TYPE_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga78</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable">
- <type>const unsigned</type>
- <name>FLAC__STREAM_METADATA_LENGTH_LEN</name>
- <anchorfile>group__flac__format.html</anchorfile>
- <anchor>ga79</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="group">
- <name>flac_metadata</name>
- <title>FLAC/metadata.h: metadata interfaces</title>
- <filename>group__flac__metadata.html</filename>
- <subgroup>flac_metadata_level0</subgroup>
- <subgroup>flac_metadata_level1</subgroup>
- <subgroup>flac_metadata_level2</subgroup>
- <subgroup>flac_metadata_object</subgroup>
- </compound>
- <compound kind="group">
- <name>flac_metadata_level0</name>
- <title>FLAC/metadata.h: metadata level 0 interface</title>
- <filename>group__flac__metadata__level0.html</filename>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_get_streaminfo</name>
- <anchorfile>group__flac__metadata__level0.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist>(const char *filename, FLAC__StreamMetadata *streaminfo)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_get_tags</name>
- <anchorfile>group__flac__metadata__level0.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>(const char *filename, FLAC__StreamMetadata **tags)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_get_cuesheet</name>
- <anchorfile>group__flac__metadata__level0.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist>(const char *filename, FLAC__StreamMetadata **cuesheet)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_get_picture</name>
- <anchorfile>group__flac__metadata__level0.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist>(const char *filename, FLAC__StreamMetadata **picture, FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, unsigned max_width, unsigned max_height, unsigned max_depth, unsigned max_colors)</arglist>
- </member>
- </compound>
- <compound kind="group">
- <name>flac_metadata_level1</name>
- <title>FLAC/metadata.h: metadata level 1 interface</title>
- <filename>group__flac__metadata__level1.html</filename>
- <member kind="typedef">
- <type>FLAC__Metadata_SimpleIterator</type>
- <name>FLAC__Metadata_SimpleIterator</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__Metadata_SimpleIteratorStatus</name>
- <anchor>ga18</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK</name>
- <anchor>gga18a5</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT</name>
- <anchor>gga18a6</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE</name>
- <anchor>gga18a7</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_A_FLAC_FILE</name>
- <anchor>gga18a8</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_WRITABLE</name>
- <anchor>gga18a9</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA</name>
- <anchor>gga18a10</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR</name>
- <anchor>gga18a11</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR</name>
- <anchor>gga18a12</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_WRITE_ERROR</name>
- <anchor>gga18a13</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_RENAME_ERROR</name>
- <anchor>gga18a14</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_UNLINK_ERROR</name>
- <anchor>gga18a15</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR</name>
- <anchor>gga18a16</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_INTERNAL_ERROR</name>
- <anchor>gga18a17</anchor>
- <arglist></arglist>
- </member>
- <member kind="function">
- <type>FLAC__Metadata_SimpleIterator *</type>
- <name>FLAC__metadata_simple_iterator_new</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist>(void)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__metadata_simple_iterator_delete</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist>(FLAC__Metadata_SimpleIterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__Metadata_SimpleIteratorStatus</type>
- <name>FLAC__metadata_simple_iterator_status</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>(FLAC__Metadata_SimpleIterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_simple_iterator_init</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga5</anchor>
- <arglist>(FLAC__Metadata_SimpleIterator *iterator, const char *filename, FLAC__bool read_only, FLAC__bool preserve_file_stats)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_simple_iterator_is_writable</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga6</anchor>
- <arglist>(const FLAC__Metadata_SimpleIterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_simple_iterator_next</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist>(FLAC__Metadata_SimpleIterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_simple_iterator_prev</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist>(FLAC__Metadata_SimpleIterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_simple_iterator_is_last</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga9</anchor>
- <arglist>(const FLAC__Metadata_SimpleIterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>off_t</type>
- <name>FLAC__metadata_simple_iterator_get_block_offset</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga10</anchor>
- <arglist>(const FLAC__Metadata_SimpleIterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__MetadataType</type>
- <name>FLAC__metadata_simple_iterator_get_block_type</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga11</anchor>
- <arglist>(const FLAC__Metadata_SimpleIterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__metadata_simple_iterator_get_block_length</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga12</anchor>
- <arglist>(const FLAC__Metadata_SimpleIterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_simple_iterator_get_application_id</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga13</anchor>
- <arglist>(FLAC__Metadata_SimpleIterator *iterator, FLAC__byte *id)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamMetadata *</type>
- <name>FLAC__metadata_simple_iterator_get_block</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga14</anchor>
- <arglist>(FLAC__Metadata_SimpleIterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_simple_iterator_set_block</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga15</anchor>
- <arglist>(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool use_padding)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_simple_iterator_insert_block_after</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga16</anchor>
- <arglist>(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool use_padding)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_simple_iterator_delete_block</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga17</anchor>
- <arglist>(FLAC__Metadata_SimpleIterator *iterator, FLAC__bool use_padding)</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__Metadata_SimpleIteratorStatusString</name>
- <anchorfile>group__flac__metadata__level1.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>[]</arglist>
- </member>
- </compound>
- <compound kind="group">
- <name>flac_metadata_level2</name>
- <title>FLAC/metadata.h: metadata level 2 interface</title>
- <filename>group__flac__metadata__level2.html</filename>
- <member kind="typedef">
- <type>FLAC__Metadata_Chain</type>
- <name>FLAC__Metadata_Chain</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist></arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__Metadata_Iterator</type>
- <name>FLAC__Metadata_Iterator</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__Metadata_ChainStatus</name>
- <anchor>ga27</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_OK</name>
- <anchor>gga27a18</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_ILLEGAL_INPUT</name>
- <anchor>gga27a19</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE</name>
- <anchor>gga27a20</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_NOT_A_FLAC_FILE</name>
- <anchor>gga27a21</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_NOT_WRITABLE</name>
- <anchor>gga27a22</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_BAD_METADATA</name>
- <anchor>gga27a23</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_READ_ERROR</name>
- <anchor>gga27a24</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_SEEK_ERROR</name>
- <anchor>gga27a25</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_WRITE_ERROR</name>
- <anchor>gga27a26</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_RENAME_ERROR</name>
- <anchor>gga27a27</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_UNLINK_ERROR</name>
- <anchor>gga27a28</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_MEMORY_ALLOCATION_ERROR</name>
- <anchor>gga27a29</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_INTERNAL_ERROR</name>
- <anchor>gga27a30</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_INVALID_CALLBACKS</name>
- <anchor>gga27a31</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_READ_WRITE_MISMATCH</name>
- <anchor>gga27a32</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__METADATA_CHAIN_STATUS_WRONG_WRITE_CALL</name>
- <anchor>gga27a33</anchor>
- <arglist></arglist>
- </member>
- <member kind="function">
- <type>FLAC__Metadata_Chain *</type>
- <name>FLAC__metadata_chain_new</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist>(void)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__metadata_chain_delete</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>(FLAC__Metadata_Chain *chain)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__Metadata_ChainStatus</type>
- <name>FLAC__metadata_chain_status</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga5</anchor>
- <arglist>(FLAC__Metadata_Chain *chain)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_chain_read</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga6</anchor>
- <arglist>(FLAC__Metadata_Chain *chain, const char *filename)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_chain_read_ogg</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist>(FLAC__Metadata_Chain *chain, const char *filename)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_chain_read_with_callbacks</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist>(FLAC__Metadata_Chain *chain, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_chain_read_ogg_with_callbacks</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga9</anchor>
- <arglist>(FLAC__Metadata_Chain *chain, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_chain_check_if_tempfile_needed</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga10</anchor>
- <arglist>(FLAC__Metadata_Chain *chain, FLAC__bool use_padding)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_chain_write</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga11</anchor>
- <arglist>(FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__bool preserve_file_stats)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_chain_write_with_callbacks</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga12</anchor>
- <arglist>(FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_chain_write_with_callbacks_and_tempfile</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga13</anchor>
- <arglist>(FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks, FLAC__IOHandle temp_handle, FLAC__IOCallbacks temp_callbacks)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__metadata_chain_merge_padding</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga14</anchor>
- <arglist>(FLAC__Metadata_Chain *chain)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__metadata_chain_sort_padding</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga15</anchor>
- <arglist>(FLAC__Metadata_Chain *chain)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__Metadata_Iterator *</type>
- <name>FLAC__metadata_iterator_new</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga16</anchor>
- <arglist>(void)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__metadata_iterator_delete</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga17</anchor>
- <arglist>(FLAC__Metadata_Iterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__metadata_iterator_init</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga18</anchor>
- <arglist>(FLAC__Metadata_Iterator *iterator, FLAC__Metadata_Chain *chain)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_iterator_next</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga19</anchor>
- <arglist>(FLAC__Metadata_Iterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_iterator_prev</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga20</anchor>
- <arglist>(FLAC__Metadata_Iterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__MetadataType</type>
- <name>FLAC__metadata_iterator_get_block_type</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga21</anchor>
- <arglist>(const FLAC__Metadata_Iterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamMetadata *</type>
- <name>FLAC__metadata_iterator_get_block</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga22</anchor>
- <arglist>(FLAC__Metadata_Iterator *iterator)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_iterator_set_block</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga23</anchor>
- <arglist>(FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_iterator_delete_block</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga24</anchor>
- <arglist>(FLAC__Metadata_Iterator *iterator, FLAC__bool replace_with_padding)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_iterator_insert_block_before</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga25</anchor>
- <arglist>(FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_iterator_insert_block_after</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga26</anchor>
- <arglist>(FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block)</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__Metadata_ChainStatusString</name>
- <anchorfile>group__flac__metadata__level2.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist>[]</arglist>
- </member>
- </compound>
- <compound kind="group">
- <name>flac_metadata_object</name>
- <title>FLAC/metadata.h: metadata object methods</title>
- <filename>group__flac__metadata__object.html</filename>
- <member kind="function">
- <type>FLAC__StreamMetadata *</type>
- <name>FLAC__metadata_object_new</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist>(FLAC__MetadataType type)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamMetadata *</type>
- <name>FLAC__metadata_object_clone</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>(const FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__metadata_object_delete</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist>(FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_is_equal</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist>(const FLAC__StreamMetadata *block1, const FLAC__StreamMetadata *block2)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_application_set_data</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>(FLAC__StreamMetadata *object, FLAC__byte *data, unsigned length, FLAC__bool copy)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_seektable_resize_points</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga5</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned new_num_points)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__metadata_object_seektable_set_point</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga6</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned point_num, FLAC__StreamMetadata_SeekPoint point)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_seektable_insert_point</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned point_num, FLAC__StreamMetadata_SeekPoint point)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_seektable_delete_point</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned point_num)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_seektable_is_legal</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga9</anchor>
- <arglist>(const FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_seektable_template_append_placeholders</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga10</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned num)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_seektable_template_append_point</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga11</anchor>
- <arglist>(FLAC__StreamMetadata *object, FLAC__uint64 sample_number)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_seektable_template_append_points</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga12</anchor>
- <arglist>(FLAC__StreamMetadata *object, FLAC__uint64 sample_numbers[], unsigned num)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_seektable_template_append_spaced_points</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga13</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned num, FLAC__uint64 total_samples)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_seektable_template_append_spaced_points_by_samples</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga14</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned samples, FLAC__uint64 total_samples)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_seektable_template_sort</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga15</anchor>
- <arglist>(FLAC__StreamMetadata *object, FLAC__bool compact)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_vorbiscomment_set_vendor_string</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga16</anchor>
- <arglist>(FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_vorbiscomment_resize_comments</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga17</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned new_num_comments)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_vorbiscomment_set_comment</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga18</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_vorbiscomment_insert_comment</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga19</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_vorbiscomment_append_comment</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga20</anchor>
- <arglist>(FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_vorbiscomment_replace_comment</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga21</anchor>
- <arglist>(FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool all, FLAC__bool copy)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_vorbiscomment_delete_comment</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga22</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned comment_num)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga23</anchor>
- <arglist>(FLAC__StreamMetadata_VorbisComment_Entry *entry, const char *field_name, const char *field_value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga24</anchor>
- <arglist>(const FLAC__StreamMetadata_VorbisComment_Entry entry, char **field_name, char **field_value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_vorbiscomment_entry_matches</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga25</anchor>
- <arglist>(const FLAC__StreamMetadata_VorbisComment_Entry entry, const char *field_name, unsigned field_name_length)</arglist>
- </member>
- <member kind="function">
- <type>int</type>
- <name>FLAC__metadata_object_vorbiscomment_find_entry_from</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga26</anchor>
- <arglist>(const FLAC__StreamMetadata *object, unsigned offset, const char *field_name)</arglist>
- </member>
- <member kind="function">
- <type>int</type>
- <name>FLAC__metadata_object_vorbiscomment_remove_entry_matching</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga27</anchor>
- <arglist>(FLAC__StreamMetadata *object, const char *field_name)</arglist>
- </member>
- <member kind="function">
- <type>int</type>
- <name>FLAC__metadata_object_vorbiscomment_remove_entries_matching</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga28</anchor>
- <arglist>(FLAC__StreamMetadata *object, const char *field_name)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamMetadata_CueSheet_Track *</type>
- <name>FLAC__metadata_object_cuesheet_track_new</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga29</anchor>
- <arglist>(void)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamMetadata_CueSheet_Track *</type>
- <name>FLAC__metadata_object_cuesheet_track_clone</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga30</anchor>
- <arglist>(const FLAC__StreamMetadata_CueSheet_Track *object)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__metadata_object_cuesheet_track_delete</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga31</anchor>
- <arglist>(FLAC__StreamMetadata_CueSheet_Track *object)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_cuesheet_track_resize_indices</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga32</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned track_num, unsigned new_num_indices)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_cuesheet_track_insert_index</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga33</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned track_num, unsigned index_num, FLAC__StreamMetadata_CueSheet_Index index)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_cuesheet_track_insert_blank_index</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga34</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned track_num, unsigned index_num)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_cuesheet_track_delete_index</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga35</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned track_num, unsigned index_num)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_cuesheet_resize_tracks</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga36</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned new_num_tracks)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_cuesheet_insert_track</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga37</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_cuesheet_insert_blank_track</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga38</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned track_num)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_cuesheet_delete_track</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga39</anchor>
- <arglist>(FLAC__StreamMetadata *object, unsigned track_num)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_cuesheet_is_legal</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga40</anchor>
- <arglist>(const FLAC__StreamMetadata *object, FLAC__bool check_cd_da_subset, const char **violation)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__uint32</type>
- <name>FLAC__metadata_object_cuesheet_calculate_cddb_id</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga41</anchor>
- <arglist>(const FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_picture_set_mime_type</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga42</anchor>
- <arglist>(FLAC__StreamMetadata *object, char *mime_type, FLAC__bool copy)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_picture_set_description</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga43</anchor>
- <arglist>(FLAC__StreamMetadata *object, FLAC__byte *description, FLAC__bool copy)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_picture_set_data</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga44</anchor>
- <arglist>(FLAC__StreamMetadata *object, FLAC__byte *data, FLAC__uint32 length, FLAC__bool copy)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__metadata_object_picture_is_legal</name>
- <anchorfile>group__flac__metadata__object.html</anchorfile>
- <anchor>ga45</anchor>
- <arglist>(const FLAC__StreamMetadata *object, const char **violation)</arglist>
- </member>
- </compound>
- <compound kind="group">
- <name>flac_decoder</name>
- <title>FLAC/_decoder.h: decoder interfaces</title>
- <filename>group__flac__decoder.html</filename>
- <subgroup>flac_stream_decoder</subgroup>
- </compound>
- <compound kind="group">
- <name>flac_stream_decoder</name>
- <title>FLAC/stream_decoder.h: stream decoder interface</title>
- <filename>group__flac__stream__decoder.html</filename>
- <class kind="struct">FLAC__StreamDecoder</class>
- <member kind="typedef">
- <type>FLAC__StreamDecoderReadStatus(*</type>
- <name>FLAC__StreamDecoderReadCallback</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist>)(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__StreamDecoderSeekStatus(*</type>
- <name>FLAC__StreamDecoderSeekCallback</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga9</anchor>
- <arglist>)(const FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__StreamDecoderTellStatus(*</type>
- <name>FLAC__StreamDecoderTellCallback</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga10</anchor>
- <arglist>)(const FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__StreamDecoderLengthStatus(*</type>
- <name>FLAC__StreamDecoderLengthCallback</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga11</anchor>
- <arglist>)(const FLAC__StreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__bool(*</type>
- <name>FLAC__StreamDecoderEofCallback</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga12</anchor>
- <arglist>)(const FLAC__StreamDecoder *decoder, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__StreamDecoderWriteStatus(*</type>
- <name>FLAC__StreamDecoderWriteCallback</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga13</anchor>
- <arglist>)(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 *const buffer[], void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>void(*</type>
- <name>FLAC__StreamDecoderMetadataCallback</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga14</anchor>
- <arglist>)(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>void(*</type>
- <name>FLAC__StreamDecoderErrorCallback</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga15</anchor>
- <arglist>)(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)</arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamDecoderState</name>
- <anchor>ga50</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_SEARCH_FOR_METADATA</name>
- <anchor>gga50a16</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_READ_METADATA</name>
- <anchor>gga50a17</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC</name>
- <anchor>gga50a18</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_READ_FRAME</name>
- <anchor>gga50a19</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_END_OF_STREAM</name>
- <anchor>gga50a20</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_OGG_ERROR</name>
- <anchor>gga50a21</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_SEEK_ERROR</name>
- <anchor>gga50a22</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_ABORTED</name>
- <anchor>gga50a23</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR</name>
- <anchor>gga50a24</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_UNINITIALIZED</name>
- <anchor>gga50a25</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamDecoderInitStatus</name>
- <anchor>ga51</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_INIT_STATUS_OK</name>
- <anchor>gga51a26</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER</name>
- <anchor>gga51a27</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS</name>
- <anchor>gga51a28</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_INIT_STATUS_MEMORY_ALLOCATION_ERROR</name>
- <anchor>gga51a29</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FILE</name>
- <anchor>gga51a30</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED</name>
- <anchor>gga51a31</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamDecoderReadStatus</name>
- <anchor>ga52</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_READ_STATUS_CONTINUE</name>
- <anchor>gga52a32</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM</name>
- <anchor>gga52a33</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_READ_STATUS_ABORT</name>
- <anchor>gga52a34</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamDecoderSeekStatus</name>
- <anchor>ga53</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_SEEK_STATUS_OK</name>
- <anchor>gga53a35</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_SEEK_STATUS_ERROR</name>
- <anchor>gga53a36</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED</name>
- <anchor>gga53a37</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamDecoderTellStatus</name>
- <anchor>ga54</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_TELL_STATUS_OK</name>
- <anchor>gga54a38</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_TELL_STATUS_ERROR</name>
- <anchor>gga54a39</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED</name>
- <anchor>gga54a40</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamDecoderLengthStatus</name>
- <anchor>ga55</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_LENGTH_STATUS_OK</name>
- <anchor>gga55a41</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR</name>
- <anchor>gga55a42</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_LENGTH_STATUS_UNSUPPORTED</name>
- <anchor>gga55a43</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamDecoderWriteStatus</name>
- <anchor>ga56</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE</name>
- <anchor>gga56a44</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_WRITE_STATUS_ABORT</name>
- <anchor>gga56a45</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamDecoderErrorStatus</name>
- <anchor>ga57</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC</name>
- <anchor>gga57a46</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER</name>
- <anchor>gga57a47</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH</name>
- <anchor>gga57a48</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM</name>
- <anchor>gga57a49</anchor>
- <arglist></arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamDecoder *</type>
- <name>FLAC__stream_decoder_new</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga16</anchor>
- <arglist>(void)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__stream_decoder_delete</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga17</anchor>
- <arglist>(FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_set_ogg_serial_number</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga18</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, long serial_number)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_set_md5_checking</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga19</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, FLAC__bool value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_set_metadata_respond</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga20</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, FLAC__MetadataType type)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_set_metadata_respond_application</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga21</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, const FLAC__byte id[4])</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_set_metadata_respond_all</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga22</anchor>
- <arglist>(FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_set_metadata_ignore</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga23</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, FLAC__MetadataType type)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_set_metadata_ignore_application</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga24</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, const FLAC__byte id[4])</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_set_metadata_ignore_all</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga25</anchor>
- <arglist>(FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamDecoderState</type>
- <name>FLAC__stream_decoder_get_state</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga26</anchor>
- <arglist>(const FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>const char *</type>
- <name>FLAC__stream_decoder_get_resolved_state_string</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga27</anchor>
- <arglist>(const FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_get_md5_checking</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga28</anchor>
- <arglist>(const FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__uint64</type>
- <name>FLAC__stream_decoder_get_total_samples</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga29</anchor>
- <arglist>(const FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_decoder_get_channels</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga30</anchor>
- <arglist>(const FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__ChannelAssignment</type>
- <name>FLAC__stream_decoder_get_channel_assignment</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga31</anchor>
- <arglist>(const FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_decoder_get_bits_per_sample</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga32</anchor>
- <arglist>(const FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_decoder_get_sample_rate</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga33</anchor>
- <arglist>(const FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_decoder_get_blocksize</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga34</anchor>
- <arglist>(const FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_get_decode_position</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga35</anchor>
- <arglist>(const FLAC__StreamDecoder *decoder, FLAC__uint64 *position)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamDecoderInitStatus</type>
- <name>FLAC__stream_decoder_init_stream</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga36</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, FLAC__StreamDecoderReadCallback read_callback, FLAC__StreamDecoderSeekCallback seek_callback, FLAC__StreamDecoderTellCallback tell_callback, FLAC__StreamDecoderLengthCallback length_callback, FLAC__StreamDecoderEofCallback eof_callback, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamDecoderInitStatus</type>
- <name>FLAC__stream_decoder_init_ogg_stream</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga37</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, FLAC__StreamDecoderReadCallback read_callback, FLAC__StreamDecoderSeekCallback seek_callback, FLAC__StreamDecoderTellCallback tell_callback, FLAC__StreamDecoderLengthCallback length_callback, FLAC__StreamDecoderEofCallback eof_callback, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamDecoderInitStatus</type>
- <name>FLAC__stream_decoder_init_FILE</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga38</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, FILE *file, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamDecoderInitStatus</type>
- <name>FLAC__stream_decoder_init_ogg_FILE</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga39</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, FILE *file, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamDecoderInitStatus</type>
- <name>FLAC__stream_decoder_init_file</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga40</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, const char *filename, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamDecoderInitStatus</type>
- <name>FLAC__stream_decoder_init_ogg_file</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga41</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, const char *filename, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_finish</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga42</anchor>
- <arglist>(FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_flush</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga43</anchor>
- <arglist>(FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_reset</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga44</anchor>
- <arglist>(FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_process_single</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga45</anchor>
- <arglist>(FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_process_until_end_of_metadata</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga46</anchor>
- <arglist>(FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_process_until_end_of_stream</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga47</anchor>
- <arglist>(FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_skip_single_frame</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga48</anchor>
- <arglist>(FLAC__StreamDecoder *decoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_decoder_seek_absolute</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga49</anchor>
- <arglist>(FLAC__StreamDecoder *decoder, FLAC__uint64 sample)</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamDecoderStateString</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamDecoderInitStatusString</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamDecoderReadStatusString</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamDecoderSeekStatusString</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamDecoderTellStatusString</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamDecoderLengthStatusString</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga5</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamDecoderWriteStatusString</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga6</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamDecoderErrorStatusString</name>
- <anchorfile>group__flac__stream__decoder.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist>[]</arglist>
- </member>
- </compound>
- <compound kind="group">
- <name>flac_encoder</name>
- <title>FLAC/_encoder.h: encoder interfaces</title>
- <filename>group__flac__encoder.html</filename>
- <subgroup>flac_stream_encoder</subgroup>
- </compound>
- <compound kind="group">
- <name>flac_stream_encoder</name>
- <title>FLAC/stream_encoder.h: stream encoder interface</title>
- <filename>group__flac__stream__encoder.html</filename>
- <class kind="struct">FLAC__StreamEncoder</class>
- <member kind="typedef">
- <type>FLAC__StreamEncoderReadStatus(*</type>
- <name>FLAC__StreamEncoderReadCallback</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga6</anchor>
- <arglist>)(const FLAC__StreamEncoder *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__StreamEncoderWriteStatus(*</type>
- <name>FLAC__StreamEncoderWriteCallback</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist>)(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__StreamEncoderSeekStatus(*</type>
- <name>FLAC__StreamEncoderSeekCallback</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist>)(const FLAC__StreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>FLAC__StreamEncoderTellStatus(*</type>
- <name>FLAC__StreamEncoderTellCallback</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga9</anchor>
- <arglist>)(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>void(*</type>
- <name>FLAC__StreamEncoderMetadataCallback</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga10</anchor>
- <arglist>)(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetadata *metadata, void *client_data)</arglist>
- </member>
- <member kind="typedef">
- <type>void(*</type>
- <name>FLAC__StreamEncoderProgressCallback</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga11</anchor>
- <arglist>)(const FLAC__StreamEncoder *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate, void *client_data)</arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamEncoderState</name>
- <anchor>ga65</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_OK</name>
- <anchor>gga65a12</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_UNINITIALIZED</name>
- <anchor>gga65a13</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_OGG_ERROR</name>
- <anchor>gga65a14</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR</name>
- <anchor>gga65a15</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA</name>
- <anchor>gga65a16</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_CLIENT_ERROR</name>
- <anchor>gga65a17</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_IO_ERROR</name>
- <anchor>gga65a18</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_FRAMING_ERROR</name>
- <anchor>gga65a19</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR</name>
- <anchor>gga65a20</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamEncoderInitStatus</name>
- <anchor>ga66</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_OK</name>
- <anchor>gga66a21</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR</name>
- <anchor>gga66a22</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_UNSUPPORTED_CONTAINER</name>
- <anchor>gga66a23</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS</name>
- <anchor>gga66a24</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_NUMBER_OF_CHANNELS</name>
- <anchor>gga66a25</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BITS_PER_SAMPLE</name>
- <anchor>gga66a26</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_SAMPLE_RATE</name>
- <anchor>gga66a27</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BLOCK_SIZE</name>
- <anchor>gga66a28</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_MAX_LPC_ORDER</name>
- <anchor>gga66a29</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_QLP_COEFF_PRECISION</name>
- <anchor>gga66a30</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_BLOCK_SIZE_TOO_SMALL_FOR_LPC_ORDER</name>
- <anchor>gga66a31</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE</name>
- <anchor>gga66a32</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_METADATA</name>
- <anchor>gga66a33</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_INIT_STATUS_ALREADY_INITIALIZED</name>
- <anchor>gga66a34</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamEncoderReadStatus</name>
- <anchor>ga67</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_READ_STATUS_CONTINUE</name>
- <anchor>gga67a35</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_READ_STATUS_END_OF_STREAM</name>
- <anchor>gga67a36</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_READ_STATUS_ABORT</name>
- <anchor>gga67a37</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_READ_STATUS_UNSUPPORTED</name>
- <anchor>gga67a38</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamEncoderWriteStatus</name>
- <anchor>ga68</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_WRITE_STATUS_OK</name>
- <anchor>gga68a39</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR</name>
- <anchor>gga68a40</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamEncoderSeekStatus</name>
- <anchor>ga69</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_SEEK_STATUS_OK</name>
- <anchor>gga69a41</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR</name>
- <anchor>gga69a42</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_SEEK_STATUS_UNSUPPORTED</name>
- <anchor>gga69a43</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumeration">
- <name>FLAC__StreamEncoderTellStatus</name>
- <anchor>ga70</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_TELL_STATUS_OK</name>
- <anchor>gga70a44</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_TELL_STATUS_ERROR</name>
- <anchor>gga70a45</anchor>
- <arglist></arglist>
- </member>
- <member kind="enumvalue">
- <name>FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED</name>
- <anchor>gga70a46</anchor>
- <arglist></arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamEncoder *</type>
- <name>FLAC__stream_encoder_new</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga12</anchor>
- <arglist>(void)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__stream_encoder_delete</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga13</anchor>
- <arglist>(FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_ogg_serial_number</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga14</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, long serial_number)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_verify</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga15</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__bool value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_streamable_subset</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga16</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__bool value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_channels</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga17</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_bits_per_sample</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga18</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_sample_rate</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga19</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_compression_level</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga20</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_blocksize</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga21</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_do_mid_side_stereo</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga22</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__bool value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_loose_mid_side_stereo</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga23</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__bool value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_apodization</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga24</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, const char *specification)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_max_lpc_order</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga25</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_qlp_coeff_precision</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga26</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_do_qlp_coeff_prec_search</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga27</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__bool value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_do_escape_coding</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga28</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__bool value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_do_exhaustive_model_search</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga29</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__bool value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_min_residual_partition_order</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga30</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_max_residual_partition_order</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga31</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_rice_parameter_search_dist</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga32</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_total_samples_estimate</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga33</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__uint64 value)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_set_metadata</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga34</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__StreamMetadata **metadata, unsigned num_blocks)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamEncoderState</type>
- <name>FLAC__stream_encoder_get_state</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga35</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamDecoderState</type>
- <name>FLAC__stream_encoder_get_verify_decoder_state</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga36</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>const char *</type>
- <name>FLAC__stream_encoder_get_resolved_state_string</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga37</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>FLAC__stream_encoder_get_verify_decoder_error_stats</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga38</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_sample, unsigned *frame_number, unsigned *channel, unsigned *sample, FLAC__int32 *expected, FLAC__int32 *got)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_get_verify</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga39</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_get_streamable_subset</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga40</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_encoder_get_channels</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga41</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_encoder_get_bits_per_sample</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga42</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_encoder_get_sample_rate</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga43</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_encoder_get_blocksize</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga44</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_get_do_mid_side_stereo</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga45</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_get_loose_mid_side_stereo</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga46</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_encoder_get_max_lpc_order</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga47</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_encoder_get_qlp_coeff_precision</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga48</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_get_do_qlp_coeff_prec_search</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga49</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_get_do_escape_coding</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga50</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_get_do_exhaustive_model_search</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga51</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_encoder_get_min_residual_partition_order</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga52</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_encoder_get_max_residual_partition_order</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga53</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>FLAC__stream_encoder_get_rice_parameter_search_dist</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga54</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__uint64</type>
- <name>FLAC__stream_encoder_get_total_samples_estimate</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga55</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamEncoderInitStatus</type>
- <name>FLAC__stream_encoder_init_stream</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga56</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__StreamEncoderWriteCallback write_callback, FLAC__StreamEncoderSeekCallback seek_callback, FLAC__StreamEncoderTellCallback tell_callback, FLAC__StreamEncoderMetadataCallback metadata_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamEncoderInitStatus</type>
- <name>FLAC__stream_encoder_init_ogg_stream</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga57</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FLAC__StreamEncoderReadCallback read_callback, FLAC__StreamEncoderWriteCallback write_callback, FLAC__StreamEncoderSeekCallback seek_callback, FLAC__StreamEncoderTellCallback tell_callback, FLAC__StreamEncoderMetadataCallback metadata_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamEncoderInitStatus</type>
- <name>FLAC__stream_encoder_init_FILE</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga58</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FILE *file, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamEncoderInitStatus</type>
- <name>FLAC__stream_encoder_init_ogg_FILE</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga59</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, FILE *file, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamEncoderInitStatus</type>
- <name>FLAC__stream_encoder_init_file</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga60</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, const char *filename, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__StreamEncoderInitStatus</type>
- <name>FLAC__stream_encoder_init_ogg_file</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga61</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, const char *filename, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_finish</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga62</anchor>
- <arglist>(FLAC__StreamEncoder *encoder)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_process</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga63</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, const FLAC__int32 *const buffer[], unsigned samples)</arglist>
- </member>
- <member kind="function">
- <type>FLAC__bool</type>
- <name>FLAC__stream_encoder_process_interleaved</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga64</anchor>
- <arglist>(FLAC__StreamEncoder *encoder, const FLAC__int32 buffer[], unsigned samples)</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamEncoderStateString</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamEncoderInitStatusString</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamEncoderReadStatusString</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamEncoderWriteStatusString</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamEncoderSeekStatusString</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>[]</arglist>
- </member>
- <member kind="variable">
- <type>const char *const</type>
- <name>FLAC__StreamEncoderTellStatusString</name>
- <anchorfile>group__flac__stream__encoder.html</anchorfile>
- <anchor>ga5</anchor>
- <arglist>[]</arglist>
- </member>
- </compound>
- <compound kind="group">
- <name>flacpp</name>
- <title>FLAC C++ API</title>
- <filename>group__flacpp.html</filename>
- <subgroup>flacpp_decoder</subgroup>
- <subgroup>flacpp_encoder</subgroup>
- <subgroup>flacpp_export</subgroup>
- <subgroup>flacpp_metadata</subgroup>
- </compound>
- <compound kind="group">
- <name>flacpp_decoder</name>
- <title>FLAC++/decoder.h: decoder classes</title>
- <filename>group__flacpp__decoder.html</filename>
- <class kind="class">FLAC::Decoder::Stream</class>
- <class kind="class">FLAC::Decoder::File</class>
- </compound>
- <compound kind="group">
- <name>flacpp_encoder</name>
- <title>FLAC++/encoder.h: encoder classes</title>
- <filename>group__flacpp__encoder.html</filename>
- <class kind="class">FLAC::Encoder::Stream</class>
- <class kind="class">FLAC::Encoder::File</class>
- </compound>
- <compound kind="group">
- <name>flacpp_export</name>
- <title>FLAC++/export.h: export symbols</title>
- <filename>group__flacpp__export.html</filename>
- <member kind="define">
- <type>#define</type>
- <name>FLACPP_API</name>
- <anchorfile>group__flacpp__export.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLACPP_API_VERSION_CURRENT</name>
- <anchorfile>group__flacpp__export.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLACPP_API_VERSION_REVISION</name>
- <anchorfile>group__flacpp__export.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist></arglist>
- </member>
- <member kind="define">
- <type>#define</type>
- <name>FLACPP_API_VERSION_AGE</name>
- <anchorfile>group__flacpp__export.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="group">
- <name>flacpp_metadata</name>
- <title>FLAC++/metadata.h: metadata interfaces</title>
- <filename>group__flacpp__metadata.html</filename>
- <subgroup>flacpp_metadata_object</subgroup>
- <subgroup>flacpp_metadata_level0</subgroup>
- <subgroup>flacpp_metadata_level1</subgroup>
- <subgroup>flacpp_metadata_level2</subgroup>
- </compound>
- <compound kind="group">
- <name>flacpp_metadata_object</name>
- <title>FLAC++/metadata.h: metadata object classes</title>
- <filename>group__flacpp__metadata__object.html</filename>
- <class kind="class">FLAC::Metadata::Prototype</class>
- <class kind="class">FLAC::Metadata::StreamInfo</class>
- <class kind="class">FLAC::Metadata::Padding</class>
- <class kind="class">FLAC::Metadata::Application</class>
- <class kind="class">FLAC::Metadata::SeekTable</class>
- <class kind="class">FLAC::Metadata::VorbisComment</class>
- <class kind="class">FLAC::Metadata::CueSheet</class>
- <class kind="class">FLAC::Metadata::Picture</class>
- <class kind="class">FLAC::Metadata::Unknown</class>
- <member kind="function">
- <type>Prototype *</type>
- <name>clone</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist>(const Prototype *)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>(const Prototype &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist>(const ::FLAC__StreamMetadata *) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>(const Prototype &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga5</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga6</anchor>
- <arglist>(const ::FLAC__StreamMetadata *) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>is_valid</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>operator const ::FLAC__StreamMetadata *</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist>() const </arglist>
- </member>
- </compound>
- <compound kind="group">
- <name>flacpp_metadata_level0</name>
- <title>FLAC++/metadata.h: metadata level 0 interface</title>
- <filename>group__flacpp__metadata__level0.html</filename>
- <member kind="function">
- <type>bool</type>
- <name>get_streaminfo</name>
- <anchorfile>group__flacpp__metadata__level0.html</anchorfile>
- <anchor>ga0</anchor>
- <arglist>(const char *filename, StreamInfo &amp;streaminfo)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_tags</name>
- <anchorfile>group__flacpp__metadata__level0.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>(const char *filename, VorbisComment *&amp;tags)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_tags</name>
- <anchorfile>group__flacpp__metadata__level0.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist>(const char *filename, VorbisComment &amp;tags)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_cuesheet</name>
- <anchorfile>group__flacpp__metadata__level0.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist>(const char *filename, CueSheet *&amp;cuesheet)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_cuesheet</name>
- <anchorfile>group__flacpp__metadata__level0.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>(const char *filename, CueSheet &amp;cuesheet)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_picture</name>
- <anchorfile>group__flacpp__metadata__level0.html</anchorfile>
- <anchor>ga5</anchor>
- <arglist>(const char *filename, Picture *&amp;picture,::FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, unsigned max_width, unsigned max_height, unsigned max_depth, unsigned max_colors)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_picture</name>
- <anchorfile>group__flacpp__metadata__level0.html</anchorfile>
- <anchor>ga6</anchor>
- <arglist>(const char *filename, Picture &amp;picture,::FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, unsigned max_width, unsigned max_height, unsigned max_depth, unsigned max_colors)</arglist>
- </member>
- </compound>
- <compound kind="group">
- <name>flacpp_metadata_level1</name>
- <title>FLAC++/metadata.h: metadata level 1 interface</title>
- <filename>group__flacpp__metadata__level1.html</filename>
- <class kind="class">FLAC::Metadata::SimpleIterator</class>
- </compound>
- <compound kind="group">
- <name>flacpp_metadata_level2</name>
- <title>FLAC++/metadata.h: metadata level 2 interface</title>
- <filename>group__flacpp__metadata__level2.html</filename>
- <class kind="class">FLAC::Metadata::Chain</class>
- <class kind="class">FLAC::Metadata::Iterator</class>
- </compound>
- <compound kind="dir">
- <name>include/FLAC/</name>
- <path>/home/jcoalson/flac/build-1.2.1/include/FLAC/</path>
- <filename>dir_000002.html</filename>
- <file>all.h</file>
- <file>assert.h</file>
- <file>callback.h</file>
- <file>export.h</file>
- <file>format.h</file>
- <file>metadata.h</file>
- <file>ordinals.h</file>
- <file>stream_decoder.h</file>
- <file>stream_encoder.h</file>
- </compound>
- <compound kind="dir">
- <name>include/FLAC++/</name>
- <path>/home/jcoalson/flac/build-1.2.1/include/FLAC++/</path>
- <filename>dir_000001.html</filename>
- <file>all.h</file>
- <file>decoder.h</file>
- <file>encoder.h</file>
- <file>export.h</file>
- <file>metadata.h</file>
- </compound>
- <compound kind="dir">
- <name>include/</name>
- <path>/home/jcoalson/flac/build-1.2.1/include/</path>
- <filename>dir_000000.html</filename>
- <dir>include/FLAC/</dir>
- <dir>include/FLAC++/</dir>
- </compound>
- <compound kind="class">
- <name>FLAC::Decoder::Stream</name>
- <filename>classFLAC_1_1Decoder_1_1Stream.html</filename>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>is_valid</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama2</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>operator bool</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama3</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_ogg_serial_number</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama4</anchor>
- <arglist>(long value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_md5_checking</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama5</anchor>
- <arglist>(bool value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_metadata_respond</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama6</anchor>
- <arglist>(::FLAC__MetadataType type)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_metadata_respond_application</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama7</anchor>
- <arglist>(const FLAC__byte id[4])</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_metadata_respond_all</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama8</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_metadata_ignore</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama9</anchor>
- <arglist>(::FLAC__MetadataType type)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_metadata_ignore_application</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama10</anchor>
- <arglist>(const FLAC__byte id[4])</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_metadata_ignore_all</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama11</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function">
- <type>State</type>
- <name>get_state</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama12</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>get_md5_checking</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama13</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual FLAC__uint64</type>
- <name>get_total_samples</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama14</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_channels</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama15</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual ::FLAC__ChannelAssignment</type>
- <name>get_channel_assignment</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama16</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_bits_per_sample</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama17</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_sample_rate</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama18</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_blocksize</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama19</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>get_decode_position</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama20</anchor>
- <arglist>(FLAC__uint64 *position) const </arglist>
- </member>
- <member kind="function">
- <type>virtual ::FLAC__StreamDecoderInitStatus</type>
- <name>init</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama21</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual ::FLAC__StreamDecoderInitStatus</type>
- <name>init_ogg</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama22</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>finish</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama23</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>flush</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama24</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>reset</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama25</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>process_single</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama26</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>process_until_end_of_metadata</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama27</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>process_until_end_of_stream</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama28</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>skip_single_frame</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama29</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>seek_absolute</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama30</anchor>
- <arglist>(FLAC__uint64 sample)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="pure">
- <type>virtual ::FLAC__StreamDecoderReadStatus</type>
- <name>read_callback</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamb0</anchor>
- <arglist>(FLAC__byte buffer[], size_t *bytes)=0</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual ::FLAC__StreamDecoderSeekStatus</type>
- <name>seek_callback</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamb1</anchor>
- <arglist>(FLAC__uint64 absolute_byte_offset)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual ::FLAC__StreamDecoderTellStatus</type>
- <name>tell_callback</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamb2</anchor>
- <arglist>(FLAC__uint64 *absolute_byte_offset)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual ::FLAC__StreamDecoderLengthStatus</type>
- <name>length_callback</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamb3</anchor>
- <arglist>(FLAC__uint64 *stream_length)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual bool</type>
- <name>eof_callback</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamb4</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="pure">
- <type>virtual ::FLAC__StreamDecoderWriteStatus</type>
- <name>write_callback</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamb5</anchor>
- <arglist>(const ::FLAC__Frame *frame, const FLAC__int32 *const buffer[])=0</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual void</type>
- <name>metadata_callback</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamb6</anchor>
- <arglist>(const ::FLAC__StreamMetadata *metadata)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="pure">
- <type>virtual void</type>
- <name>error_callback</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamb7</anchor>
- <arglist>(::FLAC__StreamDecoderErrorStatus status)=0</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>::FLAC__StreamDecoderReadStatus</type>
- <name>read_callback_</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamf0</anchor>
- <arglist>(const ::FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>::FLAC__StreamDecoderSeekStatus</type>
- <name>seek_callback_</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamf1</anchor>
- <arglist>(const ::FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>::FLAC__StreamDecoderTellStatus</type>
- <name>tell_callback_</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamf2</anchor>
- <arglist>(const ::FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>::FLAC__StreamDecoderLengthStatus</type>
- <name>length_callback_</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamf3</anchor>
- <arglist>(const ::FLAC__StreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>static FLAC__bool</type>
- <name>eof_callback_</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamf4</anchor>
- <arglist>(const ::FLAC__StreamDecoder *decoder, void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>::FLAC__StreamDecoderWriteStatus</type>
- <name>write_callback_</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamf5</anchor>
- <arglist>(const ::FLAC__StreamDecoder *decoder, const ::FLAC__Frame *frame, const FLAC__int32 *const buffer[], void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>static void</type>
- <name>metadata_callback_</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamf6</anchor>
- <arglist>(const ::FLAC__StreamDecoder *decoder, const ::FLAC__StreamMetadata *metadata, void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>static void</type>
- <name>error_callback_</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamf7</anchor>
- <arglist>(const ::FLAC__StreamDecoder *decoder,::FLAC__StreamDecoderErrorStatus status, void *client_data)</arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__StreamDecoder *</type>
- <name>decoder_</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamp0</anchor>
- <arglist></arglist>
- </member>
- <class kind="class">FLAC::Decoder::Stream::State</class>
- </compound>
- <compound kind="class">
- <name>FLAC::Decoder::Stream::State</name>
- <filename>classFLAC_1_1Decoder_1_1Stream_1_1State.html</filename>
- <member kind="function">
- <type></type>
- <name>State</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream_1_1State.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Stream_1_1Statea0</anchor>
- <arglist>(::FLAC__StreamDecoderState state)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>operator::FLAC__StreamDecoderState</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream_1_1State.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Stream_1_1Statea1</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>const char *</type>
- <name>as_cstring</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream_1_1State.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Stream_1_1Statea2</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>const char *</type>
- <name>resolved_as_cstring</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream_1_1State.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Stream_1_1Statea3</anchor>
- <arglist>(const Stream &amp;decoder) const </arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__StreamDecoderState</type>
- <name>state_</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream_1_1State.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Stream_1_1Statep0</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="class">
- <name>FLAC::Decoder::File</name>
- <filename>classFLAC_1_1Decoder_1_1File.html</filename>
- <base>FLAC::Decoder::Stream</base>
- <member kind="function">
- <type>virtual ::FLAC__StreamDecoderInitStatus</type>
- <name>init</name>
- <anchorfile>classFLAC_1_1Decoder_1_1File.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Filea2</anchor>
- <arglist>(FILE *file)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual ::FLAC__StreamDecoderInitStatus</type>
- <name>init</name>
- <anchorfile>classFLAC_1_1Decoder_1_1File.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Filea3</anchor>
- <arglist>(const char *filename)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual ::FLAC__StreamDecoderInitStatus</type>
- <name>init</name>
- <anchorfile>classFLAC_1_1Decoder_1_1File.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Filea4</anchor>
- <arglist>(const std::string &amp;filename)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual ::FLAC__StreamDecoderInitStatus</type>
- <name>init_ogg</name>
- <anchorfile>classFLAC_1_1Decoder_1_1File.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Filea5</anchor>
- <arglist>(FILE *file)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual ::FLAC__StreamDecoderInitStatus</type>
- <name>init_ogg</name>
- <anchorfile>classFLAC_1_1Decoder_1_1File.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Filea6</anchor>
- <arglist>(const char *filename)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual ::FLAC__StreamDecoderInitStatus</type>
- <name>init_ogg</name>
- <anchorfile>classFLAC_1_1Decoder_1_1File.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Filea7</anchor>
- <arglist>(const std::string &amp;filename)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>is_valid</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama2</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>operator bool</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama3</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_ogg_serial_number</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama4</anchor>
- <arglist>(long value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_md5_checking</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama5</anchor>
- <arglist>(bool value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_metadata_respond</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama6</anchor>
- <arglist>(::FLAC__MetadataType type)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_metadata_respond_application</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama7</anchor>
- <arglist>(const FLAC__byte id[4])</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_metadata_respond_all</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama8</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_metadata_ignore</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama9</anchor>
- <arglist>(::FLAC__MetadataType type)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_metadata_ignore_application</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama10</anchor>
- <arglist>(const FLAC__byte id[4])</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_metadata_ignore_all</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama11</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function">
- <type>State</type>
- <name>get_state</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama12</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>get_md5_checking</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama13</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual FLAC__uint64</type>
- <name>get_total_samples</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama14</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_channels</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama15</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual ::FLAC__ChannelAssignment</type>
- <name>get_channel_assignment</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama16</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_bits_per_sample</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama17</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_sample_rate</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama18</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_blocksize</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama19</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>get_decode_position</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama20</anchor>
- <arglist>(FLAC__uint64 *position) const </arglist>
- </member>
- <member kind="function">
- <type>virtual ::FLAC__StreamDecoderInitStatus</type>
- <name>init</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama21</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual ::FLAC__StreamDecoderInitStatus</type>
- <name>init_ogg</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama22</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>finish</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama23</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>flush</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama24</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>reset</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama25</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>process_single</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama26</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>process_until_end_of_metadata</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama27</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>process_until_end_of_stream</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama28</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>skip_single_frame</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama29</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>seek_absolute</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streama30</anchor>
- <arglist>(FLAC__uint64 sample)</arglist>
- </member>
- <member kind="function" protection="protected">
- <type>virtual ::FLAC__StreamDecoderReadStatus</type>
- <name>read_callback</name>
- <anchorfile>classFLAC_1_1Decoder_1_1File.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Fileb0</anchor>
- <arglist>(FLAC__byte buffer[], size_t *bytes)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual ::FLAC__StreamDecoderSeekStatus</type>
- <name>seek_callback</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamb1</anchor>
- <arglist>(FLAC__uint64 absolute_byte_offset)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual ::FLAC__StreamDecoderTellStatus</type>
- <name>tell_callback</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamb2</anchor>
- <arglist>(FLAC__uint64 *absolute_byte_offset)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual ::FLAC__StreamDecoderLengthStatus</type>
- <name>length_callback</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamb3</anchor>
- <arglist>(FLAC__uint64 *stream_length)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual bool</type>
- <name>eof_callback</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamb4</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="pure">
- <type>virtual ::FLAC__StreamDecoderWriteStatus</type>
- <name>write_callback</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamb5</anchor>
- <arglist>(const ::FLAC__Frame *frame, const FLAC__int32 *const buffer[])=0</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual void</type>
- <name>metadata_callback</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamb6</anchor>
- <arglist>(const ::FLAC__StreamMetadata *metadata)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="pure">
- <type>virtual void</type>
- <name>error_callback</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamb7</anchor>
- <arglist>(::FLAC__StreamDecoderErrorStatus status)=0</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>::FLAC__StreamDecoderReadStatus</type>
- <name>read_callback_</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamf0</anchor>
- <arglist>(const ::FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>::FLAC__StreamDecoderSeekStatus</type>
- <name>seek_callback_</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamf1</anchor>
- <arglist>(const ::FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>::FLAC__StreamDecoderTellStatus</type>
- <name>tell_callback_</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamf2</anchor>
- <arglist>(const ::FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>::FLAC__StreamDecoderLengthStatus</type>
- <name>length_callback_</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamf3</anchor>
- <arglist>(const ::FLAC__StreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>static FLAC__bool</type>
- <name>eof_callback_</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamf4</anchor>
- <arglist>(const ::FLAC__StreamDecoder *decoder, void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>::FLAC__StreamDecoderWriteStatus</type>
- <name>write_callback_</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamf5</anchor>
- <arglist>(const ::FLAC__StreamDecoder *decoder, const ::FLAC__Frame *frame, const FLAC__int32 *const buffer[], void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>static void</type>
- <name>metadata_callback_</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamf6</anchor>
- <arglist>(const ::FLAC__StreamDecoder *decoder, const ::FLAC__StreamMetadata *metadata, void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>static void</type>
- <name>error_callback_</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamf7</anchor>
- <arglist>(const ::FLAC__StreamDecoder *decoder,::FLAC__StreamDecoderErrorStatus status, void *client_data)</arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__StreamDecoder *</type>
- <name>decoder_</name>
- <anchorfile>classFLAC_1_1Decoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Decoder_1_1Streamp0</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="class">
- <name>FLAC::Encoder::Stream</name>
- <filename>classFLAC_1_1Encoder_1_1Stream.html</filename>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>is_valid</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama2</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>operator bool</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama3</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_ogg_serial_number</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama4</anchor>
- <arglist>(long value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_verify</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama5</anchor>
- <arglist>(bool value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_streamable_subset</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama6</anchor>
- <arglist>(bool value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_channels</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama7</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_bits_per_sample</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama8</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_sample_rate</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama9</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_compression_level</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama10</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_blocksize</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama11</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_do_mid_side_stereo</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama12</anchor>
- <arglist>(bool value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_loose_mid_side_stereo</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama13</anchor>
- <arglist>(bool value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_apodization</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama14</anchor>
- <arglist>(const char *specification)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_max_lpc_order</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama15</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_qlp_coeff_precision</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama16</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_do_qlp_coeff_prec_search</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama17</anchor>
- <arglist>(bool value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_do_escape_coding</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama18</anchor>
- <arglist>(bool value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_do_exhaustive_model_search</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama19</anchor>
- <arglist>(bool value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_min_residual_partition_order</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama20</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_max_residual_partition_order</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama21</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_rice_parameter_search_dist</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama22</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_total_samples_estimate</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama23</anchor>
- <arglist>(FLAC__uint64 value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_metadata</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama24</anchor>
- <arglist>(::FLAC__StreamMetadata **metadata, unsigned num_blocks)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_metadata</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama25</anchor>
- <arglist>(FLAC::Metadata::Prototype **metadata, unsigned num_blocks)</arglist>
- </member>
- <member kind="function">
- <type>State</type>
- <name>get_state</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama26</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual Decoder::Stream::State</type>
- <name>get_verify_decoder_state</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama27</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual void</type>
- <name>get_verify_decoder_error_stats</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama28</anchor>
- <arglist>(FLAC__uint64 *absolute_sample, unsigned *frame_number, unsigned *channel, unsigned *sample, FLAC__int32 *expected, FLAC__int32 *got)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>get_verify</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama29</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>get_streamable_subset</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama30</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>get_do_mid_side_stereo</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama31</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>get_loose_mid_side_stereo</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama32</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_channels</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama33</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_bits_per_sample</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama34</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_sample_rate</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama35</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_blocksize</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama36</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_max_lpc_order</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama37</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_qlp_coeff_precision</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama38</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>get_do_qlp_coeff_prec_search</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama39</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>get_do_escape_coding</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama40</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>get_do_exhaustive_model_search</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama41</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_min_residual_partition_order</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama42</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_max_residual_partition_order</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama43</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_rice_parameter_search_dist</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama44</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual FLAC__uint64</type>
- <name>get_total_samples_estimate</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama45</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>virtual ::FLAC__StreamEncoderInitStatus</type>
- <name>init</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama46</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual ::FLAC__StreamEncoderInitStatus</type>
- <name>init_ogg</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama47</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>finish</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama48</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>process</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama49</anchor>
- <arglist>(const FLAC__int32 *const buffer[], unsigned samples)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>process_interleaved</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama50</anchor>
- <arglist>(const FLAC__int32 buffer[], unsigned samples)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual ::FLAC__StreamEncoderReadStatus</type>
- <name>read_callback</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamb0</anchor>
- <arglist>(FLAC__byte buffer[], size_t *bytes)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="pure">
- <type>virtual ::FLAC__StreamEncoderWriteStatus</type>
- <name>write_callback</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamb1</anchor>
- <arglist>(const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame)=0</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual ::FLAC__StreamEncoderSeekStatus</type>
- <name>seek_callback</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamb2</anchor>
- <arglist>(FLAC__uint64 absolute_byte_offset)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual ::FLAC__StreamEncoderTellStatus</type>
- <name>tell_callback</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamb3</anchor>
- <arglist>(FLAC__uint64 *absolute_byte_offset)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual void</type>
- <name>metadata_callback</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamb4</anchor>
- <arglist>(const ::FLAC__StreamMetadata *metadata)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>::FLAC__StreamEncoderReadStatus</type>
- <name>read_callback_</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamf0</anchor>
- <arglist>(const ::FLAC__StreamEncoder *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>::FLAC__StreamEncoderWriteStatus</type>
- <name>write_callback_</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamf1</anchor>
- <arglist>(const ::FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>::FLAC__StreamEncoderSeekStatus</type>
- <name>seek_callback_</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamf2</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>::FLAC__StreamEncoderTellStatus</type>
- <name>tell_callback_</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamf3</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>static void</type>
- <name>metadata_callback_</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamf4</anchor>
- <arglist>(const ::FLAC__StreamEncoder *encoder, const ::FLAC__StreamMetadata *metadata, void *client_data)</arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__StreamEncoder *</type>
- <name>encoder_</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamp0</anchor>
- <arglist></arglist>
- </member>
- <class kind="class">FLAC::Encoder::Stream::State</class>
- </compound>
- <compound kind="class">
- <name>FLAC::Encoder::Stream::State</name>
- <filename>classFLAC_1_1Encoder_1_1Stream_1_1State.html</filename>
- <member kind="function">
- <type></type>
- <name>State</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream_1_1State.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Stream_1_1Statea0</anchor>
- <arglist>(::FLAC__StreamEncoderState state)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>operator::FLAC__StreamEncoderState</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream_1_1State.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Stream_1_1Statea1</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>const char *</type>
- <name>as_cstring</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream_1_1State.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Stream_1_1Statea2</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>const char *</type>
- <name>resolved_as_cstring</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream_1_1State.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Stream_1_1Statea3</anchor>
- <arglist>(const Stream &amp;encoder) const </arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__StreamEncoderState</type>
- <name>state_</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream_1_1State.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Stream_1_1Statep0</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="class">
- <name>FLAC::Encoder::File</name>
- <filename>classFLAC_1_1Encoder_1_1File.html</filename>
- <base>FLAC::Encoder::Stream</base>
- <member kind="function">
- <type>virtual ::FLAC__StreamEncoderInitStatus</type>
- <name>init</name>
- <anchorfile>classFLAC_1_1Encoder_1_1File.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Filea2</anchor>
- <arglist>(FILE *file)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual ::FLAC__StreamEncoderInitStatus</type>
- <name>init</name>
- <anchorfile>classFLAC_1_1Encoder_1_1File.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Filea3</anchor>
- <arglist>(const char *filename)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual ::FLAC__StreamEncoderInitStatus</type>
- <name>init</name>
- <anchorfile>classFLAC_1_1Encoder_1_1File.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Filea4</anchor>
- <arglist>(const std::string &amp;filename)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual ::FLAC__StreamEncoderInitStatus</type>
- <name>init_ogg</name>
- <anchorfile>classFLAC_1_1Encoder_1_1File.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Filea5</anchor>
- <arglist>(FILE *file)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual ::FLAC__StreamEncoderInitStatus</type>
- <name>init_ogg</name>
- <anchorfile>classFLAC_1_1Encoder_1_1File.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Filea6</anchor>
- <arglist>(const char *filename)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual ::FLAC__StreamEncoderInitStatus</type>
- <name>init_ogg</name>
- <anchorfile>classFLAC_1_1Encoder_1_1File.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Filea7</anchor>
- <arglist>(const std::string &amp;filename)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>is_valid</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama2</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>operator bool</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama3</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_ogg_serial_number</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama4</anchor>
- <arglist>(long value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_verify</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama5</anchor>
- <arglist>(bool value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_streamable_subset</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama6</anchor>
- <arglist>(bool value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_channels</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama7</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_bits_per_sample</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama8</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_sample_rate</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama9</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_compression_level</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama10</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_blocksize</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama11</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_do_mid_side_stereo</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama12</anchor>
- <arglist>(bool value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_loose_mid_side_stereo</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama13</anchor>
- <arglist>(bool value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_apodization</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama14</anchor>
- <arglist>(const char *specification)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_max_lpc_order</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama15</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_qlp_coeff_precision</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama16</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_do_qlp_coeff_prec_search</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama17</anchor>
- <arglist>(bool value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_do_escape_coding</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama18</anchor>
- <arglist>(bool value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_do_exhaustive_model_search</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama19</anchor>
- <arglist>(bool value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_min_residual_partition_order</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama20</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_max_residual_partition_order</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama21</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_rice_parameter_search_dist</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama22</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_total_samples_estimate</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama23</anchor>
- <arglist>(FLAC__uint64 value)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_metadata</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama24</anchor>
- <arglist>(::FLAC__StreamMetadata **metadata, unsigned num_blocks)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>set_metadata</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama25</anchor>
- <arglist>(FLAC::Metadata::Prototype **metadata, unsigned num_blocks)</arglist>
- </member>
- <member kind="function">
- <type>State</type>
- <name>get_state</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama26</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual Decoder::Stream::State</type>
- <name>get_verify_decoder_state</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama27</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual void</type>
- <name>get_verify_decoder_error_stats</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama28</anchor>
- <arglist>(FLAC__uint64 *absolute_sample, unsigned *frame_number, unsigned *channel, unsigned *sample, FLAC__int32 *expected, FLAC__int32 *got)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>get_verify</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama29</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>get_streamable_subset</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama30</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>get_do_mid_side_stereo</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama31</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>get_loose_mid_side_stereo</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama32</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_channels</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama33</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_bits_per_sample</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama34</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_sample_rate</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama35</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_blocksize</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama36</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_max_lpc_order</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama37</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_qlp_coeff_precision</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama38</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>get_do_qlp_coeff_prec_search</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama39</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>get_do_escape_coding</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama40</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>get_do_exhaustive_model_search</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama41</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_min_residual_partition_order</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama42</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_max_residual_partition_order</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama43</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual unsigned</type>
- <name>get_rice_parameter_search_dist</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama44</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual FLAC__uint64</type>
- <name>get_total_samples_estimate</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama45</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>virtual ::FLAC__StreamEncoderInitStatus</type>
- <name>init</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama46</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual ::FLAC__StreamEncoderInitStatus</type>
- <name>init_ogg</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama47</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>finish</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama48</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>process</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama49</anchor>
- <arglist>(const FLAC__int32 *const buffer[], unsigned samples)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>process_interleaved</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streama50</anchor>
- <arglist>(const FLAC__int32 buffer[], unsigned samples)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual void</type>
- <name>progress_callback</name>
- <anchorfile>classFLAC_1_1Encoder_1_1File.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Fileb0</anchor>
- <arglist>(FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual ::FLAC__StreamEncoderWriteStatus</type>
- <name>write_callback</name>
- <anchorfile>classFLAC_1_1Encoder_1_1File.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Fileb1</anchor>
- <arglist>(const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual ::FLAC__StreamEncoderReadStatus</type>
- <name>read_callback</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamb0</anchor>
- <arglist>(FLAC__byte buffer[], size_t *bytes)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual ::FLAC__StreamEncoderSeekStatus</type>
- <name>seek_callback</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamb2</anchor>
- <arglist>(FLAC__uint64 absolute_byte_offset)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual ::FLAC__StreamEncoderTellStatus</type>
- <name>tell_callback</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamb3</anchor>
- <arglist>(FLAC__uint64 *absolute_byte_offset)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual void</type>
- <name>metadata_callback</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamb4</anchor>
- <arglist>(const ::FLAC__StreamMetadata *metadata)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>::FLAC__StreamEncoderReadStatus</type>
- <name>read_callback_</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamf0</anchor>
- <arglist>(const ::FLAC__StreamEncoder *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>::FLAC__StreamEncoderWriteStatus</type>
- <name>write_callback_</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamf1</anchor>
- <arglist>(const ::FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>::FLAC__StreamEncoderSeekStatus</type>
- <name>seek_callback_</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamf2</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>::FLAC__StreamEncoderTellStatus</type>
- <name>tell_callback_</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamf3</anchor>
- <arglist>(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data)</arglist>
- </member>
- <member kind="function" protection="protected" static="yes">
- <type>static void</type>
- <name>metadata_callback_</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamf4</anchor>
- <arglist>(const ::FLAC__StreamEncoder *encoder, const ::FLAC__StreamMetadata *metadata, void *client_data)</arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__StreamEncoder *</type>
- <name>encoder_</name>
- <anchorfile>classFLAC_1_1Encoder_1_1Stream.html</anchorfile>
- <anchor>FLAC_1_1Encoder_1_1Streamp0</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="class">
- <name>FLAC::Metadata::Prototype</name>
- <filename>classFLAC_1_1Metadata_1_1Prototype.html</filename>
- <member kind="function" virtualness="virtual">
- <type>virtual</type>
- <name>~Prototype</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Prototypea0</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>(const Prototype &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga2</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga3</anchor>
- <arglist>(const ::FLAC__StreamMetadata *) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>(const Prototype &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga5</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga6</anchor>
- <arglist>(const ::FLAC__StreamMetadata *) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>is_valid</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_is_last</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta27</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>::FLAC__MetadataType</type>
- <name>get_type</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta28</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_length</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta29</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_is_last</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta30</anchor>
- <arglist>(bool)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>operator const ::FLAC__StreamMetadata *</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" protection="protected">
- <type></type>
- <name>Prototype</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Prototypeb0</anchor>
- <arglist>(const Prototype &amp;)</arglist>
- </member>
- <member kind="function" protection="protected">
- <type></type>
- <name>Prototype</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Prototypeb1</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;)</arglist>
- </member>
- <member kind="function" protection="protected">
- <type></type>
- <name>Prototype</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Prototypeb2</anchor>
- <arglist>(const ::FLAC__StreamMetadata *)</arglist>
- </member>
- <member kind="function" protection="protected">
- <type></type>
- <name>Prototype</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Prototypeb3</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function" protection="protected">
- <type>Prototype &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Prototypeb4</anchor>
- <arglist>(const Prototype &amp;)</arglist>
- </member>
- <member kind="function" protection="protected">
- <type>Prototype &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Prototypeb5</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;)</arglist>
- </member>
- <member kind="function" protection="protected">
- <type>Prototype &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Prototypeb6</anchor>
- <arglist>(const ::FLAC__StreamMetadata *)</arglist>
- </member>
- <member kind="function" protection="protected">
- <type>Prototype &amp;</type>
- <name>assign_object</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentb0</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual void</type>
- <name>clear</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentb1</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__StreamMetadata *</type>
- <name>object_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentp0</anchor>
- <arglist></arglist>
- </member>
- <member kind="friend">
- <type>friend class</type>
- <name>SimpleIterator</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentn0</anchor>
- <arglist></arglist>
- </member>
- <member kind="friend">
- <type>friend class</type>
- <name>Iterator</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentn1</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="class">
- <name>FLAC::Metadata::StreamInfo</name>
- <filename>classFLAC_1_1Metadata_1_1StreamInfo.html</filename>
- <base>FLAC::Metadata::Prototype</base>
- <member kind="function">
- <type></type>
- <name>StreamInfo</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa1</anchor>
- <arglist>(const StreamInfo &amp;object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>StreamInfo</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa2</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>StreamInfo</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa3</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>StreamInfo</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa4</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function">
- <type>StreamInfo &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa6</anchor>
- <arglist>(const StreamInfo &amp;object)</arglist>
- </member>
- <member kind="function">
- <type>StreamInfo &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa7</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object)</arglist>
- </member>
- <member kind="function">
- <type>StreamInfo &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa8</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type>StreamInfo &amp;</type>
- <name>assign</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa9</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa10</anchor>
- <arglist>(const StreamInfo &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa11</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa12</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa13</anchor>
- <arglist>(const StreamInfo &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa14</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa15</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object) const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_min_blocksize</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa16</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_max_blocksize</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa17</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_min_framesize</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa18</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_max_framesize</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa19</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_sample_rate</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa20</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_channels</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa21</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_bits_per_sample</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa22</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>FLAC__uint64</type>
- <name>get_total_samples</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa23</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>const FLAC__byte *</type>
- <name>get_md5sum</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa24</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_min_blocksize</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa25</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_max_blocksize</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa26</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_min_framesize</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa27</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_max_framesize</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa28</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_sample_rate</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa29</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_channels</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa30</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_bits_per_sample</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa31</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_total_samples</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa32</anchor>
- <arglist>(FLAC__uint64 value)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_md5sum</name>
- <anchorfile>classFLAC_1_1Metadata_1_1StreamInfo.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1StreamInfoa33</anchor>
- <arglist>(const FLAC__byte value[16])</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>(const Prototype &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>(const Prototype &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>is_valid</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_is_last</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta27</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>::FLAC__MetadataType</type>
- <name>get_type</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta28</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_length</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta29</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_is_last</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta30</anchor>
- <arglist>(bool)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>operator const ::FLAC__StreamMetadata *</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" protection="protected">
- <type>Prototype &amp;</type>
- <name>assign_object</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentb0</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual void</type>
- <name>clear</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentb1</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__StreamMetadata *</type>
- <name>object_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentp0</anchor>
- <arglist></arglist>
- </member>
- <member kind="friend">
- <type>friend class</type>
- <name>SimpleIterator</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentn0</anchor>
- <arglist></arglist>
- </member>
- <member kind="friend">
- <type>friend class</type>
- <name>Iterator</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentn1</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="class">
- <name>FLAC::Metadata::Padding</name>
- <filename>classFLAC_1_1Metadata_1_1Padding.html</filename>
- <base>FLAC::Metadata::Prototype</base>
- <member kind="function">
- <type></type>
- <name>Padding</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Padding.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Paddinga1</anchor>
- <arglist>(const Padding &amp;object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>Padding</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Padding.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Paddinga2</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>Padding</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Padding.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Paddinga3</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>Padding</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Padding.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Paddinga4</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function">
- <type>Padding &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Padding.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Paddinga6</anchor>
- <arglist>(const Padding &amp;object)</arglist>
- </member>
- <member kind="function">
- <type>Padding &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Padding.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Paddinga7</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object)</arglist>
- </member>
- <member kind="function">
- <type>Padding &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Padding.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Paddinga8</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type>Padding &amp;</type>
- <name>assign</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Padding.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Paddinga9</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Padding.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Paddinga10</anchor>
- <arglist>(const Padding &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Padding.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Paddinga11</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Padding.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Paddinga12</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Padding.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Paddinga13</anchor>
- <arglist>(const Padding &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Padding.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Paddinga14</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Padding.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Paddinga15</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object) const </arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_length</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Padding.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Paddinga16</anchor>
- <arglist>(unsigned length)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>(const Prototype &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>(const Prototype &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>is_valid</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_is_last</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta27</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>::FLAC__MetadataType</type>
- <name>get_type</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta28</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_length</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta29</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_is_last</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta30</anchor>
- <arglist>(bool)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>operator const ::FLAC__StreamMetadata *</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" protection="protected">
- <type>Prototype &amp;</type>
- <name>assign_object</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentb0</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual void</type>
- <name>clear</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentb1</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__StreamMetadata *</type>
- <name>object_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentp0</anchor>
- <arglist></arglist>
- </member>
- <member kind="friend">
- <type>friend class</type>
- <name>SimpleIterator</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentn0</anchor>
- <arglist></arglist>
- </member>
- <member kind="friend">
- <type>friend class</type>
- <name>Iterator</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentn1</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="class">
- <name>FLAC::Metadata::Application</name>
- <filename>classFLAC_1_1Metadata_1_1Application.html</filename>
- <base>FLAC::Metadata::Prototype</base>
- <member kind="function">
- <type></type>
- <name>Application</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Application.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Applicationa1</anchor>
- <arglist>(const Application &amp;object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>Application</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Application.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Applicationa2</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>Application</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Application.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Applicationa3</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>Application</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Application.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Applicationa4</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function">
- <type>Application &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Application.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Applicationa6</anchor>
- <arglist>(const Application &amp;object)</arglist>
- </member>
- <member kind="function">
- <type>Application &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Application.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Applicationa7</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object)</arglist>
- </member>
- <member kind="function">
- <type>Application &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Application.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Applicationa8</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type>Application &amp;</type>
- <name>assign</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Application.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Applicationa9</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Application.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Applicationa10</anchor>
- <arglist>(const Application &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Application.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Applicationa11</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Application.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Applicationa12</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Application.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Applicationa13</anchor>
- <arglist>(const Application &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Application.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Applicationa14</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Application.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Applicationa15</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object) const </arglist>
- </member>
- <member kind="function">
- <type>const FLAC__byte *</type>
- <name>get_id</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Application.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Applicationa16</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>const FLAC__byte *</type>
- <name>get_data</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Application.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Applicationa17</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_id</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Application.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Applicationa18</anchor>
- <arglist>(const FLAC__byte value[4])</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>set_data</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Application.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Applicationa19</anchor>
- <arglist>(const FLAC__byte *data, unsigned length)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>set_data</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Application.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Applicationa20</anchor>
- <arglist>(FLAC__byte *data, unsigned length, bool copy)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>(const Prototype &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>(const Prototype &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>is_valid</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_is_last</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta27</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>::FLAC__MetadataType</type>
- <name>get_type</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta28</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_length</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta29</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_is_last</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta30</anchor>
- <arglist>(bool)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>operator const ::FLAC__StreamMetadata *</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" protection="protected">
- <type>Prototype &amp;</type>
- <name>assign_object</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentb0</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual void</type>
- <name>clear</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentb1</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__StreamMetadata *</type>
- <name>object_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentp0</anchor>
- <arglist></arglist>
- </member>
- <member kind="friend">
- <type>friend class</type>
- <name>SimpleIterator</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentn0</anchor>
- <arglist></arglist>
- </member>
- <member kind="friend">
- <type>friend class</type>
- <name>Iterator</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentn1</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="class">
- <name>FLAC::Metadata::SeekTable</name>
- <filename>classFLAC_1_1Metadata_1_1SeekTable.html</filename>
- <base>FLAC::Metadata::Prototype</base>
- <member kind="function">
- <type></type>
- <name>SeekTable</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SeekTable.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SeekTablea1</anchor>
- <arglist>(const SeekTable &amp;object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>SeekTable</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SeekTable.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SeekTablea2</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>SeekTable</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SeekTable.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SeekTablea3</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>SeekTable</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SeekTable.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SeekTablea4</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function">
- <type>SeekTable &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SeekTable.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SeekTablea6</anchor>
- <arglist>(const SeekTable &amp;object)</arglist>
- </member>
- <member kind="function">
- <type>SeekTable &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SeekTable.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SeekTablea7</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object)</arglist>
- </member>
- <member kind="function">
- <type>SeekTable &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SeekTable.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SeekTablea8</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type>SeekTable &amp;</type>
- <name>assign</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SeekTable.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SeekTablea9</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SeekTable.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SeekTablea10</anchor>
- <arglist>(const SeekTable &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SeekTable.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SeekTablea11</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SeekTable.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SeekTablea12</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SeekTable.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SeekTablea13</anchor>
- <arglist>(const SeekTable &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SeekTable.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SeekTablea14</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SeekTable.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SeekTablea15</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object) const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_num_points</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SeekTable.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SeekTablea16</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>::FLAC__StreamMetadata_SeekPoint</type>
- <name>get_point</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SeekTable.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SeekTablea17</anchor>
- <arglist>(unsigned index) const </arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_point</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SeekTable.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SeekTablea18</anchor>
- <arglist>(unsigned index, const ::FLAC__StreamMetadata_SeekPoint &amp;point)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>insert_point</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SeekTable.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SeekTablea19</anchor>
- <arglist>(unsigned index, const ::FLAC__StreamMetadata_SeekPoint &amp;point)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>delete_point</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SeekTable.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SeekTablea20</anchor>
- <arglist>(unsigned index)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>is_legal</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SeekTable.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SeekTablea21</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>(const Prototype &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>(const Prototype &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>is_valid</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_is_last</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta27</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>::FLAC__MetadataType</type>
- <name>get_type</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta28</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_length</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta29</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_is_last</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta30</anchor>
- <arglist>(bool)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>operator const ::FLAC__StreamMetadata *</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" protection="protected">
- <type>Prototype &amp;</type>
- <name>assign_object</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentb0</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual void</type>
- <name>clear</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentb1</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__StreamMetadata *</type>
- <name>object_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentp0</anchor>
- <arglist></arglist>
- </member>
- <member kind="friend">
- <type>friend class</type>
- <name>SimpleIterator</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentn0</anchor>
- <arglist></arglist>
- </member>
- <member kind="friend">
- <type>friend class</type>
- <name>Iterator</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentn1</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="class">
- <name>FLAC::Metadata::VorbisComment</name>
- <filename>classFLAC_1_1Metadata_1_1VorbisComment.html</filename>
- <base>FLAC::Metadata::Prototype</base>
- <member kind="function">
- <type></type>
- <name>VorbisComment</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta1</anchor>
- <arglist>(const VorbisComment &amp;object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>VorbisComment</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta2</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>VorbisComment</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta3</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>VorbisComment</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta4</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function">
- <type>VorbisComment &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta6</anchor>
- <arglist>(const VorbisComment &amp;object)</arglist>
- </member>
- <member kind="function">
- <type>VorbisComment &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta7</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object)</arglist>
- </member>
- <member kind="function">
- <type>VorbisComment &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta8</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type>VorbisComment &amp;</type>
- <name>assign</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta9</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta10</anchor>
- <arglist>(const VorbisComment &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta11</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta12</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta13</anchor>
- <arglist>(const VorbisComment &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta14</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta15</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object) const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_num_comments</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta16</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>const FLAC__byte *</type>
- <name>get_vendor_string</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta17</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>Entry</type>
- <name>get_comment</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta18</anchor>
- <arglist>(unsigned index) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>set_vendor_string</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta19</anchor>
- <arglist>(const FLAC__byte *string)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>set_comment</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta20</anchor>
- <arglist>(unsigned index, const Entry &amp;entry)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>insert_comment</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta21</anchor>
- <arglist>(unsigned index, const Entry &amp;entry)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>append_comment</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta22</anchor>
- <arglist>(const Entry &amp;entry)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>delete_comment</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta23</anchor>
- <arglist>(unsigned index)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>(const Prototype &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>(const Prototype &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>is_valid</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_is_last</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta27</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>::FLAC__MetadataType</type>
- <name>get_type</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta28</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_length</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta29</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_is_last</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta30</anchor>
- <arglist>(bool)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>operator const ::FLAC__StreamMetadata *</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" protection="protected">
- <type>Prototype &amp;</type>
- <name>assign_object</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentb0</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual void</type>
- <name>clear</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentb1</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__StreamMetadata *</type>
- <name>object_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentp0</anchor>
- <arglist></arglist>
- </member>
- <member kind="friend">
- <type>friend class</type>
- <name>SimpleIterator</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentn0</anchor>
- <arglist></arglist>
- </member>
- <member kind="friend">
- <type>friend class</type>
- <name>Iterator</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentn1</anchor>
- <arglist></arglist>
- </member>
- <class kind="class">FLAC::Metadata::VorbisComment::Entry</class>
- </compound>
- <compound kind="class">
- <name>FLAC::Metadata::VorbisComment::Entry</name>
- <filename>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</filename>
- <member kind="function">
- <type></type>
- <name>Entry</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya1</anchor>
- <arglist>(const char *field, unsigned field_length)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>Entry</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya2</anchor>
- <arglist>(const char *field)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>Entry</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya3</anchor>
- <arglist>(const char *field_name, const char *field_value, unsigned field_value_length)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>Entry</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya4</anchor>
- <arglist>(const char *field_name, const char *field_value)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>Entry</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya5</anchor>
- <arglist>(const Entry &amp;entry)</arglist>
- </member>
- <member kind="function">
- <type>Entry &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya6</anchor>
- <arglist>(const Entry &amp;entry)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>is_valid</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya8</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_field_length</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya9</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_field_name_length</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya10</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_field_value_length</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya11</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>::FLAC__StreamMetadata_VorbisComment_Entry</type>
- <name>get_entry</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya12</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>const char *</type>
- <name>get_field</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya13</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>const char *</type>
- <name>get_field_name</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya14</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>const char *</type>
- <name>get_field_value</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya15</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>set_field</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya16</anchor>
- <arglist>(const char *field, unsigned field_length)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>set_field</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya17</anchor>
- <arglist>(const char *field)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>set_field_name</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya18</anchor>
- <arglist>(const char *field_name)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>set_field_value</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya19</anchor>
- <arglist>(const char *field_value, unsigned field_value_length)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>set_field_value</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya20</anchor>
- <arglist>(const char *field_value)</arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>bool</type>
- <name>is_valid_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entryp0</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__StreamMetadata_VorbisComment_Entry</type>
- <name>entry_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entryp1</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>char *</type>
- <name>field_name_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entryp2</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>unsigned</type>
- <name>field_name_length_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entryp3</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>char *</type>
- <name>field_value_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entryp4</anchor>
- <arglist></arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>unsigned</type>
- <name>field_value_length_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisComment_1_1Entryp5</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="class">
- <name>FLAC::Metadata::CueSheet</name>
- <filename>classFLAC_1_1Metadata_1_1CueSheet.html</filename>
- <base>FLAC::Metadata::Prototype</base>
- <member kind="function">
- <type></type>
- <name>CueSheet</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta1</anchor>
- <arglist>(const CueSheet &amp;object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>CueSheet</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta2</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>CueSheet</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta3</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>CueSheet</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta4</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function">
- <type>CueSheet &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta6</anchor>
- <arglist>(const CueSheet &amp;object)</arglist>
- </member>
- <member kind="function">
- <type>CueSheet &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta7</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object)</arglist>
- </member>
- <member kind="function">
- <type>CueSheet &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta8</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type>CueSheet &amp;</type>
- <name>assign</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta9</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta10</anchor>
- <arglist>(const CueSheet &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta11</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta12</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta13</anchor>
- <arglist>(const CueSheet &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta14</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta15</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object) const </arglist>
- </member>
- <member kind="function">
- <type>const char *</type>
- <name>get_media_catalog_number</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta16</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>FLAC__uint64</type>
- <name>get_lead_in</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta17</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_is_cd</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta18</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_num_tracks</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta19</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>Track</type>
- <name>get_track</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta20</anchor>
- <arglist>(unsigned i) const </arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_media_catalog_number</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta21</anchor>
- <arglist>(const char value[128])</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_lead_in</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta22</anchor>
- <arglist>(FLAC__uint64 value)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_is_cd</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta23</anchor>
- <arglist>(bool value)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_index</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta24</anchor>
- <arglist>(unsigned track_num, unsigned index_num, const ::FLAC__StreamMetadata_CueSheet_Index &amp;index)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>insert_index</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta25</anchor>
- <arglist>(unsigned track_num, unsigned index_num, const ::FLAC__StreamMetadata_CueSheet_Index &amp;index)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>delete_index</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta26</anchor>
- <arglist>(unsigned track_num, unsigned index_num)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>set_track</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta27</anchor>
- <arglist>(unsigned i, const Track &amp;track)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>insert_track</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta28</anchor>
- <arglist>(unsigned i, const Track &amp;track)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>delete_track</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta29</anchor>
- <arglist>(unsigned i)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>is_legal</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta30</anchor>
- <arglist>(bool check_cd_da_subset=false, const char **violation=0) const </arglist>
- </member>
- <member kind="function">
- <type>FLAC__uint32</type>
- <name>calculate_cddb_id</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheeta31</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>(const Prototype &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>(const Prototype &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>is_valid</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_is_last</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta27</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>::FLAC__MetadataType</type>
- <name>get_type</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta28</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_length</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta29</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_is_last</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta30</anchor>
- <arglist>(bool)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>operator const ::FLAC__StreamMetadata *</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" protection="protected">
- <type>Prototype &amp;</type>
- <name>assign_object</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentb0</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual void</type>
- <name>clear</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentb1</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__StreamMetadata *</type>
- <name>object_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentp0</anchor>
- <arglist></arglist>
- </member>
- <member kind="friend">
- <type>friend class</type>
- <name>SimpleIterator</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentn0</anchor>
- <arglist></arglist>
- </member>
- <member kind="friend">
- <type>friend class</type>
- <name>Iterator</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentn1</anchor>
- <arglist></arglist>
- </member>
- <class kind="class">FLAC::Metadata::CueSheet::Track</class>
- </compound>
- <compound kind="class">
- <name>FLAC::Metadata::CueSheet::Track</name>
- <filename>classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html</filename>
- <member kind="function">
- <type></type>
- <name>Track</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheet_1_1Tracka1</anchor>
- <arglist>(const ::FLAC__StreamMetadata_CueSheet_Track *track)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>Track</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheet_1_1Tracka2</anchor>
- <arglist>(const Track &amp;track)</arglist>
- </member>
- <member kind="function">
- <type>Track &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheet_1_1Tracka3</anchor>
- <arglist>(const Track &amp;track)</arglist>
- </member>
- <member kind="function" virtualness="virtual">
- <type>virtual bool</type>
- <name>is_valid</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheet_1_1Tracka5</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>FLAC__uint64</type>
- <name>get_offset</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheet_1_1Tracka6</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>FLAC__byte</type>
- <name>get_number</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheet_1_1Tracka7</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>const char *</type>
- <name>get_isrc</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheet_1_1Tracka8</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_type</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheet_1_1Tracka9</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_pre_emphasis</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheet_1_1Tracka10</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>FLAC__byte</type>
- <name>get_num_indices</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheet_1_1Tracka11</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>::FLAC__StreamMetadata_CueSheet_Index</type>
- <name>get_index</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheet_1_1Tracka12</anchor>
- <arglist>(unsigned i) const </arglist>
- </member>
- <member kind="function">
- <type>const ::FLAC__StreamMetadata_CueSheet_Track *</type>
- <name>get_track</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheet_1_1Tracka13</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_offset</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheet_1_1Tracka14</anchor>
- <arglist>(FLAC__uint64 value)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_number</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheet_1_1Tracka15</anchor>
- <arglist>(FLAC__byte value)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_isrc</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheet_1_1Tracka16</anchor>
- <arglist>(const char value[12])</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_type</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheet_1_1Tracka17</anchor>
- <arglist>(unsigned value)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_pre_emphasis</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheet_1_1Tracka18</anchor>
- <arglist>(bool value)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_index</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheet_1_1Tracka19</anchor>
- <arglist>(unsigned i, const ::FLAC__StreamMetadata_CueSheet_Index &amp;index)</arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__StreamMetadata_CueSheet_Track *</type>
- <name>object_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1CueSheet_1_1Trackp0</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="class">
- <name>FLAC::Metadata::Picture</name>
- <filename>classFLAC_1_1Metadata_1_1Picture.html</filename>
- <base>FLAC::Metadata::Prototype</base>
- <member kind="function">
- <type></type>
- <name>Picture</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea1</anchor>
- <arglist>(const Picture &amp;object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>Picture</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea2</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>Picture</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea3</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>Picture</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea4</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function">
- <type>Picture &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea6</anchor>
- <arglist>(const Picture &amp;object)</arglist>
- </member>
- <member kind="function">
- <type>Picture &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea7</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object)</arglist>
- </member>
- <member kind="function">
- <type>Picture &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea8</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type>Picture &amp;</type>
- <name>assign</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea9</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea10</anchor>
- <arglist>(const Picture &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea11</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea12</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea13</anchor>
- <arglist>(const Picture &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea14</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea15</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object) const </arglist>
- </member>
- <member kind="function">
- <type>::FLAC__StreamMetadata_Picture_Type</type>
- <name>get_type</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea16</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>const char *</type>
- <name>get_mime_type</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea17</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>const FLAC__byte *</type>
- <name>get_description</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea18</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>FLAC__uint32</type>
- <name>get_width</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea19</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>FLAC__uint32</type>
- <name>get_height</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea20</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>FLAC__uint32</type>
- <name>get_depth</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea21</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>FLAC__uint32</type>
- <name>get_colors</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea22</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>FLAC__uint32</type>
- <name>get_data_length</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea23</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>const FLAC__byte *</type>
- <name>get_data</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea24</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_type</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea25</anchor>
- <arglist>(::FLAC__StreamMetadata_Picture_Type type)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>set_mime_type</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea26</anchor>
- <arglist>(const char *string)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>set_description</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea27</anchor>
- <arglist>(const FLAC__byte *string)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_width</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea28</anchor>
- <arglist>(FLAC__uint32 value) const </arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_height</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea29</anchor>
- <arglist>(FLAC__uint32 value) const </arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_depth</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea30</anchor>
- <arglist>(FLAC__uint32 value) const </arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_colors</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea31</anchor>
- <arglist>(FLAC__uint32 value) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>set_data</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Picture.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Picturea32</anchor>
- <arglist>(const FLAC__byte *data, FLAC__uint32 data_length)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>(const Prototype &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>(const Prototype &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>is_valid</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_is_last</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta27</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_length</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta29</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_is_last</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta30</anchor>
- <arglist>(bool)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>operator const ::FLAC__StreamMetadata *</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" protection="protected">
- <type>Prototype &amp;</type>
- <name>assign_object</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentb0</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual void</type>
- <name>clear</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentb1</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__StreamMetadata *</type>
- <name>object_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentp0</anchor>
- <arglist></arglist>
- </member>
- <member kind="friend">
- <type>friend class</type>
- <name>SimpleIterator</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentn0</anchor>
- <arglist></arglist>
- </member>
- <member kind="friend">
- <type>friend class</type>
- <name>Iterator</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentn1</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="class">
- <name>FLAC::Metadata::Unknown</name>
- <filename>classFLAC_1_1Metadata_1_1Unknown.html</filename>
- <base>FLAC::Metadata::Prototype</base>
- <member kind="function">
- <type></type>
- <name>Unknown</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Unknown.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Unknowna1</anchor>
- <arglist>(const Unknown &amp;object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>Unknown</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Unknown.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Unknowna2</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>Unknown</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Unknown.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Unknowna3</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>Unknown</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Unknown.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Unknowna4</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function">
- <type>Unknown &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Unknown.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Unknowna6</anchor>
- <arglist>(const Unknown &amp;object)</arglist>
- </member>
- <member kind="function">
- <type>Unknown &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Unknown.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Unknowna7</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object)</arglist>
- </member>
- <member kind="function">
- <type>Unknown &amp;</type>
- <name>operator=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Unknown.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Unknowna8</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object)</arglist>
- </member>
- <member kind="function">
- <type>Unknown &amp;</type>
- <name>assign</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Unknown.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Unknowna9</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Unknown.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Unknowna10</anchor>
- <arglist>(const Unknown &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Unknown.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Unknowna11</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Unknown.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Unknowna12</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Unknown.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Unknowna13</anchor>
- <arglist>(const Unknown &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Unknown.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Unknowna14</anchor>
- <arglist>(const ::FLAC__StreamMetadata &amp;object) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Unknown.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Unknowna15</anchor>
- <arglist>(const ::FLAC__StreamMetadata *object) const </arglist>
- </member>
- <member kind="function">
- <type>const FLAC__byte *</type>
- <name>get_data</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Unknown.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Unknowna16</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>set_data</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Unknown.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Unknowna17</anchor>
- <arglist>(const FLAC__byte *data, unsigned length)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>set_data</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Unknown.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Unknowna18</anchor>
- <arglist>(FLAC__byte *data, unsigned length, bool copy)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator==</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga1</anchor>
- <arglist>(const Prototype &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>operator!=</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga4</anchor>
- <arglist>(const Prototype &amp;) const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>is_valid</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga7</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_is_last</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta27</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>::FLAC__MetadataType</type>
- <name>get_type</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta28</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_length</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta29</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>set_is_last</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommenta30</anchor>
- <arglist>(bool)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>operator const ::FLAC__StreamMetadata *</name>
- <anchorfile>group__flacpp__metadata__object.html</anchorfile>
- <anchor>ga8</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function" protection="protected">
- <type>Prototype &amp;</type>
- <name>assign_object</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentb0</anchor>
- <arglist>(::FLAC__StreamMetadata *object, bool copy)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual void</type>
- <name>clear</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentb1</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__StreamMetadata *</type>
- <name>object_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentp0</anchor>
- <arglist></arglist>
- </member>
- <member kind="friend">
- <type>friend class</type>
- <name>SimpleIterator</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentn0</anchor>
- <arglist></arglist>
- </member>
- <member kind="friend">
- <type>friend class</type>
- <name>Iterator</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Prototype.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1VorbisCommentn1</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="class">
- <name>FLAC::Metadata::SimpleIterator</name>
- <filename>classFLAC_1_1Metadata_1_1SimpleIterator.html</filename>
- <member kind="function">
- <type>bool</type>
- <name>is_valid</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIteratora2</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>init</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIteratora3</anchor>
- <arglist>(const char *filename, bool read_only, bool preserve_file_stats)</arglist>
- </member>
- <member kind="function">
- <type>Status</type>
- <name>status</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIteratora4</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>is_writable</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIteratora5</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>next</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIteratora6</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>prev</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIteratora7</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>is_last</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIteratora8</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>off_t</type>
- <name>get_block_offset</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIteratora9</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>::FLAC__MetadataType</type>
- <name>get_block_type</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIteratora10</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>unsigned</type>
- <name>get_block_length</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIteratora11</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>get_application_id</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIteratora12</anchor>
- <arglist>(FLAC__byte *id)</arglist>
- </member>
- <member kind="function">
- <type>Prototype *</type>
- <name>get_block</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIteratora13</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>set_block</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIteratora14</anchor>
- <arglist>(Prototype *block, bool use_padding=true)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>insert_block_after</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIteratora15</anchor>
- <arglist>(Prototype *block, bool use_padding=true)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>delete_block</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIteratora16</anchor>
- <arglist>(bool use_padding=true)</arglist>
- </member>
- <member kind="function" protection="protected">
- <type>void</type>
- <name>clear</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIteratorb0</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__Metadata_SimpleIterator *</type>
- <name>iterator_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIteratorp0</anchor>
- <arglist></arglist>
- </member>
- <class kind="class">FLAC::Metadata::SimpleIterator::Status</class>
- </compound>
- <compound kind="class">
- <name>FLAC::Metadata::SimpleIterator::Status</name>
- <filename>classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html</filename>
- <member kind="function">
- <type></type>
- <name>Status</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIterator_1_1Statusa0</anchor>
- <arglist>(::FLAC__Metadata_SimpleIteratorStatus status)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>operator::FLAC__Metadata_SimpleIteratorStatus</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIterator_1_1Statusa1</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>const char *</type>
- <name>as_cstring</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIterator_1_1Statusa2</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__Metadata_SimpleIteratorStatus</type>
- <name>status_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1SimpleIterator_1_1Statusp0</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="class">
- <name>FLAC::Metadata::Chain</name>
- <filename>classFLAC_1_1Metadata_1_1Chain.html</filename>
- <member kind="function">
- <type>bool</type>
- <name>is_valid</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Chain.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Chaina2</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>Status</type>
- <name>status</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Chain.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Chaina3</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>read</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Chain.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Chaina4</anchor>
- <arglist>(const char *filename, bool is_ogg=false)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>read</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Chain.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Chaina5</anchor>
- <arglist>(FLAC__IOHandle handle, FLAC__IOCallbacks callbacks, bool is_ogg=false)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>check_if_tempfile_needed</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Chain.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Chaina6</anchor>
- <arglist>(bool use_padding)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>write</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Chain.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Chaina7</anchor>
- <arglist>(bool use_padding=true, bool preserve_file_stats=false)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>write</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Chain.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Chaina8</anchor>
- <arglist>(bool use_padding,::FLAC__IOHandle handle,::FLAC__IOCallbacks callbacks)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>write</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Chain.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Chaina9</anchor>
- <arglist>(bool use_padding,::FLAC__IOHandle handle,::FLAC__IOCallbacks callbacks,::FLAC__IOHandle temp_handle,::FLAC__IOCallbacks temp_callbacks)</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>merge_padding</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Chain.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Chaina10</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>sort_padding</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Chain.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Chaina11</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual void</type>
- <name>clear</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Chain.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Chainb0</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__Metadata_Chain *</type>
- <name>chain_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Chain.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Chainp0</anchor>
- <arglist></arglist>
- </member>
- <member kind="friend">
- <type>friend class</type>
- <name>Iterator</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Chain.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Chainn0</anchor>
- <arglist></arglist>
- </member>
- <class kind="class">FLAC::Metadata::Chain::Status</class>
- </compound>
- <compound kind="class">
- <name>FLAC::Metadata::Chain::Status</name>
- <filename>classFLAC_1_1Metadata_1_1Chain_1_1Status.html</filename>
- <member kind="function">
- <type></type>
- <name>Status</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Chain_1_1Status.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Chain_1_1Statusa0</anchor>
- <arglist>(::FLAC__Metadata_ChainStatus status)</arglist>
- </member>
- <member kind="function">
- <type></type>
- <name>operator::FLAC__Metadata_ChainStatus</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Chain_1_1Status.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Chain_1_1Statusa1</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>const char *</type>
- <name>as_cstring</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Chain_1_1Status.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Chain_1_1Statusa2</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__Metadata_ChainStatus</type>
- <name>status_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Chain_1_1Status.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Chain_1_1Statusp0</anchor>
- <arglist></arglist>
- </member>
- </compound>
- <compound kind="class">
- <name>FLAC::Metadata::Iterator</name>
- <filename>classFLAC_1_1Metadata_1_1Iterator.html</filename>
- <member kind="function">
- <type>bool</type>
- <name>is_valid</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Iterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Iteratora2</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>void</type>
- <name>init</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Iterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Iteratora3</anchor>
- <arglist>(Chain &amp;chain)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>next</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Iterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Iteratora4</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>prev</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Iterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Iteratora5</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function">
- <type>::FLAC__MetadataType</type>
- <name>get_block_type</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Iterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Iteratora6</anchor>
- <arglist>() const </arglist>
- </member>
- <member kind="function">
- <type>Prototype *</type>
- <name>get_block</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Iterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Iteratora7</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>set_block</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Iterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Iteratora8</anchor>
- <arglist>(Prototype *block)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>delete_block</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Iterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Iteratora9</anchor>
- <arglist>(bool replace_with_padding)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>insert_block_before</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Iterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Iteratora10</anchor>
- <arglist>(Prototype *block)</arglist>
- </member>
- <member kind="function">
- <type>bool</type>
- <name>insert_block_after</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Iterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Iteratora11</anchor>
- <arglist>(Prototype *block)</arglist>
- </member>
- <member kind="function" protection="protected" virtualness="virtual">
- <type>virtual void</type>
- <name>clear</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Iterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Iteratorb0</anchor>
- <arglist>()</arglist>
- </member>
- <member kind="variable" protection="protected">
- <type>::FLAC__Metadata_Iterator *</type>
- <name>iterator_</name>
- <anchorfile>classFLAC_1_1Metadata_1_1Iterator.html</anchorfile>
- <anchor>FLAC_1_1Metadata_1_1Iteratorp0</anchor>
- <arglist></arglist>
- </member>
- </compound>
-</tagfile>
diff --git a/3rdparty/libflac/doc/Makefile.am b/3rdparty/libflac/doc/Makefile.am
deleted file mode 100644
index 19a9db06f97..00000000000
--- a/3rdparty/libflac/doc/Makefile.am
+++ /dev/null
@@ -1,43 +0,0 @@
-# flac - Command-line FLAC encoder/decoder
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-AUTOMAKE_OPTIONS = foreign
-
-SUBDIRS = . html
-
-if FLaC__HAS_DOXYGEN
-FLAC.tag: Doxyfile
- doxygen Doxyfile
- rm -rf html/api
- mv doxytmp/html html/api
- rm -rf doxytmp
-else
-FLAC.tag:
- echo "*** Warning: Doxygen not found; documentation will not be built."
- touch $@
- mkdir -p html/api
-endif
-
-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)
-
-doc_DATA = \
- FLAC.tag
-
-EXTRA_DIST = Doxyfile Makefile.lite doxygen.footer.html doxygen.header.html $(doc_DATA)
-
-maintainer-clean-local:
- rm -rf FLAC.tag html/api doxytmp
diff --git a/3rdparty/libflac/doc/Makefile.in b/3rdparty/libflac/doc/Makefile.in
deleted file mode 100644
index fe851fa8ba9..00000000000
--- a/3rdparty/libflac/doc/Makefile.in
+++ /dev/null
@@ -1,566 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# flac - Command-line FLAC encoder/decoder
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-AUTOMAKE_OPTIONS = foreign
-
-SUBDIRS = . html
-
-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)
-
-doc_DATA = \
- FLAC.tag
-
-
-EXTRA_DIST = Doxyfile Makefile.lite doxygen.footer.html doxygen.header.html $(doc_DATA)
-subdir = doc
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DATA = $(doc_DATA)
-
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign doc/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-docDATA_INSTALL = $(INSTALL_DATA)
-install-docDATA: $(doc_DATA)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(docdir)
- @list='$(doc_DATA)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(docDATA_INSTALL) $$d$$p $(DESTDIR)$(docdir)/$$f"; \
- $(docDATA_INSTALL) $$d$$p $(DESTDIR)$(docdir)/$$f; \
- done
-
-uninstall-docDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(doc_DATA)'; for p in $$list; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(docdir)/$$f"; \
- rm -f $(DESTDIR)$(docdir)/$$f; \
- done
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- else \
- include_option=--include; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(DATA)
-installdirs: installdirs-recursive
-installdirs-am:
- $(mkinstalldirs) $(DESTDIR)$(docdir)
-
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-docDATA
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic \
- maintainer-clean-local
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-docDATA uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-docDATA install-exec install-exec-am \
- install-exec-recursive install-info install-info-am \
- install-info-recursive install-man install-recursive \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am installdirs-recursive maintainer-clean \
- maintainer-clean-generic maintainer-clean-local \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-docDATA uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
-
-
-@FLaC__HAS_DOXYGEN_TRUE@FLAC.tag: Doxyfile
-@FLaC__HAS_DOXYGEN_TRUE@ doxygen Doxyfile
-@FLaC__HAS_DOXYGEN_TRUE@ rm -rf html/api
-@FLaC__HAS_DOXYGEN_TRUE@ mv doxytmp/html html/api
-@FLaC__HAS_DOXYGEN_TRUE@ rm -rf doxytmp
-@FLaC__HAS_DOXYGEN_FALSE@FLAC.tag:
-@FLaC__HAS_DOXYGEN_FALSE@ echo "*** Warning: Doxygen not found; documentation will not be built."
-@FLaC__HAS_DOXYGEN_FALSE@ touch $@
-@FLaC__HAS_DOXYGEN_FALSE@ mkdir -p html/api
-
-maintainer-clean-local:
- rm -rf FLAC.tag html/api doxytmp
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/doc/Makefile.lite b/3rdparty/libflac/doc/Makefile.lite
deleted file mode 100644
index d53375abd6c..00000000000
--- a/3rdparty/libflac/doc/Makefile.lite
+++ /dev/null
@@ -1,28 +0,0 @@
-# flac - Command-line FLAC encoder/decoder
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-topdir = ..
-
-FLAC.tag: Doxyfile
- rm -rf doxytmp
- doxygen Doxyfile
- rm -rf html/api
- mv doxytmp/html html/api
- rm -rf doxytmp
-
-clean:
- rm -rf FLAC.tag html/api doxytmp
diff --git a/3rdparty/libflac/doc/doxygen.footer.html b/3rdparty/libflac/doc/doxygen.footer.html
deleted file mode 100644
index bee40c31ca2..00000000000
--- a/3rdparty/libflac/doc/doxygen.footer.html
+++ /dev/null
@@ -1,23 +0,0 @@
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/doxygen.header.html b/3rdparty/libflac/doc/doxygen.header.html
deleted file mode 100644
index c1ee98f650e..00000000000
--- a/3rdparty/libflac/doc/doxygen.header.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
diff --git a/3rdparty/libflac/doc/html/Makefile.am b/3rdparty/libflac/doc/html/Makefile.am
deleted file mode 100644
index 2879c313d25..00000000000
--- a/3rdparty/libflac/doc/html/Makefile.am
+++ /dev/null
@@ -1,80 +0,0 @@
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-AUTOMAKE_OPTIONS = foreign
-
-SUBDIRS = ru images
-
-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html
-
-doc_DATA = \
- changelog.html \
- comparison.html \
- comparison__chopin_prelude_24.html \
- comparison__dream_theater_600.html \
- comparison__eddie_warner_titus.html \
- comparison__fanfare_de_l_eventail_de_jeanne.html \
- comparison__gloria_estefan_conga.html \
- comparison__hand_in_my_pocket.html \
- comparison__l_sub_raga_sivapriya.html \
- comparison__laetatus_sum.html \
- comparison__mummified_in_barbed_wire.html \
- comparison__prokofiev_pcon3_3.html \
- comparison__ravel_sq4_4.html \
- comparison__scarlatti_k42.html \
- comparison__tool_forty_six_and_2.html \
- comparison__white_room.html \
- comparison_all_cpudectime.html \
- comparison_all_cpuenctime.html \
- comparison_all_procdectime.html \
- comparison_all_procenctime.html \
- comparison_all_ratio.html \
- developers.html \
- documentation.html \
- documentation_bugs.html \
- documentation_example_code.html \
- documentation_format_overview.html \
- documentation_tasks.html \
- documentation_tools.html \
- documentation_tools_flac.html \
- documentation_tools_metaflac.html \
- documentation_tools_plugins.html \
- download.html \
- faq.html \
- favicon.ico \
- features.html \
- flac.css \
- format.html \
- id.html \
- index.html \
- itunes.html \
- license.html \
- links.html \
- news.html \
- ogg_mapping.html
-
-EXTRA_DIST = $(doc_DATA) api
-
-# The install targets don't copy whole directories so we have to
-# handle 'api/' specially:
-install-data-local:
- $(mkinstalldirs) $(DESTDIR)$(docdir)/api
- (cd api && $(INSTALL_DATA) * $(DESTDIR)$(docdir)/api)
-uninstall-local:
- rm -rf $(DESTDIR)$(docdir)/api
-maintainer-clean-local:
- rm -rf api
diff --git a/3rdparty/libflac/doc/html/Makefile.in b/3rdparty/libflac/doc/html/Makefile.in
deleted file mode 100644
index fbdb57e499c..00000000000
--- a/3rdparty/libflac/doc/html/Makefile.in
+++ /dev/null
@@ -1,607 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-AUTOMAKE_OPTIONS = foreign
-
-SUBDIRS = ru images
-
-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html
-
-doc_DATA = \
- changelog.html \
- comparison.html \
- comparison__chopin_prelude_24.html \
- comparison__dream_theater_600.html \
- comparison__eddie_warner_titus.html \
- comparison__fanfare_de_l_eventail_de_jeanne.html \
- comparison__gloria_estefan_conga.html \
- comparison__hand_in_my_pocket.html \
- comparison__l_sub_raga_sivapriya.html \
- comparison__laetatus_sum.html \
- comparison__mummified_in_barbed_wire.html \
- comparison__prokofiev_pcon3_3.html \
- comparison__ravel_sq4_4.html \
- comparison__scarlatti_k42.html \
- comparison__tool_forty_six_and_2.html \
- comparison__white_room.html \
- comparison_all_cpudectime.html \
- comparison_all_cpuenctime.html \
- comparison_all_procdectime.html \
- comparison_all_procenctime.html \
- comparison_all_ratio.html \
- developers.html \
- documentation.html \
- documentation_bugs.html \
- documentation_example_code.html \
- documentation_format_overview.html \
- documentation_tasks.html \
- documentation_tools.html \
- documentation_tools_flac.html \
- documentation_tools_metaflac.html \
- documentation_tools_plugins.html \
- download.html \
- faq.html \
- favicon.ico \
- features.html \
- flac.css \
- format.html \
- id.html \
- index.html \
- itunes.html \
- license.html \
- links.html \
- news.html \
- ogg_mapping.html
-
-
-EXTRA_DIST = $(doc_DATA) api
-subdir = doc/html
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DATA = $(doc_DATA)
-
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign doc/html/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-docDATA_INSTALL = $(INSTALL_DATA)
-install-docDATA: $(doc_DATA)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(docdir)
- @list='$(doc_DATA)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(docDATA_INSTALL) $$d$$p $(DESTDIR)$(docdir)/$$f"; \
- $(docDATA_INSTALL) $$d$$p $(DESTDIR)$(docdir)/$$f; \
- done
-
-uninstall-docDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(doc_DATA)'; for p in $$list; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(docdir)/$$f"; \
- rm -f $(DESTDIR)$(docdir)/$$f; \
- done
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- else \
- include_option=--include; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(DATA)
-installdirs: installdirs-recursive
-installdirs-am:
- $(mkinstalldirs) $(DESTDIR)$(docdir)
-
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-data-local install-docDATA
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic \
- maintainer-clean-local
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-docDATA uninstall-info-am uninstall-local
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-local \
- install-data-recursive install-docDATA install-exec \
- install-exec-am install-exec-recursive install-info \
- install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-local maintainer-clean-recursive mostlyclean \
- mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
- pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \
- tags-recursive uninstall uninstall-am uninstall-docDATA \
- uninstall-info-am uninstall-info-recursive uninstall-local \
- uninstall-recursive
-
-
-# The install targets don't copy whole directories so we have to
-# handle 'api/' specially:
-install-data-local:
- $(mkinstalldirs) $(DESTDIR)$(docdir)/api
- (cd api && $(INSTALL_DATA) * $(DESTDIR)$(docdir)/api)
-uninstall-local:
- rm -rf $(DESTDIR)$(docdir)/api
-maintainer-clean-local:
- rm -rf api
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/doc/html/api/+_2all_8h-source.html b/3rdparty/libflac/doc/html/api/+_2all_8h-source.html
deleted file mode 100644
index 18e1fdc0e23..00000000000
--- a/3rdparty/libflac/doc/html/api/+_2all_8h-source.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC++/all.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000001.html">FLAC++</a></div>
-<h1>all.h</h1><div class="fragment"><pre class="fragment">00001 <span class="comment">/* libFLAC++ - Free Lossless Audio Codec library</span>
-00002 <span class="comment"> * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson</span>
-00003 <span class="comment"> *</span>
-00004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
-00005 <span class="comment"> * modification, are permitted provided that the following conditions</span>
-00006 <span class="comment"> * are met:</span>
-00007 <span class="comment"> *</span>
-00008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span>
-00009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
-00010 <span class="comment"> *</span>
-00011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span>
-00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
-00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
-00014 <span class="comment"> *</span>
-00015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span>
-00016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span>
-00017 <span class="comment"> * this software without specific prior written permission.</span>
-00018 <span class="comment"> *</span>
-00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-00020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR</span>
-00023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span>
-00024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span>
-00025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span>
-00026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span>
-00027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span>
-00028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span>
-00029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-00030 <span class="comment"> */</span>
-00031
-00032 <span class="preprocessor">#ifndef FLACPP__ALL_H</span>
-00033 <span class="preprocessor"></span><span class="preprocessor">#define FLACPP__ALL_H</span>
-00034 <span class="preprocessor"></span>
-00035 <span class="preprocessor">#include "<a class="code" href="+_2export_8h.html">export.h</a>"</span>
-00036
-00037 <span class="preprocessor">#include "<a class="code" href="encoder_8h.html">encoder.h</a>"</span>
-00038 <span class="preprocessor">#include "<a class="code" href="decoder_8h.html">decoder.h</a>"</span>
-00039 <span class="preprocessor">#include "<a class="code" href="+_2metadata_8h.html">metadata.h</a>"</span>
-00040
-00048 <span class="preprocessor">#endif</span>
-</pre></div>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/+_2export_8h-source.html b/3rdparty/libflac/doc/html/api/+_2export_8h-source.html
deleted file mode 100644
index 0a572f98f0e..00000000000
--- a/3rdparty/libflac/doc/html/api/+_2export_8h-source.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC++/export.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000001.html">FLAC++</a></div>
-<h1>export.h</h1><a href="+_2export_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/* libFLAC++ - Free Lossless Audio Codec library</span>
-00002 <span class="comment"> * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson</span>
-00003 <span class="comment"> *</span>
-00004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
-00005 <span class="comment"> * modification, are permitted provided that the following conditions</span>
-00006 <span class="comment"> * are met:</span>
-00007 <span class="comment"> *</span>
-00008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span>
-00009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
-00010 <span class="comment"> *</span>
-00011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span>
-00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
-00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
-00014 <span class="comment"> *</span>
-00015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span>
-00016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span>
-00017 <span class="comment"> * this software without specific prior written permission.</span>
-00018 <span class="comment"> *</span>
-00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-00020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR</span>
-00023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span>
-00024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span>
-00025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span>
-00026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span>
-00027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span>
-00028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span>
-00029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-00030 <span class="comment"> */</span>
-00031
-00032 <span class="preprocessor">#ifndef FLACPP__EXPORT_H</span>
-00033 <span class="preprocessor"></span><span class="preprocessor">#define FLACPP__EXPORT_H</span>
-00034 <span class="preprocessor"></span>
-00058 <span class="preprocessor">#if defined(FLAC__NO_DLL) || !defined(_MSC_VER)</span>
-00059 <span class="preprocessor"></span><span class="preprocessor">#define FLACPP_API</span>
-00060 <span class="preprocessor"></span>
-00061 <span class="preprocessor">#else</span>
-00062 <span class="preprocessor"></span>
-00063 <span class="preprocessor">#ifdef FLACPP_API_EXPORTS</span>
-00064 <span class="preprocessor"></span><span class="preprocessor">#define FLACPP_API _declspec(dllexport)</span>
-00065 <span class="preprocessor"></span><span class="preprocessor">#else</span>
-00066 <span class="preprocessor"></span><span class="preprocessor">#define FLACPP_API _declspec(dllimport)</span>
-00067 <span class="preprocessor"></span>
-00068 <span class="preprocessor">#endif</span>
-00069 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-00070 <span class="preprocessor"></span>
-00071 <span class="comment">/* These #defines will mirror the libtool-based library version number, see</span>
-00072 <span class="comment"> * http://www.gnu.org/software/libtool/manual.html#Libtool-versioning</span>
-00073 <span class="comment"> */</span>
-00074 <span class="preprocessor">#define FLACPP_API_VERSION_CURRENT 8</span>
-00075 <span class="preprocessor"></span><span class="preprocessor">#define FLACPP_API_VERSION_REVISION 0</span>
-00076 <span class="preprocessor"></span><span class="preprocessor">#define FLACPP_API_VERSION_AGE 2</span>
-00077 <span class="preprocessor"></span>
-00078 <span class="comment">/* \} */</span>
-00079
-00080 <span class="preprocessor">#endif</span>
-</pre></div>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/+_2export_8h.html b/3rdparty/libflac/doc/html/api/+_2export_8h.html
deleted file mode 100644
index c3a482cdfef..00000000000
--- a/3rdparty/libflac/doc/html/api/+_2export_8h.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC++/export.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000001.html">FLAC++</a></div>
-<h1>export.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module contains #defines and symbols for exporting function calls, and providing version information and compiled-in features.
-<p>
-See the <a class="el" href="group__flacpp__export.html">export </a> module.
-<p>
-
-<p>
-<a href="+_2export_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga0" doxytag="+/export.h::FLACPP_API"></a>
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>FLACPP_API</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga1" doxytag="+/export.h::FLACPP_API_VERSION_CURRENT"></a>
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>FLACPP_API_VERSION_CURRENT</b>&nbsp;&nbsp;&nbsp;8</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga2" doxytag="+/export.h::FLACPP_API_VERSION_REVISION"></a>
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>FLACPP_API_VERSION_REVISION</b>&nbsp;&nbsp;&nbsp;0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga3" doxytag="+/export.h::FLACPP_API_VERSION_AGE"></a>
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>FLACPP_API_VERSION_AGE</b>&nbsp;&nbsp;&nbsp;2</td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/+_2metadata_8h-source.html b/3rdparty/libflac/doc/html/api/+_2metadata_8h-source.html
deleted file mode 100644
index a2b69d7853d..00000000000
--- a/3rdparty/libflac/doc/html/api/+_2metadata_8h-source.html
+++ /dev/null
@@ -1,751 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC++/metadata.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000001.html">FLAC++</a></div>
-<h1>metadata.h</h1><a href="+_2metadata_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/* libFLAC++ - Free Lossless Audio Codec library</span>
-00002 <span class="comment"> * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson</span>
-00003 <span class="comment"> *</span>
-00004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
-00005 <span class="comment"> * modification, are permitted provided that the following conditions</span>
-00006 <span class="comment"> * are met:</span>
-00007 <span class="comment"> *</span>
-00008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span>
-00009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
-00010 <span class="comment"> *</span>
-00011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span>
-00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
-00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
-00014 <span class="comment"> *</span>
-00015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span>
-00016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span>
-00017 <span class="comment"> * this software without specific prior written permission.</span>
-00018 <span class="comment"> *</span>
-00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-00020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR</span>
-00023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span>
-00024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span>
-00025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span>
-00026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span>
-00027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span>
-00028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span>
-00029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-00030 <span class="comment"> */</span>
-00031
-00032 <span class="preprocessor">#ifndef FLACPP__METADATA_H</span>
-00033 <span class="preprocessor"></span><span class="preprocessor">#define FLACPP__METADATA_H</span>
-00034 <span class="preprocessor"></span>
-00035 <span class="preprocessor">#include "<a class="code" href="+_2export_8h.html">export.h</a>"</span>
-00036
-00037 <span class="preprocessor">#include "<a class="code" href="metadata_8h.html">FLAC/metadata.h</a>"</span>
-00038
-00039 <span class="comment">// ===============================================================</span>
-00040 <span class="comment">//</span>
-00041 <span class="comment">// Full documentation for the metadata interface can be found</span>
-00042 <span class="comment">// in the C layer in include/FLAC/metadata.h</span>
-00043 <span class="comment">//</span>
-00044 <span class="comment">// ===============================================================</span>
-00045
-00074 <span class="keyword">namespace </span>FLAC {
-00075 <span class="keyword">namespace </span>Metadata {
-00076
-00077 <span class="comment">// ============================================================</span>
-00078 <span class="comment">//</span>
-00079 <span class="comment">// Metadata objects</span>
-00080 <span class="comment">//</span>
-00081 <span class="comment">// ============================================================</span>
-00082
-<a name="l00108"></a><a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html">00108</a> <span class="keyword">class </span>FLACPP_API Prototype {
-00109 <span class="keyword">protected</span>:
-00111
-00114 Prototype(<span class="keyword">const</span> Prototype &amp;);
-00115 Prototype(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;);
-00116 Prototype(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *);
-00118
-00129 Prototype(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy);
-00130
-00132
-00133 Prototype &amp;operator=(<span class="keyword">const</span> Prototype &amp;);
-00134 Prototype &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;);
-00135 Prototype &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *);
-00137
-00141 Prototype &amp;assign_object(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy);
-00142
-00145 <span class="keyword">virtual</span> <span class="keywordtype">void</span> clear();
-00146
-00147 ::FLAC__StreamMetadata *object_;
-00148 <span class="keyword">public</span>:
-00151 <span class="keyword">virtual</span> ~Prototype();
-00152
-00154
-00156 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> Prototype &amp;) <span class="keyword">const</span>;
-00157 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;) <span class="keyword">const</span>;
-00158 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *) <span class="keyword">const</span>;
-00160
-00162
-00163 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> Prototype &amp;) <span class="keyword">const</span>;
-00164 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;) <span class="keyword">const</span>;
-00165 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *) <span class="keyword">const</span>;
-00167
-00168 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">SimpleIterator</a>;
-00169 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classFLAC_1_1Metadata_1_1Iterator.html">Iterator</a>;
-00170
-00175 <span class="keyword">inline</span> <span class="keywordtype">bool</span> is_valid() <span class="keyword">const</span>;
-00176
-00183 <span class="keywordtype">bool</span> get_is_last() <span class="keyword">const</span>;
-00184
-00190 <a class="code" href="group__flac__format.html#ga113"> ::FLAC__MetadataType</a> get_type() <span class="keyword">const</span>;
-00191
-00201 <span class="keywordtype">unsigned</span> get_length() <span class="keyword">const</span>;
-00202
-00209 <span class="keywordtype">void</span> set_is_last(<span class="keywordtype">bool</span>);
-00210
-00218 <span class="keyword">inline</span> operator const ::FLAC__StreamMetadata *() <span class="keyword">const</span>;
-00219 <span class="keyword">private</span>:
-00221 Prototype();
-00222
-00223 <span class="comment">// These are used only by Iterator</span>
-00224 <span class="keywordtype">bool</span> is_reference_;
-00225 <span class="keyword">inline</span> <span class="keywordtype">void</span> set_reference(<span class="keywordtype">bool</span> x) { is_reference_ = x; }
-00226 };
-00227
-00228 <span class="preprocessor">#ifdef _MSC_VER</span>
-00229 <span class="preprocessor"></span><span class="comment">// warning C4800: 'int' : forcing to bool 'true' or 'false' (performance warning)</span>
-00230 <span class="preprocessor">#pragma warning ( disable : 4800 )</span>
-00231 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-00232 <span class="preprocessor"></span>
-<a name="l00233"></a><a class="code" href="group__flacpp__metadata__object.html#ga1">00233</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(<span class="keyword">const</span> Prototype &amp;object)<span class="keyword"> const</span>
-00234 <span class="keyword"> </span>{ <span class="keywordflow">return</span> (<span class="keywordtype">bool</span>)<a class="code" href="group__flac__metadata__object.html#ga3">::FLAC__metadata_object_is_equal</a>(object_, object.<a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentp0">object_</a>); }
-00235
-00236 <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const</span>
-00237 <span class="keyword"> </span>{ <span class="keywordflow">return</span> (<span class="keywordtype">bool</span>)<a class="code" href="group__flac__metadata__object.html#ga3">::FLAC__metadata_object_is_equal</a>(object_, &amp;object); }
-00238
-00239 <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const</span>
-00240 <span class="keyword"> </span>{ <span class="keywordflow">return</span> (<span class="keywordtype">bool</span>)<a class="code" href="group__flac__metadata__object.html#ga3">::FLAC__metadata_object_is_equal</a>(object_, object); }
-00241
-00242 <span class="preprocessor">#ifdef _MSC_VER</span>
-00243 <span class="preprocessor"></span><span class="comment">// @@@ how to re-enable? the following doesn't work</span>
-00244 <span class="comment">// #pragma warning ( enable : 4800 )</span>
-00245 <span class="preprocessor">#endif</span>
-00246 <span class="preprocessor"></span>
-<a name="l00247"></a><a class="code" href="group__flacpp__metadata__object.html#ga4">00247</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(<span class="keyword">const</span> Prototype &amp;object)<span class="keyword"> const</span>
-00248 <span class="keyword"> </span>{ <span class="keywordflow">return</span> !<a class="code" href="group__flacpp__metadata__object.html#ga1">operator==</a>(object); }
-00249
-00250 <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const</span>
-00251 <span class="keyword"> </span>{ <span class="keywordflow">return</span> !<a class="code" href="group__flacpp__metadata__object.html#ga1">operator==</a>(object); }
-00252
-00253 <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const</span>
-00254 <span class="keyword"> </span>{ <span class="keywordflow">return</span> !<a class="code" href="group__flacpp__metadata__object.html#ga1">operator==</a>(object); }
-00255
-<a name="l00256"></a><a class="code" href="group__flacpp__metadata__object.html#ga7">00256</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga7">Prototype::is_valid</a>()<span class="keyword"> const</span>
-00257 <span class="keyword"> </span>{ <span class="keywordflow">return</span> 0 != object_; }
-00258
-<a name="l00259"></a><a class="code" href="group__flacpp__metadata__object.html#ga8">00259</a> <span class="keyword">inline</span> Prototype::operator const ::FLAC__StreamMetadata *()<span class="keyword"> const</span>
-00260 <span class="keyword"> </span>{ <span class="keywordflow">return</span> object_; }
-00261
-00263 FLACPP_API Prototype *<a class="code" href="group__flacpp__metadata__object.html#ga0">clone</a>(<span class="keyword">const</span> Prototype *);
-00264
-00265
-<a name="l00270"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html">00270</a> <span class="keyword">class </span>FLACPP_API StreamInfo : <span class="keyword">public</span> Prototype {
-00271 <span class="keyword">public</span>:
-00272 StreamInfo();
-00273
-00275
-<a name="l00278"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa1">00278</a> <span class="keyword">inline</span> StreamInfo(<span class="keyword">const</span> StreamInfo &amp;object): Prototype(object) { }
-00279 <span class="keyword">inline</span> StreamInfo(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object): Prototype(object) { }
-00280 <span class="keyword">inline</span> StreamInfo(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { }
-00282
-<a name="l00286"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa4">00286</a> <span class="keyword">inline</span> StreamInfo(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { }
-00287
-00288 ~StreamInfo();
-00289
-00291
-<a name="l00292"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa6">00292</a> <span class="keyword">inline</span> StreamInfo &amp;operator=(<span class="keyword">const</span> StreamInfo &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00293 <span class="keyword">inline</span> StreamInfo &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00294 <span class="keyword">inline</span> StreamInfo &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00296
-<a name="l00300"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa9">00300</a> <span class="keyword">inline</span> StreamInfo &amp;assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00301
-00303
-<a name="l00304"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa10">00304</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> StreamInfo &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00305 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00306 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00308
-00310
-<a name="l00311"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa13">00311</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> StreamInfo &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00312 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00313 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00315
-00317
-00318 <span class="keywordtype">unsigned</span> get_min_blocksize() <span class="keyword">const</span>;
-00319 <span class="keywordtype">unsigned</span> get_max_blocksize() <span class="keyword">const</span>;
-00320 <span class="keywordtype">unsigned</span> get_min_framesize() <span class="keyword">const</span>;
-00321 <span class="keywordtype">unsigned</span> get_max_framesize() <span class="keyword">const</span>;
-00322 <span class="keywordtype">unsigned</span> get_sample_rate() <span class="keyword">const</span>;
-00323 <span class="keywordtype">unsigned</span> get_channels() <span class="keyword">const</span>;
-00324 <span class="keywordtype">unsigned</span> get_bits_per_sample() <span class="keyword">const</span>;
-00325 FLAC__uint64 get_total_samples() <span class="keyword">const</span>;
-00326 <span class="keyword">const</span> FLAC__byte *get_md5sum() <span class="keyword">const</span>;
-00327
-00328 <span class="keywordtype">void</span> set_min_blocksize(<span class="keywordtype">unsigned</span> value);
-00329 <span class="keywordtype">void</span> set_max_blocksize(<span class="keywordtype">unsigned</span> value);
-00330 <span class="keywordtype">void</span> set_min_framesize(<span class="keywordtype">unsigned</span> value);
-00331 <span class="keywordtype">void</span> set_max_framesize(<span class="keywordtype">unsigned</span> value);
-00332 <span class="keywordtype">void</span> set_sample_rate(<span class="keywordtype">unsigned</span> value);
-00333 <span class="keywordtype">void</span> set_channels(<span class="keywordtype">unsigned</span> value);
-00334 <span class="keywordtype">void</span> set_bits_per_sample(<span class="keywordtype">unsigned</span> value);
-00335 <span class="keywordtype">void</span> set_total_samples(FLAC__uint64 value);
-00336 <span class="keywordtype">void</span> set_md5sum(<span class="keyword">const</span> FLAC__byte value[16]);
-00338 };
-00339
-<a name="l00344"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html">00344</a> <span class="keyword">class </span>FLACPP_API Padding : <span class="keyword">public</span> Prototype {
-00345 <span class="keyword">public</span>:
-00346 Padding();
-00347
-00349
-<a name="l00352"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga1">00352</a> <span class="keyword">inline</span> Padding(<span class="keyword">const</span> Padding &amp;object): Prototype(object) { }
-00353 <span class="keyword">inline</span> Padding(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object): Prototype(object) { }
-00354 <span class="keyword">inline</span> Padding(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { }
-00356
-<a name="l00360"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga4">00360</a> <span class="keyword">inline</span> Padding(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { }
-00361
-00362 ~Padding();
-00363
-00365
-<a name="l00366"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga6">00366</a> <span class="keyword">inline</span> Padding &amp;operator=(<span class="keyword">const</span> Padding &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00367 <span class="keyword">inline</span> Padding &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00368 <span class="keyword">inline</span> Padding &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00370
-<a name="l00374"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga9">00374</a> <span class="keyword">inline</span> Padding &amp;assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00375
-00377
-<a name="l00378"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga10">00378</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> Padding &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00379 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00380 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00382
-00384
-<a name="l00385"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga13">00385</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> Padding &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00386 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00387 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00389
-00390 <span class="keywordtype">void</span> set_length(<span class="keywordtype">unsigned</span> length);
-00391 };
-00392
-<a name="l00397"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html">00397</a> <span class="keyword">class </span>FLACPP_API Application : <span class="keyword">public</span> Prototype {
-00398 <span class="keyword">public</span>:
-00399 Application();
-00400 <span class="comment">//</span>
-00402 <span class="comment"></span>
-<a name="l00405"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa1">00405</a> <span class="keyword">inline</span> Application(<span class="keyword">const</span> Application &amp;object): Prototype(object) { }
-00406 <span class="keyword">inline</span> Application(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object): Prototype(object) { }
-00407 <span class="keyword">inline</span> Application(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { }
-00409
-<a name="l00413"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa4">00413</a> <span class="keyword">inline</span> Application(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { }
-00414
-00415 ~Application();
-00416
-00418
-<a name="l00419"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa6">00419</a> <span class="keyword">inline</span> Application &amp;operator=(<span class="keyword">const</span> Application &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00420 <span class="keyword">inline</span> Application &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00421 <span class="keyword">inline</span> Application &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00423
-<a name="l00427"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa9">00427</a> <span class="keyword">inline</span> Application &amp;assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00428
-00430
-<a name="l00431"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa10">00431</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> Application &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00432 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00433 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00435
-00437
-<a name="l00438"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa13">00438</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> Application &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00439 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00440 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00442
-00443 <span class="keyword">const</span> FLAC__byte *get_id() <span class="keyword">const</span>;
-00444 <span class="keyword">const</span> FLAC__byte *get_data() <span class="keyword">const</span>;
-00445
-00446 <span class="keywordtype">void</span> set_id(<span class="keyword">const</span> FLAC__byte value[4]);
-00448 <span class="keywordtype">bool</span> set_data(<span class="keyword">const</span> FLAC__byte *data, <span class="keywordtype">unsigned</span> length);
-00449 <span class="keywordtype">bool</span> set_data(FLAC__byte *data, <span class="keywordtype">unsigned</span> length, <span class="keywordtype">bool</span> copy);
-00450 };
-00451
-<a name="l00456"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html">00456</a> <span class="keyword">class </span>FLACPP_API SeekTable : <span class="keyword">public</span> Prototype {
-00457 <span class="keyword">public</span>:
-00458 SeekTable();
-00459
-00461
-<a name="l00464"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea1">00464</a> <span class="keyword">inline</span> SeekTable(<span class="keyword">const</span> SeekTable &amp;object): Prototype(object) { }
-00465 <span class="keyword">inline</span> SeekTable(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object): Prototype(object) { }
-00466 <span class="keyword">inline</span> SeekTable(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { }
-00468
-<a name="l00472"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea4">00472</a> <span class="keyword">inline</span> SeekTable(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { }
-00473
-00474 ~SeekTable();
-00475
-00477
-<a name="l00478"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea6">00478</a> <span class="keyword">inline</span> SeekTable &amp;operator=(<span class="keyword">const</span> SeekTable &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00479 <span class="keyword">inline</span> SeekTable &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00480 <span class="keyword">inline</span> SeekTable &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00482
-<a name="l00486"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea9">00486</a> <span class="keyword">inline</span> SeekTable &amp;assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00487
-00489
-<a name="l00490"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea10">00490</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> SeekTable &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00491 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00492 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00494
-00496
-<a name="l00497"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea13">00497</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> SeekTable &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00498 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00499 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00501
-00502 <span class="keywordtype">unsigned</span> get_num_points() <span class="keyword">const</span>;
-00503 ::FLAC__StreamMetadata_SeekPoint get_point(<span class="keywordtype">unsigned</span> index) <span class="keyword">const</span>;
-00504
-00506 <span class="keywordtype">void</span> set_point(<span class="keywordtype">unsigned</span> index, <span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> &amp;point);
-00507
-00509 <span class="keywordtype">bool</span> insert_point(<span class="keywordtype">unsigned</span> index, <span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> &amp;point);
-00510
-00512 <span class="keywordtype">bool</span> delete_point(<span class="keywordtype">unsigned</span> index);
-00513
-00515 <span class="keywordtype">bool</span> is_legal() <span class="keyword">const</span>;
-00516 };
-00517
-<a name="l00522"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html">00522</a> <span class="keyword">class </span>FLACPP_API VorbisComment : <span class="keyword">public</span> Prototype {
-00523 <span class="keyword">public</span>:
-<a name="l00553"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">00553</a> <span class="keyword">class </span>FLACPP_API Entry {
-00554 <span class="keyword">public</span>:
-00555 Entry();
-00556
-00557 Entry(<span class="keyword">const</span> <span class="keywordtype">char</span> *field, <span class="keywordtype">unsigned</span> field_length);
-00558 Entry(<span class="keyword">const</span> <span class="keywordtype">char</span> *field); <span class="comment">// assumes \a field is NUL-terminated</span>
-00559
-00560 Entry(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_name, <span class="keyword">const</span> <span class="keywordtype">char</span> *field_value, <span class="keywordtype">unsigned</span> field_value_length);
-00561 Entry(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_name, <span class="keyword">const</span> <span class="keywordtype">char</span> *field_value); <span class="comment">// assumes \a field_value is NUL-terminated</span>
-00562
-00563 Entry(<span class="keyword">const</span> Entry &amp;entry);
-00564
-00565 Entry &amp;operator=(<span class="keyword">const</span> Entry &amp;entry);
-00566
-00567 <span class="keyword">virtual</span> ~Entry();
-00568
-00569 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> is_valid() <span class="keyword">const</span>;
-00570
-00571 <span class="keywordtype">unsigned</span> get_field_length() <span class="keyword">const</span>;
-00572 <span class="keywordtype">unsigned</span> get_field_name_length() <span class="keyword">const</span>;
-00573 <span class="keywordtype">unsigned</span> get_field_value_length() <span class="keyword">const</span>;
-00574
-00575 ::FLAC__StreamMetadata_VorbisComment_Entry get_entry() <span class="keyword">const</span>;
-00576 <span class="keyword">const</span> <span class="keywordtype">char</span> *get_field() <span class="keyword">const</span>;
-00577 <span class="keyword">const</span> <span class="keywordtype">char</span> *get_field_name() <span class="keyword">const</span>;
-00578 <span class="keyword">const</span> <span class="keywordtype">char</span> *get_field_value() <span class="keyword">const</span>;
-00579
-00580 <span class="keywordtype">bool</span> set_field(<span class="keyword">const</span> <span class="keywordtype">char</span> *field, <span class="keywordtype">unsigned</span> field_length);
-00581 <span class="keywordtype">bool</span> set_field(<span class="keyword">const</span> <span class="keywordtype">char</span> *field); <span class="comment">// assumes \a field is NUL-terminated</span>
-00582 <span class="keywordtype">bool</span> set_field_name(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_name);
-00583 <span class="keywordtype">bool</span> set_field_value(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_value, <span class="keywordtype">unsigned</span> field_value_length);
-00584 <span class="keywordtype">bool</span> set_field_value(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_value); <span class="comment">// assumes \a field_value is NUL-terminated</span>
-00585 <span class="keyword">protected</span>:
-00586 <span class="keywordtype">bool</span> is_valid_;
-00587 ::FLAC__StreamMetadata_VorbisComment_Entry entry_;
-00588 <span class="keywordtype">char</span> *field_name_;
-00589 <span class="keywordtype">unsigned</span> field_name_length_;
-00590 <span class="keywordtype">char</span> *field_value_;
-00591 <span class="keywordtype">unsigned</span> field_value_length_;
-00592 <span class="keyword">private</span>:
-00593 <span class="keywordtype">void</span> zero();
-00594 <span class="keywordtype">void</span> clear();
-00595 <span class="keywordtype">void</span> clear_entry();
-00596 <span class="keywordtype">void</span> clear_field_name();
-00597 <span class="keywordtype">void</span> clear_field_value();
-00598 <span class="keywordtype">void</span> construct(<span class="keyword">const</span> <span class="keywordtype">char</span> *field, <span class="keywordtype">unsigned</span> field_length);
-00599 <span class="keywordtype">void</span> construct(<span class="keyword">const</span> <span class="keywordtype">char</span> *field); <span class="comment">// assumes \a field is NUL-terminated</span>
-00600 <span class="keywordtype">void</span> construct(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_name, <span class="keyword">const</span> <span class="keywordtype">char</span> *field_value, <span class="keywordtype">unsigned</span> field_value_length);
-00601 <span class="keywordtype">void</span> construct(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_name, <span class="keyword">const</span> <span class="keywordtype">char</span> *field_value); <span class="comment">// assumes \a field_value is NUL-terminated</span>
-00602 <span class="keywordtype">void</span> compose_field();
-00603 <span class="keywordtype">void</span> parse_field();
-00604 };
-00605
-00606 VorbisComment();
-00607
-00609
-<a name="l00612"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta1">00612</a> <span class="keyword">inline</span> VorbisComment(<span class="keyword">const</span> VorbisComment &amp;object): Prototype(object) { }
-00613 <span class="keyword">inline</span> VorbisComment(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object): Prototype(object) { }
-00614 <span class="keyword">inline</span> VorbisComment(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { }
-00616
-<a name="l00620"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta4">00620</a> <span class="keyword">inline</span> VorbisComment(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { }
-00621
-00622 ~VorbisComment();
-00623
-00625
-<a name="l00626"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta6">00626</a> <span class="keyword">inline</span> VorbisComment &amp;operator=(<span class="keyword">const</span> VorbisComment &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00627 <span class="keyword">inline</span> VorbisComment &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00628 <span class="keyword">inline</span> VorbisComment &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00630
-<a name="l00634"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta9">00634</a> <span class="keyword">inline</span> VorbisComment &amp;assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00635
-00637
-<a name="l00638"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta10">00638</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> VorbisComment &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00639 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00640 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00642
-00644
-<a name="l00645"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta13">00645</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> VorbisComment &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00646 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00647 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00649
-00650 <span class="keywordtype">unsigned</span> get_num_comments() <span class="keyword">const</span>;
-00651 <span class="keyword">const</span> FLAC__byte *get_vendor_string() <span class="keyword">const</span>; <span class="comment">// NUL-terminated UTF-8 string</span>
-00652 Entry get_comment(<span class="keywordtype">unsigned</span> index) <span class="keyword">const</span>;
-00653
-00655 <span class="keywordtype">bool</span> set_vendor_string(<span class="keyword">const</span> FLAC__byte *string); <span class="comment">// NUL-terminated UTF-8 string</span>
-00656
-00658 <span class="keywordtype">bool</span> set_comment(<span class="keywordtype">unsigned</span> index, <span class="keyword">const</span> Entry &amp;entry);
-00659
-00661 <span class="keywordtype">bool</span> insert_comment(<span class="keywordtype">unsigned</span> index, <span class="keyword">const</span> Entry &amp;entry);
-00662
-00664 <span class="keywordtype">bool</span> append_comment(<span class="keyword">const</span> Entry &amp;entry);
-00665
-00667 <span class="keywordtype">bool</span> delete_comment(<span class="keywordtype">unsigned</span> index);
-00668 };
-00669
-<a name="l00674"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html">00674</a> <span class="keyword">class </span>FLACPP_API CueSheet : <span class="keyword">public</span> Prototype {
-00675 <span class="keyword">public</span>:
-<a name="l00682"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">00682</a> <span class="keyword">class </span>FLACPP_API Track {
-00683 <span class="keyword">protected</span>:
-00684 ::FLAC__StreamMetadata_CueSheet_Track *object_;
-00685 <span class="keyword">public</span>:
-00686 Track();
-00687 Track(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *track);
-00688 Track(<span class="keyword">const</span> Track &amp;track);
-00689 Track &amp;operator=(<span class="keyword">const</span> Track &amp;track);
-00690
-00691 <span class="keyword">virtual</span> ~Track();
-00692
-00693 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> is_valid() <span class="keyword">const</span>;
-00694
-00695
-00696 <span class="keyword">inline</span> FLAC__uint64 get_offset()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_-&gt;offset; }
-00697 <span class="keyword">inline</span> FLAC__byte get_number()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_-&gt;number; }
-00698 <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *get_isrc()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_-&gt;isrc; }
-00699 <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> get_type()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_-&gt;type; }
-00700 <span class="keyword">inline</span> <span class="keywordtype">bool</span> get_pre_emphasis()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_-&gt;pre_emphasis; }
-00701
-00702 <span class="keyword">inline</span> FLAC__byte get_num_indices()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_-&gt;num_indices; }
-00703 ::FLAC__StreamMetadata_CueSheet_Index get_index(<span class="keywordtype">unsigned</span> i) <span class="keyword">const</span>;
-00704
-00705 <span class="keyword">inline</span> const ::FLAC__StreamMetadata_CueSheet_Track *get_track()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_; }
-00706
-00707 <span class="keyword">inline</span> <span class="keywordtype">void</span> set_offset(FLAC__uint64 value) { object_-&gt;offset = value; }
-00708 <span class="keyword">inline</span> <span class="keywordtype">void</span> set_number(FLAC__byte value) { object_-&gt;number = value; }
-00709 <span class="keywordtype">void</span> set_isrc(<span class="keyword">const</span> <span class="keywordtype">char</span> value[12]);
-00710 <span class="keywordtype">void</span> set_type(<span class="keywordtype">unsigned</span> value);
-00711 <span class="keyword">inline</span> <span class="keywordtype">void</span> set_pre_emphasis(<span class="keywordtype">bool</span> value) { object_-&gt;pre_emphasis = value? 1 : 0; }
-00712
-00713 <span class="keywordtype">void</span> set_index(<span class="keywordtype">unsigned</span> i, <span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> &amp;index);
-00714 <span class="comment">//@@@ It's awkward but to insert/delete index points</span>
-00715 <span class="comment">//@@@ you must use the routines in the CueSheet class.</span>
-00716 };
-00717
-00718 CueSheet();
-00719
-00721
-<a name="l00724"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta1">00724</a> <span class="keyword">inline</span> CueSheet(<span class="keyword">const</span> CueSheet &amp;object): Prototype(object) { }
-00725 <span class="keyword">inline</span> CueSheet(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object): Prototype(object) { }
-00726 <span class="keyword">inline</span> CueSheet(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { }
-00728
-<a name="l00732"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta4">00732</a> <span class="keyword">inline</span> CueSheet(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { }
-00733
-00734 ~CueSheet();
-00735
-00737
-<a name="l00738"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta6">00738</a> <span class="keyword">inline</span> CueSheet &amp;operator=(<span class="keyword">const</span> CueSheet &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00739 <span class="keyword">inline</span> CueSheet &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00740 <span class="keyword">inline</span> CueSheet &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00742
-<a name="l00746"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta9">00746</a> <span class="keyword">inline</span> CueSheet &amp;assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00747
-00749
-<a name="l00750"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta10">00750</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> CueSheet &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00751 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00752 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00754
-00756
-<a name="l00757"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta13">00757</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> CueSheet &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00758 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00759 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00761
-00762 <span class="keyword">const</span> <span class="keywordtype">char</span> *get_media_catalog_number() <span class="keyword">const</span>;
-00763 FLAC__uint64 get_lead_in() <span class="keyword">const</span>;
-00764 <span class="keywordtype">bool</span> get_is_cd() <span class="keyword">const</span>;
-00765
-00766 <span class="keywordtype">unsigned</span> get_num_tracks() <span class="keyword">const</span>;
-00767 Track get_track(<span class="keywordtype">unsigned</span> i) <span class="keyword">const</span>;
-00768
-00769 <span class="keywordtype">void</span> set_media_catalog_number(<span class="keyword">const</span> <span class="keywordtype">char</span> value[128]);
-00770 <span class="keywordtype">void</span> set_lead_in(FLAC__uint64 value);
-00771 <span class="keywordtype">void</span> set_is_cd(<span class="keywordtype">bool</span> value);
-00772
-00773 <span class="keywordtype">void</span> set_index(<span class="keywordtype">unsigned</span> track_num, <span class="keywordtype">unsigned</span> index_num, <span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> &amp;index);
-00774
-00776 <span class="keywordtype">bool</span> insert_index(<span class="keywordtype">unsigned</span> track_num, <span class="keywordtype">unsigned</span> index_num, <span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> &amp;index);
-00777
-00779 <span class="keywordtype">bool</span> delete_index(<span class="keywordtype">unsigned</span> track_num, <span class="keywordtype">unsigned</span> index_num);
-00780
-00782 <span class="keywordtype">bool</span> set_track(<span class="keywordtype">unsigned</span> i, <span class="keyword">const</span> Track &amp;track);
-00783
-00785 <span class="keywordtype">bool</span> insert_track(<span class="keywordtype">unsigned</span> i, <span class="keyword">const</span> Track &amp;track);
-00786
-00788 <span class="keywordtype">bool</span> delete_track(<span class="keywordtype">unsigned</span> i);
-00789
-00791 <span class="keywordtype">bool</span> is_legal(<span class="keywordtype">bool</span> check_cd_da_subset = <span class="keyword">false</span>, <span class="keyword">const</span> <span class="keywordtype">char</span> **violation = 0) <span class="keyword">const</span>;
-00792
-00794 FLAC__uint32 calculate_cddb_id() <span class="keyword">const</span>;
-00795 };
-00796
-<a name="l00801"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html">00801</a> <span class="keyword">class </span>FLACPP_API Picture : <span class="keyword">public</span> Prototype {
-00802 <span class="keyword">public</span>:
-00803 Picture();
-00804
-00806
-<a name="l00809"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea1">00809</a> <span class="keyword">inline</span> Picture(<span class="keyword">const</span> Picture &amp;object): Prototype(object) { }
-00810 <span class="keyword">inline</span> Picture(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object): Prototype(object) { }
-00811 <span class="keyword">inline</span> Picture(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { }
-00813
-<a name="l00817"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea4">00817</a> <span class="keyword">inline</span> Picture(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { }
-00818
-00819 ~Picture();
-00820
-00822
-<a name="l00823"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea6">00823</a> <span class="keyword">inline</span> Picture &amp;operator=(<span class="keyword">const</span> Picture &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00824 <span class="keyword">inline</span> Picture &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00825 <span class="keyword">inline</span> Picture &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00827
-<a name="l00831"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea9">00831</a> <span class="keyword">inline</span> Picture &amp;assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00832
-00834
-<a name="l00835"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea10">00835</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> Picture &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00836 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00837 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00839
-00841
-<a name="l00842"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea13">00842</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> Picture &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00843 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00844 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00846 <a class="code" href="group__flac__format.html#ga114"></a>
-00847 <a class="code" href="group__flac__format.html#ga114"> ::FLAC__StreamMetadata_Picture_Type</a> get_type() <span class="keyword">const</span>;
-00848 <span class="keyword">const</span> <span class="keywordtype">char</span> *get_mime_type() <span class="keyword">const</span>; <span class="comment">// NUL-terminated printable ASCII string</span>
-00849 <span class="keyword">const</span> FLAC__byte *get_description() <span class="keyword">const</span>; <span class="comment">// NUL-terminated UTF-8 string</span>
-00850 FLAC__uint32 get_width() <span class="keyword">const</span>;
-00851 FLAC__uint32 get_height() <span class="keyword">const</span>;
-00852 FLAC__uint32 get_depth() <span class="keyword">const</span>;
-00853 FLAC__uint32 get_colors() <span class="keyword">const</span>;
-00854 FLAC__uint32 get_data_length() <span class="keyword">const</span>;
-00855 <span class="keyword">const</span> FLAC__byte *get_data() <span class="keyword">const</span>;
-00856
-00857 <span class="keywordtype">void</span> set_type(::<a class="code" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> type);
-00858
-00860 <span class="keywordtype">bool</span> set_mime_type(<span class="keyword">const</span> <span class="keywordtype">char</span> *string); <span class="comment">// NUL-terminated printable ASCII string</span>
-00861
-00863 <span class="keywordtype">bool</span> set_description(<span class="keyword">const</span> FLAC__byte *string); <span class="comment">// NUL-terminated UTF-8 string</span>
-00864
-00865 <span class="keywordtype">void</span> set_width(FLAC__uint32 value) <span class="keyword">const</span>;
-00866 <span class="keywordtype">void</span> set_height(FLAC__uint32 value) <span class="keyword">const</span>;
-00867 <span class="keywordtype">void</span> set_depth(FLAC__uint32 value) <span class="keyword">const</span>;
-00868 <span class="keywordtype">void</span> set_colors(FLAC__uint32 value) <span class="keyword">const</span>;
-00869
-00871 <span class="keywordtype">bool</span> set_data(<span class="keyword">const</span> FLAC__byte *data, FLAC__uint32 data_length);
-00872 };
-00873
-<a name="l00880"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html">00880</a> <span class="keyword">class </span>FLACPP_API Unknown : <span class="keyword">public</span> Prototype {
-00881 <span class="keyword">public</span>:
-00882 Unknown();
-00883 <span class="comment">//</span>
-00885 <span class="comment"></span>
-<a name="l00888"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna1">00888</a> <span class="keyword">inline</span> Unknown(<span class="keyword">const</span> Unknown &amp;object): Prototype(object) { }
-00889 <span class="keyword">inline</span> Unknown(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object): Prototype(object) { }
-00890 <span class="keyword">inline</span> Unknown(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { }
-00892
-<a name="l00896"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna4">00896</a> <span class="keyword">inline</span> Unknown(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { }
-00897
-00898 ~Unknown();
-00899
-00901
-<a name="l00902"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna6">00902</a> <span class="keyword">inline</span> Unknown &amp;operator=(<span class="keyword">const</span> Unknown &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00903 <span class="keyword">inline</span> Unknown &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00904 <span class="keyword">inline</span> Unknown &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00906
-<a name="l00910"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna9">00910</a> <span class="keyword">inline</span> Unknown &amp;assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
-00911
-00913
-<a name="l00914"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna10">00914</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> Unknown &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00915 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00916 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
-00918
-00920
-<a name="l00921"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna13">00921</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> Unknown &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00922 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00923 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
-00925
-00926 <span class="keyword">const</span> FLAC__byte *get_data() <span class="keyword">const</span>;
-00927
-00929 <span class="keywordtype">bool</span> set_data(<span class="keyword">const</span> FLAC__byte *data, <span class="keywordtype">unsigned</span> length);
-00930 <span class="keywordtype">bool</span> set_data(FLAC__byte *data, <span class="keywordtype">unsigned</span> length, <span class="keywordtype">bool</span> copy);
-00931 };
-00932
-00933 <span class="comment">/* \} */</span>
-00934
-00935
-00948 FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga0">get_streaminfo</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, StreamInfo &amp;streaminfo);
-00949
-00950 FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga1">get_tags</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, VorbisComment *&amp;tags);
-00951 FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga1">get_tags</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, VorbisComment &amp;tags);
-00952
-00953 FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga3">get_cuesheet</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, CueSheet *&amp;cuesheet);
-00954 FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga3">get_cuesheet</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, CueSheet &amp;cuesheet);
-00955
-00956 FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga5">get_picture</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, Picture *&amp;picture, ::<a class="code" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> type, <span class="keyword">const</span> <span class="keywordtype">char</span> *mime_type, <span class="keyword">const</span> FLAC__byte *description, <span class="keywordtype">unsigned</span> max_width, <span class="keywordtype">unsigned</span> max_height, <span class="keywordtype">unsigned</span> max_depth, <span class="keywordtype">unsigned</span> max_colors);
-00957 FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga5">get_picture</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, Picture &amp;picture, ::<a class="code" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> type, <span class="keyword">const</span> <span class="keywordtype">char</span> *mime_type, <span class="keyword">const</span> FLAC__byte *description, <span class="keywordtype">unsigned</span> max_width, <span class="keywordtype">unsigned</span> max_height, <span class="keywordtype">unsigned</span> max_depth, <span class="keywordtype">unsigned</span> max_colors);
-00958
-00959 <span class="comment">/* \} */</span>
-00960
-00961
-<a name="l00996"></a><a class="code" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">00996</a> <span class="keyword">class </span>FLACPP_API SimpleIterator {
-00997 <span class="keyword">public</span>:
-<a name="l01000"></a><a class="code" href="classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html">01000</a> <span class="keyword">class </span>FLACPP_API Status {
-01001 <span class="keyword">public</span>:
-01002 <span class="keyword">inline</span> Status(::<a class="code" href="group__flac__metadata__level1.html#ga18">FLAC__Metadata_SimpleIteratorStatus</a> status): status_(status) { }
-01003 <span class="keyword">inline</span> <a class="code" href="group__flac__metadata__level1.html#ga18">operator ::FLAC__Metadata_SimpleIteratorStatus</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> status_; }
-01004 <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *as_cstring()<span class="keyword"> const </span>{ <a class="code" href="group__flac__metadata__level1.html#ga1">return ::FLAC__Metadata_SimpleIteratorStatusString</a>[status_]; }
-01005 <span class="keyword">protected</span>:<a class="code" href="group__flac__metadata__level1.html#ga18"></a>
-01006 <a class="code" href="group__flac__metadata__level1.html#ga18"> ::FLAC__Metadata_SimpleIteratorStatus</a> status_;
-01007 };
-01008
-01009 SimpleIterator();
-01010 <span class="keyword">virtual</span> ~SimpleIterator();
-01011
-01012 <span class="keywordtype">bool</span> is_valid() <span class="keyword">const</span>;
-01013
-01014 <span class="keywordtype">bool</span> init(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <span class="keywordtype">bool</span> read_only, <span class="keywordtype">bool</span> preserve_file_stats);
-01015
-01016 Status status();
-01017 <span class="keywordtype">bool</span> is_writable() <span class="keyword">const</span>;
-01018
-01019 <span class="keywordtype">bool</span> next();
-01020 <span class="keywordtype">bool</span> prev();
-01021 <span class="keywordtype">bool</span> is_last() <span class="keyword">const</span>;
-01022
-01023 off_t get_block_offset() <span class="keyword">const</span>;
-01024 <a class="code" href="group__flac__format.html#ga113"> ::FLAC__MetadataType</a> get_block_type() <span class="keyword">const</span>;
-01025 <span class="keywordtype">unsigned</span> get_block_length() <span class="keyword">const</span>;
-01026 <span class="keywordtype">bool</span> get_application_id(FLAC__byte *<span class="keywordtype">id</span>);
-01027 Prototype *get_block();
-01028 <span class="keywordtype">bool</span> set_block(Prototype *block, <span class="keywordtype">bool</span> use_padding = <span class="keyword">true</span>);
-01029 <span class="keywordtype">bool</span> insert_block_after(Prototype *block, <span class="keywordtype">bool</span> use_padding = <span class="keyword">true</span>);
-01030 <span class="keywordtype">bool</span> delete_block(<span class="keywordtype">bool</span> use_padding = <span class="keyword">true</span>);
-01031
-01032 <span class="keyword">protected</span>:<a class="code" href="group__flac__metadata__level1.html#ga0"></a>
-01033 <a class="code" href="group__flac__metadata__level1.html#ga0"> ::FLAC__Metadata_SimpleIterator</a> *iterator_;
-01034 <span class="keywordtype">void</span> clear();
-01035 };
-01036
-01037 <span class="comment">/* \} */</span>
-01038
-01039
-<a name="l01082"></a><a class="code" href="classFLAC_1_1Metadata_1_1Chain.html">01082</a> <span class="keyword">class </span>FLACPP_API Chain {
-01083 <span class="keyword">public</span>:
-<a name="l01086"></a><a class="code" href="classFLAC_1_1Metadata_1_1Chain_1_1Status.html">01086</a> <span class="keyword">class </span>FLACPP_API Status {
-01087 <span class="keyword">public</span>:
-01088 <span class="keyword">inline</span> Status(::<a class="code" href="group__flac__metadata__level2.html#ga27">FLAC__Metadata_ChainStatus</a> status): status_(status) { }
-01089 <span class="keyword">inline</span> <a class="code" href="group__flac__metadata__level2.html#ga27">operator ::FLAC__Metadata_ChainStatus</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> status_; }
-01090 <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *as_cstring()<span class="keyword"> const </span>{ <a class="code" href="group__flac__metadata__level2.html#ga2">return ::FLAC__Metadata_ChainStatusString</a>[status_]; }
-01091 <span class="keyword">protected</span>:<a class="code" href="group__flac__metadata__level2.html#ga27"></a>
-01092 <a class="code" href="group__flac__metadata__level2.html#ga27"> ::FLAC__Metadata_ChainStatus</a> status_;
-01093 };
-01094
-01095 Chain();
-01096 <span class="keyword">virtual</span> ~Chain();
-01097
-01098 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classFLAC_1_1Metadata_1_1Iterator.html">Iterator</a>;
-01099
-01100 <span class="keywordtype">bool</span> is_valid() <span class="keyword">const</span>;
-01101
-01102 Status status();
-01103
-01104 <span class="keywordtype">bool</span> read(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <span class="keywordtype">bool</span> is_ogg = <span class="keyword">false</span>);
-01105 <span class="keywordtype">bool</span> read(<a class="code" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, <a class="code" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks, <span class="keywordtype">bool</span> is_ogg = <span class="keyword">false</span>);
-01106
-01107 <span class="keywordtype">bool</span> check_if_tempfile_needed(<span class="keywordtype">bool</span> use_padding);
-01108
-01109 <span class="keywordtype">bool</span> write(<span class="keywordtype">bool</span> use_padding = <span class="keyword">true</span>, <span class="keywordtype">bool</span> preserve_file_stats = <span class="keyword">false</span>);
-01110 <span class="keywordtype">bool</span> write(<span class="keywordtype">bool</span> use_padding, ::<a class="code" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, ::<a class="code" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks);
-01111 <span class="keywordtype">bool</span> write(<span class="keywordtype">bool</span> use_padding, ::<a class="code" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, ::<a class="code" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks, ::<a class="code" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> temp_handle, ::<a class="code" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> temp_callbacks);
-01112
-01113 <span class="keywordtype">void</span> merge_padding();
-01114 <span class="keywordtype">void</span> sort_padding();
-01115
-01116 <span class="keyword">protected</span>:<a class="code" href="group__flac__metadata__level2.html#ga0"></a>
-01117 <a class="code" href="group__flac__metadata__level2.html#ga0"> ::FLAC__Metadata_Chain</a> *chain_;
-01118 <span class="keyword">virtual</span> <span class="keywordtype">void</span> clear();
-01119 };
-01120
-<a name="l01126"></a><a class="code" href="classFLAC_1_1Metadata_1_1Iterator.html">01126</a> <span class="keyword">class </span>FLACPP_API Iterator {
-01127 <span class="keyword">public</span>:
-01128 Iterator();
-01129 <span class="keyword">virtual</span> ~Iterator();
-01130
-01131 <span class="keywordtype">bool</span> is_valid() <span class="keyword">const</span>;
-01132
-01133
-01134 <span class="keywordtype">void</span> init(Chain &amp;chain);
-01135
-01136 <span class="keywordtype">bool</span> next();
-01137 <span class="keywordtype">bool</span> prev();
-01138 <a class="code" href="group__flac__format.html#ga113"></a>
-01139 <a class="code" href="group__flac__format.html#ga113"> ::FLAC__MetadataType</a> get_block_type() <span class="keyword">const</span>;
-01140 Prototype *get_block();
-01141 <span class="keywordtype">bool</span> set_block(Prototype *block);
-01142 <span class="keywordtype">bool</span> delete_block(<span class="keywordtype">bool</span> replace_with_padding);
-01143 <span class="keywordtype">bool</span> insert_block_before(Prototype *block);
-01144 <span class="keywordtype">bool</span> insert_block_after(Prototype *block);
-01145
-01146 <span class="keyword">protected</span>:<a class="code" href="group__flac__metadata__level2.html#ga1"></a>
-01147 <a class="code" href="group__flac__metadata__level2.html#ga1"> ::FLAC__Metadata_Iterator</a> *iterator_;
-01148 <span class="keyword">virtual</span> <span class="keywordtype">void</span> clear();
-01149 };
-01150
-01151 <span class="comment">/* \} */</span>
-01152
-01153 }
-01154 }
-01155
-01156 <span class="preprocessor">#endif</span>
-</pre></div>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/+_2metadata_8h.html b/3rdparty/libflac/doc/html/api/+_2metadata_8h.html
deleted file mode 100644
index 5e794ad7e30..00000000000
--- a/3rdparty/libflac/doc/html/api/+_2metadata_8h.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC++/metadata.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000001.html">FLAC++</a></div>
-<h1>metadata.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module provides classes for creating and manipulating FLAC metadata blocks in memory, and three progressively more powerful interfaces for traversing and editing metadata in FLAC files.
-<p>
-See the detailed documentation for each interface in the <a class="el" href="group__flacpp__metadata.html">metadata </a> module.
-<p>
-<code>#include "<a class="el" href="+_2export_8h-source.html">export.h</a>"</code><br>
-<code>#include "<a class="el" href="metadata_8h-source.html">FLAC/metadata.h</a>"</code><br>
-
-<p>
-<a href="+_2metadata_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>FLAC</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>FLAC::Metadata</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">Prototype *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga0">clone</a> (const Prototype *)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__level0.html#ga0">get_streaminfo</a> (const char *filename, StreamInfo &amp;streaminfo)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__level0.html#ga1">get_tags</a> (const char *filename, VorbisComment *&amp;tags)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__level0.html#ga2">get_tags</a> (const char *filename, VorbisComment &amp;tags)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__level0.html#ga3">get_cuesheet</a> (const char *filename, CueSheet *&amp;cuesheet)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__level0.html#ga4">get_cuesheet</a> (const char *filename, CueSheet &amp;cuesheet)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__level0.html#ga5">get_picture</a> (const char *filename, Picture *&amp;picture,::<a class="el" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> type, const char *mime_type, const FLAC__byte *description, unsigned max_width, unsigned max_height, unsigned max_depth, unsigned max_colors)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__level0.html#ga6">get_picture</a> (const char *filename, Picture &amp;picture,::<a class="el" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> type, const char *mime_type, const FLAC__byte *description, unsigned max_width, unsigned max_height, unsigned max_depth, unsigned max_colors)</td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/all_8h-source.html b/3rdparty/libflac/doc/html/api/all_8h-source.html
deleted file mode 100644
index ae702f62c9a..00000000000
--- a/3rdparty/libflac/doc/html/api/all_8h-source.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC/all.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000002.html">FLAC</a></div>
-<h1>all.h</h1><div class="fragment"><pre class="fragment">00001 <span class="comment">/* libFLAC - Free Lossless Audio Codec library</span>
-00002 <span class="comment"> * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</span>
-00003 <span class="comment"> *</span>
-00004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
-00005 <span class="comment"> * modification, are permitted provided that the following conditions</span>
-00006 <span class="comment"> * are met:</span>
-00007 <span class="comment"> *</span>
-00008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span>
-00009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
-00010 <span class="comment"> *</span>
-00011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span>
-00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
-00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
-00014 <span class="comment"> *</span>
-00015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span>
-00016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span>
-00017 <span class="comment"> * this software without specific prior written permission.</span>
-00018 <span class="comment"> *</span>
-00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-00020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR</span>
-00023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span>
-00024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span>
-00025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span>
-00026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span>
-00027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span>
-00028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span>
-00029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-00030 <span class="comment"> */</span>
-00031
-00032 <span class="preprocessor">#ifndef FLAC__ALL_H</span>
-00033 <span class="preprocessor"></span><span class="preprocessor">#define FLAC__ALL_H</span>
-00034 <span class="preprocessor"></span>
-00035 <span class="preprocessor">#include "<a class="code" href="export_8h.html">export.h</a>"</span>
-00036
-00037 <span class="preprocessor">#include "assert.h"</span>
-00038 <span class="preprocessor">#include "<a class="code" href="callback_8h.html">callback.h</a>"</span>
-00039 <span class="preprocessor">#include "<a class="code" href="format_8h.html">format.h</a>"</span>
-00040 <span class="preprocessor">#include "<a class="code" href="metadata_8h.html">metadata.h</a>"</span>
-00041 <span class="preprocessor">#include "ordinals.h"</span>
-00042 <span class="preprocessor">#include "<a class="code" href="stream__decoder_8h.html">stream_decoder.h</a>"</span>
-00043 <span class="preprocessor">#include "<a class="code" href="stream__encoder_8h.html">stream_encoder.h</a>"</span>
-00044
-00370 <span class="preprocessor">#endif</span>
-</pre></div>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/annotated.html b/3rdparty/libflac/doc/html/api/annotated.html
deleted file mode 100644
index aa1ef0d85b6..00000000000
--- a/3rdparty/libflac/doc/html/api/annotated.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Class List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindexHL" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Metadata_1_1Chain_1_1Status.html">FLAC::Metadata::Chain::Status</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Decoder_1_1File.html">FLAC::Decoder::File</a></td><td class="indexvalue">This class wraps the <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>. If you are not decoding from a file, you may need to use <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a> </td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Encoder_1_1File.html">FLAC::Encoder::File</a></td><td class="indexvalue">This class wraps the <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a>. If you are not encoding to a file, you may need to use <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a> </td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRice.html">FLAC__EntropyCodingMethod_PartitionedRice</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html">FLAC__EntropyCodingMethod_PartitionedRiceContents</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____Frame.html">FLAC__Frame</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____FrameFooter.html">FLAC__FrameFooter</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____StreamMetadata__Application.html">FLAC__StreamMetadata_Application</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____StreamMetadata__CueSheet.html">FLAC__StreamMetadata_CueSheet</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____StreamMetadata__Padding.html">FLAC__StreamMetadata_Padding</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____StreamMetadata__Unknown.html">FLAC__StreamMetadata_Unknown</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____StreamMetadata__VorbisComment.html">FLAC__StreamMetadata_VorbisComment</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____Subframe.html">FLAC__Subframe</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____Subframe__Constant.html">FLAC__Subframe_Constant</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____Subframe__Fixed.html">FLAC__Subframe_Fixed</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____Subframe__LPC.html">FLAC__Subframe_LPC</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structFLAC____Subframe__Verbatim.html">FLAC__Subframe_Verbatim</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html">FLAC::Metadata::SimpleIterator::Status</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td class="indexvalue">This class wraps the <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>. If you are decoding from a file, <a class="el" href="classFLAC_1_1Decoder_1_1File.html">FLAC::Decoder::File</a> may be more convenient </td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td class="indexvalue">This class wraps the <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a>. If you are encoding to a file, <a class="el" href="classFLAC_1_1Encoder_1_1File.html">FLAC::Encoder::File</a> may be more convenient </td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">FLAC::Decoder::Stream::State</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Encoder_1_1Stream_1_1State.html">FLAC::Encoder::Stream::State</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td class="indexvalue"></td></tr>
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/assert_8h-source.html b/3rdparty/libflac/doc/html/api/assert_8h-source.html
deleted file mode 100644
index b90131d3553..00000000000
--- a/3rdparty/libflac/doc/html/api/assert_8h-source.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC/assert.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000002.html">FLAC</a></div>
-<h1>assert.h</h1><div class="fragment"><pre class="fragment">00001 <span class="comment">/* libFLAC - Free Lossless Audio Codec library</span>
-00002 <span class="comment"> * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson</span>
-00003 <span class="comment"> *</span>
-00004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
-00005 <span class="comment"> * modification, are permitted provided that the following conditions</span>
-00006 <span class="comment"> * are met:</span>
-00007 <span class="comment"> *</span>
-00008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span>
-00009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
-00010 <span class="comment"> *</span>
-00011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span>
-00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
-00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
-00014 <span class="comment"> *</span>
-00015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span>
-00016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span>
-00017 <span class="comment"> * this software without specific prior written permission.</span>
-00018 <span class="comment"> *</span>
-00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-00020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR</span>
-00023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span>
-00024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span>
-00025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span>
-00026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span>
-00027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span>
-00028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span>
-00029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-00030 <span class="comment"> */</span>
-00031
-00032 <span class="preprocessor">#ifndef FLAC__ASSERT_H</span>
-00033 <span class="preprocessor"></span><span class="preprocessor">#define FLAC__ASSERT_H</span>
-00034 <span class="preprocessor"></span>
-00035 <span class="comment">/* we need this since some compilers (like MSVC) leave assert()s on release code (and we don't want to use their ASSERT) */</span>
-00036 <span class="preprocessor">#ifdef DEBUG</span>
-00037 <span class="preprocessor"></span><span class="preprocessor">#include &lt;assert.h&gt;</span>
-00038 <span class="preprocessor">#define FLAC__ASSERT(x) assert(x)</span>
-00039 <span class="preprocessor"></span><span class="preprocessor">#define FLAC__ASSERT_DECLARATION(x) x</span>
-00040 <span class="preprocessor"></span><span class="preprocessor">#else</span>
-00041 <span class="preprocessor"></span><span class="preprocessor">#define FLAC__ASSERT(x)</span>
-00042 <span class="preprocessor"></span><span class="preprocessor">#define FLAC__ASSERT_DECLARATION(x)</span>
-00043 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-00044 <span class="preprocessor"></span>
-00045 <span class="preprocessor">#endif</span>
-</pre></div>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/callback_8h-source.html b/3rdparty/libflac/doc/html/api/callback_8h-source.html
deleted file mode 100644
index 2e0e9f11a2a..00000000000
--- a/3rdparty/libflac/doc/html/api/callback_8h-source.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC/callback.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000002.html">FLAC</a></div>
-<h1>callback.h</h1><a href="callback_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/* libFLAC - Free Lossless Audio Codec library</span>
-00002 <span class="comment"> * Copyright (C) 2004,2005,2006,2007 Josh Coalson</span>
-00003 <span class="comment"> *</span>
-00004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
-00005 <span class="comment"> * modification, are permitted provided that the following conditions</span>
-00006 <span class="comment"> * are met:</span>
-00007 <span class="comment"> *</span>
-00008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span>
-00009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
-00010 <span class="comment"> *</span>
-00011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span>
-00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
-00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
-00014 <span class="comment"> *</span>
-00015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span>
-00016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span>
-00017 <span class="comment"> * this software without specific prior written permission.</span>
-00018 <span class="comment"> *</span>
-00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-00020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR</span>
-00023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span>
-00024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span>
-00025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span>
-00026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span>
-00027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span>
-00028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span>
-00029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-00030 <span class="comment"> */</span>
-00031
-00032 <span class="preprocessor">#ifndef FLAC__CALLBACK_H</span>
-00033 <span class="preprocessor"></span><span class="preprocessor">#define FLAC__CALLBACK_H</span>
-00034 <span class="preprocessor"></span>
-00035 <span class="preprocessor">#include "ordinals.h"</span>
-00036 <span class="preprocessor">#include &lt;stdlib.h&gt;</span> <span class="comment">/* for size_t */</span>
-00037
-00081 <span class="preprocessor">#ifdef __cplusplus</span>
-00082 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
-00083 <span class="preprocessor">#endif</span>
-00084 <span class="preprocessor"></span>
-<a name="l00088"></a><a class="code" href="group__flac__callbacks.html#ga0">00088</a> <span class="keyword">typedef</span> <span class="keywordtype">void</span>* <a class="code" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a>;
-00089
-<a name="l00101"></a><a class="code" href="group__flac__callbacks.html#ga1">00101</a> <span class="keyword">typedef</span> size_t (*<a class="code" href="group__flac__callbacks.html#ga1">FLAC__IOCallback_Read</a>) (<span class="keywordtype">void</span> *ptr, size_t size, size_t nmemb, FLAC__IOHandle handle);
-00102
-<a name="l00114"></a><a class="code" href="group__flac__callbacks.html#ga2">00114</a> <span class="keyword">typedef</span> size_t (*<a class="code" href="group__flac__callbacks.html#ga2">FLAC__IOCallback_Write</a>) (<span class="keyword">const</span> <span class="keywordtype">void</span> *ptr, size_t size, size_t nmemb, FLAC__IOHandle handle);
-00115
-<a name="l00127"></a><a class="code" href="group__flac__callbacks.html#ga3">00127</a> <span class="keyword">typedef</span> int (*<a class="code" href="group__flac__callbacks.html#ga3">FLAC__IOCallback_Seek</a>) (FLAC__IOHandle handle, FLAC__int64 offset, <span class="keywordtype">int</span> whence);
-00128
-<a name="l00138"></a><a class="code" href="group__flac__callbacks.html#ga4">00138</a> <span class="keyword">typedef</span> FLAC__int64 (*<a class="code" href="group__flac__callbacks.html#ga4">FLAC__IOCallback_Tell</a>) (FLAC__IOHandle handle);
-00139
-<a name="l00149"></a><a class="code" href="group__flac__callbacks.html#ga5">00149</a> <span class="keyword">typedef</span> int (*<a class="code" href="group__flac__callbacks.html#ga5">FLAC__IOCallback_Eof</a>) (FLAC__IOHandle handle);
-00150
-<a name="l00159"></a><a class="code" href="group__flac__callbacks.html#ga6">00159</a> <span class="keyword">typedef</span> int (*<a class="code" href="group__flac__callbacks.html#ga6">FLAC__IOCallback_Close</a>) (FLAC__IOHandle handle);
-00160
-<a name="l00169"></a><a class="code" href="structFLAC____IOCallbacks.html">00169</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00170 <a class="code" href="group__flac__callbacks.html#ga1">FLAC__IOCallback_Read</a> read;
-00171 <a class="code" href="group__flac__callbacks.html#ga2">FLAC__IOCallback_Write</a> write;
-00172 <a class="code" href="group__flac__callbacks.html#ga3">FLAC__IOCallback_Seek</a> seek;
-00173 <a class="code" href="group__flac__callbacks.html#ga4">FLAC__IOCallback_Tell</a> tell;
-00174 <a class="code" href="group__flac__callbacks.html#ga5">FLAC__IOCallback_Eof</a> eof;
-00175 <a class="code" href="group__flac__callbacks.html#ga6">FLAC__IOCallback_Close</a> close;
-00176 } <a class="code" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a>;
-00177
-00178 <span class="comment">/* \} */</span>
-00179
-00180 <span class="preprocessor">#ifdef __cplusplus</span>
-00181 <span class="preprocessor"></span>}
-00182 <span class="preprocessor">#endif</span>
-00183 <span class="preprocessor"></span>
-00184 <span class="preprocessor">#endif</span>
-</pre></div>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/callback_8h.html b/3rdparty/libflac/doc/html/api/callback_8h.html
deleted file mode 100644
index bc2536710f4..00000000000
--- a/3rdparty/libflac/doc/html/api/callback_8h.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC/callback.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000002.html">FLAC</a></div>
-<h1>callback.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module defines the structures for describing I/O callbacks to the other FLAC interfaces.
-<p>
-See the detailed documentation for callbacks in the <a class="el" href="group__flac__callbacks.html">callbacks </a> module.
-<p>
-<code>#include "ordinals.h"</code><br>
-<code>#include &lt;stdlib.h&gt;</code><br>
-
-<p>
-<a href="callback_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef size_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__callbacks.html#ga1">FLAC__IOCallback_Read</a> )(void *ptr, size_t size, size_t nmemb, <a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef size_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__callbacks.html#ga2">FLAC__IOCallback_Write</a> )(const void *ptr, size_t size, size_t nmemb, <a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__callbacks.html#ga3">FLAC__IOCallback_Seek</a> )(<a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, FLAC__int64 offset, int whence)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef FLAC__int64(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__callbacks.html#ga4">FLAC__IOCallback_Tell</a> )(<a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__callbacks.html#ga5">FLAC__IOCallback_Eof</a> )(<a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__callbacks.html#ga6">FLAC__IOCallback_Close</a> )(<a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle)</td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1File-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1File-members.html
deleted file mode 100644
index 32c8b054ae8..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1File-members.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Decoder::File Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Decoder_1_1File.html">FLAC::Decoder::File</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>decoder_</b> (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb4">eof_callback</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>eof_callback_</b>(const ::FLAC__StreamDecoder *decoder, void *client_data) (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb7">error_callback</a>(::FLAC__StreamDecoderErrorStatus status)=0</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, pure virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>error_callback_</b>(const ::FLAC__StreamDecoder *decoder,::FLAC__StreamDecoderErrorStatus status, void *client_data) (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>File</b>() (defined in <a class="el" href="classFLAC_1_1Decoder_1_1File.html">FLAC::Decoder::File</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1File.html">FLAC::Decoder::File</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama23">finish</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama24">flush</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama17">get_bits_per_sample</a>() const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama19">get_blocksize</a>() const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama16">get_channel_assignment</a>() const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama15">get_channels</a>() const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama20">get_decode_position</a>(FLAC__uint64 *position) const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama13">get_md5_checking</a>() const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama18">get_sample_rate</a>() const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama12">get_state</a>() const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama14">get_total_samples</a>() const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Filea2">init</a>(FILE *file)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1File.html">FLAC::Decoder::File</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Filea3">init</a>(const char *filename)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1File.html">FLAC::Decoder::File</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Filea4">init</a>(const std::string &amp;filename)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1File.html">FLAC::Decoder::File</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama21">FLAC::Decoder::Stream::init</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Filea5">init_ogg</a>(FILE *file)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1File.html">FLAC::Decoder::File</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Filea6">init_ogg</a>(const char *filename)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1File.html">FLAC::Decoder::File</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Filea7">init_ogg</a>(const std::string &amp;filename)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1File.html">FLAC::Decoder::File</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama22">FLAC::Decoder::Stream::init_ogg</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama2">is_valid</a>() const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb3">length_callback</a>(FLAC__uint64 *stream_length)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>length_callback_</b>(const ::FLAC__StreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data) (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb6">metadata_callback</a>(const ::FLAC__StreamMetadata *metadata)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>metadata_callback_</b>(const ::FLAC__StreamDecoder *decoder, const ::FLAC__StreamMetadata *metadata, void *client_data) (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama3">operator bool</a>() const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama26">process_single</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama27">process_until_end_of_metadata</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama28">process_until_end_of_stream</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Fileb0">read_callback</a>(FLAC__byte buffer[], size_t *bytes)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1File.html">FLAC::Decoder::File</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>read_callback_</b>(const ::FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data) (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama25">reset</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama30">seek_absolute</a>(FLAC__uint64 sample)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb1">seek_callback</a>(FLAC__uint64 absolute_byte_offset)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>seek_callback_</b>(const ::FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data) (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama5">set_md5_checking</a>(bool value)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama9">set_metadata_ignore</a>(::FLAC__MetadataType type)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama11">set_metadata_ignore_all</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama10">set_metadata_ignore_application</a>(const FLAC__byte id[4])</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama6">set_metadata_respond</a>(::FLAC__MetadataType type)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama8">set_metadata_respond_all</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama7">set_metadata_respond_application</a>(const FLAC__byte id[4])</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama4">set_ogg_serial_number</a>(long value)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama29">skip_single_frame</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Stream</b>() (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb2">tell_callback</a>(FLAC__uint64 *absolute_byte_offset)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>tell_callback_</b>(const ::FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data) (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb5">write_callback</a>(const ::FLAC__Frame *frame, const FLAC__int32 *const buffer[])=0</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, pure virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>write_callback_</b>(const ::FLAC__StreamDecoder *decoder, const ::FLAC__Frame *frame, const FLAC__int32 *const buffer[], void *client_data) (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>~File</b>() (defined in <a class="el" href="classFLAC_1_1Decoder_1_1File.html">FLAC::Decoder::File</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1File.html">FLAC::Decoder::File</a></td><td><code> [virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>~Stream</b>() (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1File.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1File.html
deleted file mode 100644
index aba329f52b0..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1File.html
+++ /dev/null
@@ -1,1457 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Decoder::File Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Decoder</b>::<a class="el" href="classFLAC_1_1Decoder_1_1File.html">File</a></div>
-<h1>FLAC::Decoder::File Class Reference<br>
-<small>
-[<a class="el" href="group__flacpp__decoder.html">FLAC++/decoder.h: decoder classes</a>]</small>
-</h1><code>#include &lt;<a class="el" href="decoder_8h-source.html">decoder.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for FLAC::Decoder::File:
-<p><center><img src="classFLAC_1_1Decoder_1_1File.png" usemap="#FLAC::Decoder::File_map" border="0" alt=""></center>
-<map name="FLAC::Decoder::File_map">
-<area href="classFLAC_1_1Decoder_1_1Stream.html" alt="FLAC::Decoder::Stream" shape="rect" coords="0,0,145,24">
-</map>
-<a href="classFLAC_1_1Decoder_1_1File-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-This class wraps the <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>. If you are not decoding from a file, you may need to use <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>.
-<p>
-The usage of this class is similar to <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>, except instead of providing callbacks to FLAC__stream_decoder_init*_FILE() or FLAC__stream_decoder_init*_file(), you will inherit from this class and override the virtual callback functions with your own implementations, then call <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama21">init()</a> or init_off(). The rest of the calls work the same as in the C layer.<p>
-Only the write, and error callbacks from <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a> are mandatory. The others are optional; this class provides full working implementations for all other callbacks and supports seeking.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Filea2">init</a> (FILE *file)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Filea3">init</a> (const char *filename)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Filea4">init</a> (const std::string &amp;filename)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Filea5">init_ogg</a> (FILE *file)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Filea6">init_ogg</a> (const char *filename)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Filea7">init_ogg</a> (const std::string &amp;filename)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama2">is_valid</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama3">operator bool</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama4">set_ogg_serial_number</a> (long value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama5">set_md5_checking</a> (bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama6">set_metadata_respond</a> (::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama7">set_metadata_respond_application</a> (const FLAC__byte id[4])</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama8">set_metadata_respond_all</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama9">set_metadata_ignore</a> (::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama10">set_metadata_ignore_application</a> (const FLAC__byte id[4])</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama11">set_metadata_ignore_all</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">State&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama12">get_state</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama13">get_md5_checking</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual FLAC__uint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama14">get_total_samples</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama15">get_channels</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama16">get_channel_assignment</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama17">get_bits_per_sample</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama18">get_sample_rate</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama19">get_blocksize</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama20">get_decode_position</a> (FLAC__uint64 *position) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama21">init</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama22">init_ogg</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama23">finish</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama24">flush</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama25">reset</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama26">process_single</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama27">process_until_end_of_metadata</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama28">process_until_end_of_stream</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama29">skip_single_frame</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama30">seek_absolute</a> (FLAC__uint64 sample)</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga52">FLAC__StreamDecoderReadStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Fileb0">read_callback</a> (FLAC__byte buffer[], size_t *bytes)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga53">FLAC__StreamDecoderSeekStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb1">seek_callback</a> (FLAC__uint64 absolute_byte_offset)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga54">FLAC__StreamDecoderTellStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb2">tell_callback</a> (FLAC__uint64 *absolute_byte_offset)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga55">FLAC__StreamDecoderLengthStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb3">length_callback</a> (FLAC__uint64 *stream_length)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb4">eof_callback</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga56">FLAC__StreamDecoderWriteStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb5">write_callback</a> (const ::<a class="el" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, const FLAC__int32 *const buffer[])=0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb6">metadata_callback</a> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb7">error_callback</a> (::<a class="el" href="group__flac__stream__decoder.html#ga57">FLAC__StreamDecoderErrorStatus</a> status)=0</td></tr>
-
-<tr><td colspan="2"><br><h2>Static Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Streamf0" doxytag="FLAC::Decoder::File::read_callback_"></a>
-::<a class="el" href="group__flac__stream__decoder.html#ga52">FLAC__StreamDecoderReadStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>read_callback_</b> (const ::<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Streamf1" doxytag="FLAC::Decoder::File::seek_callback_"></a>
-::<a class="el" href="group__flac__stream__decoder.html#ga53">FLAC__StreamDecoderSeekStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>seek_callback_</b> (const ::<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 absolute_byte_offset, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Streamf2" doxytag="FLAC::Decoder::File::tell_callback_"></a>
-::<a class="el" href="group__flac__stream__decoder.html#ga54">FLAC__StreamDecoderTellStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>tell_callback_</b> (const ::<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Streamf3" doxytag="FLAC::Decoder::File::length_callback_"></a>
-::<a class="el" href="group__flac__stream__decoder.html#ga55">FLAC__StreamDecoderLengthStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>length_callback_</b> (const ::<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *stream_length, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Streamf4" doxytag="FLAC::Decoder::File::eof_callback_"></a>
-static FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>eof_callback_</b> (const ::<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Streamf5" doxytag="FLAC::Decoder::File::write_callback_"></a>
-::<a class="el" href="group__flac__stream__decoder.html#ga56">FLAC__StreamDecoderWriteStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>write_callback_</b> (const ::<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const ::<a class="el" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, const FLAC__int32 *const buffer[], void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Streamf6" doxytag="FLAC::Decoder::File::metadata_callback_"></a>
-static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>metadata_callback_</b> (const ::<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Streamf7" doxytag="FLAC::Decoder::File::error_callback_"></a>
-static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>error_callback_</b> (const ::<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder,::<a class="el" href="group__flac__stream__decoder.html#ga57">FLAC__StreamDecoderErrorStatus</a> status, void *client_data)</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Streamp0" doxytag="FLAC::Decoder::File::decoder_"></a>
-::<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>decoder_</b></td></tr>
-
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Filea2" doxytag="FLAC::Decoder::File::init"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a> FLAC::Decoder::File::init </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FILE *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>file</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga38">FLAC__stream_decoder_init_FILE()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Filea3" doxytag="FLAC::Decoder::File::init"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a> FLAC::Decoder::File::init </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>filename</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga40">FLAC__stream_decoder_init_file()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Filea4" doxytag="FLAC::Decoder::File::init"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a> FLAC::Decoder::File::init </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>filename</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga40">FLAC__stream_decoder_init_file()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Filea5" doxytag="FLAC::Decoder::File::init_ogg"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a> FLAC::Decoder::File::init_ogg </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FILE *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>file</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga39">FLAC__stream_decoder_init_ogg_FILE()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Filea6" doxytag="FLAC::Decoder::File::init_ogg"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a> FLAC::Decoder::File::init_ogg </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>filename</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga41">FLAC__stream_decoder_init_ogg_file()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Filea7" doxytag="FLAC::Decoder::File::init_ogg"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a> FLAC::Decoder::File::init_ogg </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>filename</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga41">FLAC__stream_decoder_init_ogg_file()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Fileb0" doxytag="FLAC::Decoder::File::read_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga52">FLAC__StreamDecoderReadStatus</a> FLAC::Decoder::File::read_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__byte&nbsp;</td>
- <td class="mdname" nowrap> <em>buffer</em>[], </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>size_t *&nbsp;</td>
- <td class="mdname" nowrap> <em>bytes</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [protected, virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-see FLAC__StreamDecoderReadCallback
-<p>
-
-<p>
-Implements <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb0">FLAC::Decoder::Stream</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama2" doxytag="FLAC::Decoder::File::is_valid"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::is_valid </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Call after construction to check the that the object was created successfully. If not, use <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama12">get_state()</a> to find out why not. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama3" doxytag="FLAC::Decoder::File::operator bool"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Decoder::Stream::operator bool </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama2">is_valid()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama4" doxytag="FLAC::Decoder::File::set_ogg_serial_number"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::set_ogg_serial_number </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">long&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga18">FLAC__stream_decoder_set_ogg_serial_number()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama5" doxytag="FLAC::Decoder::File::set_md5_checking"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::set_md5_checking </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga19">FLAC__stream_decoder_set_md5_checking()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama6" doxytag="FLAC::Decoder::File::set_metadata_respond"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::set_metadata_respond </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>type</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga20">FLAC__stream_decoder_set_metadata_respond()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama7" doxytag="FLAC::Decoder::File::set_metadata_respond_application"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::set_metadata_respond_application </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const FLAC__byte&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>id</em>[4] </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga21">FLAC__stream_decoder_set_metadata_respond_application()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama8" doxytag="FLAC::Decoder::File::set_metadata_respond_all"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::set_metadata_respond_all </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga22">FLAC__stream_decoder_set_metadata_respond_all()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama9" doxytag="FLAC::Decoder::File::set_metadata_ignore"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::set_metadata_ignore </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>type</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga23">FLAC__stream_decoder_set_metadata_ignore()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama10" doxytag="FLAC::Decoder::File::set_metadata_ignore_application"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::set_metadata_ignore_application </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const FLAC__byte&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>id</em>[4] </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga24">FLAC__stream_decoder_set_metadata_ignore_application()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama11" doxytag="FLAC::Decoder::File::set_metadata_ignore_all"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::set_metadata_ignore_all </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga25">FLAC__stream_decoder_set_metadata_ignore_all()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama12" doxytag="FLAC::Decoder::File::get_state"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">State FLAC::Decoder::Stream::get_state </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga26">FLAC__stream_decoder_get_state()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama13" doxytag="FLAC::Decoder::File::get_md5_checking"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::get_md5_checking </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga28">FLAC__stream_decoder_get_md5_checking()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama14" doxytag="FLAC::Decoder::File::get_total_samples"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual FLAC__uint64 FLAC::Decoder::Stream::get_total_samples </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga29">FLAC__stream_decoder_get_total_samples()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama15" doxytag="FLAC::Decoder::File::get_channels"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Decoder::Stream::get_channels </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga30">FLAC__stream_decoder_get_channels()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama16" doxytag="FLAC::Decoder::File::get_channel_assignment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a> FLAC::Decoder::Stream::get_channel_assignment </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga31">FLAC__stream_decoder_get_channel_assignment()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama17" doxytag="FLAC::Decoder::File::get_bits_per_sample"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Decoder::Stream::get_bits_per_sample </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga32">FLAC__stream_decoder_get_bits_per_sample()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama18" doxytag="FLAC::Decoder::File::get_sample_rate"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Decoder::Stream::get_sample_rate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga33">FLAC__stream_decoder_get_sample_rate()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama19" doxytag="FLAC::Decoder::File::get_blocksize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Decoder::Stream::get_blocksize </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga34">FLAC__stream_decoder_get_blocksize()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama20" doxytag="FLAC::Decoder::File::get_decode_position"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::get_decode_position </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__uint64 *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>position</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga35">FLAC__stream_decoder_get_decode_position()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama21" doxytag="FLAC::Decoder::File::init"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a> FLAC::Decoder::Stream::init </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Seek <a class="el" href="group__flac__stream__decoder.html#ga36">FLAC__stream_decoder_init_stream()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama22" doxytag="FLAC::Decoder::File::init_ogg"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a> FLAC::Decoder::Stream::init_ogg </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Seek <a class="el" href="group__flac__stream__decoder.html#ga37">FLAC__stream_decoder_init_ogg_stream()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama23" doxytag="FLAC::Decoder::File::finish"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::finish </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga42">FLAC__stream_decoder_finish()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama24" doxytag="FLAC::Decoder::File::flush"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::flush </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga43">FLAC__stream_decoder_flush()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama25" doxytag="FLAC::Decoder::File::reset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::reset </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga44">FLAC__stream_decoder_reset()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama26" doxytag="FLAC::Decoder::File::process_single"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::process_single </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga45">FLAC__stream_decoder_process_single()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama27" doxytag="FLAC::Decoder::File::process_until_end_of_metadata"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::process_until_end_of_metadata </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga46">FLAC__stream_decoder_process_until_end_of_metadata()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama28" doxytag="FLAC::Decoder::File::process_until_end_of_stream"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::process_until_end_of_stream </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga47">FLAC__stream_decoder_process_until_end_of_stream()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama29" doxytag="FLAC::Decoder::File::skip_single_frame"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::skip_single_frame </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga48">FLAC__stream_decoder_skip_single_frame()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama30" doxytag="FLAC::Decoder::File::seek_absolute"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::seek_absolute </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__uint64&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>sample</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga49">FLAC__stream_decoder_seek_absolute()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streamb1" doxytag="FLAC::Decoder::File::seek_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga53">FLAC__StreamDecoderSeekStatus</a> FLAC::Decoder::Stream::seek_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__uint64&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>absolute_byte_offset</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-see FLAC__StreamDecoderSeekCallback
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streamb2" doxytag="FLAC::Decoder::File::tell_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga54">FLAC__StreamDecoderTellStatus</a> FLAC::Decoder::Stream::tell_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__uint64 *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>absolute_byte_offset</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-see FLAC__StreamDecoderTellCallback
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streamb3" doxytag="FLAC::Decoder::File::length_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga55">FLAC__StreamDecoderLengthStatus</a> FLAC::Decoder::Stream::length_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__uint64 *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>stream_length</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-see FLAC__StreamDecoderLengthCallback
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streamb4" doxytag="FLAC::Decoder::File::eof_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::eof_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-see FLAC__StreamDecoderEofCallback
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streamb5" doxytag="FLAC::Decoder::File::write_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga56">FLAC__StreamDecoderWriteStatus</a> FLAC::Decoder::Stream::write_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const ::<a class="el" href="structFLAC____Frame.html">FLAC__Frame</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>frame</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const FLAC__int32 *const &nbsp;</td>
- <td class="mdname" nowrap> <em>buffer</em>[]</td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [protected, pure virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-see FLAC__StreamDecoderWriteCallback
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streamb6" doxytag="FLAC::Decoder::File::metadata_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual void FLAC::Decoder::Stream::metadata_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>metadata</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-see FLAC__StreamDecoderMetadataCallback
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streamb7" doxytag="FLAC::Decoder::File::error_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual void FLAC::Decoder::Stream::error_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="group__flac__stream__decoder.html#ga57">FLAC__StreamDecoderErrorStatus</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>status</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, pure virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-see FLAC__StreamDecoderErrorCallback
-<p>
- </td>
- </tr>
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="decoder_8h-source.html">decoder.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1File.png b/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1File.png
deleted file mode 100644
index 70f662bbd10..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1File.png
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1Stream-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1Stream-members.html
deleted file mode 100644
index f07abad302c..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1Stream-members.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Decoder::Stream Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>decoder_</b> (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb4">eof_callback</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>eof_callback_</b>(const ::FLAC__StreamDecoder *decoder, void *client_data) (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb7">error_callback</a>(::FLAC__StreamDecoderErrorStatus status)=0</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, pure virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>error_callback_</b>(const ::FLAC__StreamDecoder *decoder,::FLAC__StreamDecoderErrorStatus status, void *client_data) (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama23">finish</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama24">flush</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama17">get_bits_per_sample</a>() const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama19">get_blocksize</a>() const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama16">get_channel_assignment</a>() const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama15">get_channels</a>() const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama20">get_decode_position</a>(FLAC__uint64 *position) const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama13">get_md5_checking</a>() const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama18">get_sample_rate</a>() const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama12">get_state</a>() const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama14">get_total_samples</a>() const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama21">init</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama22">init_ogg</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama2">is_valid</a>() const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb3">length_callback</a>(FLAC__uint64 *stream_length)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>length_callback_</b>(const ::FLAC__StreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data) (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb6">metadata_callback</a>(const ::FLAC__StreamMetadata *metadata)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>metadata_callback_</b>(const ::FLAC__StreamDecoder *decoder, const ::FLAC__StreamMetadata *metadata, void *client_data) (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama3">operator bool</a>() const </td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama26">process_single</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama27">process_until_end_of_metadata</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama28">process_until_end_of_stream</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb0">read_callback</a>(FLAC__byte buffer[], size_t *bytes)=0</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, pure virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>read_callback_</b>(const ::FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data) (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama25">reset</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama30">seek_absolute</a>(FLAC__uint64 sample)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb1">seek_callback</a>(FLAC__uint64 absolute_byte_offset)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>seek_callback_</b>(const ::FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data) (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama5">set_md5_checking</a>(bool value)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama9">set_metadata_ignore</a>(::FLAC__MetadataType type)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama11">set_metadata_ignore_all</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama10">set_metadata_ignore_application</a>(const FLAC__byte id[4])</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama6">set_metadata_respond</a>(::FLAC__MetadataType type)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama8">set_metadata_respond_all</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama7">set_metadata_respond_application</a>(const FLAC__byte id[4])</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama4">set_ogg_serial_number</a>(long value)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama29">skip_single_frame</a>()</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Stream</b>() (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb2">tell_callback</a>(FLAC__uint64 *absolute_byte_offset)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>tell_callback_</b>(const ::FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data) (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb5">write_callback</a>(const ::FLAC__Frame *frame, const FLAC__int32 *const buffer[])=0</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, pure virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>write_callback_</b>(const ::FLAC__StreamDecoder *decoder, const ::FLAC__Frame *frame, const FLAC__int32 *const buffer[], void *client_data) (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>~Stream</b>() (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td><td><code> [virtual]</code></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1Stream.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1Stream.html
deleted file mode 100644
index 3120144ae42..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1Stream.html
+++ /dev/null
@@ -1,1268 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Decoder::Stream Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Decoder</b>::<a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">Stream</a></div>
-<h1>FLAC::Decoder::Stream Class Reference<br>
-<small>
-[<a class="el" href="group__flacpp__decoder.html">FLAC++/decoder.h: decoder classes</a>]</small>
-</h1><code>#include &lt;<a class="el" href="decoder_8h-source.html">decoder.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for FLAC::Decoder::Stream:
-<p><center><img src="classFLAC_1_1Decoder_1_1Stream.png" usemap="#FLAC::Decoder::Stream_map" border="0" alt=""></center>
-<map name="FLAC::Decoder::Stream_map">
-<area href="classFLAC_1_1Decoder_1_1File.html" alt="FLAC::Decoder::File" shape="rect" coords="0,56,145,80">
-</map>
-<a href="classFLAC_1_1Decoder_1_1Stream-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-This class wraps the <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>. If you are decoding from a file, <a class="el" href="classFLAC_1_1Decoder_1_1File.html">FLAC::Decoder::File</a> may be more convenient.
-<p>
-The usage of this class is similar to <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>, except instead of providing callbacks to FLAC__stream_decoder_init*_stream(), you will inherit from this class and override the virtual callback functions with your own implementations, then call <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama21">init()</a> or <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama22">init_ogg()</a>. The rest of the calls work the same as in the C layer.<p>
-Only the read, write, and error callbacks are mandatory. The others are optional; this class provides default implementations that do nothing. In order for seeking to work you must overide <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb1">seek_callback()</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb2">tell_callback()</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb3">length_callback()</a>, and <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb4">eof_callback()</a>.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama2">is_valid</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama3">operator bool</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama4">set_ogg_serial_number</a> (long value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama5">set_md5_checking</a> (bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama6">set_metadata_respond</a> (::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama7">set_metadata_respond_application</a> (const FLAC__byte id[4])</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama8">set_metadata_respond_all</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama9">set_metadata_ignore</a> (::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama10">set_metadata_ignore_application</a> (const FLAC__byte id[4])</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama11">set_metadata_ignore_all</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">State</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama12">get_state</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama13">get_md5_checking</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual FLAC__uint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama14">get_total_samples</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama15">get_channels</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama16">get_channel_assignment</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama17">get_bits_per_sample</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama18">get_sample_rate</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama19">get_blocksize</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama20">get_decode_position</a> (FLAC__uint64 *position) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama21">init</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama22">init_ogg</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama23">finish</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama24">flush</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama25">reset</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama26">process_single</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama27">process_until_end_of_metadata</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama28">process_until_end_of_stream</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama29">skip_single_frame</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama30">seek_absolute</a> (FLAC__uint64 sample)</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga52">FLAC__StreamDecoderReadStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb0">read_callback</a> (FLAC__byte buffer[], size_t *bytes)=0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga53">FLAC__StreamDecoderSeekStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb1">seek_callback</a> (FLAC__uint64 absolute_byte_offset)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga54">FLAC__StreamDecoderTellStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb2">tell_callback</a> (FLAC__uint64 *absolute_byte_offset)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga55">FLAC__StreamDecoderLengthStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb3">length_callback</a> (FLAC__uint64 *stream_length)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb4">eof_callback</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga56">FLAC__StreamDecoderWriteStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb5">write_callback</a> (const ::<a class="el" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, const FLAC__int32 *const buffer[])=0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb6">metadata_callback</a> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb7">error_callback</a> (::<a class="el" href="group__flac__stream__decoder.html#ga57">FLAC__StreamDecoderErrorStatus</a> status)=0</td></tr>
-
-<tr><td colspan="2"><br><h2>Static Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Streamf0" doxytag="FLAC::Decoder::Stream::read_callback_"></a>
-::<a class="el" href="group__flac__stream__decoder.html#ga52">FLAC__StreamDecoderReadStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>read_callback_</b> (const ::<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Streamf1" doxytag="FLAC::Decoder::Stream::seek_callback_"></a>
-::<a class="el" href="group__flac__stream__decoder.html#ga53">FLAC__StreamDecoderSeekStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>seek_callback_</b> (const ::<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 absolute_byte_offset, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Streamf2" doxytag="FLAC::Decoder::Stream::tell_callback_"></a>
-::<a class="el" href="group__flac__stream__decoder.html#ga54">FLAC__StreamDecoderTellStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>tell_callback_</b> (const ::<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Streamf3" doxytag="FLAC::Decoder::Stream::length_callback_"></a>
-::<a class="el" href="group__flac__stream__decoder.html#ga55">FLAC__StreamDecoderLengthStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>length_callback_</b> (const ::<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *stream_length, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Streamf4" doxytag="FLAC::Decoder::Stream::eof_callback_"></a>
-static FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>eof_callback_</b> (const ::<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Streamf5" doxytag="FLAC::Decoder::Stream::write_callback_"></a>
-::<a class="el" href="group__flac__stream__decoder.html#ga56">FLAC__StreamDecoderWriteStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>write_callback_</b> (const ::<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const ::<a class="el" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, const FLAC__int32 *const buffer[], void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Streamf6" doxytag="FLAC::Decoder::Stream::metadata_callback_"></a>
-static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>metadata_callback_</b> (const ::<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Streamf7" doxytag="FLAC::Decoder::Stream::error_callback_"></a>
-static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>error_callback_</b> (const ::<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder,::<a class="el" href="group__flac__stream__decoder.html#ga57">FLAC__StreamDecoderErrorStatus</a> status, void *client_data)</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Streamp0" doxytag="FLAC::Decoder::Stream::decoder_"></a>
-::<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>decoder_</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">State</a></td></tr>
-
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama2" doxytag="FLAC::Decoder::Stream::is_valid"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::is_valid </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Call after construction to check the that the object was created successfully. If not, use <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama12">get_state()</a> to find out why not. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama3" doxytag="FLAC::Decoder::Stream::operator bool"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Decoder::Stream::operator bool </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama2">is_valid()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama4" doxytag="FLAC::Decoder::Stream::set_ogg_serial_number"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::set_ogg_serial_number </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">long&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga18">FLAC__stream_decoder_set_ogg_serial_number()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama5" doxytag="FLAC::Decoder::Stream::set_md5_checking"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::set_md5_checking </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga19">FLAC__stream_decoder_set_md5_checking()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama6" doxytag="FLAC::Decoder::Stream::set_metadata_respond"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::set_metadata_respond </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>type</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga20">FLAC__stream_decoder_set_metadata_respond()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama7" doxytag="FLAC::Decoder::Stream::set_metadata_respond_application"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::set_metadata_respond_application </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const FLAC__byte&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>id</em>[4] </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga21">FLAC__stream_decoder_set_metadata_respond_application()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama8" doxytag="FLAC::Decoder::Stream::set_metadata_respond_all"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::set_metadata_respond_all </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga22">FLAC__stream_decoder_set_metadata_respond_all()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama9" doxytag="FLAC::Decoder::Stream::set_metadata_ignore"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::set_metadata_ignore </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>type</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga23">FLAC__stream_decoder_set_metadata_ignore()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama10" doxytag="FLAC::Decoder::Stream::set_metadata_ignore_application"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::set_metadata_ignore_application </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const FLAC__byte&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>id</em>[4] </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga24">FLAC__stream_decoder_set_metadata_ignore_application()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama11" doxytag="FLAC::Decoder::Stream::set_metadata_ignore_all"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::set_metadata_ignore_all </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga25">FLAC__stream_decoder_set_metadata_ignore_all()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama12" doxytag="FLAC::Decoder::Stream::get_state"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">State</a> FLAC::Decoder::Stream::get_state </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga26">FLAC__stream_decoder_get_state()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama13" doxytag="FLAC::Decoder::Stream::get_md5_checking"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::get_md5_checking </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga28">FLAC__stream_decoder_get_md5_checking()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama14" doxytag="FLAC::Decoder::Stream::get_total_samples"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual FLAC__uint64 FLAC::Decoder::Stream::get_total_samples </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga29">FLAC__stream_decoder_get_total_samples()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama15" doxytag="FLAC::Decoder::Stream::get_channels"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Decoder::Stream::get_channels </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga30">FLAC__stream_decoder_get_channels()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama16" doxytag="FLAC::Decoder::Stream::get_channel_assignment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a> FLAC::Decoder::Stream::get_channel_assignment </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga31">FLAC__stream_decoder_get_channel_assignment()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama17" doxytag="FLAC::Decoder::Stream::get_bits_per_sample"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Decoder::Stream::get_bits_per_sample </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga32">FLAC__stream_decoder_get_bits_per_sample()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama18" doxytag="FLAC::Decoder::Stream::get_sample_rate"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Decoder::Stream::get_sample_rate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga33">FLAC__stream_decoder_get_sample_rate()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama19" doxytag="FLAC::Decoder::Stream::get_blocksize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Decoder::Stream::get_blocksize </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga34">FLAC__stream_decoder_get_blocksize()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama20" doxytag="FLAC::Decoder::Stream::get_decode_position"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::get_decode_position </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__uint64 *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>position</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga35">FLAC__stream_decoder_get_decode_position()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama21" doxytag="FLAC::Decoder::Stream::init"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a> FLAC::Decoder::Stream::init </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Seek <a class="el" href="group__flac__stream__decoder.html#ga36">FLAC__stream_decoder_init_stream()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama22" doxytag="FLAC::Decoder::Stream::init_ogg"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a> FLAC::Decoder::Stream::init_ogg </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Seek <a class="el" href="group__flac__stream__decoder.html#ga37">FLAC__stream_decoder_init_ogg_stream()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama23" doxytag="FLAC::Decoder::Stream::finish"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::finish </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga42">FLAC__stream_decoder_finish()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama24" doxytag="FLAC::Decoder::Stream::flush"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::flush </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga43">FLAC__stream_decoder_flush()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama25" doxytag="FLAC::Decoder::Stream::reset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::reset </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga44">FLAC__stream_decoder_reset()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama26" doxytag="FLAC::Decoder::Stream::process_single"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::process_single </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga45">FLAC__stream_decoder_process_single()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama27" doxytag="FLAC::Decoder::Stream::process_until_end_of_metadata"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::process_until_end_of_metadata </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga46">FLAC__stream_decoder_process_until_end_of_metadata()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama28" doxytag="FLAC::Decoder::Stream::process_until_end_of_stream"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::process_until_end_of_stream </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga47">FLAC__stream_decoder_process_until_end_of_stream()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama29" doxytag="FLAC::Decoder::Stream::skip_single_frame"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::skip_single_frame </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga48">FLAC__stream_decoder_skip_single_frame()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streama30" doxytag="FLAC::Decoder::Stream::seek_absolute"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::seek_absolute </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__uint64&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>sample</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__decoder.html#ga49">FLAC__stream_decoder_seek_absolute()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streamb0" doxytag="FLAC::Decoder::Stream::read_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga52">FLAC__StreamDecoderReadStatus</a> FLAC::Decoder::Stream::read_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__byte&nbsp;</td>
- <td class="mdname" nowrap> <em>buffer</em>[], </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>size_t *&nbsp;</td>
- <td class="mdname" nowrap> <em>bytes</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [protected, pure virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-see FLAC__StreamDecoderReadCallback
-<p>
-
-<p>
-Implemented in <a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Fileb0">FLAC::Decoder::File</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streamb1" doxytag="FLAC::Decoder::Stream::seek_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga53">FLAC__StreamDecoderSeekStatus</a> FLAC::Decoder::Stream::seek_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__uint64&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>absolute_byte_offset</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-see FLAC__StreamDecoderSeekCallback
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streamb2" doxytag="FLAC::Decoder::Stream::tell_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga54">FLAC__StreamDecoderTellStatus</a> FLAC::Decoder::Stream::tell_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__uint64 *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>absolute_byte_offset</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-see FLAC__StreamDecoderTellCallback
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streamb3" doxytag="FLAC::Decoder::Stream::length_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga55">FLAC__StreamDecoderLengthStatus</a> FLAC::Decoder::Stream::length_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__uint64 *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>stream_length</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-see FLAC__StreamDecoderLengthCallback
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streamb4" doxytag="FLAC::Decoder::Stream::eof_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Decoder::Stream::eof_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-see FLAC__StreamDecoderEofCallback
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streamb5" doxytag="FLAC::Decoder::Stream::write_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__decoder.html#ga56">FLAC__StreamDecoderWriteStatus</a> FLAC::Decoder::Stream::write_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const ::<a class="el" href="structFLAC____Frame.html">FLAC__Frame</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>frame</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const FLAC__int32 *const &nbsp;</td>
- <td class="mdname" nowrap> <em>buffer</em>[]</td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [protected, pure virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-see FLAC__StreamDecoderWriteCallback
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streamb6" doxytag="FLAC::Decoder::Stream::metadata_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual void FLAC::Decoder::Stream::metadata_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>metadata</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-see FLAC__StreamDecoderMetadataCallback
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Decoder_1_1Streamb7" doxytag="FLAC::Decoder::Stream::error_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual void FLAC::Decoder::Stream::error_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="group__flac__stream__decoder.html#ga57">FLAC__StreamDecoderErrorStatus</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>status</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, pure virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-see FLAC__StreamDecoderErrorCallback
-<p>
- </td>
- </tr>
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="decoder_8h-source.html">decoder.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1Stream.png b/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1Stream.png
deleted file mode 100644
index 09301c67686..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1Stream.png
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1Stream_1_1State-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1Stream_1_1State-members.html
deleted file mode 100644
index b7805387e8b..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1Stream_1_1State-members.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Decoder::Stream::State Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">FLAC::Decoder::Stream::State</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>as_cstring</b>() const (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">FLAC::Decoder::Stream::State</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">FLAC::Decoder::Stream::State</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator::FLAC__StreamDecoderState</b>() const (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">FLAC::Decoder::Stream::State</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">FLAC::Decoder::Stream::State</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>resolved_as_cstring</b>(const Stream &amp;decoder) const (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">FLAC::Decoder::Stream::State</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">FLAC::Decoder::Stream::State</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>State</b>(::FLAC__StreamDecoderState state) (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">FLAC::Decoder::Stream::State</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">FLAC::Decoder::Stream::State</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>state_</b> (defined in <a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">FLAC::Decoder::Stream::State</a>)</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">FLAC::Decoder::Stream::State</a></td><td><code> [protected]</code></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1Stream_1_1State.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1Stream_1_1State.html
deleted file mode 100644
index 30d6235c35d..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Decoder_1_1Stream_1_1State.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Decoder::Stream::State Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Decoder</b>::<a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">Stream</a>::<a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">State</a></div>
-<h1>FLAC::Decoder::Stream::State Class Reference</h1><code>#include &lt;<a class="el" href="decoder_8h-source.html">decoder.h</a>&gt;</code>
-<p>
-<a href="classFLAC_1_1Decoder_1_1Stream_1_1State-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-This class is a wrapper around FLAC__StreamDecoderState.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Stream_1_1Statea0" doxytag="FLAC::Decoder::Stream::State::State"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>State</b> (::<a class="el" href="group__flac__stream__decoder.html#ga50">FLAC__StreamDecoderState</a> state)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Stream_1_1Statea1" doxytag="FLAC::Decoder::Stream::State::operator::FLAC__StreamDecoderState"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator::FLAC__StreamDecoderState</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Stream_1_1Statea2" doxytag="FLAC::Decoder::Stream::State::as_cstring"></a>
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>as_cstring</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Stream_1_1Statea3" doxytag="FLAC::Decoder::Stream::State::resolved_as_cstring"></a>
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>resolved_as_cstring</b> (const <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">Stream</a> &amp;decoder) const </td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Decoder_1_1Stream_1_1Statep0" doxytag="FLAC::Decoder::Stream::State::state_"></a>
-::<a class="el" href="group__flac__stream__decoder.html#ga50">FLAC__StreamDecoderState</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>state_</b></td></tr>
-
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="decoder_8h-source.html">decoder.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1File-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1File-members.html
deleted file mode 100644
index 7eabeabd806..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1File-members.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Encoder::File Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Encoder_1_1File.html">FLAC::Encoder::File</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>encoder_</b> (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>File</b>() (defined in <a class="el" href="classFLAC_1_1Encoder_1_1File.html">FLAC::Encoder::File</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1File.html">FLAC::Encoder::File</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama48">finish</a>()</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama34">get_bits_per_sample</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama36">get_blocksize</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama33">get_channels</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama40">get_do_escape_coding</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama41">get_do_exhaustive_model_search</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama31">get_do_mid_side_stereo</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama39">get_do_qlp_coeff_prec_search</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama32">get_loose_mid_side_stereo</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama37">get_max_lpc_order</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama43">get_max_residual_partition_order</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama42">get_min_residual_partition_order</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama38">get_qlp_coeff_precision</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama44">get_rice_parameter_search_dist</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama35">get_sample_rate</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama26">get_state</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama30">get_streamable_subset</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama45">get_total_samples_estimate</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama29">get_verify</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama28">get_verify_decoder_error_stats</a>(FLAC__uint64 *absolute_sample, unsigned *frame_number, unsigned *channel, unsigned *sample, FLAC__int32 *expected, FLAC__int32 *got)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama27">get_verify_decoder_state</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Filea2">init</a>(FILE *file)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1File.html">FLAC::Encoder::File</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Filea3">init</a>(const char *filename)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1File.html">FLAC::Encoder::File</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Filea4">init</a>(const std::string &amp;filename)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1File.html">FLAC::Encoder::File</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama46">FLAC::Encoder::Stream::init</a>()</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Filea5">init_ogg</a>(FILE *file)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1File.html">FLAC::Encoder::File</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Filea6">init_ogg</a>(const char *filename)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1File.html">FLAC::Encoder::File</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Filea7">init_ogg</a>(const std::string &amp;filename)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1File.html">FLAC::Encoder::File</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama47">FLAC::Encoder::Stream::init_ogg</a>()</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama2">is_valid</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb4">metadata_callback</a>(const ::FLAC__StreamMetadata *metadata)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>metadata_callback_</b>(const ::FLAC__StreamEncoder *encoder, const ::FLAC__StreamMetadata *metadata, void *client_data) (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama3">operator bool</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama49">process</a>(const FLAC__int32 *const buffer[], unsigned samples)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama50">process_interleaved</a>(const FLAC__int32 buffer[], unsigned samples)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Fileb0">progress_callback</a>(FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1File.html">FLAC::Encoder::File</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb0">read_callback</a>(FLAC__byte buffer[], size_t *bytes)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>read_callback_</b>(const ::FLAC__StreamEncoder *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data) (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb2">seek_callback</a>(FLAC__uint64 absolute_byte_offset)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>seek_callback_</b>(const FLAC__StreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data) (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama14">set_apodization</a>(const char *specification)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama8">set_bits_per_sample</a>(unsigned value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama11">set_blocksize</a>(unsigned value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama7">set_channels</a>(unsigned value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama10">set_compression_level</a>(unsigned value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama18">set_do_escape_coding</a>(bool value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama19">set_do_exhaustive_model_search</a>(bool value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama12">set_do_mid_side_stereo</a>(bool value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama17">set_do_qlp_coeff_prec_search</a>(bool value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama13">set_loose_mid_side_stereo</a>(bool value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama15">set_max_lpc_order</a>(unsigned value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama21">set_max_residual_partition_order</a>(unsigned value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama24">set_metadata</a>(::FLAC__StreamMetadata **metadata, unsigned num_blocks)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama25">set_metadata</a>(FLAC::Metadata::Prototype **metadata, unsigned num_blocks)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama20">set_min_residual_partition_order</a>(unsigned value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama4">set_ogg_serial_number</a>(long value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama16">set_qlp_coeff_precision</a>(unsigned value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama22">set_rice_parameter_search_dist</a>(unsigned value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama9">set_sample_rate</a>(unsigned value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama6">set_streamable_subset</a>(bool value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama23">set_total_samples_estimate</a>(FLAC__uint64 value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama5">set_verify</a>(bool value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Stream</b>() (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb3">tell_callback</a>(FLAC__uint64 *absolute_byte_offset)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>tell_callback_</b>(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data) (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Fileb1">write_callback</a>(const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1File.html">FLAC::Encoder::File</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>write_callback_</b>(const ::FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data) (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>~File</b>() (defined in <a class="el" href="classFLAC_1_1Encoder_1_1File.html">FLAC::Encoder::File</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1File.html">FLAC::Encoder::File</a></td><td><code> [virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>~Stream</b>() (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1File.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1File.html
deleted file mode 100644
index 7bc52ae2637..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1File.html
+++ /dev/null
@@ -1,2124 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Encoder::File Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Encoder</b>::<a class="el" href="classFLAC_1_1Encoder_1_1File.html">File</a></div>
-<h1>FLAC::Encoder::File Class Reference<br>
-<small>
-[<a class="el" href="group__flacpp__encoder.html">FLAC++/encoder.h: encoder classes</a>]</small>
-</h1><code>#include &lt;<a class="el" href="encoder_8h-source.html">encoder.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for FLAC::Encoder::File:
-<p><center><img src="classFLAC_1_1Encoder_1_1File.png" usemap="#FLAC::Encoder::File_map" border="0" alt=""></center>
-<map name="FLAC::Encoder::File_map">
-<area href="classFLAC_1_1Encoder_1_1Stream.html" alt="FLAC::Encoder::Stream" shape="rect" coords="0,0,144,24">
-</map>
-<a href="classFLAC_1_1Encoder_1_1File-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-This class wraps the <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a>. If you are not encoding to a file, you may need to use <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a>.
-<p>
-The usage of this class is similar to <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a>, except instead of providing callbacks to FLAC__stream_encoder_init*_FILE() or FLAC__stream_encoder_init*_file(), you will inherit from this class and override the virtual callback functions with your own implementations, then call <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama46">init()</a> or <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama47">init_ogg()</a>. The rest of the calls work the same as in the C layer.<p>
-There are no mandatory callbacks; all the callbacks from <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a> are implemented here fully and support full post-encode STREAMINFO and SEEKTABLE updating. There is only an optional progress callback which you may override to get periodic reports on the progress of the encode.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Filea2">init</a> (FILE *file)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Filea3">init</a> (const char *filename)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Filea4">init</a> (const std::string &amp;filename)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Filea5">init_ogg</a> (FILE *file)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Filea6">init_ogg</a> (const char *filename)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Filea7">init_ogg</a> (const std::string &amp;filename)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama2">is_valid</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama3">operator bool</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama4">set_ogg_serial_number</a> (long value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama5">set_verify</a> (bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama6">set_streamable_subset</a> (bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama7">set_channels</a> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama8">set_bits_per_sample</a> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama9">set_sample_rate</a> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama10">set_compression_level</a> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama11">set_blocksize</a> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama12">set_do_mid_side_stereo</a> (bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama13">set_loose_mid_side_stereo</a> (bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama14">set_apodization</a> (const char *specification)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama15">set_max_lpc_order</a> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama16">set_qlp_coeff_precision</a> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama17">set_do_qlp_coeff_prec_search</a> (bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama18">set_do_escape_coding</a> (bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama19">set_do_exhaustive_model_search</a> (bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama20">set_min_residual_partition_order</a> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama21">set_max_residual_partition_order</a> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama22">set_rice_parameter_search_dist</a> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama23">set_total_samples_estimate</a> (FLAC__uint64 value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama24">set_metadata</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **metadata, unsigned num_blocks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama25">set_metadata</a> (<a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a> **metadata, unsigned num_blocks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">State&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama26">get_state</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">Decoder::Stream::State</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama27">get_verify_decoder_state</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama28">get_verify_decoder_error_stats</a> (FLAC__uint64 *absolute_sample, unsigned *frame_number, unsigned *channel, unsigned *sample, FLAC__int32 *expected, FLAC__int32 *got)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama29">get_verify</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama30">get_streamable_subset</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama31">get_do_mid_side_stereo</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama32">get_loose_mid_side_stereo</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama33">get_channels</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama34">get_bits_per_sample</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama35">get_sample_rate</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama36">get_blocksize</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama37">get_max_lpc_order</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama38">get_qlp_coeff_precision</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama39">get_do_qlp_coeff_prec_search</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama40">get_do_escape_coding</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama41">get_do_exhaustive_model_search</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama42">get_min_residual_partition_order</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama43">get_max_residual_partition_order</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama44">get_rice_parameter_search_dist</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual FLAC__uint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama45">get_total_samples_estimate</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama46">init</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama47">init_ogg</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama48">finish</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama49">process</a> (const FLAC__int32 *const buffer[], unsigned samples)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama50">process_interleaved</a> (const FLAC__int32 buffer[], unsigned samples)</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Fileb0">progress_callback</a> (FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga68">FLAC__StreamEncoderWriteStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Fileb1">write_callback</a> (const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga67">FLAC__StreamEncoderReadStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb0">read_callback</a> (FLAC__byte buffer[], size_t *bytes)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga69">FLAC__StreamEncoderSeekStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb2">seek_callback</a> (FLAC__uint64 absolute_byte_offset)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga70">FLAC__StreamEncoderTellStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb3">tell_callback</a> (FLAC__uint64 *absolute_byte_offset)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb4">metadata_callback</a> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata)</td></tr>
-
-<tr><td colspan="2"><br><h2>Static Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Encoder_1_1Streamf0" doxytag="FLAC::Encoder::File::read_callback_"></a>
-::<a class="el" href="group__flac__stream__encoder.html#ga67">FLAC__StreamEncoderReadStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>read_callback_</b> (const ::<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Encoder_1_1Streamf1" doxytag="FLAC::Encoder::File::write_callback_"></a>
-::<a class="el" href="group__flac__stream__encoder.html#ga68">FLAC__StreamEncoderWriteStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>write_callback_</b> (const ::<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Encoder_1_1Streamf2" doxytag="FLAC::Encoder::File::seek_callback_"></a>
-::<a class="el" href="group__flac__stream__encoder.html#ga69">FLAC__StreamEncoderSeekStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>seek_callback_</b> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 absolute_byte_offset, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Encoder_1_1Streamf3" doxytag="FLAC::Encoder::File::tell_callback_"></a>
-::<a class="el" href="group__flac__stream__encoder.html#ga70">FLAC__StreamEncoderTellStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>tell_callback_</b> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Encoder_1_1Streamf4" doxytag="FLAC::Encoder::File::metadata_callback_"></a>
-static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>metadata_callback_</b> (const ::<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, void *client_data)</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Encoder_1_1Streamp0" doxytag="FLAC::Encoder::File::encoder_"></a>
-::<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>encoder_</b></td></tr>
-
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Filea2" doxytag="FLAC::Encoder::File::init"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a> FLAC::Encoder::File::init </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FILE *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>file</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga58">FLAC__stream_encoder_init_FILE()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Filea3" doxytag="FLAC::Encoder::File::init"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a> FLAC::Encoder::File::init </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>filename</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga60">FLAC__stream_encoder_init_file()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Filea4" doxytag="FLAC::Encoder::File::init"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a> FLAC::Encoder::File::init </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>filename</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga60">FLAC__stream_encoder_init_file()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Filea5" doxytag="FLAC::Encoder::File::init_ogg"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a> FLAC::Encoder::File::init_ogg </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FILE *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>file</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga59">FLAC__stream_encoder_init_ogg_FILE()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Filea6" doxytag="FLAC::Encoder::File::init_ogg"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a> FLAC::Encoder::File::init_ogg </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>filename</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga61">FLAC__stream_encoder_init_ogg_file()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Filea7" doxytag="FLAC::Encoder::File::init_ogg"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a> FLAC::Encoder::File::init_ogg </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>filename</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga61">FLAC__stream_encoder_init_ogg_file()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Fileb0" doxytag="FLAC::Encoder::File::progress_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual void FLAC::Encoder::File::progress_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__uint64&nbsp;</td>
- <td class="mdname" nowrap> <em>bytes_written</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__uint64&nbsp;</td>
- <td class="mdname" nowrap> <em>samples_written</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>frames_written</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>total_frames_estimate</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [protected, virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See FLAC__StreamEncoderProgressCallback.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Fileb1" doxytag="FLAC::Encoder::File::write_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga68">FLAC__StreamEncoderWriteStatus</a> FLAC::Encoder::File::write_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const FLAC__byte&nbsp;</td>
- <td class="mdname" nowrap> <em>buffer</em>[], </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>size_t&nbsp;</td>
- <td class="mdname" nowrap> <em>bytes</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>samples</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>current_frame</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [protected, virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-This is a dummy implementation to satisfy the pure virtual in <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">Stream</a> that is actually supplied internally by the C layer.
-<p>
-
-<p>
-Implements <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb1">FLAC::Encoder::Stream</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama2" doxytag="FLAC::Encoder::File::is_valid"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::is_valid </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Call after construction to check the that the object was created successfully. If not, use <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama26">get_state()</a> to find out why not. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama3" doxytag="FLAC::Encoder::File::operator bool"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Encoder::Stream::operator bool </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama2">is_valid()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama4" doxytag="FLAC::Encoder::File::set_ogg_serial_number"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_ogg_serial_number </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">long&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga14">FLAC__stream_encoder_set_ogg_serial_number()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama5" doxytag="FLAC::Encoder::File::set_verify"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_verify </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga15">FLAC__stream_encoder_set_verify()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama6" doxytag="FLAC::Encoder::File::set_streamable_subset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_streamable_subset </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga16">FLAC__stream_encoder_set_streamable_subset()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama7" doxytag="FLAC::Encoder::File::set_channels"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_channels </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga17">FLAC__stream_encoder_set_channels()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama8" doxytag="FLAC::Encoder::File::set_bits_per_sample"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_bits_per_sample </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga18">FLAC__stream_encoder_set_bits_per_sample()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama9" doxytag="FLAC::Encoder::File::set_sample_rate"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_sample_rate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga19">FLAC__stream_encoder_set_sample_rate()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama10" doxytag="FLAC::Encoder::File::set_compression_level"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_compression_level </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga20">FLAC__stream_encoder_set_compression_level()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama11" doxytag="FLAC::Encoder::File::set_blocksize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_blocksize </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga21">FLAC__stream_encoder_set_blocksize()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama12" doxytag="FLAC::Encoder::File::set_do_mid_side_stereo"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_do_mid_side_stereo </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga22">FLAC__stream_encoder_set_do_mid_side_stereo()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama13" doxytag="FLAC::Encoder::File::set_loose_mid_side_stereo"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_loose_mid_side_stereo </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga23">FLAC__stream_encoder_set_loose_mid_side_stereo()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama14" doxytag="FLAC::Encoder::File::set_apodization"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_apodization </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>specification</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga24">FLAC__stream_encoder_set_apodization()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama15" doxytag="FLAC::Encoder::File::set_max_lpc_order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_max_lpc_order </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga25">FLAC__stream_encoder_set_max_lpc_order()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama16" doxytag="FLAC::Encoder::File::set_qlp_coeff_precision"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_qlp_coeff_precision </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga26">FLAC__stream_encoder_set_qlp_coeff_precision()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama17" doxytag="FLAC::Encoder::File::set_do_qlp_coeff_prec_search"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_do_qlp_coeff_prec_search </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga27">FLAC__stream_encoder_set_do_qlp_coeff_prec_search()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama18" doxytag="FLAC::Encoder::File::set_do_escape_coding"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_do_escape_coding </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga28">FLAC__stream_encoder_set_do_escape_coding()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama19" doxytag="FLAC::Encoder::File::set_do_exhaustive_model_search"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_do_exhaustive_model_search </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga29">FLAC__stream_encoder_set_do_exhaustive_model_search()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama20" doxytag="FLAC::Encoder::File::set_min_residual_partition_order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_min_residual_partition_order </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga30">FLAC__stream_encoder_set_min_residual_partition_order()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama21" doxytag="FLAC::Encoder::File::set_max_residual_partition_order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_max_residual_partition_order </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga31">FLAC__stream_encoder_set_max_residual_partition_order()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama22" doxytag="FLAC::Encoder::File::set_rice_parameter_search_dist"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_rice_parameter_search_dist </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga32">FLAC__stream_encoder_set_rice_parameter_search_dist()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama23" doxytag="FLAC::Encoder::File::set_total_samples_estimate"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_total_samples_estimate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__uint64&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga33">FLAC__stream_encoder_set_total_samples_estimate()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama24" doxytag="FLAC::Encoder::File::set_metadata"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_metadata </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **&nbsp;</td>
- <td class="mdname" nowrap> <em>metadata</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>num_blocks</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga34">FLAC__stream_encoder_set_metadata()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama25" doxytag="FLAC::Encoder::File::set_metadata"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_metadata </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a> **&nbsp;</td>
- <td class="mdname" nowrap> <em>metadata</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>num_blocks</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga34">FLAC__stream_encoder_set_metadata()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama26" doxytag="FLAC::Encoder::File::get_state"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">State FLAC::Encoder::Stream::get_state </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga35">FLAC__stream_encoder_get_state()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama27" doxytag="FLAC::Encoder::File::get_verify_decoder_state"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual <a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">Decoder::Stream::State</a> FLAC::Encoder::Stream::get_verify_decoder_state </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga36">FLAC__stream_encoder_get_verify_decoder_state()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama28" doxytag="FLAC::Encoder::File::get_verify_decoder_error_stats"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual void FLAC::Encoder::Stream::get_verify_decoder_error_stats </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__uint64 *&nbsp;</td>
- <td class="mdname" nowrap> <em>absolute_sample</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned *&nbsp;</td>
- <td class="mdname" nowrap> <em>frame_number</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned *&nbsp;</td>
- <td class="mdname" nowrap> <em>channel</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned *&nbsp;</td>
- <td class="mdname" nowrap> <em>sample</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__int32 *&nbsp;</td>
- <td class="mdname" nowrap> <em>expected</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__int32 *&nbsp;</td>
- <td class="mdname" nowrap> <em>got</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga38">FLAC__stream_encoder_get_verify_decoder_error_stats()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama29" doxytag="FLAC::Encoder::File::get_verify"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::get_verify </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga39">FLAC__stream_encoder_get_verify()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama30" doxytag="FLAC::Encoder::File::get_streamable_subset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::get_streamable_subset </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga40">FLAC__stream_encoder_get_streamable_subset()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama31" doxytag="FLAC::Encoder::File::get_do_mid_side_stereo"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::get_do_mid_side_stereo </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga45">FLAC__stream_encoder_get_do_mid_side_stereo()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama32" doxytag="FLAC::Encoder::File::get_loose_mid_side_stereo"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::get_loose_mid_side_stereo </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga46">FLAC__stream_encoder_get_loose_mid_side_stereo()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama33" doxytag="FLAC::Encoder::File::get_channels"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Encoder::Stream::get_channels </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga41">FLAC__stream_encoder_get_channels()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama34" doxytag="FLAC::Encoder::File::get_bits_per_sample"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Encoder::Stream::get_bits_per_sample </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga42">FLAC__stream_encoder_get_bits_per_sample()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama35" doxytag="FLAC::Encoder::File::get_sample_rate"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Encoder::Stream::get_sample_rate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga43">FLAC__stream_encoder_get_sample_rate()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama36" doxytag="FLAC::Encoder::File::get_blocksize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Encoder::Stream::get_blocksize </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga44">FLAC__stream_encoder_get_blocksize()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama37" doxytag="FLAC::Encoder::File::get_max_lpc_order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Encoder::Stream::get_max_lpc_order </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga47">FLAC__stream_encoder_get_max_lpc_order()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama38" doxytag="FLAC::Encoder::File::get_qlp_coeff_precision"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Encoder::Stream::get_qlp_coeff_precision </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga48">FLAC__stream_encoder_get_qlp_coeff_precision()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama39" doxytag="FLAC::Encoder::File::get_do_qlp_coeff_prec_search"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::get_do_qlp_coeff_prec_search </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga49">FLAC__stream_encoder_get_do_qlp_coeff_prec_search()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama40" doxytag="FLAC::Encoder::File::get_do_escape_coding"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::get_do_escape_coding </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga50">FLAC__stream_encoder_get_do_escape_coding()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama41" doxytag="FLAC::Encoder::File::get_do_exhaustive_model_search"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::get_do_exhaustive_model_search </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga51">FLAC__stream_encoder_get_do_exhaustive_model_search()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama42" doxytag="FLAC::Encoder::File::get_min_residual_partition_order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Encoder::Stream::get_min_residual_partition_order </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga52">FLAC__stream_encoder_get_min_residual_partition_order()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama43" doxytag="FLAC::Encoder::File::get_max_residual_partition_order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Encoder::Stream::get_max_residual_partition_order </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga53">FLAC__stream_encoder_get_max_residual_partition_order()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama44" doxytag="FLAC::Encoder::File::get_rice_parameter_search_dist"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Encoder::Stream::get_rice_parameter_search_dist </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga54">FLAC__stream_encoder_get_rice_parameter_search_dist()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama45" doxytag="FLAC::Encoder::File::get_total_samples_estimate"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual FLAC__uint64 FLAC::Encoder::Stream::get_total_samples_estimate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga55">FLAC__stream_encoder_get_total_samples_estimate()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama46" doxytag="FLAC::Encoder::File::init"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a> FLAC::Encoder::Stream::init </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga56">FLAC__stream_encoder_init_stream()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama47" doxytag="FLAC::Encoder::File::init_ogg"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a> FLAC::Encoder::Stream::init_ogg </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga57">FLAC__stream_encoder_init_ogg_stream()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama48" doxytag="FLAC::Encoder::File::finish"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::finish </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga62">FLAC__stream_encoder_finish()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama49" doxytag="FLAC::Encoder::File::process"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::process </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const FLAC__int32 *const &nbsp;</td>
- <td class="mdname" nowrap> <em>buffer</em>[], </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>samples</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga63">FLAC__stream_encoder_process()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama50" doxytag="FLAC::Encoder::File::process_interleaved"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::process_interleaved </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const FLAC__int32&nbsp;</td>
- <td class="mdname" nowrap> <em>buffer</em>[], </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>samples</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga64">FLAC__stream_encoder_process_interleaved()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streamb0" doxytag="FLAC::Encoder::File::read_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga67">FLAC__StreamEncoderReadStatus</a> FLAC::Encoder::Stream::read_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__byte&nbsp;</td>
- <td class="mdname" nowrap> <em>buffer</em>[], </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>size_t *&nbsp;</td>
- <td class="mdname" nowrap> <em>bytes</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [protected, virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See FLAC__StreamEncoderReadCallback.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streamb2" doxytag="FLAC::Encoder::File::seek_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga69">FLAC__StreamEncoderSeekStatus</a> FLAC::Encoder::Stream::seek_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__uint64&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>absolute_byte_offset</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See FLAC__StreamEncoderSeekCallback.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streamb3" doxytag="FLAC::Encoder::File::tell_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga70">FLAC__StreamEncoderTellStatus</a> FLAC::Encoder::Stream::tell_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__uint64 *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>absolute_byte_offset</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See FLAC__StreamEncoderTellCallback.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streamb4" doxytag="FLAC::Encoder::File::metadata_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual void FLAC::Encoder::Stream::metadata_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>metadata</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See FLAC__StreamEncoderMetadataCallback.
-<p>
- </td>
- </tr>
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="encoder_8h-source.html">encoder.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1File.png b/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1File.png
deleted file mode 100644
index 3e45088003c..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1File.png
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1Stream-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1Stream-members.html
deleted file mode 100644
index 6fb8cb9577d..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1Stream-members.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Encoder::Stream Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>encoder_</b> (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama48">finish</a>()</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama34">get_bits_per_sample</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama36">get_blocksize</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama33">get_channels</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama40">get_do_escape_coding</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama41">get_do_exhaustive_model_search</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama31">get_do_mid_side_stereo</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama39">get_do_qlp_coeff_prec_search</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama32">get_loose_mid_side_stereo</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama37">get_max_lpc_order</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama43">get_max_residual_partition_order</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama42">get_min_residual_partition_order</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama38">get_qlp_coeff_precision</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama44">get_rice_parameter_search_dist</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama35">get_sample_rate</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama26">get_state</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama30">get_streamable_subset</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama45">get_total_samples_estimate</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama29">get_verify</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama28">get_verify_decoder_error_stats</a>(FLAC__uint64 *absolute_sample, unsigned *frame_number, unsigned *channel, unsigned *sample, FLAC__int32 *expected, FLAC__int32 *got)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama27">get_verify_decoder_state</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama46">init</a>()</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama47">init_ogg</a>()</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama2">is_valid</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb4">metadata_callback</a>(const ::FLAC__StreamMetadata *metadata)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>metadata_callback_</b>(const ::FLAC__StreamEncoder *encoder, const ::FLAC__StreamMetadata *metadata, void *client_data) (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama3">operator bool</a>() const </td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama49">process</a>(const FLAC__int32 *const buffer[], unsigned samples)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama50">process_interleaved</a>(const FLAC__int32 buffer[], unsigned samples)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb0">read_callback</a>(FLAC__byte buffer[], size_t *bytes)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>read_callback_</b>(const ::FLAC__StreamEncoder *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data) (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb2">seek_callback</a>(FLAC__uint64 absolute_byte_offset)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>seek_callback_</b>(const FLAC__StreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data) (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama14">set_apodization</a>(const char *specification)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama8">set_bits_per_sample</a>(unsigned value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama11">set_blocksize</a>(unsigned value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama7">set_channels</a>(unsigned value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama10">set_compression_level</a>(unsigned value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama18">set_do_escape_coding</a>(bool value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama19">set_do_exhaustive_model_search</a>(bool value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama12">set_do_mid_side_stereo</a>(bool value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama17">set_do_qlp_coeff_prec_search</a>(bool value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama13">set_loose_mid_side_stereo</a>(bool value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama15">set_max_lpc_order</a>(unsigned value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama21">set_max_residual_partition_order</a>(unsigned value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama24">set_metadata</a>(::FLAC__StreamMetadata **metadata, unsigned num_blocks)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama25">set_metadata</a>(FLAC::Metadata::Prototype **metadata, unsigned num_blocks)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama20">set_min_residual_partition_order</a>(unsigned value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama4">set_ogg_serial_number</a>(long value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama16">set_qlp_coeff_precision</a>(unsigned value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama22">set_rice_parameter_search_dist</a>(unsigned value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama9">set_sample_rate</a>(unsigned value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama6">set_streamable_subset</a>(bool value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama23">set_total_samples_estimate</a>(FLAC__uint64 value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama5">set_verify</a>(bool value)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Stream</b>() (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb3">tell_callback</a>(FLAC__uint64 *absolute_byte_offset)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>tell_callback_</b>(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data) (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb1">write_callback</a>(const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame)=0</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected, pure virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>write_callback_</b>(const ::FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data) (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [protected, static]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>~Stream</b>() (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td><td><code> [virtual]</code></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1Stream.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1Stream.html
deleted file mode 100644
index 18963994882..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1Stream.html
+++ /dev/null
@@ -1,1882 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Encoder::Stream Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Encoder</b>::<a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">Stream</a></div>
-<h1>FLAC::Encoder::Stream Class Reference<br>
-<small>
-[<a class="el" href="group__flacpp__encoder.html">FLAC++/encoder.h: encoder classes</a>]</small>
-</h1><code>#include &lt;<a class="el" href="encoder_8h-source.html">encoder.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for FLAC::Encoder::Stream:
-<p><center><img src="classFLAC_1_1Encoder_1_1Stream.png" usemap="#FLAC::Encoder::Stream_map" border="0" alt=""></center>
-<map name="FLAC::Encoder::Stream_map">
-<area href="classFLAC_1_1Encoder_1_1File.html" alt="FLAC::Encoder::File" shape="rect" coords="0,56,144,80">
-</map>
-<a href="classFLAC_1_1Encoder_1_1Stream-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-This class wraps the <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a>. If you are encoding to a file, <a class="el" href="classFLAC_1_1Encoder_1_1File.html">FLAC::Encoder::File</a> may be more convenient.
-<p>
-The usage of this class is similar to <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a>, except instead of providing callbacks to FLAC__stream_encoder_init*_stream(), you will inherit from this class and override the virtual callback functions with your own implementations, then call <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama46">init()</a> or <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama47">init_ogg()</a>. The rest of the calls work the same as in the C layer.<p>
-Only the write callback is mandatory. The others are optional; this class provides default implementations that do nothing. In order for some STREAMINFO and SEEKTABLE data to be written properly, you must overide <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb2">seek_callback()</a> and <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb3">tell_callback()</a>; see <a class="el" href="group__flac__stream__encoder.html#ga56">FLAC__stream_encoder_init_stream()</a> as to why.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama2">is_valid</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama3">operator bool</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama4">set_ogg_serial_number</a> (long value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama5">set_verify</a> (bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama6">set_streamable_subset</a> (bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama7">set_channels</a> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama8">set_bits_per_sample</a> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama9">set_sample_rate</a> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama10">set_compression_level</a> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama11">set_blocksize</a> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama12">set_do_mid_side_stereo</a> (bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama13">set_loose_mid_side_stereo</a> (bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama14">set_apodization</a> (const char *specification)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama15">set_max_lpc_order</a> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama16">set_qlp_coeff_precision</a> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama17">set_do_qlp_coeff_prec_search</a> (bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama18">set_do_escape_coding</a> (bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama19">set_do_exhaustive_model_search</a> (bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama20">set_min_residual_partition_order</a> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama21">set_max_residual_partition_order</a> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama22">set_rice_parameter_search_dist</a> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama23">set_total_samples_estimate</a> (FLAC__uint64 value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama24">set_metadata</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **metadata, unsigned num_blocks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama25">set_metadata</a> (<a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a> **metadata, unsigned num_blocks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Encoder_1_1Stream_1_1State.html">State</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama26">get_state</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">Decoder::Stream::State</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama27">get_verify_decoder_state</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama28">get_verify_decoder_error_stats</a> (FLAC__uint64 *absolute_sample, unsigned *frame_number, unsigned *channel, unsigned *sample, FLAC__int32 *expected, FLAC__int32 *got)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama29">get_verify</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama30">get_streamable_subset</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama31">get_do_mid_side_stereo</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama32">get_loose_mid_side_stereo</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama33">get_channels</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama34">get_bits_per_sample</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama35">get_sample_rate</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama36">get_blocksize</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama37">get_max_lpc_order</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama38">get_qlp_coeff_precision</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama39">get_do_qlp_coeff_prec_search</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama40">get_do_escape_coding</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama41">get_do_exhaustive_model_search</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama42">get_min_residual_partition_order</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama43">get_max_residual_partition_order</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama44">get_rice_parameter_search_dist</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual FLAC__uint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama45">get_total_samples_estimate</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama46">init</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama47">init_ogg</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama48">finish</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama49">process</a> (const FLAC__int32 *const buffer[], unsigned samples)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama50">process_interleaved</a> (const FLAC__int32 buffer[], unsigned samples)</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga67">FLAC__StreamEncoderReadStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb0">read_callback</a> (FLAC__byte buffer[], size_t *bytes)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga68">FLAC__StreamEncoderWriteStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb1">write_callback</a> (const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame)=0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga69">FLAC__StreamEncoderSeekStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb2">seek_callback</a> (FLAC__uint64 absolute_byte_offset)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga70">FLAC__StreamEncoderTellStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb3">tell_callback</a> (FLAC__uint64 *absolute_byte_offset)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb4">metadata_callback</a> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata)</td></tr>
-
-<tr><td colspan="2"><br><h2>Static Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Encoder_1_1Streamf0" doxytag="FLAC::Encoder::Stream::read_callback_"></a>
-::<a class="el" href="group__flac__stream__encoder.html#ga67">FLAC__StreamEncoderReadStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>read_callback_</b> (const ::<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Encoder_1_1Streamf1" doxytag="FLAC::Encoder::Stream::write_callback_"></a>
-::<a class="el" href="group__flac__stream__encoder.html#ga68">FLAC__StreamEncoderWriteStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>write_callback_</b> (const ::<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Encoder_1_1Streamf2" doxytag="FLAC::Encoder::Stream::seek_callback_"></a>
-::<a class="el" href="group__flac__stream__encoder.html#ga69">FLAC__StreamEncoderSeekStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>seek_callback_</b> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 absolute_byte_offset, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Encoder_1_1Streamf3" doxytag="FLAC::Encoder::Stream::tell_callback_"></a>
-::<a class="el" href="group__flac__stream__encoder.html#ga70">FLAC__StreamEncoderTellStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>tell_callback_</b> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Encoder_1_1Streamf4" doxytag="FLAC::Encoder::Stream::metadata_callback_"></a>
-static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>metadata_callback_</b> (const ::<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, void *client_data)</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Encoder_1_1Streamp0" doxytag="FLAC::Encoder::Stream::encoder_"></a>
-::<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>encoder_</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream_1_1State.html">State</a></td></tr>
-
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama2" doxytag="FLAC::Encoder::Stream::is_valid"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::is_valid </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Call after construction to check the that the object was created successfully. If not, use <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama26">get_state()</a> to find out why not. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama3" doxytag="FLAC::Encoder::Stream::operator bool"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Encoder::Stream::operator bool </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama2">is_valid()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama4" doxytag="FLAC::Encoder::Stream::set_ogg_serial_number"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_ogg_serial_number </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">long&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga14">FLAC__stream_encoder_set_ogg_serial_number()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama5" doxytag="FLAC::Encoder::Stream::set_verify"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_verify </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga15">FLAC__stream_encoder_set_verify()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama6" doxytag="FLAC::Encoder::Stream::set_streamable_subset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_streamable_subset </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga16">FLAC__stream_encoder_set_streamable_subset()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama7" doxytag="FLAC::Encoder::Stream::set_channels"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_channels </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga17">FLAC__stream_encoder_set_channels()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama8" doxytag="FLAC::Encoder::Stream::set_bits_per_sample"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_bits_per_sample </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga18">FLAC__stream_encoder_set_bits_per_sample()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama9" doxytag="FLAC::Encoder::Stream::set_sample_rate"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_sample_rate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga19">FLAC__stream_encoder_set_sample_rate()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama10" doxytag="FLAC::Encoder::Stream::set_compression_level"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_compression_level </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga20">FLAC__stream_encoder_set_compression_level()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama11" doxytag="FLAC::Encoder::Stream::set_blocksize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_blocksize </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga21">FLAC__stream_encoder_set_blocksize()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama12" doxytag="FLAC::Encoder::Stream::set_do_mid_side_stereo"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_do_mid_side_stereo </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga22">FLAC__stream_encoder_set_do_mid_side_stereo()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama13" doxytag="FLAC::Encoder::Stream::set_loose_mid_side_stereo"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_loose_mid_side_stereo </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga23">FLAC__stream_encoder_set_loose_mid_side_stereo()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama14" doxytag="FLAC::Encoder::Stream::set_apodization"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_apodization </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>specification</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga24">FLAC__stream_encoder_set_apodization()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama15" doxytag="FLAC::Encoder::Stream::set_max_lpc_order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_max_lpc_order </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga25">FLAC__stream_encoder_set_max_lpc_order()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama16" doxytag="FLAC::Encoder::Stream::set_qlp_coeff_precision"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_qlp_coeff_precision </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga26">FLAC__stream_encoder_set_qlp_coeff_precision()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama17" doxytag="FLAC::Encoder::Stream::set_do_qlp_coeff_prec_search"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_do_qlp_coeff_prec_search </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga27">FLAC__stream_encoder_set_do_qlp_coeff_prec_search()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama18" doxytag="FLAC::Encoder::Stream::set_do_escape_coding"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_do_escape_coding </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga28">FLAC__stream_encoder_set_do_escape_coding()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama19" doxytag="FLAC::Encoder::Stream::set_do_exhaustive_model_search"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_do_exhaustive_model_search </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga29">FLAC__stream_encoder_set_do_exhaustive_model_search()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama20" doxytag="FLAC::Encoder::Stream::set_min_residual_partition_order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_min_residual_partition_order </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga30">FLAC__stream_encoder_set_min_residual_partition_order()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama21" doxytag="FLAC::Encoder::Stream::set_max_residual_partition_order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_max_residual_partition_order </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga31">FLAC__stream_encoder_set_max_residual_partition_order()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama22" doxytag="FLAC::Encoder::Stream::set_rice_parameter_search_dist"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_rice_parameter_search_dist </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga32">FLAC__stream_encoder_set_rice_parameter_search_dist()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama23" doxytag="FLAC::Encoder::Stream::set_total_samples_estimate"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_total_samples_estimate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__uint64&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga33">FLAC__stream_encoder_set_total_samples_estimate()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama24" doxytag="FLAC::Encoder::Stream::set_metadata"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_metadata </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **&nbsp;</td>
- <td class="mdname" nowrap> <em>metadata</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>num_blocks</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga34">FLAC__stream_encoder_set_metadata()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama25" doxytag="FLAC::Encoder::Stream::set_metadata"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::set_metadata </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a> **&nbsp;</td>
- <td class="mdname" nowrap> <em>metadata</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>num_blocks</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga34">FLAC__stream_encoder_set_metadata()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama26" doxytag="FLAC::Encoder::Stream::get_state"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Encoder_1_1Stream_1_1State.html">State</a> FLAC::Encoder::Stream::get_state </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga35">FLAC__stream_encoder_get_state()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama27" doxytag="FLAC::Encoder::Stream::get_verify_decoder_state"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual <a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">Decoder::Stream::State</a> FLAC::Encoder::Stream::get_verify_decoder_state </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga36">FLAC__stream_encoder_get_verify_decoder_state()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama28" doxytag="FLAC::Encoder::Stream::get_verify_decoder_error_stats"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual void FLAC::Encoder::Stream::get_verify_decoder_error_stats </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__uint64 *&nbsp;</td>
- <td class="mdname" nowrap> <em>absolute_sample</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned *&nbsp;</td>
- <td class="mdname" nowrap> <em>frame_number</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned *&nbsp;</td>
- <td class="mdname" nowrap> <em>channel</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned *&nbsp;</td>
- <td class="mdname" nowrap> <em>sample</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__int32 *&nbsp;</td>
- <td class="mdname" nowrap> <em>expected</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__int32 *&nbsp;</td>
- <td class="mdname" nowrap> <em>got</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga38">FLAC__stream_encoder_get_verify_decoder_error_stats()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama29" doxytag="FLAC::Encoder::Stream::get_verify"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::get_verify </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga39">FLAC__stream_encoder_get_verify()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama30" doxytag="FLAC::Encoder::Stream::get_streamable_subset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::get_streamable_subset </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga40">FLAC__stream_encoder_get_streamable_subset()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama31" doxytag="FLAC::Encoder::Stream::get_do_mid_side_stereo"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::get_do_mid_side_stereo </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga45">FLAC__stream_encoder_get_do_mid_side_stereo()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama32" doxytag="FLAC::Encoder::Stream::get_loose_mid_side_stereo"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::get_loose_mid_side_stereo </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga46">FLAC__stream_encoder_get_loose_mid_side_stereo()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama33" doxytag="FLAC::Encoder::Stream::get_channels"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Encoder::Stream::get_channels </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga41">FLAC__stream_encoder_get_channels()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama34" doxytag="FLAC::Encoder::Stream::get_bits_per_sample"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Encoder::Stream::get_bits_per_sample </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga42">FLAC__stream_encoder_get_bits_per_sample()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama35" doxytag="FLAC::Encoder::Stream::get_sample_rate"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Encoder::Stream::get_sample_rate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga43">FLAC__stream_encoder_get_sample_rate()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama36" doxytag="FLAC::Encoder::Stream::get_blocksize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Encoder::Stream::get_blocksize </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga44">FLAC__stream_encoder_get_blocksize()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama37" doxytag="FLAC::Encoder::Stream::get_max_lpc_order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Encoder::Stream::get_max_lpc_order </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga47">FLAC__stream_encoder_get_max_lpc_order()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama38" doxytag="FLAC::Encoder::Stream::get_qlp_coeff_precision"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Encoder::Stream::get_qlp_coeff_precision </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga48">FLAC__stream_encoder_get_qlp_coeff_precision()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama39" doxytag="FLAC::Encoder::Stream::get_do_qlp_coeff_prec_search"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::get_do_qlp_coeff_prec_search </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga49">FLAC__stream_encoder_get_do_qlp_coeff_prec_search()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama40" doxytag="FLAC::Encoder::Stream::get_do_escape_coding"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::get_do_escape_coding </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga50">FLAC__stream_encoder_get_do_escape_coding()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama41" doxytag="FLAC::Encoder::Stream::get_do_exhaustive_model_search"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::get_do_exhaustive_model_search </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga51">FLAC__stream_encoder_get_do_exhaustive_model_search()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama42" doxytag="FLAC::Encoder::Stream::get_min_residual_partition_order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Encoder::Stream::get_min_residual_partition_order </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga52">FLAC__stream_encoder_get_min_residual_partition_order()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama43" doxytag="FLAC::Encoder::Stream::get_max_residual_partition_order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Encoder::Stream::get_max_residual_partition_order </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga53">FLAC__stream_encoder_get_max_residual_partition_order()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama44" doxytag="FLAC::Encoder::Stream::get_rice_parameter_search_dist"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual unsigned FLAC::Encoder::Stream::get_rice_parameter_search_dist </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga54">FLAC__stream_encoder_get_rice_parameter_search_dist()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama45" doxytag="FLAC::Encoder::Stream::get_total_samples_estimate"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual FLAC__uint64 FLAC::Encoder::Stream::get_total_samples_estimate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga55">FLAC__stream_encoder_get_total_samples_estimate()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama46" doxytag="FLAC::Encoder::Stream::init"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a> FLAC::Encoder::Stream::init </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga56">FLAC__stream_encoder_init_stream()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama47" doxytag="FLAC::Encoder::Stream::init_ogg"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a> FLAC::Encoder::Stream::init_ogg </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga57">FLAC__stream_encoder_init_ogg_stream()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama48" doxytag="FLAC::Encoder::Stream::finish"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::finish </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga62">FLAC__stream_encoder_finish()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama49" doxytag="FLAC::Encoder::Stream::process"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::process </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const FLAC__int32 *const &nbsp;</td>
- <td class="mdname" nowrap> <em>buffer</em>[], </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>samples</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga63">FLAC__stream_encoder_process()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streama50" doxytag="FLAC::Encoder::Stream::process_interleaved"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Encoder::Stream::process_interleaved </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const FLAC__int32&nbsp;</td>
- <td class="mdname" nowrap> <em>buffer</em>[], </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>samples</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__stream__encoder.html#ga64">FLAC__stream_encoder_process_interleaved()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streamb0" doxytag="FLAC::Encoder::Stream::read_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga67">FLAC__StreamEncoderReadStatus</a> FLAC::Encoder::Stream::read_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__byte&nbsp;</td>
- <td class="mdname" nowrap> <em>buffer</em>[], </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>size_t *&nbsp;</td>
- <td class="mdname" nowrap> <em>bytes</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [protected, virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See FLAC__StreamEncoderReadCallback.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streamb1" doxytag="FLAC::Encoder::Stream::write_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga68">FLAC__StreamEncoderWriteStatus</a> FLAC::Encoder::Stream::write_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const FLAC__byte&nbsp;</td>
- <td class="mdname" nowrap> <em>buffer</em>[], </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>size_t&nbsp;</td>
- <td class="mdname" nowrap> <em>bytes</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>samples</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>current_frame</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [protected, pure virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See FLAC__StreamEncoderWriteCallback.
-<p>
-
-<p>
-Implemented in <a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Fileb1">FLAC::Encoder::File</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streamb2" doxytag="FLAC::Encoder::Stream::seek_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga69">FLAC__StreamEncoderSeekStatus</a> FLAC::Encoder::Stream::seek_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__uint64&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>absolute_byte_offset</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See FLAC__StreamEncoderSeekCallback.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streamb3" doxytag="FLAC::Encoder::Stream::tell_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual ::<a class="el" href="group__flac__stream__encoder.html#ga70">FLAC__StreamEncoderTellStatus</a> FLAC::Encoder::Stream::tell_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__uint64 *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>absolute_byte_offset</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See FLAC__StreamEncoderTellCallback.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Encoder_1_1Streamb4" doxytag="FLAC::Encoder::Stream::metadata_callback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual void FLAC::Encoder::Stream::metadata_callback </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>metadata</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See FLAC__StreamEncoderMetadataCallback.
-<p>
- </td>
- </tr>
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="encoder_8h-source.html">encoder.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1Stream.png b/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1Stream.png
deleted file mode 100644
index 4ec3a53e596..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1Stream.png
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1Stream_1_1State-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1Stream_1_1State-members.html
deleted file mode 100644
index 42926ab1cba..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1Stream_1_1State-members.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Encoder::Stream::State Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Encoder_1_1Stream_1_1State.html">FLAC::Encoder::Stream::State</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>as_cstring</b>() const (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream_1_1State.html">FLAC::Encoder::Stream::State</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream_1_1State.html">FLAC::Encoder::Stream::State</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator::FLAC__StreamEncoderState</b>() const (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream_1_1State.html">FLAC::Encoder::Stream::State</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream_1_1State.html">FLAC::Encoder::Stream::State</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>resolved_as_cstring</b>(const Stream &amp;encoder) const (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream_1_1State.html">FLAC::Encoder::Stream::State</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream_1_1State.html">FLAC::Encoder::Stream::State</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>State</b>(::FLAC__StreamEncoderState state) (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream_1_1State.html">FLAC::Encoder::Stream::State</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream_1_1State.html">FLAC::Encoder::Stream::State</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>state_</b> (defined in <a class="el" href="classFLAC_1_1Encoder_1_1Stream_1_1State.html">FLAC::Encoder::Stream::State</a>)</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream_1_1State.html">FLAC::Encoder::Stream::State</a></td><td><code> [protected]</code></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1Stream_1_1State.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1Stream_1_1State.html
deleted file mode 100644
index fabc05b8da0..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Encoder_1_1Stream_1_1State.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Encoder::Stream::State Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Encoder</b>::<a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">Stream</a>::<a class="el" href="classFLAC_1_1Encoder_1_1Stream_1_1State.html">State</a></div>
-<h1>FLAC::Encoder::Stream::State Class Reference</h1><code>#include &lt;<a class="el" href="encoder_8h-source.html">encoder.h</a>&gt;</code>
-<p>
-<a href="classFLAC_1_1Encoder_1_1Stream_1_1State-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-This class is a wrapper around FLAC__StreamEncoderState.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Encoder_1_1Stream_1_1Statea0" doxytag="FLAC::Encoder::Stream::State::State"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>State</b> (::<a class="el" href="group__flac__stream__encoder.html#ga65">FLAC__StreamEncoderState</a> state)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Encoder_1_1Stream_1_1Statea1" doxytag="FLAC::Encoder::Stream::State::operator::FLAC__StreamEncoderState"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator::FLAC__StreamEncoderState</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Encoder_1_1Stream_1_1Statea2" doxytag="FLAC::Encoder::Stream::State::as_cstring"></a>
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>as_cstring</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Encoder_1_1Stream_1_1Statea3" doxytag="FLAC::Encoder::Stream::State::resolved_as_cstring"></a>
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>resolved_as_cstring</b> (const <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">Stream</a> &amp;encoder) const </td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Encoder_1_1Stream_1_1Statep0" doxytag="FLAC::Encoder::Stream::State::state_"></a>
-::<a class="el" href="group__flac__stream__encoder.html#ga65">FLAC__StreamEncoderState</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>state_</b></td></tr>
-
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="encoder_8h-source.html">encoder.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Application-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Application-members.html
deleted file mode 100644
index 73c86dcc14a..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Application-members.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Metadata::Application Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>Application</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa1">Application</a>(const Application &amp;object)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Application</b>(const ::FLAC__StreamMetadata &amp;object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Application</b>(const ::FLAC__StreamMetadata *object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa4">Application</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa9">assign</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">assign_object</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb1">clear</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_data</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_id</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta27">get_is_last</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta29">get_length</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta28">get_type</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga7">is_valid</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Iterator</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [friend]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>object_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga8">operator const ::FLAC__StreamMetadata *</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa13">operator!=</a>(const Application &amp;object) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator!=</b>(const ::FLAC__StreamMetadata &amp;object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator!=</b>(const ::FLAC__StreamMetadata *object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga4">FLAC::Metadata::Prototype::operator!=</a>(const Prototype &amp;) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa6">operator=</a>(const Application &amp;object)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const ::FLAC__StreamMetadata &amp;object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const ::FLAC__StreamMetadata *object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">FLAC::Metadata::Prototype::operator=</a>(const Prototype &amp;)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa10">operator==</a>(const Application &amp;object) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator==</b>(const ::FLAC__StreamMetadata &amp;object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator==</b>(const ::FLAC__StreamMetadata *object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga1">FLAC::Metadata::Prototype::operator==</a>(const Prototype &amp;) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb0">Prototype</a>(const Prototype &amp;)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Prototype</b>(const ::FLAC__StreamMetadata &amp;) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Prototype</b>(const ::FLAC__StreamMetadata *) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa19">set_data</a>(const FLAC__byte *data, unsigned length)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_data</b>(FLAC__byte *data, unsigned length, bool copy) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_id</b>(const FLAC__byte value[4]) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta30">set_is_last</a>(bool)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>SimpleIterator</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [friend]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>~Application</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypea0">~Prototype</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [virtual]</code></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Application.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Application.html
deleted file mode 100644
index 1149c1bd73a..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Application.html
+++ /dev/null
@@ -1,548 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Metadata::Application Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Metadata</b>::<a class="el" href="classFLAC_1_1Metadata_1_1Application.html">Application</a></div>
-<h1>FLAC::Metadata::Application Class Reference<br>
-<small>
-[<a class="el" href="group__flacpp__metadata__object.html">FLAC++/metadata.h: metadata object classes</a>]</small>
-</h1><code>#include &lt;<a class="el" href="+_2metadata_8h-source.html">metadata.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for FLAC::Metadata::Application:
-<p><center><img src="classFLAC_1_1Metadata_1_1Application.png" usemap="#FLAC::Metadata::Application_map" border="0" alt=""></center>
-<map name="FLAC::Metadata::Application_map">
-<area href="classFLAC_1_1Metadata_1_1Prototype.html" alt="FLAC::Metadata::Prototype" shape="rect" coords="0,0,172,24">
-</map>
-<a href="classFLAC_1_1Metadata_1_1Application-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-APPLICATION metadata block. See the <a class="el" href="group__flacpp__metadata__object.html">overview </a> for more, and the <a href="../format.html#metadata_block_application">format specification</a>.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa1">Application</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">Application</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Applicationa2" doxytag="FLAC::Metadata::Application::Application"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>Application</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Applicationa3" doxytag="FLAC::Metadata::Application::Application"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>Application</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa4">Application</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">Application</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa6">operator=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">Application</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Applicationa7" doxytag="FLAC::Metadata::Application::operator="></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1Application.html">Application</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Applicationa8" doxytag="FLAC::Metadata::Application::operator="></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1Application.html">Application</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">Application</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa9">assign</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa10">operator==</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">Application</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Applicationa11" doxytag="FLAC::Metadata::Application::operator=="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Applicationa12" doxytag="FLAC::Metadata::Application::operator=="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa13">operator!=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">Application</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Applicationa14" doxytag="FLAC::Metadata::Application::operator!="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Applicationa15" doxytag="FLAC::Metadata::Application::operator!="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Applicationa16" doxytag="FLAC::Metadata::Application::get_id"></a>
-const FLAC__byte *&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_id</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Applicationa17" doxytag="FLAC::Metadata::Application::get_data"></a>
-const FLAC__byte *&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_data</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Applicationa18" doxytag="FLAC::Metadata::Application::set_id"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_id</b> (const FLAC__byte value[4])</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa19">set_data</a> (const FLAC__byte *data, unsigned length)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Applicationa20" doxytag="FLAC::Metadata::Application::set_data"></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_data</b> (FLAC__byte *data, unsigned length, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga1">operator==</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga4">operator!=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga7">is_valid</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta27">get_is_last</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta28">get_type</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta29">get_length</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta30">set_is_last</a> (bool)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga8">operator const ::FLAC__StreamMetadata *</a> () const </td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">assign_object</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb1">clear</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentp0" doxytag="FLAC::Metadata::Application::object_"></a>
-::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>object_</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentn0" doxytag="FLAC::Metadata::Application::SimpleIterator"></a>
-class&nbsp;</td><td class="memItemRight" valign="bottom"><b>SimpleIterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentn1" doxytag="FLAC::Metadata::Application::Iterator"></a>
-class&nbsp;</td><td class="memItemRight" valign="bottom"><b>Iterator</b></td></tr>
-
-</table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Applicationa1" doxytag="FLAC::Metadata::Application::Application"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Metadata::Application::Application </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">Application</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructs a copy of the given object. This form always performs a deep copy. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Applicationa4" doxytag="FLAC::Metadata::Application::Application"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Metadata::Application::Application </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructs an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Applicationa6" doxytag="FLAC::Metadata::Application::operator="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">Application</a>&amp; FLAC::Metadata::Application::operator= </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">Application</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assign from another object. Always performs a deep copy. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Applicationa9" doxytag="FLAC::Metadata::Application::assign"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">Application</a>&amp; FLAC::Metadata::Application::assign </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assigns an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Applicationa10" doxytag="FLAC::Metadata::Application::operator=="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Application::operator== </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">Application</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check for equality, performing a deep compare by following pointers. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Applicationa13" doxytag="FLAC::Metadata::Application::operator!="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Application::operator!= </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Application.html">Application</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check for inequality, performing a deep compare by following pointers. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Applicationa19" doxytag="FLAC::Metadata::Application::set_data"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Application::set_data </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const FLAC__byte *&nbsp;</td>
- <td class="mdname" nowrap> <em>data</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>length</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-This form always copies <em>data</em>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentb0" doxytag="FLAC::Metadata::Application::assign_object"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a>&amp; FLAC::Metadata::Prototype::assign_object </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [protected, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assigns an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentb1" doxytag="FLAC::Metadata::Application::clear"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual void FLAC::Metadata::Prototype::clear </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Deletes the underlying <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> object. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta27" doxytag="FLAC::Metadata::Application::get_is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Prototype::get_is_last </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns <code>true</code> if this block is the last block in a stream, else <code>false</code>.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta28" doxytag="FLAC::Metadata::Application::get_type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> FLAC::Metadata::Prototype::get_type </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the type of the block.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
-
-<p>
-Reimplemented in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea16">FLAC::Metadata::Picture</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta29" doxytag="FLAC::Metadata::Application::get_length"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC::Metadata::Prototype::get_length </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the stream length of the metadata block.<p>
-<dl compact><dt><b>Note:</b></dt><dd>The length does not include the metadata block header, per spec.</dd></dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta30" doxytag="FLAC::Metadata::Application::set_is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC::Metadata::Prototype::set_is_last </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sets the "is_last" flag for the block. When using the iterators it is not necessary to set this flag; they will do it for you.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="+_2metadata_8h-source.html">metadata.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Application.png b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Application.png
deleted file mode 100644
index 279ea6a08fc..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Application.png
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Chain-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Chain-members.html
deleted file mode 100644
index e2ce7412380..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Chain-members.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Metadata::Chain Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>Chain</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>chain_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina6">check_if_tempfile_needed</a>(bool use_padding)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>clear</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina2">is_valid</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Iterator</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina10">merge_padding</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina4">read</a>(const char *filename, bool is_ogg=false)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina5">read</a>(FLAC__IOHandle handle, FLAC__IOCallbacks callbacks, bool is_ogg=false)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina11">sort_padding</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina3">status</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina7">write</a>(bool use_padding=true, bool preserve_file_stats=false)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina8">write</a>(bool use_padding,::FLAC__IOHandle handle,::FLAC__IOCallbacks callbacks)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina9">write</a>(bool use_padding,::FLAC__IOHandle handle,::FLAC__IOCallbacks callbacks,::FLAC__IOHandle temp_handle,::FLAC__IOCallbacks temp_callbacks)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>~Chain</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a></td><td><code> [virtual]</code></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Chain.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Chain.html
deleted file mode 100644
index e4651274795..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Chain.html
+++ /dev/null
@@ -1,453 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Metadata::Chain Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Metadata</b>::<a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">Chain</a></div>
-<h1>FLAC::Metadata::Chain Class Reference<br>
-<small>
-[<a class="el" href="group__flacpp__metadata__level2.html">FLAC++/metadata.h: metadata level 2 interface</a>]</small>
-</h1><code>#include &lt;<a class="el" href="+_2metadata_8h-source.html">metadata.h</a>&gt;</code>
-<p>
-<a href="classFLAC_1_1Metadata_1_1Chain-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-This class is a wrapper around the FLAC__metadata_chain structures and methods; see the <a class="el" href="group__flacpp__metadata__level2.html">usage guide </a> and <a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a>.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina2">is_valid</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Chain_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina3">status</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina4">read</a> (const char *filename, bool is_ogg=false)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina5">read</a> (<a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, <a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks, bool is_ogg=false)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina6">check_if_tempfile_needed</a> (bool use_padding)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina7">write</a> (bool use_padding=true, bool preserve_file_stats=false)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina8">write</a> (bool use_padding,::<a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle,::<a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina9">write</a> (bool use_padding,::<a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle,::<a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks,::<a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> temp_handle,::<a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> temp_callbacks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina10">merge_padding</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina11">sort_padding</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Chainb0" doxytag="FLAC::Metadata::Chain::clear"></a>
-virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>clear</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Chainp0" doxytag="FLAC::Metadata::Chain::chain_"></a>
-::<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>chain_</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Chainn0" doxytag="FLAC::Metadata::Chain::Iterator"></a>
-class&nbsp;</td><td class="memItemRight" valign="bottom"><b>Iterator</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Chain_1_1Status.html">Status</a></td></tr>
-
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Chaina2" doxytag="FLAC::Metadata::Chain::is_valid"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Chain::is_valid </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns <code>true</code> iff object was properly constructed.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Chaina3" doxytag="FLAC::Metadata::Chain::status"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Chain_1_1Status.html">Status</a> FLAC::Metadata::Chain::status </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level2.html#ga5">FLAC__metadata_chain_status()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Chaina4" doxytag="FLAC::Metadata::Chain::read"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Chain::read </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>is_ogg</em> = <code>false</code></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level2.html#ga6">FLAC__metadata_chain_read()</a>, <a class="el" href="group__flac__metadata__level2.html#ga7">FLAC__metadata_chain_read_ogg()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Chaina5" doxytag="FLAC::Metadata::Chain::read"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Chain::read </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>handle</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>callbacks</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>is_ogg</em> = <code>false</code></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level2.html#ga8">FLAC__metadata_chain_read_with_callbacks()</a>, <a class="el" href="group__flac__metadata__level2.html#ga9">FLAC__metadata_chain_read_ogg_with_callbacks()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Chaina6" doxytag="FLAC::Metadata::Chain::check_if_tempfile_needed"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Chain::check_if_tempfile_needed </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>use_padding</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level2.html#ga10">FLAC__metadata_chain_check_if_tempfile_needed()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Chaina7" doxytag="FLAC::Metadata::Chain::write"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Chain::write </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname" nowrap> <em>use_padding</em> = <code>true</code>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>preserve_file_stats</em> = <code>false</code></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level2.html#ga11">FLAC__metadata_chain_write()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Chaina8" doxytag="FLAC::Metadata::Chain::write"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Chain::write </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname" nowrap> <em>use_padding</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>::<a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>handle</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>::<a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>callbacks</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level2.html#ga12">FLAC__metadata_chain_write_with_callbacks()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Chaina9" doxytag="FLAC::Metadata::Chain::write"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Chain::write </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname" nowrap> <em>use_padding</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>::<a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>handle</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>::<a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>callbacks</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>::<a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>temp_handle</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>::<a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>temp_callbacks</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level2.html#ga13">FLAC__metadata_chain_write_with_callbacks_and_tempfile()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Chaina10" doxytag="FLAC::Metadata::Chain::merge_padding"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC::Metadata::Chain::merge_padding </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level2.html#ga14">FLAC__metadata_chain_merge_padding()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Chaina11" doxytag="FLAC::Metadata::Chain::sort_padding"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC::Metadata::Chain::sort_padding </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level2.html#ga15">FLAC__metadata_chain_sort_padding()</a>.
-<p>
- </td>
- </tr>
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="+_2metadata_8h-source.html">metadata.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Chain_1_1Status-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Chain_1_1Status-members.html
deleted file mode 100644
index 25b96ebc66f..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Chain_1_1Status-members.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Metadata::Chain::Status Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Metadata_1_1Chain_1_1Status.html">FLAC::Metadata::Chain::Status</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>as_cstring</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Chain_1_1Status.html">FLAC::Metadata::Chain::Status</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain_1_1Status.html">FLAC::Metadata::Chain::Status</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator::FLAC__Metadata_ChainStatus</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Chain_1_1Status.html">FLAC::Metadata::Chain::Status</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain_1_1Status.html">FLAC::Metadata::Chain::Status</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Status</b>(::FLAC__Metadata_ChainStatus status) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Chain_1_1Status.html">FLAC::Metadata::Chain::Status</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain_1_1Status.html">FLAC::Metadata::Chain::Status</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>status_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Chain_1_1Status.html">FLAC::Metadata::Chain::Status</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain_1_1Status.html">FLAC::Metadata::Chain::Status</a></td><td><code> [protected]</code></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Chain_1_1Status.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Chain_1_1Status.html
deleted file mode 100644
index 4c220ef385e..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Chain_1_1Status.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Metadata::Chain::Status Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Metadata</b>::<a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">Chain</a>::<a class="el" href="classFLAC_1_1Metadata_1_1Chain_1_1Status.html">Status</a></div>
-<h1>FLAC::Metadata::Chain::Status Class Reference</h1><code>#include &lt;<a class="el" href="+_2metadata_8h-source.html">metadata.h</a>&gt;</code>
-<p>
-<a href="classFLAC_1_1Metadata_1_1Chain_1_1Status-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-This class is a wrapper around FLAC__Metadata_ChainStatus.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Chain_1_1Statusa0" doxytag="FLAC::Metadata::Chain::Status::Status"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>Status</b> (::<a class="el" href="group__flac__metadata__level2.html#ga27">FLAC__Metadata_ChainStatus</a> status)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Chain_1_1Statusa1" doxytag="FLAC::Metadata::Chain::Status::operator::FLAC__Metadata_ChainStatus"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator::FLAC__Metadata_ChainStatus</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Chain_1_1Statusa2" doxytag="FLAC::Metadata::Chain::Status::as_cstring"></a>
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>as_cstring</b> () const </td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Chain_1_1Statusp0" doxytag="FLAC::Metadata::Chain::Status::status_"></a>
-::<a class="el" href="group__flac__metadata__level2.html#ga27">FLAC__Metadata_ChainStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>status_</b></td></tr>
-
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="+_2metadata_8h-source.html">metadata.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1CueSheet-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1CueSheet-members.html
deleted file mode 100644
index ece7bdf2ed6..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1CueSheet-members.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Metadata::CueSheet Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta9">assign</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">assign_object</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta31">calculate_cddb_id</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb1">clear</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>CueSheet</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta1">CueSheet</a>(const CueSheet &amp;object)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>CueSheet</b>(const ::FLAC__StreamMetadata &amp;object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>CueSheet</b>(const ::FLAC__StreamMetadata *object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta4">CueSheet</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta26">delete_index</a>(unsigned track_num, unsigned index_num)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta29">delete_track</a>(unsigned i)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_is_cd</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta27">get_is_last</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_lead_in</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta29">get_length</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_media_catalog_number</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_num_tracks</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_track</b>(unsigned i) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta28">get_type</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta25">insert_index</a>(unsigned track_num, unsigned index_num, const ::FLAC__StreamMetadata_CueSheet_Index &amp;index)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta28">insert_track</a>(unsigned i, const Track &amp;track)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta30">is_legal</a>(bool check_cd_da_subset=false, const char **violation=0) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga7">is_valid</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Iterator</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [friend]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>object_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga8">operator const ::FLAC__StreamMetadata *</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta13">operator!=</a>(const CueSheet &amp;object) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator!=</b>(const ::FLAC__StreamMetadata &amp;object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator!=</b>(const ::FLAC__StreamMetadata *object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga4">FLAC::Metadata::Prototype::operator!=</a>(const Prototype &amp;) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta6">operator=</a>(const CueSheet &amp;object)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const ::FLAC__StreamMetadata &amp;object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const ::FLAC__StreamMetadata *object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">FLAC::Metadata::Prototype::operator=</a>(const Prototype &amp;)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta10">operator==</a>(const CueSheet &amp;object) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator==</b>(const ::FLAC__StreamMetadata &amp;object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator==</b>(const ::FLAC__StreamMetadata *object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga1">FLAC::Metadata::Prototype::operator==</a>(const Prototype &amp;) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb0">Prototype</a>(const Prototype &amp;)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Prototype</b>(const ::FLAC__StreamMetadata &amp;) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Prototype</b>(const ::FLAC__StreamMetadata *) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_index</b>(unsigned track_num, unsigned index_num, const ::FLAC__StreamMetadata_CueSheet_Index &amp;index) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_is_cd</b>(bool value) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta30">set_is_last</a>(bool)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_lead_in</b>(FLAC__uint64 value) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_media_catalog_number</b>(const char value[128]) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta27">set_track</a>(unsigned i, const Track &amp;track)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>SimpleIterator</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [friend]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>~CueSheet</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypea0">~Prototype</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [virtual]</code></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1CueSheet.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1CueSheet.html
deleted file mode 100644
index d7498bb6f2a..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1CueSheet.html
+++ /dev/null
@@ -1,799 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Metadata::CueSheet Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Metadata</b>::<a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">CueSheet</a></div>
-<h1>FLAC::Metadata::CueSheet Class Reference<br>
-<small>
-[<a class="el" href="group__flacpp__metadata__object.html">FLAC++/metadata.h: metadata object classes</a>]</small>
-</h1><code>#include &lt;<a class="el" href="+_2metadata_8h-source.html">metadata.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for FLAC::Metadata::CueSheet:
-<p><center><img src="classFLAC_1_1Metadata_1_1CueSheet.png" usemap="#FLAC::Metadata::CueSheet_map" border="0" alt=""></center>
-<map name="FLAC::Metadata::CueSheet_map">
-<area href="classFLAC_1_1Metadata_1_1Prototype.html" alt="FLAC::Metadata::Prototype" shape="rect" coords="0,0,164,24">
-</map>
-<a href="classFLAC_1_1Metadata_1_1CueSheet-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-CUESHEET metadata block. See the <a class="el" href="group__flacpp__metadata__object.html">overview </a> for more, and the <a href="../format.html#metadata_block_cuesheet">format specification</a>.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta1">CueSheet</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">CueSheet</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta2" doxytag="FLAC::Metadata::CueSheet::CueSheet"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>CueSheet</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta3" doxytag="FLAC::Metadata::CueSheet::CueSheet"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>CueSheet</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta4">CueSheet</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">CueSheet</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta6">operator=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">CueSheet</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta7" doxytag="FLAC::Metadata::CueSheet::operator="></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">CueSheet</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta8" doxytag="FLAC::Metadata::CueSheet::operator="></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">CueSheet</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">CueSheet</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta9">assign</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta10">operator==</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">CueSheet</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta11" doxytag="FLAC::Metadata::CueSheet::operator=="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta12" doxytag="FLAC::Metadata::CueSheet::operator=="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta13">operator!=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">CueSheet</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta14" doxytag="FLAC::Metadata::CueSheet::operator!="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta15" doxytag="FLAC::Metadata::CueSheet::operator!="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta16" doxytag="FLAC::Metadata::CueSheet::get_media_catalog_number"></a>
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_media_catalog_number</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta17" doxytag="FLAC::Metadata::CueSheet::get_lead_in"></a>
-FLAC__uint64&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_lead_in</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta18" doxytag="FLAC::Metadata::CueSheet::get_is_cd"></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_is_cd</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta19" doxytag="FLAC::Metadata::CueSheet::get_num_tracks"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_num_tracks</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta20" doxytag="FLAC::Metadata::CueSheet::get_track"></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">Track</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_track</b> (unsigned i) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta21" doxytag="FLAC::Metadata::CueSheet::set_media_catalog_number"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_media_catalog_number</b> (const char value[128])</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta22" doxytag="FLAC::Metadata::CueSheet::set_lead_in"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_lead_in</b> (FLAC__uint64 value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta23" doxytag="FLAC::Metadata::CueSheet::set_is_cd"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_is_cd</b> (bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta24" doxytag="FLAC::Metadata::CueSheet::set_index"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_index</b> (unsigned track_num, unsigned index_num, const ::<a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> &amp;index)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta25">insert_index</a> (unsigned track_num, unsigned index_num, const ::<a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> &amp;index)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta26">delete_index</a> (unsigned track_num, unsigned index_num)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta27">set_track</a> (unsigned i, const <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">Track</a> &amp;track)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta28">insert_track</a> (unsigned i, const <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">Track</a> &amp;track)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta29">delete_track</a> (unsigned i)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta30">is_legal</a> (bool check_cd_da_subset=false, const char **violation=0) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta31">calculate_cddb_id</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga1">operator==</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga4">operator!=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga7">is_valid</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta27">get_is_last</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta28">get_type</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta29">get_length</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta30">set_is_last</a> (bool)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga8">operator const ::FLAC__StreamMetadata *</a> () const </td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">assign_object</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb1">clear</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentp0" doxytag="FLAC::Metadata::CueSheet::object_"></a>
-::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>object_</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentn0" doxytag="FLAC::Metadata::CueSheet::SimpleIterator"></a>
-class&nbsp;</td><td class="memItemRight" valign="bottom"><b>SimpleIterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentn1" doxytag="FLAC::Metadata::CueSheet::Iterator"></a>
-class&nbsp;</td><td class="memItemRight" valign="bottom"><b>Iterator</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">Track</a></td></tr>
-
-</table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta1" doxytag="FLAC::Metadata::CueSheet::CueSheet"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Metadata::CueSheet::CueSheet </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">CueSheet</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructs a copy of the given object. This form always performs a deep copy. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta4" doxytag="FLAC::Metadata::CueSheet::CueSheet"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Metadata::CueSheet::CueSheet </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructs an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta6" doxytag="FLAC::Metadata::CueSheet::operator="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">CueSheet</a>&amp; FLAC::Metadata::CueSheet::operator= </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">CueSheet</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assign from another object. Always performs a deep copy. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta9" doxytag="FLAC::Metadata::CueSheet::assign"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">CueSheet</a>&amp; FLAC::Metadata::CueSheet::assign </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assigns an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta10" doxytag="FLAC::Metadata::CueSheet::operator=="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::CueSheet::operator== </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">CueSheet</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check for equality, performing a deep compare by following pointers. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta13" doxytag="FLAC::Metadata::CueSheet::operator!="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::CueSheet::operator!= </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">CueSheet</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check for inequality, performing a deep compare by following pointers. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta25" doxytag="FLAC::Metadata::CueSheet::insert_index"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::CueSheet::insert_index </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>track_num</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>index_num</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const ::<a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>index</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__object.html#ga33">FLAC__metadata_object_cuesheet_track_insert_index()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta26" doxytag="FLAC::Metadata::CueSheet::delete_index"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::CueSheet::delete_index </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>track_num</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>index_num</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__object.html#ga35">FLAC__metadata_object_cuesheet_track_delete_index()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta27" doxytag="FLAC::Metadata::CueSheet::set_track"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::CueSheet::set_track </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>i</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">Track</a> &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>track</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See FLAC__metadata_object_cuesheet_set_track().
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta28" doxytag="FLAC::Metadata::CueSheet::insert_track"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::CueSheet::insert_track </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>i</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">Track</a> &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>track</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__object.html#ga37">FLAC__metadata_object_cuesheet_insert_track()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta29" doxytag="FLAC::Metadata::CueSheet::delete_track"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::CueSheet::delete_track </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>i</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__object.html#ga39">FLAC__metadata_object_cuesheet_delete_track()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta30" doxytag="FLAC::Metadata::CueSheet::is_legal"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::CueSheet::is_legal </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname" nowrap> <em>check_cd_da_subset</em> = <code>false</code>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char **&nbsp;</td>
- <td class="mdname" nowrap> <em>violation</em> = <code>0</code></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__object.html#ga40">FLAC__metadata_object_cuesheet_is_legal()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1CueSheeta31" doxytag="FLAC::Metadata::CueSheet::calculate_cddb_id"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__uint32 FLAC::Metadata::CueSheet::calculate_cddb_id </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__object.html#ga41">FLAC__metadata_object_cuesheet_calculate_cddb_id()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentb0" doxytag="FLAC::Metadata::CueSheet::assign_object"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a>&amp; FLAC::Metadata::Prototype::assign_object </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [protected, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assigns an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentb1" doxytag="FLAC::Metadata::CueSheet::clear"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual void FLAC::Metadata::Prototype::clear </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Deletes the underlying <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> object. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta27" doxytag="FLAC::Metadata::CueSheet::get_is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Prototype::get_is_last </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns <code>true</code> if this block is the last block in a stream, else <code>false</code>.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta28" doxytag="FLAC::Metadata::CueSheet::get_type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> FLAC::Metadata::Prototype::get_type </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the type of the block.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
-
-<p>
-Reimplemented in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea16">FLAC::Metadata::Picture</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta29" doxytag="FLAC::Metadata::CueSheet::get_length"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC::Metadata::Prototype::get_length </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the stream length of the metadata block.<p>
-<dl compact><dt><b>Note:</b></dt><dd>The length does not include the metadata block header, per spec.</dd></dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta30" doxytag="FLAC::Metadata::CueSheet::set_is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC::Metadata::Prototype::set_is_last </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sets the "is_last" flag for the block. When using the iterators it is not necessary to set this flag; they will do it for you.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="+_2metadata_8h-source.html">metadata.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1CueSheet.png b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1CueSheet.png
deleted file mode 100644
index 60f511ee09f..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1CueSheet.png
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1CueSheet_1_1Track-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1CueSheet_1_1Track-members.html
deleted file mode 100644
index ff684878768..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1CueSheet_1_1Track-members.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Metadata::CueSheet::Track Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>get_index</b>(unsigned i) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_isrc</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_num_indices</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_number</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_offset</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_pre_emphasis</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_track</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_type</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html#FLAC_1_1Metadata_1_1CueSheet_1_1Tracka5">is_valid</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td><code> [virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>object_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const Track &amp;track) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_index</b>(unsigned i, const ::FLAC__StreamMetadata_CueSheet_Index &amp;index) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_isrc</b>(const char value[12]) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_number</b>(FLAC__byte value) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_offset</b>(FLAC__uint64 value) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_pre_emphasis</b>(bool value) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_type</b>(unsigned value) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Track</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Track</b>(const ::FLAC__StreamMetadata_CueSheet_Track *track) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Track</b>(const Track &amp;track) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>~Track</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a></td><td><code> [virtual]</code></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html
deleted file mode 100644
index f83be3abad4..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Metadata::CueSheet::Track Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Metadata</b>::<a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">CueSheet</a>::<a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">Track</a></div>
-<h1>FLAC::Metadata::CueSheet::Track Class Reference</h1><code>#include &lt;<a class="el" href="+_2metadata_8h-source.html">metadata.h</a>&gt;</code>
-<p>
-<a href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-Convenience class for encapsulating a cue sheet track.<p>
-Always check <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html#FLAC_1_1Metadata_1_1CueSheet_1_1Tracka5">is_valid()</a> after the constructor or operator= to make sure memory was properly allocated.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheet_1_1Tracka1" doxytag="FLAC::Metadata::CueSheet::Track::Track"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>Track</b> (const ::<a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *track)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheet_1_1Tracka2" doxytag="FLAC::Metadata::CueSheet::Track::Track"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>Track</b> (const <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">Track</a> &amp;track)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheet_1_1Tracka3" doxytag="FLAC::Metadata::CueSheet::Track::operator="></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">Track</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">Track</a> &amp;track)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html#FLAC_1_1Metadata_1_1CueSheet_1_1Tracka5">is_valid</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheet_1_1Tracka6" doxytag="FLAC::Metadata::CueSheet::Track::get_offset"></a>
-FLAC__uint64&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_offset</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheet_1_1Tracka7" doxytag="FLAC::Metadata::CueSheet::Track::get_number"></a>
-FLAC__byte&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_number</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheet_1_1Tracka8" doxytag="FLAC::Metadata::CueSheet::Track::get_isrc"></a>
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_isrc</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheet_1_1Tracka9" doxytag="FLAC::Metadata::CueSheet::Track::get_type"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_type</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheet_1_1Tracka10" doxytag="FLAC::Metadata::CueSheet::Track::get_pre_emphasis"></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_pre_emphasis</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheet_1_1Tracka11" doxytag="FLAC::Metadata::CueSheet::Track::get_num_indices"></a>
-FLAC__byte&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_num_indices</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheet_1_1Tracka12" doxytag="FLAC::Metadata::CueSheet::Track::get_index"></a>
-::<a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_index</b> (unsigned i) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheet_1_1Tracka13" doxytag="FLAC::Metadata::CueSheet::Track::get_track"></a>
-const ::<a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_track</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheet_1_1Tracka14" doxytag="FLAC::Metadata::CueSheet::Track::set_offset"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_offset</b> (FLAC__uint64 value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheet_1_1Tracka15" doxytag="FLAC::Metadata::CueSheet::Track::set_number"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_number</b> (FLAC__byte value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheet_1_1Tracka16" doxytag="FLAC::Metadata::CueSheet::Track::set_isrc"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_isrc</b> (const char value[12])</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheet_1_1Tracka17" doxytag="FLAC::Metadata::CueSheet::Track::set_type"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_type</b> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheet_1_1Tracka18" doxytag="FLAC::Metadata::CueSheet::Track::set_pre_emphasis"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_pre_emphasis</b> (bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheet_1_1Tracka19" doxytag="FLAC::Metadata::CueSheet::Track::set_index"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_index</b> (unsigned i, const ::<a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> &amp;index)</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1CueSheet_1_1Trackp0" doxytag="FLAC::Metadata::CueSheet::Track::object_"></a>
-::<a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>object_</b></td></tr>
-
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1CueSheet_1_1Tracka5" doxytag="FLAC::Metadata::CueSheet::Track::is_valid"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Metadata::CueSheet::Track::is_valid </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns <code>true</code> iff object was properly constructed.
-<p>
- </td>
- </tr>
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="+_2metadata_8h-source.html">metadata.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Iterator-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Iterator-members.html
deleted file mode 100644
index e7de519fddf..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Iterator-members.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Metadata::Iterator Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>clear</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora9">delete_block</a>(bool replace_with_padding)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora7">get_block</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora6">get_block_type</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora3">init</a>(Chain &amp;chain)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora11">insert_block_after</a>(Prototype *block)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora10">insert_block_before</a>(Prototype *block)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora2">is_valid</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Iterator</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>iterator_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora4">next</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora5">prev</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora8">set_block</a>(Prototype *block)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>~Iterator</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a></td><td><code> [virtual]</code></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Iterator.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Iterator.html
deleted file mode 100644
index 1e7141b5016..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Iterator.html
+++ /dev/null
@@ -1,370 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Metadata::Iterator Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Metadata</b>::<a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">Iterator</a></div>
-<h1>FLAC::Metadata::Iterator Class Reference<br>
-<small>
-[<a class="el" href="group__flacpp__metadata__level2.html">FLAC++/metadata.h: metadata level 2 interface</a>]</small>
-</h1><code>#include &lt;<a class="el" href="+_2metadata_8h-source.html">metadata.h</a>&gt;</code>
-<p>
-<a href="classFLAC_1_1Metadata_1_1Iterator-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-This class is a wrapper around the FLAC__metadata_iterator structures and methods; see the <a class="el" href="group__flacpp__metadata__level2.html">usage guide </a> and <a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a>.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora2">is_valid</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora3">init</a> (<a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">Chain</a> &amp;chain)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora4">next</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora5">prev</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora6">get_block_type</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora7">get_block</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora8">set_block</a> (<a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> *block)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora9">delete_block</a> (bool replace_with_padding)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora10">insert_block_before</a> (<a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> *block)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora11">insert_block_after</a> (<a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> *block)</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Iteratorb0" doxytag="FLAC::Metadata::Iterator::clear"></a>
-virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>clear</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Iteratorp0" doxytag="FLAC::Metadata::Iterator::iterator_"></a>
-::<a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>iterator_</b></td></tr>
-
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Iteratora2" doxytag="FLAC::Metadata::Iterator::is_valid"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Iterator::is_valid </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns <code>true</code> iff object was properly constructed.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Iteratora3" doxytag="FLAC::Metadata::Iterator::init"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC::Metadata::Iterator::init </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">Chain</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>chain</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level2.html#ga18">FLAC__metadata_iterator_init()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Iteratora4" doxytag="FLAC::Metadata::Iterator::next"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Iterator::next </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level2.html#ga19">FLAC__metadata_iterator_next()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Iteratora5" doxytag="FLAC::Metadata::Iterator::prev"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Iterator::prev </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level2.html#ga20">FLAC__metadata_iterator_prev()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Iteratora6" doxytag="FLAC::Metadata::Iterator::get_block_type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> FLAC::Metadata::Iterator::get_block_type </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level2.html#ga21">FLAC__metadata_iterator_get_block_type()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Iteratora7" doxytag="FLAC::Metadata::Iterator::get_block"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a>* FLAC::Metadata::Iterator::get_block </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level2.html#ga22">FLAC__metadata_iterator_get_block()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Iteratora8" doxytag="FLAC::Metadata::Iterator::set_block"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Iterator::set_block </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>block</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level2.html#ga23">FLAC__metadata_iterator_set_block()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Iteratora9" doxytag="FLAC::Metadata::Iterator::delete_block"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Iterator::delete_block </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>replace_with_padding</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level2.html#ga24">FLAC__metadata_iterator_delete_block()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Iteratora10" doxytag="FLAC::Metadata::Iterator::insert_block_before"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Iterator::insert_block_before </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>block</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level2.html#ga25">FLAC__metadata_iterator_insert_block_before()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Iteratora11" doxytag="FLAC::Metadata::Iterator::insert_block_after"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Iterator::insert_block_after </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>block</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level2.html#ga26">FLAC__metadata_iterator_insert_block_after()</a>.
-<p>
- </td>
- </tr>
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="+_2metadata_8h-source.html">metadata.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Padding-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Padding-members.html
deleted file mode 100644
index 7da95621abb..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Padding-members.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Metadata::Padding Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga9">assign</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">assign_object</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb1">clear</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta27">get_is_last</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta29">get_length</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta28">get_type</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga7">is_valid</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Iterator</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [friend]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>object_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga8">operator const ::FLAC__StreamMetadata *</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga13">operator!=</a>(const Padding &amp;object) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator!=</b>(const ::FLAC__StreamMetadata &amp;object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator!=</b>(const ::FLAC__StreamMetadata *object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga4">FLAC::Metadata::Prototype::operator!=</a>(const Prototype &amp;) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga6">operator=</a>(const Padding &amp;object)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const ::FLAC__StreamMetadata &amp;object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const ::FLAC__StreamMetadata *object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">FLAC::Metadata::Prototype::operator=</a>(const Prototype &amp;)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga10">operator==</a>(const Padding &amp;object) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator==</b>(const ::FLAC__StreamMetadata &amp;object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator==</b>(const ::FLAC__StreamMetadata *object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga1">FLAC::Metadata::Prototype::operator==</a>(const Prototype &amp;) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Padding</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga1">Padding</a>(const Padding &amp;object)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Padding</b>(const ::FLAC__StreamMetadata &amp;object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Padding</b>(const ::FLAC__StreamMetadata *object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga4">Padding</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb0">Prototype</a>(const Prototype &amp;)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Prototype</b>(const ::FLAC__StreamMetadata &amp;) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Prototype</b>(const ::FLAC__StreamMetadata *) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta30">set_is_last</a>(bool)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_length</b>(unsigned length) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>SimpleIterator</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [friend]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>~Padding</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypea0">~Prototype</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [virtual]</code></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Padding.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Padding.html
deleted file mode 100644
index 92c19ec92d1..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Padding.html
+++ /dev/null
@@ -1,498 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Metadata::Padding Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Metadata</b>::<a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">Padding</a></div>
-<h1>FLAC::Metadata::Padding Class Reference<br>
-<small>
-[<a class="el" href="group__flacpp__metadata__object.html">FLAC++/metadata.h: metadata object classes</a>]</small>
-</h1><code>#include &lt;<a class="el" href="+_2metadata_8h-source.html">metadata.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for FLAC::Metadata::Padding:
-<p><center><img src="classFLAC_1_1Metadata_1_1Padding.png" usemap="#FLAC::Metadata::Padding_map" border="0" alt=""></center>
-<map name="FLAC::Metadata::Padding_map">
-<area href="classFLAC_1_1Metadata_1_1Prototype.html" alt="FLAC::Metadata::Prototype" shape="rect" coords="0,0,163,24">
-</map>
-<a href="classFLAC_1_1Metadata_1_1Padding-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-PADDING metadata block. See the <a class="el" href="group__flacpp__metadata__object.html">overview </a> for more, and the <a href="../format.html#metadata_block_padding">format specification</a>.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga1">Padding</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">Padding</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Paddinga2" doxytag="FLAC::Metadata::Padding::Padding"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>Padding</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Paddinga3" doxytag="FLAC::Metadata::Padding::Padding"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>Padding</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga4">Padding</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">Padding</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga6">operator=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">Padding</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Paddinga7" doxytag="FLAC::Metadata::Padding::operator="></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">Padding</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Paddinga8" doxytag="FLAC::Metadata::Padding::operator="></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">Padding</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">Padding</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga9">assign</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga10">operator==</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">Padding</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Paddinga11" doxytag="FLAC::Metadata::Padding::operator=="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Paddinga12" doxytag="FLAC::Metadata::Padding::operator=="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga13">operator!=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">Padding</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Paddinga14" doxytag="FLAC::Metadata::Padding::operator!="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Paddinga15" doxytag="FLAC::Metadata::Padding::operator!="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Paddinga16" doxytag="FLAC::Metadata::Padding::set_length"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_length</b> (unsigned length)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga1">operator==</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga4">operator!=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga7">is_valid</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta27">get_is_last</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta28">get_type</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta29">get_length</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta30">set_is_last</a> (bool)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga8">operator const ::FLAC__StreamMetadata *</a> () const </td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">assign_object</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb1">clear</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentp0" doxytag="FLAC::Metadata::Padding::object_"></a>
-::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>object_</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentn0" doxytag="FLAC::Metadata::Padding::SimpleIterator"></a>
-class&nbsp;</td><td class="memItemRight" valign="bottom"><b>SimpleIterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentn1" doxytag="FLAC::Metadata::Padding::Iterator"></a>
-class&nbsp;</td><td class="memItemRight" valign="bottom"><b>Iterator</b></td></tr>
-
-</table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Paddinga1" doxytag="FLAC::Metadata::Padding::Padding"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Metadata::Padding::Padding </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">Padding</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructs a copy of the given object. This form always performs a deep copy. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Paddinga4" doxytag="FLAC::Metadata::Padding::Padding"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Metadata::Padding::Padding </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructs an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Paddinga6" doxytag="FLAC::Metadata::Padding::operator="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">Padding</a>&amp; FLAC::Metadata::Padding::operator= </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">Padding</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assign from another object. Always performs a deep copy. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Paddinga9" doxytag="FLAC::Metadata::Padding::assign"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">Padding</a>&amp; FLAC::Metadata::Padding::assign </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assigns an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Paddinga10" doxytag="FLAC::Metadata::Padding::operator=="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Padding::operator== </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">Padding</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check for equality, performing a deep compare by following pointers. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Paddinga13" doxytag="FLAC::Metadata::Padding::operator!="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Padding::operator!= </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">Padding</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check for inequality, performing a deep compare by following pointers. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentb0" doxytag="FLAC::Metadata::Padding::assign_object"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a>&amp; FLAC::Metadata::Prototype::assign_object </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [protected, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assigns an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentb1" doxytag="FLAC::Metadata::Padding::clear"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual void FLAC::Metadata::Prototype::clear </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Deletes the underlying <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> object. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta27" doxytag="FLAC::Metadata::Padding::get_is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Prototype::get_is_last </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns <code>true</code> if this block is the last block in a stream, else <code>false</code>.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta28" doxytag="FLAC::Metadata::Padding::get_type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> FLAC::Metadata::Prototype::get_type </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the type of the block.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
-
-<p>
-Reimplemented in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea16">FLAC::Metadata::Picture</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta29" doxytag="FLAC::Metadata::Padding::get_length"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC::Metadata::Prototype::get_length </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the stream length of the metadata block.<p>
-<dl compact><dt><b>Note:</b></dt><dd>The length does not include the metadata block header, per spec.</dd></dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta30" doxytag="FLAC::Metadata::Padding::set_is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC::Metadata::Prototype::set_is_last </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sets the "is_last" flag for the block. When using the iterators it is not necessary to set this flag; they will do it for you.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="+_2metadata_8h-source.html">metadata.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Padding.png b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Padding.png
deleted file mode 100644
index eb4dbf6c681..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Padding.png
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Picture-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Picture-members.html
deleted file mode 100644
index 4692b1f43e4..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Picture-members.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Metadata::Picture Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea9">assign</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">assign_object</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb1">clear</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea22">get_colors</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_data</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_data_length</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_depth</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_description</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_height</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta27">get_is_last</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta29">get_length</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_mime_type</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea16">get_type</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_width</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga7">is_valid</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Iterator</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [friend]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>object_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga8">operator const ::FLAC__StreamMetadata *</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea13">operator!=</a>(const Picture &amp;object) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator!=</b>(const ::FLAC__StreamMetadata &amp;object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator!=</b>(const ::FLAC__StreamMetadata *object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga4">FLAC::Metadata::Prototype::operator!=</a>(const Prototype &amp;) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea6">operator=</a>(const Picture &amp;object)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const ::FLAC__StreamMetadata &amp;object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const ::FLAC__StreamMetadata *object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">FLAC::Metadata::Prototype::operator=</a>(const Prototype &amp;)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea10">operator==</a>(const Picture &amp;object) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator==</b>(const ::FLAC__StreamMetadata &amp;object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator==</b>(const ::FLAC__StreamMetadata *object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga1">FLAC::Metadata::Prototype::operator==</a>(const Prototype &amp;) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Picture</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea1">Picture</a>(const Picture &amp;object)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Picture</b>(const ::FLAC__StreamMetadata &amp;object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Picture</b>(const ::FLAC__StreamMetadata *object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea4">Picture</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb0">Prototype</a>(const Prototype &amp;)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Prototype</b>(const ::FLAC__StreamMetadata &amp;) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Prototype</b>(const ::FLAC__StreamMetadata *) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea31">set_colors</a>(FLAC__uint32 value) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea32">set_data</a>(const FLAC__byte *data, FLAC__uint32 data_length)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_depth</b>(FLAC__uint32 value) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea27">set_description</a>(const FLAC__byte *string)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_height</b>(FLAC__uint32 value) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta30">set_is_last</a>(bool)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea26">set_mime_type</a>(const char *string)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_type</b>(::FLAC__StreamMetadata_Picture_Type type) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_width</b>(FLAC__uint32 value) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>SimpleIterator</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [friend]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>~Picture</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypea0">~Prototype</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [virtual]</code></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Picture.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Picture.html
deleted file mode 100644
index 84bd56ce663..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Picture.html
+++ /dev/null
@@ -1,696 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Metadata::Picture Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Metadata</b>::<a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">Picture</a></div>
-<h1>FLAC::Metadata::Picture Class Reference<br>
-<small>
-[<a class="el" href="group__flacpp__metadata__object.html">FLAC++/metadata.h: metadata object classes</a>]</small>
-</h1><code>#include &lt;<a class="el" href="+_2metadata_8h-source.html">metadata.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for FLAC::Metadata::Picture:
-<p><center><img src="classFLAC_1_1Metadata_1_1Picture.png" usemap="#FLAC::Metadata::Picture_map" border="0" alt=""></center>
-<map name="FLAC::Metadata::Picture_map">
-<area href="classFLAC_1_1Metadata_1_1Prototype.html" alt="FLAC::Metadata::Prototype" shape="rect" coords="0,0,163,24">
-</map>
-<a href="classFLAC_1_1Metadata_1_1Picture-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-PICTURE metadata block. See the <a class="el" href="group__flacpp__metadata__object.html">overview </a> for more, and the <a href="../format.html#metadata_block_picture">format specification</a>.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea1">Picture</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">Picture</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Picturea2" doxytag="FLAC::Metadata::Picture::Picture"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>Picture</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Picturea3" doxytag="FLAC::Metadata::Picture::Picture"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>Picture</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea4">Picture</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">Picture</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea6">operator=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">Picture</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Picturea7" doxytag="FLAC::Metadata::Picture::operator="></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">Picture</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Picturea8" doxytag="FLAC::Metadata::Picture::operator="></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">Picture</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">Picture</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea9">assign</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea10">operator==</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">Picture</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Picturea11" doxytag="FLAC::Metadata::Picture::operator=="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Picturea12" doxytag="FLAC::Metadata::Picture::operator=="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea13">operator!=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">Picture</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Picturea14" doxytag="FLAC::Metadata::Picture::operator!="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Picturea15" doxytag="FLAC::Metadata::Picture::operator!="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">::<a class="el" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea16">get_type</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Picturea17" doxytag="FLAC::Metadata::Picture::get_mime_type"></a>
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_mime_type</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Picturea18" doxytag="FLAC::Metadata::Picture::get_description"></a>
-const FLAC__byte *&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_description</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Picturea19" doxytag="FLAC::Metadata::Picture::get_width"></a>
-FLAC__uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_width</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Picturea20" doxytag="FLAC::Metadata::Picture::get_height"></a>
-FLAC__uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_height</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Picturea21" doxytag="FLAC::Metadata::Picture::get_depth"></a>
-FLAC__uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_depth</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea22">get_colors</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Picturea23" doxytag="FLAC::Metadata::Picture::get_data_length"></a>
-FLAC__uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_data_length</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Picturea24" doxytag="FLAC::Metadata::Picture::get_data"></a>
-const FLAC__byte *&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_data</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Picturea25" doxytag="FLAC::Metadata::Picture::set_type"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_type</b> (::<a class="el" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> type)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea26">set_mime_type</a> (const char *string)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea27">set_description</a> (const FLAC__byte *string)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Picturea28" doxytag="FLAC::Metadata::Picture::set_width"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_width</b> (FLAC__uint32 value) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Picturea29" doxytag="FLAC::Metadata::Picture::set_height"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_height</b> (FLAC__uint32 value) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Picturea30" doxytag="FLAC::Metadata::Picture::set_depth"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_depth</b> (FLAC__uint32 value) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea31">set_colors</a> (FLAC__uint32 value) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea32">set_data</a> (const FLAC__byte *data, FLAC__uint32 data_length)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga1">operator==</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga4">operator!=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga7">is_valid</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta27">get_is_last</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta29">get_length</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta30">set_is_last</a> (bool)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga8">operator const ::FLAC__StreamMetadata *</a> () const </td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">assign_object</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb1">clear</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentp0" doxytag="FLAC::Metadata::Picture::object_"></a>
-::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>object_</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentn0" doxytag="FLAC::Metadata::Picture::SimpleIterator"></a>
-class&nbsp;</td><td class="memItemRight" valign="bottom"><b>SimpleIterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentn1" doxytag="FLAC::Metadata::Picture::Iterator"></a>
-class&nbsp;</td><td class="memItemRight" valign="bottom"><b>Iterator</b></td></tr>
-
-</table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Picturea1" doxytag="FLAC::Metadata::Picture::Picture"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Metadata::Picture::Picture </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">Picture</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructs a copy of the given object. This form always performs a deep copy. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Picturea4" doxytag="FLAC::Metadata::Picture::Picture"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Metadata::Picture::Picture </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructs an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Picturea6" doxytag="FLAC::Metadata::Picture::operator="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">Picture</a>&amp; FLAC::Metadata::Picture::operator= </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">Picture</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assign from another object. Always performs a deep copy. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Picturea9" doxytag="FLAC::Metadata::Picture::assign"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">Picture</a>&amp; FLAC::Metadata::Picture::assign </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assigns an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Picturea10" doxytag="FLAC::Metadata::Picture::operator=="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Picture::operator== </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">Picture</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check for equality, performing a deep compare by following pointers. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Picturea13" doxytag="FLAC::Metadata::Picture::operator!="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Picture::operator!= </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">Picture</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check for inequality, performing a deep compare by following pointers. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Picturea16" doxytag="FLAC::Metadata::Picture::get_type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">::<a class="el" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> FLAC::Metadata::Picture::get_type </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the type of the block.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
-
-<p>
-Reimplemented from <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta28">FLAC::Metadata::Prototype</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Picturea22" doxytag="FLAC::Metadata::Picture::get_colors"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__uint32 FLAC::Metadata::Picture::get_colors </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-a return value of <code>0</code> means true-color, i.e. 2^depth colors
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Picturea26" doxytag="FLAC::Metadata::Picture::set_mime_type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Picture::set_mime_type </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>string</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__object.html#ga42">FLAC__metadata_object_picture_set_mime_type()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Picturea27" doxytag="FLAC::Metadata::Picture::set_description"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Picture::set_description </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const FLAC__byte *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>string</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__object.html#ga43">FLAC__metadata_object_picture_set_description()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Picturea31" doxytag="FLAC::Metadata::Picture::set_colors"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC::Metadata::Picture::set_colors </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__uint32&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-a value of <code>0</code> means true-color, i.e. 2^depth colors
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Picturea32" doxytag="FLAC::Metadata::Picture::set_data"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Picture::set_data </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const FLAC__byte *&nbsp;</td>
- <td class="mdname" nowrap> <em>data</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__uint32&nbsp;</td>
- <td class="mdname" nowrap> <em>data_length</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__object.html#ga44">FLAC__metadata_object_picture_set_data()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentb0" doxytag="FLAC::Metadata::Picture::assign_object"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a>&amp; FLAC::Metadata::Prototype::assign_object </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [protected, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assigns an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentb1" doxytag="FLAC::Metadata::Picture::clear"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual void FLAC::Metadata::Prototype::clear </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Deletes the underlying <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> object. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta27" doxytag="FLAC::Metadata::Picture::get_is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Prototype::get_is_last </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns <code>true</code> if this block is the last block in a stream, else <code>false</code>.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta29" doxytag="FLAC::Metadata::Picture::get_length"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC::Metadata::Prototype::get_length </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the stream length of the metadata block.<p>
-<dl compact><dt><b>Note:</b></dt><dd>The length does not include the metadata block header, per spec.</dd></dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta30" doxytag="FLAC::Metadata::Picture::set_is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC::Metadata::Prototype::set_is_last </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sets the "is_last" flag for the block. When using the iterators it is not necessary to set this flag; they will do it for you.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="+_2metadata_8h-source.html">metadata.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Picture.png b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Picture.png
deleted file mode 100644
index c24908cfa7b..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Picture.png
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Prototype-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Prototype-members.html
deleted file mode 100644
index f62f818c3c5..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Prototype-members.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Metadata::Prototype Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">assign_object</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb1">clear</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta27">get_is_last</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta29">get_length</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta28">get_type</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga7">is_valid</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Iterator</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [friend]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>object_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga8">operator const ::FLAC__StreamMetadata *</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga4">operator!=</a>(const Prototype &amp;) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator!=</b>(const ::FLAC__StreamMetadata &amp;) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator!=</b>(const ::FLAC__StreamMetadata *) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">operator=</a>(const Prototype &amp;)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const ::FLAC__StreamMetadata &amp;) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const ::FLAC__StreamMetadata *) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga1">operator==</a>(const Prototype &amp;) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator==</b>(const ::FLAC__StreamMetadata &amp;) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator==</b>(const ::FLAC__StreamMetadata *) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb0">Prototype</a>(const Prototype &amp;)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Prototype</b>(const ::FLAC__StreamMetadata &amp;) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Prototype</b>(const ::FLAC__StreamMetadata *) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta30">set_is_last</a>(bool)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>SimpleIterator</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypea0">~Prototype</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [virtual]</code></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Prototype.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Prototype.html
deleted file mode 100644
index 529e26c9ee6..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Prototype.html
+++ /dev/null
@@ -1,435 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Metadata::Prototype Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Metadata</b>::<a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a></div>
-<h1>FLAC::Metadata::Prototype Class Reference<br>
-<small>
-[<a class="el" href="group__flacpp__metadata__object.html">FLAC++/metadata.h: metadata object classes</a>]</small>
-</h1><code>#include &lt;<a class="el" href="+_2metadata_8h-source.html">metadata.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for FLAC::Metadata::Prototype:
-<p><center><img src="classFLAC_1_1Metadata_1_1Prototype.png" usemap="#FLAC::Metadata::Prototype_map" border="0" alt=""></center>
-<map name="FLAC::Metadata::Prototype_map">
-<area href="classFLAC_1_1Metadata_1_1Application.html" alt="FLAC::Metadata::Application" shape="rect" coords="207,56,404,80">
-<area href="classFLAC_1_1Metadata_1_1CueSheet.html" alt="FLAC::Metadata::CueSheet" shape="rect" coords="207,112,404,136">
-<area href="classFLAC_1_1Metadata_1_1Padding.html" alt="FLAC::Metadata::Padding" shape="rect" coords="207,168,404,192">
-<area href="classFLAC_1_1Metadata_1_1Picture.html" alt="FLAC::Metadata::Picture" shape="rect" coords="207,224,404,248">
-<area href="classFLAC_1_1Metadata_1_1SeekTable.html" alt="FLAC::Metadata::SeekTable" shape="rect" coords="207,280,404,304">
-<area href="classFLAC_1_1Metadata_1_1StreamInfo.html" alt="FLAC::Metadata::StreamInfo" shape="rect" coords="207,336,404,360">
-<area href="classFLAC_1_1Metadata_1_1Unknown.html" alt="FLAC::Metadata::Unknown" shape="rect" coords="207,392,404,416">
-<area href="classFLAC_1_1Metadata_1_1VorbisComment.html" alt="FLAC::Metadata::VorbisComment" shape="rect" coords="207,448,404,472">
-</map>
-<a href="classFLAC_1_1Metadata_1_1Prototype-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-Base class for all metadata block types. See the <a class="el" href="group__flacpp__metadata__object.html">overview </a> for more.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypea0">~Prototype</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga1">operator==</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga2" doxytag="FLAC::Metadata::Prototype::operator=="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga3" doxytag="FLAC::Metadata::Prototype::operator=="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga4">operator!=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga5" doxytag="FLAC::Metadata::Prototype::operator!="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga6" doxytag="FLAC::Metadata::Prototype::operator!="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga7">is_valid</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta27">get_is_last</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta28">get_type</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta29">get_length</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta30">set_is_last</a> (bool)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga8">operator const ::FLAC__StreamMetadata *</a> () const </td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb0">Prototype</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Prototypeb1" doxytag="FLAC::Metadata::Prototype::Prototype"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>Prototype</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Prototypeb2" doxytag="FLAC::Metadata::Prototype::Prototype"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>Prototype</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">operator=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Prototypeb5" doxytag="FLAC::Metadata::Prototype::operator="></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Prototypeb6" doxytag="FLAC::Metadata::Prototype::operator="></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">assign_object</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb1">clear</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentp0" doxytag="FLAC::Metadata::Prototype::object_"></a>
-::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>object_</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentn0" doxytag="FLAC::Metadata::Prototype::SimpleIterator"></a>
-class&nbsp;</td><td class="memItemRight" valign="bottom"><b>SimpleIterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentn1" doxytag="FLAC::Metadata::Prototype::Iterator"></a>
-class&nbsp;</td><td class="memItemRight" valign="bottom"><b>Iterator</b></td></tr>
-
-</table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Prototypeb0" doxytag="FLAC::Metadata::Prototype::Prototype"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Metadata::Prototype::Prototype </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructs a copy of the given object. This form always performs a deep copy. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Prototypeb3" doxytag="FLAC::Metadata::Prototype::Prototype"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Metadata::Prototype::Prototype </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [protected]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructs an object with copy control. When <em>copy</em> is <code>true</code>, behaves identically to FLAC::Metadata::Prototype::Prototype(const ::FLAC__StreamMetadata *object). When <em>copy</em> is <code>false</code>, the instance takes ownership of the pointer and the <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> object will be freed by the destructor.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Prototypea0" doxytag="FLAC::Metadata::Prototype::~Prototype"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual FLAC::Metadata::Prototype::~Prototype </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Deletes the underlying <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> object. </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Prototypeb4" doxytag="FLAC::Metadata::Prototype::operator="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a>&amp; FLAC::Metadata::Prototype::operator= </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assign from another object. Always performs a deep copy. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentb0" doxytag="FLAC::Metadata::Prototype::assign_object"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a>&amp; FLAC::Metadata::Prototype::assign_object </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [protected]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assigns an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentb1" doxytag="FLAC::Metadata::Prototype::clear"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual void FLAC::Metadata::Prototype::clear </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Deletes the underlying <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> object. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta27" doxytag="FLAC::Metadata::Prototype::get_is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Prototype::get_is_last </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns <code>true</code> if this block is the last block in a stream, else <code>false</code>.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta28" doxytag="FLAC::Metadata::Prototype::get_type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> FLAC::Metadata::Prototype::get_type </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the type of the block.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
-
-<p>
-Reimplemented in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea16">FLAC::Metadata::Picture</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta29" doxytag="FLAC::Metadata::Prototype::get_length"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC::Metadata::Prototype::get_length </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the stream length of the metadata block.<p>
-<dl compact><dt><b>Note:</b></dt><dd>The length does not include the metadata block header, per spec.</dd></dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta30" doxytag="FLAC::Metadata::Prototype::set_is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC::Metadata::Prototype::set_is_last </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sets the "is_last" flag for the block. When using the iterators it is not necessary to set this flag; they will do it for you.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="+_2metadata_8h-source.html">metadata.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Prototype.png b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Prototype.png
deleted file mode 100644
index 87f95a1f2dd..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Prototype.png
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SeekTable-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SeekTable-members.html
deleted file mode 100644
index 8b9f28ff168..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SeekTable-members.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Metadata::SeekTable Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea9">assign</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">assign_object</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb1">clear</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea20">delete_point</a>(unsigned index)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta27">get_is_last</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta29">get_length</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_num_points</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_point</b>(unsigned index) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta28">get_type</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea19">insert_point</a>(unsigned index, const ::FLAC__StreamMetadata_SeekPoint &amp;point)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea21">is_legal</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga7">is_valid</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Iterator</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [friend]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>object_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga8">operator const ::FLAC__StreamMetadata *</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea13">operator!=</a>(const SeekTable &amp;object) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator!=</b>(const ::FLAC__StreamMetadata &amp;object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator!=</b>(const ::FLAC__StreamMetadata *object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga4">FLAC::Metadata::Prototype::operator!=</a>(const Prototype &amp;) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea6">operator=</a>(const SeekTable &amp;object)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const ::FLAC__StreamMetadata &amp;object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const ::FLAC__StreamMetadata *object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">FLAC::Metadata::Prototype::operator=</a>(const Prototype &amp;)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea10">operator==</a>(const SeekTable &amp;object) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator==</b>(const ::FLAC__StreamMetadata &amp;object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator==</b>(const ::FLAC__StreamMetadata *object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga1">FLAC::Metadata::Prototype::operator==</a>(const Prototype &amp;) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb0">Prototype</a>(const Prototype &amp;)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Prototype</b>(const ::FLAC__StreamMetadata &amp;) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Prototype</b>(const ::FLAC__StreamMetadata *) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>SeekTable</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea1">SeekTable</a>(const SeekTable &amp;object)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>SeekTable</b>(const ::FLAC__StreamMetadata &amp;object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>SeekTable</b>(const ::FLAC__StreamMetadata *object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea4">SeekTable</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta30">set_is_last</a>(bool)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea18">set_point</a>(unsigned index, const ::FLAC__StreamMetadata_SeekPoint &amp;point)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>SimpleIterator</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [friend]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypea0">~Prototype</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>~SeekTable</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SeekTable.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SeekTable.html
deleted file mode 100644
index 18d3a6bef2b..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SeekTable.html
+++ /dev/null
@@ -1,646 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Metadata::SeekTable Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Metadata</b>::<a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">SeekTable</a></div>
-<h1>FLAC::Metadata::SeekTable Class Reference<br>
-<small>
-[<a class="el" href="group__flacpp__metadata__object.html">FLAC++/metadata.h: metadata object classes</a>]</small>
-</h1><code>#include &lt;<a class="el" href="+_2metadata_8h-source.html">metadata.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for FLAC::Metadata::SeekTable:
-<p><center><img src="classFLAC_1_1Metadata_1_1SeekTable.png" usemap="#FLAC::Metadata::SeekTable_map" border="0" alt=""></center>
-<map name="FLAC::Metadata::SeekTable_map">
-<area href="classFLAC_1_1Metadata_1_1Prototype.html" alt="FLAC::Metadata::Prototype" shape="rect" coords="0,0,168,24">
-</map>
-<a href="classFLAC_1_1Metadata_1_1SeekTable-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-SEEKTABLE metadata block. See the <a class="el" href="group__flacpp__metadata__object.html">overview </a> for more, and the <a href="../format.html#metadata_block_seektable">format specification</a>.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea1">SeekTable</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">SeekTable</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1SeekTablea2" doxytag="FLAC::Metadata::SeekTable::SeekTable"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>SeekTable</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1SeekTablea3" doxytag="FLAC::Metadata::SeekTable::SeekTable"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>SeekTable</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea4">SeekTable</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">SeekTable</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea6">operator=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">SeekTable</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1SeekTablea7" doxytag="FLAC::Metadata::SeekTable::operator="></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">SeekTable</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1SeekTablea8" doxytag="FLAC::Metadata::SeekTable::operator="></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">SeekTable</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">SeekTable</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea9">assign</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea10">operator==</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">SeekTable</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1SeekTablea11" doxytag="FLAC::Metadata::SeekTable::operator=="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1SeekTablea12" doxytag="FLAC::Metadata::SeekTable::operator=="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea13">operator!=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">SeekTable</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1SeekTablea14" doxytag="FLAC::Metadata::SeekTable::operator!="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1SeekTablea15" doxytag="FLAC::Metadata::SeekTable::operator!="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1SeekTablea16" doxytag="FLAC::Metadata::SeekTable::get_num_points"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_num_points</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1SeekTablea17" doxytag="FLAC::Metadata::SeekTable::get_point"></a>
-::<a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_point</b> (unsigned index) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea18">set_point</a> (unsigned index, const ::<a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> &amp;point)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea19">insert_point</a> (unsigned index, const ::<a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> &amp;point)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea20">delete_point</a> (unsigned index)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea21">is_legal</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga1">operator==</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga4">operator!=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga7">is_valid</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta27">get_is_last</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta28">get_type</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta29">get_length</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta30">set_is_last</a> (bool)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga8">operator const ::FLAC__StreamMetadata *</a> () const </td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">assign_object</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb1">clear</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentp0" doxytag="FLAC::Metadata::SeekTable::object_"></a>
-::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>object_</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentn0" doxytag="FLAC::Metadata::SeekTable::SimpleIterator"></a>
-class&nbsp;</td><td class="memItemRight" valign="bottom"><b>SimpleIterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentn1" doxytag="FLAC::Metadata::SeekTable::Iterator"></a>
-class&nbsp;</td><td class="memItemRight" valign="bottom"><b>Iterator</b></td></tr>
-
-</table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SeekTablea1" doxytag="FLAC::Metadata::SeekTable::SeekTable"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Metadata::SeekTable::SeekTable </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">SeekTable</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructs a copy of the given object. This form always performs a deep copy. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SeekTablea4" doxytag="FLAC::Metadata::SeekTable::SeekTable"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Metadata::SeekTable::SeekTable </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructs an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SeekTablea6" doxytag="FLAC::Metadata::SeekTable::operator="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">SeekTable</a>&amp; FLAC::Metadata::SeekTable::operator= </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">SeekTable</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assign from another object. Always performs a deep copy. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SeekTablea9" doxytag="FLAC::Metadata::SeekTable::assign"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">SeekTable</a>&amp; FLAC::Metadata::SeekTable::assign </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assigns an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SeekTablea10" doxytag="FLAC::Metadata::SeekTable::operator=="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::SeekTable::operator== </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">SeekTable</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check for equality, performing a deep compare by following pointers. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SeekTablea13" doxytag="FLAC::Metadata::SeekTable::operator!="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::SeekTable::operator!= </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">SeekTable</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check for inequality, performing a deep compare by following pointers. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SeekTablea18" doxytag="FLAC::Metadata::SeekTable::set_point"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC::Metadata::SeekTable::set_point </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>index</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const ::<a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>point</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__object.html#ga6">FLAC__metadata_object_seektable_set_point()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SeekTablea19" doxytag="FLAC::Metadata::SeekTable::insert_point"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::SeekTable::insert_point </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>index</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const ::<a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>point</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__object.html#ga7">FLAC__metadata_object_seektable_insert_point()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SeekTablea20" doxytag="FLAC::Metadata::SeekTable::delete_point"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::SeekTable::delete_point </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>index</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__object.html#ga8">FLAC__metadata_object_seektable_delete_point()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SeekTablea21" doxytag="FLAC::Metadata::SeekTable::is_legal"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::SeekTable::is_legal </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__object.html#ga9">FLAC__metadata_object_seektable_is_legal()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentb0" doxytag="FLAC::Metadata::SeekTable::assign_object"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a>&amp; FLAC::Metadata::Prototype::assign_object </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [protected, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assigns an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentb1" doxytag="FLAC::Metadata::SeekTable::clear"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual void FLAC::Metadata::Prototype::clear </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Deletes the underlying <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> object. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta27" doxytag="FLAC::Metadata::SeekTable::get_is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Prototype::get_is_last </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns <code>true</code> if this block is the last block in a stream, else <code>false</code>.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta28" doxytag="FLAC::Metadata::SeekTable::get_type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> FLAC::Metadata::Prototype::get_type </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the type of the block.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
-
-<p>
-Reimplemented in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea16">FLAC::Metadata::Picture</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta29" doxytag="FLAC::Metadata::SeekTable::get_length"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC::Metadata::Prototype::get_length </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the stream length of the metadata block.<p>
-<dl compact><dt><b>Note:</b></dt><dd>The length does not include the metadata block header, per spec.</dd></dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta30" doxytag="FLAC::Metadata::SeekTable::set_is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC::Metadata::Prototype::set_is_last </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sets the "is_last" flag for the block. When using the iterators it is not necessary to set this flag; they will do it for you.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="+_2metadata_8h-source.html">metadata.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SeekTable.png b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SeekTable.png
deleted file mode 100644
index 93ed4d25840..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SeekTable.png
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SimpleIterator-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SimpleIterator-members.html
deleted file mode 100644
index 0afce060eab..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SimpleIterator-members.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Metadata::SimpleIterator Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>clear</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora16">delete_block</a>(bool use_padding=true)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora12">get_application_id</a>(FLAC__byte *id)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora13">get_block</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora11">get_block_length</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora9">get_block_offset</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora10">get_block_type</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora3">init</a>(const char *filename, bool read_only, bool preserve_file_stats)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora15">insert_block_after</a>(Prototype *block, bool use_padding=true)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora8">is_last</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora2">is_valid</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora5">is_writable</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>iterator_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora6">next</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora7">prev</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora14">set_block</a>(Prototype *block, bool use_padding=true)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>SimpleIterator</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora4">status</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>~SimpleIterator</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td><td><code> [virtual]</code></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SimpleIterator.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SimpleIterator.html
deleted file mode 100644
index 7fac6d225ea..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SimpleIterator.html
+++ /dev/null
@@ -1,561 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Metadata::SimpleIterator Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Metadata</b>::<a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">SimpleIterator</a></div>
-<h1>FLAC::Metadata::SimpleIterator Class Reference<br>
-<small>
-[<a class="el" href="group__flacpp__metadata__level1.html">FLAC++/metadata.h: metadata level 1 interface</a>]</small>
-</h1><code>#include &lt;<a class="el" href="+_2metadata_8h-source.html">metadata.h</a>&gt;</code>
-<p>
-<a href="classFLAC_1_1Metadata_1_1SimpleIterator-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-This class is a wrapper around the FLAC__metadata_simple_iterator structures and methods; see the <a class="el" href="group__flacpp__metadata__level1.html">usage guide </a> and <a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a>.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora2">is_valid</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora3">init</a> (const char *filename, bool read_only, bool preserve_file_stats)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html">Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora4">status</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora5">is_writable</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora6">next</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora7">prev</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora8">is_last</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">off_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora9">get_block_offset</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora10">get_block_type</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora11">get_block_length</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora12">get_application_id</a> (FLAC__byte *id)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora13">get_block</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora14">set_block</a> (<a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> *block, bool use_padding=true)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora15">insert_block_after</a> (<a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> *block, bool use_padding=true)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora16">delete_block</a> (bool use_padding=true)</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIteratorb0" doxytag="FLAC::Metadata::SimpleIterator::clear"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>clear</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIteratorp0" doxytag="FLAC::Metadata::SimpleIterator::iterator_"></a>
-::<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>iterator_</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html">Status</a></td></tr>
-
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIteratora2" doxytag="FLAC::Metadata::SimpleIterator::is_valid"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::SimpleIterator::is_valid </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns <code>true</code> iff object was properly constructed.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIteratora3" doxytag="FLAC::Metadata::SimpleIterator::init"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::SimpleIterator::init </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>read_only</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>preserve_file_stats</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level1.html#ga5">FLAC__metadata_simple_iterator_init()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIteratora4" doxytag="FLAC::Metadata::SimpleIterator::status"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html">Status</a> FLAC::Metadata::SimpleIterator::status </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level1.html#ga4">FLAC__metadata_simple_iterator_status()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIteratora5" doxytag="FLAC::Metadata::SimpleIterator::is_writable"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::SimpleIterator::is_writable </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level1.html#ga6">FLAC__metadata_simple_iterator_is_writable()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIteratora6" doxytag="FLAC::Metadata::SimpleIterator::next"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::SimpleIterator::next </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level1.html#ga7">FLAC__metadata_simple_iterator_next()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIteratora7" doxytag="FLAC::Metadata::SimpleIterator::prev"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::SimpleIterator::prev </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level1.html#ga8">FLAC__metadata_simple_iterator_prev()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIteratora8" doxytag="FLAC::Metadata::SimpleIterator::is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::SimpleIterator::is_last </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level1.html#ga9">FLAC__metadata_simple_iterator_is_last()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIteratora9" doxytag="FLAC::Metadata::SimpleIterator::get_block_offset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">off_t FLAC::Metadata::SimpleIterator::get_block_offset </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level1.html#ga10">FLAC__metadata_simple_iterator_get_block_offset()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIteratora10" doxytag="FLAC::Metadata::SimpleIterator::get_block_type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> FLAC::Metadata::SimpleIterator::get_block_type </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level1.html#ga11">FLAC__metadata_simple_iterator_get_block_type()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIteratora11" doxytag="FLAC::Metadata::SimpleIterator::get_block_length"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC::Metadata::SimpleIterator::get_block_length </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level1.html#ga12">FLAC__metadata_simple_iterator_get_block_length()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIteratora12" doxytag="FLAC::Metadata::SimpleIterator::get_application_id"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::SimpleIterator::get_application_id </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">FLAC__byte *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>id</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level1.html#ga13">FLAC__metadata_simple_iterator_get_application_id()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIteratora13" doxytag="FLAC::Metadata::SimpleIterator::get_block"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a>* FLAC::Metadata::SimpleIterator::get_block </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level1.html#ga14">FLAC__metadata_simple_iterator_get_block()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIteratora14" doxytag="FLAC::Metadata::SimpleIterator::set_block"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::SimpleIterator::set_block </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>block</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>use_padding</em> = <code>true</code></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level1.html#ga15">FLAC__metadata_simple_iterator_set_block()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIteratora15" doxytag="FLAC::Metadata::SimpleIterator::insert_block_after"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::SimpleIterator::insert_block_after </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>block</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>use_padding</em> = <code>true</code></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level1.html#ga16">FLAC__metadata_simple_iterator_insert_block_after()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIteratora16" doxytag="FLAC::Metadata::SimpleIterator::delete_block"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::SimpleIterator::delete_block </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>use_padding</em> = <code>true</code> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level1.html#ga17">FLAC__metadata_simple_iterator_delete_block()</a>.
-<p>
- </td>
- </tr>
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="+_2metadata_8h-source.html">metadata.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status-members.html
deleted file mode 100644
index 8aee35f6a2f..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status-members.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Metadata::SimpleIterator::Status Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html">FLAC::Metadata::SimpleIterator::Status</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>as_cstring</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html">FLAC::Metadata::SimpleIterator::Status</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html">FLAC::Metadata::SimpleIterator::Status</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator::FLAC__Metadata_SimpleIteratorStatus</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html">FLAC::Metadata::SimpleIterator::Status</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html">FLAC::Metadata::SimpleIterator::Status</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Status</b>(::FLAC__Metadata_SimpleIteratorStatus status) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html">FLAC::Metadata::SimpleIterator::Status</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html">FLAC::Metadata::SimpleIterator::Status</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>status_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html">FLAC::Metadata::SimpleIterator::Status</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html">FLAC::Metadata::SimpleIterator::Status</a></td><td><code> [protected]</code></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html
deleted file mode 100644
index 4e36167076e..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Metadata::SimpleIterator::Status Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Metadata</b>::<a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">SimpleIterator</a>::<a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html">Status</a></div>
-<h1>FLAC::Metadata::SimpleIterator::Status Class Reference</h1><code>#include &lt;<a class="el" href="+_2metadata_8h-source.html">metadata.h</a>&gt;</code>
-<p>
-<a href="classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-This class is a wrapper around FLAC__Metadata_SimpleIteratorStatus.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIterator_1_1Statusa0" doxytag="FLAC::Metadata::SimpleIterator::Status::Status"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>Status</b> (::<a class="el" href="group__flac__metadata__level1.html#ga18">FLAC__Metadata_SimpleIteratorStatus</a> status)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIterator_1_1Statusa1" doxytag="FLAC::Metadata::SimpleIterator::Status::operator::FLAC__Metadata_SimpleIteratorStatus"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator::FLAC__Metadata_SimpleIteratorStatus</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIterator_1_1Statusa2" doxytag="FLAC::Metadata::SimpleIterator::Status::as_cstring"></a>
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>as_cstring</b> () const </td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1SimpleIterator_1_1Statusp0" doxytag="FLAC::Metadata::SimpleIterator::Status::status_"></a>
-::<a class="el" href="group__flac__metadata__level1.html#ga18">FLAC__Metadata_SimpleIteratorStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>status_</b></td></tr>
-
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="+_2metadata_8h-source.html">metadata.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1StreamInfo-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1StreamInfo-members.html
deleted file mode 100644
index 7c76a5ff8d1..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1StreamInfo-members.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Metadata::StreamInfo Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa9">assign</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">assign_object</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb1">clear</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_bits_per_sample</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_channels</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta27">get_is_last</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta29">get_length</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_max_blocksize</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_max_framesize</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_md5sum</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa16">get_min_blocksize</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_min_framesize</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_sample_rate</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_total_samples</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta28">get_type</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga7">is_valid</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Iterator</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [friend]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>object_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga8">operator const ::FLAC__StreamMetadata *</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa13">operator!=</a>(const StreamInfo &amp;object) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator!=</b>(const ::FLAC__StreamMetadata &amp;object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator!=</b>(const ::FLAC__StreamMetadata *object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga4">FLAC::Metadata::Prototype::operator!=</a>(const Prototype &amp;) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa6">operator=</a>(const StreamInfo &amp;object)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const ::FLAC__StreamMetadata &amp;object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const ::FLAC__StreamMetadata *object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">FLAC::Metadata::Prototype::operator=</a>(const Prototype &amp;)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa10">operator==</a>(const StreamInfo &amp;object) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator==</b>(const ::FLAC__StreamMetadata &amp;object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator==</b>(const ::FLAC__StreamMetadata *object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga1">FLAC::Metadata::Prototype::operator==</a>(const Prototype &amp;) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb0">Prototype</a>(const Prototype &amp;)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Prototype</b>(const ::FLAC__StreamMetadata &amp;) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Prototype</b>(const ::FLAC__StreamMetadata *) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_bits_per_sample</b>(unsigned value) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_channels</b>(unsigned value) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta30">set_is_last</a>(bool)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_max_blocksize</b>(unsigned value) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_max_framesize</b>(unsigned value) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_md5sum</b>(const FLAC__byte value[16]) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_min_blocksize</b>(unsigned value) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_min_framesize</b>(unsigned value) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_sample_rate</b>(unsigned value) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_total_samples</b>(FLAC__uint64 value) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>SimpleIterator</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [friend]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>StreamInfo</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa1">StreamInfo</a>(const StreamInfo &amp;object)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>StreamInfo</b>(const ::FLAC__StreamMetadata &amp;object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>StreamInfo</b>(const ::FLAC__StreamMetadata *object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa4">StreamInfo</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypea0">~Prototype</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>~StreamInfo</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1StreamInfo.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1StreamInfo.html
deleted file mode 100644
index 351897eb2fa..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1StreamInfo.html
+++ /dev/null
@@ -1,575 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Metadata::StreamInfo Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Metadata</b>::<a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">StreamInfo</a></div>
-<h1>FLAC::Metadata::StreamInfo Class Reference<br>
-<small>
-[<a class="el" href="group__flacpp__metadata__object.html">FLAC++/metadata.h: metadata object classes</a>]</small>
-</h1><code>#include &lt;<a class="el" href="+_2metadata_8h-source.html">metadata.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for FLAC::Metadata::StreamInfo:
-<p><center><img src="classFLAC_1_1Metadata_1_1StreamInfo.png" usemap="#FLAC::Metadata::StreamInfo_map" border="0" alt=""></center>
-<map name="FLAC::Metadata::StreamInfo_map">
-<area href="classFLAC_1_1Metadata_1_1Prototype.html" alt="FLAC::Metadata::Prototype" shape="rect" coords="0,0,169,24">
-</map>
-<a href="classFLAC_1_1Metadata_1_1StreamInfo-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-STREAMINFO metadata block. See the <a class="el" href="group__flacpp__metadata__object.html">overview </a> for more, and the <a href="../format.html#metadata_block_streaminfo">format specification</a>.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa1">StreamInfo</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">StreamInfo</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa2" doxytag="FLAC::Metadata::StreamInfo::StreamInfo"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>StreamInfo</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa3" doxytag="FLAC::Metadata::StreamInfo::StreamInfo"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>StreamInfo</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa4">StreamInfo</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">StreamInfo</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa6">operator=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">StreamInfo</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa7" doxytag="FLAC::Metadata::StreamInfo::operator="></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">StreamInfo</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa8" doxytag="FLAC::Metadata::StreamInfo::operator="></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">StreamInfo</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">StreamInfo</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa9">assign</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa10">operator==</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">StreamInfo</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa11" doxytag="FLAC::Metadata::StreamInfo::operator=="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa12" doxytag="FLAC::Metadata::StreamInfo::operator=="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa13">operator!=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">StreamInfo</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa14" doxytag="FLAC::Metadata::StreamInfo::operator!="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa15" doxytag="FLAC::Metadata::StreamInfo::operator!="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa16">get_min_blocksize</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa17" doxytag="FLAC::Metadata::StreamInfo::get_max_blocksize"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_max_blocksize</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa18" doxytag="FLAC::Metadata::StreamInfo::get_min_framesize"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_min_framesize</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa19" doxytag="FLAC::Metadata::StreamInfo::get_max_framesize"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_max_framesize</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa20" doxytag="FLAC::Metadata::StreamInfo::get_sample_rate"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_sample_rate</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa21" doxytag="FLAC::Metadata::StreamInfo::get_channels"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_channels</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa22" doxytag="FLAC::Metadata::StreamInfo::get_bits_per_sample"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_bits_per_sample</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa23" doxytag="FLAC::Metadata::StreamInfo::get_total_samples"></a>
-FLAC__uint64&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_total_samples</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa24" doxytag="FLAC::Metadata::StreamInfo::get_md5sum"></a>
-const FLAC__byte *&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_md5sum</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa25" doxytag="FLAC::Metadata::StreamInfo::set_min_blocksize"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_min_blocksize</b> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa26" doxytag="FLAC::Metadata::StreamInfo::set_max_blocksize"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_max_blocksize</b> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa27" doxytag="FLAC::Metadata::StreamInfo::set_min_framesize"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_min_framesize</b> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa28" doxytag="FLAC::Metadata::StreamInfo::set_max_framesize"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_max_framesize</b> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa29" doxytag="FLAC::Metadata::StreamInfo::set_sample_rate"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_sample_rate</b> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa30" doxytag="FLAC::Metadata::StreamInfo::set_channels"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_channels</b> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa31" doxytag="FLAC::Metadata::StreamInfo::set_bits_per_sample"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_bits_per_sample</b> (unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa32" doxytag="FLAC::Metadata::StreamInfo::set_total_samples"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_total_samples</b> (FLAC__uint64 value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa33" doxytag="FLAC::Metadata::StreamInfo::set_md5sum"></a>
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_md5sum</b> (const FLAC__byte value[16])</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga1">operator==</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga4">operator!=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga7">is_valid</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta27">get_is_last</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta28">get_type</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta29">get_length</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta30">set_is_last</a> (bool)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga8">operator const ::FLAC__StreamMetadata *</a> () const </td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">assign_object</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb1">clear</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentp0" doxytag="FLAC::Metadata::StreamInfo::object_"></a>
-::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>object_</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentn0" doxytag="FLAC::Metadata::StreamInfo::SimpleIterator"></a>
-class&nbsp;</td><td class="memItemRight" valign="bottom"><b>SimpleIterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentn1" doxytag="FLAC::Metadata::StreamInfo::Iterator"></a>
-class&nbsp;</td><td class="memItemRight" valign="bottom"><b>Iterator</b></td></tr>
-
-</table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa1" doxytag="FLAC::Metadata::StreamInfo::StreamInfo"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Metadata::StreamInfo::StreamInfo </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">StreamInfo</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructs a copy of the given object. This form always performs a deep copy. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa4" doxytag="FLAC::Metadata::StreamInfo::StreamInfo"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Metadata::StreamInfo::StreamInfo </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructs an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa6" doxytag="FLAC::Metadata::StreamInfo::operator="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">StreamInfo</a>&amp; FLAC::Metadata::StreamInfo::operator= </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">StreamInfo</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assign from another object. Always performs a deep copy. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa9" doxytag="FLAC::Metadata::StreamInfo::assign"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">StreamInfo</a>&amp; FLAC::Metadata::StreamInfo::assign </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assigns an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa10" doxytag="FLAC::Metadata::StreamInfo::operator=="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::StreamInfo::operator== </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">StreamInfo</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check for equality, performing a deep compare by following pointers. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa13" doxytag="FLAC::Metadata::StreamInfo::operator!="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::StreamInfo::operator!= </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">StreamInfo</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check for inequality, performing a deep compare by following pointers. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1StreamInfoa16" doxytag="FLAC::Metadata::StreamInfo::get_min_blocksize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC::Metadata::StreamInfo::get_min_blocksize </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a href="../format.html#metadata_block_streaminfo">format specification</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentb0" doxytag="FLAC::Metadata::StreamInfo::assign_object"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a>&amp; FLAC::Metadata::Prototype::assign_object </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [protected, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assigns an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentb1" doxytag="FLAC::Metadata::StreamInfo::clear"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual void FLAC::Metadata::Prototype::clear </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Deletes the underlying <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> object. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta27" doxytag="FLAC::Metadata::StreamInfo::get_is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Prototype::get_is_last </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns <code>true</code> if this block is the last block in a stream, else <code>false</code>.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta28" doxytag="FLAC::Metadata::StreamInfo::get_type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> FLAC::Metadata::Prototype::get_type </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the type of the block.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
-
-<p>
-Reimplemented in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea16">FLAC::Metadata::Picture</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta29" doxytag="FLAC::Metadata::StreamInfo::get_length"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC::Metadata::Prototype::get_length </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the stream length of the metadata block.<p>
-<dl compact><dt><b>Note:</b></dt><dd>The length does not include the metadata block header, per spec.</dd></dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta30" doxytag="FLAC::Metadata::StreamInfo::set_is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC::Metadata::Prototype::set_is_last </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sets the "is_last" flag for the block. When using the iterators it is not necessary to set this flag; they will do it for you.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="+_2metadata_8h-source.html">metadata.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1StreamInfo.png b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1StreamInfo.png
deleted file mode 100644
index 49d1e5dc5ae..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1StreamInfo.png
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Unknown-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Unknown-members.html
deleted file mode 100644
index a1f06d998e6..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Unknown-members.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Metadata::Unknown Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna9">assign</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">assign_object</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb1">clear</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_data</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta27">get_is_last</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta29">get_length</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta28">get_type</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga7">is_valid</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Iterator</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [friend]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>object_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga8">operator const ::FLAC__StreamMetadata *</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna13">operator!=</a>(const Unknown &amp;object) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator!=</b>(const ::FLAC__StreamMetadata &amp;object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator!=</b>(const ::FLAC__StreamMetadata *object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga4">FLAC::Metadata::Prototype::operator!=</a>(const Prototype &amp;) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna6">operator=</a>(const Unknown &amp;object)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const ::FLAC__StreamMetadata &amp;object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const ::FLAC__StreamMetadata *object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">FLAC::Metadata::Prototype::operator=</a>(const Prototype &amp;)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna10">operator==</a>(const Unknown &amp;object) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator==</b>(const ::FLAC__StreamMetadata &amp;object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator==</b>(const ::FLAC__StreamMetadata *object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga1">FLAC::Metadata::Prototype::operator==</a>(const Prototype &amp;) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb0">Prototype</a>(const Prototype &amp;)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Prototype</b>(const ::FLAC__StreamMetadata &amp;) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Prototype</b>(const ::FLAC__StreamMetadata *) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna17">set_data</a>(const FLAC__byte *data, unsigned length)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_data</b>(FLAC__byte *data, unsigned length, bool copy) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta30">set_is_last</a>(bool)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>SimpleIterator</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [friend]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Unknown</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna1">Unknown</a>(const Unknown &amp;object)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Unknown</b>(const ::FLAC__StreamMetadata &amp;object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Unknown</b>(const ::FLAC__StreamMetadata *object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna4">Unknown</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypea0">~Prototype</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>~Unknown</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Unknown.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Unknown.html
deleted file mode 100644
index 4d03f29e334..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Unknown.html
+++ /dev/null
@@ -1,542 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Metadata::Unknown Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Metadata</b>::<a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">Unknown</a></div>
-<h1>FLAC::Metadata::Unknown Class Reference<br>
-<small>
-[<a class="el" href="group__flacpp__metadata__object.html">FLAC++/metadata.h: metadata object classes</a>]</small>
-</h1><code>#include &lt;<a class="el" href="+_2metadata_8h-source.html">metadata.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for FLAC::Metadata::Unknown:
-<p><center><img src="classFLAC_1_1Metadata_1_1Unknown.png" usemap="#FLAC::Metadata::Unknown_map" border="0" alt=""></center>
-<map name="FLAC::Metadata::Unknown_map">
-<area href="classFLAC_1_1Metadata_1_1Prototype.html" alt="FLAC::Metadata::Prototype" shape="rect" coords="0,0,163,24">
-</map>
-<a href="classFLAC_1_1Metadata_1_1Unknown-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-Opaque metadata block for storing unknown types. This should not be used unless you know what you are doing; it is currently used only internally to support forward compatibility of metadata blocks. See the <a class="el" href="group__flacpp__metadata__object.html">overview </a> for more,
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna1">Unknown</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">Unknown</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Unknowna2" doxytag="FLAC::Metadata::Unknown::Unknown"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>Unknown</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Unknowna3" doxytag="FLAC::Metadata::Unknown::Unknown"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>Unknown</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna4">Unknown</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">Unknown</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna6">operator=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">Unknown</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Unknowna7" doxytag="FLAC::Metadata::Unknown::operator="></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">Unknown</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Unknowna8" doxytag="FLAC::Metadata::Unknown::operator="></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">Unknown</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">Unknown</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna9">assign</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna10">operator==</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">Unknown</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Unknowna11" doxytag="FLAC::Metadata::Unknown::operator=="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Unknowna12" doxytag="FLAC::Metadata::Unknown::operator=="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna13">operator!=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">Unknown</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Unknowna14" doxytag="FLAC::Metadata::Unknown::operator!="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Unknowna15" doxytag="FLAC::Metadata::Unknown::operator!="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Unknowna16" doxytag="FLAC::Metadata::Unknown::get_data"></a>
-const FLAC__byte *&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_data</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna17">set_data</a> (const FLAC__byte *data, unsigned length)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1Unknowna18" doxytag="FLAC::Metadata::Unknown::set_data"></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_data</b> (FLAC__byte *data, unsigned length, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga1">operator==</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga4">operator!=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga7">is_valid</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta27">get_is_last</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta28">get_type</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta29">get_length</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta30">set_is_last</a> (bool)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga8">operator const ::FLAC__StreamMetadata *</a> () const </td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">assign_object</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb1">clear</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentp0" doxytag="FLAC::Metadata::Unknown::object_"></a>
-::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>object_</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentn0" doxytag="FLAC::Metadata::Unknown::SimpleIterator"></a>
-class&nbsp;</td><td class="memItemRight" valign="bottom"><b>SimpleIterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentn1" doxytag="FLAC::Metadata::Unknown::Iterator"></a>
-class&nbsp;</td><td class="memItemRight" valign="bottom"><b>Iterator</b></td></tr>
-
-</table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Unknowna1" doxytag="FLAC::Metadata::Unknown::Unknown"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Metadata::Unknown::Unknown </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">Unknown</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructs a copy of the given object. This form always performs a deep copy. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Unknowna4" doxytag="FLAC::Metadata::Unknown::Unknown"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Metadata::Unknown::Unknown </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructs an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Unknowna6" doxytag="FLAC::Metadata::Unknown::operator="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">Unknown</a>&amp; FLAC::Metadata::Unknown::operator= </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">Unknown</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assign from another object. Always performs a deep copy. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Unknowna9" doxytag="FLAC::Metadata::Unknown::assign"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">Unknown</a>&amp; FLAC::Metadata::Unknown::assign </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assigns an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Unknowna10" doxytag="FLAC::Metadata::Unknown::operator=="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Unknown::operator== </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">Unknown</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check for equality, performing a deep compare by following pointers. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Unknowna13" doxytag="FLAC::Metadata::Unknown::operator!="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Unknown::operator!= </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">Unknown</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check for inequality, performing a deep compare by following pointers. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1Unknowna17" doxytag="FLAC::Metadata::Unknown::set_data"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Unknown::set_data </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const FLAC__byte *&nbsp;</td>
- <td class="mdname" nowrap> <em>data</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>length</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-This form always copies <em>data</em>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentb0" doxytag="FLAC::Metadata::Unknown::assign_object"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a>&amp; FLAC::Metadata::Prototype::assign_object </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [protected, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assigns an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentb1" doxytag="FLAC::Metadata::Unknown::clear"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual void FLAC::Metadata::Prototype::clear </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Deletes the underlying <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> object. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta27" doxytag="FLAC::Metadata::Unknown::get_is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Prototype::get_is_last </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns <code>true</code> if this block is the last block in a stream, else <code>false</code>.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta28" doxytag="FLAC::Metadata::Unknown::get_type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> FLAC::Metadata::Prototype::get_type </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the type of the block.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
-
-<p>
-Reimplemented in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea16">FLAC::Metadata::Picture</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta29" doxytag="FLAC::Metadata::Unknown::get_length"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC::Metadata::Prototype::get_length </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the stream length of the metadata block.<p>
-<dl compact><dt><b>Note:</b></dt><dd>The length does not include the metadata block header, per spec.</dd></dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta30" doxytag="FLAC::Metadata::Unknown::set_is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC::Metadata::Prototype::set_is_last </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sets the "is_last" flag for the block. When using the iterators it is not necessary to set this flag; they will do it for you.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="+_2metadata_8h-source.html">metadata.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Unknown.png b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Unknown.png
deleted file mode 100644
index 8f545100e72..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1Unknown.png
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1VorbisComment-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1VorbisComment-members.html
deleted file mode 100644
index e44bd531f27..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1VorbisComment-members.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Metadata::VorbisComment Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta22">append_comment</a>(const Entry &amp;entry)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta9">assign</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">assign_object</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb1">clear</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected, virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta23">delete_comment</a>(unsigned index)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_comment</b>(unsigned index) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta27">get_is_last</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta29">get_length</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_num_comments</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta28">get_type</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_vendor_string</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta21">insert_comment</a>(unsigned index, const Entry &amp;entry)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga7">is_valid</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Iterator</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [friend]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>object_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga8">operator const ::FLAC__StreamMetadata *</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta13">operator!=</a>(const VorbisComment &amp;object) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator!=</b>(const ::FLAC__StreamMetadata &amp;object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator!=</b>(const ::FLAC__StreamMetadata *object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga4">FLAC::Metadata::Prototype::operator!=</a>(const Prototype &amp;) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta6">operator=</a>(const VorbisComment &amp;object)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const ::FLAC__StreamMetadata &amp;object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const ::FLAC__StreamMetadata *object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">FLAC::Metadata::Prototype::operator=</a>(const Prototype &amp;)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta10">operator==</a>(const VorbisComment &amp;object) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator==</b>(const ::FLAC__StreamMetadata &amp;object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator==</b>(const ::FLAC__StreamMetadata *object) const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="group__flacpp__metadata__object.html#ga1">FLAC::Metadata::Prototype::operator==</a>(const Prototype &amp;) const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb0">Prototype</a>(const Prototype &amp;)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Prototype</b>(const ::FLAC__StreamMetadata &amp;) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Prototype</b>(const ::FLAC__StreamMetadata *) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta20">set_comment</a>(unsigned index, const Entry &amp;entry)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta30">set_is_last</a>(bool)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta19">set_vendor_string</a>(const FLAC__byte *string)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>SimpleIterator</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [friend]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>VorbisComment</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta1">VorbisComment</a>(const VorbisComment &amp;object)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>VorbisComment</b>(const ::FLAC__StreamMetadata &amp;object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td><code> [inline]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>VorbisComment</b>(const ::FLAC__StreamMetadata *object) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta4">VorbisComment</a>(::FLAC__StreamMetadata *object, bool copy)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypea0">~Prototype</a>()</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td><td><code> [virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>~VorbisComment</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1VorbisComment.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1VorbisComment.html
deleted file mode 100644
index 3b156fe69fa..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1VorbisComment.html
+++ /dev/null
@@ -1,685 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Metadata::VorbisComment Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Metadata</b>::<a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">VorbisComment</a></div>
-<h1>FLAC::Metadata::VorbisComment Class Reference<br>
-<small>
-[<a class="el" href="group__flacpp__metadata__object.html">FLAC++/metadata.h: metadata object classes</a>]</small>
-</h1><code>#include &lt;<a class="el" href="+_2metadata_8h-source.html">metadata.h</a>&gt;</code>
-<p>
-<p>Inheritance diagram for FLAC::Metadata::VorbisComment:
-<p><center><img src="classFLAC_1_1Metadata_1_1VorbisComment.png" usemap="#FLAC::Metadata::VorbisComment_map" border="0" alt=""></center>
-<map name="FLAC::Metadata::VorbisComment_map">
-<area href="classFLAC_1_1Metadata_1_1Prototype.html" alt="FLAC::Metadata::Prototype" shape="rect" coords="0,0,197,24">
-</map>
-<a href="classFLAC_1_1Metadata_1_1VorbisComment-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-VORBIS_COMMENT metadata block. See the <a class="el" href="group__flacpp__metadata__object.html">overview </a> for more, and the <a href="../format.html#metadata_block_vorbis_comment">format specification</a>.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta1">VorbisComment</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">VorbisComment</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta2" doxytag="FLAC::Metadata::VorbisComment::VorbisComment"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>VorbisComment</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta3" doxytag="FLAC::Metadata::VorbisComment::VorbisComment"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>VorbisComment</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta4">VorbisComment</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">VorbisComment</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta6">operator=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">VorbisComment</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta7" doxytag="FLAC::Metadata::VorbisComment::operator="></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">VorbisComment</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta8" doxytag="FLAC::Metadata::VorbisComment::operator="></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">VorbisComment</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">VorbisComment</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta9">assign</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta10">operator==</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">VorbisComment</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta11" doxytag="FLAC::Metadata::VorbisComment::operator=="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta12" doxytag="FLAC::Metadata::VorbisComment::operator=="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta13">operator!=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">VorbisComment</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta14" doxytag="FLAC::Metadata::VorbisComment::operator!="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta15" doxytag="FLAC::Metadata::VorbisComment::operator!="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta16" doxytag="FLAC::Metadata::VorbisComment::get_num_comments"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_num_comments</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta17" doxytag="FLAC::Metadata::VorbisComment::get_vendor_string"></a>
-const FLAC__byte *&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_vendor_string</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta18" doxytag="FLAC::Metadata::VorbisComment::get_comment"></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_comment</b> (unsigned index) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta19">set_vendor_string</a> (const FLAC__byte *string)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta20">set_comment</a> (unsigned index, const <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a> &amp;entry)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta21">insert_comment</a> (unsigned index, const <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a> &amp;entry)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta22">append_comment</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a> &amp;entry)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta23">delete_comment</a> (unsigned index)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga1">operator==</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga4">operator!=</a> (const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga7">is_valid</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta27">get_is_last</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta28">get_type</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta29">get_length</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta30">set_is_last</a> (bool)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga8">operator const ::FLAC__StreamMetadata *</a> () const </td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">assign_object</a> (::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb1">clear</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentp0" doxytag="FLAC::Metadata::VorbisComment::object_"></a>
-::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>object_</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentn0" doxytag="FLAC::Metadata::VorbisComment::SimpleIterator"></a>
-class&nbsp;</td><td class="memItemRight" valign="bottom"><b>SimpleIterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentn1" doxytag="FLAC::Metadata::VorbisComment::Iterator"></a>
-class&nbsp;</td><td class="memItemRight" valign="bottom"><b>Iterator</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a></td></tr>
-
-</table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta1" doxytag="FLAC::Metadata::VorbisComment::VorbisComment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Metadata::VorbisComment::VorbisComment </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">VorbisComment</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructs a copy of the given object. This form always performs a deep copy. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta4" doxytag="FLAC::Metadata::VorbisComment::VorbisComment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Metadata::VorbisComment::VorbisComment </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructs an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta6" doxytag="FLAC::Metadata::VorbisComment::operator="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">VorbisComment</a>&amp; FLAC::Metadata::VorbisComment::operator= </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">VorbisComment</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assign from another object. Always performs a deep copy. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta9" doxytag="FLAC::Metadata::VorbisComment::assign"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">VorbisComment</a>&amp; FLAC::Metadata::VorbisComment::assign </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assigns an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta10" doxytag="FLAC::Metadata::VorbisComment::operator=="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::VorbisComment::operator== </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">VorbisComment</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check for equality, performing a deep compare by following pointers. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta13" doxytag="FLAC::Metadata::VorbisComment::operator!="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::VorbisComment::operator!= </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">VorbisComment</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check for inequality, performing a deep compare by following pointers. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta19" doxytag="FLAC::Metadata::VorbisComment::set_vendor_string"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::VorbisComment::set_vendor_string </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const FLAC__byte *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>string</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__object.html#ga16">FLAC__metadata_object_vorbiscomment_set_vendor_string()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta20" doxytag="FLAC::Metadata::VorbisComment::set_comment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::VorbisComment::set_comment </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>index</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a> &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>entry</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__object.html#ga18">FLAC__metadata_object_vorbiscomment_set_comment()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta21" doxytag="FLAC::Metadata::VorbisComment::insert_comment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::VorbisComment::insert_comment </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>index</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a> &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>entry</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__object.html#ga19">FLAC__metadata_object_vorbiscomment_insert_comment()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta22" doxytag="FLAC::Metadata::VorbisComment::append_comment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::VorbisComment::append_comment </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>entry</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__object.html#ga20">FLAC__metadata_object_vorbiscomment_append_comment()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta23" doxytag="FLAC::Metadata::VorbisComment::delete_comment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::VorbisComment::delete_comment </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>index</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__object.html#ga22">FLAC__metadata_object_vorbiscomment_delete_comment()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentb0" doxytag="FLAC::Metadata::VorbisComment::assign_object"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a>&amp; FLAC::Metadata::Prototype::assign_object </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [protected, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Assigns an object with copy control. See <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">Prototype(::FLAC__StreamMetadata *object, bool copy)</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommentb1" doxytag="FLAC::Metadata::VorbisComment::clear"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual void FLAC::Metadata::Prototype::clear </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [protected, virtual, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Deletes the underlying <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> object. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta27" doxytag="FLAC::Metadata::VorbisComment::get_is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Prototype::get_is_last </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns <code>true</code> if this block is the last block in a stream, else <code>false</code>.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta28" doxytag="FLAC::Metadata::VorbisComment::get_type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">::<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> FLAC::Metadata::Prototype::get_type </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the type of the block.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
-
-<p>
-Reimplemented in <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea16">FLAC::Metadata::Picture</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta29" doxytag="FLAC::Metadata::VorbisComment::get_length"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC::Metadata::Prototype::get_length </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the stream length of the metadata block.<p>
-<dl compact><dt><b>Note:</b></dt><dd>The length does not include the metadata block header, per spec.</dd></dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisCommenta30" doxytag="FLAC::Metadata::VorbisComment::set_is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC::Metadata::Prototype::set_is_last </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sets the "is_last" flag for the block. When using the iterators it is not necessary to set this flag; they will do it for you.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="+_2metadata_8h-source.html">metadata.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1VorbisComment.png b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1VorbisComment.png
deleted file mode 100644
index 264144a25f7..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1VorbisComment.png
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry-members.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry-members.html
deleted file mode 100644
index 6060dc5c5ff..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry-members.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC::Metadata::VorbisComment::Entry Member List</h1>This is the complete list of members for <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>Entry</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Entry</b>(const char *field, unsigned field_length) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Entry</b>(const char *field) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Entry</b>(const char *field_name, const char *field_value, unsigned field_value_length) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Entry</b>(const char *field_name, const char *field_value) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>Entry</b>(const Entry &amp;entry) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>entry_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>field_name_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>field_name_length_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>field_value_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>field_value_length_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_entry</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_field</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_field_length</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_field_name</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_field_name_length</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_field_value</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>get_field_value_length</b>() const (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html#FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya8">is_valid</a>() const </td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td><code> [virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>is_valid_</b> (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td><code> [protected]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const Entry &amp;entry) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_field</b>(const char *field, unsigned field_length) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_field</b>(const char *field) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_field_name</b>(const char *field_name) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_field_value</b>(const char *field_value, unsigned field_value_length) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>set_field_value</b>(const char *field_value) (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>~Entry</b>() (defined in <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>)</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a></td><td><code> [virtual]</code></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html b/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html
deleted file mode 100644
index c1f0fd5867e..00000000000
--- a/3rdparty/libflac/doc/html/api/classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html
+++ /dev/null
@@ -1,152 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC::Metadata::VorbisComment::Entry Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<b>FLAC</b>::<b>Metadata</b>::<a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">VorbisComment</a>::<a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a></div>
-<h1>FLAC::Metadata::VorbisComment::Entry Class Reference</h1><code>#include &lt;<a class="el" href="+_2metadata_8h-source.html">metadata.h</a>&gt;</code>
-<p>
-<a href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-Convenience class for encapsulating Vorbis comment entries. An entry is a vendor string or a comment field. In the case of a vendor string, the field name is undefined; only the field value is relevant.<p>
-A <em>field</em> as used in the methods refers to an entire 'NAME=VALUE' string; for convenience the string is NUL-terminated. A length field is required in the unlikely event that the value contains contain embedded NULs.<p>
-A <em>field_name</em> is what is on the left side of the first '=' in the <em>field</em>. By definition it is ASCII and so is NUL-terminated and does not require a length to describe it. <em>field_name</em> is undefined for a vendor string entry.<p>
-A <em>field_value</em> is what is on the right side of the first '=' in the <em>field</em>. By definition, this may contain embedded NULs and so a <em>field_value_length</em> is required to describe it. However in practice, embedded NULs are not known to be used, so it is generally safe to treat field values as NUL- terminated UTF-8 strings.<p>
-Always check <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html#FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya8">is_valid()</a> after the constructor or operator= to make sure memory was properly allocated and that the <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a> conforms to the Vorbis comment specification.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya1" doxytag="FLAC::Metadata::VorbisComment::Entry::Entry"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>Entry</b> (const char *field, unsigned field_length)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya2" doxytag="FLAC::Metadata::VorbisComment::Entry::Entry"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>Entry</b> (const char *field)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya3" doxytag="FLAC::Metadata::VorbisComment::Entry::Entry"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>Entry</b> (const char *field_name, const char *field_value, unsigned field_value_length)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya4" doxytag="FLAC::Metadata::VorbisComment::Entry::Entry"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>Entry</b> (const char *field_name, const char *field_value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya5" doxytag="FLAC::Metadata::VorbisComment::Entry::Entry"></a>
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>Entry</b> (const <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a> &amp;entry)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya6" doxytag="FLAC::Metadata::VorbisComment::Entry::operator="></a>
-<a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a> &amp;entry)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html#FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya8">is_valid</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya9" doxytag="FLAC::Metadata::VorbisComment::Entry::get_field_length"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_field_length</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya10" doxytag="FLAC::Metadata::VorbisComment::Entry::get_field_name_length"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_field_name_length</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya11" doxytag="FLAC::Metadata::VorbisComment::Entry::get_field_value_length"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_field_value_length</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya12" doxytag="FLAC::Metadata::VorbisComment::Entry::get_entry"></a>
-::<a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_entry</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya13" doxytag="FLAC::Metadata::VorbisComment::Entry::get_field"></a>
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_field</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya14" doxytag="FLAC::Metadata::VorbisComment::Entry::get_field_name"></a>
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_field_name</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya15" doxytag="FLAC::Metadata::VorbisComment::Entry::get_field_value"></a>
-const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>get_field_value</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya16" doxytag="FLAC::Metadata::VorbisComment::Entry::set_field"></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_field</b> (const char *field, unsigned field_length)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya17" doxytag="FLAC::Metadata::VorbisComment::Entry::set_field"></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_field</b> (const char *field)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya18" doxytag="FLAC::Metadata::VorbisComment::Entry::set_field_name"></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_field_name</b> (const char *field_name)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya19" doxytag="FLAC::Metadata::VorbisComment::Entry::set_field_value"></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_field_value</b> (const char *field_value, unsigned field_value_length)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya20" doxytag="FLAC::Metadata::VorbisComment::Entry::set_field_value"></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_field_value</b> (const char *field_value)</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entryp0" doxytag="FLAC::Metadata::VorbisComment::Entry::is_valid_"></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>is_valid_</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entryp1" doxytag="FLAC::Metadata::VorbisComment::Entry::entry_"></a>
-::<a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>entry_</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entryp2" doxytag="FLAC::Metadata::VorbisComment::Entry::field_name_"></a>
-char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>field_name_</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entryp3" doxytag="FLAC::Metadata::VorbisComment::Entry::field_name_length_"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>field_name_length_</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entryp4" doxytag="FLAC::Metadata::VorbisComment::Entry::field_value_"></a>
-char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>field_value_</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entryp5" doxytag="FLAC::Metadata::VorbisComment::Entry::field_value_length_"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>field_value_length_</b></td></tr>
-
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya8" doxytag="FLAC::Metadata::VorbisComment::Entry::is_valid"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">virtual bool FLAC::Metadata::VorbisComment::Entry::is_valid </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns <code>true</code> iff object was properly constructed.
-<p>
- </td>
- </tr>
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>include/FLAC++/<a class="el" href="+_2metadata_8h-source.html">metadata.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/classes.html b/3rdparty/libflac/doc/html/api/classes.html
deleted file mode 100644
index 4c5f43ce5df..00000000000
--- a/3rdparty/libflac/doc/html/api/classes.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Alphabetical List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindexHL" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC Class Index</h1><p><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_U">U</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_V">V</a></div><p>
-<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
-<tr><td><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;A&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html">FLAC__EntropyCodingMethod_PartitionedRiceContents</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____StreamMetadata__Padding.html">FLAC__StreamMetadata_Padding</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____Subframe__LPC.html">FLAC__Subframe_LPC</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html">SimpleIterator::Status</a> (FLAC::Metadata)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">Application</a> (FLAC::Metadata)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____Frame.html">FLAC__Frame</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____Subframe__Verbatim.html">FLAC__Subframe_Verbatim</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">Stream</a> (FLAC::Decoder)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="structFLAC____FrameFooter.html">FLAC__FrameFooter</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">Stream</a> (FLAC::Encoder)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">Chain</a> (FLAC::Metadata)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">Iterator</a> (FLAC::Metadata)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">Stream::State</a> (FLAC::Decoder)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classFLAC_1_1Metadata_1_1Chain_1_1Status.html">Chain::Status</a> (FLAC::Metadata)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;P&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classFLAC_1_1Encoder_1_1Stream_1_1State.html">Stream::State</a> (FLAC::Encoder)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">CueSheet</a> (FLAC::Metadata)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____StreamMetadata__Unknown.html">FLAC__StreamMetadata_Unknown</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">Padding</a> (FLAC::Metadata)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">StreamInfo</a> (FLAC::Metadata)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">CueSheet::Track</a> (FLAC::Metadata)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____StreamMetadata__VorbisComment.html">FLAC__StreamMetadata_VorbisComment</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">Picture</a> (FLAC::Metadata)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;U&nbsp;&nbsp;</div></td></tr></table>
-</td></tr><tr><td><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;F&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> (FLAC::Metadata)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">Unknown</a> (FLAC::Metadata)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classFLAC_1_1Decoder_1_1File.html">File</a> (FLAC::Decoder)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____StreamMetadata__Application.html">FLAC__StreamMetadata_Application</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____Subframe.html">FLAC__Subframe</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a name="letter_V"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;V&nbsp;&nbsp;</div></td></tr></table>
-</td></tr><tr><td><a class="el" href="classFLAC_1_1Encoder_1_1File.html">File</a> (FLAC::Encoder)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____StreamMetadata__CueSheet.html">FLAC__StreamMetadata_CueSheet</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____Subframe__Constant.html">FLAC__Subframe_Constant</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">SeekTable</a> (FLAC::Metadata)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">VorbisComment</a> (FLAC::Metadata)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____Subframe__Fixed.html">FLAC__Subframe_Fixed</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">SimpleIterator</a> (FLAC::Metadata)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">VorbisComment::Entry</a> (FLAC::Metadata)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRice.html">FLAC__EntropyCodingMethod_PartitionedRice</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a>&nbsp;&nbsp;&nbsp;</td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_U">U</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_V">V</a></div><p>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/decoder_8h-source.html b/3rdparty/libflac/doc/html/api/decoder_8h-source.html
deleted file mode 100644
index ed139355ed3..00000000000
--- a/3rdparty/libflac/doc/html/api/decoder_8h-source.html
+++ /dev/null
@@ -1,190 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC++/decoder.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000001.html">FLAC++</a></div>
-<h1>decoder.h</h1><a href="decoder_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/* libFLAC++ - Free Lossless Audio Codec library</span>
-00002 <span class="comment"> * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson</span>
-00003 <span class="comment"> *</span>
-00004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
-00005 <span class="comment"> * modification, are permitted provided that the following conditions</span>
-00006 <span class="comment"> * are met:</span>
-00007 <span class="comment"> *</span>
-00008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span>
-00009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
-00010 <span class="comment"> *</span>
-00011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span>
-00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
-00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
-00014 <span class="comment"> *</span>
-00015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span>
-00016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span>
-00017 <span class="comment"> * this software without specific prior written permission.</span>
-00018 <span class="comment"> *</span>
-00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-00020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR</span>
-00023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span>
-00024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span>
-00025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span>
-00026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span>
-00027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span>
-00028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span>
-00029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-00030 <span class="comment"> */</span>
-00031
-00032 <span class="preprocessor">#ifndef FLACPP__DECODER_H</span>
-00033 <span class="preprocessor"></span><span class="preprocessor">#define FLACPP__DECODER_H</span>
-00034 <span class="preprocessor"></span>
-00035 <span class="preprocessor">#include "<a class="code" href="+_2export_8h.html">export.h</a>"</span>
-00036
-00037 <span class="preprocessor">#include &lt;string&gt;</span>
-00038 <span class="preprocessor">#include "<a class="code" href="stream__decoder_8h.html">FLAC/stream_decoder.h</a>"</span>
-00039
-00040
-00077 <span class="keyword">namespace </span>FLAC {
-00078 <span class="keyword">namespace </span>Decoder {
-00079
-<a name="l00099"></a><a class="code" href="classFLAC_1_1Decoder_1_1Stream.html">00099</a> <span class="keyword">class </span>FLACPP_API Stream {
-00100 <span class="keyword">public</span>:
-<a name="l00103"></a><a class="code" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">00103</a> <span class="keyword">class </span>FLACPP_API State {
-00104 <span class="keyword">public</span>:
-00105 <span class="keyword">inline</span> State(::<a class="code" href="group__flac__stream__decoder.html#ga50">FLAC__StreamDecoderState</a> state): state_(state) { }
-00106 <span class="keyword">inline</span> <a class="code" href="group__flac__stream__decoder.html#ga50">operator ::FLAC__StreamDecoderState</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> state_; }
-00107 <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *as_cstring()<span class="keyword"> const </span>{ <a class="code" href="group__flac__stream__decoder.html#ga0">return ::FLAC__StreamDecoderStateString</a>[state_]; }
-00108 <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *resolved_as_cstring(<span class="keyword">const</span> Stream &amp;decoder)<span class="keyword"> const </span>{ <a class="code" href="group__flac__stream__decoder.html#ga27">return ::FLAC__stream_decoder_get_resolved_state_string</a>(decoder.<a class="code" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamp0">decoder_</a>); }
-00109 <span class="keyword">protected</span>:<a class="code" href="group__flac__stream__decoder.html#ga50"></a>
-00110 <a class="code" href="group__flac__stream__decoder.html#ga50"> ::FLAC__StreamDecoderState</a> state_;
-00111 };
-00112
-00113 Stream();
-00114 <span class="keyword">virtual</span> ~Stream();
-00115
-00117
-00120 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> is_valid() <span class="keyword">const</span>;
-<a name="l00121"></a><a class="code" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama3">00121</a> <span class="keyword">inline</span> operator bool()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> is_valid(); }
-00122
-00123
-00124 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_ogg_serial_number(<span class="keywordtype">long</span> value);
-00125 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_md5_checking(<span class="keywordtype">bool</span> value);
-00126 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_metadata_respond(::<a class="code" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type);
-00127 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_metadata_respond_application(<span class="keyword">const</span> FLAC__byte <span class="keywordtype">id</span>[4]);
-00128 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_metadata_respond_all();
-00129 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_metadata_ignore(::<a class="code" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type);
-00130 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_metadata_ignore_application(<span class="keyword">const</span> FLAC__byte <span class="keywordtype">id</span>[4]);
-00131 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_metadata_ignore_all();
-00132
-00133 <span class="comment">/* get_state() is not virtual since we want subclasses to be able to return their own state */</span>
-00134 State get_state() <span class="keyword">const</span>;
-00135 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> get_md5_checking() <span class="keyword">const</span>;
-00136 <span class="keyword">virtual</span> FLAC__uint64 get_total_samples() <span class="keyword">const</span>;
-00137 <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> get_channels() <span class="keyword">const</span>;
-00138 <a class="code" href="group__flac__format.html#ga111">virtual ::FLAC__ChannelAssignment</a> get_channel_assignment() <span class="keyword">const</span>;
-00139 <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> get_bits_per_sample() <span class="keyword">const</span>;
-00140 <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> get_sample_rate() <span class="keyword">const</span>;
-00141 <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> get_blocksize() <span class="keyword">const</span>;
-00142 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> get_decode_position(FLAC__uint64 *position) <span class="keyword">const</span>;
-00143
-00144 <a class="code" href="group__flac__stream__decoder.html#ga51">virtual ::FLAC__StreamDecoderInitStatus</a> init();
-00145 <a class="code" href="group__flac__stream__decoder.html#ga51">virtual ::FLAC__StreamDecoderInitStatus</a> init_ogg();
-00146
-00147 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> finish();
-00148
-00149 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> flush();
-00150 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> reset();
-00151
-00152 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> process_single();
-00153 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> process_until_end_of_metadata();
-00154 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> process_until_end_of_stream();
-00155 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> skip_single_frame();
-00156
-00157 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> seek_absolute(FLAC__uint64 sample);
-00158 <span class="keyword">protected</span>:
-00160 <a class="code" href="group__flac__stream__decoder.html#ga52">virtual ::FLAC__StreamDecoderReadStatus</a> read_callback(FLAC__byte buffer[], size_t *bytes) = 0;
-00161
-00163 <a class="code" href="group__flac__stream__decoder.html#ga53">virtual ::FLAC__StreamDecoderSeekStatus</a> seek_callback(FLAC__uint64 absolute_byte_offset);
-00164
-00166 <a class="code" href="group__flac__stream__decoder.html#ga54">virtual ::FLAC__StreamDecoderTellStatus</a> tell_callback(FLAC__uint64 *absolute_byte_offset);
-00167
-00169 <a class="code" href="group__flac__stream__decoder.html#ga55">virtual ::FLAC__StreamDecoderLengthStatus</a> length_callback(FLAC__uint64 *stream_length);
-00170
-00172 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> eof_callback();
-00173
-00175 <a class="code" href="group__flac__stream__decoder.html#ga56">virtual ::FLAC__StreamDecoderWriteStatus</a> write_callback(<span class="keyword">const</span> ::<a class="code" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, <span class="keyword">const</span> FLAC__int32 * <span class="keyword">const</span> buffer[]) = 0;
-00176
-00178 <span class="keyword">virtual</span> <span class="keywordtype">void</span> metadata_callback(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata);
-00179
-00181 <span class="keyword">virtual</span> <span class="keywordtype">void</span> error_callback(::<a class="code" href="group__flac__stream__decoder.html#ga57">FLAC__StreamDecoderErrorStatus</a> status) = 0;
-00182
-00183 <span class="preprocessor">#if (defined _MSC_VER) || (defined __BORLANDC__) || (defined __GNUG__ &amp;&amp; (__GNUG__ &lt; 2 || (__GNUG__ == 2 &amp;&amp; __GNUC_MINOR__ &lt; 96))) || (defined __SUNPRO_CC)</span>
-00184 <span class="preprocessor"></span> <span class="comment">// lame hack: some MSVC/GCC versions can't see a protected decoder_ from nested State::resolved_as_cstring()</span>
-00185 <span class="keyword">friend</span> State;
-00186 <span class="preprocessor">#endif</span>
-00187 <span class="preprocessor"></span> ::FLAC__StreamDecoder *decoder_;
-00188
-00189 <a class="code" href="group__flac__stream__decoder.html#ga52">static ::FLAC__StreamDecoderReadStatus</a> read_callback_(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__byte buffer[], size_t *bytes, <span class="keywordtype">void</span> *client_data);
-00190 <a class="code" href="group__flac__stream__decoder.html#ga53">static ::FLAC__StreamDecoderSeekStatus</a> seek_callback_(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 absolute_byte_offset, <span class="keywordtype">void</span> *client_data);
-00191 <a class="code" href="group__flac__stream__decoder.html#ga54">static ::FLAC__StreamDecoderTellStatus</a> tell_callback_(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *absolute_byte_offset, <span class="keywordtype">void</span> *client_data);
-00192 <a class="code" href="group__flac__stream__decoder.html#ga55">static ::FLAC__StreamDecoderLengthStatus</a> length_callback_(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *stream_length, <span class="keywordtype">void</span> *client_data);
-00193 <span class="keyword">static</span> FLAC__bool eof_callback_(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keywordtype">void</span> *client_data);
-00194 <a class="code" href="group__flac__stream__decoder.html#ga56">static ::FLAC__StreamDecoderWriteStatus</a> write_callback_(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keyword">const</span> ::<a class="code" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, <span class="keyword">const</span> FLAC__int32 * <span class="keyword">const</span> buffer[], <span class="keywordtype">void</span> *client_data);
-00195 <span class="keyword">static</span> <span class="keywordtype">void</span> metadata_callback_(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, <span class="keywordtype">void</span> *client_data);
-00196 <span class="keyword">static</span> <span class="keywordtype">void</span> error_callback_(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, ::<a class="code" href="group__flac__stream__decoder.html#ga57">FLAC__StreamDecoderErrorStatus</a> status, <span class="keywordtype">void</span> *client_data);
-00197 <span class="keyword">private</span>:
-00198 <span class="comment">// Private and undefined so you can't use them:</span>
-00199 Stream(<span class="keyword">const</span> Stream &amp;);
-00200 <span class="keywordtype">void</span> operator=(<span class="keyword">const</span> Stream &amp;);
-00201 };
-00202
-<a name="l00222"></a><a class="code" href="classFLAC_1_1Decoder_1_1File.html">00222</a> <span class="keyword">class </span>FLACPP_API File: <span class="keyword">public</span> Stream {
-00223 <span class="keyword">public</span>:
-00224 File();
-00225 <span class="keyword">virtual</span> ~File();
-00226
-00227 <a class="code" href="group__flac__stream__decoder.html#ga51">virtual ::FLAC__StreamDecoderInitStatus</a> init(FILE *file);
-00228 <a class="code" href="group__flac__stream__decoder.html#ga51">virtual ::FLAC__StreamDecoderInitStatus</a> init(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename);
-00229 <a class="code" href="group__flac__stream__decoder.html#ga51">virtual ::FLAC__StreamDecoderInitStatus</a> init(<span class="keyword">const</span> std::string &amp;filename);
-00230 <a class="code" href="group__flac__stream__decoder.html#ga51">virtual ::FLAC__StreamDecoderInitStatus</a> init_ogg(FILE *file);
-00231 <a class="code" href="group__flac__stream__decoder.html#ga51">virtual ::FLAC__StreamDecoderInitStatus</a> init_ogg(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename);
-00232 <a class="code" href="group__flac__stream__decoder.html#ga51">virtual ::FLAC__StreamDecoderInitStatus</a> init_ogg(<span class="keyword">const</span> std::string &amp;filename);
-00233 <span class="keyword">protected</span>:
-00234 <span class="comment">// this is a dummy implementation to satisfy the pure virtual in Stream that is actually supplied internally by the C layer</span>
-00235 <a class="code" href="group__flac__stream__decoder.html#ga52">virtual ::FLAC__StreamDecoderReadStatus</a> read_callback(FLAC__byte buffer[], size_t *bytes);
-00236 <span class="keyword">private</span>:
-00237 <span class="comment">// Private and undefined so you can't use them:</span>
-00238 File(<span class="keyword">const</span> File &amp;);
-00239 <span class="keywordtype">void</span> operator=(<span class="keyword">const</span> File &amp;);
-00240 };
-00241
-00242 }
-00243 }
-00244
-00245 <span class="preprocessor">#endif</span>
-</pre></div>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/decoder_8h.html b/3rdparty/libflac/doc/html/api/decoder_8h.html
deleted file mode 100644
index 2953a8831dd..00000000000
--- a/3rdparty/libflac/doc/html/api/decoder_8h.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC++/decoder.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000001.html">FLAC++</a></div>
-<h1>decoder.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module contains the classes which implement the various decoders.
-<p>
-See the detailed documentation in the <a class="el" href="group__flacpp__decoder.html">decoder </a> module.
-<p>
-<code>#include "<a class="el" href="+_2export_8h-source.html">export.h</a>"</code><br>
-<code>#include &lt;string&gt;</code><br>
-<code>#include "<a class="el" href="stream__decoder_8h-source.html">FLAC/stream_decoder.h</a>"</code><br>
-
-<p>
-<a href="decoder_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>FLAC</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>FLAC::Decoder</b></td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/dir_000000.html b/3rdparty/libflac/doc/html/api/dir_000000.html
deleted file mode 100644
index c885b6655d1..00000000000
--- a/3rdparty/libflac/doc/html/api/dir_000000.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/ Directory Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a></div>
-<h1>include Directory Reference</h1>
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Directories</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">directory &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_000002.html">FLAC</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">directory &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_000001.html">FLAC++</a></td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/dir_000001.html b/3rdparty/libflac/doc/html/api/dir_000001.html
deleted file mode 100644
index ffcd7fec63a..00000000000
--- a/3rdparty/libflac/doc/html/api/dir_000001.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC++/ Directory Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000001.html">FLAC++</a></div>
-<h1>FLAC++ Directory Reference</h1>
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Files</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>all.h</b> <a href="+_2all_8h-source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="decoder_8h.html">decoder.h</a> <a href="decoder_8h-source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="encoder_8h.html">encoder.h</a> <a href="encoder_8h-source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="+_2export_8h.html">export.h</a> <a href="+_2export_8h-source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="+_2metadata_8h.html">metadata.h</a> <a href="+_2metadata_8h-source.html">[code]</a></td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/dir_000002.html b/3rdparty/libflac/doc/html/api/dir_000002.html
deleted file mode 100644
index 3f2d665f8c0..00000000000
--- a/3rdparty/libflac/doc/html/api/dir_000002.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC/ Directory Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000002.html">FLAC</a></div>
-<h1>FLAC Directory Reference</h1>
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Files</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>all.h</b> <a href="all_8h-source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>assert.h</b> <a href="assert_8h-source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="callback_8h.html">callback.h</a> <a href="callback_8h-source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="export_8h.html">export.h</a> <a href="export_8h-source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="format_8h.html">format.h</a> <a href="format_8h-source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="metadata_8h.html">metadata.h</a> <a href="metadata_8h-source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ordinals.h</b> <a href="ordinals_8h-source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__decoder_8h.html">stream_decoder.h</a> <a href="stream__decoder_8h-source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="stream__encoder_8h.html">stream_encoder.h</a> <a href="stream__encoder_8h-source.html">[code]</a></td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/dirs.html b/3rdparty/libflac/doc/html/api/dirs.html
deleted file mode 100644
index 7da060c01ed..00000000000
--- a/3rdparty/libflac/doc/html/api/dirs.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Directory Hierarchy</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindexHL" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC Directories</h1>This directory hierarchy is sorted roughly, but not completely, alphabetically:<ul>
-<li><a class="el" href="dir_000000.html">include</a>
-<ul>
-<li><a class="el" href="dir_000002.html">FLAC</a>
-<li><a class="el" href="dir_000001.html">FLAC++</a>
-</ul>
-</ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/doxygen.css b/3rdparty/libflac/doc/html/api/doxygen.css
deleted file mode 100644
index decae9e3941..00000000000
--- a/3rdparty/libflac/doc/html/api/doxygen.css
+++ /dev/null
@@ -1,309 +0,0 @@
-BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
- font-family: Geneva, Arial, Helvetica, sans-serif;
-}
-BODY,TD {
- font-size: 90%;
-}
-H1 {
- text-align: center;
- font-size: 160%;
-}
-H2 {
- font-size: 120%;
-}
-H3 {
- font-size: 100%;
-}
-CAPTION { font-weight: bold }
-DIV.qindex {
- width: 100%;
- background-color: #eeeeff;
- border: 1px solid #b0b0b0;
- text-align: center;
- margin: 2px;
- padding: 2px;
- line-height: 140%;
-}
-DIV.nav {
- width: 100%;
- background-color: #eeeeff;
- border: 1px solid #b0b0b0;
- text-align: center;
- margin: 2px;
- padding: 2px;
- line-height: 140%;
-}
-DIV.navtab {
- background-color: #eeeeff;
- border: 1px solid #b0b0b0;
- text-align: center;
- margin: 2px;
- margin-right: 15px;
- padding: 2px;
-}
-TD.navtab {
- font-size: 70%;
-}
-A.qindex {
- text-decoration: none;
- font-weight: bold;
- color: #1A419D;
-}
-A.qindex:visited {
- text-decoration: none;
- font-weight: bold;
- color: #1A419D
-}
-A.qindex:hover {
- text-decoration: none;
- background-color: #ddddff;
-}
-A.qindexHL {
- text-decoration: none;
- font-weight: bold;
- background-color: #6666cc;
- color: #ffffff;
- border: 1px double #9295C2;
-}
-A.qindexHL:hover {
- text-decoration: none;
- background-color: #6666cc;
- color: #ffffff;
-}
-A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }
-A.el { text-decoration: none; font-weight: bold }
-A.elRef { font-weight: bold }
-A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
-A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
-A.codeRef:link { font-weight: normal; color: #0000FF}
-A.codeRef:visited { font-weight: normal; color: #0000FF}
-A:hover { text-decoration: none; background-color: #f2f2ff }
-DL.el { margin-left: -1cm }
-.fragment {
- font-family: Fixed, monospace;
- font-size: 95%;
-}
-PRE.fragment {
- border: 1px solid #CCCCCC;
- background-color: #f5f5f5;
- margin-top: 4px;
- margin-bottom: 4px;
- margin-left: 2px;
- margin-right: 8px;
- padding-left: 6px;
- padding-right: 6px;
- padding-top: 4px;
- padding-bottom: 4px;
-}
-DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
-TD.md { background-color: #F4F4FB; font-weight: bold; }
-TD.mdPrefix {
- background-color: #F4F4FB;
- color: #606060;
- font-size: 80%;
-}
-TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; }
-TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; }
-DIV.groupHeader {
- margin-left: 16px;
- margin-top: 12px;
- margin-bottom: 6px;
- font-weight: bold;
-}
-DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }
-BODY {
- background: white;
- color: black;
- margin-right: 20px;
- margin-left: 20px;
-}
-TD.indexkey {
- background-color: #eeeeff;
- font-weight: bold;
- padding-right : 10px;
- padding-top : 2px;
- padding-left : 10px;
- padding-bottom : 2px;
- margin-left : 0px;
- margin-right : 0px;
- margin-top : 2px;
- margin-bottom : 2px;
- border: 1px solid #CCCCCC;
-}
-TD.indexvalue {
- background-color: #eeeeff;
- font-style: italic;
- padding-right : 10px;
- padding-top : 2px;
- padding-left : 10px;
- padding-bottom : 2px;
- margin-left : 0px;
- margin-right : 0px;
- margin-top : 2px;
- margin-bottom : 2px;
- border: 1px solid #CCCCCC;
-}
-TR.memlist {
- background-color: #f0f0f0;
-}
-P.formulaDsp { text-align: center; }
-IMG.formulaDsp { }
-IMG.formulaInl { vertical-align: middle; }
-SPAN.keyword { color: #008000 }
-SPAN.keywordtype { color: #604020 }
-SPAN.keywordflow { color: #e08000 }
-SPAN.comment { color: #800000 }
-SPAN.preprocessor { color: #806020 }
-SPAN.stringliteral { color: #002080 }
-SPAN.charliteral { color: #008080 }
-.mdTable {
- border: 1px solid #868686;
- background-color: #F4F4FB;
-}
-.mdRow {
- padding: 8px 10px;
-}
-.mdescLeft {
- padding: 0px 8px 4px 8px;
- font-size: 80%;
- font-style: italic;
- background-color: #FAFAFA;
- border-top: 1px none #E0E0E0;
- border-right: 1px none #E0E0E0;
- border-bottom: 1px none #E0E0E0;
- border-left: 1px none #E0E0E0;
- margin: 0px;
-}
-.mdescRight {
- padding: 0px 8px 4px 8px;
- font-size: 80%;
- font-style: italic;
- background-color: #FAFAFA;
- border-top: 1px none #E0E0E0;
- border-right: 1px none #E0E0E0;
- border-bottom: 1px none #E0E0E0;
- border-left: 1px none #E0E0E0;
- margin: 0px;
-}
-.memItemLeft {
- padding: 1px 0px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: solid;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
-}
-.memItemRight {
- padding: 1px 8px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: solid;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
-}
-.memTemplItemLeft {
- padding: 1px 0px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: none;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
-}
-.memTemplItemRight {
- padding: 1px 8px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: none;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
-}
-.memTemplParams {
- padding: 1px 0px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: solid;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- color: #606060;
- background-color: #FAFAFA;
- font-size: 80%;
-}
-.search { color: #003399;
- font-weight: bold;
-}
-FORM.search {
- margin-bottom: 0px;
- margin-top: 0px;
-}
-INPUT.search { font-size: 75%;
- color: #000080;
- font-weight: normal;
- background-color: #eeeeff;
-}
-TD.tiny { font-size: 75%;
-}
-a {
- color: #252E78;
-}
-a:visited {
- color: #3D2185;
-}
-.dirtab { padding: 4px;
- border-collapse: collapse;
- border: 1px solid #b0b0b0;
-}
-TH.dirtab { background: #eeeeff;
- font-weight: bold;
-}
-HR { height: 1px;
- border: none;
- border-top: 1px solid black;
-}
diff --git a/3rdparty/libflac/doc/html/api/doxygen.png b/3rdparty/libflac/doc/html/api/doxygen.png
deleted file mode 100644
index f0a274bbaff..00000000000
--- a/3rdparty/libflac/doc/html/api/doxygen.png
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/api/encoder_8h-source.html b/3rdparty/libflac/doc/html/api/encoder_8h-source.html
deleted file mode 100644
index 25fc8813314..00000000000
--- a/3rdparty/libflac/doc/html/api/encoder_8h-source.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC++/encoder.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000001.html">FLAC++</a></div>
-<h1>encoder.h</h1><a href="encoder_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/* libFLAC++ - Free Lossless Audio Codec library</span>
-00002 <span class="comment"> * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson</span>
-00003 <span class="comment"> *</span>
-00004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
-00005 <span class="comment"> * modification, are permitted provided that the following conditions</span>
-00006 <span class="comment"> * are met:</span>
-00007 <span class="comment"> *</span>
-00008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span>
-00009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
-00010 <span class="comment"> *</span>
-00011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span>
-00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
-00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
-00014 <span class="comment"> *</span>
-00015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span>
-00016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span>
-00017 <span class="comment"> * this software without specific prior written permission.</span>
-00018 <span class="comment"> *</span>
-00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-00020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR</span>
-00023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span>
-00024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span>
-00025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span>
-00026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span>
-00027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span>
-00028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span>
-00029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-00030 <span class="comment"> */</span>
-00031
-00032 <span class="preprocessor">#ifndef FLACPP__ENCODER_H</span>
-00033 <span class="preprocessor"></span><span class="preprocessor">#define FLACPP__ENCODER_H</span>
-00034 <span class="preprocessor"></span>
-00035 <span class="preprocessor">#include "<a class="code" href="+_2export_8h.html">export.h</a>"</span>
-00036
-00037 <span class="preprocessor">#include "<a class="code" href="stream__encoder_8h.html">FLAC/stream_encoder.h</a>"</span>
-00038 <span class="preprocessor">#include "<a class="code" href="decoder_8h.html">decoder.h</a>"</span>
-00039 <span class="preprocessor">#include "<a class="code" href="+_2metadata_8h.html">metadata.h</a>"</span>
-00040
-00041
-00078 <span class="keyword">namespace </span>FLAC {
-00079 <span class="keyword">namespace </span>Encoder {
-00080
-<a name="l00101"></a><a class="code" href="classFLAC_1_1Encoder_1_1Stream.html">00101</a> <span class="keyword">class </span>FLACPP_API Stream {
-00102 <span class="keyword">public</span>:
-<a name="l00105"></a><a class="code" href="classFLAC_1_1Encoder_1_1Stream_1_1State.html">00105</a> <span class="keyword">class </span>FLACPP_API State {
-00106 <span class="keyword">public</span>:
-00107 <span class="keyword">inline</span> State(::<a class="code" href="group__flac__stream__encoder.html#ga65">FLAC__StreamEncoderState</a> state): state_(state) { }
-00108 <span class="keyword">inline</span> <a class="code" href="group__flac__stream__encoder.html#ga65">operator ::FLAC__StreamEncoderState</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> state_; }
-00109 <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *as_cstring()<span class="keyword"> const </span>{ <a class="code" href="group__flac__stream__encoder.html#ga0">return ::FLAC__StreamEncoderStateString</a>[state_]; }
-00110 <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *resolved_as_cstring(<span class="keyword">const</span> Stream &amp;encoder)<span class="keyword"> const </span>{ <a class="code" href="group__flac__stream__encoder.html#ga37">return ::FLAC__stream_encoder_get_resolved_state_string</a>(encoder.<a class="code" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamp0">encoder_</a>); }
-00111 <span class="keyword">protected</span>:<a class="code" href="group__flac__stream__encoder.html#ga65"></a>
-00112 <a class="code" href="group__flac__stream__encoder.html#ga65"> ::FLAC__StreamEncoderState</a> state_;
-00113 };
-00114
-00115 Stream();
-00116 <span class="keyword">virtual</span> ~Stream();
-00117
-00119
-00123 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> is_valid() <span class="keyword">const</span>;
-<a name="l00124"></a><a class="code" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama3">00124</a> <span class="keyword">inline</span> operator bool()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> is_valid(); }
-00125
-00126
-00127 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_ogg_serial_number(<span class="keywordtype">long</span> value);
-00128 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_verify(<span class="keywordtype">bool</span> value);
-00129 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_streamable_subset(<span class="keywordtype">bool</span> value);
-00130 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_channels(<span class="keywordtype">unsigned</span> value);
-00131 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_bits_per_sample(<span class="keywordtype">unsigned</span> value);
-00132 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_sample_rate(<span class="keywordtype">unsigned</span> value);
-00133 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_compression_level(<span class="keywordtype">unsigned</span> value);
-00134 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_blocksize(<span class="keywordtype">unsigned</span> value);
-00135 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_do_mid_side_stereo(<span class="keywordtype">bool</span> value);
-00136 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_loose_mid_side_stereo(<span class="keywordtype">bool</span> value);
-00137 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_apodization(<span class="keyword">const</span> <span class="keywordtype">char</span> *specification);
-00138 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_max_lpc_order(<span class="keywordtype">unsigned</span> value);
-00139 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_qlp_coeff_precision(<span class="keywordtype">unsigned</span> value);
-00140 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_do_qlp_coeff_prec_search(<span class="keywordtype">bool</span> value);
-00141 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_do_escape_coding(<span class="keywordtype">bool</span> value);
-00142 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_do_exhaustive_model_search(<span class="keywordtype">bool</span> value);
-00143 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_min_residual_partition_order(<span class="keywordtype">unsigned</span> value);
-00144 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_max_residual_partition_order(<span class="keywordtype">unsigned</span> value);
-00145 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_rice_parameter_search_dist(<span class="keywordtype">unsigned</span> value);
-00146 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_total_samples_estimate(FLAC__uint64 value);
-00147 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_metadata(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **metadata, <span class="keywordtype">unsigned</span> num_blocks);
-00148 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> set_metadata(<a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a> **metadata, <span class="keywordtype">unsigned</span> num_blocks);
-00149
-00150 <span class="comment">/* get_state() is not virtual since we want subclasses to be able to return their own state */</span>
-00151 State get_state() <span class="keyword">const</span>;
-00152 <span class="keyword">virtual</span> <a class="code" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">Decoder::Stream::State</a> get_verify_decoder_state() <span class="keyword">const</span>;
-00153 <span class="keyword">virtual</span> <span class="keywordtype">void</span> get_verify_decoder_error_stats(FLAC__uint64 *absolute_sample, <span class="keywordtype">unsigned</span> *frame_number, <span class="keywordtype">unsigned</span> *channel, <span class="keywordtype">unsigned</span> *sample, FLAC__int32 *expected, FLAC__int32 *got);
-00154 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> get_verify() <span class="keyword">const</span>;
-00155 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> get_streamable_subset() <span class="keyword">const</span>;
-00156 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> get_do_mid_side_stereo() <span class="keyword">const</span>;
-00157 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> get_loose_mid_side_stereo() <span class="keyword">const</span>;
-00158 <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> get_channels() <span class="keyword">const</span>;
-00159 <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> get_bits_per_sample() <span class="keyword">const</span>;
-00160 <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> get_sample_rate() <span class="keyword">const</span>;
-00161 <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> get_blocksize() <span class="keyword">const</span>;
-00162 <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> get_max_lpc_order() <span class="keyword">const</span>;
-00163 <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> get_qlp_coeff_precision() <span class="keyword">const</span>;
-00164 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> get_do_qlp_coeff_prec_search() <span class="keyword">const</span>;
-00165 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> get_do_escape_coding() <span class="keyword">const</span>;
-00166 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> get_do_exhaustive_model_search() <span class="keyword">const</span>;
-00167 <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> get_min_residual_partition_order() <span class="keyword">const</span>;
-00168 <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> get_max_residual_partition_order() <span class="keyword">const</span>;
-00169 <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> get_rice_parameter_search_dist() <span class="keyword">const</span>;
-00170 <span class="keyword">virtual</span> FLAC__uint64 get_total_samples_estimate() <span class="keyword">const</span>;
-00171
-00172 <a class="code" href="group__flac__stream__encoder.html#ga66">virtual ::FLAC__StreamEncoderInitStatus</a> init();
-00173 <a class="code" href="group__flac__stream__encoder.html#ga66">virtual ::FLAC__StreamEncoderInitStatus</a> init_ogg();
-00174
-00175 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> finish();
-00176
-00177 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> process(<span class="keyword">const</span> FLAC__int32 * <span class="keyword">const</span> buffer[], <span class="keywordtype">unsigned</span> samples);
-00178 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> process_interleaved(<span class="keyword">const</span> FLAC__int32 buffer[], <span class="keywordtype">unsigned</span> samples);
-00179 <span class="keyword">protected</span>:
-00181 <a class="code" href="group__flac__stream__encoder.html#ga67">virtual ::FLAC__StreamEncoderReadStatus</a> read_callback(FLAC__byte buffer[], size_t *bytes);
-00182
-00184 <a class="code" href="group__flac__stream__encoder.html#ga68">virtual ::FLAC__StreamEncoderWriteStatus</a> write_callback(<span class="keyword">const</span> FLAC__byte buffer[], size_t bytes, <span class="keywordtype">unsigned</span> samples, <span class="keywordtype">unsigned</span> current_frame) = 0;
-00185
-00187 <a class="code" href="group__flac__stream__encoder.html#ga69">virtual ::FLAC__StreamEncoderSeekStatus</a> seek_callback(FLAC__uint64 absolute_byte_offset);
-00188
-00190 <a class="code" href="group__flac__stream__encoder.html#ga70">virtual ::FLAC__StreamEncoderTellStatus</a> tell_callback(FLAC__uint64 *absolute_byte_offset);
-00191
-00193 <span class="keyword">virtual</span> <span class="keywordtype">void</span> metadata_callback(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata);
-00194
-00195 <span class="preprocessor">#if (defined _MSC_VER) || (defined __BORLANDC__) || (defined __GNUG__ &amp;&amp; (__GNUG__ &lt; 2 || (__GNUG__ == 2 &amp;&amp; __GNUC_MINOR__ &lt; 96))) || (defined __SUNPRO_CC)</span>
-00196 <span class="preprocessor"></span> <span class="comment">// lame hack: some MSVC/GCC versions can't see a protected encoder_ from nested State::resolved_as_cstring()</span>
-00197 <span class="keyword">friend</span> State;
-00198 <span class="preprocessor">#endif</span>
-00199 <span class="preprocessor"></span> ::FLAC__StreamEncoder *encoder_;
-00200
-00201 <a class="code" href="group__flac__stream__encoder.html#ga67">static ::FLAC__StreamEncoderReadStatus</a> read_callback_(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__byte buffer[], size_t *bytes, <span class="keywordtype">void</span> *client_data);
-00202 <a class="code" href="group__flac__stream__encoder.html#ga68">static ::FLAC__StreamEncoderWriteStatus</a> write_callback_(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keyword">const</span> FLAC__byte buffer[], size_t bytes, <span class="keywordtype">unsigned</span> samples, <span class="keywordtype">unsigned</span> current_frame, <span class="keywordtype">void</span> *client_data);
-00203 <a class="code" href="group__flac__stream__encoder.html#ga69">static ::FLAC__StreamEncoderSeekStatus</a> seek_callback_(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 absolute_byte_offset, <span class="keywordtype">void</span> *client_data);
-00204 <a class="code" href="group__flac__stream__encoder.html#ga70">static ::FLAC__StreamEncoderTellStatus</a> tell_callback_(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 *absolute_byte_offset, <span class="keywordtype">void</span> *client_data);
-00205 <span class="keyword">static</span> <span class="keywordtype">void</span> metadata_callback_(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, <span class="keywordtype">void</span> *client_data);
-00206 <span class="keyword">private</span>:
-00207 <span class="comment">// Private and undefined so you can't use them:</span>
-00208 Stream(<span class="keyword">const</span> Stream &amp;);
-00209 <span class="keywordtype">void</span> operator=(<span class="keyword">const</span> Stream &amp;);
-00210 };
-00211
-<a name="l00232"></a><a class="code" href="classFLAC_1_1Encoder_1_1File.html">00232</a> <span class="keyword">class </span>FLACPP_API File: <span class="keyword">public</span> Stream {
-00233 <span class="keyword">public</span>:
-00234 File();
-00235 <span class="keyword">virtual</span> ~File();
-00236
-00237 <a class="code" href="group__flac__stream__encoder.html#ga66">virtual ::FLAC__StreamEncoderInitStatus</a> init(FILE *file);
-00238 <a class="code" href="group__flac__stream__encoder.html#ga66">virtual ::FLAC__StreamEncoderInitStatus</a> init(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename);
-00239 <a class="code" href="group__flac__stream__encoder.html#ga66">virtual ::FLAC__StreamEncoderInitStatus</a> init(<span class="keyword">const</span> std::string &amp;filename);
-00240 <a class="code" href="group__flac__stream__encoder.html#ga66">virtual ::FLAC__StreamEncoderInitStatus</a> init_ogg(FILE *file);
-00241 <a class="code" href="group__flac__stream__encoder.html#ga66">virtual ::FLAC__StreamEncoderInitStatus</a> init_ogg(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename);
-00242 <a class="code" href="group__flac__stream__encoder.html#ga66">virtual ::FLAC__StreamEncoderInitStatus</a> init_ogg(<span class="keyword">const</span> std::string &amp;filename);
-00243 <span class="keyword">protected</span>:
-00245 <span class="keyword">virtual</span> <span class="keywordtype">void</span> progress_callback(FLAC__uint64 bytes_written, FLAC__uint64 samples_written, <span class="keywordtype">unsigned</span> frames_written, <span class="keywordtype">unsigned</span> total_frames_estimate);
-00246
-00248 <a class="code" href="group__flac__stream__encoder.html#ga68">virtual ::FLAC__StreamEncoderWriteStatus</a> write_callback(<span class="keyword">const</span> FLAC__byte buffer[], size_t bytes, <span class="keywordtype">unsigned</span> samples, <span class="keywordtype">unsigned</span> current_frame);
-00249 <span class="keyword">private</span>:
-00250 <span class="keyword">static</span> <span class="keywordtype">void</span> progress_callback_(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, <span class="keywordtype">unsigned</span> frames_written, <span class="keywordtype">unsigned</span> total_frames_estimate, <span class="keywordtype">void</span> *client_data);
-00251
-00252 <span class="comment">// Private and undefined so you can't use them:</span>
-00253 File(<span class="keyword">const</span> Stream &amp;);
-00254 <span class="keywordtype">void</span> operator=(<span class="keyword">const</span> Stream &amp;);
-00255 };
-00256
-00257 }
-00258 }
-00259
-00260 <span class="preprocessor">#endif</span>
-</pre></div>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/encoder_8h.html b/3rdparty/libflac/doc/html/api/encoder_8h.html
deleted file mode 100644
index aa045cbfbdc..00000000000
--- a/3rdparty/libflac/doc/html/api/encoder_8h.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC++/encoder.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000001.html">FLAC++</a></div>
-<h1>encoder.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module contains the classes which implement the various encoders.
-<p>
-See the detailed documentation in the <a class="el" href="group__flacpp__encoder.html">encoder </a> module.
-<p>
-<code>#include "<a class="el" href="+_2export_8h-source.html">export.h</a>"</code><br>
-<code>#include "<a class="el" href="stream__encoder_8h-source.html">FLAC/stream_encoder.h</a>"</code><br>
-<code>#include "<a class="el" href="decoder_8h-source.html">decoder.h</a>"</code><br>
-<code>#include "<a class="el" href="+_2metadata_8h-source.html">metadata.h</a>"</code><br>
-
-<p>
-<a href="encoder_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>FLAC</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>FLAC::Encoder</b></td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/export_8h-source.html b/3rdparty/libflac/doc/html/api/export_8h-source.html
deleted file mode 100644
index 28e59850cf3..00000000000
--- a/3rdparty/libflac/doc/html/api/export_8h-source.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC/export.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000002.html">FLAC</a></div>
-<h1>export.h</h1><a href="export_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/* libFLAC - Free Lossless Audio Codec library</span>
-00002 <span class="comment"> * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</span>
-00003 <span class="comment"> *</span>
-00004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
-00005 <span class="comment"> * modification, are permitted provided that the following conditions</span>
-00006 <span class="comment"> * are met:</span>
-00007 <span class="comment"> *</span>
-00008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span>
-00009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
-00010 <span class="comment"> *</span>
-00011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span>
-00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
-00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
-00014 <span class="comment"> *</span>
-00015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span>
-00016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span>
-00017 <span class="comment"> * this software without specific prior written permission.</span>
-00018 <span class="comment"> *</span>
-00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-00020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR</span>
-00023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span>
-00024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span>
-00025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span>
-00026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span>
-00027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span>
-00028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span>
-00029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-00030 <span class="comment"> */</span>
-00031
-00032 <span class="preprocessor">#ifndef FLAC__EXPORT_H</span>
-00033 <span class="preprocessor"></span><span class="preprocessor">#define FLAC__EXPORT_H</span>
-00034 <span class="preprocessor"></span>
-00058 <span class="preprocessor">#if defined(FLAC__NO_DLL) || !defined(_MSC_VER)</span>
-00059 <span class="preprocessor"></span><span class="preprocessor">#define FLAC_API</span>
-00060 <span class="preprocessor"></span>
-00061 <span class="preprocessor">#else</span>
-00062 <span class="preprocessor"></span>
-00063 <span class="preprocessor">#ifdef FLAC_API_EXPORTS</span>
-00064 <span class="preprocessor"></span><span class="preprocessor">#define FLAC_API _declspec(dllexport)</span>
-00065 <span class="preprocessor"></span><span class="preprocessor">#else</span>
-00066 <span class="preprocessor"></span><span class="preprocessor">#define FLAC_API _declspec(dllimport)</span>
-00067 <span class="preprocessor"></span>
-00068 <span class="preprocessor">#endif</span>
-00069 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-00070 <span class="preprocessor"></span>
-<a name="l00074"></a><a class="code" href="group__flac__export.html#ga2">00074</a> <span class="preprocessor">#define FLAC_API_VERSION_CURRENT 10</span>
-<a name="l00075"></a><a class="code" href="group__flac__export.html#ga3">00075</a> <span class="preprocessor"></span><span class="preprocessor">#define FLAC_API_VERSION_REVISION 0 </span>
-<a name="l00076"></a><a class="code" href="group__flac__export.html#ga4">00076</a> <span class="preprocessor">#define FLAC_API_VERSION_AGE 2 </span>
-00078 <span class="preprocessor">#ifdef __cplusplus</span>
-00079 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
-00080 <span class="preprocessor">#endif</span>
-00081 <span class="preprocessor"></span>
-00083 <span class="keyword">extern</span> FLAC_API <span class="keywordtype">int</span> <a class="code" href="group__flac__export.html#ga0">FLAC_API_SUPPORTS_OGG_FLAC</a>;
-00084
-00085 <span class="preprocessor">#ifdef __cplusplus</span>
-00086 <span class="preprocessor"></span>}
-00087 <span class="preprocessor">#endif</span>
-00088 <span class="preprocessor"></span>
-00089 <span class="comment">/* \} */</span>
-00090
-00091 <span class="preprocessor">#endif</span>
-</pre></div>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/export_8h.html b/3rdparty/libflac/doc/html/api/export_8h.html
deleted file mode 100644
index 13c12d5abb1..00000000000
--- a/3rdparty/libflac/doc/html/api/export_8h.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC/export.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000002.html">FLAC</a></div>
-<h1>export.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module contains #defines and symbols for exporting function calls, and providing version information and compiled-in features.
-<p>
-See the <a class="el" href="group__flac__export.html">export </a> module.
-<p>
-
-<p>
-<a href="export_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga1" doxytag="export.h::FLAC_API"></a>
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>FLAC_API</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__export.html#ga2">FLAC_API_VERSION_CURRENT</a>&nbsp;&nbsp;&nbsp;10</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__export.html#ga3">FLAC_API_VERSION_REVISION</a>&nbsp;&nbsp;&nbsp;0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__export.html#ga4">FLAC_API_VERSION_AGE</a>&nbsp;&nbsp;&nbsp;2</td></tr>
-
-<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__export.html#ga0">FLAC_API_SUPPORTS_OGG_FLAC</a></td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/files.html b/3rdparty/libflac/doc/html/api/files.html
deleted file mode 100644
index 75a473873c1..00000000000
--- a/3rdparty/libflac/doc/html/api/files.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: File Index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindexHL" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC File List</h1>Here is a list of all documented files with brief descriptions:<table>
- <tr><td class="indexkey">include/FLAC++/<b>all.h</b> <a href="+_2all_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">include/FLAC++/<a class="el" href="decoder_8h.html">decoder.h</a> <a href="decoder_8h-source.html">[code]</a></td><td class="indexvalue">This module contains the classes which implement the various decoders </td></tr>
- <tr><td class="indexkey">include/FLAC++/<a class="el" href="encoder_8h.html">encoder.h</a> <a href="encoder_8h-source.html">[code]</a></td><td class="indexvalue">This module contains the classes which implement the various encoders </td></tr>
- <tr><td class="indexkey">include/FLAC++/<a class="el" href="+_2export_8h.html">export.h</a> <a href="+_2export_8h-source.html">[code]</a></td><td class="indexvalue">This module contains #defines and symbols for exporting function calls, and providing version information and compiled-in features </td></tr>
- <tr><td class="indexkey">include/FLAC++/<a class="el" href="+_2metadata_8h.html">metadata.h</a> <a href="+_2metadata_8h-source.html">[code]</a></td><td class="indexvalue">This module provides classes for creating and manipulating FLAC metadata blocks in memory, and three progressively more powerful interfaces for traversing and editing metadata in FLAC files </td></tr>
- <tr><td class="indexkey">include/FLAC/<b>all.h</b> <a href="all_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">include/FLAC/<b>assert.h</b> <a href="assert_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">include/FLAC/<a class="el" href="callback_8h.html">callback.h</a> <a href="callback_8h-source.html">[code]</a></td><td class="indexvalue">This module defines the structures for describing I/O callbacks to the other FLAC interfaces </td></tr>
- <tr><td class="indexkey">include/FLAC/<a class="el" href="export_8h.html">export.h</a> <a href="export_8h-source.html">[code]</a></td><td class="indexvalue">This module contains #defines and symbols for exporting function calls, and providing version information and compiled-in features </td></tr>
- <tr><td class="indexkey">include/FLAC/<a class="el" href="format_8h.html">format.h</a> <a href="format_8h-source.html">[code]</a></td><td class="indexvalue">This module contains structure definitions for the representation of FLAC format components in memory. These are the basic structures used by the rest of the interfaces </td></tr>
- <tr><td class="indexkey">include/FLAC/<a class="el" href="metadata_8h.html">metadata.h</a> <a href="metadata_8h-source.html">[code]</a></td><td class="indexvalue">This module provides functions for creating and manipulating FLAC metadata blocks in memory, and three progressively more powerful interfaces for traversing and editing metadata in FLAC files </td></tr>
- <tr><td class="indexkey">include/FLAC/<b>ordinals.h</b> <a href="ordinals_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">include/FLAC/<a class="el" href="stream__decoder_8h.html">stream_decoder.h</a> <a href="stream__decoder_8h-source.html">[code]</a></td><td class="indexvalue">This module contains the functions which implement the stream decoder </td></tr>
- <tr><td class="indexkey">include/FLAC/<a class="el" href="stream__encoder_8h.html">stream_encoder.h</a> <a href="stream__encoder_8h-source.html">[code]</a></td><td class="indexvalue">This module contains the functions which implement the stream encoder </td></tr>
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/format_8h-source.html b/3rdparty/libflac/doc/html/api/format_8h-source.html
deleted file mode 100644
index f99cf938dfe..00000000000
--- a/3rdparty/libflac/doc/html/api/format_8h-source.html
+++ /dev/null
@@ -1,521 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC/format.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000002.html">FLAC</a></div>
-<h1>format.h</h1><a href="format_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/* libFLAC - Free Lossless Audio Codec library</span>
-00002 <span class="comment"> * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</span>
-00003 <span class="comment"> *</span>
-00004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
-00005 <span class="comment"> * modification, are permitted provided that the following conditions</span>
-00006 <span class="comment"> * are met:</span>
-00007 <span class="comment"> *</span>
-00008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span>
-00009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
-00010 <span class="comment"> *</span>
-00011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span>
-00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
-00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
-00014 <span class="comment"> *</span>
-00015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span>
-00016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span>
-00017 <span class="comment"> * this software without specific prior written permission.</span>
-00018 <span class="comment"> *</span>
-00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-00020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR</span>
-00023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span>
-00024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span>
-00025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span>
-00026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span>
-00027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span>
-00028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span>
-00029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-00030 <span class="comment"> */</span>
-00031
-00032 <span class="preprocessor">#ifndef FLAC__FORMAT_H</span>
-00033 <span class="preprocessor"></span><span class="preprocessor">#define FLAC__FORMAT_H</span>
-00034 <span class="preprocessor"></span>
-00035 <span class="preprocessor">#include "<a class="code" href="export_8h.html">export.h</a>"</span>
-00036 <span class="preprocessor">#include "ordinals.h"</span>
-00037
-00038 <span class="preprocessor">#ifdef __cplusplus</span>
-00039 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
-00040 <span class="preprocessor">#endif</span>
-00041 <span class="preprocessor"></span>
-00086 <span class="comment">/*</span>
-00087 <span class="comment"> Most of the values described in this file are defined by the FLAC</span>
-00088 <span class="comment"> format specification. There is nothing to tune here.</span>
-00089 <span class="comment">*/</span>
-00090
-<a name="l00092"></a><a class="code" href="group__flac__format.html#ga89">00092</a> <span class="preprocessor">#define FLAC__MAX_METADATA_TYPE_CODE (126u)</span>
-00093 <span class="preprocessor"></span>
-<a name="l00095"></a><a class="code" href="group__flac__format.html#ga90">00095</a> <span class="preprocessor">#define FLAC__MIN_BLOCK_SIZE (16u)</span>
-00096 <span class="preprocessor"></span>
-<a name="l00098"></a><a class="code" href="group__flac__format.html#ga91">00098</a> <span class="preprocessor">#define FLAC__MAX_BLOCK_SIZE (65535u)</span>
-00099 <span class="preprocessor"></span>
-<a name="l00102"></a><a class="code" href="group__flac__format.html#ga92">00102</a> <span class="preprocessor">#define FLAC__SUBSET_MAX_BLOCK_SIZE_48000HZ (4608u)</span>
-00103 <span class="preprocessor"></span>
-<a name="l00105"></a><a class="code" href="group__flac__format.html#ga93">00105</a> <span class="preprocessor">#define FLAC__MAX_CHANNELS (8u)</span>
-00106 <span class="preprocessor"></span>
-<a name="l00108"></a><a class="code" href="group__flac__format.html#ga94">00108</a> <span class="preprocessor">#define FLAC__MIN_BITS_PER_SAMPLE (4u)</span>
-00109 <span class="preprocessor"></span>
-<a name="l00111"></a><a class="code" href="group__flac__format.html#ga95">00111</a> <span class="preprocessor">#define FLAC__MAX_BITS_PER_SAMPLE (32u)</span>
-00112 <span class="preprocessor"></span>
-<a name="l00121"></a><a class="code" href="group__flac__format.html#ga96">00121</a> <span class="preprocessor">#define FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE (24u)</span>
-00122 <span class="preprocessor"></span>
-<a name="l00127"></a><a class="code" href="group__flac__format.html#ga97">00127</a> <span class="preprocessor">#define FLAC__MAX_SAMPLE_RATE (655350u)</span>
-00128 <span class="preprocessor"></span>
-<a name="l00130"></a><a class="code" href="group__flac__format.html#ga98">00130</a> <span class="preprocessor">#define FLAC__MAX_LPC_ORDER (32u)</span>
-00131 <span class="preprocessor"></span>
-<a name="l00134"></a><a class="code" href="group__flac__format.html#ga99">00134</a> <span class="preprocessor">#define FLAC__SUBSET_MAX_LPC_ORDER_48000HZ (12u)</span>
-00135 <span class="preprocessor"></span>
-<a name="l00139"></a><a class="code" href="group__flac__format.html#ga100">00139</a> <span class="preprocessor">#define FLAC__MIN_QLP_COEFF_PRECISION (5u)</span>
-00140 <span class="preprocessor"></span>
-<a name="l00144"></a><a class="code" href="group__flac__format.html#ga101">00144</a> <span class="preprocessor">#define FLAC__MAX_QLP_COEFF_PRECISION (15u)</span>
-00145 <span class="preprocessor"></span>
-<a name="l00147"></a><a class="code" href="group__flac__format.html#ga102">00147</a> <span class="preprocessor">#define FLAC__MAX_FIXED_ORDER (4u)</span>
-00148 <span class="preprocessor"></span>
-<a name="l00150"></a><a class="code" href="group__flac__format.html#ga103">00150</a> <span class="preprocessor">#define FLAC__MAX_RICE_PARTITION_ORDER (15u)</span>
-00151 <span class="preprocessor"></span>
-<a name="l00153"></a><a class="code" href="group__flac__format.html#ga104">00153</a> <span class="preprocessor">#define FLAC__SUBSET_MAX_RICE_PARTITION_ORDER (8u)</span>
-00154 <span class="preprocessor"></span>
-00161 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__flac__format.html#ga0">FLAC__VERSION_STRING</a>;
-00162
-00167 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__flac__format.html#ga1">FLAC__VENDOR_STRING</a>;
-00168
-00170 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> FLAC__byte <a class="code" href="group__flac__format.html#ga2">FLAC__STREAM_SYNC_STRING</a>[4]; <span class="comment">/* = "fLaC" */</span>
-00171
-00175 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga3">FLAC__STREAM_SYNC</a>; <span class="comment">/* = 0x664C6143 */</span>
-00176
-00178 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga4">FLAC__STREAM_SYNC_LEN</a>; <span class="comment">/* = 32 bits */</span>
-00179
-<a name="l00181"></a><a class="code" href="group__flac__format.html#ga105">00181</a> <span class="preprocessor">#define FLAC__STREAM_SYNC_LENGTH (4u)</span>
-00182 <span class="preprocessor"></span>
-00183
-00184 <span class="comment">/*****************************************************************************</span>
-00185 <span class="comment"> *</span>
-00186 <span class="comment"> * Subframe structures</span>
-00187 <span class="comment"> *</span>
-00188 <span class="comment"> *****************************************************************************/</span>
-00189
-00190 <span class="comment">/*****************************************************************************/</span>
-00191
-<a name="l00193"></a><a class="code" href="group__flac__format.html#ga109">00193</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00194 <a class="code" href="group__flac__format.html#gga109a100">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE</a> = 0,
-00198 <a class="code" href="group__flac__format.html#gga109a101">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2</a> = 1
-00201 } <a class="code" href="group__flac__format.html#ga109">FLAC__EntropyCodingMethodType</a>;
-00202
-00208 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__format.html#ga5">FLAC__EntropyCodingMethodTypeString</a>[];
-00209
-00210
-<a name="l00213"></a><a class="code" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html">00213</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00214
-00215 <span class="keywordtype">unsigned</span> *parameters;
-00218 <span class="keywordtype">unsigned</span> *raw_bits;
-00223 <span class="keywordtype">unsigned</span> capacity_by_order;
-00228 } <a class="code" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html">FLAC__EntropyCodingMethod_PartitionedRiceContents</a>;
-00229
-<a name="l00232"></a><a class="code" href="structFLAC____EntropyCodingMethod__PartitionedRice.html">00232</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00233
-00234 <span class="keywordtype">unsigned</span> order;
-00237 <span class="keyword">const</span> <a class="code" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html">FLAC__EntropyCodingMethod_PartitionedRiceContents</a> *contents;
-00240 } <a class="code" href="structFLAC____EntropyCodingMethod__PartitionedRice.html">FLAC__EntropyCodingMethod_PartitionedRice</a>;
-00241
-00242 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga6">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN</a>;
-00243 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga7">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN</a>;
-00244 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga8">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN</a>;
-00245 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga9">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN</a>;
-00247 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga10">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER</a>;
-00249 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga11">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER</a>;
-<a name="l00254"></a><a class="code" href="structFLAC____EntropyCodingMethod.html">00254</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00255 <a class="code" href="group__flac__format.html#ga109">FLAC__EntropyCodingMethodType</a> type;
-00256 <span class="keyword">union </span>{
-00257 <a class="code" href="structFLAC____EntropyCodingMethod__PartitionedRice.html">FLAC__EntropyCodingMethod_PartitionedRice</a> partitioned_rice;
-00258 } data;
-00259 } <a class="code" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a>;
-00260
-00261 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga12">FLAC__ENTROPY_CODING_METHOD_TYPE_LEN</a>;
-00263 <span class="comment">/*****************************************************************************/</span>
-00264
-<a name="l00266"></a><a class="code" href="group__flac__format.html#ga110">00266</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00267 <a class="code" href="group__flac__format.html#gga110a102">FLAC__SUBFRAME_TYPE_CONSTANT</a> = 0,
-00268 <a class="code" href="group__flac__format.html#gga110a103">FLAC__SUBFRAME_TYPE_VERBATIM</a> = 1,
-00269 <a class="code" href="group__flac__format.html#gga110a104">FLAC__SUBFRAME_TYPE_FIXED</a> = 2,
-00270 <a class="code" href="group__flac__format.html#gga110a105">FLAC__SUBFRAME_TYPE_LPC</a> = 3
-00271 } <a class="code" href="group__flac__format.html#ga110">FLAC__SubframeType</a>;
-00272
-00278 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__format.html#ga13">FLAC__SubframeTypeString</a>[];
-00279
-00280
-<a name="l00283"></a><a class="code" href="structFLAC____Subframe__Constant.html">00283</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-<a name="l00284"></a><a class="code" href="structFLAC____Subframe__Constant.html#FLAC____Subframe__Constanto0">00284</a> FLAC__int32 value;
-00285 } <a class="code" href="structFLAC____Subframe__Constant.html">FLAC__Subframe_Constant</a>;
-00286
-00287
-<a name="l00290"></a><a class="code" href="structFLAC____Subframe__Verbatim.html">00290</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-<a name="l00291"></a><a class="code" href="structFLAC____Subframe__Verbatim.html#FLAC____Subframe__Verbatimo0">00291</a> <span class="keyword">const</span> FLAC__int32 *data;
-00292 } <a class="code" href="structFLAC____Subframe__Verbatim.html">FLAC__Subframe_Verbatim</a>;
-00293
-00294
-<a name="l00297"></a><a class="code" href="structFLAC____Subframe__Fixed.html">00297</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00298 <a class="code" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a> entropy_coding_method;
-00301 <span class="keywordtype">unsigned</span> order;
-00304 FLAC__int32 warmup[<a class="code" href="group__flac__format.html#ga102">FLAC__MAX_FIXED_ORDER</a>];
-00307 <span class="keyword">const</span> FLAC__int32 *residual;
-00309 } <a class="code" href="structFLAC____Subframe__Fixed.html">FLAC__Subframe_Fixed</a>;
-00310
-00311
-<a name="l00314"></a><a class="code" href="structFLAC____Subframe__LPC.html">00314</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00315 <a class="code" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a> entropy_coding_method;
-00318 <span class="keywordtype">unsigned</span> order;
-00321 <span class="keywordtype">unsigned</span> qlp_coeff_precision;
-00324 <span class="keywordtype">int</span> quantization_level;
-00327 FLAC__int32 qlp_coeff[<a class="code" href="group__flac__format.html#ga98">FLAC__MAX_LPC_ORDER</a>];
-00330 FLAC__int32 warmup[<a class="code" href="group__flac__format.html#ga98">FLAC__MAX_LPC_ORDER</a>];
-00333 <span class="keyword">const</span> FLAC__int32 *residual;
-00335 } <a class="code" href="structFLAC____Subframe__LPC.html">FLAC__Subframe_LPC</a>;
-00336
-00337 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga14">FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN</a>;
-00338 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga15">FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN</a>;
-<a name="l00343"></a><a class="code" href="structFLAC____Subframe.html">00343</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00344 <a class="code" href="group__flac__format.html#ga110">FLAC__SubframeType</a> type;
-00345 <span class="keyword">union </span>{
-00346 <a class="code" href="structFLAC____Subframe__Constant.html">FLAC__Subframe_Constant</a> constant;
-00347 <a class="code" href="structFLAC____Subframe__Fixed.html">FLAC__Subframe_Fixed</a> fixed;
-00348 <a class="code" href="structFLAC____Subframe__LPC.html">FLAC__Subframe_LPC</a> lpc;
-00349 <a class="code" href="structFLAC____Subframe__Verbatim.html">FLAC__Subframe_Verbatim</a> verbatim;
-00350 } data;
-00351 <span class="keywordtype">unsigned</span> wasted_bits;
-00352 } <a class="code" href="structFLAC____Subframe.html">FLAC__Subframe</a>;
-00353
-00361 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga16">FLAC__SUBFRAME_ZERO_PAD_LEN</a>;
-00362 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga17">FLAC__SUBFRAME_TYPE_LEN</a>;
-00363 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga18">FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN</a>;
-00365 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga19">FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK</a>;
-00366 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga20">FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK</a>;
-00367 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga21">FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK</a>;
-00368 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga22">FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK</a>;
-00370 <span class="comment">/*****************************************************************************/</span>
-00371
-00372
-00373 <span class="comment">/*****************************************************************************</span>
-00374 <span class="comment"> *</span>
-00375 <span class="comment"> * Frame structures</span>
-00376 <span class="comment"> *</span>
-00377 <span class="comment"> *****************************************************************************/</span>
-00378
-<a name="l00380"></a><a class="code" href="group__flac__format.html#ga111">00380</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00381 <a class="code" href="group__flac__format.html#gga111a106">FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT</a> = 0,
-00382 <a class="code" href="group__flac__format.html#gga111a107">FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE</a> = 1,
-00383 <a class="code" href="group__flac__format.html#gga111a108">FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE</a> = 2,
-00384 <a class="code" href="group__flac__format.html#gga111a109">FLAC__CHANNEL_ASSIGNMENT_MID_SIDE</a> = 3
-00385 } <a class="code" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a>;
-00386
-00392 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__format.html#ga23">FLAC__ChannelAssignmentString</a>[];
-00393
-<a name="l00395"></a><a class="code" href="group__flac__format.html#ga112">00395</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00396 <a class="code" href="group__flac__format.html#gga112a110">FLAC__FRAME_NUMBER_TYPE_FRAME_NUMBER</a>,
-00397 <a class="code" href="group__flac__format.html#gga112a111">FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER</a>
-00398 } <a class="code" href="group__flac__format.html#ga112">FLAC__FrameNumberType</a>;
-00399
-00405 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__format.html#ga24">FLAC__FrameNumberTypeString</a>[];
-00406
-00407
-<a name="l00410"></a><a class="code" href="structFLAC____FrameHeader.html">00410</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00411 <span class="keywordtype">unsigned</span> blocksize;
-00414 <span class="keywordtype">unsigned</span> sample_rate;
-00417 <span class="keywordtype">unsigned</span> channels;
-00420 <a class="code" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a> channel_assignment;
-00423 <span class="keywordtype">unsigned</span> bits_per_sample;
-00426 FLAC__FrameNumberType number_type;
-00431 <span class="keyword">union </span>{
-00432 FLAC__uint32 frame_number;
-00433 FLAC__uint64 sample_number;
-00434 } number;
-00438 FLAC__uint8 crc;
-00443 } <a class="code" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a>;
-00444
-00445 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga25">FLAC__FRAME_HEADER_SYNC</a>;
-00446 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga26">FLAC__FRAME_HEADER_SYNC_LEN</a>;
-00447 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga27">FLAC__FRAME_HEADER_RESERVED_LEN</a>;
-00448 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga28">FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN</a>;
-00449 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga29">FLAC__FRAME_HEADER_BLOCK_SIZE_LEN</a>;
-00450 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga30">FLAC__FRAME_HEADER_SAMPLE_RATE_LEN</a>;
-00451 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga31">FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN</a>;
-00452 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga32">FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN</a>;
-00453 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga33">FLAC__FRAME_HEADER_ZERO_PAD_LEN</a>;
-00454 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga34">FLAC__FRAME_HEADER_CRC_LEN</a>;
-<a name="l00459"></a><a class="code" href="structFLAC____FrameFooter.html">00459</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00460 FLAC__uint16 crc;
-00465 } <a class="code" href="structFLAC____FrameFooter.html">FLAC__FrameFooter</a>;
-00466
-00467 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga35">FLAC__FRAME_FOOTER_CRC_LEN</a>;
-<a name="l00472"></a><a class="code" href="structFLAC____Frame.html">00472</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00473 <a class="code" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a> header;
-00474 <a class="code" href="structFLAC____Subframe.html">FLAC__Subframe</a> subframes[<a class="code" href="group__flac__format.html#ga93">FLAC__MAX_CHANNELS</a>];
-00475 <a class="code" href="structFLAC____FrameFooter.html">FLAC__FrameFooter</a> footer;
-00476 } <a class="code" href="structFLAC____Frame.html">FLAC__Frame</a>;
-00477
-00478 <span class="comment">/*****************************************************************************/</span>
-00479
-00480
-00481 <span class="comment">/*****************************************************************************</span>
-00482 <span class="comment"> *</span>
-00483 <span class="comment"> * Meta-data structures</span>
-00484 <span class="comment"> *</span>
-00485 <span class="comment"> *****************************************************************************/</span>
-00486
-<a name="l00488"></a><a class="code" href="group__flac__format.html#ga113">00488</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00489
-00490 <a class="code" href="group__flac__format.html#gga113a112">FLAC__METADATA_TYPE_STREAMINFO</a> = 0,
-00493 <a class="code" href="group__flac__format.html#gga113a113">FLAC__METADATA_TYPE_PADDING</a> = 1,
-00496 <a class="code" href="group__flac__format.html#gga113a114">FLAC__METADATA_TYPE_APPLICATION</a> = 2,
-00499 <a class="code" href="group__flac__format.html#gga113a115">FLAC__METADATA_TYPE_SEEKTABLE</a> = 3,
-00502 <a class="code" href="group__flac__format.html#gga113a116">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> = 4,
-00505 <a class="code" href="group__flac__format.html#gga113a117">FLAC__METADATA_TYPE_CUESHEET</a> = 5,
-00508 <a class="code" href="group__flac__format.html#gga113a118">FLAC__METADATA_TYPE_PICTURE</a> = 6,
-00511 <a class="code" href="group__flac__format.html#gga113a119">FLAC__METADATA_TYPE_UNDEFINED</a> = 7
-00514 } <a class="code" href="group__flac__format.html#ga113">FLAC__MetadataType</a>;
-00515
-00521 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__format.html#ga36">FLAC__MetadataTypeString</a>[];
-00522
-00523
-<a name="l00526"></a><a class="code" href="structFLAC____StreamMetadata__StreamInfo.html">00526</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00527 <span class="keywordtype">unsigned</span> min_blocksize, max_blocksize;
-00528 <span class="keywordtype">unsigned</span> min_framesize, max_framesize;
-00529 <span class="keywordtype">unsigned</span> sample_rate;
-00530 <span class="keywordtype">unsigned</span> channels;
-00531 <span class="keywordtype">unsigned</span> bits_per_sample;
-00532 FLAC__uint64 total_samples;
-00533 FLAC__byte md5sum[16];
-00534 } <a class="code" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a>;
-00535
-00536 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga37">FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN</a>;
-00537 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga38">FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN</a>;
-00538 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga39">FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN</a>;
-00539 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga40">FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN</a>;
-00540 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga41">FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN</a>;
-00541 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga42">FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN</a>;
-00542 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga43">FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN</a>;
-00543 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga44">FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN</a>;
-00544 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga45">FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN</a>;
-<a name="l00547"></a><a class="code" href="group__flac__format.html#ga106">00547</a> <span class="preprocessor">#define FLAC__STREAM_METADATA_STREAMINFO_LENGTH (34u)</span>
-00548 <span class="preprocessor"></span>
-<a name="l00551"></a><a class="code" href="structFLAC____StreamMetadata__Padding.html">00551</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00552 <span class="keywordtype">int</span> dummy;
-00557 } <a class="code" href="structFLAC____StreamMetadata__Padding.html">FLAC__StreamMetadata_Padding</a>;
-00558
-00559
-<a name="l00562"></a><a class="code" href="structFLAC____StreamMetadata__Application.html">00562</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00563 FLAC__byte <span class="keywordtype">id</span>[4];
-00564 FLAC__byte *data;
-00565 } <a class="code" href="structFLAC____StreamMetadata__Application.html">FLAC__StreamMetadata_Application</a>;
-00566
-00567 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga46">FLAC__STREAM_METADATA_APPLICATION_ID_LEN</a>;
-<a name="l00571"></a><a class="code" href="structFLAC____StreamMetadata__SeekPoint.html">00571</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00572 FLAC__uint64 sample_number;
-00575 FLAC__uint64 stream_offset;
-00579 <span class="keywordtype">unsigned</span> frame_samples;
-00581 } <a class="code" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a>;
-00582
-00583 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga47">FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN</a>;
-00584 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga48">FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN</a>;
-00585 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga49">FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN</a>;
-<a name="l00588"></a><a class="code" href="group__flac__format.html#ga107">00588</a> <span class="preprocessor">#define FLAC__STREAM_METADATA_SEEKPOINT_LENGTH (18u)</span>
-00589 <span class="preprocessor"></span>
-00594 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> FLAC__uint64 <a class="code" href="group__flac__format.html#ga50">FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER</a>;
-00595
-00596
-<a name="l00609"></a><a class="code" href="structFLAC____StreamMetadata__SeekTable.html">00609</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00610 <span class="keywordtype">unsigned</span> num_points;
-00611 <a class="code" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> *points;
-00612 } <a class="code" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a>;
-00613
-00614
-<a name="l00621"></a><a class="code" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">00621</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00622 FLAC__uint32 length;
-00623 FLAC__byte *entry;
-00624 } <a class="code" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>;
-00625
-00626 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga51">FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN</a>;
-<a name="l00631"></a><a class="code" href="structFLAC____StreamMetadata__VorbisComment.html">00631</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00632 <a class="code" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> vendor_string;
-00633 FLAC__uint32 num_comments;
-00634 <a class="code" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> *comments;
-00635 } <a class="code" href="structFLAC____StreamMetadata__VorbisComment.html">FLAC__StreamMetadata_VorbisComment</a>;
-00636
-00637 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga52">FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN</a>;
-<a name="l00644"></a><a class="code" href="structFLAC____StreamMetadata__CueSheet__Index.html">00644</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00645 FLAC__uint64 offset;
-00650 FLAC__byte number;
-00652 } <a class="code" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a>;
-00653
-00654 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga53">FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN</a>;
-00655 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga54">FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN</a>;
-00656 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga55">FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN</a>;
-<a name="l00663"></a><a class="code" href="structFLAC____StreamMetadata__CueSheet__Track.html">00663</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00664 FLAC__uint64 offset;
-00667 FLAC__byte number;
-00670 <span class="keywordtype">char</span> isrc[13];
-00673 <span class="keywordtype">unsigned</span> type:1;
-00676 <span class="keywordtype">unsigned</span> pre_emphasis:1;
-00679 FLAC__byte num_indices;
-00682 <a class="code" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> *indices;
-00685 } <a class="code" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a>;
-00686
-00687 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga56">FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN</a>;
-00688 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga57">FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN</a>;
-00689 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga58">FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN</a>;
-00690 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga59">FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN</a>;
-00691 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga60">FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN</a>;
-00692 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga61">FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN</a>;
-00693 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga62">FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN</a>;
-<a name="l00700"></a><a class="code" href="structFLAC____StreamMetadata__CueSheet.html">00700</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00701 <span class="keywordtype">char</span> media_catalog_number[129];
-00707 FLAC__uint64 lead_in;
-00710 FLAC__bool is_cd;
-00713 <span class="keywordtype">unsigned</span> num_tracks;
-00716 <a class="code" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *tracks;
-00719 } <a class="code" href="structFLAC____StreamMetadata__CueSheet.html">FLAC__StreamMetadata_CueSheet</a>;
-00720
-00721 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga63">FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN</a>;
-00722 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga64">FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN</a>;
-00723 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga65">FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN</a>;
-00724 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga66">FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN</a>;
-00725 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga67">FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN</a>;
-<a name="l00729"></a><a class="code" href="group__flac__format.html#ga114">00729</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00730 <a class="code" href="group__flac__format.html#gga114a120">FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER</a> = 0,
-00731 <a class="code" href="group__flac__format.html#gga114a121">FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD</a> = 1,
-00732 <a class="code" href="group__flac__format.html#gga114a122">FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON</a> = 2,
-00733 <a class="code" href="group__flac__format.html#gga114a123">FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER</a> = 3,
-00734 <a class="code" href="group__flac__format.html#gga114a124">FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER</a> = 4,
-00735 <a class="code" href="group__flac__format.html#gga114a125">FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE</a> = 5,
-00736 <a class="code" href="group__flac__format.html#gga114a126">FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA</a> = 6,
-00737 <a class="code" href="group__flac__format.html#gga114a127">FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST</a> = 7,
-00738 <a class="code" href="group__flac__format.html#gga114a128">FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST</a> = 8,
-00739 <a class="code" href="group__flac__format.html#gga114a129">FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR</a> = 9,
-00740 <a class="code" href="group__flac__format.html#gga114a130">FLAC__STREAM_METADATA_PICTURE_TYPE_BAND</a> = 10,
-00741 <a class="code" href="group__flac__format.html#gga114a131">FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER</a> = 11,
-00742 <a class="code" href="group__flac__format.html#gga114a132">FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST</a> = 12,
-00743 <a class="code" href="group__flac__format.html#gga114a133">FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION</a> = 13,
-00744 <a class="code" href="group__flac__format.html#gga114a134">FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING</a> = 14,
-00745 <a class="code" href="group__flac__format.html#gga114a135">FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE</a> = 15,
-00746 <a class="code" href="group__flac__format.html#gga114a136">FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE</a> = 16,
-00747 <a class="code" href="group__flac__format.html#gga114a137">FLAC__STREAM_METADATA_PICTURE_TYPE_FISH</a> = 17,
-00748 <a class="code" href="group__flac__format.html#gga114a138">FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION</a> = 18,
-00749 <a class="code" href="group__flac__format.html#gga114a139">FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE</a> = 19,
-00750 <a class="code" href="group__flac__format.html#gga114a140">FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE</a> = 20,
-00751 FLAC__STREAM_METADATA_PICTURE_TYPE_UNDEFINED
-00752 } <a class="code" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a>;
-00753
-00760 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__format.html#ga68">FLAC__StreamMetadata_Picture_TypeString</a>[];
-00761
-<a name="l00766"></a><a class="code" href="structFLAC____StreamMetadata__Picture.html">00766</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00767 FLAC__StreamMetadata_Picture_Type type;
-00770 <span class="keywordtype">char</span> *mime_type;
-00781 FLAC__byte *description;
-00788 FLAC__uint32 width;
-00791 FLAC__uint32 height;
-00794 FLAC__uint32 depth;
-00797 FLAC__uint32 colors;
-00802 FLAC__uint32 data_length;
-00805 FLAC__byte *data;
-00808 } <a class="code" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a>;
-00809
-00810 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga69">FLAC__STREAM_METADATA_PICTURE_TYPE_LEN</a>;
-00811 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga70">FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN</a>;
-00812 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga71">FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN</a>;
-00813 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga72">FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN</a>;
-00814 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga73">FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN</a>;
-00815 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga74">FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN</a>;
-00816 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga75">FLAC__STREAM_METADATA_PICTURE_COLORS_LEN</a>;
-00817 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga76">FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN</a>;
-<a name="l00824"></a><a class="code" href="structFLAC____StreamMetadata__Unknown.html">00824</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00825 FLAC__byte *data;
-00826 } <a class="code" href="structFLAC____StreamMetadata__Unknown.html">FLAC__StreamMetadata_Unknown</a>;
-00827
-00828
-<a name="l00831"></a><a class="code" href="structFLAC____StreamMetadata.html">00831</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00832 <a class="code" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type;
-00837 FLAC__bool is_last;
-00840 <span class="keywordtype">unsigned</span> length;
-00843 <span class="keyword">union </span>{
-00844 <a class="code" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a> stream_info;
-00845 <a class="code" href="structFLAC____StreamMetadata__Padding.html">FLAC__StreamMetadata_Padding</a> padding;
-00846 <a class="code" href="structFLAC____StreamMetadata__Application.html">FLAC__StreamMetadata_Application</a> application;
-00847 <a class="code" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a> seek_table;
-00848 <a class="code" href="structFLAC____StreamMetadata__VorbisComment.html">FLAC__StreamMetadata_VorbisComment</a> vorbis_comment;
-00849 <a class="code" href="structFLAC____StreamMetadata__CueSheet.html">FLAC__StreamMetadata_CueSheet</a> cue_sheet;
-00850 <a class="code" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a> picture;
-00851 <a class="code" href="structFLAC____StreamMetadata__Unknown.html">FLAC__StreamMetadata_Unknown</a> unknown;
-00852 } data;
-00855 } <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>;
-00856
-00857 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga77">FLAC__STREAM_METADATA_IS_LAST_LEN</a>;
-00858 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga78">FLAC__STREAM_METADATA_TYPE_LEN</a>;
-00859 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga79">FLAC__STREAM_METADATA_LENGTH_LEN</a>;
-<a name="l00862"></a><a class="code" href="group__flac__format.html#ga108">00862</a> <span class="preprocessor">#define FLAC__STREAM_METADATA_HEADER_LENGTH (4u)</span>
-00863 <span class="preprocessor"></span>
-00864 <span class="comment">/*****************************************************************************/</span>
-00865
-00866
-00867 <span class="comment">/*****************************************************************************</span>
-00868 <span class="comment"> *</span>
-00869 <span class="comment"> * Utility functions</span>
-00870 <span class="comment"> *</span>
-00871 <span class="comment"> *****************************************************************************/</span>
-00872
-00880 FLAC_API FLAC__bool <a class="code" href="group__flac__format.html#ga80">FLAC__format_sample_rate_is_valid</a>(<span class="keywordtype">unsigned</span> sample_rate);
-00881
-00891 FLAC_API FLAC__bool <a class="code" href="group__flac__format.html#ga81">FLAC__format_sample_rate_is_subset</a>(<span class="keywordtype">unsigned</span> sample_rate);
-00892
-00905 FLAC_API FLAC__bool <a class="code" href="group__flac__format.html#ga82">FLAC__format_vorbiscomment_entry_name_is_legal</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name);
-00906
-00921 FLAC_API FLAC__bool <a class="code" href="group__flac__format.html#ga83">FLAC__format_vorbiscomment_entry_value_is_legal</a>(<span class="keyword">const</span> FLAC__byte *value, <span class="keywordtype">unsigned</span> length);
-00922
-00938 FLAC_API FLAC__bool <a class="code" href="group__flac__format.html#ga84">FLAC__format_vorbiscomment_entry_is_legal</a>(<span class="keyword">const</span> FLAC__byte *entry, <span class="keywordtype">unsigned</span> length);
-00939
-00950 FLAC_API FLAC__bool <a class="code" href="group__flac__format.html#ga85">FLAC__format_seektable_is_legal</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a> *seek_table);
-00951
-00964 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga86">FLAC__format_seektable_sort</a>(<a class="code" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a> *seek_table);
-00965
-00984 FLAC_API FLAC__bool <a class="code" href="group__flac__format.html#ga87">FLAC__format_cuesheet_is_legal</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata__CueSheet.html">FLAC__StreamMetadata_CueSheet</a> *cue_sheet, FLAC__bool check_cd_da_subset, <span class="keyword">const</span> <span class="keywordtype">char</span> **violation);
-00985
-01002 FLAC_API FLAC__bool <a class="code" href="group__flac__format.html#ga88">FLAC__format_picture_is_legal</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a> *picture, <span class="keyword">const</span> <span class="keywordtype">char</span> **violation);
-01003
-01004 <span class="comment">/* \} */</span>
-01005
-01006 <span class="preprocessor">#ifdef __cplusplus</span>
-01007 <span class="preprocessor"></span>}
-01008 <span class="preprocessor">#endif</span>
-01009 <span class="preprocessor"></span>
-01010 <span class="preprocessor">#endif</span>
-</pre></div>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/format_8h.html b/3rdparty/libflac/doc/html/api/format_8h.html
deleted file mode 100644
index de6f818db1b..00000000000
--- a/3rdparty/libflac/doc/html/api/format_8h.html
+++ /dev/null
@@ -1,330 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC/format.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000002.html">FLAC</a></div>
-<h1>format.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module contains structure definitions for the representation of FLAC format components in memory. These are the basic structures used by the rest of the interfaces.
-<p>
-See the detailed documentation in the <a class="el" href="group__flac__format.html">format </a> module.
-<p>
-<code>#include "<a class="el" href="export_8h-source.html">export.h</a>"</code><br>
-<code>#include "ordinals.h"</code><br>
-
-<p>
-<a href="format_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga89">FLAC__MAX_METADATA_TYPE_CODE</a>&nbsp;&nbsp;&nbsp;(126u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga90">FLAC__MIN_BLOCK_SIZE</a>&nbsp;&nbsp;&nbsp;(16u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga91">FLAC__MAX_BLOCK_SIZE</a>&nbsp;&nbsp;&nbsp;(65535u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga92">FLAC__SUBSET_MAX_BLOCK_SIZE_48000HZ</a>&nbsp;&nbsp;&nbsp;(4608u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga93">FLAC__MAX_CHANNELS</a>&nbsp;&nbsp;&nbsp;(8u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga94">FLAC__MIN_BITS_PER_SAMPLE</a>&nbsp;&nbsp;&nbsp;(4u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga95">FLAC__MAX_BITS_PER_SAMPLE</a>&nbsp;&nbsp;&nbsp;(32u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga96">FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE</a>&nbsp;&nbsp;&nbsp;(24u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga97">FLAC__MAX_SAMPLE_RATE</a>&nbsp;&nbsp;&nbsp;(655350u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga98">FLAC__MAX_LPC_ORDER</a>&nbsp;&nbsp;&nbsp;(32u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga99">FLAC__SUBSET_MAX_LPC_ORDER_48000HZ</a>&nbsp;&nbsp;&nbsp;(12u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga100">FLAC__MIN_QLP_COEFF_PRECISION</a>&nbsp;&nbsp;&nbsp;(5u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga101">FLAC__MAX_QLP_COEFF_PRECISION</a>&nbsp;&nbsp;&nbsp;(15u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga102">FLAC__MAX_FIXED_ORDER</a>&nbsp;&nbsp;&nbsp;(4u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga103">FLAC__MAX_RICE_PARTITION_ORDER</a>&nbsp;&nbsp;&nbsp;(15u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga104">FLAC__SUBSET_MAX_RICE_PARTITION_ORDER</a>&nbsp;&nbsp;&nbsp;(8u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga105">FLAC__STREAM_SYNC_LENGTH</a>&nbsp;&nbsp;&nbsp;(4u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga106">FLAC__STREAM_METADATA_STREAMINFO_LENGTH</a>&nbsp;&nbsp;&nbsp;(34u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga107">FLAC__STREAM_METADATA_SEEKPOINT_LENGTH</a>&nbsp;&nbsp;&nbsp;(18u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga108">FLAC__STREAM_METADATA_HEADER_LENGTH</a>&nbsp;&nbsp;&nbsp;(4u)</td></tr>
-
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga109">FLAC__EntropyCodingMethodType</a> { <a class="el" href="group__flac__format.html#gga109a100">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE</a> = 0,
-<a class="el" href="group__flac__format.html#gga109a101">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2</a> = 1
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga110">FLAC__SubframeType</a> { <a class="el" href="group__flac__format.html#gga110a102">FLAC__SUBFRAME_TYPE_CONSTANT</a> = 0,
-<a class="el" href="group__flac__format.html#gga110a103">FLAC__SUBFRAME_TYPE_VERBATIM</a> = 1,
-<a class="el" href="group__flac__format.html#gga110a104">FLAC__SUBFRAME_TYPE_FIXED</a> = 2,
-<a class="el" href="group__flac__format.html#gga110a105">FLAC__SUBFRAME_TYPE_LPC</a> = 3
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a> { <a class="el" href="group__flac__format.html#gga111a106">FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT</a> = 0,
-<a class="el" href="group__flac__format.html#gga111a107">FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE</a> = 1,
-<a class="el" href="group__flac__format.html#gga111a108">FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE</a> = 2,
-<a class="el" href="group__flac__format.html#gga111a109">FLAC__CHANNEL_ASSIGNMENT_MID_SIDE</a> = 3
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga112">FLAC__FrameNumberType</a> { <a class="el" href="group__flac__format.html#gga112a110">FLAC__FRAME_NUMBER_TYPE_FRAME_NUMBER</a>,
-<a class="el" href="group__flac__format.html#gga112a111">FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER</a>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> { <br>
-&nbsp;&nbsp;<a class="el" href="group__flac__format.html#gga113a112">FLAC__METADATA_TYPE_STREAMINFO</a> = 0,
-<a class="el" href="group__flac__format.html#gga113a113">FLAC__METADATA_TYPE_PADDING</a> = 1,
-<a class="el" href="group__flac__format.html#gga113a114">FLAC__METADATA_TYPE_APPLICATION</a> = 2,
-<a class="el" href="group__flac__format.html#gga113a115">FLAC__METADATA_TYPE_SEEKTABLE</a> = 3,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__format.html#gga113a116">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> = 4,
-<a class="el" href="group__flac__format.html#gga113a117">FLAC__METADATA_TYPE_CUESHEET</a> = 5,
-<a class="el" href="group__flac__format.html#gga113a118">FLAC__METADATA_TYPE_PICTURE</a> = 6,
-<a class="el" href="group__flac__format.html#gga113a119">FLAC__METADATA_TYPE_UNDEFINED</a> = 7
-<br>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> { <br>
-&nbsp;&nbsp;<a class="el" href="group__flac__format.html#gga114a120">FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER</a> = 0,
-<a class="el" href="group__flac__format.html#gga114a121">FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD</a> = 1,
-<a class="el" href="group__flac__format.html#gga114a122">FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON</a> = 2,
-<a class="el" href="group__flac__format.html#gga114a123">FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER</a> = 3,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__format.html#gga114a124">FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER</a> = 4,
-<a class="el" href="group__flac__format.html#gga114a125">FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE</a> = 5,
-<a class="el" href="group__flac__format.html#gga114a126">FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA</a> = 6,
-<a class="el" href="group__flac__format.html#gga114a127">FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST</a> = 7,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__format.html#gga114a128">FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST</a> = 8,
-<a class="el" href="group__flac__format.html#gga114a129">FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR</a> = 9,
-<a class="el" href="group__flac__format.html#gga114a130">FLAC__STREAM_METADATA_PICTURE_TYPE_BAND</a> = 10,
-<a class="el" href="group__flac__format.html#gga114a131">FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER</a> = 11,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__format.html#gga114a132">FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST</a> = 12,
-<a class="el" href="group__flac__format.html#gga114a133">FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION</a> = 13,
-<a class="el" href="group__flac__format.html#gga114a134">FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING</a> = 14,
-<a class="el" href="group__flac__format.html#gga114a135">FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE</a> = 15,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__format.html#gga114a136">FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE</a> = 16,
-<a class="el" href="group__flac__format.html#gga114a137">FLAC__STREAM_METADATA_PICTURE_TYPE_FISH</a> = 17,
-<a class="el" href="group__flac__format.html#gga114a138">FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION</a> = 18,
-<a class="el" href="group__flac__format.html#gga114a139">FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE</a> = 19,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__format.html#gga114a140">FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE</a> = 20,
-<b>FLAC__STREAM_METADATA_PICTURE_TYPE_UNDEFINED</b>
-<br>
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga80">FLAC__format_sample_rate_is_valid</a> (unsigned sample_rate)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga81">FLAC__format_sample_rate_is_subset</a> (unsigned sample_rate)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga82">FLAC__format_vorbiscomment_entry_name_is_legal</a> (const char *name)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga83">FLAC__format_vorbiscomment_entry_value_is_legal</a> (const FLAC__byte *value, unsigned length)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga84">FLAC__format_vorbiscomment_entry_is_legal</a> (const FLAC__byte *entry, unsigned length)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga85">FLAC__format_seektable_is_legal</a> (const <a class="el" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a> *seek_table)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga86">FLAC__format_seektable_sort</a> (<a class="el" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a> *seek_table)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga87">FLAC__format_cuesheet_is_legal</a> (const <a class="el" href="structFLAC____StreamMetadata__CueSheet.html">FLAC__StreamMetadata_CueSheet</a> *cue_sheet, FLAC__bool check_cd_da_subset, const char **violation)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga88">FLAC__format_picture_is_legal</a> (const <a class="el" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a> *picture, const char **violation)</td></tr>
-
-<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga0">FLAC__VERSION_STRING</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga1">FLAC__VENDOR_STRING</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const FLAC__byte&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga2">FLAC__STREAM_SYNC_STRING</a> [4]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga3">FLAC__STREAM_SYNC</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga4">FLAC__STREAM_SYNC_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga5">FLAC__EntropyCodingMethodTypeString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga6">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga7">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga8">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga9">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga10">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga11">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga12">FLAC__ENTROPY_CODING_METHOD_TYPE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga13">FLAC__SubframeTypeString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga14">FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga15">FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga16">FLAC__SUBFRAME_ZERO_PAD_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga17">FLAC__SUBFRAME_TYPE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga18">FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga19">FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga20">FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga21">FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga22">FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga23">FLAC__ChannelAssignmentString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga24">FLAC__FrameNumberTypeString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga25">FLAC__FRAME_HEADER_SYNC</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga26">FLAC__FRAME_HEADER_SYNC_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga27">FLAC__FRAME_HEADER_RESERVED_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga28">FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga29">FLAC__FRAME_HEADER_BLOCK_SIZE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga30">FLAC__FRAME_HEADER_SAMPLE_RATE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga31">FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga32">FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga33">FLAC__FRAME_HEADER_ZERO_PAD_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga34">FLAC__FRAME_HEADER_CRC_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga35">FLAC__FRAME_FOOTER_CRC_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga36">FLAC__MetadataTypeString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga37">FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga38">FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga39">FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga40">FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga41">FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga42">FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga43">FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga44">FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga45">FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga46">FLAC__STREAM_METADATA_APPLICATION_ID_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga47">FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga48">FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga49">FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const FLAC__uint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga50">FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga51">FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga52">FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga53">FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga54">FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga55">FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga56">FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga57">FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga58">FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga59">FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga60">FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga61">FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga62">FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga63">FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga64">FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga65">FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga66">FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga67">FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga68">FLAC__StreamMetadata_Picture_TypeString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga69">FLAC__STREAM_METADATA_PICTURE_TYPE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga70">FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga71">FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga72">FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga73">FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga74">FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga75">FLAC__STREAM_METADATA_PICTURE_COLORS_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga76">FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga77">FLAC__STREAM_METADATA_IS_LAST_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga78">FLAC__STREAM_METADATA_TYPE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga79">FLAC__STREAM_METADATA_LENGTH_LEN</a></td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/functions.html b/3rdparty/libflac/doc/html/api/functions.html
deleted file mode 100644
index cb836c7c194..00000000000
--- a/3rdparty/libflac/doc/html/api/functions.html
+++ /dev/null
@@ -1,260 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a></div>
-<div class="qindex"><a class="qindex" href="#index_a">a</a> | <a class="qindex" href="#index_b">b</a> | <a class="qindex" href="#index_c">c</a> | <a class="qindex" href="#index_d">d</a> | <a class="qindex" href="#index_e">e</a> | <a class="qindex" href="#index_f">f</a> | <a class="qindex" href="#index_g">g</a> | <a class="qindex" href="#index_h">h</a> | <a class="qindex" href="#index_i">i</a> | <a class="qindex" href="#index_l">l</a> | <a class="qindex" href="#index_m">m</a> | <a class="qindex" href="#index_n">n</a> | <a class="qindex" href="#index_o">o</a> | <a class="qindex" href="#index_p">p</a> | <a class="qindex" href="#index_q">q</a> | <a class="qindex" href="#index_r">r</a> | <a class="qindex" href="#index_s">s</a> | <a class="qindex" href="#index_t">t</a> | <a class="qindex" href="#index_u">u</a> | <a class="qindex" href="#index_v">v</a> | <a class="qindex" href="#index_w">w</a> | <a class="qindex" href="#index_~">~</a></div>
-
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
-<li>append_comment()
-: <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta22">FLAC::Metadata::VorbisComment</a><li>Application()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa4">FLAC::Metadata::Application</a><li>assign()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna9">FLAC::Metadata::Unknown</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea9">FLAC::Metadata::Picture</a>, <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta9">FLAC::Metadata::CueSheet</a>, <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta9">FLAC::Metadata::VorbisComment</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea9">FLAC::Metadata::SeekTable</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa9">FLAC::Metadata::Application</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga9">FLAC::Metadata::Padding</a>, <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa9">FLAC::Metadata::StreamInfo</a><li>assign_object()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">FLAC::Metadata::Prototype</a></ul>
-<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
-<li>bits_per_sample
-: <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero4">FLAC__FrameHeader</a><li>blocksize
-: <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero0">FLAC__FrameHeader</a></ul>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>calculate_cddb_id()
-: <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta31">FLAC::Metadata::CueSheet</a><li>capacity_by_order
-: <a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html#FLAC____EntropyCodingMethod__PartitionedRiceContentso2">FLAC__EntropyCodingMethod_PartitionedRiceContents</a><li>channel_assignment
-: <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero3">FLAC__FrameHeader</a><li>channels
-: <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero2">FLAC__FrameHeader</a><li>check_if_tempfile_needed()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina6">FLAC::Metadata::Chain</a><li>clear()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb1">FLAC::Metadata::Prototype</a><li>colors
-: <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo6">FLAC__StreamMetadata_Picture</a><li>contents
-: <a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRice.html#FLAC____EntropyCodingMethod__PartitionedRiceo1">FLAC__EntropyCodingMethod_PartitionedRice</a><li>crc
-: <a class="el" href="structFLAC____FrameFooter.html#FLAC____FrameFootero0">FLAC__FrameFooter</a>, <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero9">FLAC__FrameHeader</a><li>CueSheet()
-: <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta4">FLAC::Metadata::CueSheet</a></ul>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
-<li>data
-: <a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao11">FLAC__StreamMetadata</a>, <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo8">FLAC__StreamMetadata_Picture</a>, <a class="el" href="structFLAC____Subframe__Verbatim.html#FLAC____Subframe__Verbatimo0">FLAC__Subframe_Verbatim</a><li>data_length
-: <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo7">FLAC__StreamMetadata_Picture</a><li>delete_block()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora9">FLAC::Metadata::Iterator</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora16">FLAC::Metadata::SimpleIterator</a><li>delete_comment()
-: <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta23">FLAC::Metadata::VorbisComment</a><li>delete_index()
-: <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta26">FLAC::Metadata::CueSheet</a><li>delete_point()
-: <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea20">FLAC::Metadata::SeekTable</a><li>delete_track()
-: <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta29">FLAC::Metadata::CueSheet</a><li>depth
-: <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo5">FLAC__StreamMetadata_Picture</a><li>description
-: <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo2">FLAC__StreamMetadata_Picture</a><li>dummy
-: <a class="el" href="structFLAC____StreamMetadata__Padding.html#FLAC____StreamMetadata__Paddingo0">FLAC__StreamMetadata_Padding</a></ul>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
-<li>entropy_coding_method
-: <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo0">FLAC__Subframe_LPC</a>, <a class="el" href="structFLAC____Subframe__Fixed.html#FLAC____Subframe__Fixedo0">FLAC__Subframe_Fixed</a><li>eof_callback()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb4">FLAC::Decoder::Stream</a><li>error_callback()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb7">FLAC::Decoder::Stream</a></ul>
-<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
-<li>finish()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama48">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama23">FLAC::Decoder::Stream</a><li>flush()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama24">FLAC::Decoder::Stream</a><li>frame_samples
-: <a class="el" href="structFLAC____StreamMetadata__SeekPoint.html#FLAC____StreamMetadata__SeekPointo2">FLAC__StreamMetadata_SeekPoint</a></ul>
-<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
-<li>get_application_id()
-: <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora12">FLAC::Metadata::SimpleIterator</a><li>get_bits_per_sample()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama34">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama17">FLAC::Decoder::Stream</a><li>get_block()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora7">FLAC::Metadata::Iterator</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora13">FLAC::Metadata::SimpleIterator</a><li>get_block_length()
-: <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora11">FLAC::Metadata::SimpleIterator</a><li>get_block_offset()
-: <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora9">FLAC::Metadata::SimpleIterator</a><li>get_block_type()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora6">FLAC::Metadata::Iterator</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora10">FLAC::Metadata::SimpleIterator</a><li>get_blocksize()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama36">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama19">FLAC::Decoder::Stream</a><li>get_channel_assignment()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama16">FLAC::Decoder::Stream</a><li>get_channels()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama33">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama15">FLAC::Decoder::Stream</a><li>get_colors()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea22">FLAC::Metadata::Picture</a><li>get_decode_position()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama20">FLAC::Decoder::Stream</a><li>get_do_escape_coding()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama40">FLAC::Encoder::Stream</a><li>get_do_exhaustive_model_search()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama41">FLAC::Encoder::Stream</a><li>get_do_mid_side_stereo()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama31">FLAC::Encoder::Stream</a><li>get_do_qlp_coeff_prec_search()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama39">FLAC::Encoder::Stream</a><li>get_is_last()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta27">FLAC::Metadata::Prototype</a><li>get_length()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta29">FLAC::Metadata::Prototype</a><li>get_loose_mid_side_stereo()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama32">FLAC::Encoder::Stream</a><li>get_max_lpc_order()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama37">FLAC::Encoder::Stream</a><li>get_max_residual_partition_order()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama43">FLAC::Encoder::Stream</a><li>get_md5_checking()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama13">FLAC::Decoder::Stream</a><li>get_min_blocksize()
-: <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa16">FLAC::Metadata::StreamInfo</a><li>get_min_residual_partition_order()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama42">FLAC::Encoder::Stream</a><li>get_qlp_coeff_precision()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama38">FLAC::Encoder::Stream</a><li>get_rice_parameter_search_dist()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama44">FLAC::Encoder::Stream</a><li>get_sample_rate()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama35">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama18">FLAC::Decoder::Stream</a><li>get_state()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama26">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama12">FLAC::Decoder::Stream</a><li>get_streamable_subset()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama30">FLAC::Encoder::Stream</a><li>get_total_samples()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama14">FLAC::Decoder::Stream</a><li>get_total_samples_estimate()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama45">FLAC::Encoder::Stream</a><li>get_type()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea16">FLAC::Metadata::Picture</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta28">FLAC::Metadata::Prototype</a><li>get_verify()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama29">FLAC::Encoder::Stream</a><li>get_verify_decoder_error_stats()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama28">FLAC::Encoder::Stream</a><li>get_verify_decoder_state()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama27">FLAC::Encoder::Stream</a></ul>
-<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
-<li>height
-: <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo4">FLAC__StreamMetadata_Picture</a></ul>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
-<li>indices
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko6">FLAC__StreamMetadata_CueSheet_Track</a><li>init()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora3">FLAC::Metadata::Iterator</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora3">FLAC::Metadata::SimpleIterator</a>, <a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Filea4">FLAC::Encoder::File</a>, <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama46">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Filea4">FLAC::Decoder::File</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama21">FLAC::Decoder::Stream</a><li>init_ogg()
-: <a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Filea7">FLAC::Encoder::File</a>, <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama47">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Filea7">FLAC::Decoder::File</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama22">FLAC::Decoder::Stream</a><li>insert_block_after()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora11">FLAC::Metadata::Iterator</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora15">FLAC::Metadata::SimpleIterator</a><li>insert_block_before()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora10">FLAC::Metadata::Iterator</a><li>insert_comment()
-: <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta21">FLAC::Metadata::VorbisComment</a><li>insert_index()
-: <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta25">FLAC::Metadata::CueSheet</a><li>insert_point()
-: <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea19">FLAC::Metadata::SeekTable</a><li>insert_track()
-: <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta28">FLAC::Metadata::CueSheet</a><li>is_cd
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto2">FLAC__StreamMetadata_CueSheet</a><li>is_last
-: <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora8">FLAC::Metadata::SimpleIterator</a>, <a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao1">FLAC__StreamMetadata</a><li>is_legal()
-: <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta30">FLAC::Metadata::CueSheet</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea21">FLAC::Metadata::SeekTable</a><li>is_valid()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora2">FLAC::Metadata::Iterator</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina2">FLAC::Metadata::Chain</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora2">FLAC::Metadata::SimpleIterator</a>, <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html#FLAC_1_1Metadata_1_1CueSheet_1_1Tracka5">FLAC::Metadata::CueSheet::Track</a>, <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html#FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya8">FLAC::Metadata::VorbisComment::Entry</a>, <a class="el" href="group__flacpp__metadata__object.html#ga7">FLAC::Metadata::Prototype</a>, <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama2">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama2">FLAC::Decoder::Stream</a><li>is_writable()
-: <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora5">FLAC::Metadata::SimpleIterator</a><li>isrc
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko2">FLAC__StreamMetadata_CueSheet_Track</a></ul>
-<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
-<li>lead_in
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto1">FLAC__StreamMetadata_CueSheet</a><li>length
-: <a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao2">FLAC__StreamMetadata</a><li>length_callback()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb3">FLAC::Decoder::Stream</a></ul>
-<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
-<li>media_catalog_number
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto0">FLAC__StreamMetadata_CueSheet</a><li>merge_padding()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina10">FLAC::Metadata::Chain</a><li>metadata_callback()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb4">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb6">FLAC::Decoder::Stream</a><li>mime_type
-: <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo1">FLAC__StreamMetadata_Picture</a></ul>
-<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
-<li>next()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora4">FLAC::Metadata::Iterator</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora6">FLAC::Metadata::SimpleIterator</a><li>num_indices
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko5">FLAC__StreamMetadata_CueSheet_Track</a><li>num_tracks
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto3">FLAC__StreamMetadata_CueSheet</a><li>number
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko1">FLAC__StreamMetadata_CueSheet_Track</a>, <a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html#FLAC____StreamMetadata__CueSheet__Indexo1">FLAC__StreamMetadata_CueSheet_Index</a>, <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero8">FLAC__FrameHeader</a><li>number_type
-: <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero5">FLAC__FrameHeader</a></ul>
-<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
-<li>offset
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko0">FLAC__StreamMetadata_CueSheet_Track</a>, <a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html#FLAC____StreamMetadata__CueSheet__Indexo0">FLAC__StreamMetadata_CueSheet_Index</a><li>operator bool()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama3">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama3">FLAC::Decoder::Stream</a><li>operator const ::FLAC__StreamMetadata *()
-: <a class="el" href="group__flacpp__metadata__object.html#ga8">FLAC::Metadata::Prototype</a><li>operator!=()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna13">FLAC::Metadata::Unknown</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea13">FLAC::Metadata::Picture</a>, <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta13">FLAC::Metadata::CueSheet</a>, <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta13">FLAC::Metadata::VorbisComment</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea13">FLAC::Metadata::SeekTable</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa13">FLAC::Metadata::Application</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga13">FLAC::Metadata::Padding</a>, <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa13">FLAC::Metadata::StreamInfo</a>, <a class="el" href="group__flacpp__metadata__object.html#ga4">FLAC::Metadata::Prototype</a><li>operator=()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna6">FLAC::Metadata::Unknown</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea6">FLAC::Metadata::Picture</a>, <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta6">FLAC::Metadata::CueSheet</a>, <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta6">FLAC::Metadata::VorbisComment</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea6">FLAC::Metadata::SeekTable</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa6">FLAC::Metadata::Application</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga6">FLAC::Metadata::Padding</a>, <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa6">FLAC::Metadata::StreamInfo</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">FLAC::Metadata::Prototype</a><li>operator==()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna10">FLAC::Metadata::Unknown</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea10">FLAC::Metadata::Picture</a>, <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta10">FLAC::Metadata::CueSheet</a>, <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta10">FLAC::Metadata::VorbisComment</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea10">FLAC::Metadata::SeekTable</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa10">FLAC::Metadata::Application</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga10">FLAC::Metadata::Padding</a>, <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa10">FLAC::Metadata::StreamInfo</a>, <a class="el" href="group__flacpp__metadata__object.html#ga1">FLAC::Metadata::Prototype</a><li>order
-: <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo1">FLAC__Subframe_LPC</a>, <a class="el" href="structFLAC____Subframe__Fixed.html#FLAC____Subframe__Fixedo1">FLAC__Subframe_Fixed</a>, <a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRice.html#FLAC____EntropyCodingMethod__PartitionedRiceo0">FLAC__EntropyCodingMethod_PartitionedRice</a></ul>
-<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
-<li>Padding()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga4">FLAC::Metadata::Padding</a><li>parameters
-: <a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html#FLAC____EntropyCodingMethod__PartitionedRiceContentso0">FLAC__EntropyCodingMethod_PartitionedRiceContents</a><li>Picture()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea4">FLAC::Metadata::Picture</a><li>pre_emphasis
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko4">FLAC__StreamMetadata_CueSheet_Track</a><li>prev()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora5">FLAC::Metadata::Iterator</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora7">FLAC::Metadata::SimpleIterator</a><li>process()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama49">FLAC::Encoder::Stream</a><li>process_interleaved()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama50">FLAC::Encoder::Stream</a><li>process_single()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama26">FLAC::Decoder::Stream</a><li>process_until_end_of_metadata()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama27">FLAC::Decoder::Stream</a><li>process_until_end_of_stream()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama28">FLAC::Decoder::Stream</a><li>progress_callback()
-: <a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Fileb0">FLAC::Encoder::File</a><li>Prototype()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">FLAC::Metadata::Prototype</a></ul>
-<h3><a class="anchor" name="index_q">- q -</a></h3><ul>
-<li>qlp_coeff
-: <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo4">FLAC__Subframe_LPC</a><li>qlp_coeff_precision
-: <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo2">FLAC__Subframe_LPC</a><li>quantization_level
-: <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo3">FLAC__Subframe_LPC</a></ul>
-<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
-<li>raw_bits
-: <a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html#FLAC____EntropyCodingMethod__PartitionedRiceContentso1">FLAC__EntropyCodingMethod_PartitionedRiceContents</a><li>read()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina5">FLAC::Metadata::Chain</a><li>read_callback()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb0">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Fileb0">FLAC::Decoder::File</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb0">FLAC::Decoder::Stream</a><li>reset()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama25">FLAC::Decoder::Stream</a><li>residual
-: <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo6">FLAC__Subframe_LPC</a>, <a class="el" href="structFLAC____Subframe__Fixed.html#FLAC____Subframe__Fixedo3">FLAC__Subframe_Fixed</a></ul>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
-<li>sample_number
-: <a class="el" href="structFLAC____StreamMetadata__SeekPoint.html#FLAC____StreamMetadata__SeekPointo0">FLAC__StreamMetadata_SeekPoint</a><li>sample_rate
-: <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero1">FLAC__FrameHeader</a><li>seek_absolute()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama30">FLAC::Decoder::Stream</a><li>seek_callback()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb2">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb1">FLAC::Decoder::Stream</a><li>SeekTable()
-: <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea4">FLAC::Metadata::SeekTable</a><li>set_apodization()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama14">FLAC::Encoder::Stream</a><li>set_bits_per_sample()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama8">FLAC::Encoder::Stream</a><li>set_block()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora8">FLAC::Metadata::Iterator</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora14">FLAC::Metadata::SimpleIterator</a><li>set_blocksize()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama11">FLAC::Encoder::Stream</a><li>set_channels()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama7">FLAC::Encoder::Stream</a><li>set_colors()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea31">FLAC::Metadata::Picture</a><li>set_comment()
-: <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta20">FLAC::Metadata::VorbisComment</a><li>set_compression_level()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama10">FLAC::Encoder::Stream</a><li>set_data()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna17">FLAC::Metadata::Unknown</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea32">FLAC::Metadata::Picture</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa19">FLAC::Metadata::Application</a><li>set_description()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea27">FLAC::Metadata::Picture</a><li>set_do_escape_coding()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama18">FLAC::Encoder::Stream</a><li>set_do_exhaustive_model_search()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama19">FLAC::Encoder::Stream</a><li>set_do_mid_side_stereo()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama12">FLAC::Encoder::Stream</a><li>set_do_qlp_coeff_prec_search()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama17">FLAC::Encoder::Stream</a><li>set_is_last()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta30">FLAC::Metadata::Prototype</a><li>set_loose_mid_side_stereo()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama13">FLAC::Encoder::Stream</a><li>set_max_lpc_order()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama15">FLAC::Encoder::Stream</a><li>set_max_residual_partition_order()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama21">FLAC::Encoder::Stream</a><li>set_md5_checking()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama5">FLAC::Decoder::Stream</a><li>set_metadata()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama25">FLAC::Encoder::Stream</a><li>set_metadata_ignore()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama9">FLAC::Decoder::Stream</a><li>set_metadata_ignore_all()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama11">FLAC::Decoder::Stream</a><li>set_metadata_ignore_application()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama10">FLAC::Decoder::Stream</a><li>set_metadata_respond()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama6">FLAC::Decoder::Stream</a><li>set_metadata_respond_all()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama8">FLAC::Decoder::Stream</a><li>set_metadata_respond_application()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama7">FLAC::Decoder::Stream</a><li>set_mime_type()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea26">FLAC::Metadata::Picture</a><li>set_min_residual_partition_order()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama20">FLAC::Encoder::Stream</a><li>set_ogg_serial_number()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama4">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama4">FLAC::Decoder::Stream</a><li>set_point()
-: <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea18">FLAC::Metadata::SeekTable</a><li>set_qlp_coeff_precision()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama16">FLAC::Encoder::Stream</a><li>set_rice_parameter_search_dist()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama22">FLAC::Encoder::Stream</a><li>set_sample_rate()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama9">FLAC::Encoder::Stream</a><li>set_streamable_subset()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama6">FLAC::Encoder::Stream</a><li>set_total_samples_estimate()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama23">FLAC::Encoder::Stream</a><li>set_track()
-: <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta27">FLAC::Metadata::CueSheet</a><li>set_vendor_string()
-: <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta19">FLAC::Metadata::VorbisComment</a><li>set_verify()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama5">FLAC::Encoder::Stream</a><li>skip_single_frame()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama29">FLAC::Decoder::Stream</a><li>sort_padding()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina11">FLAC::Metadata::Chain</a><li>status()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina3">FLAC::Metadata::Chain</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora4">FLAC::Metadata::SimpleIterator</a><li>stream_offset
-: <a class="el" href="structFLAC____StreamMetadata__SeekPoint.html#FLAC____StreamMetadata__SeekPointo1">FLAC__StreamMetadata_SeekPoint</a><li>StreamInfo()
-: <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa4">FLAC::Metadata::StreamInfo</a></ul>
-<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
-<li>tell_callback()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb3">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb2">FLAC::Decoder::Stream</a><li>tracks
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto4">FLAC__StreamMetadata_CueSheet</a><li>type
-: <a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao0">FLAC__StreamMetadata</a>, <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo0">FLAC__StreamMetadata_Picture</a>, <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko3">FLAC__StreamMetadata_CueSheet_Track</a></ul>
-<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
-<li>Unknown()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna4">FLAC::Metadata::Unknown</a></ul>
-<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
-<li>value
-: <a class="el" href="structFLAC____Subframe__Constant.html#FLAC____Subframe__Constanto0">FLAC__Subframe_Constant</a><li>VorbisComment()
-: <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta4">FLAC::Metadata::VorbisComment</a></ul>
-<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
-<li>warmup
-: <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo5">FLAC__Subframe_LPC</a>, <a class="el" href="structFLAC____Subframe__Fixed.html#FLAC____Subframe__Fixedo2">FLAC__Subframe_Fixed</a><li>width
-: <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo3">FLAC__StreamMetadata_Picture</a><li>write()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina9">FLAC::Metadata::Chain</a><li>write_callback()
-: <a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Fileb1">FLAC::Encoder::File</a>, <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb1">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb5">FLAC::Decoder::Stream</a></ul>
-<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
-<li>~Prototype()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypea0">FLAC::Metadata::Prototype</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/functions_func.html b/3rdparty/libflac/doc/html/api/functions_func.html
deleted file mode 100644
index be8af99cfca..00000000000
--- a/3rdparty/libflac/doc/html/api/functions_func.html
+++ /dev/null
@@ -1,210 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a></div>
-<div class="qindex"><a class="qindex" href="#index_a">a</a> | <a class="qindex" href="#index_c">c</a> | <a class="qindex" href="#index_d">d</a> | <a class="qindex" href="#index_e">e</a> | <a class="qindex" href="#index_f">f</a> | <a class="qindex" href="#index_g">g</a> | <a class="qindex" href="#index_i">i</a> | <a class="qindex" href="#index_l">l</a> | <a class="qindex" href="#index_m">m</a> | <a class="qindex" href="#index_n">n</a> | <a class="qindex" href="#index_o">o</a> | <a class="qindex" href="#index_p">p</a> | <a class="qindex" href="#index_r">r</a> | <a class="qindex" href="#index_s">s</a> | <a class="qindex" href="#index_t">t</a> | <a class="qindex" href="#index_u">u</a> | <a class="qindex" href="#index_v">v</a> | <a class="qindex" href="#index_w">w</a> | <a class="qindex" href="#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
-<li>append_comment()
-: <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta22">FLAC::Metadata::VorbisComment</a><li>Application()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa4">FLAC::Metadata::Application</a><li>assign()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna9">FLAC::Metadata::Unknown</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea9">FLAC::Metadata::Picture</a>, <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta9">FLAC::Metadata::CueSheet</a>, <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta9">FLAC::Metadata::VorbisComment</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea9">FLAC::Metadata::SeekTable</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa9">FLAC::Metadata::Application</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga9">FLAC::Metadata::Padding</a>, <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa9">FLAC::Metadata::StreamInfo</a><li>assign_object()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">FLAC::Metadata::Prototype</a></ul>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>calculate_cddb_id()
-: <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta31">FLAC::Metadata::CueSheet</a><li>check_if_tempfile_needed()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina6">FLAC::Metadata::Chain</a><li>clear()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb1">FLAC::Metadata::Prototype</a><li>CueSheet()
-: <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta4">FLAC::Metadata::CueSheet</a></ul>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
-<li>delete_block()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora9">FLAC::Metadata::Iterator</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora16">FLAC::Metadata::SimpleIterator</a><li>delete_comment()
-: <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta23">FLAC::Metadata::VorbisComment</a><li>delete_index()
-: <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta26">FLAC::Metadata::CueSheet</a><li>delete_point()
-: <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea20">FLAC::Metadata::SeekTable</a><li>delete_track()
-: <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta29">FLAC::Metadata::CueSheet</a></ul>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
-<li>eof_callback()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb4">FLAC::Decoder::Stream</a><li>error_callback()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb7">FLAC::Decoder::Stream</a></ul>
-<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
-<li>finish()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama48">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama23">FLAC::Decoder::Stream</a><li>flush()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama24">FLAC::Decoder::Stream</a></ul>
-<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
-<li>get_application_id()
-: <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora12">FLAC::Metadata::SimpleIterator</a><li>get_bits_per_sample()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama34">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama17">FLAC::Decoder::Stream</a><li>get_block()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora7">FLAC::Metadata::Iterator</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora13">FLAC::Metadata::SimpleIterator</a><li>get_block_length()
-: <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora11">FLAC::Metadata::SimpleIterator</a><li>get_block_offset()
-: <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora9">FLAC::Metadata::SimpleIterator</a><li>get_block_type()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora6">FLAC::Metadata::Iterator</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora10">FLAC::Metadata::SimpleIterator</a><li>get_blocksize()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama36">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama19">FLAC::Decoder::Stream</a><li>get_channel_assignment()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama16">FLAC::Decoder::Stream</a><li>get_channels()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama33">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama15">FLAC::Decoder::Stream</a><li>get_colors()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea22">FLAC::Metadata::Picture</a><li>get_decode_position()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama20">FLAC::Decoder::Stream</a><li>get_do_escape_coding()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama40">FLAC::Encoder::Stream</a><li>get_do_exhaustive_model_search()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama41">FLAC::Encoder::Stream</a><li>get_do_mid_side_stereo()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama31">FLAC::Encoder::Stream</a><li>get_do_qlp_coeff_prec_search()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama39">FLAC::Encoder::Stream</a><li>get_is_last()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta27">FLAC::Metadata::Prototype</a><li>get_length()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta29">FLAC::Metadata::Prototype</a><li>get_loose_mid_side_stereo()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama32">FLAC::Encoder::Stream</a><li>get_max_lpc_order()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama37">FLAC::Encoder::Stream</a><li>get_max_residual_partition_order()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama43">FLAC::Encoder::Stream</a><li>get_md5_checking()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama13">FLAC::Decoder::Stream</a><li>get_min_blocksize()
-: <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa16">FLAC::Metadata::StreamInfo</a><li>get_min_residual_partition_order()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama42">FLAC::Encoder::Stream</a><li>get_qlp_coeff_precision()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama38">FLAC::Encoder::Stream</a><li>get_rice_parameter_search_dist()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama44">FLAC::Encoder::Stream</a><li>get_sample_rate()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama35">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama18">FLAC::Decoder::Stream</a><li>get_state()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama26">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama12">FLAC::Decoder::Stream</a><li>get_streamable_subset()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama30">FLAC::Encoder::Stream</a><li>get_total_samples()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama14">FLAC::Decoder::Stream</a><li>get_total_samples_estimate()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama45">FLAC::Encoder::Stream</a><li>get_type()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea16">FLAC::Metadata::Picture</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta28">FLAC::Metadata::Prototype</a><li>get_verify()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama29">FLAC::Encoder::Stream</a><li>get_verify_decoder_error_stats()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama28">FLAC::Encoder::Stream</a><li>get_verify_decoder_state()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama27">FLAC::Encoder::Stream</a></ul>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
-<li>init()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora3">FLAC::Metadata::Iterator</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora3">FLAC::Metadata::SimpleIterator</a>, <a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Filea4">FLAC::Encoder::File</a>, <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama46">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Filea4">FLAC::Decoder::File</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama21">FLAC::Decoder::Stream</a><li>init_ogg()
-: <a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Filea7">FLAC::Encoder::File</a>, <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama47">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Filea7">FLAC::Decoder::File</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama22">FLAC::Decoder::Stream</a><li>insert_block_after()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora11">FLAC::Metadata::Iterator</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora15">FLAC::Metadata::SimpleIterator</a><li>insert_block_before()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora10">FLAC::Metadata::Iterator</a><li>insert_comment()
-: <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta21">FLAC::Metadata::VorbisComment</a><li>insert_index()
-: <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta25">FLAC::Metadata::CueSheet</a><li>insert_point()
-: <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea19">FLAC::Metadata::SeekTable</a><li>insert_track()
-: <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta28">FLAC::Metadata::CueSheet</a><li>is_last()
-: <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora8">FLAC::Metadata::SimpleIterator</a>, <a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao1">FLAC__StreamMetadata</a><li>is_legal()
-: <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta30">FLAC::Metadata::CueSheet</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea21">FLAC::Metadata::SeekTable</a><li>is_valid()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora2">FLAC::Metadata::Iterator</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina2">FLAC::Metadata::Chain</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora2">FLAC::Metadata::SimpleIterator</a>, <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html#FLAC_1_1Metadata_1_1CueSheet_1_1Tracka5">FLAC::Metadata::CueSheet::Track</a>, <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html#FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya8">FLAC::Metadata::VorbisComment::Entry</a>, <a class="el" href="group__flacpp__metadata__object.html#ga7">FLAC::Metadata::Prototype</a>, <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama2">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama2">FLAC::Decoder::Stream</a><li>is_writable()
-: <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora5">FLAC::Metadata::SimpleIterator</a></ul>
-<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
-<li>length_callback()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb3">FLAC::Decoder::Stream</a></ul>
-<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
-<li>merge_padding()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina10">FLAC::Metadata::Chain</a><li>metadata_callback()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb4">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb6">FLAC::Decoder::Stream</a></ul>
-<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
-<li>next()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora4">FLAC::Metadata::Iterator</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora6">FLAC::Metadata::SimpleIterator</a></ul>
-<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
-<li>operator bool()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama3">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama3">FLAC::Decoder::Stream</a><li>operator const ::FLAC__StreamMetadata *()
-: <a class="el" href="group__flacpp__metadata__object.html#ga8">FLAC::Metadata::Prototype</a><li>operator!=()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna13">FLAC::Metadata::Unknown</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea13">FLAC::Metadata::Picture</a>, <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta13">FLAC::Metadata::CueSheet</a>, <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta13">FLAC::Metadata::VorbisComment</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea13">FLAC::Metadata::SeekTable</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa13">FLAC::Metadata::Application</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga13">FLAC::Metadata::Padding</a>, <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa13">FLAC::Metadata::StreamInfo</a>, <a class="el" href="group__flacpp__metadata__object.html#ga4">FLAC::Metadata::Prototype</a><li>operator=()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna6">FLAC::Metadata::Unknown</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea6">FLAC::Metadata::Picture</a>, <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta6">FLAC::Metadata::CueSheet</a>, <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta6">FLAC::Metadata::VorbisComment</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea6">FLAC::Metadata::SeekTable</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa6">FLAC::Metadata::Application</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga6">FLAC::Metadata::Padding</a>, <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa6">FLAC::Metadata::StreamInfo</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">FLAC::Metadata::Prototype</a><li>operator==()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna10">FLAC::Metadata::Unknown</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea10">FLAC::Metadata::Picture</a>, <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta10">FLAC::Metadata::CueSheet</a>, <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta10">FLAC::Metadata::VorbisComment</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea10">FLAC::Metadata::SeekTable</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa10">FLAC::Metadata::Application</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga10">FLAC::Metadata::Padding</a>, <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa10">FLAC::Metadata::StreamInfo</a>, <a class="el" href="group__flacpp__metadata__object.html#ga1">FLAC::Metadata::Prototype</a></ul>
-<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
-<li>Padding()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga4">FLAC::Metadata::Padding</a><li>Picture()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea4">FLAC::Metadata::Picture</a><li>prev()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora5">FLAC::Metadata::Iterator</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora7">FLAC::Metadata::SimpleIterator</a><li>process()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama49">FLAC::Encoder::Stream</a><li>process_interleaved()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama50">FLAC::Encoder::Stream</a><li>process_single()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama26">FLAC::Decoder::Stream</a><li>process_until_end_of_metadata()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama27">FLAC::Decoder::Stream</a><li>process_until_end_of_stream()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama28">FLAC::Decoder::Stream</a><li>progress_callback()
-: <a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Fileb0">FLAC::Encoder::File</a><li>Prototype()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb3">FLAC::Metadata::Prototype</a></ul>
-<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
-<li>read()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina5">FLAC::Metadata::Chain</a><li>read_callback()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb0">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1File.html#FLAC_1_1Decoder_1_1Fileb0">FLAC::Decoder::File</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb0">FLAC::Decoder::Stream</a><li>reset()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama25">FLAC::Decoder::Stream</a></ul>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
-<li>seek_absolute()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama30">FLAC::Decoder::Stream</a><li>seek_callback()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb2">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb1">FLAC::Decoder::Stream</a><li>SeekTable()
-: <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea4">FLAC::Metadata::SeekTable</a><li>set_apodization()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama14">FLAC::Encoder::Stream</a><li>set_bits_per_sample()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama8">FLAC::Encoder::Stream</a><li>set_block()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html#FLAC_1_1Metadata_1_1Iteratora8">FLAC::Metadata::Iterator</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora14">FLAC::Metadata::SimpleIterator</a><li>set_blocksize()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama11">FLAC::Encoder::Stream</a><li>set_channels()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama7">FLAC::Encoder::Stream</a><li>set_colors()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea31">FLAC::Metadata::Picture</a><li>set_comment()
-: <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta20">FLAC::Metadata::VorbisComment</a><li>set_compression_level()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama10">FLAC::Encoder::Stream</a><li>set_data()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna17">FLAC::Metadata::Unknown</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea32">FLAC::Metadata::Picture</a>, <a class="el" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa19">FLAC::Metadata::Application</a><li>set_description()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea27">FLAC::Metadata::Picture</a><li>set_do_escape_coding()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama18">FLAC::Encoder::Stream</a><li>set_do_exhaustive_model_search()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama19">FLAC::Encoder::Stream</a><li>set_do_mid_side_stereo()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama12">FLAC::Encoder::Stream</a><li>set_do_qlp_coeff_prec_search()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama17">FLAC::Encoder::Stream</a><li>set_is_last()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommenta30">FLAC::Metadata::Prototype</a><li>set_loose_mid_side_stereo()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama13">FLAC::Encoder::Stream</a><li>set_max_lpc_order()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama15">FLAC::Encoder::Stream</a><li>set_max_residual_partition_order()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama21">FLAC::Encoder::Stream</a><li>set_md5_checking()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama5">FLAC::Decoder::Stream</a><li>set_metadata()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama25">FLAC::Encoder::Stream</a><li>set_metadata_ignore()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama9">FLAC::Decoder::Stream</a><li>set_metadata_ignore_all()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama11">FLAC::Decoder::Stream</a><li>set_metadata_ignore_application()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama10">FLAC::Decoder::Stream</a><li>set_metadata_respond()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama6">FLAC::Decoder::Stream</a><li>set_metadata_respond_all()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama8">FLAC::Decoder::Stream</a><li>set_metadata_respond_application()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama7">FLAC::Decoder::Stream</a><li>set_mime_type()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea26">FLAC::Metadata::Picture</a><li>set_min_residual_partition_order()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama20">FLAC::Encoder::Stream</a><li>set_ogg_serial_number()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama4">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama4">FLAC::Decoder::Stream</a><li>set_point()
-: <a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea18">FLAC::Metadata::SeekTable</a><li>set_qlp_coeff_precision()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama16">FLAC::Encoder::Stream</a><li>set_rice_parameter_search_dist()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama22">FLAC::Encoder::Stream</a><li>set_sample_rate()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama9">FLAC::Encoder::Stream</a><li>set_streamable_subset()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama6">FLAC::Encoder::Stream</a><li>set_total_samples_estimate()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama23">FLAC::Encoder::Stream</a><li>set_track()
-: <a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta27">FLAC::Metadata::CueSheet</a><li>set_vendor_string()
-: <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta19">FLAC::Metadata::VorbisComment</a><li>set_verify()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streama5">FLAC::Encoder::Stream</a><li>skip_single_frame()
-: <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama29">FLAC::Decoder::Stream</a><li>sort_padding()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina11">FLAC::Metadata::Chain</a><li>status()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina3">FLAC::Metadata::Chain</a>, <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora4">FLAC::Metadata::SimpleIterator</a><li>StreamInfo()
-: <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa4">FLAC::Metadata::StreamInfo</a></ul>
-<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
-<li>tell_callback()
-: <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb3">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb2">FLAC::Decoder::Stream</a></ul>
-<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
-<li>Unknown()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna4">FLAC::Metadata::Unknown</a></ul>
-<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
-<li>VorbisComment()
-: <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta4">FLAC::Metadata::VorbisComment</a></ul>
-<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
-<li>write()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Chain.html#FLAC_1_1Metadata_1_1Chaina9">FLAC::Metadata::Chain</a><li>write_callback()
-: <a class="el" href="classFLAC_1_1Encoder_1_1File.html#FLAC_1_1Encoder_1_1Fileb1">FLAC::Encoder::File</a>, <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html#FLAC_1_1Encoder_1_1Streamb1">FLAC::Encoder::Stream</a>, <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streamb5">FLAC::Decoder::Stream</a></ul>
-<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
-<li>~Prototype()
-: <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypea0">FLAC::Metadata::Prototype</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/functions_vars.html b/3rdparty/libflac/doc/html/api/functions_vars.html
deleted file mode 100644
index 3cffbe1d424..00000000000
--- a/3rdparty/libflac/doc/html/api/functions_vars.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Class Members - Variables</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindex" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindexHL" href="functions_vars.html">Variables</a></div>
-<div class="qindex"><a class="qindex" href="#index_b">b</a> | <a class="qindex" href="#index_c">c</a> | <a class="qindex" href="#index_d">d</a> | <a class="qindex" href="#index_e">e</a> | <a class="qindex" href="#index_f">f</a> | <a class="qindex" href="#index_h">h</a> | <a class="qindex" href="#index_i">i</a> | <a class="qindex" href="#index_l">l</a> | <a class="qindex" href="#index_m">m</a> | <a class="qindex" href="#index_n">n</a> | <a class="qindex" href="#index_o">o</a> | <a class="qindex" href="#index_p">p</a> | <a class="qindex" href="#index_q">q</a> | <a class="qindex" href="#index_r">r</a> | <a class="qindex" href="#index_s">s</a> | <a class="qindex" href="#index_t">t</a> | <a class="qindex" href="#index_v">v</a> | <a class="qindex" href="#index_w">w</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
-<li>bits_per_sample
-: <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero4">FLAC__FrameHeader</a><li>blocksize
-: <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero0">FLAC__FrameHeader</a></ul>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>capacity_by_order
-: <a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html#FLAC____EntropyCodingMethod__PartitionedRiceContentso2">FLAC__EntropyCodingMethod_PartitionedRiceContents</a><li>channel_assignment
-: <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero3">FLAC__FrameHeader</a><li>channels
-: <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero2">FLAC__FrameHeader</a><li>colors
-: <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo6">FLAC__StreamMetadata_Picture</a><li>contents
-: <a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRice.html#FLAC____EntropyCodingMethod__PartitionedRiceo1">FLAC__EntropyCodingMethod_PartitionedRice</a><li>crc
-: <a class="el" href="structFLAC____FrameFooter.html#FLAC____FrameFootero0">FLAC__FrameFooter</a>, <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero9">FLAC__FrameHeader</a></ul>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
-<li>data
-: <a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao11">FLAC__StreamMetadata</a>, <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo8">FLAC__StreamMetadata_Picture</a>, <a class="el" href="structFLAC____Subframe__Verbatim.html#FLAC____Subframe__Verbatimo0">FLAC__Subframe_Verbatim</a><li>data_length
-: <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo7">FLAC__StreamMetadata_Picture</a><li>depth
-: <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo5">FLAC__StreamMetadata_Picture</a><li>description
-: <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo2">FLAC__StreamMetadata_Picture</a><li>dummy
-: <a class="el" href="structFLAC____StreamMetadata__Padding.html#FLAC____StreamMetadata__Paddingo0">FLAC__StreamMetadata_Padding</a></ul>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
-<li>entropy_coding_method
-: <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo0">FLAC__Subframe_LPC</a>, <a class="el" href="structFLAC____Subframe__Fixed.html#FLAC____Subframe__Fixedo0">FLAC__Subframe_Fixed</a></ul>
-<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
-<li>frame_samples
-: <a class="el" href="structFLAC____StreamMetadata__SeekPoint.html#FLAC____StreamMetadata__SeekPointo2">FLAC__StreamMetadata_SeekPoint</a></ul>
-<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
-<li>height
-: <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo4">FLAC__StreamMetadata_Picture</a></ul>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
-<li>indices
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko6">FLAC__StreamMetadata_CueSheet_Track</a><li>is_cd
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto2">FLAC__StreamMetadata_CueSheet</a><li>is_last
-: <a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html#FLAC_1_1Metadata_1_1SimpleIteratora8">FLAC::Metadata::SimpleIterator</a>, <a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao1">FLAC__StreamMetadata</a><li>isrc
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko2">FLAC__StreamMetadata_CueSheet_Track</a></ul>
-<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
-<li>lead_in
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto1">FLAC__StreamMetadata_CueSheet</a><li>length
-: <a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao2">FLAC__StreamMetadata</a></ul>
-<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
-<li>media_catalog_number
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto0">FLAC__StreamMetadata_CueSheet</a><li>mime_type
-: <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo1">FLAC__StreamMetadata_Picture</a></ul>
-<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
-<li>num_indices
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko5">FLAC__StreamMetadata_CueSheet_Track</a><li>num_tracks
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto3">FLAC__StreamMetadata_CueSheet</a><li>number
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko1">FLAC__StreamMetadata_CueSheet_Track</a>, <a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html#FLAC____StreamMetadata__CueSheet__Indexo1">FLAC__StreamMetadata_CueSheet_Index</a>, <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero8">FLAC__FrameHeader</a><li>number_type
-: <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero5">FLAC__FrameHeader</a></ul>
-<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
-<li>offset
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko0">FLAC__StreamMetadata_CueSheet_Track</a>, <a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html#FLAC____StreamMetadata__CueSheet__Indexo0">FLAC__StreamMetadata_CueSheet_Index</a><li>order
-: <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo1">FLAC__Subframe_LPC</a>, <a class="el" href="structFLAC____Subframe__Fixed.html#FLAC____Subframe__Fixedo1">FLAC__Subframe_Fixed</a>, <a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRice.html#FLAC____EntropyCodingMethod__PartitionedRiceo0">FLAC__EntropyCodingMethod_PartitionedRice</a></ul>
-<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
-<li>parameters
-: <a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html#FLAC____EntropyCodingMethod__PartitionedRiceContentso0">FLAC__EntropyCodingMethod_PartitionedRiceContents</a><li>pre_emphasis
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko4">FLAC__StreamMetadata_CueSheet_Track</a></ul>
-<h3><a class="anchor" name="index_q">- q -</a></h3><ul>
-<li>qlp_coeff
-: <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo4">FLAC__Subframe_LPC</a><li>qlp_coeff_precision
-: <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo2">FLAC__Subframe_LPC</a><li>quantization_level
-: <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo3">FLAC__Subframe_LPC</a></ul>
-<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
-<li>raw_bits
-: <a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html#FLAC____EntropyCodingMethod__PartitionedRiceContentso1">FLAC__EntropyCodingMethod_PartitionedRiceContents</a><li>residual
-: <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo6">FLAC__Subframe_LPC</a>, <a class="el" href="structFLAC____Subframe__Fixed.html#FLAC____Subframe__Fixedo3">FLAC__Subframe_Fixed</a></ul>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
-<li>sample_number
-: <a class="el" href="structFLAC____StreamMetadata__SeekPoint.html#FLAC____StreamMetadata__SeekPointo0">FLAC__StreamMetadata_SeekPoint</a><li>sample_rate
-: <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero1">FLAC__FrameHeader</a><li>stream_offset
-: <a class="el" href="structFLAC____StreamMetadata__SeekPoint.html#FLAC____StreamMetadata__SeekPointo1">FLAC__StreamMetadata_SeekPoint</a></ul>
-<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
-<li>tracks
-: <a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto4">FLAC__StreamMetadata_CueSheet</a><li>type
-: <a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao0">FLAC__StreamMetadata</a>, <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo0">FLAC__StreamMetadata_Picture</a>, <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko3">FLAC__StreamMetadata_CueSheet_Track</a></ul>
-<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
-<li>value
-: <a class="el" href="structFLAC____Subframe__Constant.html#FLAC____Subframe__Constanto0">FLAC__Subframe_Constant</a></ul>
-<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
-<li>warmup
-: <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo5">FLAC__Subframe_LPC</a>, <a class="el" href="structFLAC____Subframe__Fixed.html#FLAC____Subframe__Fixedo2">FLAC__Subframe_Fixed</a><li>width
-: <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo3">FLAC__StreamMetadata_Picture</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/globals.html b/3rdparty/libflac/doc/html/api/globals.html
deleted file mode 100644
index 7f7618b8dbb..00000000000
--- a/3rdparty/libflac/doc/html/api/globals.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumeration&nbsp;values</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindexHL" href="globals.html#index_c">c</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a></div>
-
-<p>
-Here is a list of all documented file members with links to the documentation:
-<p>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>clone()
-: <a class="el" href="group__flacpp__metadata__object.html#ga0">metadata.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/globals_0x66.html b/3rdparty/libflac/doc/html/api/globals_0x66.html
deleted file mode 100644
index 41eb2a23a29..00000000000
--- a/3rdparty/libflac/doc/html/api/globals_0x66.html
+++ /dev/null
@@ -1,529 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumeration&nbsp;values</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_c">c</a> | <a class="qindexHL" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a></div>
-
-<p>
-Here is a list of all documented file members with links to the documentation:
-<p>
-<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
-<li>FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT
-: <a class="el" href="group__flac__format.html#gga111a106">format.h</a><li>FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE
-: <a class="el" href="group__flac__format.html#gga111a107">format.h</a><li>FLAC__CHANNEL_ASSIGNMENT_MID_SIDE
-: <a class="el" href="group__flac__format.html#gga111a109">format.h</a><li>FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE
-: <a class="el" href="group__flac__format.html#gga111a108">format.h</a><li>FLAC__ChannelAssignment
-: <a class="el" href="group__flac__format.html#ga111">format.h</a><li>FLAC__ChannelAssignmentString
-: <a class="el" href="group__flac__format.html#ga23">format.h</a><li>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE
-: <a class="el" href="group__flac__format.html#gga109a100">format.h</a><li>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2
-: <a class="el" href="group__flac__format.html#gga109a101">format.h</a><li>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER
-: <a class="el" href="group__flac__format.html#ga11">format.h</a><li>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN
-: <a class="el" href="group__flac__format.html#ga8">format.h</a><li>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER
-: <a class="el" href="group__flac__format.html#ga10">format.h</a><li>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN
-: <a class="el" href="group__flac__format.html#ga6">format.h</a><li>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN
-: <a class="el" href="group__flac__format.html#ga7">format.h</a><li>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN
-: <a class="el" href="group__flac__format.html#ga9">format.h</a><li>FLAC__ENTROPY_CODING_METHOD_TYPE_LEN
-: <a class="el" href="group__flac__format.html#ga12">format.h</a><li>FLAC__EntropyCodingMethodType
-: <a class="el" href="group__flac__format.html#ga109">format.h</a><li>FLAC__EntropyCodingMethodTypeString
-: <a class="el" href="group__flac__format.html#ga5">format.h</a><li>FLAC__format_cuesheet_is_legal()
-: <a class="el" href="group__flac__format.html#ga87">format.h</a><li>FLAC__format_picture_is_legal()
-: <a class="el" href="group__flac__format.html#ga88">format.h</a><li>FLAC__format_sample_rate_is_subset()
-: <a class="el" href="group__flac__format.html#ga81">format.h</a><li>FLAC__format_sample_rate_is_valid()
-: <a class="el" href="group__flac__format.html#ga80">format.h</a><li>FLAC__format_seektable_is_legal()
-: <a class="el" href="group__flac__format.html#ga85">format.h</a><li>FLAC__format_seektable_sort()
-: <a class="el" href="group__flac__format.html#ga86">format.h</a><li>FLAC__format_vorbiscomment_entry_is_legal()
-: <a class="el" href="group__flac__format.html#ga84">format.h</a><li>FLAC__format_vorbiscomment_entry_name_is_legal()
-: <a class="el" href="group__flac__format.html#ga82">format.h</a><li>FLAC__format_vorbiscomment_entry_value_is_legal()
-: <a class="el" href="group__flac__format.html#ga83">format.h</a><li>FLAC__FRAME_FOOTER_CRC_LEN
-: <a class="el" href="group__flac__format.html#ga35">format.h</a><li>FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN
-: <a class="el" href="group__flac__format.html#ga32">format.h</a><li>FLAC__FRAME_HEADER_BLOCK_SIZE_LEN
-: <a class="el" href="group__flac__format.html#ga29">format.h</a><li>FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN
-: <a class="el" href="group__flac__format.html#ga28">format.h</a><li>FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN
-: <a class="el" href="group__flac__format.html#ga31">format.h</a><li>FLAC__FRAME_HEADER_CRC_LEN
-: <a class="el" href="group__flac__format.html#ga34">format.h</a><li>FLAC__FRAME_HEADER_RESERVED_LEN
-: <a class="el" href="group__flac__format.html#ga27">format.h</a><li>FLAC__FRAME_HEADER_SAMPLE_RATE_LEN
-: <a class="el" href="group__flac__format.html#ga30">format.h</a><li>FLAC__FRAME_HEADER_SYNC
-: <a class="el" href="group__flac__format.html#ga25">format.h</a><li>FLAC__FRAME_HEADER_SYNC_LEN
-: <a class="el" href="group__flac__format.html#ga26">format.h</a><li>FLAC__FRAME_HEADER_ZERO_PAD_LEN
-: <a class="el" href="group__flac__format.html#ga33">format.h</a><li>FLAC__FRAME_NUMBER_TYPE_FRAME_NUMBER
-: <a class="el" href="group__flac__format.html#gga112a110">format.h</a><li>FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER
-: <a class="el" href="group__flac__format.html#gga112a111">format.h</a><li>FLAC__FrameNumberType
-: <a class="el" href="group__flac__format.html#ga112">format.h</a><li>FLAC__FrameNumberTypeString
-: <a class="el" href="group__flac__format.html#ga24">format.h</a><li>FLAC__IOCallback_Close
-: <a class="el" href="group__flac__callbacks.html#ga6">callback.h</a><li>FLAC__IOCallback_Eof
-: <a class="el" href="group__flac__callbacks.html#ga5">callback.h</a><li>FLAC__IOCallback_Read
-: <a class="el" href="group__flac__callbacks.html#ga1">callback.h</a><li>FLAC__IOCallback_Seek
-: <a class="el" href="group__flac__callbacks.html#ga3">callback.h</a><li>FLAC__IOCallback_Tell
-: <a class="el" href="group__flac__callbacks.html#ga4">callback.h</a><li>FLAC__IOCallback_Write
-: <a class="el" href="group__flac__callbacks.html#ga2">callback.h</a><li>FLAC__IOHandle
-: <a class="el" href="group__flac__callbacks.html#ga0">callback.h</a><li>FLAC__MAX_BITS_PER_SAMPLE
-: <a class="el" href="group__flac__format.html#ga95">format.h</a><li>FLAC__MAX_BLOCK_SIZE
-: <a class="el" href="group__flac__format.html#ga91">format.h</a><li>FLAC__MAX_CHANNELS
-: <a class="el" href="group__flac__format.html#ga93">format.h</a><li>FLAC__MAX_FIXED_ORDER
-: <a class="el" href="group__flac__format.html#ga102">format.h</a><li>FLAC__MAX_LPC_ORDER
-: <a class="el" href="group__flac__format.html#ga98">format.h</a><li>FLAC__MAX_METADATA_TYPE_CODE
-: <a class="el" href="group__flac__format.html#ga89">format.h</a><li>FLAC__MAX_QLP_COEFF_PRECISION
-: <a class="el" href="group__flac__format.html#ga101">format.h</a><li>FLAC__MAX_RICE_PARTITION_ORDER
-: <a class="el" href="group__flac__format.html#ga103">format.h</a><li>FLAC__MAX_SAMPLE_RATE
-: <a class="el" href="group__flac__format.html#ga97">format.h</a><li>FLAC__Metadata_Chain
-: <a class="el" href="group__flac__metadata__level2.html#ga0">metadata.h</a><li>FLAC__metadata_chain_check_if_tempfile_needed()
-: <a class="el" href="group__flac__metadata__level2.html#ga10">metadata.h</a><li>FLAC__metadata_chain_delete()
-: <a class="el" href="group__flac__metadata__level2.html#ga4">metadata.h</a><li>FLAC__metadata_chain_merge_padding()
-: <a class="el" href="group__flac__metadata__level2.html#ga14">metadata.h</a><li>FLAC__metadata_chain_new()
-: <a class="el" href="group__flac__metadata__level2.html#ga3">metadata.h</a><li>FLAC__metadata_chain_read()
-: <a class="el" href="group__flac__metadata__level2.html#ga6">metadata.h</a><li>FLAC__metadata_chain_read_ogg()
-: <a class="el" href="group__flac__metadata__level2.html#ga7">metadata.h</a><li>FLAC__metadata_chain_read_ogg_with_callbacks()
-: <a class="el" href="group__flac__metadata__level2.html#ga9">metadata.h</a><li>FLAC__metadata_chain_read_with_callbacks()
-: <a class="el" href="group__flac__metadata__level2.html#ga8">metadata.h</a><li>FLAC__metadata_chain_sort_padding()
-: <a class="el" href="group__flac__metadata__level2.html#ga15">metadata.h</a><li>FLAC__metadata_chain_status()
-: <a class="el" href="group__flac__metadata__level2.html#ga5">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_BAD_METADATA
-: <a class="el" href="group__flac__metadata__level2.html#gga27a23">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE
-: <a class="el" href="group__flac__metadata__level2.html#gga27a20">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_ILLEGAL_INPUT
-: <a class="el" href="group__flac__metadata__level2.html#gga27a19">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_INTERNAL_ERROR
-: <a class="el" href="group__flac__metadata__level2.html#gga27a30">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_INVALID_CALLBACKS
-: <a class="el" href="group__flac__metadata__level2.html#gga27a31">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_MEMORY_ALLOCATION_ERROR
-: <a class="el" href="group__flac__metadata__level2.html#gga27a29">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_NOT_A_FLAC_FILE
-: <a class="el" href="group__flac__metadata__level2.html#gga27a21">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_NOT_WRITABLE
-: <a class="el" href="group__flac__metadata__level2.html#gga27a22">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_OK
-: <a class="el" href="group__flac__metadata__level2.html#gga27a18">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_READ_ERROR
-: <a class="el" href="group__flac__metadata__level2.html#gga27a24">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_READ_WRITE_MISMATCH
-: <a class="el" href="group__flac__metadata__level2.html#gga27a32">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_RENAME_ERROR
-: <a class="el" href="group__flac__metadata__level2.html#gga27a27">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_SEEK_ERROR
-: <a class="el" href="group__flac__metadata__level2.html#gga27a25">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_UNLINK_ERROR
-: <a class="el" href="group__flac__metadata__level2.html#gga27a28">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_WRITE_ERROR
-: <a class="el" href="group__flac__metadata__level2.html#gga27a26">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_WRONG_WRITE_CALL
-: <a class="el" href="group__flac__metadata__level2.html#gga27a33">metadata.h</a><li>FLAC__metadata_chain_write()
-: <a class="el" href="group__flac__metadata__level2.html#ga11">metadata.h</a><li>FLAC__metadata_chain_write_with_callbacks()
-: <a class="el" href="group__flac__metadata__level2.html#ga12">metadata.h</a><li>FLAC__metadata_chain_write_with_callbacks_and_tempfile()
-: <a class="el" href="group__flac__metadata__level2.html#ga13">metadata.h</a><li>FLAC__Metadata_ChainStatus
-: <a class="el" href="group__flac__metadata__level2.html#ga27">metadata.h</a><li>FLAC__Metadata_ChainStatusString
-: <a class="el" href="group__flac__metadata__level2.html#ga2">metadata.h</a><li>FLAC__metadata_get_cuesheet()
-: <a class="el" href="group__flac__metadata__level0.html#ga2">metadata.h</a><li>FLAC__metadata_get_picture()
-: <a class="el" href="group__flac__metadata__level0.html#ga3">metadata.h</a><li>FLAC__metadata_get_streaminfo()
-: <a class="el" href="group__flac__metadata__level0.html#ga0">metadata.h</a><li>FLAC__metadata_get_tags()
-: <a class="el" href="group__flac__metadata__level0.html#ga1">metadata.h</a><li>FLAC__Metadata_Iterator
-: <a class="el" href="group__flac__metadata__level2.html#ga1">metadata.h</a><li>FLAC__metadata_iterator_delete()
-: <a class="el" href="group__flac__metadata__level2.html#ga17">metadata.h</a><li>FLAC__metadata_iterator_delete_block()
-: <a class="el" href="group__flac__metadata__level2.html#ga24">metadata.h</a><li>FLAC__metadata_iterator_get_block()
-: <a class="el" href="group__flac__metadata__level2.html#ga22">metadata.h</a><li>FLAC__metadata_iterator_get_block_type()
-: <a class="el" href="group__flac__metadata__level2.html#ga21">metadata.h</a><li>FLAC__metadata_iterator_init()
-: <a class="el" href="group__flac__metadata__level2.html#ga18">metadata.h</a><li>FLAC__metadata_iterator_insert_block_after()
-: <a class="el" href="group__flac__metadata__level2.html#ga26">metadata.h</a><li>FLAC__metadata_iterator_insert_block_before()
-: <a class="el" href="group__flac__metadata__level2.html#ga25">metadata.h</a><li>FLAC__metadata_iterator_new()
-: <a class="el" href="group__flac__metadata__level2.html#ga16">metadata.h</a><li>FLAC__metadata_iterator_next()
-: <a class="el" href="group__flac__metadata__level2.html#ga19">metadata.h</a><li>FLAC__metadata_iterator_prev()
-: <a class="el" href="group__flac__metadata__level2.html#ga20">metadata.h</a><li>FLAC__metadata_iterator_set_block()
-: <a class="el" href="group__flac__metadata__level2.html#ga23">metadata.h</a><li>FLAC__metadata_object_application_set_data()
-: <a class="el" href="group__flac__metadata__object.html#ga4">metadata.h</a><li>FLAC__metadata_object_clone()
-: <a class="el" href="group__flac__metadata__object.html#ga1">metadata.h</a><li>FLAC__metadata_object_cuesheet_calculate_cddb_id()
-: <a class="el" href="group__flac__metadata__object.html#ga41">metadata.h</a><li>FLAC__metadata_object_cuesheet_delete_track()
-: <a class="el" href="group__flac__metadata__object.html#ga39">metadata.h</a><li>FLAC__metadata_object_cuesheet_insert_blank_track()
-: <a class="el" href="group__flac__metadata__object.html#ga38">metadata.h</a><li>FLAC__metadata_object_cuesheet_insert_track()
-: <a class="el" href="group__flac__metadata__object.html#ga37">metadata.h</a><li>FLAC__metadata_object_cuesheet_is_legal()
-: <a class="el" href="group__flac__metadata__object.html#ga40">metadata.h</a><li>FLAC__metadata_object_cuesheet_resize_tracks()
-: <a class="el" href="group__flac__metadata__object.html#ga36">metadata.h</a><li>FLAC__metadata_object_cuesheet_track_clone()
-: <a class="el" href="group__flac__metadata__object.html#ga30">metadata.h</a><li>FLAC__metadata_object_cuesheet_track_delete()
-: <a class="el" href="group__flac__metadata__object.html#ga31">metadata.h</a><li>FLAC__metadata_object_cuesheet_track_delete_index()
-: <a class="el" href="group__flac__metadata__object.html#ga35">metadata.h</a><li>FLAC__metadata_object_cuesheet_track_insert_blank_index()
-: <a class="el" href="group__flac__metadata__object.html#ga34">metadata.h</a><li>FLAC__metadata_object_cuesheet_track_insert_index()
-: <a class="el" href="group__flac__metadata__object.html#ga33">metadata.h</a><li>FLAC__metadata_object_cuesheet_track_new()
-: <a class="el" href="group__flac__metadata__object.html#ga29">metadata.h</a><li>FLAC__metadata_object_cuesheet_track_resize_indices()
-: <a class="el" href="group__flac__metadata__object.html#ga32">metadata.h</a><li>FLAC__metadata_object_delete()
-: <a class="el" href="group__flac__metadata__object.html#ga2">metadata.h</a><li>FLAC__metadata_object_is_equal()
-: <a class="el" href="group__flac__metadata__object.html#ga3">metadata.h</a><li>FLAC__metadata_object_new()
-: <a class="el" href="group__flac__metadata__object.html#ga0">metadata.h</a><li>FLAC__metadata_object_picture_is_legal()
-: <a class="el" href="group__flac__metadata__object.html#ga45">metadata.h</a><li>FLAC__metadata_object_picture_set_data()
-: <a class="el" href="group__flac__metadata__object.html#ga44">metadata.h</a><li>FLAC__metadata_object_picture_set_description()
-: <a class="el" href="group__flac__metadata__object.html#ga43">metadata.h</a><li>FLAC__metadata_object_picture_set_mime_type()
-: <a class="el" href="group__flac__metadata__object.html#ga42">metadata.h</a><li>FLAC__metadata_object_seektable_delete_point()
-: <a class="el" href="group__flac__metadata__object.html#ga8">metadata.h</a><li>FLAC__metadata_object_seektable_insert_point()
-: <a class="el" href="group__flac__metadata__object.html#ga7">metadata.h</a><li>FLAC__metadata_object_seektable_is_legal()
-: <a class="el" href="group__flac__metadata__object.html#ga9">metadata.h</a><li>FLAC__metadata_object_seektable_resize_points()
-: <a class="el" href="group__flac__metadata__object.html#ga5">metadata.h</a><li>FLAC__metadata_object_seektable_set_point()
-: <a class="el" href="group__flac__metadata__object.html#ga6">metadata.h</a><li>FLAC__metadata_object_seektable_template_append_placeholders()
-: <a class="el" href="group__flac__metadata__object.html#ga10">metadata.h</a><li>FLAC__metadata_object_seektable_template_append_point()
-: <a class="el" href="group__flac__metadata__object.html#ga11">metadata.h</a><li>FLAC__metadata_object_seektable_template_append_points()
-: <a class="el" href="group__flac__metadata__object.html#ga12">metadata.h</a><li>FLAC__metadata_object_seektable_template_append_spaced_points()
-: <a class="el" href="group__flac__metadata__object.html#ga13">metadata.h</a><li>FLAC__metadata_object_seektable_template_append_spaced_points_by_samples()
-: <a class="el" href="group__flac__metadata__object.html#ga14">metadata.h</a><li>FLAC__metadata_object_seektable_template_sort()
-: <a class="el" href="group__flac__metadata__object.html#ga15">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_append_comment()
-: <a class="el" href="group__flac__metadata__object.html#ga20">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_delete_comment()
-: <a class="el" href="group__flac__metadata__object.html#ga22">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair()
-: <a class="el" href="group__flac__metadata__object.html#ga23">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_entry_matches()
-: <a class="el" href="group__flac__metadata__object.html#ga25">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair()
-: <a class="el" href="group__flac__metadata__object.html#ga24">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_find_entry_from()
-: <a class="el" href="group__flac__metadata__object.html#ga26">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_insert_comment()
-: <a class="el" href="group__flac__metadata__object.html#ga19">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_remove_entries_matching()
-: <a class="el" href="group__flac__metadata__object.html#ga28">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_remove_entry_matching()
-: <a class="el" href="group__flac__metadata__object.html#ga27">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_replace_comment()
-: <a class="el" href="group__flac__metadata__object.html#ga21">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_resize_comments()
-: <a class="el" href="group__flac__metadata__object.html#ga17">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_set_comment()
-: <a class="el" href="group__flac__metadata__object.html#ga18">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_set_vendor_string()
-: <a class="el" href="group__flac__metadata__object.html#ga16">metadata.h</a><li>FLAC__metadata_simple_iterator_delete()
-: <a class="el" href="group__flac__metadata__level1.html#ga3">metadata.h</a><li>FLAC__metadata_simple_iterator_delete_block()
-: <a class="el" href="group__flac__metadata__level1.html#ga17">metadata.h</a><li>FLAC__metadata_simple_iterator_get_application_id()
-: <a class="el" href="group__flac__metadata__level1.html#ga13">metadata.h</a><li>FLAC__metadata_simple_iterator_get_block()
-: <a class="el" href="group__flac__metadata__level1.html#ga14">metadata.h</a><li>FLAC__metadata_simple_iterator_get_block_length()
-: <a class="el" href="group__flac__metadata__level1.html#ga12">metadata.h</a><li>FLAC__metadata_simple_iterator_get_block_offset()
-: <a class="el" href="group__flac__metadata__level1.html#ga10">metadata.h</a><li>FLAC__metadata_simple_iterator_get_block_type()
-: <a class="el" href="group__flac__metadata__level1.html#ga11">metadata.h</a><li>FLAC__metadata_simple_iterator_init()
-: <a class="el" href="group__flac__metadata__level1.html#ga5">metadata.h</a><li>FLAC__metadata_simple_iterator_insert_block_after()
-: <a class="el" href="group__flac__metadata__level1.html#ga16">metadata.h</a><li>FLAC__metadata_simple_iterator_is_last()
-: <a class="el" href="group__flac__metadata__level1.html#ga9">metadata.h</a><li>FLAC__metadata_simple_iterator_is_writable()
-: <a class="el" href="group__flac__metadata__level1.html#ga6">metadata.h</a><li>FLAC__metadata_simple_iterator_new()
-: <a class="el" href="group__flac__metadata__level1.html#ga2">metadata.h</a><li>FLAC__metadata_simple_iterator_next()
-: <a class="el" href="group__flac__metadata__level1.html#ga7">metadata.h</a><li>FLAC__metadata_simple_iterator_prev()
-: <a class="el" href="group__flac__metadata__level1.html#ga8">metadata.h</a><li>FLAC__metadata_simple_iterator_set_block()
-: <a class="el" href="group__flac__metadata__level1.html#ga15">metadata.h</a><li>FLAC__metadata_simple_iterator_status()
-: <a class="el" href="group__flac__metadata__level1.html#ga4">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA
-: <a class="el" href="group__flac__metadata__level1.html#gga18a10">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE
-: <a class="el" href="group__flac__metadata__level1.html#gga18a7">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT
-: <a class="el" href="group__flac__metadata__level1.html#gga18a6">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_INTERNAL_ERROR
-: <a class="el" href="group__flac__metadata__level1.html#gga18a17">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR
-: <a class="el" href="group__flac__metadata__level1.html#gga18a16">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_A_FLAC_FILE
-: <a class="el" href="group__flac__metadata__level1.html#gga18a8">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_WRITABLE
-: <a class="el" href="group__flac__metadata__level1.html#gga18a9">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK
-: <a class="el" href="group__flac__metadata__level1.html#gga18a5">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR
-: <a class="el" href="group__flac__metadata__level1.html#gga18a11">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_RENAME_ERROR
-: <a class="el" href="group__flac__metadata__level1.html#gga18a14">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR
-: <a class="el" href="group__flac__metadata__level1.html#gga18a12">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_UNLINK_ERROR
-: <a class="el" href="group__flac__metadata__level1.html#gga18a15">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_WRITE_ERROR
-: <a class="el" href="group__flac__metadata__level1.html#gga18a13">metadata.h</a><li>FLAC__Metadata_SimpleIterator
-: <a class="el" href="group__flac__metadata__level1.html#ga0">metadata.h</a><li>FLAC__Metadata_SimpleIteratorStatus
-: <a class="el" href="group__flac__metadata__level1.html#ga18">metadata.h</a><li>FLAC__Metadata_SimpleIteratorStatusString
-: <a class="el" href="group__flac__metadata__level1.html#ga1">metadata.h</a><li>FLAC__METADATA_TYPE_APPLICATION
-: <a class="el" href="group__flac__format.html#gga113a114">format.h</a><li>FLAC__METADATA_TYPE_CUESHEET
-: <a class="el" href="group__flac__format.html#gga113a117">format.h</a><li>FLAC__METADATA_TYPE_PADDING
-: <a class="el" href="group__flac__format.html#gga113a113">format.h</a><li>FLAC__METADATA_TYPE_PICTURE
-: <a class="el" href="group__flac__format.html#gga113a118">format.h</a><li>FLAC__METADATA_TYPE_SEEKTABLE
-: <a class="el" href="group__flac__format.html#gga113a115">format.h</a><li>FLAC__METADATA_TYPE_STREAMINFO
-: <a class="el" href="group__flac__format.html#gga113a112">format.h</a><li>FLAC__METADATA_TYPE_UNDEFINED
-: <a class="el" href="group__flac__format.html#gga113a119">format.h</a><li>FLAC__METADATA_TYPE_VORBIS_COMMENT
-: <a class="el" href="group__flac__format.html#gga113a116">format.h</a><li>FLAC__MetadataType
-: <a class="el" href="group__flac__format.html#ga113">format.h</a><li>FLAC__MetadataTypeString
-: <a class="el" href="group__flac__format.html#ga36">format.h</a><li>FLAC__MIN_BITS_PER_SAMPLE
-: <a class="el" href="group__flac__format.html#ga94">format.h</a><li>FLAC__MIN_BLOCK_SIZE
-: <a class="el" href="group__flac__format.html#ga90">format.h</a><li>FLAC__MIN_QLP_COEFF_PRECISION
-: <a class="el" href="group__flac__format.html#ga100">format.h</a><li>FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE
-: <a class="el" href="group__flac__format.html#ga96">format.h</a><li>FLAC__STREAM_DECODER_ABORTED
-: <a class="el" href="group__flac__stream__decoder.html#gga50a23">stream_decoder.h</a><li>FLAC__stream_decoder_delete()
-: <a class="el" href="group__flac__stream__decoder.html#ga17">stream_decoder.h</a><li>FLAC__STREAM_DECODER_END_OF_STREAM
-: <a class="el" href="group__flac__stream__decoder.html#gga50a20">stream_decoder.h</a><li>FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER
-: <a class="el" href="group__flac__stream__decoder.html#gga57a47">stream_decoder.h</a><li>FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH
-: <a class="el" href="group__flac__stream__decoder.html#gga57a48">stream_decoder.h</a><li>FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC
-: <a class="el" href="group__flac__stream__decoder.html#gga57a46">stream_decoder.h</a><li>FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM
-: <a class="el" href="group__flac__stream__decoder.html#gga57a49">stream_decoder.h</a><li>FLAC__stream_decoder_finish()
-: <a class="el" href="group__flac__stream__decoder.html#ga42">stream_decoder.h</a><li>FLAC__stream_decoder_flush()
-: <a class="el" href="group__flac__stream__decoder.html#ga43">stream_decoder.h</a><li>FLAC__stream_decoder_get_bits_per_sample()
-: <a class="el" href="group__flac__stream__decoder.html#ga32">stream_decoder.h</a><li>FLAC__stream_decoder_get_blocksize()
-: <a class="el" href="group__flac__stream__decoder.html#ga34">stream_decoder.h</a><li>FLAC__stream_decoder_get_channel_assignment()
-: <a class="el" href="group__flac__stream__decoder.html#ga31">stream_decoder.h</a><li>FLAC__stream_decoder_get_channels()
-: <a class="el" href="group__flac__stream__decoder.html#ga30">stream_decoder.h</a><li>FLAC__stream_decoder_get_decode_position()
-: <a class="el" href="group__flac__stream__decoder.html#ga35">stream_decoder.h</a><li>FLAC__stream_decoder_get_md5_checking()
-: <a class="el" href="group__flac__stream__decoder.html#ga28">stream_decoder.h</a><li>FLAC__stream_decoder_get_resolved_state_string()
-: <a class="el" href="group__flac__stream__decoder.html#ga27">stream_decoder.h</a><li>FLAC__stream_decoder_get_sample_rate()
-: <a class="el" href="group__flac__stream__decoder.html#ga33">stream_decoder.h</a><li>FLAC__stream_decoder_get_state()
-: <a class="el" href="group__flac__stream__decoder.html#ga26">stream_decoder.h</a><li>FLAC__stream_decoder_get_total_samples()
-: <a class="el" href="group__flac__stream__decoder.html#ga29">stream_decoder.h</a><li>FLAC__stream_decoder_init_FILE()
-: <a class="el" href="group__flac__stream__decoder.html#ga38">stream_decoder.h</a><li>FLAC__stream_decoder_init_file()
-: <a class="el" href="group__flac__stream__decoder.html#ga40">stream_decoder.h</a><li>FLAC__stream_decoder_init_ogg_file()
-: <a class="el" href="group__flac__stream__decoder.html#ga41">stream_decoder.h</a><li>FLAC__stream_decoder_init_ogg_FILE()
-: <a class="el" href="group__flac__stream__decoder.html#ga39">stream_decoder.h</a><li>FLAC__stream_decoder_init_ogg_stream()
-: <a class="el" href="group__flac__stream__decoder.html#ga37">stream_decoder.h</a><li>FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED
-: <a class="el" href="group__flac__stream__decoder.html#gga51a31">stream_decoder.h</a><li>FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FILE
-: <a class="el" href="group__flac__stream__decoder.html#gga51a30">stream_decoder.h</a><li>FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS
-: <a class="el" href="group__flac__stream__decoder.html#gga51a28">stream_decoder.h</a><li>FLAC__STREAM_DECODER_INIT_STATUS_MEMORY_ALLOCATION_ERROR
-: <a class="el" href="group__flac__stream__decoder.html#gga51a29">stream_decoder.h</a><li>FLAC__STREAM_DECODER_INIT_STATUS_OK
-: <a class="el" href="group__flac__stream__decoder.html#gga51a26">stream_decoder.h</a><li>FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER
-: <a class="el" href="group__flac__stream__decoder.html#gga51a27">stream_decoder.h</a><li>FLAC__stream_decoder_init_stream()
-: <a class="el" href="group__flac__stream__decoder.html#ga36">stream_decoder.h</a><li>FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR
-: <a class="el" href="group__flac__stream__decoder.html#gga55a42">stream_decoder.h</a><li>FLAC__STREAM_DECODER_LENGTH_STATUS_OK
-: <a class="el" href="group__flac__stream__decoder.html#gga55a41">stream_decoder.h</a><li>FLAC__STREAM_DECODER_LENGTH_STATUS_UNSUPPORTED
-: <a class="el" href="group__flac__stream__decoder.html#gga55a43">stream_decoder.h</a><li>FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR
-: <a class="el" href="group__flac__stream__decoder.html#gga50a24">stream_decoder.h</a><li>FLAC__stream_decoder_new()
-: <a class="el" href="group__flac__stream__decoder.html#ga16">stream_decoder.h</a><li>FLAC__STREAM_DECODER_OGG_ERROR
-: <a class="el" href="group__flac__stream__decoder.html#gga50a21">stream_decoder.h</a><li>FLAC__stream_decoder_process_single()
-: <a class="el" href="group__flac__stream__decoder.html#ga45">stream_decoder.h</a><li>FLAC__stream_decoder_process_until_end_of_metadata()
-: <a class="el" href="group__flac__stream__decoder.html#ga46">stream_decoder.h</a><li>FLAC__stream_decoder_process_until_end_of_stream()
-: <a class="el" href="group__flac__stream__decoder.html#ga47">stream_decoder.h</a><li>FLAC__STREAM_DECODER_READ_FRAME
-: <a class="el" href="group__flac__stream__decoder.html#gga50a19">stream_decoder.h</a><li>FLAC__STREAM_DECODER_READ_METADATA
-: <a class="el" href="group__flac__stream__decoder.html#gga50a17">stream_decoder.h</a><li>FLAC__STREAM_DECODER_READ_STATUS_ABORT
-: <a class="el" href="group__flac__stream__decoder.html#gga52a34">stream_decoder.h</a><li>FLAC__STREAM_DECODER_READ_STATUS_CONTINUE
-: <a class="el" href="group__flac__stream__decoder.html#gga52a32">stream_decoder.h</a><li>FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM
-: <a class="el" href="group__flac__stream__decoder.html#gga52a33">stream_decoder.h</a><li>FLAC__stream_decoder_reset()
-: <a class="el" href="group__flac__stream__decoder.html#ga44">stream_decoder.h</a><li>FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC
-: <a class="el" href="group__flac__stream__decoder.html#gga50a18">stream_decoder.h</a><li>FLAC__STREAM_DECODER_SEARCH_FOR_METADATA
-: <a class="el" href="group__flac__stream__decoder.html#gga50a16">stream_decoder.h</a><li>FLAC__stream_decoder_seek_absolute()
-: <a class="el" href="group__flac__stream__decoder.html#ga49">stream_decoder.h</a><li>FLAC__STREAM_DECODER_SEEK_ERROR
-: <a class="el" href="group__flac__stream__decoder.html#gga50a22">stream_decoder.h</a><li>FLAC__STREAM_DECODER_SEEK_STATUS_ERROR
-: <a class="el" href="group__flac__stream__decoder.html#gga53a36">stream_decoder.h</a><li>FLAC__STREAM_DECODER_SEEK_STATUS_OK
-: <a class="el" href="group__flac__stream__decoder.html#gga53a35">stream_decoder.h</a><li>FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED
-: <a class="el" href="group__flac__stream__decoder.html#gga53a37">stream_decoder.h</a><li>FLAC__stream_decoder_set_md5_checking()
-: <a class="el" href="group__flac__stream__decoder.html#ga19">stream_decoder.h</a><li>FLAC__stream_decoder_set_metadata_ignore()
-: <a class="el" href="group__flac__stream__decoder.html#ga23">stream_decoder.h</a><li>FLAC__stream_decoder_set_metadata_ignore_all()
-: <a class="el" href="group__flac__stream__decoder.html#ga25">stream_decoder.h</a><li>FLAC__stream_decoder_set_metadata_ignore_application()
-: <a class="el" href="group__flac__stream__decoder.html#ga24">stream_decoder.h</a><li>FLAC__stream_decoder_set_metadata_respond()
-: <a class="el" href="group__flac__stream__decoder.html#ga20">stream_decoder.h</a><li>FLAC__stream_decoder_set_metadata_respond_all()
-: <a class="el" href="group__flac__stream__decoder.html#ga22">stream_decoder.h</a><li>FLAC__stream_decoder_set_metadata_respond_application()
-: <a class="el" href="group__flac__stream__decoder.html#ga21">stream_decoder.h</a><li>FLAC__stream_decoder_set_ogg_serial_number()
-: <a class="el" href="group__flac__stream__decoder.html#ga18">stream_decoder.h</a><li>FLAC__stream_decoder_skip_single_frame()
-: <a class="el" href="group__flac__stream__decoder.html#ga48">stream_decoder.h</a><li>FLAC__STREAM_DECODER_TELL_STATUS_ERROR
-: <a class="el" href="group__flac__stream__decoder.html#gga54a39">stream_decoder.h</a><li>FLAC__STREAM_DECODER_TELL_STATUS_OK
-: <a class="el" href="group__flac__stream__decoder.html#gga54a38">stream_decoder.h</a><li>FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED
-: <a class="el" href="group__flac__stream__decoder.html#gga54a40">stream_decoder.h</a><li>FLAC__STREAM_DECODER_UNINITIALIZED
-: <a class="el" href="group__flac__stream__decoder.html#gga50a25">stream_decoder.h</a><li>FLAC__STREAM_DECODER_WRITE_STATUS_ABORT
-: <a class="el" href="group__flac__stream__decoder.html#gga56a45">stream_decoder.h</a><li>FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE
-: <a class="el" href="group__flac__stream__decoder.html#gga56a44">stream_decoder.h</a><li>FLAC__STREAM_ENCODER_CLIENT_ERROR
-: <a class="el" href="group__flac__stream__encoder.html#gga65a17">stream_encoder.h</a><li>FLAC__stream_encoder_delete()
-: <a class="el" href="group__flac__stream__encoder.html#ga13">stream_encoder.h</a><li>FLAC__stream_encoder_finish()
-: <a class="el" href="group__flac__stream__encoder.html#ga62">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_FRAMING_ERROR
-: <a class="el" href="group__flac__stream__encoder.html#gga65a19">stream_encoder.h</a><li>FLAC__stream_encoder_get_bits_per_sample()
-: <a class="el" href="group__flac__stream__encoder.html#ga42">stream_encoder.h</a><li>FLAC__stream_encoder_get_blocksize()
-: <a class="el" href="group__flac__stream__encoder.html#ga44">stream_encoder.h</a><li>FLAC__stream_encoder_get_channels()
-: <a class="el" href="group__flac__stream__encoder.html#ga41">stream_encoder.h</a><li>FLAC__stream_encoder_get_do_escape_coding()
-: <a class="el" href="group__flac__stream__encoder.html#ga50">stream_encoder.h</a><li>FLAC__stream_encoder_get_do_exhaustive_model_search()
-: <a class="el" href="group__flac__stream__encoder.html#ga51">stream_encoder.h</a><li>FLAC__stream_encoder_get_do_mid_side_stereo()
-: <a class="el" href="group__flac__stream__encoder.html#ga45">stream_encoder.h</a><li>FLAC__stream_encoder_get_do_qlp_coeff_prec_search()
-: <a class="el" href="group__flac__stream__encoder.html#ga49">stream_encoder.h</a><li>FLAC__stream_encoder_get_loose_mid_side_stereo()
-: <a class="el" href="group__flac__stream__encoder.html#ga46">stream_encoder.h</a><li>FLAC__stream_encoder_get_max_lpc_order()
-: <a class="el" href="group__flac__stream__encoder.html#ga47">stream_encoder.h</a><li>FLAC__stream_encoder_get_max_residual_partition_order()
-: <a class="el" href="group__flac__stream__encoder.html#ga53">stream_encoder.h</a><li>FLAC__stream_encoder_get_min_residual_partition_order()
-: <a class="el" href="group__flac__stream__encoder.html#ga52">stream_encoder.h</a><li>FLAC__stream_encoder_get_qlp_coeff_precision()
-: <a class="el" href="group__flac__stream__encoder.html#ga48">stream_encoder.h</a><li>FLAC__stream_encoder_get_resolved_state_string()
-: <a class="el" href="group__flac__stream__encoder.html#ga37">stream_encoder.h</a><li>FLAC__stream_encoder_get_rice_parameter_search_dist()
-: <a class="el" href="group__flac__stream__encoder.html#ga54">stream_encoder.h</a><li>FLAC__stream_encoder_get_sample_rate()
-: <a class="el" href="group__flac__stream__encoder.html#ga43">stream_encoder.h</a><li>FLAC__stream_encoder_get_state()
-: <a class="el" href="group__flac__stream__encoder.html#ga35">stream_encoder.h</a><li>FLAC__stream_encoder_get_streamable_subset()
-: <a class="el" href="group__flac__stream__encoder.html#ga40">stream_encoder.h</a><li>FLAC__stream_encoder_get_total_samples_estimate()
-: <a class="el" href="group__flac__stream__encoder.html#ga55">stream_encoder.h</a><li>FLAC__stream_encoder_get_verify()
-: <a class="el" href="group__flac__stream__encoder.html#ga39">stream_encoder.h</a><li>FLAC__stream_encoder_get_verify_decoder_error_stats()
-: <a class="el" href="group__flac__stream__encoder.html#ga38">stream_encoder.h</a><li>FLAC__stream_encoder_get_verify_decoder_state()
-: <a class="el" href="group__flac__stream__encoder.html#ga36">stream_encoder.h</a><li>FLAC__stream_encoder_init_FILE()
-: <a class="el" href="group__flac__stream__encoder.html#ga58">stream_encoder.h</a><li>FLAC__stream_encoder_init_file()
-: <a class="el" href="group__flac__stream__encoder.html#ga60">stream_encoder.h</a><li>FLAC__stream_encoder_init_ogg_FILE()
-: <a class="el" href="group__flac__stream__encoder.html#ga59">stream_encoder.h</a><li>FLAC__stream_encoder_init_ogg_file()
-: <a class="el" href="group__flac__stream__encoder.html#ga61">stream_encoder.h</a><li>FLAC__stream_encoder_init_ogg_stream()
-: <a class="el" href="group__flac__stream__encoder.html#ga57">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_ALREADY_INITIALIZED
-: <a class="el" href="group__flac__stream__encoder.html#gga66a34">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_BLOCK_SIZE_TOO_SMALL_FOR_LPC_ORDER
-: <a class="el" href="group__flac__stream__encoder.html#gga66a31">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR
-: <a class="el" href="group__flac__stream__encoder.html#gga66a22">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BITS_PER_SAMPLE
-: <a class="el" href="group__flac__stream__encoder.html#gga66a26">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BLOCK_SIZE
-: <a class="el" href="group__flac__stream__encoder.html#gga66a28">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS
-: <a class="el" href="group__flac__stream__encoder.html#gga66a24">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_MAX_LPC_ORDER
-: <a class="el" href="group__flac__stream__encoder.html#gga66a29">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_METADATA
-: <a class="el" href="group__flac__stream__encoder.html#gga66a33">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_NUMBER_OF_CHANNELS
-: <a class="el" href="group__flac__stream__encoder.html#gga66a25">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_QLP_COEFF_PRECISION
-: <a class="el" href="group__flac__stream__encoder.html#gga66a30">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_SAMPLE_RATE
-: <a class="el" href="group__flac__stream__encoder.html#gga66a27">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE
-: <a class="el" href="group__flac__stream__encoder.html#gga66a32">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_OK
-: <a class="el" href="group__flac__stream__encoder.html#gga66a21">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_UNSUPPORTED_CONTAINER
-: <a class="el" href="group__flac__stream__encoder.html#gga66a23">stream_encoder.h</a><li>FLAC__stream_encoder_init_stream()
-: <a class="el" href="group__flac__stream__encoder.html#ga56">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_IO_ERROR
-: <a class="el" href="group__flac__stream__encoder.html#gga65a18">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR
-: <a class="el" href="group__flac__stream__encoder.html#gga65a20">stream_encoder.h</a><li>FLAC__stream_encoder_new()
-: <a class="el" href="group__flac__stream__encoder.html#ga12">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_OGG_ERROR
-: <a class="el" href="group__flac__stream__encoder.html#gga65a14">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_OK
-: <a class="el" href="group__flac__stream__encoder.html#gga65a12">stream_encoder.h</a><li>FLAC__stream_encoder_process()
-: <a class="el" href="group__flac__stream__encoder.html#ga63">stream_encoder.h</a><li>FLAC__stream_encoder_process_interleaved()
-: <a class="el" href="group__flac__stream__encoder.html#ga64">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_READ_STATUS_ABORT
-: <a class="el" href="group__flac__stream__encoder.html#gga67a37">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_READ_STATUS_CONTINUE
-: <a class="el" href="group__flac__stream__encoder.html#gga67a35">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_READ_STATUS_END_OF_STREAM
-: <a class="el" href="group__flac__stream__encoder.html#gga67a36">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_READ_STATUS_UNSUPPORTED
-: <a class="el" href="group__flac__stream__encoder.html#gga67a38">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR
-: <a class="el" href="group__flac__stream__encoder.html#gga69a42">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_SEEK_STATUS_OK
-: <a class="el" href="group__flac__stream__encoder.html#gga69a41">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_SEEK_STATUS_UNSUPPORTED
-: <a class="el" href="group__flac__stream__encoder.html#gga69a43">stream_encoder.h</a><li>FLAC__stream_encoder_set_apodization()
-: <a class="el" href="group__flac__stream__encoder.html#ga24">stream_encoder.h</a><li>FLAC__stream_encoder_set_bits_per_sample()
-: <a class="el" href="group__flac__stream__encoder.html#ga18">stream_encoder.h</a><li>FLAC__stream_encoder_set_blocksize()
-: <a class="el" href="group__flac__stream__encoder.html#ga21">stream_encoder.h</a><li>FLAC__stream_encoder_set_channels()
-: <a class="el" href="group__flac__stream__encoder.html#ga17">stream_encoder.h</a><li>FLAC__stream_encoder_set_compression_level()
-: <a class="el" href="group__flac__stream__encoder.html#ga20">stream_encoder.h</a><li>FLAC__stream_encoder_set_do_escape_coding()
-: <a class="el" href="group__flac__stream__encoder.html#ga28">stream_encoder.h</a><li>FLAC__stream_encoder_set_do_exhaustive_model_search()
-: <a class="el" href="group__flac__stream__encoder.html#ga29">stream_encoder.h</a><li>FLAC__stream_encoder_set_do_mid_side_stereo()
-: <a class="el" href="group__flac__stream__encoder.html#ga22">stream_encoder.h</a><li>FLAC__stream_encoder_set_do_qlp_coeff_prec_search()
-: <a class="el" href="group__flac__stream__encoder.html#ga27">stream_encoder.h</a><li>FLAC__stream_encoder_set_loose_mid_side_stereo()
-: <a class="el" href="group__flac__stream__encoder.html#ga23">stream_encoder.h</a><li>FLAC__stream_encoder_set_max_lpc_order()
-: <a class="el" href="group__flac__stream__encoder.html#ga25">stream_encoder.h</a><li>FLAC__stream_encoder_set_max_residual_partition_order()
-: <a class="el" href="group__flac__stream__encoder.html#ga31">stream_encoder.h</a><li>FLAC__stream_encoder_set_metadata()
-: <a class="el" href="group__flac__stream__encoder.html#ga34">stream_encoder.h</a><li>FLAC__stream_encoder_set_min_residual_partition_order()
-: <a class="el" href="group__flac__stream__encoder.html#ga30">stream_encoder.h</a><li>FLAC__stream_encoder_set_ogg_serial_number()
-: <a class="el" href="group__flac__stream__encoder.html#ga14">stream_encoder.h</a><li>FLAC__stream_encoder_set_qlp_coeff_precision()
-: <a class="el" href="group__flac__stream__encoder.html#ga26">stream_encoder.h</a><li>FLAC__stream_encoder_set_rice_parameter_search_dist()
-: <a class="el" href="group__flac__stream__encoder.html#ga32">stream_encoder.h</a><li>FLAC__stream_encoder_set_sample_rate()
-: <a class="el" href="group__flac__stream__encoder.html#ga19">stream_encoder.h</a><li>FLAC__stream_encoder_set_streamable_subset()
-: <a class="el" href="group__flac__stream__encoder.html#ga16">stream_encoder.h</a><li>FLAC__stream_encoder_set_total_samples_estimate()
-: <a class="el" href="group__flac__stream__encoder.html#ga33">stream_encoder.h</a><li>FLAC__stream_encoder_set_verify()
-: <a class="el" href="group__flac__stream__encoder.html#ga15">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_TELL_STATUS_ERROR
-: <a class="el" href="group__flac__stream__encoder.html#gga70a45">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_TELL_STATUS_OK
-: <a class="el" href="group__flac__stream__encoder.html#gga70a44">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED
-: <a class="el" href="group__flac__stream__encoder.html#gga70a46">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_UNINITIALIZED
-: <a class="el" href="group__flac__stream__encoder.html#gga65a13">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR
-: <a class="el" href="group__flac__stream__encoder.html#gga65a15">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA
-: <a class="el" href="group__flac__stream__encoder.html#gga65a16">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR
-: <a class="el" href="group__flac__stream__encoder.html#gga68a40">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_WRITE_STATUS_OK
-: <a class="el" href="group__flac__stream__encoder.html#gga68a39">stream_encoder.h</a><li>FLAC__STREAM_METADATA_APPLICATION_ID_LEN
-: <a class="el" href="group__flac__format.html#ga46">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN
-: <a class="el" href="group__flac__format.html#ga54">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN
-: <a class="el" href="group__flac__format.html#ga53">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN
-: <a class="el" href="group__flac__format.html#ga55">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN
-: <a class="el" href="group__flac__format.html#ga65">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN
-: <a class="el" href="group__flac__format.html#ga64">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN
-: <a class="el" href="group__flac__format.html#ga63">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN
-: <a class="el" href="group__flac__format.html#ga67">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN
-: <a class="el" href="group__flac__format.html#ga66">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN
-: <a class="el" href="group__flac__format.html#ga58">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN
-: <a class="el" href="group__flac__format.html#ga62">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN
-: <a class="el" href="group__flac__format.html#ga57">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN
-: <a class="el" href="group__flac__format.html#ga56">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN
-: <a class="el" href="group__flac__format.html#ga60">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN
-: <a class="el" href="group__flac__format.html#ga61">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN
-: <a class="el" href="group__flac__format.html#ga59">format.h</a><li>FLAC__STREAM_METADATA_HEADER_LENGTH
-: <a class="el" href="group__flac__format.html#ga108">format.h</a><li>FLAC__STREAM_METADATA_IS_LAST_LEN
-: <a class="el" href="group__flac__format.html#ga77">format.h</a><li>FLAC__STREAM_METADATA_LENGTH_LEN
-: <a class="el" href="group__flac__format.html#ga79">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_COLORS_LEN
-: <a class="el" href="group__flac__format.html#ga75">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN
-: <a class="el" href="group__flac__format.html#ga76">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN
-: <a class="el" href="group__flac__format.html#ga74">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN
-: <a class="el" href="group__flac__format.html#ga71">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN
-: <a class="el" href="group__flac__format.html#ga73">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN
-: <a class="el" href="group__flac__format.html#ga70">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST
-: <a class="el" href="group__flac__format.html#gga114a128">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER
-: <a class="el" href="group__flac__format.html#gga114a124">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_BAND
-: <a class="el" href="group__flac__format.html#gga114a130">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE
-: <a class="el" href="group__flac__format.html#gga114a139">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER
-: <a class="el" href="group__flac__format.html#gga114a131">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR
-: <a class="el" href="group__flac__format.html#gga114a129">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE
-: <a class="el" href="group__flac__format.html#gga114a135">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING
-: <a class="el" href="group__flac__format.html#gga114a134">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON
-: <a class="el" href="group__flac__format.html#gga114a122">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD
-: <a class="el" href="group__flac__format.html#gga114a121">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_FISH
-: <a class="el" href="group__flac__format.html#gga114a137">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER
-: <a class="el" href="group__flac__format.html#gga114a123">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION
-: <a class="el" href="group__flac__format.html#gga114a138">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST
-: <a class="el" href="group__flac__format.html#gga114a127">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE
-: <a class="el" href="group__flac__format.html#gga114a125">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_LEN
-: <a class="el" href="group__flac__format.html#ga69">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST
-: <a class="el" href="group__flac__format.html#gga114a132">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA
-: <a class="el" href="group__flac__format.html#gga114a126">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER
-: <a class="el" href="group__flac__format.html#gga114a120">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE
-: <a class="el" href="group__flac__format.html#gga114a140">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION
-: <a class="el" href="group__flac__format.html#gga114a133">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE
-: <a class="el" href="group__flac__format.html#gga114a136">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN
-: <a class="el" href="group__flac__format.html#ga72">format.h</a><li>FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN
-: <a class="el" href="group__flac__format.html#ga49">format.h</a><li>FLAC__STREAM_METADATA_SEEKPOINT_LENGTH
-: <a class="el" href="group__flac__format.html#ga107">format.h</a><li>FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER
-: <a class="el" href="group__flac__format.html#ga50">format.h</a><li>FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN
-: <a class="el" href="group__flac__format.html#ga47">format.h</a><li>FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN
-: <a class="el" href="group__flac__format.html#ga48">format.h</a><li>FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN
-: <a class="el" href="group__flac__format.html#ga43">format.h</a><li>FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN
-: <a class="el" href="group__flac__format.html#ga42">format.h</a><li>FLAC__STREAM_METADATA_STREAMINFO_LENGTH
-: <a class="el" href="group__flac__format.html#ga106">format.h</a><li>FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN
-: <a class="el" href="group__flac__format.html#ga38">format.h</a><li>FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN
-: <a class="el" href="group__flac__format.html#ga40">format.h</a><li>FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN
-: <a class="el" href="group__flac__format.html#ga45">format.h</a><li>FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN
-: <a class="el" href="group__flac__format.html#ga37">format.h</a><li>FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN
-: <a class="el" href="group__flac__format.html#ga39">format.h</a><li>FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN
-: <a class="el" href="group__flac__format.html#ga41">format.h</a><li>FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN
-: <a class="el" href="group__flac__format.html#ga44">format.h</a><li>FLAC__STREAM_METADATA_TYPE_LEN
-: <a class="el" href="group__flac__format.html#ga78">format.h</a><li>FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN
-: <a class="el" href="group__flac__format.html#ga51">format.h</a><li>FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN
-: <a class="el" href="group__flac__format.html#ga52">format.h</a><li>FLAC__STREAM_SYNC
-: <a class="el" href="group__flac__format.html#ga3">format.h</a><li>FLAC__STREAM_SYNC_LEN
-: <a class="el" href="group__flac__format.html#ga4">format.h</a><li>FLAC__STREAM_SYNC_LENGTH
-: <a class="el" href="group__flac__format.html#ga105">format.h</a><li>FLAC__STREAM_SYNC_STRING
-: <a class="el" href="group__flac__format.html#ga2">format.h</a><li>FLAC__StreamDecoderEofCallback
-: <a class="el" href="group__flac__stream__decoder.html#ga12">stream_decoder.h</a><li>FLAC__StreamDecoderErrorCallback
-: <a class="el" href="group__flac__stream__decoder.html#ga15">stream_decoder.h</a><li>FLAC__StreamDecoderErrorStatus
-: <a class="el" href="group__flac__stream__decoder.html#ga57">stream_decoder.h</a><li>FLAC__StreamDecoderErrorStatusString
-: <a class="el" href="group__flac__stream__decoder.html#ga7">stream_decoder.h</a><li>FLAC__StreamDecoderInitStatus
-: <a class="el" href="group__flac__stream__decoder.html#ga51">stream_decoder.h</a><li>FLAC__StreamDecoderInitStatusString
-: <a class="el" href="group__flac__stream__decoder.html#ga1">stream_decoder.h</a><li>FLAC__StreamDecoderLengthCallback
-: <a class="el" href="group__flac__stream__decoder.html#ga11">stream_decoder.h</a><li>FLAC__StreamDecoderLengthStatus
-: <a class="el" href="group__flac__stream__decoder.html#ga55">stream_decoder.h</a><li>FLAC__StreamDecoderLengthStatusString
-: <a class="el" href="group__flac__stream__decoder.html#ga5">stream_decoder.h</a><li>FLAC__StreamDecoderMetadataCallback
-: <a class="el" href="group__flac__stream__decoder.html#ga14">stream_decoder.h</a><li>FLAC__StreamDecoderReadCallback
-: <a class="el" href="group__flac__stream__decoder.html#ga8">stream_decoder.h</a><li>FLAC__StreamDecoderReadStatus
-: <a class="el" href="group__flac__stream__decoder.html#ga52">stream_decoder.h</a><li>FLAC__StreamDecoderReadStatusString
-: <a class="el" href="group__flac__stream__decoder.html#ga2">stream_decoder.h</a><li>FLAC__StreamDecoderSeekCallback
-: <a class="el" href="group__flac__stream__decoder.html#ga9">stream_decoder.h</a><li>FLAC__StreamDecoderSeekStatus
-: <a class="el" href="group__flac__stream__decoder.html#ga53">stream_decoder.h</a><li>FLAC__StreamDecoderSeekStatusString
-: <a class="el" href="group__flac__stream__decoder.html#ga3">stream_decoder.h</a><li>FLAC__StreamDecoderState
-: <a class="el" href="group__flac__stream__decoder.html#ga50">stream_decoder.h</a><li>FLAC__StreamDecoderStateString
-: <a class="el" href="group__flac__stream__decoder.html#ga0">stream_decoder.h</a><li>FLAC__StreamDecoderTellCallback
-: <a class="el" href="group__flac__stream__decoder.html#ga10">stream_decoder.h</a><li>FLAC__StreamDecoderTellStatus
-: <a class="el" href="group__flac__stream__decoder.html#ga54">stream_decoder.h</a><li>FLAC__StreamDecoderTellStatusString
-: <a class="el" href="group__flac__stream__decoder.html#ga4">stream_decoder.h</a><li>FLAC__StreamDecoderWriteCallback
-: <a class="el" href="group__flac__stream__decoder.html#ga13">stream_decoder.h</a><li>FLAC__StreamDecoderWriteStatus
-: <a class="el" href="group__flac__stream__decoder.html#ga56">stream_decoder.h</a><li>FLAC__StreamDecoderWriteStatusString
-: <a class="el" href="group__flac__stream__decoder.html#ga6">stream_decoder.h</a><li>FLAC__StreamEncoderInitStatus
-: <a class="el" href="group__flac__stream__encoder.html#ga66">stream_encoder.h</a><li>FLAC__StreamEncoderInitStatusString
-: <a class="el" href="group__flac__stream__encoder.html#ga1">stream_encoder.h</a><li>FLAC__StreamEncoderMetadataCallback
-: <a class="el" href="group__flac__stream__encoder.html#ga10">stream_encoder.h</a><li>FLAC__StreamEncoderProgressCallback
-: <a class="el" href="group__flac__stream__encoder.html#ga11">stream_encoder.h</a><li>FLAC__StreamEncoderReadCallback
-: <a class="el" href="group__flac__stream__encoder.html#ga6">stream_encoder.h</a><li>FLAC__StreamEncoderReadStatus
-: <a class="el" href="group__flac__stream__encoder.html#ga67">stream_encoder.h</a><li>FLAC__StreamEncoderReadStatusString
-: <a class="el" href="group__flac__stream__encoder.html#ga2">stream_encoder.h</a><li>FLAC__StreamEncoderSeekCallback
-: <a class="el" href="group__flac__stream__encoder.html#ga8">stream_encoder.h</a><li>FLAC__StreamEncoderSeekStatus
-: <a class="el" href="group__flac__stream__encoder.html#ga69">stream_encoder.h</a><li>FLAC__StreamEncoderSeekStatusString
-: <a class="el" href="group__flac__stream__encoder.html#ga4">stream_encoder.h</a><li>FLAC__StreamEncoderState
-: <a class="el" href="group__flac__stream__encoder.html#ga65">stream_encoder.h</a><li>FLAC__StreamEncoderStateString
-: <a class="el" href="group__flac__stream__encoder.html#ga0">stream_encoder.h</a><li>FLAC__StreamEncoderTellCallback
-: <a class="el" href="group__flac__stream__encoder.html#ga9">stream_encoder.h</a><li>FLAC__StreamEncoderTellStatus
-: <a class="el" href="group__flac__stream__encoder.html#ga70">stream_encoder.h</a><li>FLAC__StreamEncoderTellStatusString
-: <a class="el" href="group__flac__stream__encoder.html#ga5">stream_encoder.h</a><li>FLAC__StreamEncoderWriteCallback
-: <a class="el" href="group__flac__stream__encoder.html#ga7">stream_encoder.h</a><li>FLAC__StreamEncoderWriteStatus
-: <a class="el" href="group__flac__stream__encoder.html#ga68">stream_encoder.h</a><li>FLAC__StreamEncoderWriteStatusString
-: <a class="el" href="group__flac__stream__encoder.html#ga3">stream_encoder.h</a><li>FLAC__StreamMetadata_Picture_Type
-: <a class="el" href="group__flac__format.html#ga114">format.h</a><li>FLAC__StreamMetadata_Picture_TypeString
-: <a class="el" href="group__flac__format.html#ga68">format.h</a><li>FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN
-: <a class="el" href="group__flac__format.html#ga14">format.h</a><li>FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN
-: <a class="el" href="group__flac__format.html#ga15">format.h</a><li>FLAC__SUBFRAME_TYPE_CONSTANT
-: <a class="el" href="group__flac__format.html#gga110a102">format.h</a><li>FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK
-: <a class="el" href="group__flac__format.html#ga19">format.h</a><li>FLAC__SUBFRAME_TYPE_FIXED
-: <a class="el" href="group__flac__format.html#gga110a104">format.h</a><li>FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK
-: <a class="el" href="group__flac__format.html#ga21">format.h</a><li>FLAC__SUBFRAME_TYPE_LEN
-: <a class="el" href="group__flac__format.html#ga17">format.h</a><li>FLAC__SUBFRAME_TYPE_LPC
-: <a class="el" href="group__flac__format.html#gga110a105">format.h</a><li>FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK
-: <a class="el" href="group__flac__format.html#ga22">format.h</a><li>FLAC__SUBFRAME_TYPE_VERBATIM
-: <a class="el" href="group__flac__format.html#gga110a103">format.h</a><li>FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK
-: <a class="el" href="group__flac__format.html#ga20">format.h</a><li>FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN
-: <a class="el" href="group__flac__format.html#ga18">format.h</a><li>FLAC__SUBFRAME_ZERO_PAD_LEN
-: <a class="el" href="group__flac__format.html#ga16">format.h</a><li>FLAC__SubframeType
-: <a class="el" href="group__flac__format.html#ga110">format.h</a><li>FLAC__SubframeTypeString
-: <a class="el" href="group__flac__format.html#ga13">format.h</a><li>FLAC__SUBSET_MAX_BLOCK_SIZE_48000HZ
-: <a class="el" href="group__flac__format.html#ga92">format.h</a><li>FLAC__SUBSET_MAX_LPC_ORDER_48000HZ
-: <a class="el" href="group__flac__format.html#ga99">format.h</a><li>FLAC__SUBSET_MAX_RICE_PARTITION_ORDER
-: <a class="el" href="group__flac__format.html#ga104">format.h</a><li>FLAC__VENDOR_STRING
-: <a class="el" href="group__flac__format.html#ga1">format.h</a><li>FLAC__VERSION_STRING
-: <a class="el" href="group__flac__format.html#ga0">format.h</a><li>FLAC_API_SUPPORTS_OGG_FLAC
-: <a class="el" href="group__flac__export.html#ga0">export.h</a><li>FLAC_API_VERSION_AGE
-: <a class="el" href="group__flac__export.html#ga4">export.h</a><li>FLAC_API_VERSION_CURRENT
-: <a class="el" href="group__flac__export.html#ga2">export.h</a><li>FLAC_API_VERSION_REVISION
-: <a class="el" href="group__flac__export.html#ga3">export.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/globals_0x67.html b/3rdparty/libflac/doc/html/api/globals_0x67.html
deleted file mode 100644
index adb814ed905..00000000000
--- a/3rdparty/libflac/doc/html/api/globals_0x67.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumeration&nbsp;values</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_c">c</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindexHL" href="globals_0x67.html#index_g">g</a></div>
-
-<p>
-Here is a list of all documented file members with links to the documentation:
-<p>
-<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
-<li>get_cuesheet()
-: <a class="el" href="group__flacpp__metadata__level0.html#ga4">metadata.h</a><li>get_picture()
-: <a class="el" href="group__flacpp__metadata__level0.html#ga6">metadata.h</a><li>get_streaminfo()
-: <a class="el" href="group__flacpp__metadata__level0.html#ga0">metadata.h</a><li>get_tags()
-: <a class="el" href="group__flacpp__metadata__level0.html#ga2">metadata.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/globals_defs.html b/3rdparty/libflac/doc/html/api/globals_defs.html
deleted file mode 100644
index e91b4b2bdee..00000000000
--- a/3rdparty/libflac/doc/html/api/globals_defs.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindex" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumeration&nbsp;values</a> | <a class="qindexHL" href="globals_defs.html">Defines</a></div>
-
-<p>
-<ul>
-<li>FLAC__MAX_BITS_PER_SAMPLE
-: <a class="el" href="group__flac__format.html#ga95">format.h</a><li>FLAC__MAX_BLOCK_SIZE
-: <a class="el" href="group__flac__format.html#ga91">format.h</a><li>FLAC__MAX_CHANNELS
-: <a class="el" href="group__flac__format.html#ga93">format.h</a><li>FLAC__MAX_FIXED_ORDER
-: <a class="el" href="group__flac__format.html#ga102">format.h</a><li>FLAC__MAX_LPC_ORDER
-: <a class="el" href="group__flac__format.html#ga98">format.h</a><li>FLAC__MAX_METADATA_TYPE_CODE
-: <a class="el" href="group__flac__format.html#ga89">format.h</a><li>FLAC__MAX_QLP_COEFF_PRECISION
-: <a class="el" href="group__flac__format.html#ga101">format.h</a><li>FLAC__MAX_RICE_PARTITION_ORDER
-: <a class="el" href="group__flac__format.html#ga103">format.h</a><li>FLAC__MAX_SAMPLE_RATE
-: <a class="el" href="group__flac__format.html#ga97">format.h</a><li>FLAC__MIN_BITS_PER_SAMPLE
-: <a class="el" href="group__flac__format.html#ga94">format.h</a><li>FLAC__MIN_BLOCK_SIZE
-: <a class="el" href="group__flac__format.html#ga90">format.h</a><li>FLAC__MIN_QLP_COEFF_PRECISION
-: <a class="el" href="group__flac__format.html#ga100">format.h</a><li>FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE
-: <a class="el" href="group__flac__format.html#ga96">format.h</a><li>FLAC__STREAM_METADATA_HEADER_LENGTH
-: <a class="el" href="group__flac__format.html#ga108">format.h</a><li>FLAC__STREAM_METADATA_SEEKPOINT_LENGTH
-: <a class="el" href="group__flac__format.html#ga107">format.h</a><li>FLAC__STREAM_METADATA_STREAMINFO_LENGTH
-: <a class="el" href="group__flac__format.html#ga106">format.h</a><li>FLAC__STREAM_SYNC_LENGTH
-: <a class="el" href="group__flac__format.html#ga105">format.h</a><li>FLAC__SUBSET_MAX_BLOCK_SIZE_48000HZ
-: <a class="el" href="group__flac__format.html#ga92">format.h</a><li>FLAC__SUBSET_MAX_LPC_ORDER_48000HZ
-: <a class="el" href="group__flac__format.html#ga99">format.h</a><li>FLAC__SUBSET_MAX_RICE_PARTITION_ORDER
-: <a class="el" href="group__flac__format.html#ga104">format.h</a><li>FLAC_API_VERSION_AGE
-: <a class="el" href="group__flac__export.html#ga4">export.h</a><li>FLAC_API_VERSION_CURRENT
-: <a class="el" href="group__flac__export.html#ga2">export.h</a><li>FLAC_API_VERSION_REVISION
-: <a class="el" href="group__flac__export.html#ga3">export.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/globals_enum.html b/3rdparty/libflac/doc/html/api/globals_enum.html
deleted file mode 100644
index 06514cf15fb..00000000000
--- a/3rdparty/libflac/doc/html/api/globals_enum.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindex" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindexHL" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumeration&nbsp;values</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-
-<p>
-<ul>
-<li>FLAC__ChannelAssignment
-: <a class="el" href="group__flac__format.html#ga111">format.h</a><li>FLAC__EntropyCodingMethodType
-: <a class="el" href="group__flac__format.html#ga109">format.h</a><li>FLAC__FrameNumberType
-: <a class="el" href="group__flac__format.html#ga112">format.h</a><li>FLAC__Metadata_ChainStatus
-: <a class="el" href="group__flac__metadata__level2.html#ga27">metadata.h</a><li>FLAC__Metadata_SimpleIteratorStatus
-: <a class="el" href="group__flac__metadata__level1.html#ga18">metadata.h</a><li>FLAC__MetadataType
-: <a class="el" href="group__flac__format.html#ga113">format.h</a><li>FLAC__StreamDecoderErrorStatus
-: <a class="el" href="group__flac__stream__decoder.html#ga57">stream_decoder.h</a><li>FLAC__StreamDecoderInitStatus
-: <a class="el" href="group__flac__stream__decoder.html#ga51">stream_decoder.h</a><li>FLAC__StreamDecoderLengthStatus
-: <a class="el" href="group__flac__stream__decoder.html#ga55">stream_decoder.h</a><li>FLAC__StreamDecoderReadStatus
-: <a class="el" href="group__flac__stream__decoder.html#ga52">stream_decoder.h</a><li>FLAC__StreamDecoderSeekStatus
-: <a class="el" href="group__flac__stream__decoder.html#ga53">stream_decoder.h</a><li>FLAC__StreamDecoderState
-: <a class="el" href="group__flac__stream__decoder.html#ga50">stream_decoder.h</a><li>FLAC__StreamDecoderTellStatus
-: <a class="el" href="group__flac__stream__decoder.html#ga54">stream_decoder.h</a><li>FLAC__StreamDecoderWriteStatus
-: <a class="el" href="group__flac__stream__decoder.html#ga56">stream_decoder.h</a><li>FLAC__StreamEncoderInitStatus
-: <a class="el" href="group__flac__stream__encoder.html#ga66">stream_encoder.h</a><li>FLAC__StreamEncoderReadStatus
-: <a class="el" href="group__flac__stream__encoder.html#ga67">stream_encoder.h</a><li>FLAC__StreamEncoderSeekStatus
-: <a class="el" href="group__flac__stream__encoder.html#ga69">stream_encoder.h</a><li>FLAC__StreamEncoderState
-: <a class="el" href="group__flac__stream__encoder.html#ga65">stream_encoder.h</a><li>FLAC__StreamEncoderTellStatus
-: <a class="el" href="group__flac__stream__encoder.html#ga70">stream_encoder.h</a><li>FLAC__StreamEncoderWriteStatus
-: <a class="el" href="group__flac__stream__encoder.html#ga68">stream_encoder.h</a><li>FLAC__StreamMetadata_Picture_Type
-: <a class="el" href="group__flac__format.html#ga114">format.h</a><li>FLAC__SubframeType
-: <a class="el" href="group__flac__format.html#ga110">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/globals_eval.html b/3rdparty/libflac/doc/html/api/globals_eval.html
deleted file mode 100644
index 403ccf48d95..00000000000
--- a/3rdparty/libflac/doc/html/api/globals_eval.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindex" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindexHL" href="globals_eval.html">Enumeration&nbsp;values</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="#index_f">f</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
-<li>FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT
-: <a class="el" href="group__flac__format.html#gga111a106">format.h</a><li>FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE
-: <a class="el" href="group__flac__format.html#gga111a107">format.h</a><li>FLAC__CHANNEL_ASSIGNMENT_MID_SIDE
-: <a class="el" href="group__flac__format.html#gga111a109">format.h</a><li>FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE
-: <a class="el" href="group__flac__format.html#gga111a108">format.h</a><li>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE
-: <a class="el" href="group__flac__format.html#gga109a100">format.h</a><li>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2
-: <a class="el" href="group__flac__format.html#gga109a101">format.h</a><li>FLAC__FRAME_NUMBER_TYPE_FRAME_NUMBER
-: <a class="el" href="group__flac__format.html#gga112a110">format.h</a><li>FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER
-: <a class="el" href="group__flac__format.html#gga112a111">format.h</a><li>FLAC__METADATA_CHAIN_STATUS_BAD_METADATA
-: <a class="el" href="group__flac__metadata__level2.html#gga27a23">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE
-: <a class="el" href="group__flac__metadata__level2.html#gga27a20">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_ILLEGAL_INPUT
-: <a class="el" href="group__flac__metadata__level2.html#gga27a19">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_INTERNAL_ERROR
-: <a class="el" href="group__flac__metadata__level2.html#gga27a30">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_INVALID_CALLBACKS
-: <a class="el" href="group__flac__metadata__level2.html#gga27a31">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_MEMORY_ALLOCATION_ERROR
-: <a class="el" href="group__flac__metadata__level2.html#gga27a29">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_NOT_A_FLAC_FILE
-: <a class="el" href="group__flac__metadata__level2.html#gga27a21">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_NOT_WRITABLE
-: <a class="el" href="group__flac__metadata__level2.html#gga27a22">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_OK
-: <a class="el" href="group__flac__metadata__level2.html#gga27a18">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_READ_ERROR
-: <a class="el" href="group__flac__metadata__level2.html#gga27a24">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_READ_WRITE_MISMATCH
-: <a class="el" href="group__flac__metadata__level2.html#gga27a32">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_RENAME_ERROR
-: <a class="el" href="group__flac__metadata__level2.html#gga27a27">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_SEEK_ERROR
-: <a class="el" href="group__flac__metadata__level2.html#gga27a25">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_UNLINK_ERROR
-: <a class="el" href="group__flac__metadata__level2.html#gga27a28">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_WRITE_ERROR
-: <a class="el" href="group__flac__metadata__level2.html#gga27a26">metadata.h</a><li>FLAC__METADATA_CHAIN_STATUS_WRONG_WRITE_CALL
-: <a class="el" href="group__flac__metadata__level2.html#gga27a33">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA
-: <a class="el" href="group__flac__metadata__level1.html#gga18a10">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE
-: <a class="el" href="group__flac__metadata__level1.html#gga18a7">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT
-: <a class="el" href="group__flac__metadata__level1.html#gga18a6">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_INTERNAL_ERROR
-: <a class="el" href="group__flac__metadata__level1.html#gga18a17">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR
-: <a class="el" href="group__flac__metadata__level1.html#gga18a16">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_A_FLAC_FILE
-: <a class="el" href="group__flac__metadata__level1.html#gga18a8">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_WRITABLE
-: <a class="el" href="group__flac__metadata__level1.html#gga18a9">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK
-: <a class="el" href="group__flac__metadata__level1.html#gga18a5">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR
-: <a class="el" href="group__flac__metadata__level1.html#gga18a11">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_RENAME_ERROR
-: <a class="el" href="group__flac__metadata__level1.html#gga18a14">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR
-: <a class="el" href="group__flac__metadata__level1.html#gga18a12">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_UNLINK_ERROR
-: <a class="el" href="group__flac__metadata__level1.html#gga18a15">metadata.h</a><li>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_WRITE_ERROR
-: <a class="el" href="group__flac__metadata__level1.html#gga18a13">metadata.h</a><li>FLAC__METADATA_TYPE_APPLICATION
-: <a class="el" href="group__flac__format.html#gga113a114">format.h</a><li>FLAC__METADATA_TYPE_CUESHEET
-: <a class="el" href="group__flac__format.html#gga113a117">format.h</a><li>FLAC__METADATA_TYPE_PADDING
-: <a class="el" href="group__flac__format.html#gga113a113">format.h</a><li>FLAC__METADATA_TYPE_PICTURE
-: <a class="el" href="group__flac__format.html#gga113a118">format.h</a><li>FLAC__METADATA_TYPE_SEEKTABLE
-: <a class="el" href="group__flac__format.html#gga113a115">format.h</a><li>FLAC__METADATA_TYPE_STREAMINFO
-: <a class="el" href="group__flac__format.html#gga113a112">format.h</a><li>FLAC__METADATA_TYPE_UNDEFINED
-: <a class="el" href="group__flac__format.html#gga113a119">format.h</a><li>FLAC__METADATA_TYPE_VORBIS_COMMENT
-: <a class="el" href="group__flac__format.html#gga113a116">format.h</a><li>FLAC__STREAM_DECODER_ABORTED
-: <a class="el" href="group__flac__stream__decoder.html#gga50a23">stream_decoder.h</a><li>FLAC__STREAM_DECODER_END_OF_STREAM
-: <a class="el" href="group__flac__stream__decoder.html#gga50a20">stream_decoder.h</a><li>FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER
-: <a class="el" href="group__flac__stream__decoder.html#gga57a47">stream_decoder.h</a><li>FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH
-: <a class="el" href="group__flac__stream__decoder.html#gga57a48">stream_decoder.h</a><li>FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC
-: <a class="el" href="group__flac__stream__decoder.html#gga57a46">stream_decoder.h</a><li>FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM
-: <a class="el" href="group__flac__stream__decoder.html#gga57a49">stream_decoder.h</a><li>FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED
-: <a class="el" href="group__flac__stream__decoder.html#gga51a31">stream_decoder.h</a><li>FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FILE
-: <a class="el" href="group__flac__stream__decoder.html#gga51a30">stream_decoder.h</a><li>FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS
-: <a class="el" href="group__flac__stream__decoder.html#gga51a28">stream_decoder.h</a><li>FLAC__STREAM_DECODER_INIT_STATUS_MEMORY_ALLOCATION_ERROR
-: <a class="el" href="group__flac__stream__decoder.html#gga51a29">stream_decoder.h</a><li>FLAC__STREAM_DECODER_INIT_STATUS_OK
-: <a class="el" href="group__flac__stream__decoder.html#gga51a26">stream_decoder.h</a><li>FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER
-: <a class="el" href="group__flac__stream__decoder.html#gga51a27">stream_decoder.h</a><li>FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR
-: <a class="el" href="group__flac__stream__decoder.html#gga55a42">stream_decoder.h</a><li>FLAC__STREAM_DECODER_LENGTH_STATUS_OK
-: <a class="el" href="group__flac__stream__decoder.html#gga55a41">stream_decoder.h</a><li>FLAC__STREAM_DECODER_LENGTH_STATUS_UNSUPPORTED
-: <a class="el" href="group__flac__stream__decoder.html#gga55a43">stream_decoder.h</a><li>FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR
-: <a class="el" href="group__flac__stream__decoder.html#gga50a24">stream_decoder.h</a><li>FLAC__STREAM_DECODER_OGG_ERROR
-: <a class="el" href="group__flac__stream__decoder.html#gga50a21">stream_decoder.h</a><li>FLAC__STREAM_DECODER_READ_FRAME
-: <a class="el" href="group__flac__stream__decoder.html#gga50a19">stream_decoder.h</a><li>FLAC__STREAM_DECODER_READ_METADATA
-: <a class="el" href="group__flac__stream__decoder.html#gga50a17">stream_decoder.h</a><li>FLAC__STREAM_DECODER_READ_STATUS_ABORT
-: <a class="el" href="group__flac__stream__decoder.html#gga52a34">stream_decoder.h</a><li>FLAC__STREAM_DECODER_READ_STATUS_CONTINUE
-: <a class="el" href="group__flac__stream__decoder.html#gga52a32">stream_decoder.h</a><li>FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM
-: <a class="el" href="group__flac__stream__decoder.html#gga52a33">stream_decoder.h</a><li>FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC
-: <a class="el" href="group__flac__stream__decoder.html#gga50a18">stream_decoder.h</a><li>FLAC__STREAM_DECODER_SEARCH_FOR_METADATA
-: <a class="el" href="group__flac__stream__decoder.html#gga50a16">stream_decoder.h</a><li>FLAC__STREAM_DECODER_SEEK_ERROR
-: <a class="el" href="group__flac__stream__decoder.html#gga50a22">stream_decoder.h</a><li>FLAC__STREAM_DECODER_SEEK_STATUS_ERROR
-: <a class="el" href="group__flac__stream__decoder.html#gga53a36">stream_decoder.h</a><li>FLAC__STREAM_DECODER_SEEK_STATUS_OK
-: <a class="el" href="group__flac__stream__decoder.html#gga53a35">stream_decoder.h</a><li>FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED
-: <a class="el" href="group__flac__stream__decoder.html#gga53a37">stream_decoder.h</a><li>FLAC__STREAM_DECODER_TELL_STATUS_ERROR
-: <a class="el" href="group__flac__stream__decoder.html#gga54a39">stream_decoder.h</a><li>FLAC__STREAM_DECODER_TELL_STATUS_OK
-: <a class="el" href="group__flac__stream__decoder.html#gga54a38">stream_decoder.h</a><li>FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED
-: <a class="el" href="group__flac__stream__decoder.html#gga54a40">stream_decoder.h</a><li>FLAC__STREAM_DECODER_UNINITIALIZED
-: <a class="el" href="group__flac__stream__decoder.html#gga50a25">stream_decoder.h</a><li>FLAC__STREAM_DECODER_WRITE_STATUS_ABORT
-: <a class="el" href="group__flac__stream__decoder.html#gga56a45">stream_decoder.h</a><li>FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE
-: <a class="el" href="group__flac__stream__decoder.html#gga56a44">stream_decoder.h</a><li>FLAC__STREAM_ENCODER_CLIENT_ERROR
-: <a class="el" href="group__flac__stream__encoder.html#gga65a17">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_FRAMING_ERROR
-: <a class="el" href="group__flac__stream__encoder.html#gga65a19">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_ALREADY_INITIALIZED
-: <a class="el" href="group__flac__stream__encoder.html#gga66a34">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_BLOCK_SIZE_TOO_SMALL_FOR_LPC_ORDER
-: <a class="el" href="group__flac__stream__encoder.html#gga66a31">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR
-: <a class="el" href="group__flac__stream__encoder.html#gga66a22">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BITS_PER_SAMPLE
-: <a class="el" href="group__flac__stream__encoder.html#gga66a26">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BLOCK_SIZE
-: <a class="el" href="group__flac__stream__encoder.html#gga66a28">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS
-: <a class="el" href="group__flac__stream__encoder.html#gga66a24">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_MAX_LPC_ORDER
-: <a class="el" href="group__flac__stream__encoder.html#gga66a29">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_METADATA
-: <a class="el" href="group__flac__stream__encoder.html#gga66a33">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_NUMBER_OF_CHANNELS
-: <a class="el" href="group__flac__stream__encoder.html#gga66a25">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_QLP_COEFF_PRECISION
-: <a class="el" href="group__flac__stream__encoder.html#gga66a30">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_SAMPLE_RATE
-: <a class="el" href="group__flac__stream__encoder.html#gga66a27">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE
-: <a class="el" href="group__flac__stream__encoder.html#gga66a32">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_OK
-: <a class="el" href="group__flac__stream__encoder.html#gga66a21">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_INIT_STATUS_UNSUPPORTED_CONTAINER
-: <a class="el" href="group__flac__stream__encoder.html#gga66a23">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_IO_ERROR
-: <a class="el" href="group__flac__stream__encoder.html#gga65a18">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR
-: <a class="el" href="group__flac__stream__encoder.html#gga65a20">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_OGG_ERROR
-: <a class="el" href="group__flac__stream__encoder.html#gga65a14">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_OK
-: <a class="el" href="group__flac__stream__encoder.html#gga65a12">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_READ_STATUS_ABORT
-: <a class="el" href="group__flac__stream__encoder.html#gga67a37">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_READ_STATUS_CONTINUE
-: <a class="el" href="group__flac__stream__encoder.html#gga67a35">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_READ_STATUS_END_OF_STREAM
-: <a class="el" href="group__flac__stream__encoder.html#gga67a36">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_READ_STATUS_UNSUPPORTED
-: <a class="el" href="group__flac__stream__encoder.html#gga67a38">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR
-: <a class="el" href="group__flac__stream__encoder.html#gga69a42">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_SEEK_STATUS_OK
-: <a class="el" href="group__flac__stream__encoder.html#gga69a41">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_SEEK_STATUS_UNSUPPORTED
-: <a class="el" href="group__flac__stream__encoder.html#gga69a43">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_TELL_STATUS_ERROR
-: <a class="el" href="group__flac__stream__encoder.html#gga70a45">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_TELL_STATUS_OK
-: <a class="el" href="group__flac__stream__encoder.html#gga70a44">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED
-: <a class="el" href="group__flac__stream__encoder.html#gga70a46">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_UNINITIALIZED
-: <a class="el" href="group__flac__stream__encoder.html#gga65a13">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR
-: <a class="el" href="group__flac__stream__encoder.html#gga65a15">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA
-: <a class="el" href="group__flac__stream__encoder.html#gga65a16">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR
-: <a class="el" href="group__flac__stream__encoder.html#gga68a40">stream_encoder.h</a><li>FLAC__STREAM_ENCODER_WRITE_STATUS_OK
-: <a class="el" href="group__flac__stream__encoder.html#gga68a39">stream_encoder.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST
-: <a class="el" href="group__flac__format.html#gga114a128">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER
-: <a class="el" href="group__flac__format.html#gga114a124">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_BAND
-: <a class="el" href="group__flac__format.html#gga114a130">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE
-: <a class="el" href="group__flac__format.html#gga114a139">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER
-: <a class="el" href="group__flac__format.html#gga114a131">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR
-: <a class="el" href="group__flac__format.html#gga114a129">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE
-: <a class="el" href="group__flac__format.html#gga114a135">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING
-: <a class="el" href="group__flac__format.html#gga114a134">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON
-: <a class="el" href="group__flac__format.html#gga114a122">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD
-: <a class="el" href="group__flac__format.html#gga114a121">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_FISH
-: <a class="el" href="group__flac__format.html#gga114a137">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER
-: <a class="el" href="group__flac__format.html#gga114a123">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION
-: <a class="el" href="group__flac__format.html#gga114a138">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST
-: <a class="el" href="group__flac__format.html#gga114a127">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE
-: <a class="el" href="group__flac__format.html#gga114a125">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST
-: <a class="el" href="group__flac__format.html#gga114a132">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA
-: <a class="el" href="group__flac__format.html#gga114a126">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER
-: <a class="el" href="group__flac__format.html#gga114a120">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE
-: <a class="el" href="group__flac__format.html#gga114a140">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION
-: <a class="el" href="group__flac__format.html#gga114a133">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE
-: <a class="el" href="group__flac__format.html#gga114a136">format.h</a><li>FLAC__SUBFRAME_TYPE_CONSTANT
-: <a class="el" href="group__flac__format.html#gga110a102">format.h</a><li>FLAC__SUBFRAME_TYPE_FIXED
-: <a class="el" href="group__flac__format.html#gga110a104">format.h</a><li>FLAC__SUBFRAME_TYPE_LPC
-: <a class="el" href="group__flac__format.html#gga110a105">format.h</a><li>FLAC__SUBFRAME_TYPE_VERBATIM
-: <a class="el" href="group__flac__format.html#gga110a103">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/globals_func.html b/3rdparty/libflac/doc/html/api/globals_func.html
deleted file mode 100644
index 15197920428..00000000000
--- a/3rdparty/libflac/doc/html/api/globals_func.html
+++ /dev/null
@@ -1,233 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindex" href="globals.html">All</a> | <a class="qindexHL" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumeration&nbsp;values</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="#index_c">c</a> | <a class="qindex" href="#index_f">f</a> | <a class="qindex" href="#index_g">g</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>clone()
-: <a class="el" href="group__flacpp__metadata__object.html#ga0">metadata.h</a></ul>
-<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
-<li>FLAC__format_cuesheet_is_legal()
-: <a class="el" href="group__flac__format.html#ga87">format.h</a><li>FLAC__format_picture_is_legal()
-: <a class="el" href="group__flac__format.html#ga88">format.h</a><li>FLAC__format_sample_rate_is_subset()
-: <a class="el" href="group__flac__format.html#ga81">format.h</a><li>FLAC__format_sample_rate_is_valid()
-: <a class="el" href="group__flac__format.html#ga80">format.h</a><li>FLAC__format_seektable_is_legal()
-: <a class="el" href="group__flac__format.html#ga85">format.h</a><li>FLAC__format_seektable_sort()
-: <a class="el" href="group__flac__format.html#ga86">format.h</a><li>FLAC__format_vorbiscomment_entry_is_legal()
-: <a class="el" href="group__flac__format.html#ga84">format.h</a><li>FLAC__format_vorbiscomment_entry_name_is_legal()
-: <a class="el" href="group__flac__format.html#ga82">format.h</a><li>FLAC__format_vorbiscomment_entry_value_is_legal()
-: <a class="el" href="group__flac__format.html#ga83">format.h</a><li>FLAC__metadata_chain_check_if_tempfile_needed()
-: <a class="el" href="group__flac__metadata__level2.html#ga10">metadata.h</a><li>FLAC__metadata_chain_delete()
-: <a class="el" href="group__flac__metadata__level2.html#ga4">metadata.h</a><li>FLAC__metadata_chain_merge_padding()
-: <a class="el" href="group__flac__metadata__level2.html#ga14">metadata.h</a><li>FLAC__metadata_chain_new()
-: <a class="el" href="group__flac__metadata__level2.html#ga3">metadata.h</a><li>FLAC__metadata_chain_read()
-: <a class="el" href="group__flac__metadata__level2.html#ga6">metadata.h</a><li>FLAC__metadata_chain_read_ogg()
-: <a class="el" href="group__flac__metadata__level2.html#ga7">metadata.h</a><li>FLAC__metadata_chain_read_ogg_with_callbacks()
-: <a class="el" href="group__flac__metadata__level2.html#ga9">metadata.h</a><li>FLAC__metadata_chain_read_with_callbacks()
-: <a class="el" href="group__flac__metadata__level2.html#ga8">metadata.h</a><li>FLAC__metadata_chain_sort_padding()
-: <a class="el" href="group__flac__metadata__level2.html#ga15">metadata.h</a><li>FLAC__metadata_chain_status()
-: <a class="el" href="group__flac__metadata__level2.html#ga5">metadata.h</a><li>FLAC__metadata_chain_write()
-: <a class="el" href="group__flac__metadata__level2.html#ga11">metadata.h</a><li>FLAC__metadata_chain_write_with_callbacks()
-: <a class="el" href="group__flac__metadata__level2.html#ga12">metadata.h</a><li>FLAC__metadata_chain_write_with_callbacks_and_tempfile()
-: <a class="el" href="group__flac__metadata__level2.html#ga13">metadata.h</a><li>FLAC__metadata_get_cuesheet()
-: <a class="el" href="group__flac__metadata__level0.html#ga2">metadata.h</a><li>FLAC__metadata_get_picture()
-: <a class="el" href="group__flac__metadata__level0.html#ga3">metadata.h</a><li>FLAC__metadata_get_streaminfo()
-: <a class="el" href="group__flac__metadata__level0.html#ga0">metadata.h</a><li>FLAC__metadata_get_tags()
-: <a class="el" href="group__flac__metadata__level0.html#ga1">metadata.h</a><li>FLAC__metadata_iterator_delete()
-: <a class="el" href="group__flac__metadata__level2.html#ga17">metadata.h</a><li>FLAC__metadata_iterator_delete_block()
-: <a class="el" href="group__flac__metadata__level2.html#ga24">metadata.h</a><li>FLAC__metadata_iterator_get_block()
-: <a class="el" href="group__flac__metadata__level2.html#ga22">metadata.h</a><li>FLAC__metadata_iterator_get_block_type()
-: <a class="el" href="group__flac__metadata__level2.html#ga21">metadata.h</a><li>FLAC__metadata_iterator_init()
-: <a class="el" href="group__flac__metadata__level2.html#ga18">metadata.h</a><li>FLAC__metadata_iterator_insert_block_after()
-: <a class="el" href="group__flac__metadata__level2.html#ga26">metadata.h</a><li>FLAC__metadata_iterator_insert_block_before()
-: <a class="el" href="group__flac__metadata__level2.html#ga25">metadata.h</a><li>FLAC__metadata_iterator_new()
-: <a class="el" href="group__flac__metadata__level2.html#ga16">metadata.h</a><li>FLAC__metadata_iterator_next()
-: <a class="el" href="group__flac__metadata__level2.html#ga19">metadata.h</a><li>FLAC__metadata_iterator_prev()
-: <a class="el" href="group__flac__metadata__level2.html#ga20">metadata.h</a><li>FLAC__metadata_iterator_set_block()
-: <a class="el" href="group__flac__metadata__level2.html#ga23">metadata.h</a><li>FLAC__metadata_object_application_set_data()
-: <a class="el" href="group__flac__metadata__object.html#ga4">metadata.h</a><li>FLAC__metadata_object_clone()
-: <a class="el" href="group__flac__metadata__object.html#ga1">metadata.h</a><li>FLAC__metadata_object_cuesheet_calculate_cddb_id()
-: <a class="el" href="group__flac__metadata__object.html#ga41">metadata.h</a><li>FLAC__metadata_object_cuesheet_delete_track()
-: <a class="el" href="group__flac__metadata__object.html#ga39">metadata.h</a><li>FLAC__metadata_object_cuesheet_insert_blank_track()
-: <a class="el" href="group__flac__metadata__object.html#ga38">metadata.h</a><li>FLAC__metadata_object_cuesheet_insert_track()
-: <a class="el" href="group__flac__metadata__object.html#ga37">metadata.h</a><li>FLAC__metadata_object_cuesheet_is_legal()
-: <a class="el" href="group__flac__metadata__object.html#ga40">metadata.h</a><li>FLAC__metadata_object_cuesheet_resize_tracks()
-: <a class="el" href="group__flac__metadata__object.html#ga36">metadata.h</a><li>FLAC__metadata_object_cuesheet_track_clone()
-: <a class="el" href="group__flac__metadata__object.html#ga30">metadata.h</a><li>FLAC__metadata_object_cuesheet_track_delete()
-: <a class="el" href="group__flac__metadata__object.html#ga31">metadata.h</a><li>FLAC__metadata_object_cuesheet_track_delete_index()
-: <a class="el" href="group__flac__metadata__object.html#ga35">metadata.h</a><li>FLAC__metadata_object_cuesheet_track_insert_blank_index()
-: <a class="el" href="group__flac__metadata__object.html#ga34">metadata.h</a><li>FLAC__metadata_object_cuesheet_track_insert_index()
-: <a class="el" href="group__flac__metadata__object.html#ga33">metadata.h</a><li>FLAC__metadata_object_cuesheet_track_new()
-: <a class="el" href="group__flac__metadata__object.html#ga29">metadata.h</a><li>FLAC__metadata_object_cuesheet_track_resize_indices()
-: <a class="el" href="group__flac__metadata__object.html#ga32">metadata.h</a><li>FLAC__metadata_object_delete()
-: <a class="el" href="group__flac__metadata__object.html#ga2">metadata.h</a><li>FLAC__metadata_object_is_equal()
-: <a class="el" href="group__flac__metadata__object.html#ga3">metadata.h</a><li>FLAC__metadata_object_new()
-: <a class="el" href="group__flac__metadata__object.html#ga0">metadata.h</a><li>FLAC__metadata_object_picture_is_legal()
-: <a class="el" href="group__flac__metadata__object.html#ga45">metadata.h</a><li>FLAC__metadata_object_picture_set_data()
-: <a class="el" href="group__flac__metadata__object.html#ga44">metadata.h</a><li>FLAC__metadata_object_picture_set_description()
-: <a class="el" href="group__flac__metadata__object.html#ga43">metadata.h</a><li>FLAC__metadata_object_picture_set_mime_type()
-: <a class="el" href="group__flac__metadata__object.html#ga42">metadata.h</a><li>FLAC__metadata_object_seektable_delete_point()
-: <a class="el" href="group__flac__metadata__object.html#ga8">metadata.h</a><li>FLAC__metadata_object_seektable_insert_point()
-: <a class="el" href="group__flac__metadata__object.html#ga7">metadata.h</a><li>FLAC__metadata_object_seektable_is_legal()
-: <a class="el" href="group__flac__metadata__object.html#ga9">metadata.h</a><li>FLAC__metadata_object_seektable_resize_points()
-: <a class="el" href="group__flac__metadata__object.html#ga5">metadata.h</a><li>FLAC__metadata_object_seektable_set_point()
-: <a class="el" href="group__flac__metadata__object.html#ga6">metadata.h</a><li>FLAC__metadata_object_seektable_template_append_placeholders()
-: <a class="el" href="group__flac__metadata__object.html#ga10">metadata.h</a><li>FLAC__metadata_object_seektable_template_append_point()
-: <a class="el" href="group__flac__metadata__object.html#ga11">metadata.h</a><li>FLAC__metadata_object_seektable_template_append_points()
-: <a class="el" href="group__flac__metadata__object.html#ga12">metadata.h</a><li>FLAC__metadata_object_seektable_template_append_spaced_points()
-: <a class="el" href="group__flac__metadata__object.html#ga13">metadata.h</a><li>FLAC__metadata_object_seektable_template_append_spaced_points_by_samples()
-: <a class="el" href="group__flac__metadata__object.html#ga14">metadata.h</a><li>FLAC__metadata_object_seektable_template_sort()
-: <a class="el" href="group__flac__metadata__object.html#ga15">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_append_comment()
-: <a class="el" href="group__flac__metadata__object.html#ga20">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_delete_comment()
-: <a class="el" href="group__flac__metadata__object.html#ga22">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair()
-: <a class="el" href="group__flac__metadata__object.html#ga23">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_entry_matches()
-: <a class="el" href="group__flac__metadata__object.html#ga25">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair()
-: <a class="el" href="group__flac__metadata__object.html#ga24">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_find_entry_from()
-: <a class="el" href="group__flac__metadata__object.html#ga26">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_insert_comment()
-: <a class="el" href="group__flac__metadata__object.html#ga19">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_remove_entries_matching()
-: <a class="el" href="group__flac__metadata__object.html#ga28">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_remove_entry_matching()
-: <a class="el" href="group__flac__metadata__object.html#ga27">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_replace_comment()
-: <a class="el" href="group__flac__metadata__object.html#ga21">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_resize_comments()
-: <a class="el" href="group__flac__metadata__object.html#ga17">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_set_comment()
-: <a class="el" href="group__flac__metadata__object.html#ga18">metadata.h</a><li>FLAC__metadata_object_vorbiscomment_set_vendor_string()
-: <a class="el" href="group__flac__metadata__object.html#ga16">metadata.h</a><li>FLAC__metadata_simple_iterator_delete()
-: <a class="el" href="group__flac__metadata__level1.html#ga3">metadata.h</a><li>FLAC__metadata_simple_iterator_delete_block()
-: <a class="el" href="group__flac__metadata__level1.html#ga17">metadata.h</a><li>FLAC__metadata_simple_iterator_get_application_id()
-: <a class="el" href="group__flac__metadata__level1.html#ga13">metadata.h</a><li>FLAC__metadata_simple_iterator_get_block()
-: <a class="el" href="group__flac__metadata__level1.html#ga14">metadata.h</a><li>FLAC__metadata_simple_iterator_get_block_length()
-: <a class="el" href="group__flac__metadata__level1.html#ga12">metadata.h</a><li>FLAC__metadata_simple_iterator_get_block_offset()
-: <a class="el" href="group__flac__metadata__level1.html#ga10">metadata.h</a><li>FLAC__metadata_simple_iterator_get_block_type()
-: <a class="el" href="group__flac__metadata__level1.html#ga11">metadata.h</a><li>FLAC__metadata_simple_iterator_init()
-: <a class="el" href="group__flac__metadata__level1.html#ga5">metadata.h</a><li>FLAC__metadata_simple_iterator_insert_block_after()
-: <a class="el" href="group__flac__metadata__level1.html#ga16">metadata.h</a><li>FLAC__metadata_simple_iterator_is_last()
-: <a class="el" href="group__flac__metadata__level1.html#ga9">metadata.h</a><li>FLAC__metadata_simple_iterator_is_writable()
-: <a class="el" href="group__flac__metadata__level1.html#ga6">metadata.h</a><li>FLAC__metadata_simple_iterator_new()
-: <a class="el" href="group__flac__metadata__level1.html#ga2">metadata.h</a><li>FLAC__metadata_simple_iterator_next()
-: <a class="el" href="group__flac__metadata__level1.html#ga7">metadata.h</a><li>FLAC__metadata_simple_iterator_prev()
-: <a class="el" href="group__flac__metadata__level1.html#ga8">metadata.h</a><li>FLAC__metadata_simple_iterator_set_block()
-: <a class="el" href="group__flac__metadata__level1.html#ga15">metadata.h</a><li>FLAC__metadata_simple_iterator_status()
-: <a class="el" href="group__flac__metadata__level1.html#ga4">metadata.h</a><li>FLAC__stream_decoder_delete()
-: <a class="el" href="group__flac__stream__decoder.html#ga17">stream_decoder.h</a><li>FLAC__stream_decoder_finish()
-: <a class="el" href="group__flac__stream__decoder.html#ga42">stream_decoder.h</a><li>FLAC__stream_decoder_flush()
-: <a class="el" href="group__flac__stream__decoder.html#ga43">stream_decoder.h</a><li>FLAC__stream_decoder_get_bits_per_sample()
-: <a class="el" href="group__flac__stream__decoder.html#ga32">stream_decoder.h</a><li>FLAC__stream_decoder_get_blocksize()
-: <a class="el" href="group__flac__stream__decoder.html#ga34">stream_decoder.h</a><li>FLAC__stream_decoder_get_channel_assignment()
-: <a class="el" href="group__flac__stream__decoder.html#ga31">stream_decoder.h</a><li>FLAC__stream_decoder_get_channels()
-: <a class="el" href="group__flac__stream__decoder.html#ga30">stream_decoder.h</a><li>FLAC__stream_decoder_get_decode_position()
-: <a class="el" href="group__flac__stream__decoder.html#ga35">stream_decoder.h</a><li>FLAC__stream_decoder_get_md5_checking()
-: <a class="el" href="group__flac__stream__decoder.html#ga28">stream_decoder.h</a><li>FLAC__stream_decoder_get_resolved_state_string()
-: <a class="el" href="group__flac__stream__decoder.html#ga27">stream_decoder.h</a><li>FLAC__stream_decoder_get_sample_rate()
-: <a class="el" href="group__flac__stream__decoder.html#ga33">stream_decoder.h</a><li>FLAC__stream_decoder_get_state()
-: <a class="el" href="group__flac__stream__decoder.html#ga26">stream_decoder.h</a><li>FLAC__stream_decoder_get_total_samples()
-: <a class="el" href="group__flac__stream__decoder.html#ga29">stream_decoder.h</a><li>FLAC__stream_decoder_init_FILE()
-: <a class="el" href="group__flac__stream__decoder.html#ga38">stream_decoder.h</a><li>FLAC__stream_decoder_init_file()
-: <a class="el" href="group__flac__stream__decoder.html#ga40">stream_decoder.h</a><li>FLAC__stream_decoder_init_ogg_file()
-: <a class="el" href="group__flac__stream__decoder.html#ga41">stream_decoder.h</a><li>FLAC__stream_decoder_init_ogg_FILE()
-: <a class="el" href="group__flac__stream__decoder.html#ga39">stream_decoder.h</a><li>FLAC__stream_decoder_init_ogg_stream()
-: <a class="el" href="group__flac__stream__decoder.html#ga37">stream_decoder.h</a><li>FLAC__stream_decoder_init_stream()
-: <a class="el" href="group__flac__stream__decoder.html#ga36">stream_decoder.h</a><li>FLAC__stream_decoder_new()
-: <a class="el" href="group__flac__stream__decoder.html#ga16">stream_decoder.h</a><li>FLAC__stream_decoder_process_single()
-: <a class="el" href="group__flac__stream__decoder.html#ga45">stream_decoder.h</a><li>FLAC__stream_decoder_process_until_end_of_metadata()
-: <a class="el" href="group__flac__stream__decoder.html#ga46">stream_decoder.h</a><li>FLAC__stream_decoder_process_until_end_of_stream()
-: <a class="el" href="group__flac__stream__decoder.html#ga47">stream_decoder.h</a><li>FLAC__stream_decoder_reset()
-: <a class="el" href="group__flac__stream__decoder.html#ga44">stream_decoder.h</a><li>FLAC__stream_decoder_seek_absolute()
-: <a class="el" href="group__flac__stream__decoder.html#ga49">stream_decoder.h</a><li>FLAC__stream_decoder_set_md5_checking()
-: <a class="el" href="group__flac__stream__decoder.html#ga19">stream_decoder.h</a><li>FLAC__stream_decoder_set_metadata_ignore()
-: <a class="el" href="group__flac__stream__decoder.html#ga23">stream_decoder.h</a><li>FLAC__stream_decoder_set_metadata_ignore_all()
-: <a class="el" href="group__flac__stream__decoder.html#ga25">stream_decoder.h</a><li>FLAC__stream_decoder_set_metadata_ignore_application()
-: <a class="el" href="group__flac__stream__decoder.html#ga24">stream_decoder.h</a><li>FLAC__stream_decoder_set_metadata_respond()
-: <a class="el" href="group__flac__stream__decoder.html#ga20">stream_decoder.h</a><li>FLAC__stream_decoder_set_metadata_respond_all()
-: <a class="el" href="group__flac__stream__decoder.html#ga22">stream_decoder.h</a><li>FLAC__stream_decoder_set_metadata_respond_application()
-: <a class="el" href="group__flac__stream__decoder.html#ga21">stream_decoder.h</a><li>FLAC__stream_decoder_set_ogg_serial_number()
-: <a class="el" href="group__flac__stream__decoder.html#ga18">stream_decoder.h</a><li>FLAC__stream_decoder_skip_single_frame()
-: <a class="el" href="group__flac__stream__decoder.html#ga48">stream_decoder.h</a><li>FLAC__stream_encoder_delete()
-: <a class="el" href="group__flac__stream__encoder.html#ga13">stream_encoder.h</a><li>FLAC__stream_encoder_finish()
-: <a class="el" href="group__flac__stream__encoder.html#ga62">stream_encoder.h</a><li>FLAC__stream_encoder_get_bits_per_sample()
-: <a class="el" href="group__flac__stream__encoder.html#ga42">stream_encoder.h</a><li>FLAC__stream_encoder_get_blocksize()
-: <a class="el" href="group__flac__stream__encoder.html#ga44">stream_encoder.h</a><li>FLAC__stream_encoder_get_channels()
-: <a class="el" href="group__flac__stream__encoder.html#ga41">stream_encoder.h</a><li>FLAC__stream_encoder_get_do_escape_coding()
-: <a class="el" href="group__flac__stream__encoder.html#ga50">stream_encoder.h</a><li>FLAC__stream_encoder_get_do_exhaustive_model_search()
-: <a class="el" href="group__flac__stream__encoder.html#ga51">stream_encoder.h</a><li>FLAC__stream_encoder_get_do_mid_side_stereo()
-: <a class="el" href="group__flac__stream__encoder.html#ga45">stream_encoder.h</a><li>FLAC__stream_encoder_get_do_qlp_coeff_prec_search()
-: <a class="el" href="group__flac__stream__encoder.html#ga49">stream_encoder.h</a><li>FLAC__stream_encoder_get_loose_mid_side_stereo()
-: <a class="el" href="group__flac__stream__encoder.html#ga46">stream_encoder.h</a><li>FLAC__stream_encoder_get_max_lpc_order()
-: <a class="el" href="group__flac__stream__encoder.html#ga47">stream_encoder.h</a><li>FLAC__stream_encoder_get_max_residual_partition_order()
-: <a class="el" href="group__flac__stream__encoder.html#ga53">stream_encoder.h</a><li>FLAC__stream_encoder_get_min_residual_partition_order()
-: <a class="el" href="group__flac__stream__encoder.html#ga52">stream_encoder.h</a><li>FLAC__stream_encoder_get_qlp_coeff_precision()
-: <a class="el" href="group__flac__stream__encoder.html#ga48">stream_encoder.h</a><li>FLAC__stream_encoder_get_resolved_state_string()
-: <a class="el" href="group__flac__stream__encoder.html#ga37">stream_encoder.h</a><li>FLAC__stream_encoder_get_rice_parameter_search_dist()
-: <a class="el" href="group__flac__stream__encoder.html#ga54">stream_encoder.h</a><li>FLAC__stream_encoder_get_sample_rate()
-: <a class="el" href="group__flac__stream__encoder.html#ga43">stream_encoder.h</a><li>FLAC__stream_encoder_get_state()
-: <a class="el" href="group__flac__stream__encoder.html#ga35">stream_encoder.h</a><li>FLAC__stream_encoder_get_streamable_subset()
-: <a class="el" href="group__flac__stream__encoder.html#ga40">stream_encoder.h</a><li>FLAC__stream_encoder_get_total_samples_estimate()
-: <a class="el" href="group__flac__stream__encoder.html#ga55">stream_encoder.h</a><li>FLAC__stream_encoder_get_verify()
-: <a class="el" href="group__flac__stream__encoder.html#ga39">stream_encoder.h</a><li>FLAC__stream_encoder_get_verify_decoder_error_stats()
-: <a class="el" href="group__flac__stream__encoder.html#ga38">stream_encoder.h</a><li>FLAC__stream_encoder_get_verify_decoder_state()
-: <a class="el" href="group__flac__stream__encoder.html#ga36">stream_encoder.h</a><li>FLAC__stream_encoder_init_FILE()
-: <a class="el" href="group__flac__stream__encoder.html#ga58">stream_encoder.h</a><li>FLAC__stream_encoder_init_file()
-: <a class="el" href="group__flac__stream__encoder.html#ga60">stream_encoder.h</a><li>FLAC__stream_encoder_init_ogg_FILE()
-: <a class="el" href="group__flac__stream__encoder.html#ga59">stream_encoder.h</a><li>FLAC__stream_encoder_init_ogg_file()
-: <a class="el" href="group__flac__stream__encoder.html#ga61">stream_encoder.h</a><li>FLAC__stream_encoder_init_ogg_stream()
-: <a class="el" href="group__flac__stream__encoder.html#ga57">stream_encoder.h</a><li>FLAC__stream_encoder_init_stream()
-: <a class="el" href="group__flac__stream__encoder.html#ga56">stream_encoder.h</a><li>FLAC__stream_encoder_new()
-: <a class="el" href="group__flac__stream__encoder.html#ga12">stream_encoder.h</a><li>FLAC__stream_encoder_process()
-: <a class="el" href="group__flac__stream__encoder.html#ga63">stream_encoder.h</a><li>FLAC__stream_encoder_process_interleaved()
-: <a class="el" href="group__flac__stream__encoder.html#ga64">stream_encoder.h</a><li>FLAC__stream_encoder_set_apodization()
-: <a class="el" href="group__flac__stream__encoder.html#ga24">stream_encoder.h</a><li>FLAC__stream_encoder_set_bits_per_sample()
-: <a class="el" href="group__flac__stream__encoder.html#ga18">stream_encoder.h</a><li>FLAC__stream_encoder_set_blocksize()
-: <a class="el" href="group__flac__stream__encoder.html#ga21">stream_encoder.h</a><li>FLAC__stream_encoder_set_channels()
-: <a class="el" href="group__flac__stream__encoder.html#ga17">stream_encoder.h</a><li>FLAC__stream_encoder_set_compression_level()
-: <a class="el" href="group__flac__stream__encoder.html#ga20">stream_encoder.h</a><li>FLAC__stream_encoder_set_do_escape_coding()
-: <a class="el" href="group__flac__stream__encoder.html#ga28">stream_encoder.h</a><li>FLAC__stream_encoder_set_do_exhaustive_model_search()
-: <a class="el" href="group__flac__stream__encoder.html#ga29">stream_encoder.h</a><li>FLAC__stream_encoder_set_do_mid_side_stereo()
-: <a class="el" href="group__flac__stream__encoder.html#ga22">stream_encoder.h</a><li>FLAC__stream_encoder_set_do_qlp_coeff_prec_search()
-: <a class="el" href="group__flac__stream__encoder.html#ga27">stream_encoder.h</a><li>FLAC__stream_encoder_set_loose_mid_side_stereo()
-: <a class="el" href="group__flac__stream__encoder.html#ga23">stream_encoder.h</a><li>FLAC__stream_encoder_set_max_lpc_order()
-: <a class="el" href="group__flac__stream__encoder.html#ga25">stream_encoder.h</a><li>FLAC__stream_encoder_set_max_residual_partition_order()
-: <a class="el" href="group__flac__stream__encoder.html#ga31">stream_encoder.h</a><li>FLAC__stream_encoder_set_metadata()
-: <a class="el" href="group__flac__stream__encoder.html#ga34">stream_encoder.h</a><li>FLAC__stream_encoder_set_min_residual_partition_order()
-: <a class="el" href="group__flac__stream__encoder.html#ga30">stream_encoder.h</a><li>FLAC__stream_encoder_set_ogg_serial_number()
-: <a class="el" href="group__flac__stream__encoder.html#ga14">stream_encoder.h</a><li>FLAC__stream_encoder_set_qlp_coeff_precision()
-: <a class="el" href="group__flac__stream__encoder.html#ga26">stream_encoder.h</a><li>FLAC__stream_encoder_set_rice_parameter_search_dist()
-: <a class="el" href="group__flac__stream__encoder.html#ga32">stream_encoder.h</a><li>FLAC__stream_encoder_set_sample_rate()
-: <a class="el" href="group__flac__stream__encoder.html#ga19">stream_encoder.h</a><li>FLAC__stream_encoder_set_streamable_subset()
-: <a class="el" href="group__flac__stream__encoder.html#ga16">stream_encoder.h</a><li>FLAC__stream_encoder_set_total_samples_estimate()
-: <a class="el" href="group__flac__stream__encoder.html#ga33">stream_encoder.h</a><li>FLAC__stream_encoder_set_verify()
-: <a class="el" href="group__flac__stream__encoder.html#ga15">stream_encoder.h</a></ul>
-<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
-<li>get_cuesheet()
-: <a class="el" href="group__flacpp__metadata__level0.html#ga4">metadata.h</a><li>get_picture()
-: <a class="el" href="group__flacpp__metadata__level0.html#ga6">metadata.h</a><li>get_streaminfo()
-: <a class="el" href="group__flacpp__metadata__level0.html#ga0">metadata.h</a><li>get_tags()
-: <a class="el" href="group__flacpp__metadata__level0.html#ga2">metadata.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/globals_type.html b/3rdparty/libflac/doc/html/api/globals_type.html
deleted file mode 100644
index df3aac96b2b..00000000000
--- a/3rdparty/libflac/doc/html/api/globals_type.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindex" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindexHL" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumeration&nbsp;values</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-
-<p>
-<ul>
-<li>FLAC__IOCallback_Close
-: <a class="el" href="group__flac__callbacks.html#ga6">callback.h</a><li>FLAC__IOCallback_Eof
-: <a class="el" href="group__flac__callbacks.html#ga5">callback.h</a><li>FLAC__IOCallback_Read
-: <a class="el" href="group__flac__callbacks.html#ga1">callback.h</a><li>FLAC__IOCallback_Seek
-: <a class="el" href="group__flac__callbacks.html#ga3">callback.h</a><li>FLAC__IOCallback_Tell
-: <a class="el" href="group__flac__callbacks.html#ga4">callback.h</a><li>FLAC__IOCallback_Write
-: <a class="el" href="group__flac__callbacks.html#ga2">callback.h</a><li>FLAC__IOHandle
-: <a class="el" href="group__flac__callbacks.html#ga0">callback.h</a><li>FLAC__Metadata_Chain
-: <a class="el" href="group__flac__metadata__level2.html#ga0">metadata.h</a><li>FLAC__Metadata_Iterator
-: <a class="el" href="group__flac__metadata__level2.html#ga1">metadata.h</a><li>FLAC__Metadata_SimpleIterator
-: <a class="el" href="group__flac__metadata__level1.html#ga0">metadata.h</a><li>FLAC__StreamDecoderEofCallback
-: <a class="el" href="group__flac__stream__decoder.html#ga12">stream_decoder.h</a><li>FLAC__StreamDecoderErrorCallback
-: <a class="el" href="group__flac__stream__decoder.html#ga15">stream_decoder.h</a><li>FLAC__StreamDecoderLengthCallback
-: <a class="el" href="group__flac__stream__decoder.html#ga11">stream_decoder.h</a><li>FLAC__StreamDecoderMetadataCallback
-: <a class="el" href="group__flac__stream__decoder.html#ga14">stream_decoder.h</a><li>FLAC__StreamDecoderReadCallback
-: <a class="el" href="group__flac__stream__decoder.html#ga8">stream_decoder.h</a><li>FLAC__StreamDecoderSeekCallback
-: <a class="el" href="group__flac__stream__decoder.html#ga9">stream_decoder.h</a><li>FLAC__StreamDecoderTellCallback
-: <a class="el" href="group__flac__stream__decoder.html#ga10">stream_decoder.h</a><li>FLAC__StreamDecoderWriteCallback
-: <a class="el" href="group__flac__stream__decoder.html#ga13">stream_decoder.h</a><li>FLAC__StreamEncoderMetadataCallback
-: <a class="el" href="group__flac__stream__encoder.html#ga10">stream_encoder.h</a><li>FLAC__StreamEncoderProgressCallback
-: <a class="el" href="group__flac__stream__encoder.html#ga11">stream_encoder.h</a><li>FLAC__StreamEncoderReadCallback
-: <a class="el" href="group__flac__stream__encoder.html#ga6">stream_encoder.h</a><li>FLAC__StreamEncoderSeekCallback
-: <a class="el" href="group__flac__stream__encoder.html#ga8">stream_encoder.h</a><li>FLAC__StreamEncoderTellCallback
-: <a class="el" href="group__flac__stream__encoder.html#ga9">stream_encoder.h</a><li>FLAC__StreamEncoderWriteCallback
-: <a class="el" href="group__flac__stream__encoder.html#ga7">stream_encoder.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/globals_vars.html b/3rdparty/libflac/doc/html/api/globals_vars.html
deleted file mode 100644
index d9ec2896cf5..00000000000
--- a/3rdparty/libflac/doc/html/api/globals_vars.html
+++ /dev/null
@@ -1,135 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindex" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindexHL" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumeration&nbsp;values</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="#index_f">f</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
-<li>FLAC__ChannelAssignmentString
-: <a class="el" href="group__flac__format.html#ga23">format.h</a><li>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER
-: <a class="el" href="group__flac__format.html#ga11">format.h</a><li>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN
-: <a class="el" href="group__flac__format.html#ga8">format.h</a><li>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER
-: <a class="el" href="group__flac__format.html#ga10">format.h</a><li>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN
-: <a class="el" href="group__flac__format.html#ga6">format.h</a><li>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN
-: <a class="el" href="group__flac__format.html#ga7">format.h</a><li>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN
-: <a class="el" href="group__flac__format.html#ga9">format.h</a><li>FLAC__ENTROPY_CODING_METHOD_TYPE_LEN
-: <a class="el" href="group__flac__format.html#ga12">format.h</a><li>FLAC__EntropyCodingMethodTypeString
-: <a class="el" href="group__flac__format.html#ga5">format.h</a><li>FLAC__FRAME_FOOTER_CRC_LEN
-: <a class="el" href="group__flac__format.html#ga35">format.h</a><li>FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN
-: <a class="el" href="group__flac__format.html#ga32">format.h</a><li>FLAC__FRAME_HEADER_BLOCK_SIZE_LEN
-: <a class="el" href="group__flac__format.html#ga29">format.h</a><li>FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN
-: <a class="el" href="group__flac__format.html#ga28">format.h</a><li>FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN
-: <a class="el" href="group__flac__format.html#ga31">format.h</a><li>FLAC__FRAME_HEADER_CRC_LEN
-: <a class="el" href="group__flac__format.html#ga34">format.h</a><li>FLAC__FRAME_HEADER_RESERVED_LEN
-: <a class="el" href="group__flac__format.html#ga27">format.h</a><li>FLAC__FRAME_HEADER_SAMPLE_RATE_LEN
-: <a class="el" href="group__flac__format.html#ga30">format.h</a><li>FLAC__FRAME_HEADER_SYNC
-: <a class="el" href="group__flac__format.html#ga25">format.h</a><li>FLAC__FRAME_HEADER_SYNC_LEN
-: <a class="el" href="group__flac__format.html#ga26">format.h</a><li>FLAC__FRAME_HEADER_ZERO_PAD_LEN
-: <a class="el" href="group__flac__format.html#ga33">format.h</a><li>FLAC__FrameNumberTypeString
-: <a class="el" href="group__flac__format.html#ga24">format.h</a><li>FLAC__Metadata_ChainStatusString
-: <a class="el" href="group__flac__metadata__level2.html#ga2">metadata.h</a><li>FLAC__Metadata_SimpleIteratorStatusString
-: <a class="el" href="group__flac__metadata__level1.html#ga1">metadata.h</a><li>FLAC__MetadataTypeString
-: <a class="el" href="group__flac__format.html#ga36">format.h</a><li>FLAC__STREAM_METADATA_APPLICATION_ID_LEN
-: <a class="el" href="group__flac__format.html#ga46">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN
-: <a class="el" href="group__flac__format.html#ga54">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN
-: <a class="el" href="group__flac__format.html#ga53">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN
-: <a class="el" href="group__flac__format.html#ga55">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN
-: <a class="el" href="group__flac__format.html#ga65">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN
-: <a class="el" href="group__flac__format.html#ga64">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN
-: <a class="el" href="group__flac__format.html#ga63">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN
-: <a class="el" href="group__flac__format.html#ga67">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN
-: <a class="el" href="group__flac__format.html#ga66">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN
-: <a class="el" href="group__flac__format.html#ga58">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN
-: <a class="el" href="group__flac__format.html#ga62">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN
-: <a class="el" href="group__flac__format.html#ga57">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN
-: <a class="el" href="group__flac__format.html#ga56">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN
-: <a class="el" href="group__flac__format.html#ga60">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN
-: <a class="el" href="group__flac__format.html#ga61">format.h</a><li>FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN
-: <a class="el" href="group__flac__format.html#ga59">format.h</a><li>FLAC__STREAM_METADATA_IS_LAST_LEN
-: <a class="el" href="group__flac__format.html#ga77">format.h</a><li>FLAC__STREAM_METADATA_LENGTH_LEN
-: <a class="el" href="group__flac__format.html#ga79">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_COLORS_LEN
-: <a class="el" href="group__flac__format.html#ga75">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN
-: <a class="el" href="group__flac__format.html#ga76">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN
-: <a class="el" href="group__flac__format.html#ga74">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN
-: <a class="el" href="group__flac__format.html#ga71">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN
-: <a class="el" href="group__flac__format.html#ga73">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN
-: <a class="el" href="group__flac__format.html#ga70">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_TYPE_LEN
-: <a class="el" href="group__flac__format.html#ga69">format.h</a><li>FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN
-: <a class="el" href="group__flac__format.html#ga72">format.h</a><li>FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN
-: <a class="el" href="group__flac__format.html#ga49">format.h</a><li>FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER
-: <a class="el" href="group__flac__format.html#ga50">format.h</a><li>FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN
-: <a class="el" href="group__flac__format.html#ga47">format.h</a><li>FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN
-: <a class="el" href="group__flac__format.html#ga48">format.h</a><li>FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN
-: <a class="el" href="group__flac__format.html#ga43">format.h</a><li>FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN
-: <a class="el" href="group__flac__format.html#ga42">format.h</a><li>FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN
-: <a class="el" href="group__flac__format.html#ga38">format.h</a><li>FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN
-: <a class="el" href="group__flac__format.html#ga40">format.h</a><li>FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN
-: <a class="el" href="group__flac__format.html#ga45">format.h</a><li>FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN
-: <a class="el" href="group__flac__format.html#ga37">format.h</a><li>FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN
-: <a class="el" href="group__flac__format.html#ga39">format.h</a><li>FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN
-: <a class="el" href="group__flac__format.html#ga41">format.h</a><li>FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN
-: <a class="el" href="group__flac__format.html#ga44">format.h</a><li>FLAC__STREAM_METADATA_TYPE_LEN
-: <a class="el" href="group__flac__format.html#ga78">format.h</a><li>FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN
-: <a class="el" href="group__flac__format.html#ga51">format.h</a><li>FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN
-: <a class="el" href="group__flac__format.html#ga52">format.h</a><li>FLAC__STREAM_SYNC
-: <a class="el" href="group__flac__format.html#ga3">format.h</a><li>FLAC__STREAM_SYNC_LEN
-: <a class="el" href="group__flac__format.html#ga4">format.h</a><li>FLAC__STREAM_SYNC_STRING
-: <a class="el" href="group__flac__format.html#ga2">format.h</a><li>FLAC__StreamDecoderErrorStatusString
-: <a class="el" href="group__flac__stream__decoder.html#ga7">stream_decoder.h</a><li>FLAC__StreamDecoderInitStatusString
-: <a class="el" href="group__flac__stream__decoder.html#ga1">stream_decoder.h</a><li>FLAC__StreamDecoderLengthStatusString
-: <a class="el" href="group__flac__stream__decoder.html#ga5">stream_decoder.h</a><li>FLAC__StreamDecoderReadStatusString
-: <a class="el" href="group__flac__stream__decoder.html#ga2">stream_decoder.h</a><li>FLAC__StreamDecoderSeekStatusString
-: <a class="el" href="group__flac__stream__decoder.html#ga3">stream_decoder.h</a><li>FLAC__StreamDecoderStateString
-: <a class="el" href="group__flac__stream__decoder.html#ga0">stream_decoder.h</a><li>FLAC__StreamDecoderTellStatusString
-: <a class="el" href="group__flac__stream__decoder.html#ga4">stream_decoder.h</a><li>FLAC__StreamDecoderWriteStatusString
-: <a class="el" href="group__flac__stream__decoder.html#ga6">stream_decoder.h</a><li>FLAC__StreamEncoderInitStatusString
-: <a class="el" href="group__flac__stream__encoder.html#ga1">stream_encoder.h</a><li>FLAC__StreamEncoderReadStatusString
-: <a class="el" href="group__flac__stream__encoder.html#ga2">stream_encoder.h</a><li>FLAC__StreamEncoderSeekStatusString
-: <a class="el" href="group__flac__stream__encoder.html#ga4">stream_encoder.h</a><li>FLAC__StreamEncoderStateString
-: <a class="el" href="group__flac__stream__encoder.html#ga0">stream_encoder.h</a><li>FLAC__StreamEncoderTellStatusString
-: <a class="el" href="group__flac__stream__encoder.html#ga5">stream_encoder.h</a><li>FLAC__StreamEncoderWriteStatusString
-: <a class="el" href="group__flac__stream__encoder.html#ga3">stream_encoder.h</a><li>FLAC__StreamMetadata_Picture_TypeString
-: <a class="el" href="group__flac__format.html#ga68">format.h</a><li>FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN
-: <a class="el" href="group__flac__format.html#ga14">format.h</a><li>FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN
-: <a class="el" href="group__flac__format.html#ga15">format.h</a><li>FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK
-: <a class="el" href="group__flac__format.html#ga19">format.h</a><li>FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK
-: <a class="el" href="group__flac__format.html#ga21">format.h</a><li>FLAC__SUBFRAME_TYPE_LEN
-: <a class="el" href="group__flac__format.html#ga17">format.h</a><li>FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK
-: <a class="el" href="group__flac__format.html#ga22">format.h</a><li>FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK
-: <a class="el" href="group__flac__format.html#ga20">format.h</a><li>FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN
-: <a class="el" href="group__flac__format.html#ga18">format.h</a><li>FLAC__SUBFRAME_ZERO_PAD_LEN
-: <a class="el" href="group__flac__format.html#ga16">format.h</a><li>FLAC__SubframeTypeString
-: <a class="el" href="group__flac__format.html#ga13">format.h</a><li>FLAC__VENDOR_STRING
-: <a class="el" href="group__flac__format.html#ga1">format.h</a><li>FLAC__VERSION_STRING
-: <a class="el" href="group__flac__format.html#ga0">format.h</a><li>FLAC_API_SUPPORTS_OGG_FLAC
-: <a class="el" href="group__flac__export.html#ga0">export.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flac.html b/3rdparty/libflac/doc/html/api/group__flac.html
deleted file mode 100644
index b09a06908b8..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flac.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC C API</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC C API</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-The FLAC C API is the interface to libFLAC, a set of structures describing the components of FLAC streams, and functions for encoding and decoding streams, as well as manipulating FLAC metadata in files.<p>
-You should start with the format components as all other modules are dependent on it.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Modules</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__callbacks.html">FLAC/callback.h: I/O callback structures</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__export.html">FLAC/export.h: export symbols</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html">FLAC/format.h: format components</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata.html">FLAC/metadata.h: metadata interfaces</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__decoder.html">FLAC/_decoder.h: decoder interfaces</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__encoder.html">FLAC/_encoder.h: encoder interfaces</a></td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flac__callbacks.html b/3rdparty/libflac/doc/html/api/group__flac__callbacks.html
deleted file mode 100644
index e5355f41f33..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flac__callbacks.html
+++ /dev/null
@@ -1,299 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC/callback.h: I/O callback structures</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC/callback.h: I/O callback structures<br>
-<small>
-[<a class="el" href="group__flac.html">FLAC C API</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module defines the structures for describing I/O callbacks to the other FLAC interfaces.
-<p>
-The purpose of the I/O callback functions is to create a common way for the metadata interfaces to handle I/O.<p>
-Originally the metadata interfaces required filenames as the way of specifying FLAC files to operate on. This is problematic in some environments so there is an additional option to specify a set of callbacks for doing I/O on the FLAC file, instead of the filename.<p>
-In addition to the callbacks, a FLAC__IOHandle type is defined as an opaque structure for a data source.<p>
-The callback function prototypes are similar (but not identical) to the stdio functions fread, fwrite, fseek, ftell, feof, and fclose. If you use stdio streams to implement the callbacks, you can pass fread, fwrite, and fclose anywhere a FLAC__IOCallback_Read, FLAC__IOCallback_Write, or FLAC__IOCallback_Close is required, and a FILE* anywhere a FLAC__IOHandle is required. <dl compact><dt><b>Warning:</b></dt><dd>You generally CANNOT directly use fseek or ftell for FLAC__IOCallback_Seek or FLAC__IOCallback_Tell since on most systems these use 32-bit offsets and FLAC requires 64-bit offsets to deal with large files. You will have to find an equivalent function (e.g. ftello), or write a wrapper. The same is true for feof() since this is usually implemented as a macro, not as a function whose address can be taken. </dd></dl>
-
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef size_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__callbacks.html#ga1">FLAC__IOCallback_Read</a> )(void *ptr, size_t size, size_t nmemb, <a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef size_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__callbacks.html#ga2">FLAC__IOCallback_Write</a> )(const void *ptr, size_t size, size_t nmemb, <a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__callbacks.html#ga3">FLAC__IOCallback_Seek</a> )(<a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, FLAC__int64 offset, int whence)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef FLAC__int64(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__callbacks.html#ga4">FLAC__IOCallback_Tell</a> )(<a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__callbacks.html#ga5">FLAC__IOCallback_Eof</a> )(<a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__callbacks.html#ga6">FLAC__IOCallback_Close</a> )(<a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle)</td></tr>
-
-</table>
-<hr><h2>Typedef Documentation</h2>
-<a class="anchor" name="ga0" doxytag="callback.h::FLAC__IOHandle"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef void* <a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-This is the opaque handle type used by the callbacks. Typically this is a <code>FILE*</code> or address of a file descriptor. </td>
- </tr>
-</table>
-<a class="anchor" name="ga1" doxytag="callback.h::FLAC__IOCallback_Read"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef size_t(* <a class="el" href="group__flac__callbacks.html#ga1">FLAC__IOCallback_Read</a>)(void *ptr, size_t size, size_t nmemb, <a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Signature for the read callback. The signature and semantics match POSIX fread() implementations and can generally be used interchangeably.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ptr</em>&nbsp;</td><td>The address of the read buffer. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The size of the records to be read. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>nmemb</em>&nbsp;</td><td>The number of records to be read. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>The handle to the data source. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>size_t</em>&nbsp;</td><td>The number of records read. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga2" doxytag="callback.h::FLAC__IOCallback_Write"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef size_t(* <a class="el" href="group__flac__callbacks.html#ga2">FLAC__IOCallback_Write</a>)(const void *ptr, size_t size, size_t nmemb, <a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Signature for the write callback. The signature and semantics match POSIX fwrite() implementations and can generally be used interchangeably.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ptr</em>&nbsp;</td><td>The address of the write buffer. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The size of the records to be written. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>nmemb</em>&nbsp;</td><td>The number of records to be written. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>The handle to the data source. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>size_t</em>&nbsp;</td><td>The number of records written. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga3" doxytag="callback.h::FLAC__IOCallback_Seek"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef int(* <a class="el" href="group__flac__callbacks.html#ga3">FLAC__IOCallback_Seek</a>)(<a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, FLAC__int64 offset, int whence) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Signature for the seek callback. The signature and semantics mostly match POSIX fseek() WITH ONE IMPORTANT EXCEPTION: the offset is a 64-bit type whereas fseek() is generally 'long' and 32-bits wide.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>The handle to the data source. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>The new position, relative to <em>whence</em> </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>whence</em>&nbsp;</td><td><code>SEEK_SET</code>, <code>SEEK_CUR</code>, or <code>SEEK_END</code> </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>int</em>&nbsp;</td><td><code>0</code> on success, <code>-1</code> on error. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga4" doxytag="callback.h::FLAC__IOCallback_Tell"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef FLAC__int64(* <a class="el" href="group__flac__callbacks.html#ga4">FLAC__IOCallback_Tell</a>)(<a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Signature for the tell callback. The signature and semantics mostly match POSIX ftell() WITH ONE IMPORTANT EXCEPTION: the offset is a 64-bit type whereas ftell() is generally 'long' and 32-bits wide.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>The handle to the data source. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__int64</em>&nbsp;</td><td>The current position on success, <code>-1</code> on error. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga5" doxytag="callback.h::FLAC__IOCallback_Eof"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef int(* <a class="el" href="group__flac__callbacks.html#ga5">FLAC__IOCallback_Eof</a>)(<a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Signature for the EOF callback. The signature and semantics mostly match POSIX feof() but WATCHOUT: on many systems, feof() is a macro, so in this case a wrapper function must be provided instead.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>The handle to the data source. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>int</em>&nbsp;</td><td><code>0</code> if not at end of file, nonzero if at end of file. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga6" doxytag="callback.h::FLAC__IOCallback_Close"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef int(* <a class="el" href="group__flac__callbacks.html#ga6">FLAC__IOCallback_Close</a>)(<a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Signature for the close callback. The signature and semantics match POSIX fclose() implementations and can generally be used interchangeably.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>The handle to the data source. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>int</em>&nbsp;</td><td><code>0</code> on success, <code>EOF</code> on error. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flac__decoder.html b/3rdparty/libflac/doc/html/api/group__flac__decoder.html
deleted file mode 100644
index 0b93ceccf0c..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flac__decoder.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC/_decoder.h: decoder interfaces</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC/_decoder.h: decoder interfaces<br>
-<small>
-[<a class="el" href="group__flac.html">FLAC C API</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module describes the decoder layers provided by libFLAC.
-<p>
-The stream decoder can be used to decode complete streams either from the client via callbacks, or directly from a file, depending on how it is initialized. When decoding via callbacks, the client provides callbacks for reading FLAC data and writing decoded samples, and handling metadata and errors. If the client also supplies seek-related callback, the decoder function for sample-accurate seeking within the FLAC input is also available. When decoding from a file, the client needs only supply a filename or open <code>FILE*</code> and write/metadata/error callbacks; the rest of the callbacks are supplied internally. For more info see the <a class="el" href="group__flac__stream__decoder.html">stream decoder </a> module.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Modules</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html">FLAC/stream_decoder.h: stream decoder interface</a></td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flac__encoder.html b/3rdparty/libflac/doc/html/api/group__flac__encoder.html
deleted file mode 100644
index 5e813f3e12b..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flac__encoder.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC/_encoder.h: encoder interfaces</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC/_encoder.h: encoder interfaces<br>
-<small>
-[<a class="el" href="group__flac.html">FLAC C API</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module describes the encoder layers provided by libFLAC.
-<p>
-The stream encoder can be used to encode complete streams either to the client via callbacks, or directly to a file, depending on how it is initialized. When encoding via callbacks, the client provides a write callback which will be called whenever FLAC data is ready to be written. If the client also supplies a seek callback, the encoder will also automatically handle the writing back of metadata discovered while encoding, like stream info, seek points offsets, etc. When encoding to a file, the client needs only supply a filename or open <code>FILE*</code> and an optional progress callback for periodic notification of progress; the write and seek callbacks are supplied internally. For more info see the <a class="el" href="group__flac__stream__encoder.html">stream encoder </a> module.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Modules</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html">FLAC/stream_encoder.h: stream encoder interface</a></td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flac__export.html b/3rdparty/libflac/doc/html/api/group__flac__export.html
deleted file mode 100644
index 248c862baa0..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flac__export.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC/export.h: export symbols</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC/export.h: export symbols<br>
-<small>
-[<a class="el" href="group__flac.html">FLAC C API</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module contains #defines and symbols for exporting function calls, and providing version information and compiled-in features.
-<p>
-If you are compiling with MSVC and will link to the static library (libFLAC.lib) you should define FLAC__NO_DLL in your project to make sure the symbols are exported properly.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga1" doxytag="flac_export::FLAC_API"></a>
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>FLAC_API</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__export.html#ga2">FLAC_API_VERSION_CURRENT</a>&nbsp;&nbsp;&nbsp;10</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__export.html#ga3">FLAC_API_VERSION_REVISION</a>&nbsp;&nbsp;&nbsp;0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__export.html#ga4">FLAC_API_VERSION_AGE</a>&nbsp;&nbsp;&nbsp;2</td></tr>
-
-<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__export.html#ga0">FLAC_API_SUPPORTS_OGG_FLAC</a></td></tr>
-
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="ga2" doxytag="export.h::FLAC_API_VERSION_CURRENT"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC_API_VERSION_CURRENT&nbsp;&nbsp;&nbsp;10 </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-These #defines will mirror the libtool-based library version number, see <a href="http://www.gnu.org/software/libtool/manual.html#Libtool-versioning">http://www.gnu.org/software/libtool/manual.html#Libtool-versioning</a> </td>
- </tr>
-</table>
-<a class="anchor" name="ga3" doxytag="export.h::FLAC_API_VERSION_REVISION"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC_API_VERSION_REVISION&nbsp;&nbsp;&nbsp;0 </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-see above </td>
- </tr>
-</table>
-<a class="anchor" name="ga4" doxytag="export.h::FLAC_API_VERSION_AGE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC_API_VERSION_AGE&nbsp;&nbsp;&nbsp;2 </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-see above </td>
- </tr>
-</table>
-<hr><h2>Variable Documentation</h2>
-<a class="anchor" name="ga0" doxytag="export.h::FLAC_API_SUPPORTS_OGG_FLAC"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">int <a class="el" href="group__flac__export.html#ga0">FLAC_API_SUPPORTS_OGG_FLAC</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-<code>1</code> if the library has been compiled with support for Ogg FLAC, else <code>0</code>. </td>
- </tr>
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flac__format.html b/3rdparty/libflac/doc/html/api/group__flac__format.html
deleted file mode 100644
index 4d85015074d..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flac__format.html
+++ /dev/null
@@ -1,3353 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC/format.h: format components</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC/format.h: format components<br>
-<small>
-[<a class="el" href="group__flac.html">FLAC C API</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module contains structure definitions for the representation of FLAC format components in memory. These are the basic structures used by the rest of the interfaces.
-<p>
-First, you should be familiar with the <a href="../format.html">FLAC format</a>. Many of the values here follow directly from the specification. As a user of libFLAC, the interesting parts really are the structures that describe the frame header and metadata blocks.<p>
-The format structures here are very primitive, designed to store information in an efficient way. Reading information from the structures is easy but creating or modifying them directly is more complex. For the most part, as a user of a library, editing is not necessary; however, for metadata blocks it is, so there are convenience functions provided in the <a class="el" href="group__flac__metadata.html">metadata module </a> to simplify the manipulation of metadata blocks.<p>
-<dl compact><dt><b>Note:</b></dt><dd>It's not the best convention, but symbols ending in _LEN are in bits and _LENGTH are in bytes. _LENGTH symbols are #defines instead of global variables because they are usually used when declaring byte arrays and some compilers require compile-time knowledge of array sizes when declared on the stack. </dd></dl>
-
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html">FLAC__EntropyCodingMethod_PartitionedRiceContents</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRice.html">FLAC__EntropyCodingMethod_PartitionedRice</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____Subframe__Constant.html">FLAC__Subframe_Constant</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____Subframe__Verbatim.html">FLAC__Subframe_Verbatim</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____Subframe__Fixed.html">FLAC__Subframe_Fixed</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____Subframe__LPC.html">FLAC__Subframe_LPC</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____Subframe.html">FLAC__Subframe</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____FrameFooter.html">FLAC__FrameFooter</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____Frame.html">FLAC__Frame</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__Padding.html">FLAC__StreamMetadata_Padding</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__Application.html">FLAC__StreamMetadata_Application</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__VorbisComment.html">FLAC__StreamMetadata_VorbisComment</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__CueSheet.html">FLAC__StreamMetadata_CueSheet</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__Unknown.html">FLAC__StreamMetadata_Unknown</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga89">FLAC__MAX_METADATA_TYPE_CODE</a>&nbsp;&nbsp;&nbsp;(126u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga90">FLAC__MIN_BLOCK_SIZE</a>&nbsp;&nbsp;&nbsp;(16u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga91">FLAC__MAX_BLOCK_SIZE</a>&nbsp;&nbsp;&nbsp;(65535u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga92">FLAC__SUBSET_MAX_BLOCK_SIZE_48000HZ</a>&nbsp;&nbsp;&nbsp;(4608u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga93">FLAC__MAX_CHANNELS</a>&nbsp;&nbsp;&nbsp;(8u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga94">FLAC__MIN_BITS_PER_SAMPLE</a>&nbsp;&nbsp;&nbsp;(4u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga95">FLAC__MAX_BITS_PER_SAMPLE</a>&nbsp;&nbsp;&nbsp;(32u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga96">FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE</a>&nbsp;&nbsp;&nbsp;(24u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga97">FLAC__MAX_SAMPLE_RATE</a>&nbsp;&nbsp;&nbsp;(655350u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga98">FLAC__MAX_LPC_ORDER</a>&nbsp;&nbsp;&nbsp;(32u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga99">FLAC__SUBSET_MAX_LPC_ORDER_48000HZ</a>&nbsp;&nbsp;&nbsp;(12u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga100">FLAC__MIN_QLP_COEFF_PRECISION</a>&nbsp;&nbsp;&nbsp;(5u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga101">FLAC__MAX_QLP_COEFF_PRECISION</a>&nbsp;&nbsp;&nbsp;(15u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga102">FLAC__MAX_FIXED_ORDER</a>&nbsp;&nbsp;&nbsp;(4u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga103">FLAC__MAX_RICE_PARTITION_ORDER</a>&nbsp;&nbsp;&nbsp;(15u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga104">FLAC__SUBSET_MAX_RICE_PARTITION_ORDER</a>&nbsp;&nbsp;&nbsp;(8u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga105">FLAC__STREAM_SYNC_LENGTH</a>&nbsp;&nbsp;&nbsp;(4u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga106">FLAC__STREAM_METADATA_STREAMINFO_LENGTH</a>&nbsp;&nbsp;&nbsp;(34u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga107">FLAC__STREAM_METADATA_SEEKPOINT_LENGTH</a>&nbsp;&nbsp;&nbsp;(18u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga108">FLAC__STREAM_METADATA_HEADER_LENGTH</a>&nbsp;&nbsp;&nbsp;(4u)</td></tr>
-
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga109">FLAC__EntropyCodingMethodType</a> { <a class="el" href="group__flac__format.html#gga109a100">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE</a> = 0,
-<a class="el" href="group__flac__format.html#gga109a101">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2</a> = 1
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga110">FLAC__SubframeType</a> { <a class="el" href="group__flac__format.html#gga110a102">FLAC__SUBFRAME_TYPE_CONSTANT</a> = 0,
-<a class="el" href="group__flac__format.html#gga110a103">FLAC__SUBFRAME_TYPE_VERBATIM</a> = 1,
-<a class="el" href="group__flac__format.html#gga110a104">FLAC__SUBFRAME_TYPE_FIXED</a> = 2,
-<a class="el" href="group__flac__format.html#gga110a105">FLAC__SUBFRAME_TYPE_LPC</a> = 3
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a> { <a class="el" href="group__flac__format.html#gga111a106">FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT</a> = 0,
-<a class="el" href="group__flac__format.html#gga111a107">FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE</a> = 1,
-<a class="el" href="group__flac__format.html#gga111a108">FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE</a> = 2,
-<a class="el" href="group__flac__format.html#gga111a109">FLAC__CHANNEL_ASSIGNMENT_MID_SIDE</a> = 3
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga112">FLAC__FrameNumberType</a> { <a class="el" href="group__flac__format.html#gga112a110">FLAC__FRAME_NUMBER_TYPE_FRAME_NUMBER</a>,
-<a class="el" href="group__flac__format.html#gga112a111">FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER</a>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> { <br>
-&nbsp;&nbsp;<a class="el" href="group__flac__format.html#gga113a112">FLAC__METADATA_TYPE_STREAMINFO</a> = 0,
-<a class="el" href="group__flac__format.html#gga113a113">FLAC__METADATA_TYPE_PADDING</a> = 1,
-<a class="el" href="group__flac__format.html#gga113a114">FLAC__METADATA_TYPE_APPLICATION</a> = 2,
-<a class="el" href="group__flac__format.html#gga113a115">FLAC__METADATA_TYPE_SEEKTABLE</a> = 3,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__format.html#gga113a116">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> = 4,
-<a class="el" href="group__flac__format.html#gga113a117">FLAC__METADATA_TYPE_CUESHEET</a> = 5,
-<a class="el" href="group__flac__format.html#gga113a118">FLAC__METADATA_TYPE_PICTURE</a> = 6,
-<a class="el" href="group__flac__format.html#gga113a119">FLAC__METADATA_TYPE_UNDEFINED</a> = 7
-<br>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> { <br>
-&nbsp;&nbsp;<a class="el" href="group__flac__format.html#gga114a120">FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER</a> = 0,
-<a class="el" href="group__flac__format.html#gga114a121">FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD</a> = 1,
-<a class="el" href="group__flac__format.html#gga114a122">FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON</a> = 2,
-<a class="el" href="group__flac__format.html#gga114a123">FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER</a> = 3,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__format.html#gga114a124">FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER</a> = 4,
-<a class="el" href="group__flac__format.html#gga114a125">FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE</a> = 5,
-<a class="el" href="group__flac__format.html#gga114a126">FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA</a> = 6,
-<a class="el" href="group__flac__format.html#gga114a127">FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST</a> = 7,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__format.html#gga114a128">FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST</a> = 8,
-<a class="el" href="group__flac__format.html#gga114a129">FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR</a> = 9,
-<a class="el" href="group__flac__format.html#gga114a130">FLAC__STREAM_METADATA_PICTURE_TYPE_BAND</a> = 10,
-<a class="el" href="group__flac__format.html#gga114a131">FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER</a> = 11,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__format.html#gga114a132">FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST</a> = 12,
-<a class="el" href="group__flac__format.html#gga114a133">FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION</a> = 13,
-<a class="el" href="group__flac__format.html#gga114a134">FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING</a> = 14,
-<a class="el" href="group__flac__format.html#gga114a135">FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE</a> = 15,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__format.html#gga114a136">FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE</a> = 16,
-<a class="el" href="group__flac__format.html#gga114a137">FLAC__STREAM_METADATA_PICTURE_TYPE_FISH</a> = 17,
-<a class="el" href="group__flac__format.html#gga114a138">FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION</a> = 18,
-<a class="el" href="group__flac__format.html#gga114a139">FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE</a> = 19,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__format.html#gga114a140">FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE</a> = 20,
-<b>FLAC__STREAM_METADATA_PICTURE_TYPE_UNDEFINED</b>
-<br>
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga80">FLAC__format_sample_rate_is_valid</a> (unsigned sample_rate)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga81">FLAC__format_sample_rate_is_subset</a> (unsigned sample_rate)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga82">FLAC__format_vorbiscomment_entry_name_is_legal</a> (const char *name)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga83">FLAC__format_vorbiscomment_entry_value_is_legal</a> (const FLAC__byte *value, unsigned length)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga84">FLAC__format_vorbiscomment_entry_is_legal</a> (const FLAC__byte *entry, unsigned length)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga85">FLAC__format_seektable_is_legal</a> (const <a class="el" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a> *seek_table)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga86">FLAC__format_seektable_sort</a> (<a class="el" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a> *seek_table)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga87">FLAC__format_cuesheet_is_legal</a> (const <a class="el" href="structFLAC____StreamMetadata__CueSheet.html">FLAC__StreamMetadata_CueSheet</a> *cue_sheet, FLAC__bool check_cd_da_subset, const char **violation)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga88">FLAC__format_picture_is_legal</a> (const <a class="el" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a> *picture, const char **violation)</td></tr>
-
-<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga0">FLAC__VERSION_STRING</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga1">FLAC__VENDOR_STRING</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const FLAC__byte&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga2">FLAC__STREAM_SYNC_STRING</a> [4]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga3">FLAC__STREAM_SYNC</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga4">FLAC__STREAM_SYNC_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga5">FLAC__EntropyCodingMethodTypeString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga6">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga7">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga8">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga9">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga10">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga11">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga12">FLAC__ENTROPY_CODING_METHOD_TYPE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga13">FLAC__SubframeTypeString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga14">FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga15">FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga16">FLAC__SUBFRAME_ZERO_PAD_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga17">FLAC__SUBFRAME_TYPE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga18">FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga19">FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga20">FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga21">FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga22">FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga23">FLAC__ChannelAssignmentString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga24">FLAC__FrameNumberTypeString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga25">FLAC__FRAME_HEADER_SYNC</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga26">FLAC__FRAME_HEADER_SYNC_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga27">FLAC__FRAME_HEADER_RESERVED_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga28">FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga29">FLAC__FRAME_HEADER_BLOCK_SIZE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga30">FLAC__FRAME_HEADER_SAMPLE_RATE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga31">FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga32">FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga33">FLAC__FRAME_HEADER_ZERO_PAD_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga34">FLAC__FRAME_HEADER_CRC_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga35">FLAC__FRAME_FOOTER_CRC_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga36">FLAC__MetadataTypeString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga37">FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga38">FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga39">FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga40">FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga41">FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga42">FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga43">FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga44">FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga45">FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga46">FLAC__STREAM_METADATA_APPLICATION_ID_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga47">FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga48">FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga49">FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const FLAC__uint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga50">FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga51">FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga52">FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga53">FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga54">FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga55">FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga56">FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga57">FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga58">FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga59">FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga60">FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga61">FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga62">FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga63">FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga64">FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga65">FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga66">FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga67">FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga68">FLAC__StreamMetadata_Picture_TypeString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga69">FLAC__STREAM_METADATA_PICTURE_TYPE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga70">FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga71">FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga72">FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga73">FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga74">FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga75">FLAC__STREAM_METADATA_PICTURE_COLORS_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga76">FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga77">FLAC__STREAM_METADATA_IS_LAST_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga78">FLAC__STREAM_METADATA_TYPE_LEN</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__format.html#ga79">FLAC__STREAM_METADATA_LENGTH_LEN</a></td></tr>
-
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="ga89" doxytag="format.h::FLAC__MAX_METADATA_TYPE_CODE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC__MAX_METADATA_TYPE_CODE&nbsp;&nbsp;&nbsp;(126u) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The largest legal metadata type code. </td>
- </tr>
-</table>
-<a class="anchor" name="ga90" doxytag="format.h::FLAC__MIN_BLOCK_SIZE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC__MIN_BLOCK_SIZE&nbsp;&nbsp;&nbsp;(16u) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The minimum block size, in samples, permitted by the format. </td>
- </tr>
-</table>
-<a class="anchor" name="ga91" doxytag="format.h::FLAC__MAX_BLOCK_SIZE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC__MAX_BLOCK_SIZE&nbsp;&nbsp;&nbsp;(65535u) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The maximum block size, in samples, permitted by the format. </td>
- </tr>
-</table>
-<a class="anchor" name="ga92" doxytag="format.h::FLAC__SUBSET_MAX_BLOCK_SIZE_48000HZ"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC__SUBSET_MAX_BLOCK_SIZE_48000HZ&nbsp;&nbsp;&nbsp;(4608u) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The maximum block size, in samples, permitted by the FLAC subset for sample rates up to 48kHz. </td>
- </tr>
-</table>
-<a class="anchor" name="ga93" doxytag="format.h::FLAC__MAX_CHANNELS"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC__MAX_CHANNELS&nbsp;&nbsp;&nbsp;(8u) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The maximum number of channels permitted by the format. </td>
- </tr>
-</table>
-<a class="anchor" name="ga94" doxytag="format.h::FLAC__MIN_BITS_PER_SAMPLE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC__MIN_BITS_PER_SAMPLE&nbsp;&nbsp;&nbsp;(4u) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The minimum sample resolution permitted by the format. </td>
- </tr>
-</table>
-<a class="anchor" name="ga95" doxytag="format.h::FLAC__MAX_BITS_PER_SAMPLE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC__MAX_BITS_PER_SAMPLE&nbsp;&nbsp;&nbsp;(32u) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The maximum sample resolution permitted by the format. </td>
- </tr>
-</table>
-<a class="anchor" name="ga96" doxytag="format.h::FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE&nbsp;&nbsp;&nbsp;(24u) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The maximum sample resolution permitted by libFLAC.<p>
-<dl compact><dt><b>Warning:</b></dt><dd>FLAC__MAX_BITS_PER_SAMPLE is the limit of the FLAC format. However, the reference encoder/decoder is currently limited to 24 bits because of prevalent 32-bit math, so make sure and use this value when appropriate. </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga97" doxytag="format.h::FLAC__MAX_SAMPLE_RATE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC__MAX_SAMPLE_RATE&nbsp;&nbsp;&nbsp;(655350u) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The maximum sample rate permitted by the format. The value is ((2 ^ 16) - 1) * 10; see <a href="../format.html">FLAC format</a> as to why. </td>
- </tr>
-</table>
-<a class="anchor" name="ga98" doxytag="format.h::FLAC__MAX_LPC_ORDER"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC__MAX_LPC_ORDER&nbsp;&nbsp;&nbsp;(32u) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The maximum LPC order permitted by the format. </td>
- </tr>
-</table>
-<a class="anchor" name="ga99" doxytag="format.h::FLAC__SUBSET_MAX_LPC_ORDER_48000HZ"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC__SUBSET_MAX_LPC_ORDER_48000HZ&nbsp;&nbsp;&nbsp;(12u) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The maximum LPC order permitted by the FLAC subset for sample rates up to 48kHz. </td>
- </tr>
-</table>
-<a class="anchor" name="ga100" doxytag="format.h::FLAC__MIN_QLP_COEFF_PRECISION"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC__MIN_QLP_COEFF_PRECISION&nbsp;&nbsp;&nbsp;(5u) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The minimum quantized linear predictor coefficient precision permitted by the format. </td>
- </tr>
-</table>
-<a class="anchor" name="ga101" doxytag="format.h::FLAC__MAX_QLP_COEFF_PRECISION"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC__MAX_QLP_COEFF_PRECISION&nbsp;&nbsp;&nbsp;(15u) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The maximum quantized linear predictor coefficient precision permitted by the format. </td>
- </tr>
-</table>
-<a class="anchor" name="ga102" doxytag="format.h::FLAC__MAX_FIXED_ORDER"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC__MAX_FIXED_ORDER&nbsp;&nbsp;&nbsp;(4u) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The maximum order of the fixed predictors permitted by the format. </td>
- </tr>
-</table>
-<a class="anchor" name="ga103" doxytag="format.h::FLAC__MAX_RICE_PARTITION_ORDER"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC__MAX_RICE_PARTITION_ORDER&nbsp;&nbsp;&nbsp;(15u) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The maximum Rice partition order permitted by the format. </td>
- </tr>
-</table>
-<a class="anchor" name="ga104" doxytag="format.h::FLAC__SUBSET_MAX_RICE_PARTITION_ORDER"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC__SUBSET_MAX_RICE_PARTITION_ORDER&nbsp;&nbsp;&nbsp;(8u) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The maximum Rice partition order permitted by the FLAC Subset. </td>
- </tr>
-</table>
-<a class="anchor" name="ga105" doxytag="format.h::FLAC__STREAM_SYNC_LENGTH"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC__STREAM_SYNC_LENGTH&nbsp;&nbsp;&nbsp;(4u) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The length of the FLAC signature in bytes. </td>
- </tr>
-</table>
-<a class="anchor" name="ga106" doxytag="format.h::FLAC__STREAM_METADATA_STREAMINFO_LENGTH"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC__STREAM_METADATA_STREAMINFO_LENGTH&nbsp;&nbsp;&nbsp;(34u) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The total stream length of the STREAMINFO block in bytes. </td>
- </tr>
-</table>
-<a class="anchor" name="ga107" doxytag="format.h::FLAC__STREAM_METADATA_SEEKPOINT_LENGTH"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC__STREAM_METADATA_SEEKPOINT_LENGTH&nbsp;&nbsp;&nbsp;(18u) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The total stream length of a seek point in bytes. </td>
- </tr>
-</table>
-<a class="anchor" name="ga108" doxytag="format.h::FLAC__STREAM_METADATA_HEADER_LENGTH"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">#define FLAC__STREAM_METADATA_HEADER_LENGTH&nbsp;&nbsp;&nbsp;(4u) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The total stream length of a metadata block header in bytes. </td>
- </tr>
-</table>
-<hr><h2>Enumeration Type Documentation</h2>
-<a class="anchor" name="ga109" doxytag="format.h::FLAC__EntropyCodingMethodType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__format.html#ga109">FLAC__EntropyCodingMethodType</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-An enumeration of the available entropy coding methods. <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga109a100" doxytag="FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE"></a>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE</em>&nbsp;</td><td>
-Residual is coded by partitioning into contexts, each with it's own 4-bit Rice parameter. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga109a101" doxytag="FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2"></a>FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2</em>&nbsp;</td><td>
-Residual is coded by partitioning into contexts, each with it's own 5-bit Rice parameter. </td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga110" doxytag="format.h::FLAC__SubframeType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__format.html#ga110">FLAC__SubframeType</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-An enumeration of the available subframe types. <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga110a102" doxytag="FLAC__SUBFRAME_TYPE_CONSTANT"></a>FLAC__SUBFRAME_TYPE_CONSTANT</em>&nbsp;</td><td>
-constant signal </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga110a103" doxytag="FLAC__SUBFRAME_TYPE_VERBATIM"></a>FLAC__SUBFRAME_TYPE_VERBATIM</em>&nbsp;</td><td>
-uncompressed signal </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga110a104" doxytag="FLAC__SUBFRAME_TYPE_FIXED"></a>FLAC__SUBFRAME_TYPE_FIXED</em>&nbsp;</td><td>
-fixed polynomial prediction </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga110a105" doxytag="FLAC__SUBFRAME_TYPE_LPC"></a>FLAC__SUBFRAME_TYPE_LPC</em>&nbsp;</td><td>
-linear prediction </td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga111" doxytag="format.h::FLAC__ChannelAssignment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-An enumeration of the available channel assignments. <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga111a106" doxytag="FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT"></a>FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT</em>&nbsp;</td><td>
-independent channels </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga111a107" doxytag="FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE"></a>FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE</em>&nbsp;</td><td>
-left+side stereo </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga111a108" doxytag="FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE"></a>FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE</em>&nbsp;</td><td>
-right+side stereo </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga111a109" doxytag="FLAC__CHANNEL_ASSIGNMENT_MID_SIDE"></a>FLAC__CHANNEL_ASSIGNMENT_MID_SIDE</em>&nbsp;</td><td>
-mid+side stereo </td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga112" doxytag="format.h::FLAC__FrameNumberType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__format.html#ga112">FLAC__FrameNumberType</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-An enumeration of the possible frame numbering methods. <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga112a110" doxytag="FLAC__FRAME_NUMBER_TYPE_FRAME_NUMBER"></a>FLAC__FRAME_NUMBER_TYPE_FRAME_NUMBER</em>&nbsp;</td><td>
-number contains the frame number </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga112a111" doxytag="FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER"></a>FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER</em>&nbsp;</td><td>
-number contains the sample number of first sample in frame </td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga113" doxytag="format.h::FLAC__MetadataType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-An enumeration of the available metadata block types. <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga113a112" doxytag="FLAC__METADATA_TYPE_STREAMINFO"></a>FLAC__METADATA_TYPE_STREAMINFO</em>&nbsp;</td><td>
-<a href="../format.html#metadata_block_streaminfo">STREAMINFO</a> block </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga113a113" doxytag="FLAC__METADATA_TYPE_PADDING"></a>FLAC__METADATA_TYPE_PADDING</em>&nbsp;</td><td>
-<a href="../format.html#metadata_block_padding">PADDING</a> block </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga113a114" doxytag="FLAC__METADATA_TYPE_APPLICATION"></a>FLAC__METADATA_TYPE_APPLICATION</em>&nbsp;</td><td>
-<a href="../format.html#metadata_block_application">APPLICATION</a> block </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga113a115" doxytag="FLAC__METADATA_TYPE_SEEKTABLE"></a>FLAC__METADATA_TYPE_SEEKTABLE</em>&nbsp;</td><td>
-<a href="../format.html#metadata_block_seektable">SEEKTABLE</a> block </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga113a116" doxytag="FLAC__METADATA_TYPE_VORBIS_COMMENT"></a>FLAC__METADATA_TYPE_VORBIS_COMMENT</em>&nbsp;</td><td>
-<a href="../format.html#metadata_block_vorbis_comment">VORBISCOMMENT</a> block (a.k.a. FLAC tags) </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga113a117" doxytag="FLAC__METADATA_TYPE_CUESHEET"></a>FLAC__METADATA_TYPE_CUESHEET</em>&nbsp;</td><td>
-<a href="../format.html#metadata_block_cuesheet">CUESHEET</a> block </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga113a118" doxytag="FLAC__METADATA_TYPE_PICTURE"></a>FLAC__METADATA_TYPE_PICTURE</em>&nbsp;</td><td>
-<a href="../format.html#metadata_block_picture">PICTURE</a> block </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga113a119" doxytag="FLAC__METADATA_TYPE_UNDEFINED"></a>FLAC__METADATA_TYPE_UNDEFINED</em>&nbsp;</td><td>
-marker to denote beginning of undefined type range; this number will increase as new metadata types are added </td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga114" doxytag="format.h::FLAC__StreamMetadata_Picture_Type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-An enumeration of the PICTURE types (see FLAC__StreamMetadataPicture and id3 v2.4 APIC tag). <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga114a120" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER</em>&nbsp;</td><td>
-Other </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga114a121" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD</em>&nbsp;</td><td>
-32x32 pixels 'file icon' (PNG only) </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga114a122" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON</em>&nbsp;</td><td>
-Other file icon </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga114a123" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER</em>&nbsp;</td><td>
-Cover (front) </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga114a124" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER</em>&nbsp;</td><td>
-Cover (back) </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga114a125" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE</em>&nbsp;</td><td>
-Leaflet page </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga114a126" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA</em>&nbsp;</td><td>
-Media (e.g. label side of CD) </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga114a127" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST</em>&nbsp;</td><td>
-Lead artist/lead performer/soloist </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga114a128" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST</em>&nbsp;</td><td>
-Artist/performer </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga114a129" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR</em>&nbsp;</td><td>
-Conductor </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga114a130" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_BAND"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_BAND</em>&nbsp;</td><td>
-Band/Orchestra </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga114a131" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER</em>&nbsp;</td><td>
-Composer </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga114a132" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST</em>&nbsp;</td><td>
-Lyricist/text writer </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga114a133" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION</em>&nbsp;</td><td>
-Recording Location </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga114a134" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING</em>&nbsp;</td><td>
-During recording </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga114a135" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE</em>&nbsp;</td><td>
-During performance </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga114a136" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE</em>&nbsp;</td><td>
-Movie/video screen capture </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga114a137" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_FISH"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_FISH</em>&nbsp;</td><td>
-A bright coloured fish </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga114a138" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION</em>&nbsp;</td><td>
-Illustration </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga114a139" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE</em>&nbsp;</td><td>
-Band/artist logotype </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga114a140" doxytag="FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE"></a>FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE</em>&nbsp;</td><td>
-Publisher/Studio logotype </td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="ga80" doxytag="format.h::FLAC__format_sample_rate_is_valid"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__format_sample_rate_is_valid </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>sample_rate</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Tests that a sample rate is valid for FLAC.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>sample_rate</em>&nbsp;</td><td>The sample rate to test for compliance. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if the given sample rate conforms to the specification, else <code>false</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga81" doxytag="format.h::FLAC__format_sample_rate_is_subset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__format_sample_rate_is_subset </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>sample_rate</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Tests that a sample rate is valid for the FLAC subset. The subset rules for valid sample rates are slightly more complex since the rate has to be expressible completely in the frame header.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>sample_rate</em>&nbsp;</td><td>The sample rate to test for compliance. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if the given sample rate conforms to the specification for the subset, else <code>false</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga82" doxytag="format.h::FLAC__format_vorbiscomment_entry_name_is_legal"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__format_vorbiscomment_entry_name_is_legal </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>name</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check a Vorbis comment entry name to see if it conforms to the Vorbis comment specification.<p>
-Vorbis comment names must be composed only of characters from [0x20-0x3C,0x3E-0x7D].<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>A NUL-terminated string to be checked. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> name != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if entry name is illegal, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga83" doxytag="format.h::FLAC__format_vorbiscomment_entry_value_is_legal"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__format_vorbiscomment_entry_value_is_legal </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const FLAC__byte *&nbsp;</td>
- <td class="mdname" nowrap> <em>value</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>length</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check a Vorbis comment entry value to see if it conforms to the Vorbis comment specification.<p>
-Vorbis comment values must be valid UTF-8 sequences.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>A string to be checked. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>A the length of <em>value</em> in bytes. May be <code></code>(unsigned)(-1) to indicate that <em>value</em> is a plain UTF-8 NUL-terminated string. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> value != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if entry name is illegal, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga84" doxytag="format.h::FLAC__format_vorbiscomment_entry_is_legal"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__format_vorbiscomment_entry_is_legal </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const FLAC__byte *&nbsp;</td>
- <td class="mdname" nowrap> <em>entry</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>length</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check a Vorbis comment entry to see if it conforms to the Vorbis comment specification.<p>
-Vorbis comment entries must be of the form 'name=value', and 'name' and 'value' must be legal according to <a class="el" href="group__flac__format.html#ga82">FLAC__format_vorbiscomment_entry_name_is_legal()</a> and <a class="el" href="group__flac__format.html#ga83">FLAC__format_vorbiscomment_entry_value_is_legal()</a> respectively.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>An entry to be checked. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The length of <em>entry</em> in bytes. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> value != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if entry name is illegal, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga85" doxytag="format.h::FLAC__format_seektable_is_legal"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__format_seektable_is_legal </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>seek_table</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check a seek table to see if it conforms to the FLAC specification. See the format specification for limits on the contents of the seek table.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>seek_table</em>&nbsp;</td><td>A pointer to a seek table to be checked. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> seek_table != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if seek table is illegal, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga86" doxytag="format.h::FLAC__format_seektable_sort"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC__format_seektable_sort </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>seek_table</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sort a seek table's seek points according to the format specification. This includes a "unique-ification" step to remove duplicates, i.e. seek points with identical <em>sample_number</em> values. Duplicate seek points are converted into placeholder points and sorted to the end of the table.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>seek_table</em>&nbsp;</td><td>A pointer to a seek table to be sorted. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> seek_table != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>The number of duplicate seek points converted into placeholders. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga87" doxytag="format.h::FLAC__format_cuesheet_is_legal"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__format_cuesheet_is_legal </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata__CueSheet.html">FLAC__StreamMetadata_CueSheet</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>cue_sheet</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>check_cd_da_subset</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char **&nbsp;</td>
- <td class="mdname" nowrap> <em>violation</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check a cue sheet to see if it conforms to the FLAC specification. See the format specification for limits on the contents of the cue sheet.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>cue_sheet</em>&nbsp;</td><td>A pointer to an existing cue sheet to be checked. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>check_cd_da_subset</em>&nbsp;</td><td>If <code>true</code>, check CUESHEET against more stringent requirements for a CD-DA (audio) disc. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>violation</em>&nbsp;</td><td>Address of a pointer to a string. If there is a violation, a pointer to a string explanation of the violation will be returned here. <em>violation</em> may be <code>NULL</code> if you don't need the returned string. Do not free the returned string; it will always point to static data. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> cue_sheet != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if cue sheet is illegal, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga88" doxytag="format.h::FLAC__format_picture_is_legal"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__format_picture_is_legal </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>picture</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char **&nbsp;</td>
- <td class="mdname" nowrap> <em>violation</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check picture data to see if it conforms to the FLAC specification. See the format specification for limits on the contents of the PICTURE block.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>picture</em>&nbsp;</td><td>A pointer to existing picture data to be checked. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>violation</em>&nbsp;</td><td>Address of a pointer to a string. If there is a violation, a pointer to a string explanation of the violation will be returned here. <em>violation</em> may be <code>NULL</code> if you don't need the returned string. Do not free the returned string; it will always point to static data. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> picture != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if picture data is illegal, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<hr><h2>Variable Documentation</h2>
-<a class="anchor" name="ga0" doxytag="format.h::FLAC__VERSION_STRING"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* <a class="el" href="group__flac__format.html#ga0">FLAC__VERSION_STRING</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The version string of the release, stamped onto the libraries and binaries.<p>
-<dl compact><dt><b>Note:</b></dt><dd>This does not correspond to the shared library version number, which is used to determine binary compatibility. </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga1" doxytag="format.h::FLAC__VENDOR_STRING"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* <a class="el" href="group__flac__format.html#ga1">FLAC__VENDOR_STRING</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The vendor string inserted by the encoder into the VORBIS_COMMENT block. This is a NUL-terminated ASCII string; when inserted into the VORBIS_COMMENT the trailing null is stripped. </td>
- </tr>
-</table>
-<a class="anchor" name="ga2" doxytag="format.h::FLAC__STREAM_SYNC_STRING"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const FLAC__byte <a class="el" href="group__flac__format.html#ga2">FLAC__STREAM_SYNC_STRING</a>[4] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The byte string representation of the beginning of a FLAC stream. </td>
- </tr>
-</table>
-<a class="anchor" name="ga3" doxytag="format.h::FLAC__STREAM_SYNC"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga3">FLAC__STREAM_SYNC</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The 32-bit integer big-endian representation of the beginning of a FLAC stream. </td>
- </tr>
-</table>
-<a class="anchor" name="ga4" doxytag="format.h::FLAC__STREAM_SYNC_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga4">FLAC__STREAM_SYNC_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The length of the FLAC signature in bits. </td>
- </tr>
-</table>
-<a class="anchor" name="ga5" doxytag="format.h::FLAC__EntropyCodingMethodTypeString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__format.html#ga5">FLAC__EntropyCodingMethodTypeString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__EntropyCodingMethodType to a C string.<p>
-Using a FLAC__EntropyCodingMethodType as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-<a class="anchor" name="ga6" doxytag="format.h::FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga6">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 4 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga7" doxytag="format.h::FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga7">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 4 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga8" doxytag="format.h::FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga8">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 5 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga9" doxytag="format.h::FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga9">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 5 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga10" doxytag="format.h::FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga10">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== (1&lt;&lt;FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN)-1 </td>
- </tr>
-</table>
-<a class="anchor" name="ga11" doxytag="format.h::FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga11">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== (1&lt;&lt;FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN)-1 </td>
- </tr>
-</table>
-<a class="anchor" name="ga12" doxytag="format.h::FLAC__ENTROPY_CODING_METHOD_TYPE_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga12">FLAC__ENTROPY_CODING_METHOD_TYPE_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 2 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga13" doxytag="format.h::FLAC__SubframeTypeString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__format.html#ga13">FLAC__SubframeTypeString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__SubframeType to a C string.<p>
-Using a FLAC__SubframeType as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-<a class="anchor" name="ga14" doxytag="format.h::FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga14">FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 4 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga15" doxytag="format.h::FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga15">FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 5 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga16" doxytag="format.h::FLAC__SUBFRAME_ZERO_PAD_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga16">FLAC__SUBFRAME_ZERO_PAD_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 1 (bit)<p>
-This used to be a zero-padding bit (hence the name FLAC__SUBFRAME_ZERO_PAD_LEN) but is now a reserved bit. It still has a mandatory value of <code>0</code> but in the future may take on the value <code>0</code> or <code>1</code> to mean something else. </td>
- </tr>
-</table>
-<a class="anchor" name="ga17" doxytag="format.h::FLAC__SUBFRAME_TYPE_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga17">FLAC__SUBFRAME_TYPE_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 6 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga18" doxytag="format.h::FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga18">FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 1 (bit) </td>
- </tr>
-</table>
-<a class="anchor" name="ga19" doxytag="format.h::FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga19">FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-= 0x00 </td>
- </tr>
-</table>
-<a class="anchor" name="ga20" doxytag="format.h::FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga20">FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-= 0x02 </td>
- </tr>
-</table>
-<a class="anchor" name="ga21" doxytag="format.h::FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga21">FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-= 0x10 </td>
- </tr>
-</table>
-<a class="anchor" name="ga22" doxytag="format.h::FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga22">FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-= 0x40 </td>
- </tr>
-</table>
-<a class="anchor" name="ga23" doxytag="format.h::FLAC__ChannelAssignmentString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__format.html#ga23">FLAC__ChannelAssignmentString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__ChannelAssignment to a C string.<p>
-Using a FLAC__ChannelAssignment as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-<a class="anchor" name="ga24" doxytag="format.h::FLAC__FrameNumberTypeString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__format.html#ga24">FLAC__FrameNumberTypeString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__FrameNumberType to a C string.<p>
-Using a FLAC__FrameNumberType as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-<a class="anchor" name="ga25" doxytag="format.h::FLAC__FRAME_HEADER_SYNC"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga25">FLAC__FRAME_HEADER_SYNC</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 0x3ffe; the frame header sync code </td>
- </tr>
-</table>
-<a class="anchor" name="ga26" doxytag="format.h::FLAC__FRAME_HEADER_SYNC_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga26">FLAC__FRAME_HEADER_SYNC_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 14 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga27" doxytag="format.h::FLAC__FRAME_HEADER_RESERVED_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga27">FLAC__FRAME_HEADER_RESERVED_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 1 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga28" doxytag="format.h::FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga28">FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 1 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga29" doxytag="format.h::FLAC__FRAME_HEADER_BLOCK_SIZE_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga29">FLAC__FRAME_HEADER_BLOCK_SIZE_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 4 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga30" doxytag="format.h::FLAC__FRAME_HEADER_SAMPLE_RATE_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga30">FLAC__FRAME_HEADER_SAMPLE_RATE_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 4 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga31" doxytag="format.h::FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga31">FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 4 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga32" doxytag="format.h::FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga32">FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 3 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga33" doxytag="format.h::FLAC__FRAME_HEADER_ZERO_PAD_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga33">FLAC__FRAME_HEADER_ZERO_PAD_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 1 (bit) </td>
- </tr>
-</table>
-<a class="anchor" name="ga34" doxytag="format.h::FLAC__FRAME_HEADER_CRC_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga34">FLAC__FRAME_HEADER_CRC_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 8 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga35" doxytag="format.h::FLAC__FRAME_FOOTER_CRC_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga35">FLAC__FRAME_FOOTER_CRC_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 16 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga36" doxytag="format.h::FLAC__MetadataTypeString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__format.html#ga36">FLAC__MetadataTypeString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__MetadataType to a C string.<p>
-Using a FLAC__MetadataType as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-<a class="anchor" name="ga37" doxytag="format.h::FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga37">FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 16 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga38" doxytag="format.h::FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga38">FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 16 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga39" doxytag="format.h::FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga39">FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 24 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga40" doxytag="format.h::FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga40">FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 24 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga41" doxytag="format.h::FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga41">FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 20 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga42" doxytag="format.h::FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga42">FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 3 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga43" doxytag="format.h::FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga43">FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 5 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga44" doxytag="format.h::FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga44">FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 36 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga45" doxytag="format.h::FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga45">FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 128 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga46" doxytag="format.h::FLAC__STREAM_METADATA_APPLICATION_ID_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga46">FLAC__STREAM_METADATA_APPLICATION_ID_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 32 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga47" doxytag="format.h::FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga47">FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 64 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga48" doxytag="format.h::FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga48">FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 64 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga49" doxytag="format.h::FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga49">FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 16 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga50" doxytag="format.h::FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const FLAC__uint64 <a class="el" href="group__flac__format.html#ga50">FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The value used in the <em>sample_number</em> field of FLAC__StreamMetadataSeekPoint used to indicate a placeholder point (== 0xffffffffffffffff). </td>
- </tr>
-</table>
-<a class="anchor" name="ga51" doxytag="format.h::FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga51">FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 32 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga52" doxytag="format.h::FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga52">FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 32 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga53" doxytag="format.h::FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga53">FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 64 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga54" doxytag="format.h::FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga54">FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 8 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga55" doxytag="format.h::FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga55">FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 3*8 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga56" doxytag="format.h::FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga56">FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 64 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga57" doxytag="format.h::FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga57">FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 8 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga58" doxytag="format.h::FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga58">FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 12*8 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga59" doxytag="format.h::FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga59">FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 1 (bit) </td>
- </tr>
-</table>
-<a class="anchor" name="ga60" doxytag="format.h::FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga60">FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 1 (bit) </td>
- </tr>
-</table>
-<a class="anchor" name="ga61" doxytag="format.h::FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga61">FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 6+13*8 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga62" doxytag="format.h::FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga62">FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 8 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga63" doxytag="format.h::FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga63">FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 128*8 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga64" doxytag="format.h::FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga64">FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 64 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga65" doxytag="format.h::FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga65">FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 1 (bit) </td>
- </tr>
-</table>
-<a class="anchor" name="ga66" doxytag="format.h::FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga66">FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 7+258*8 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga67" doxytag="format.h::FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga67">FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 8 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga68" doxytag="format.h::FLAC__StreamMetadata_Picture_TypeString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__format.html#ga68">FLAC__StreamMetadata_Picture_TypeString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__StreamMetadata_Picture_Type to a C string.<p>
-Using a FLAC__StreamMetadata_Picture_Type as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-<a class="anchor" name="ga69" doxytag="format.h::FLAC__STREAM_METADATA_PICTURE_TYPE_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga69">FLAC__STREAM_METADATA_PICTURE_TYPE_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 32 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga70" doxytag="format.h::FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga70">FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 32 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga71" doxytag="format.h::FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga71">FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 32 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga72" doxytag="format.h::FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga72">FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 32 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga73" doxytag="format.h::FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga73">FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 32 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga74" doxytag="format.h::FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga74">FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 32 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga75" doxytag="format.h::FLAC__STREAM_METADATA_PICTURE_COLORS_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga75">FLAC__STREAM_METADATA_PICTURE_COLORS_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 32 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga76" doxytag="format.h::FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga76">FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 32 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga77" doxytag="format.h::FLAC__STREAM_METADATA_IS_LAST_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga77">FLAC__STREAM_METADATA_IS_LAST_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 1 (bit) </td>
- </tr>
-</table>
-<a class="anchor" name="ga78" doxytag="format.h::FLAC__STREAM_METADATA_TYPE_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga78">FLAC__STREAM_METADATA_TYPE_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 7 (bits) </td>
- </tr>
-</table>
-<a class="anchor" name="ga79" doxytag="format.h::FLAC__STREAM_METADATA_LENGTH_LEN"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const unsigned <a class="el" href="group__flac__format.html#ga79">FLAC__STREAM_METADATA_LENGTH_LEN</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-== 24 (bits) </td>
- </tr>
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flac__metadata.html b/3rdparty/libflac/doc/html/api/group__flac__metadata.html
deleted file mode 100644
index b162b75d7e2..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flac__metadata.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC/metadata.h: metadata interfaces</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC/metadata.h: metadata interfaces<br>
-<small>
-[<a class="el" href="group__flac.html">FLAC C API</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module provides functions for creating and manipulating FLAC metadata blocks in memory, and three progressively more powerful interfaces for traversing and editing metadata in native FLAC files. Note that currently only the Chain interface (level 2) supports Ogg FLAC files, and it is read-only i.e. no writing back changed metadata to file.
-<p>
-There are three metadata interfaces of increasing complexity:<p>
-Level 0: Read-only access to the STREAMINFO, VORBIS_COMMENT, CUESHEET, and PICTURE blocks.<p>
-Level 1: Read-write access to all metadata blocks. This level is write- efficient in most cases (more on this below), and uses less memory than level 2.<p>
-Level 2: Read-write access to all metadata blocks. This level is write- efficient in all cases, but uses more memory since all metadata for the whole file is read into memory and manipulated before writing out again.<p>
-What do we mean by efficient? Since FLAC metadata appears at the beginning of the file, when writing metadata back to a FLAC file it is possible to grow or shrink the metadata such that the entire file must be rewritten. However, if the size remains the same during changes or PADDING blocks are utilized, only the metadata needs to be overwritten, which is much faster.<p>
-Efficient means the whole file is rewritten at most one time, and only when necessary. Level 1 is not efficient only in the case that you cause more than one metadata block to grow or shrink beyond what can be accomodated by padding. In this case you should probably use level 2, which allows you to edit all the metadata for a file in memory and write it out all at once.<p>
-All levels know how to skip over and not disturb an ID3v2 tag at the front of the file.<p>
-All levels access files via their filenames. In addition, level 2 has additional alternative read and write functions that take an I/O handle and callbacks, for situations where access by filename is not possible.<p>
-In addition to the three interfaces, this module defines functions for creating and manipulating various metadata objects in memory. As we see from the Format module, FLAC metadata blocks in memory are very primitive structures for storing information in an efficient way. Reading information from the structures is easy but creating or modifying them directly is more complex. The metadata object routines here facilitate this by taking care of the consistency and memory management drudgery.<p>
-Unless you will be using the level 1 or 2 interfaces to modify existing metadata however, you will not probably not need these.<p>
-From a dependency standpoint, none of the encoders or decoders require the metadata module. This is so that embedded users can strip out the metadata module from libFLAC to reduce the size and complexity.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Modules</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level0.html">FLAC/metadata.h: metadata level 0 interface</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html">FLAC/metadata.h: metadata level 1 interface</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html">FLAC/metadata.h: metadata level 2 interface</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html">FLAC/metadata.h: metadata object methods</a></td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flac__metadata__level0.html b/3rdparty/libflac/doc/html/api/group__flac__metadata__level0.html
deleted file mode 100644
index f08bb524d67..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flac__metadata__level0.html
+++ /dev/null
@@ -1,308 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC/metadata.h: metadata level 0 interface</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC/metadata.h: metadata level 0 interface<br>
-<small>
-[<a class="el" href="group__flac__metadata.html">FLAC/metadata.h: metadata interfaces</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-The level 0 interface consists of individual routines to read the STREAMINFO, VORBIS_COMMENT, CUESHEET, and PICTURE blocks, requiring only a filename.
-<p>
-They try to skip any ID3v2 tag at the head of the file.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level0.html#ga0">FLAC__metadata_get_streaminfo</a> (const char *filename, <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *streaminfo)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level0.html#ga1">FLAC__metadata_get_tags</a> (const char *filename, <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **tags)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level0.html#ga2">FLAC__metadata_get_cuesheet</a> (const char *filename, <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **cuesheet)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level0.html#ga3">FLAC__metadata_get_picture</a> (const char *filename, <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **picture, <a class="el" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> type, const char *mime_type, const FLAC__byte *description, unsigned max_width, unsigned max_height, unsigned max_depth, unsigned max_colors)</td></tr>
-
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="ga0" doxytag="metadata.h::FLAC__metadata_get_streaminfo"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_get_streaminfo </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>streaminfo</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Read the STREAMINFO metadata block of the given FLAC file. This function will try to skip any ID3v2 tag at the head of the file.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The path to the FLAC file to read. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>streaminfo</em>&nbsp;</td><td>A pointer to space for the STREAMINFO block. Since <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> is a simple structure with no memory allocation involved, you pass the address of an existing structure. It need not be initialized. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> filename != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> streaminfo != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if a valid STREAMINFO block was read from <em>filename</em>. Returns <code>false</code> if there was a memory allocation error, a file decoder error, or the file contained no STREAMINFO block. (A memory allocation error is possible because this function must set up a file decoder.) </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga1" doxytag="metadata.h::FLAC__metadata_get_tags"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_get_tags </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **&nbsp;</td>
- <td class="mdname" nowrap> <em>tags</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Read the VORBIS_COMMENT metadata block of the given FLAC file. This function will try to skip any ID3v2 tag at the head of the file.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The path to the FLAC file to read. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>tags</em>&nbsp;</td><td>The address where the returned pointer will be stored. The <em>tags</em> object must be deleted by the caller using <a class="el" href="group__flac__metadata__object.html#ga2">FLAC__metadata_object_delete()</a>. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> filename != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> tags != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if a valid VORBIS_COMMENT block was read from <em>filename</em>, and <em>*tags</em> will be set to the address of the metadata structure. Returns <code>false</code> if there was a memory allocation error, a file decoder error, or the file contained no VORBIS_COMMENT block, and <em>*tags</em> will be set to <code>NULL</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga2" doxytag="metadata.h::FLAC__metadata_get_cuesheet"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_get_cuesheet </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **&nbsp;</td>
- <td class="mdname" nowrap> <em>cuesheet</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Read the CUESHEET metadata block of the given FLAC file. This function will try to skip any ID3v2 tag at the head of the file.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The path to the FLAC file to read. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>cuesheet</em>&nbsp;</td><td>The address where the returned pointer will be stored. The <em>cuesheet</em> object must be deleted by the caller using <a class="el" href="group__flac__metadata__object.html#ga2">FLAC__metadata_object_delete()</a>. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> filename != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> cuesheet != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if a valid CUESHEET block was read from <em>filename</em>, and <em>*cuesheet</em> will be set to the address of the metadata structure. Returns <code>false</code> if there was a memory allocation error, a file decoder error, or the file contained no CUESHEET block, and <em>*cuesheet</em> will be set to <code>NULL</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga3" doxytag="metadata.h::FLAC__metadata_get_picture"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_get_picture </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **&nbsp;</td>
- <td class="mdname" nowrap> <em>picture</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>type</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>mime_type</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const FLAC__byte *&nbsp;</td>
- <td class="mdname" nowrap> <em>description</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>max_width</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>max_height</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>max_depth</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>max_colors</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Read a PICTURE metadata block of the given FLAC file. This function will try to skip any ID3v2 tag at the head of the file. Since there can be more than one PICTURE block in a file, this function takes a number of parameters that act as constraints to the search. The PICTURE block with the largest area matching all the constraints will be returned, or <em>*picture</em> will be set to <code>NULL</code> if there was no such block.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The path to the FLAC file to read. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>picture</em>&nbsp;</td><td>The address where the returned pointer will be stored. The <em>picture</em> object must be deleted by the caller using <a class="el" href="group__flac__metadata__object.html#ga2">FLAC__metadata_object_delete()</a>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The desired picture type. Use <code>-1</code> to mean "any type". </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>mime_type</em>&nbsp;</td><td>The desired MIME type, e.g. "image/jpeg". The string will be matched exactly. Use <code>NULL</code> to mean "any MIME type". </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>description</em>&nbsp;</td><td>The desired description. The string will be matched exactly. Use <code>NULL</code> to mean "any description". </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>max_width</em>&nbsp;</td><td>The maximum width in pixels desired. Use <code></code>(unsigned)(-1) to mean "any width". </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>max_height</em>&nbsp;</td><td>The maximum height in pixels desired. Use <code></code>(unsigned)(-1) to mean "any height". </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>max_depth</em>&nbsp;</td><td>The maximum color depth in bits-per-pixel desired. Use <code></code>(unsigned)(-1) to mean "any depth". </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>max_colors</em>&nbsp;</td><td>The maximum number of colors desired. Use <code></code>(unsigned)(-1) to mean "any number of colors". </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> filename != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> picture != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if a valid PICTURE block was read from <em>filename</em>, and <em>*picture</em> will be set to the address of the metadata structure. Returns <code>false</code> if there was a memory allocation error, a file decoder error, or the file contained no PICTURE block, and <em>*picture</em> will be set to <code>NULL</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flac__metadata__level1.html b/3rdparty/libflac/doc/html/api/group__flac__metadata__level1.html
deleted file mode 100644
index 7b30bb4596d..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flac__metadata__level1.html
+++ /dev/null
@@ -1,950 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC/metadata.h: metadata level 1 interface</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC/metadata.h: metadata level 1 interface<br>
-<small>
-[<a class="el" href="group__flac__metadata.html">FLAC/metadata.h: metadata interfaces</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-The level 1 interface provides read-write access to FLAC file metadata and operates directly on the FLAC file.
-<p>
-The general usage of this interface is:<p>
-<ul>
-<li>Create an iterator using <a class="el" href="group__flac__metadata__level1.html#ga2">FLAC__metadata_simple_iterator_new()</a></li><li>Attach it to a file using <a class="el" href="group__flac__metadata__level1.html#ga5">FLAC__metadata_simple_iterator_init()</a> and check the exit code. Call <a class="el" href="group__flac__metadata__level1.html#ga6">FLAC__metadata_simple_iterator_is_writable()</a> to see if the file is writable, or only read access is allowed.</li><li>Use <a class="el" href="group__flac__metadata__level1.html#ga7">FLAC__metadata_simple_iterator_next()</a> and <a class="el" href="group__flac__metadata__level1.html#ga8">FLAC__metadata_simple_iterator_prev()</a> to traverse the blocks. This is does not read the actual blocks themselves. <a class="el" href="group__flac__metadata__level1.html#ga7">FLAC__metadata_simple_iterator_next()</a> is relatively fast. <a class="el" href="group__flac__metadata__level1.html#ga8">FLAC__metadata_simple_iterator_prev()</a> is slower since it needs to search forward from the front of the file.</li><li>Use <a class="el" href="group__flac__metadata__level1.html#ga11">FLAC__metadata_simple_iterator_get_block_type()</a> or <a class="el" href="group__flac__metadata__level1.html#ga14">FLAC__metadata_simple_iterator_get_block()</a> to access the actual data at the current iterator position. The returned object is yours to modify and free.</li><li>Use <a class="el" href="group__flac__metadata__level1.html#ga15">FLAC__metadata_simple_iterator_set_block()</a> to write a modified block back. You must have write permission to the original file. Make sure to read the whole comment to <a class="el" href="group__flac__metadata__level1.html#ga15">FLAC__metadata_simple_iterator_set_block()</a> below.</li><li>Use <a class="el" href="group__flac__metadata__level1.html#ga16">FLAC__metadata_simple_iterator_insert_block_after()</a> to add new blocks. Use the object creation functions from <a class="el" href="group__flac__metadata__object.html">here </a> to generate new objects.</li><li>Use <a class="el" href="group__flac__metadata__level1.html#ga17">FLAC__metadata_simple_iterator_delete_block()</a> to remove the block currently referred to by the iterator, or replace it with padding.</li><li>Destroy the iterator with <a class="el" href="group__flac__metadata__level1.html#ga3">FLAC__metadata_simple_iterator_delete()</a> when finished.</li></ul>
-<p>
-<dl compact><dt><b>Note:</b></dt><dd>The FLAC file remains open the whole time between <a class="el" href="group__flac__metadata__level1.html#ga5">FLAC__metadata_simple_iterator_init()</a> and <a class="el" href="group__flac__metadata__level1.html#ga3">FLAC__metadata_simple_iterator_delete()</a>, so make sure you are not altering the file during this time.<p>
-Do not modify the <em>is_last</em>, <em>length</em>, or <em>type</em> fields of returned <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> objects. These are managed automatically.<p>
-If any of the modification functions (<a class="el" href="group__flac__metadata__level1.html#ga15">FLAC__metadata_simple_iterator_set_block()</a>, <a class="el" href="group__flac__metadata__level1.html#ga17">FLAC__metadata_simple_iterator_delete_block()</a>, <a class="el" href="group__flac__metadata__level1.html#ga16">FLAC__metadata_simple_iterator_insert_block_after()</a>, etc.) return <code>false</code>, you should delete the iterator as it may no longer be valid. </dd></dl>
-
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga18">FLAC__Metadata_SimpleIteratorStatus</a> { <br>
-&nbsp;&nbsp;<a class="el" href="group__flac__metadata__level1.html#gga18a5">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK</a> = 0,
-<a class="el" href="group__flac__metadata__level1.html#gga18a6">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT</a>,
-<a class="el" href="group__flac__metadata__level1.html#gga18a7">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE</a>,
-<a class="el" href="group__flac__metadata__level1.html#gga18a8">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_A_FLAC_FILE</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__metadata__level1.html#gga18a9">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_WRITABLE</a>,
-<a class="el" href="group__flac__metadata__level1.html#gga18a10">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA</a>,
-<a class="el" href="group__flac__metadata__level1.html#gga18a11">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR</a>,
-<a class="el" href="group__flac__metadata__level1.html#gga18a12">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__metadata__level1.html#gga18a13">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_WRITE_ERROR</a>,
-<a class="el" href="group__flac__metadata__level1.html#gga18a14">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_RENAME_ERROR</a>,
-<a class="el" href="group__flac__metadata__level1.html#gga18a15">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_UNLINK_ERROR</a>,
-<a class="el" href="group__flac__metadata__level1.html#gga18a16">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__metadata__level1.html#gga18a17">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_INTERNAL_ERROR</a>
-<br>
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga2">FLAC__metadata_simple_iterator_new</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga3">FLAC__metadata_simple_iterator_delete</a> (<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__metadata__level1.html#ga18">FLAC__Metadata_SimpleIteratorStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga4">FLAC__metadata_simple_iterator_status</a> (<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga5">FLAC__metadata_simple_iterator_init</a> (<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator, const char *filename, FLAC__bool read_only, FLAC__bool preserve_file_stats)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga6">FLAC__metadata_simple_iterator_is_writable</a> (const <a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga7">FLAC__metadata_simple_iterator_next</a> (<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga8">FLAC__metadata_simple_iterator_prev</a> (<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga9">FLAC__metadata_simple_iterator_is_last</a> (const <a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">off_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga10">FLAC__metadata_simple_iterator_get_block_offset</a> (const <a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga11">FLAC__metadata_simple_iterator_get_block_type</a> (const <a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga12">FLAC__metadata_simple_iterator_get_block_length</a> (const <a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga13">FLAC__metadata_simple_iterator_get_application_id</a> (<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator, FLAC__byte *id)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga14">FLAC__metadata_simple_iterator_get_block</a> (<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga15">FLAC__metadata_simple_iterator_set_block</a> (<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator, <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block, FLAC__bool use_padding)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga16">FLAC__metadata_simple_iterator_insert_block_after</a> (<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator, <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block, FLAC__bool use_padding)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga17">FLAC__metadata_simple_iterator_delete_block</a> (<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator, FLAC__bool use_padding)</td></tr>
-
-<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga1">FLAC__Metadata_SimpleIteratorStatusString</a> []</td></tr>
-
-</table>
-<hr><h2>Typedef Documentation</h2>
-<a class="anchor" name="ga0" doxytag="metadata.h::FLAC__Metadata_SimpleIterator"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef struct <a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> <a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The opaque structure definition for the level 1 iterator type. See the <a class="el" href="group__flac__metadata__level1.html">metadata level 1 module </a> for a detailed description. </td>
- </tr>
-</table>
-<hr><h2>Enumeration Type Documentation</h2>
-<a class="anchor" name="ga18" doxytag="metadata.h::FLAC__Metadata_SimpleIteratorStatus"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__metadata__level1.html#ga18">FLAC__Metadata_SimpleIteratorStatus</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Status type for FLAC__Metadata_SimpleIterator.<p>
-The iterator's current status can be obtained by calling <a class="el" href="group__flac__metadata__level1.html#ga4">FLAC__metadata_simple_iterator_status()</a>. <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga18a5" doxytag="FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK"></a>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK</em>&nbsp;</td><td>
-The iterator is in the normal OK state </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga18a6" doxytag="FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT"></a>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT</em>&nbsp;</td><td>
-The data passed into a function violated the function's usage criteria </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga18a7" doxytag="FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE"></a>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE</em>&nbsp;</td><td>
-The iterator could not open the target file </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga18a8" doxytag="FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_A_FLAC_FILE"></a>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_A_FLAC_FILE</em>&nbsp;</td><td>
-The iterator could not find the FLAC signature at the start of the file </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga18a9" doxytag="FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_WRITABLE"></a>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_WRITABLE</em>&nbsp;</td><td>
-The iterator tried to write to a file that was not writable </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga18a10" doxytag="FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA"></a>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA</em>&nbsp;</td><td>
-The iterator encountered input that does not conform to the FLAC metadata specification </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga18a11" doxytag="FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR"></a>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR</em>&nbsp;</td><td>
-The iterator encountered an error while reading the FLAC file </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga18a12" doxytag="FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR"></a>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR</em>&nbsp;</td><td>
-The iterator encountered an error while seeking in the FLAC file </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga18a13" doxytag="FLAC__METADATA_SIMPLE_ITERATOR_STATUS_WRITE_ERROR"></a>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_WRITE_ERROR</em>&nbsp;</td><td>
-The iterator encountered an error while writing the FLAC file </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga18a14" doxytag="FLAC__METADATA_SIMPLE_ITERATOR_STATUS_RENAME_ERROR"></a>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_RENAME_ERROR</em>&nbsp;</td><td>
-The iterator encountered an error renaming the FLAC file </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga18a15" doxytag="FLAC__METADATA_SIMPLE_ITERATOR_STATUS_UNLINK_ERROR"></a>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_UNLINK_ERROR</em>&nbsp;</td><td>
-The iterator encountered an error removing the temporary file </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga18a16" doxytag="FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR"></a>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR</em>&nbsp;</td><td>
-Memory allocation failed </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga18a17" doxytag="FLAC__METADATA_SIMPLE_ITERATOR_STATUS_INTERNAL_ERROR"></a>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_INTERNAL_ERROR</em>&nbsp;</td><td>
-The caller violated an assertion or an unexpected error occurred </td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="ga2" doxytag="metadata.h::FLAC__metadata_simple_iterator_new"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a>* FLAC__metadata_simple_iterator_new </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">void&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Create a new iterator instance.<p>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__Metadata_SimpleIterator*</em>&nbsp;</td><td><code>NULL</code> if there was an error allocating memory, else the new instance. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga3" doxytag="metadata.h::FLAC__metadata_simple_iterator_delete"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC__metadata_simple_iterator_delete </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>iterator</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Free an iterator instance. Deletes the object pointed to by <em>iterator</em>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing iterator. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga4" doxytag="metadata.h::FLAC__metadata_simple_iterator_status"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level1.html#ga18">FLAC__Metadata_SimpleIteratorStatus</a> FLAC__metadata_simple_iterator_status </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>iterator</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the current status of the iterator. Call this after a function returns <code>false</code> to get the reason for the error. Also resets the status to FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing iterator. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__Metadata_SimpleIteratorStatus</em>&nbsp;</td><td>The current status of the iterator. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga5" doxytag="metadata.h::FLAC__metadata_simple_iterator_init"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_simple_iterator_init </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>iterator</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>read_only</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>preserve_file_stats</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Initialize the iterator to point to the first metadata block in the given FLAC file.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing iterator. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The path to the FLAC file. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>read_only</em>&nbsp;</td><td>If <code>true</code>, the FLAC file will be opened in read-only mode; if <code>false</code>, the FLAC file will be opened for edit even if no edits are performed. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>preserve_file_stats</em>&nbsp;</td><td>If <code>true</code>, the owner and modification time will be preserved even if the FLAC file is written to. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> filename != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if a memory allocation error occurs, the file can't be opened, or another error occurs, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga6" doxytag="metadata.h::FLAC__metadata_simple_iterator_is_writable"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_simple_iterator_is_writable </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>iterator</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns <code>true</code> if the FLAC file is writable. If <code>false</code>, calls to <a class="el" href="group__flac__metadata__level1.html#ga15">FLAC__metadata_simple_iterator_set_block()</a> and <a class="el" href="group__flac__metadata__level1.html#ga16">FLAC__metadata_simple_iterator_insert_block_after()</a> will fail.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing iterator. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga7" doxytag="metadata.h::FLAC__metadata_simple_iterator_next"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_simple_iterator_next </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>iterator</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Moves the iterator forward one metadata block, returning <code>false</code> if already at the end.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing initialized iterator. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <em>iterator</em> has been successfully initialized with <a class="el" href="group__flac__metadata__level1.html#ga5">FLAC__metadata_simple_iterator_init()</a> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if already at the last metadata block of the chain, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga8" doxytag="metadata.h::FLAC__metadata_simple_iterator_prev"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_simple_iterator_prev </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>iterator</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Moves the iterator backward one metadata block, returning <code>false</code> if already at the beginning.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing initialized iterator. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <em>iterator</em> has been successfully initialized with <a class="el" href="group__flac__metadata__level1.html#ga5">FLAC__metadata_simple_iterator_init()</a> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if already at the first metadata block of the chain, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga9" doxytag="metadata.h::FLAC__metadata_simple_iterator_is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_simple_iterator_is_last </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>iterator</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns a flag telling if the current metadata block is the last.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing initialized iterator. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <em>iterator</em> has been successfully initialized with <a class="el" href="group__flac__metadata__level1.html#ga5">FLAC__metadata_simple_iterator_init()</a> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if the current metadata block is the last in the file, else <code>false</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga10" doxytag="metadata.h::FLAC__metadata_simple_iterator_get_block_offset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">off_t FLAC__metadata_simple_iterator_get_block_offset </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>iterator</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the offset of the metadata block at the current position. This avoids reading the actual block data which can save time for large blocks.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing initialized iterator. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <em>iterator</em> has been successfully initialized with <a class="el" href="group__flac__metadata__level1.html#ga5">FLAC__metadata_simple_iterator_init()</a> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>off_t</em>&nbsp;</td><td>The offset of the metadata block at the current iterator position. This is the byte offset relative to the beginning of the file of the current metadata block's header. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga11" doxytag="metadata.h::FLAC__metadata_simple_iterator_get_block_type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> FLAC__metadata_simple_iterator_get_block_type </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>iterator</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the type of the metadata block at the current position. This avoids reading the actual block data which can save time for large blocks.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing initialized iterator. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <em>iterator</em> has been successfully initialized with <a class="el" href="group__flac__metadata__level1.html#ga5">FLAC__metadata_simple_iterator_init()</a> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__MetadataType</em>&nbsp;</td><td>The type of the metadata block at the current iterator position. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga12" doxytag="metadata.h::FLAC__metadata_simple_iterator_get_block_length"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC__metadata_simple_iterator_get_block_length </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>iterator</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the length of the metadata block at the current position. This avoids reading the actual block data which can save time for large blocks.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing initialized iterator. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <em>iterator</em> has been successfully initialized with <a class="el" href="group__flac__metadata__level1.html#ga5">FLAC__metadata_simple_iterator_init()</a> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>The length of the metadata block at the current iterator position. The is same length as that in the <a href="http://flac.sourceforge.net/format.html#metadata_block_header">metadata block header</a>, i.e. the length of the metadata body that follows the header. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga13" doxytag="metadata.h::FLAC__metadata_simple_iterator_get_application_id"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_simple_iterator_get_application_id </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>iterator</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__byte *&nbsp;</td>
- <td class="mdname" nowrap> <em>id</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the application ID of the <code>APPLICATION</code> block at the current position. This avoids reading the actual block data which can save time for large blocks.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing initialized iterator. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>A pointer to a buffer of at least <code>4</code> bytes where the ID will be stored. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> <span class="keywordtype">id</span> != NULL
-</pre></div> <em>iterator</em> has been successfully initialized with <a class="el" href="group__flac__metadata__level1.html#ga5">FLAC__metadata_simple_iterator_init()</a> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if the ID was successfully read, else <code>false</code>, in which case you should check <a class="el" href="group__flac__metadata__level1.html#ga4">FLAC__metadata_simple_iterator_status()</a> to find out why. If the status is <code>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT</code>, then the current metadata block is not an <code>APPLICATION</code> block. Otherwise if the status is <code>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR</code> or <code>FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR</code>, an I/O error occurred and the iterator can no longer be used. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga14" doxytag="metadata.h::FLAC__metadata_simple_iterator_get_block"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>* FLAC__metadata_simple_iterator_get_block </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>iterator</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the metadata block at the current position. You can modify the block but must use <a class="el" href="group__flac__metadata__level1.html#ga15">FLAC__metadata_simple_iterator_set_block()</a> to write it back to the FLAC file.<p>
-You must call <a class="el" href="group__flac__metadata__object.html#ga2">FLAC__metadata_object_delete()</a> on the returned object when you are finished with it.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing initialized iterator. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <em>iterator</em> has been successfully initialized with <a class="el" href="group__flac__metadata__level1.html#ga5">FLAC__metadata_simple_iterator_init()</a> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamMetadata*</em>&nbsp;</td><td>The current metadata block, or <code>NULL</code> if there was a memory allocation error. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga15" doxytag="metadata.h::FLAC__metadata_simple_iterator_set_block"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_simple_iterator_set_block </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>iterator</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>block</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>use_padding</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Write a block back to the FLAC file. This function tries to be as efficient as possible; how the block is actually written is shown by the following:<p>
-Existing block is a STREAMINFO block and the new block is a STREAMINFO block: the new block is written in place. Make sure you know what you're doing when changing the values of a STREAMINFO block.<p>
-Existing block is a STREAMINFO block and the new block is a not a STREAMINFO block: this is an error since the first block must be a STREAMINFO block. Returns <code>false</code> without altering the file.<p>
-Existing block is not a STREAMINFO block and the new block is a STREAMINFO block: this is an error since there may be only one STREAMINFO block. Returns <code>false</code> without altering the file.<p>
-Existing block and new block are the same length: the existing block will be replaced by the new block, written in place.<p>
-Existing block is longer than new block: if use_padding is <code>true</code>, the existing block will be overwritten in place with the new block followed by a PADDING block, if possible, to make the total size the same as the existing block. Remember that a padding block requires at least four bytes so if the difference in size between the new block and existing block is less than that, the entire file will have to be rewritten, using the new block's exact size. If use_padding is <code>false</code>, the entire file will be rewritten, replacing the existing block by the new block.<p>
-Existing block is shorter than new block: if use_padding is <code>true</code>, the function will try and expand the new block into the following PADDING block, if it exists and doing so won't shrink the PADDING block to less than 4 bytes. If there is no following PADDING block, or it will shrink to less than 4 bytes, or use_padding is <code>false</code>, the entire file is rewritten, replacing the existing block with the new block. Note that in this case any following PADDING block is preserved as is.<p>
-After writing the block, the iterator will remain in the same place, i.e. pointing to the new block.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing initialized iterator. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>block</em>&nbsp;</td><td>The block to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>use_padding</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <em>iterator</em> has been successfully initialized with <a class="el" href="group__flac__metadata__level1.html#ga5">FLAC__metadata_simple_iterator_init()</a> <div class="fragment"><pre class="fragment"> block != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if successful, else <code>false</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga16" doxytag="metadata.h::FLAC__metadata_simple_iterator_insert_block_after"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_simple_iterator_insert_block_after </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>iterator</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>block</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>use_padding</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-This is similar to <a class="el" href="group__flac__metadata__level1.html#ga15">FLAC__metadata_simple_iterator_set_block()</a> except that instead of writing over an existing block, it appends a block after the existing block. <em>use_padding</em> is again used to tell the function to try an expand into following padding in an attempt to avoid rewriting the entire file.<p>
-This function will fail and return <code>false</code> if given a STREAMINFO block.<p>
-After writing the block, the iterator will be pointing to the new block.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing initialized iterator. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>block</em>&nbsp;</td><td>The block to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>use_padding</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <em>iterator</em> has been successfully initialized with <a class="el" href="group__flac__metadata__level1.html#ga5">FLAC__metadata_simple_iterator_init()</a> <div class="fragment"><pre class="fragment"> block != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if successful, else <code>false</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga17" doxytag="metadata.h::FLAC__metadata_simple_iterator_delete_block"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_simple_iterator_delete_block </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>iterator</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>use_padding</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Deletes the block at the current position. This will cause the entire FLAC file to be rewritten, unless <em>use_padding</em> is <code>true</code>, in which case the block will be replaced by an equal-sized PADDING block. The iterator will be left pointing to the block before the one just deleted.<p>
-You may not delete the STREAMINFO block.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing initialized iterator. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>use_padding</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <em>iterator</em> has been successfully initialized with <a class="el" href="group__flac__metadata__level1.html#ga5">FLAC__metadata_simple_iterator_init()</a> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if successful, else <code>false</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<hr><h2>Variable Documentation</h2>
-<a class="anchor" name="ga1" doxytag="metadata.h::FLAC__Metadata_SimpleIteratorStatusString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__metadata__level1.html#ga1">FLAC__Metadata_SimpleIteratorStatusString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__Metadata_SimpleIteratorStatus to a C string.<p>
-Using a FLAC__Metadata_SimpleIteratorStatus as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flac__metadata__level2.html b/3rdparty/libflac/doc/html/api/group__flac__metadata__level2.html
deleted file mode 100644
index 8320052d02f..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flac__metadata__level2.html
+++ /dev/null
@@ -1,1428 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC/metadata.h: metadata level 2 interface</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC/metadata.h: metadata level 2 interface<br>
-<small>
-[<a class="el" href="group__flac__metadata.html">FLAC/metadata.h: metadata interfaces</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-The level 2 interface provides read-write access to FLAC file metadata; all metadata is read into memory, operated on in memory, and then written to file, which is more efficient than level 1 when editing multiple blocks.
-<p>
-Currently Ogg FLAC is supported for read only, via <a class="el" href="group__flac__metadata__level2.html#ga7">FLAC__metadata_chain_read_ogg()</a> but a subsequent <a class="el" href="group__flac__metadata__level2.html#ga11">FLAC__metadata_chain_write()</a> will fail.<p>
-The general usage of this interface is:<p>
-<ul>
-<li>Create a new chain using <a class="el" href="group__flac__metadata__level2.html#ga3">FLAC__metadata_chain_new()</a>. A chain is a linked list of FLAC metadata blocks.</li><li>Read all metadata into the the chain from a FLAC file using <a class="el" href="group__flac__metadata__level2.html#ga6">FLAC__metadata_chain_read()</a> or <a class="el" href="group__flac__metadata__level2.html#ga7">FLAC__metadata_chain_read_ogg()</a> and check the status.</li><li>Optionally, consolidate the padding using <a class="el" href="group__flac__metadata__level2.html#ga14">FLAC__metadata_chain_merge_padding()</a> or <a class="el" href="group__flac__metadata__level2.html#ga15">FLAC__metadata_chain_sort_padding()</a>.</li><li>Create a new iterator using <a class="el" href="group__flac__metadata__level2.html#ga16">FLAC__metadata_iterator_new()</a></li><li>Initialize the iterator to point to the first element in the chain using <a class="el" href="group__flac__metadata__level2.html#ga18">FLAC__metadata_iterator_init()</a></li><li>Traverse the chain using FLAC__metadata_iterator_next and <a class="el" href="group__flac__metadata__level2.html#ga20">FLAC__metadata_iterator_prev()</a>.</li><li>Get a block for reading or modification using <a class="el" href="group__flac__metadata__level2.html#ga22">FLAC__metadata_iterator_get_block()</a>. The pointer to the object inside the chain is returned, so the block is yours to modify. Changes will be reflected in the FLAC file when you write the chain. You can also add and delete blocks (see functions below).</li><li>When done, write out the chain using <a class="el" href="group__flac__metadata__level2.html#ga11">FLAC__metadata_chain_write()</a>. Make sure to read the whole comment to the function below.</li><li>Delete the chain using <a class="el" href="group__flac__metadata__level2.html#ga4">FLAC__metadata_chain_delete()</a>.</li></ul>
-<p>
-<dl compact><dt><b>Note:</b></dt><dd>Even though the FLAC file is not open while the chain is being manipulated, you must not alter the file externally during this time. The chain assumes the FLAC file will not change between the time of <a class="el" href="group__flac__metadata__level2.html#ga6">FLAC__metadata_chain_read()</a>/FLAC__metadata_chain_read_ogg() and <a class="el" href="group__flac__metadata__level2.html#ga11">FLAC__metadata_chain_write()</a>.<p>
-Do not modify the is_last, length, or type fields of returned <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> objects. These are managed automatically.<p>
-The metadata objects returned by <a class="el" href="group__flac__metadata__level2.html#ga22">FLAC__metadata_iterator_get_block()</a> are owned by the chain; do not <a class="el" href="group__flac__metadata__object.html#ga2">FLAC__metadata_object_delete()</a> them. In the same way, blocks passed to <a class="el" href="group__flac__metadata__level2.html#ga23">FLAC__metadata_iterator_set_block()</a> become owned by the chain and they will be deleted when the chain is deleted. </dd></dl>
-
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga27">FLAC__Metadata_ChainStatus</a> { <br>
-&nbsp;&nbsp;<a class="el" href="group__flac__metadata__level2.html#gga27a18">FLAC__METADATA_CHAIN_STATUS_OK</a> = 0,
-<a class="el" href="group__flac__metadata__level2.html#gga27a19">FLAC__METADATA_CHAIN_STATUS_ILLEGAL_INPUT</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a20">FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a21">FLAC__METADATA_CHAIN_STATUS_NOT_A_FLAC_FILE</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__metadata__level2.html#gga27a22">FLAC__METADATA_CHAIN_STATUS_NOT_WRITABLE</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a23">FLAC__METADATA_CHAIN_STATUS_BAD_METADATA</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a24">FLAC__METADATA_CHAIN_STATUS_READ_ERROR</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a25">FLAC__METADATA_CHAIN_STATUS_SEEK_ERROR</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__metadata__level2.html#gga27a26">FLAC__METADATA_CHAIN_STATUS_WRITE_ERROR</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a27">FLAC__METADATA_CHAIN_STATUS_RENAME_ERROR</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a28">FLAC__METADATA_CHAIN_STATUS_UNLINK_ERROR</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a29">FLAC__METADATA_CHAIN_STATUS_MEMORY_ALLOCATION_ERROR</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__metadata__level2.html#gga27a30">FLAC__METADATA_CHAIN_STATUS_INTERNAL_ERROR</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a31">FLAC__METADATA_CHAIN_STATUS_INVALID_CALLBACKS</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a32">FLAC__METADATA_CHAIN_STATUS_READ_WRITE_MISMATCH</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a33">FLAC__METADATA_CHAIN_STATUS_WRONG_WRITE_CALL</a>
-<br>
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga3">FLAC__metadata_chain_new</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga4">FLAC__metadata_chain_delete</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__metadata__level2.html#ga27">FLAC__Metadata_ChainStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga5">FLAC__metadata_chain_status</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga6">FLAC__metadata_chain_read</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain, const char *filename)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga7">FLAC__metadata_chain_read_ogg</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain, const char *filename)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga8">FLAC__metadata_chain_read_with_callbacks</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain, <a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, <a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga9">FLAC__metadata_chain_read_ogg_with_callbacks</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain, <a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, <a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga10">FLAC__metadata_chain_check_if_tempfile_needed</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain, FLAC__bool use_padding)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga11">FLAC__metadata_chain_write</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain, FLAC__bool use_padding, FLAC__bool preserve_file_stats)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga12">FLAC__metadata_chain_write_with_callbacks</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain, FLAC__bool use_padding, <a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, <a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga13">FLAC__metadata_chain_write_with_callbacks_and_tempfile</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain, FLAC__bool use_padding, <a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, <a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks, <a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> temp_handle, <a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> temp_callbacks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga14">FLAC__metadata_chain_merge_padding</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga15">FLAC__metadata_chain_sort_padding</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga16">FLAC__metadata_iterator_new</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga17">FLAC__metadata_iterator_delete</a> (<a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga18">FLAC__metadata_iterator_init</a> (<a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *iterator, <a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga19">FLAC__metadata_iterator_next</a> (<a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga20">FLAC__metadata_iterator_prev</a> (<a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga21">FLAC__metadata_iterator_get_block_type</a> (const <a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga22">FLAC__metadata_iterator_get_block</a> (<a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga23">FLAC__metadata_iterator_set_block</a> (<a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *iterator, <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga24">FLAC__metadata_iterator_delete_block</a> (<a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *iterator, FLAC__bool replace_with_padding)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga25">FLAC__metadata_iterator_insert_block_before</a> (<a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *iterator, <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga26">FLAC__metadata_iterator_insert_block_after</a> (<a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *iterator, <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block)</td></tr>
-
-<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga2">FLAC__Metadata_ChainStatusString</a> []</td></tr>
-
-</table>
-<hr><h2>Typedef Documentation</h2>
-<a class="anchor" name="ga0" doxytag="metadata.h::FLAC__Metadata_Chain"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef struct <a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> <a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The opaque structure definition for the level 2 chain type. </td>
- </tr>
-</table>
-<a class="anchor" name="ga1" doxytag="metadata.h::FLAC__Metadata_Iterator"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef struct <a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> <a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The opaque structure definition for the level 2 iterator type. </td>
- </tr>
-</table>
-<hr><h2>Enumeration Type Documentation</h2>
-<a class="anchor" name="ga27" doxytag="metadata.h::FLAC__Metadata_ChainStatus"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__metadata__level2.html#ga27">FLAC__Metadata_ChainStatus</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-<dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga27a18" doxytag="FLAC__METADATA_CHAIN_STATUS_OK"></a>FLAC__METADATA_CHAIN_STATUS_OK</em>&nbsp;</td><td>
-The chain is in the normal OK state </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga27a19" doxytag="FLAC__METADATA_CHAIN_STATUS_ILLEGAL_INPUT"></a>FLAC__METADATA_CHAIN_STATUS_ILLEGAL_INPUT</em>&nbsp;</td><td>
-The data passed into a function violated the function's usage criteria </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga27a20" doxytag="FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE"></a>FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE</em>&nbsp;</td><td>
-The chain could not open the target file </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga27a21" doxytag="FLAC__METADATA_CHAIN_STATUS_NOT_A_FLAC_FILE"></a>FLAC__METADATA_CHAIN_STATUS_NOT_A_FLAC_FILE</em>&nbsp;</td><td>
-The chain could not find the FLAC signature at the start of the file </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga27a22" doxytag="FLAC__METADATA_CHAIN_STATUS_NOT_WRITABLE"></a>FLAC__METADATA_CHAIN_STATUS_NOT_WRITABLE</em>&nbsp;</td><td>
-The chain tried to write to a file that was not writable </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga27a23" doxytag="FLAC__METADATA_CHAIN_STATUS_BAD_METADATA"></a>FLAC__METADATA_CHAIN_STATUS_BAD_METADATA</em>&nbsp;</td><td>
-The chain encountered input that does not conform to the FLAC metadata specification </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga27a24" doxytag="FLAC__METADATA_CHAIN_STATUS_READ_ERROR"></a>FLAC__METADATA_CHAIN_STATUS_READ_ERROR</em>&nbsp;</td><td>
-The chain encountered an error while reading the FLAC file </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga27a25" doxytag="FLAC__METADATA_CHAIN_STATUS_SEEK_ERROR"></a>FLAC__METADATA_CHAIN_STATUS_SEEK_ERROR</em>&nbsp;</td><td>
-The chain encountered an error while seeking in the FLAC file </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga27a26" doxytag="FLAC__METADATA_CHAIN_STATUS_WRITE_ERROR"></a>FLAC__METADATA_CHAIN_STATUS_WRITE_ERROR</em>&nbsp;</td><td>
-The chain encountered an error while writing the FLAC file </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga27a27" doxytag="FLAC__METADATA_CHAIN_STATUS_RENAME_ERROR"></a>FLAC__METADATA_CHAIN_STATUS_RENAME_ERROR</em>&nbsp;</td><td>
-The chain encountered an error renaming the FLAC file </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga27a28" doxytag="FLAC__METADATA_CHAIN_STATUS_UNLINK_ERROR"></a>FLAC__METADATA_CHAIN_STATUS_UNLINK_ERROR</em>&nbsp;</td><td>
-The chain encountered an error removing the temporary file </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga27a29" doxytag="FLAC__METADATA_CHAIN_STATUS_MEMORY_ALLOCATION_ERROR"></a>FLAC__METADATA_CHAIN_STATUS_MEMORY_ALLOCATION_ERROR</em>&nbsp;</td><td>
-Memory allocation failed </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga27a30" doxytag="FLAC__METADATA_CHAIN_STATUS_INTERNAL_ERROR"></a>FLAC__METADATA_CHAIN_STATUS_INTERNAL_ERROR</em>&nbsp;</td><td>
-The caller violated an assertion or an unexpected error occurred </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga27a31" doxytag="FLAC__METADATA_CHAIN_STATUS_INVALID_CALLBACKS"></a>FLAC__METADATA_CHAIN_STATUS_INVALID_CALLBACKS</em>&nbsp;</td><td>
-One or more of the required callbacks was NULL </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga27a32" doxytag="FLAC__METADATA_CHAIN_STATUS_READ_WRITE_MISMATCH"></a>FLAC__METADATA_CHAIN_STATUS_READ_WRITE_MISMATCH</em>&nbsp;</td><td>
-<a class="el" href="group__flac__metadata__level2.html#ga11">FLAC__metadata_chain_write()</a> was called on a chain read by <a class="el" href="group__flac__metadata__level2.html#ga8">FLAC__metadata_chain_read_with_callbacks()</a>/FLAC__metadata_chain_read_ogg_with_callbacks(), or <a class="el" href="group__flac__metadata__level2.html#ga12">FLAC__metadata_chain_write_with_callbacks()</a>/FLAC__metadata_chain_write_with_callbacks_and_tempfile() was called on a chain read by <a class="el" href="group__flac__metadata__level2.html#ga6">FLAC__metadata_chain_read()</a>/FLAC__metadata_chain_read_ogg(). Matching read/write methods must always be used. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga27a33" doxytag="FLAC__METADATA_CHAIN_STATUS_WRONG_WRITE_CALL"></a>FLAC__METADATA_CHAIN_STATUS_WRONG_WRITE_CALL</em>&nbsp;</td><td>
-<a class="el" href="group__flac__metadata__level2.html#ga12">FLAC__metadata_chain_write_with_callbacks()</a> was called when the chain write requires a tempfile; use <a class="el" href="group__flac__metadata__level2.html#ga13">FLAC__metadata_chain_write_with_callbacks_and_tempfile()</a> instead. Or, <a class="el" href="group__flac__metadata__level2.html#ga13">FLAC__metadata_chain_write_with_callbacks_and_tempfile()</a> was called when the chain write does not require a tempfile; use <a class="el" href="group__flac__metadata__level2.html#ga12">FLAC__metadata_chain_write_with_callbacks()</a> instead. Always check <a class="el" href="group__flac__metadata__level2.html#ga10">FLAC__metadata_chain_check_if_tempfile_needed()</a> before writing via callbacks. </td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="ga3" doxytag="metadata.h::FLAC__metadata_chain_new"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a>* FLAC__metadata_chain_new </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">void&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Create a new chain instance.<p>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__Metadata_Chain*</em>&nbsp;</td><td><code>NULL</code> if there was an error allocating memory, else the new instance. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga4" doxytag="metadata.h::FLAC__metadata_chain_delete"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC__metadata_chain_delete </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>chain</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Free a chain instance. Deletes the object pointed to by <em>chain</em>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>chain</em>&nbsp;</td><td>A pointer to an existing chain. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> chain != NULL
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga5" doxytag="metadata.h::FLAC__metadata_chain_status"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga27">FLAC__Metadata_ChainStatus</a> FLAC__metadata_chain_status </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>chain</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the current status of the chain. Call this after a function returns <code>false</code> to get the reason for the error. Also resets the status to FLAC__METADATA_CHAIN_STATUS_OK.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>chain</em>&nbsp;</td><td>A pointer to an existing chain. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> chain != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__Metadata_ChainStatus</em>&nbsp;</td><td>The current status of the chain. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga6" doxytag="metadata.h::FLAC__metadata_chain_read"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_chain_read </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chain</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Read all metadata from a FLAC file into the chain.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>chain</em>&nbsp;</td><td>A pointer to an existing chain. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The path to the FLAC file to read. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> chain != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> filename != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if a valid list of metadata blocks was read from <em>filename</em>, else <code>false</code>. On failure, check the status with <a class="el" href="group__flac__metadata__level2.html#ga5">FLAC__metadata_chain_status()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga7" doxytag="metadata.h::FLAC__metadata_chain_read_ogg"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_chain_read_ogg </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chain</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Read all metadata from an Ogg FLAC file into the chain.<p>
-<dl compact><dt><b>Note:</b></dt><dd>Ogg FLAC metadata data writing is not supported yet and <a class="el" href="group__flac__metadata__level2.html#ga11">FLAC__metadata_chain_write()</a> will fail.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>chain</em>&nbsp;</td><td>A pointer to an existing chain. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The path to the Ogg FLAC file to read. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> chain != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> filename != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if a valid list of metadata blocks was read from <em>filename</em>, else <code>false</code>. On failure, check the status with <a class="el" href="group__flac__metadata__level2.html#ga5">FLAC__metadata_chain_status()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga8" doxytag="metadata.h::FLAC__metadata_chain_read_with_callbacks"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_chain_read_with_callbacks </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chain</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>handle</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>callbacks</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Read all metadata from a FLAC stream into the chain via I/O callbacks.<p>
-The <em>handle</em> need only be open for reading, but must be seekable. The equivalent minimum stdio fopen() file mode is <code>"r"</code> (or <code>"rb"</code> for Windows).<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>chain</em>&nbsp;</td><td>A pointer to an existing chain. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>The I/O handle of the FLAC stream to read. The handle will NOT be closed after the metadata is read; that is the duty of the caller. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>callbacks</em>&nbsp;</td><td>A set of callbacks to use for I/O. The mandatory callbacks are <em>read</em>, <em>seek</em>, and <em>tell</em>. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> chain != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if a valid list of metadata blocks was read from <em>handle</em>, else <code>false</code>. On failure, check the status with <a class="el" href="group__flac__metadata__level2.html#ga5">FLAC__metadata_chain_status()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga9" doxytag="metadata.h::FLAC__metadata_chain_read_ogg_with_callbacks"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_chain_read_ogg_with_callbacks </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chain</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>handle</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>callbacks</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Read all metadata from an Ogg FLAC stream into the chain via I/O callbacks.<p>
-The <em>handle</em> need only be open for reading, but must be seekable. The equivalent minimum stdio fopen() file mode is <code>"r"</code> (or <code>"rb"</code> for Windows).<p>
-<dl compact><dt><b>Note:</b></dt><dd>Ogg FLAC metadata data writing is not supported yet and <a class="el" href="group__flac__metadata__level2.html#ga11">FLAC__metadata_chain_write()</a> will fail.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>chain</em>&nbsp;</td><td>A pointer to an existing chain. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>The I/O handle of the Ogg FLAC stream to read. The handle will NOT be closed after the metadata is read; that is the duty of the caller. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>callbacks</em>&nbsp;</td><td>A set of callbacks to use for I/O. The mandatory callbacks are <em>read</em>, <em>seek</em>, and <em>tell</em>. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> chain != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if a valid list of metadata blocks was read from <em>handle</em>, else <code>false</code>. On failure, check the status with <a class="el" href="group__flac__metadata__level2.html#ga5">FLAC__metadata_chain_status()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga10" doxytag="metadata.h::FLAC__metadata_chain_check_if_tempfile_needed"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_chain_check_if_tempfile_needed </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chain</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>use_padding</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Checks if writing the given chain would require the use of a temporary file, or if it could be written in place.<p>
-Under certain conditions, padding can be utilized so that writing edited metadata back to the FLAC file does not require rewriting the entire file. If rewriting is required, then a temporary workfile is required. When writing metadata using callbacks, you must check this function to know whether to call <a class="el" href="group__flac__metadata__level2.html#ga12">FLAC__metadata_chain_write_with_callbacks()</a> or <a class="el" href="group__flac__metadata__level2.html#ga13">FLAC__metadata_chain_write_with_callbacks_and_tempfile()</a>. When writing with <a class="el" href="group__flac__metadata__level2.html#ga11">FLAC__metadata_chain_write()</a>, the temporary file is handled internally.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>chain</em>&nbsp;</td><td>A pointer to an existing chain. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>use_padding</em>&nbsp;</td><td>Whether or not padding will be allowed to be used during the write. The value of <em>use_padding</em> given here must match the value later passed to <a class="el" href="group__flac__metadata__level2.html#ga12">FLAC__metadata_chain_write_with_callbacks()</a> or FLAC__metadata_chain_write_with_callbacks_with_tempfile(). </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> chain != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if writing the current chain would require a tempfile, or <code>false</code> if metadata can be written in place. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga11" doxytag="metadata.h::FLAC__metadata_chain_write"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_chain_write </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chain</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>use_padding</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>preserve_file_stats</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Write all metadata out to the FLAC file. This function tries to be as efficient as possible; how the metadata is actually written is shown by the following:<p>
-If the current chain is the same size as the existing metadata, the new data is written in place.<p>
-If the current chain is longer than the existing metadata, and <em>use_padding</em> is <code>true</code>, and the last block is a PADDING block of sufficient length, the function will truncate the final padding block so that the overall size of the metadata is the same as the existing metadata, and then just rewrite the metadata. Otherwise, if not all of the above conditions are met, the entire FLAC file must be rewritten. If you want to use padding this way it is a good idea to call <a class="el" href="group__flac__metadata__level2.html#ga15">FLAC__metadata_chain_sort_padding()</a> first so that you have the maximum amount of padding to work with, unless you need to preserve ordering of the PADDING blocks for some reason.<p>
-If the current chain is shorter than the existing metadata, and <em>use_padding</em> is <code>true</code>, and the final block is a PADDING block, the padding is extended to make the overall size the same as the existing data. If <em>use_padding</em> is <code>true</code> and the last block is not a PADDING block, a new PADDING block is added to the end of the new data to make it the same size as the existing data (if possible, see the note to <a class="el" href="group__flac__metadata__level1.html#ga15">FLAC__metadata_simple_iterator_set_block()</a> about the four byte limit) and the new data is written in place. If none of the above apply or <em>use_padding</em> is <code>false</code>, the entire FLAC file is rewritten.<p>
-If <em>preserve_file_stats</em> is <code>true</code>, the owner and modification time will be preserved even if the FLAC file is written.<p>
-For this write function to be used, the chain must have been read with <a class="el" href="group__flac__metadata__level2.html#ga6">FLAC__metadata_chain_read()</a>/FLAC__metadata_chain_read_ogg(), not <a class="el" href="group__flac__metadata__level2.html#ga8">FLAC__metadata_chain_read_with_callbacks()</a>/FLAC__metadata_chain_read_ogg_with_callbacks().<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>chain</em>&nbsp;</td><td>A pointer to an existing chain. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>use_padding</em>&nbsp;</td><td>See above. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>preserve_file_stats</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> chain != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if the write succeeded, else <code>false</code>. On failure, check the status with <a class="el" href="group__flac__metadata__level2.html#ga5">FLAC__metadata_chain_status()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga12" doxytag="metadata.h::FLAC__metadata_chain_write_with_callbacks"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_chain_write_with_callbacks </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chain</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>use_padding</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>handle</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>callbacks</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Write all metadata out to a FLAC stream via callbacks.<p>
-(See <a class="el" href="group__flac__metadata__level2.html#ga11">FLAC__metadata_chain_write()</a> for the details on how padding is used to write metadata in place if possible.)<p>
-The <em>handle</em> must be open for updating and be seekable. The equivalent minimum stdio fopen() file mode is <code>"r+"</code> (or <code>"r+b"</code> for Windows).<p>
-For this write function to be used, the chain must have been read with <a class="el" href="group__flac__metadata__level2.html#ga8">FLAC__metadata_chain_read_with_callbacks()</a>/FLAC__metadata_chain_read_ogg_with_callbacks(), not <a class="el" href="group__flac__metadata__level2.html#ga6">FLAC__metadata_chain_read()</a>/FLAC__metadata_chain_read_ogg(). Also, <a class="el" href="group__flac__metadata__level2.html#ga10">FLAC__metadata_chain_check_if_tempfile_needed()</a> must have returned <code>false</code>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>chain</em>&nbsp;</td><td>A pointer to an existing chain. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>use_padding</em>&nbsp;</td><td>See <a class="el" href="group__flac__metadata__level2.html#ga11">FLAC__metadata_chain_write()</a> </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>The I/O handle of the FLAC stream to write. The handle will NOT be closed after the metadata is written; that is the duty of the caller. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>callbacks</em>&nbsp;</td><td>A set of callbacks to use for I/O. The mandatory callbacks are <em>write</em> and <em>seek</em>. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> chain != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if the write succeeded, else <code>false</code>. On failure, check the status with <a class="el" href="group__flac__metadata__level2.html#ga5">FLAC__metadata_chain_status()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga13" doxytag="metadata.h::FLAC__metadata_chain_write_with_callbacks_and_tempfile"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_chain_write_with_callbacks_and_tempfile </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chain</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>use_padding</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>handle</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>callbacks</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>temp_handle</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>temp_callbacks</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Write all metadata out to a FLAC stream via callbacks.<p>
-(See <a class="el" href="group__flac__metadata__level2.html#ga11">FLAC__metadata_chain_write()</a> for the details on how padding is used to write metadata in place if possible.)<p>
-This version of the write-with-callbacks function must be used when <a class="el" href="group__flac__metadata__level2.html#ga10">FLAC__metadata_chain_check_if_tempfile_needed()</a> returns true. In this function, you must supply an I/O handle corresponding to the FLAC file to edit, and a temporary handle to which the new FLAC file will be written. It is the caller's job to move this temporary FLAC file on top of the original FLAC file to complete the metadata edit.<p>
-The <em>handle</em> must be open for reading and be seekable. The equivalent minimum stdio fopen() file mode is <code>"r"</code> (or <code>"rb"</code> for Windows).<p>
-The <em>temp_handle</em> must be open for writing. The equivalent minimum stdio fopen() file mode is <code>"w"</code> (or <code>"wb"</code> for Windows). It should be an empty stream, or at least positioned at the start-of-file (in which case it is the caller's duty to truncate it on return).<p>
-For this write function to be used, the chain must have been read with <a class="el" href="group__flac__metadata__level2.html#ga8">FLAC__metadata_chain_read_with_callbacks()</a>/FLAC__metadata_chain_read_ogg_with_callbacks(), not <a class="el" href="group__flac__metadata__level2.html#ga6">FLAC__metadata_chain_read()</a>/FLAC__metadata_chain_read_ogg(). Also, <a class="el" href="group__flac__metadata__level2.html#ga10">FLAC__metadata_chain_check_if_tempfile_needed()</a> must have returned <code>true</code>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>chain</em>&nbsp;</td><td>A pointer to an existing chain. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>use_padding</em>&nbsp;</td><td>See <a class="el" href="group__flac__metadata__level2.html#ga11">FLAC__metadata_chain_write()</a> </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>The I/O handle of the original FLAC stream to read. The handle will NOT be closed after the metadata is written; that is the duty of the caller. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>callbacks</em>&nbsp;</td><td>A set of callbacks to use for I/O on <em>handle</em>. The mandatory callbacks are <em>read</em>, <em>seek</em>, and <em>eof</em>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>temp_handle</em>&nbsp;</td><td>The I/O handle of the FLAC stream to write. The handle will NOT be closed after the metadata is written; that is the duty of the caller. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>temp_callbacks</em>&nbsp;</td><td>A set of callbacks to use for I/O on temp_handle. The only mandatory callback is <em>write</em>. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> chain != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if the write succeeded, else <code>false</code>. On failure, check the status with <a class="el" href="group__flac__metadata__level2.html#ga5">FLAC__metadata_chain_status()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga14" doxytag="metadata.h::FLAC__metadata_chain_merge_padding"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC__metadata_chain_merge_padding </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>chain</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Merge adjacent PADDING blocks into a single block.<p>
-<dl compact><dt><b>Note:</b></dt><dd>This function does not write to the FLAC file, it only modifies the chain.</dd></dl>
-<dl compact><dt><b>Warning:</b></dt><dd>Any iterator on the current chain will become invalid after this call. You should delete the iterator and get a new one.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>chain</em>&nbsp;</td><td>A pointer to an existing chain. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> chain != NULL
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga15" doxytag="metadata.h::FLAC__metadata_chain_sort_padding"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC__metadata_chain_sort_padding </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>chain</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-This function will move all PADDING blocks to the end on the metadata, then merge them into a single block.<p>
-<dl compact><dt><b>Note:</b></dt><dd>This function does not write to the FLAC file, it only modifies the chain.</dd></dl>
-<dl compact><dt><b>Warning:</b></dt><dd>Any iterator on the current chain will become invalid after this call. You should delete the iterator and get a new one.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>chain</em>&nbsp;</td><td>A pointer to an existing chain. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> chain != NULL
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga16" doxytag="metadata.h::FLAC__metadata_iterator_new"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a>* FLAC__metadata_iterator_new </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">void&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Create a new iterator instance.<p>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__Metadata_Iterator*</em>&nbsp;</td><td><code>NULL</code> if there was an error allocating memory, else the new instance. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga17" doxytag="metadata.h::FLAC__metadata_iterator_delete"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC__metadata_iterator_delete </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>iterator</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Free an iterator instance. Deletes the object pointed to by <em>iterator</em>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing iterator. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga18" doxytag="metadata.h::FLAC__metadata_iterator_init"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC__metadata_iterator_init </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>iterator</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chain</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Initialize the iterator to point to the first metadata block in the given chain.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing iterator. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>chain</em>&nbsp;</td><td>A pointer to an existing and initialized (read) chain. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> chain != NULL
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga19" doxytag="metadata.h::FLAC__metadata_iterator_next"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_iterator_next </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>iterator</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Moves the iterator forward one metadata block, returning <code>false</code> if already at the end.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing initialized iterator. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <em>iterator</em> has been successfully initialized with <a class="el" href="group__flac__metadata__level2.html#ga18">FLAC__metadata_iterator_init()</a> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if already at the last metadata block of the chain, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga20" doxytag="metadata.h::FLAC__metadata_iterator_prev"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_iterator_prev </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>iterator</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Moves the iterator backward one metadata block, returning <code>false</code> if already at the beginning.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing initialized iterator. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <em>iterator</em> has been successfully initialized with <a class="el" href="group__flac__metadata__level2.html#ga18">FLAC__metadata_iterator_init()</a> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if already at the first metadata block of the chain, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga21" doxytag="metadata.h::FLAC__metadata_iterator_get_block_type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> FLAC__metadata_iterator_get_block_type </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>iterator</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the type of the metadata block at the current position.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing initialized iterator. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <em>iterator</em> has been successfully initialized with <a class="el" href="group__flac__metadata__level2.html#ga18">FLAC__metadata_iterator_init()</a> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__MetadataType</em>&nbsp;</td><td>The type of the metadata block at the current iterator position. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga22" doxytag="metadata.h::FLAC__metadata_iterator_get_block"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>* FLAC__metadata_iterator_get_block </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>iterator</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the metadata block at the current position. You can modify the block in place but must write the chain before the changes are reflected to the FLAC file. You do not need to call <a class="el" href="group__flac__metadata__level2.html#ga23">FLAC__metadata_iterator_set_block()</a> to reflect the changes; the pointer returned by <a class="el" href="group__flac__metadata__level2.html#ga22">FLAC__metadata_iterator_get_block()</a> points directly into the chain.<p>
-<dl compact><dt><b>Warning:</b></dt><dd>Do not call <a class="el" href="group__flac__metadata__object.html#ga2">FLAC__metadata_object_delete()</a> on the returned object; to delete a block use <a class="el" href="group__flac__metadata__level2.html#ga24">FLAC__metadata_iterator_delete_block()</a>.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing initialized iterator. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <em>iterator</em> has been successfully initialized with <a class="el" href="group__flac__metadata__level2.html#ga18">FLAC__metadata_iterator_init()</a> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamMetadata*</em>&nbsp;</td><td>The current metadata block. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga23" doxytag="metadata.h::FLAC__metadata_iterator_set_block"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_iterator_set_block </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>iterator</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>block</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set the metadata block at the current position, replacing the existing block. The new block passed in becomes owned by the chain and it will be deleted when the chain is deleted.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing initialized iterator. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>block</em>&nbsp;</td><td>A pointer to a metadata block. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <em>iterator</em> has been successfully initialized with <a class="el" href="group__flac__metadata__level2.html#ga18">FLAC__metadata_iterator_init()</a> <div class="fragment"><pre class="fragment"> block != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the conditions in the above description are not met, or a memory allocation error occurs, otherwise <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga24" doxytag="metadata.h::FLAC__metadata_iterator_delete_block"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_iterator_delete_block </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>iterator</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>replace_with_padding</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Removes the current block from the chain. If <em>replace_with_padding</em> is <code>true</code>, the block will instead be replaced with a padding block of equal size. You can not delete the STREAMINFO block. The iterator will be left pointing to the block before the one just "deleted", even if <em>replace_with_padding</em> is <code>true</code>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing initialized iterator. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>replace_with_padding</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <em>iterator</em> has been successfully initialized with <a class="el" href="group__flac__metadata__level2.html#ga18">FLAC__metadata_iterator_init()</a> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the conditions in the above description are not met, otherwise <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga25" doxytag="metadata.h::FLAC__metadata_iterator_insert_block_before"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_iterator_insert_block_before </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>iterator</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>block</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Insert a new block before the current block. You cannot insert a block before the first STREAMINFO block. You cannot insert a STREAMINFO block as there can be only one, the one that already exists at the head when you read in a chain. The chain takes ownership of the new block and it will be deleted when the chain is deleted. The iterator will be left pointing to the new block.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing initialized iterator. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>block</em>&nbsp;</td><td>A pointer to a metadata block to insert. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <em>iterator</em> has been successfully initialized with <a class="el" href="group__flac__metadata__level2.html#ga18">FLAC__metadata_iterator_init()</a> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the conditions in the above description are not met, or a memory allocation error occurs, otherwise <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga26" doxytag="metadata.h::FLAC__metadata_iterator_insert_block_after"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_iterator_insert_block_after </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>iterator</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>block</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Insert a new block after the current block. You cannot insert a STREAMINFO block as there can be only one, the one that already exists at the head when you read in a chain. The chain takes ownership of the new block and it will be deleted when the chain is deleted. The iterator will be left pointing to the new block.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>iterator</em>&nbsp;</td><td>A pointer to an existing initialized iterator. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>block</em>&nbsp;</td><td>A pointer to a metadata block to insert. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> iterator != NULL
-</pre></div> <em>iterator</em> has been successfully initialized with <a class="el" href="group__flac__metadata__level2.html#ga18">FLAC__metadata_iterator_init()</a> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the conditions in the above description are not met, or a memory allocation error occurs, otherwise <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<hr><h2>Variable Documentation</h2>
-<a class="anchor" name="ga2" doxytag="metadata.h::FLAC__Metadata_ChainStatusString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__metadata__level2.html#ga2">FLAC__Metadata_ChainStatusString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__Metadata_ChainStatus to a C string.<p>
-Using a FLAC__Metadata_ChainStatus as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flac__metadata__object.html b/3rdparty/libflac/doc/html/api/group__flac__metadata__object.html
deleted file mode 100644
index d46077ad3b8..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flac__metadata__object.html
+++ /dev/null
@@ -1,2741 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC/metadata.h: metadata object methods</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC/metadata.h: metadata object methods<br>
-<small>
-[<a class="el" href="group__flac__metadata.html">FLAC/metadata.h: metadata interfaces</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module contains methods for manipulating FLAC metadata objects.
-<p>
-Since many are variable length we have to be careful about the memory management. We decree that all pointers to data in the object are owned by the object and memory-managed by the object.<p>
-Use the <a class="el" href="group__flac__metadata__object.html#ga0">FLAC__metadata_object_new()</a> and <a class="el" href="group__flac__metadata__object.html#ga2">FLAC__metadata_object_delete()</a> functions to create all instances. When using the FLAC__metadata_object_set_*() functions to set pointers to data, set <em>copy</em> to <code>true</code> to have the function make it's own copy of the data, or to <code>false</code> to give the object ownership of your data. In the latter case your pointer must be freeable by free() and will be free()d when the object is <a class="el" href="group__flac__metadata__object.html#ga2">FLAC__metadata_object_delete()</a>d. It is legal to pass a null pointer as the data pointer to a FLAC__metadata_object_set_*() function as long as the length argument is 0 and the <em>copy</em> argument is <code>false</code>.<p>
-The <a class="el" href="group__flac__metadata__object.html#ga0">FLAC__metadata_object_new()</a> and <a class="el" href="group__flac__metadata__object.html#ga1">FLAC__metadata_object_clone()</a> function will return <code>NULL</code> in the case of a memory allocation error, otherwise a new object. The FLAC__metadata_object_set_*() functions return <code>false</code> in the case of a memory allocation error.<p>
-We don't have the convenience of C++ here, so note that the library relies on you to keep the types straight. In other words, if you pass, for example, a FLAC__StreamMetadata* that represents a STREAMINFO block to <a class="el" href="group__flac__metadata__object.html#ga4">FLAC__metadata_object_application_set_data()</a>, you will get an assertion failure.<p>
-For convenience the FLAC__metadata_object_vorbiscomment_*() functions maintain a trailing NUL on each Vorbis comment entry. This is not counted toward the length or stored in the stream, but it can make working with plain comments (those that don't contain embedded-NULs in the value) easier. Entries passed into these functions have trailing NULs added if missing, and returned entries are guaranteed to have a trailing NUL.<p>
-The FLAC__metadata_object_vorbiscomment_*() functions that take a Vorbis comment entry/name/value will first validate that it complies with the Vorbis comment specification and return false if it does not.<p>
-There is no need to recalculate the length field on metadata blocks you have modified. They will be calculated automatically before they are written back to a file.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga0">FLAC__metadata_object_new</a> (<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga1">FLAC__metadata_object_clone</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga2">FLAC__metadata_object_delete</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga3">FLAC__metadata_object_is_equal</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block1, const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block2)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga4">FLAC__metadata_object_application_set_data</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__byte *data, unsigned length, FLAC__bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga5">FLAC__metadata_object_seektable_resize_points</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned new_num_points)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga6">FLAC__metadata_object_seektable_set_point</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned point_num, <a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> point)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga7">FLAC__metadata_object_seektable_insert_point</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned point_num, <a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> point)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga8">FLAC__metadata_object_seektable_delete_point</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned point_num)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga9">FLAC__metadata_object_seektable_is_legal</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga10">FLAC__metadata_object_seektable_template_append_placeholders</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned num)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga11">FLAC__metadata_object_seektable_template_append_point</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__uint64 sample_number)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga12">FLAC__metadata_object_seektable_template_append_points</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__uint64 sample_numbers[], unsigned num)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga13">FLAC__metadata_object_seektable_template_append_spaced_points</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned num, FLAC__uint64 total_samples)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga14">FLAC__metadata_object_seektable_template_append_spaced_points_by_samples</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned samples, FLAC__uint64 total_samples)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga15">FLAC__metadata_object_seektable_template_sort</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__bool compact)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga16">FLAC__metadata_object_vorbiscomment_set_vendor_string</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga17">FLAC__metadata_object_vorbiscomment_resize_comments</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned new_num_comments)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga18">FLAC__metadata_object_vorbiscomment_set_comment</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned comment_num, <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga19">FLAC__metadata_object_vorbiscomment_insert_comment</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned comment_num, <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga20">FLAC__metadata_object_vorbiscomment_append_comment</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga21">FLAC__metadata_object_vorbiscomment_replace_comment</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool all, FLAC__bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga22">FLAC__metadata_object_vorbiscomment_delete_comment</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned comment_num)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga23">FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair</a> (<a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> *entry, const char *field_name, const char *field_value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga24">FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair</a> (const <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, char **field_name, char **field_value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga25">FLAC__metadata_object_vorbiscomment_entry_matches</a> (const <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, const char *field_name, unsigned field_name_length)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga26">FLAC__metadata_object_vorbiscomment_find_entry_from</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned offset, const char *field_name)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga27">FLAC__metadata_object_vorbiscomment_remove_entry_matching</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, const char *field_name)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga28">FLAC__metadata_object_vorbiscomment_remove_entries_matching</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, const char *field_name)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga29">FLAC__metadata_object_cuesheet_track_new</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga30">FLAC__metadata_object_cuesheet_track_clone</a> (const <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga31">FLAC__metadata_object_cuesheet_track_delete</a> (<a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga32">FLAC__metadata_object_cuesheet_track_resize_indices</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num, unsigned new_num_indices)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga33">FLAC__metadata_object_cuesheet_track_insert_index</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num, unsigned index_num, <a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> index)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga34">FLAC__metadata_object_cuesheet_track_insert_blank_index</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num, unsigned index_num)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga35">FLAC__metadata_object_cuesheet_track_delete_index</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num, unsigned index_num)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga36">FLAC__metadata_object_cuesheet_resize_tracks</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned new_num_tracks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga37">FLAC__metadata_object_cuesheet_insert_track</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num, <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *track, FLAC__bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga38">FLAC__metadata_object_cuesheet_insert_blank_track</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga39">FLAC__metadata_object_cuesheet_delete_track</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga40">FLAC__metadata_object_cuesheet_is_legal</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__bool check_cd_da_subset, const char **violation)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga41">FLAC__metadata_object_cuesheet_calculate_cddb_id</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga42">FLAC__metadata_object_picture_set_mime_type</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, char *mime_type, FLAC__bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga43">FLAC__metadata_object_picture_set_description</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__byte *description, FLAC__bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga44">FLAC__metadata_object_picture_set_data</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__byte *data, FLAC__uint32 length, FLAC__bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga45">FLAC__metadata_object_picture_is_legal</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, const char **violation)</td></tr>
-
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="ga0" doxytag="metadata.h::FLAC__metadata_object_new"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>* FLAC__metadata_object_new </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>type</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Create a new metadata object instance of the given type.<p>
-The object will be "empty"; i.e. values and data pointers will be <code>0</code>, with the exception of FLAC__METADATA_TYPE_VORBIS_COMMENT, which will have the vendor string set (but zero comments).<p>
-Do not pass in a value greater than or equal to <em>FLAC__METADATA_TYPE_UNDEFINED</em> unless you really know what you're doing.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>Type of object to create </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamMetadata*</em>&nbsp;</td><td><code>NULL</code> if there was an error allocating memory or the type code is greater than FLAC__MAX_METADATA_TYPE_CODE, else the new instance. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga1" doxytag="metadata.h::FLAC__metadata_object_clone"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>* FLAC__metadata_object_clone </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Create a copy of an existing metadata object.<p>
-The copy is a "deep" copy, i.e. dynamically allocated data within the object is also copied. The caller takes ownership of the new block and is responsible for freeing it with <a class="el" href="group__flac__metadata__object.html#ga2">FLAC__metadata_object_delete()</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>Pointer to object to copy. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamMetadata*</em>&nbsp;</td><td><code>NULL</code> if there was an error allocating memory, else the new instance. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga2" doxytag="metadata.h::FLAC__metadata_object_delete"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC__metadata_object_delete </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Free a metadata object. Deletes the object pointed to by <em>object</em>.<p>
-The delete is a "deep" delete, i.e. dynamically allocated data within the object is also deleted.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing object. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga3" doxytag="metadata.h::FLAC__metadata_object_is_equal"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_is_equal </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>block1</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>block2</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Compares two metadata objects.<p>
-The compare is "deep", i.e. dynamically allocated data within the object is also compared.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>block1</em>&nbsp;</td><td>A pointer to an existing object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>block2</em>&nbsp;</td><td>A pointer to an existing object. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> block1 != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> block2 != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if objects are identical, else <code>false</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga4" doxytag="metadata.h::FLAC__metadata_object_application_set_data"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_application_set_data </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__byte *&nbsp;</td>
- <td class="mdname" nowrap> <em>data</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>length</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sets the application data of an APPLICATION block.<p>
-If <em>copy</em> is <code>true</code>, a copy of the data is stored; otherwise, the object takes ownership of the pointer. The existing data will be freed if this function is successful, otherwise the original data will remain if <em>copy</em> is <code>true</code> and malloc() fails.<p>
-<dl compact><dt><b>Note:</b></dt><dd>It is safe to pass a const pointer to <em>data</em> if <em>copy</em> is <code>true</code>.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing APPLICATION object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>A pointer to the data to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The length of <em>data</em> in bytes. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>copy</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a114">FLAC__METADATA_TYPE_APPLICATION</a>
-</pre></div> <div class="fragment"><pre class="fragment"> (data != NULL &amp;&amp; length &gt; 0) ||
- (data == NULL &amp;&amp; length == 0 &amp;&amp; copy == <span class="keyword">false</span>)
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if <em>copy</em> is <code>true</code> and malloc() fails, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga5" doxytag="metadata.h::FLAC__metadata_object_seektable_resize_points"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_seektable_resize_points </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>new_num_points</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Resize the seekpoint array.<p>
-If the size shrinks, elements will truncated; if it grows, new placeholder points will be added to the end.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing SEEKTABLE object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>new_num_points</em>&nbsp;</td><td>The desired length of the array; may be <code>0</code>. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a115">FLAC__METADATA_TYPE_SEEKTABLE</a>
-</pre></div> <div class="fragment"><pre class="fragment"> (object-&gt;data.seek_table.points == NULL &amp;&amp; object-&gt;data.seek_table.num_points == 0) ||
- (object-&gt;data.seek_table.points != NULL &amp;&amp; object-&gt;data.seek_table.num_points &gt; 0)
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation error, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga6" doxytag="metadata.h::FLAC__metadata_object_seektable_set_point"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC__metadata_object_seektable_set_point </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>point_num</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>point</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set a seekpoint in a seektable.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing SEEKTABLE object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>point_num</em>&nbsp;</td><td>Index into seekpoint array to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>point</em>&nbsp;</td><td>The point to set. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a115">FLAC__METADATA_TYPE_SEEKTABLE</a>
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.seek_table.num_points &gt; point_num
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga7" doxytag="metadata.h::FLAC__metadata_object_seektable_insert_point"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_seektable_insert_point </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>point_num</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>point</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Insert a seekpoint into a seektable.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing SEEKTABLE object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>point_num</em>&nbsp;</td><td>Index into seekpoint array to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>point</em>&nbsp;</td><td>The point to set. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a115">FLAC__METADATA_TYPE_SEEKTABLE</a>
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.seek_table.num_points &gt;= point_num
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation error, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga8" doxytag="metadata.h::FLAC__metadata_object_seektable_delete_point"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_seektable_delete_point </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>point_num</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Delete a seekpoint from a seektable.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing SEEKTABLE object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>point_num</em>&nbsp;</td><td>Index into seekpoint array to set. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a115">FLAC__METADATA_TYPE_SEEKTABLE</a>
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.seek_table.num_points &gt; point_num
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation error, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga9" doxytag="metadata.h::FLAC__metadata_object_seektable_is_legal"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_seektable_is_legal </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check a seektable to see if it conforms to the FLAC specification. See the format specification for limits on the contents of the seektable.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing SEEKTABLE object. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a115">FLAC__METADATA_TYPE_SEEKTABLE</a>
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if seek table is illegal, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga10" doxytag="metadata.h::FLAC__metadata_object_seektable_template_append_placeholders"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_seektable_template_append_placeholders </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>num</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Append a number of placeholder points to the end of a seek table.<p>
-<dl compact><dt><b>Note:</b></dt><dd>As with the other ..._seektable_template_... functions, you should call <a class="el" href="group__flac__metadata__object.html#ga15">FLAC__metadata_object_seektable_template_sort()</a> when finished to make the seek table legal.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing SEEKTABLE object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>The number of placeholder points to append. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a115">FLAC__METADATA_TYPE_SEEKTABLE</a>
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga11" doxytag="metadata.h::FLAC__metadata_object_seektable_template_append_point"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_seektable_template_append_point </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__uint64&nbsp;</td>
- <td class="mdname" nowrap> <em>sample_number</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Append a specific seek point template to the end of a seek table.<p>
-<dl compact><dt><b>Note:</b></dt><dd>As with the other ..._seektable_template_... functions, you should call <a class="el" href="group__flac__metadata__object.html#ga15">FLAC__metadata_object_seektable_template_sort()</a> when finished to make the seek table legal.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing SEEKTABLE object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>sample_number</em>&nbsp;</td><td>The sample number of the seek point template. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a115">FLAC__METADATA_TYPE_SEEKTABLE</a>
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga12" doxytag="metadata.h::FLAC__metadata_object_seektable_template_append_points"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_seektable_template_append_points </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__uint64&nbsp;</td>
- <td class="mdname" nowrap> <em>sample_numbers</em>[], </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>num</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Append specific seek point templates to the end of a seek table.<p>
-<dl compact><dt><b>Note:</b></dt><dd>As with the other ..._seektable_template_... functions, you should call <a class="el" href="group__flac__metadata__object.html#ga15">FLAC__metadata_object_seektable_template_sort()</a> when finished to make the seek table legal.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing SEEKTABLE object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>sample_numbers</em>&nbsp;</td><td>An array of sample numbers for the seek points. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>The number of seek point templates to append. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a115">FLAC__METADATA_TYPE_SEEKTABLE</a>
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga13" doxytag="metadata.h::FLAC__metadata_object_seektable_template_append_spaced_points"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_points </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>num</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__uint64&nbsp;</td>
- <td class="mdname" nowrap> <em>total_samples</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Append a set of evenly-spaced seek point templates to the end of a seek table.<p>
-<dl compact><dt><b>Note:</b></dt><dd>As with the other ..._seektable_template_... functions, you should call <a class="el" href="group__flac__metadata__object.html#ga15">FLAC__metadata_object_seektable_template_sort()</a> when finished to make the seek table legal.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing SEEKTABLE object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>The number of placeholder points to append. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>total_samples</em>&nbsp;</td><td>The total number of samples to be encoded; the seekpoints will be spaced approximately <em>total_samples</em> / <em>num</em> samples apart. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a115">FLAC__METADATA_TYPE_SEEKTABLE</a>
-</pre></div> <div class="fragment"><pre class="fragment"> total_samples &gt; 0
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga14" doxytag="metadata.h::FLAC__metadata_object_seektable_template_append_spaced_points_by_samples"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_points_by_samples </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>samples</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__uint64&nbsp;</td>
- <td class="mdname" nowrap> <em>total_samples</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Append a set of evenly-spaced seek point templates to the end of a seek table.<p>
-<dl compact><dt><b>Note:</b></dt><dd>As with the other ..._seektable_template_... functions, you should call <a class="el" href="group__flac__metadata__object.html#ga15">FLAC__metadata_object_seektable_template_sort()</a> when finished to make the seek table legal.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing SEEKTABLE object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>samples</em>&nbsp;</td><td>The number of samples apart to space the placeholder points. The first point will be at sample <code>0</code>, the second at sample <em>samples</em>, then 2*<em>samples</em>, and so on. As long as <em>samples</em> and <em>total_samples</em> are greater than <code>0</code>, there will always be at least one seekpoint at sample <code>0</code>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>total_samples</em>&nbsp;</td><td>The total number of samples to be encoded; the seekpoints will be spaced <em>samples</em> samples apart. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a115">FLAC__METADATA_TYPE_SEEKTABLE</a>
-</pre></div> <div class="fragment"><pre class="fragment"> samples &gt; 0
-</pre></div> <div class="fragment"><pre class="fragment"> total_samples &gt; 0
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga15" doxytag="metadata.h::FLAC__metadata_object_seektable_template_sort"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_seektable_template_sort </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>compact</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sort a seek table's seek points according to the format specification, removing duplicates.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to a seek table to be sorted. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>compact</em>&nbsp;</td><td>If <code>false</code>, behaves like <a class="el" href="group__flac__format.html#ga86">FLAC__format_seektable_sort()</a>. If <code>true</code>, duplicates are deleted and the seek table is shrunk appropriately; the number of placeholder points present in the seek table will be the same after the call as before. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a115">FLAC__METADATA_TYPE_SEEKTABLE</a>
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if realloc() fails, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga16" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_set_vendor_string"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_vorbiscomment_set_vendor_string </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>entry</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sets the vendor string in a VORBIS_COMMENT block.<p>
-For convenience, a trailing NUL is added to the entry if it doesn't have one already.<p>
-If <em>copy</em> is <code>true</code>, a copy of the entry is stored; otherwise, the object takes ownership of the <code>entry.entry</code> pointer.<p>
-<dl compact><dt><b>Note:</b></dt><dd>If this function returns <code>false</code>, the caller still owns the pointer.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing VORBIS_COMMENT object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>The entry to set the vendor string to. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>copy</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a116">FLAC__METADATA_TYPE_VORBIS_COMMENT</a>
-</pre></div> <div class="fragment"><pre class="fragment"> (entry.entry != NULL &amp;&amp; entry.length &gt; 0) ||
- (entry.entry == NULL &amp;&amp; entry.length == 0)
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails or <em>entry</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga17" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_resize_comments"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_vorbiscomment_resize_comments </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>new_num_comments</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Resize the comment array.<p>
-If the size shrinks, elements will truncated; if it grows, new empty fields will be added to the end.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing VORBIS_COMMENT object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>new_num_comments</em>&nbsp;</td><td>The desired length of the array; may be <code>0</code>. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a116">FLAC__METADATA_TYPE_VORBIS_COMMENT</a>
-</pre></div> <div class="fragment"><pre class="fragment"> (object-&gt;data.vorbis_comment.comments == NULL &amp;&amp; object-&gt;data.vorbis_comment.num_comments == 0) ||
- (object-&gt;data.vorbis_comment.comments != NULL &amp;&amp; object-&gt;data.vorbis_comment.num_comments &gt; 0)
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga18" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_set_comment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_vorbiscomment_set_comment </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>comment_num</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>entry</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sets a comment in a VORBIS_COMMENT block.<p>
-For convenience, a trailing NUL is added to the entry if it doesn't have one already.<p>
-If <em>copy</em> is <code>true</code>, a copy of the entry is stored; otherwise, the object takes ownership of the <code>entry.entry</code> pointer.<p>
-<dl compact><dt><b>Note:</b></dt><dd>If this function returns <code>false</code>, the caller still owns the pointer.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing VORBIS_COMMENT object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>comment_num</em>&nbsp;</td><td>Index into comment array to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>The entry to set the comment to. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>copy</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a116">FLAC__METADATA_TYPE_VORBIS_COMMENT</a>
-</pre></div> <div class="fragment"><pre class="fragment"> comment_num &lt; object-&gt;data.vorbis_comment.num_comments
-</pre></div> <div class="fragment"><pre class="fragment"> (entry.entry != NULL &amp;&amp; entry.length &gt; 0) ||
- (entry.entry == NULL &amp;&amp; entry.length == 0)
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails or <em>entry</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga19" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_insert_comment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_vorbiscomment_insert_comment </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>comment_num</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>entry</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Insert a comment in a VORBIS_COMMENT block at the given index.<p>
-For convenience, a trailing NUL is added to the entry if it doesn't have one already.<p>
-If <em>copy</em> is <code>true</code>, a copy of the entry is stored; otherwise, the object takes ownership of the <code>entry.entry</code> pointer.<p>
-<dl compact><dt><b>Note:</b></dt><dd>If this function returns <code>false</code>, the caller still owns the pointer.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing VORBIS_COMMENT object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>comment_num</em>&nbsp;</td><td>The index at which to insert the comment. The comments at and after <em>comment_num</em> move right one position. To append a comment to the end, set <em>comment_num</em> to <code>object-&gt;data.vorbis_comment.num_comments</code> . </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>The comment to insert. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>copy</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a116">FLAC__METADATA_TYPE_VORBIS_COMMENT</a>
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.vorbis_comment.num_comments &gt;= comment_num
-</pre></div> <div class="fragment"><pre class="fragment"> (entry.entry != NULL &amp;&amp; entry.length &gt; 0) ||
- (entry.entry == NULL &amp;&amp; entry.length == 0 &amp;&amp; copy == <span class="keyword">false</span>)
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails or <em>entry</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga20" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_append_comment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_vorbiscomment_append_comment </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>entry</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Appends a comment to a VORBIS_COMMENT block.<p>
-For convenience, a trailing NUL is added to the entry if it doesn't have one already.<p>
-If <em>copy</em> is <code>true</code>, a copy of the entry is stored; otherwise, the object takes ownership of the <code>entry.entry</code> pointer.<p>
-<dl compact><dt><b>Note:</b></dt><dd>If this function returns <code>false</code>, the caller still owns the pointer.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing VORBIS_COMMENT object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>The comment to insert. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>copy</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a116">FLAC__METADATA_TYPE_VORBIS_COMMENT</a>
-</pre></div> <div class="fragment"><pre class="fragment"> (entry.entry != NULL &amp;&amp; entry.length &gt; 0) ||
- (entry.entry == NULL &amp;&amp; entry.length == 0 &amp;&amp; copy == <span class="keyword">false</span>)
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails or <em>entry</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga21" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_replace_comment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_vorbiscomment_replace_comment </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>entry</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>all</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Replaces comments in a VORBIS_COMMENT block with a new one.<p>
-For convenience, a trailing NUL is added to the entry if it doesn't have one already.<p>
-Depending on the the value of <em>all</em>, either all or just the first comment whose field name(s) match the given entry's name will be replaced by the given entry. If no comments match, <em>entry</em> will simply be appended.<p>
-If <em>copy</em> is <code>true</code>, a copy of the entry is stored; otherwise, the object takes ownership of the <code>entry.entry</code> pointer.<p>
-<dl compact><dt><b>Note:</b></dt><dd>If this function returns <code>false</code>, the caller still owns the pointer.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing VORBIS_COMMENT object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>The comment to insert. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>all</em>&nbsp;</td><td>If <code>true</code>, all comments whose field name matches <em>entry's</em> field name will be removed, and <em>entry</em> will be inserted at the position of the first matching comment. If <code>false</code>, only the first comment whose field name matches <em>entry's</em> field name will be replaced with <em>entry</em>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>copy</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a116">FLAC__METADATA_TYPE_VORBIS_COMMENT</a>
-</pre></div> <div class="fragment"><pre class="fragment"> (entry.entry != NULL &amp;&amp; entry.length &gt; 0) ||
- (entry.entry == NULL &amp;&amp; entry.length == 0 &amp;&amp; copy == <span class="keyword">false</span>)
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails or <em>entry</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga22" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_delete_comment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_vorbiscomment_delete_comment </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>comment_num</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Delete a comment in a VORBIS_COMMENT block at the given index.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing VORBIS_COMMENT object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>comment_num</em>&nbsp;</td><td>The index of the comment to delete. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a116">FLAC__METADATA_TYPE_VORBIS_COMMENT</a>
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.vorbis_comment.num_comments &gt; comment_num
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if realloc() fails, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga23" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>entry</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>field_name</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>field_value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Creates a Vorbis comment entry from NUL-terminated name and value strings.<p>
-On return, the filled-in <em>entry-&gt;entry</em> pointer will point to malloc()ed memory and shall be owned by the caller. For convenience the entry will have a terminating NUL.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>A pointer to a Vorbis comment entry. The entry's <code>entry</code> pointer should not point to allocated memory as it will be overwritten. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>field_name</em>&nbsp;</td><td>The field name in ASCII, <code>NUL</code> terminated. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>field_value</em>&nbsp;</td><td>The field value in UTF-8, <code>NUL</code> terminated. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> entry != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> field_name != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> field_value != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if malloc() fails, or if <em>field_name</em> or <em>field_value</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga24" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>entry</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char **&nbsp;</td>
- <td class="mdname" nowrap> <em>field_name</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char **&nbsp;</td>
- <td class="mdname" nowrap> <em>field_value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Splits a Vorbis comment entry into NUL-terminated name and value strings.<p>
-The returned pointers to name and value will be allocated by malloc() and shall be owned by the caller.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>An existing Vorbis comment entry. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>field_name</em>&nbsp;</td><td>The address of where the returned pointer to the field name will be stored. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>field_value</em>&nbsp;</td><td>The address of where the returned pointer to the field value will be stored. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> (entry.entry != NULL &amp;&amp; entry.length &gt; 0)
-</pre></div> <div class="fragment"><pre class="fragment"> memchr(entry.entry, <span class="charliteral">'='</span>, entry.length) != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> field_name != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> field_value != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails or <em>entry</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga25" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_entry_matches"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_vorbiscomment_entry_matches </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>entry</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>field_name</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>field_name_length</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check if the given Vorbis comment entry's field name matches the given field name.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>An existing Vorbis comment entry. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>field_name</em>&nbsp;</td><td>The field name to check. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>field_name_length</em>&nbsp;</td><td>The length of <em>field_name</em>, not including the terminating <code>NUL</code>. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> (entry.entry != NULL &amp;&amp; entry.length &gt; 0)
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if the field names match, else <code>false</code> </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga26" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_find_entry_from"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">int FLAC__metadata_object_vorbiscomment_find_entry_from </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>offset</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>field_name</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Find a Vorbis comment with the given field name.<p>
-The search begins at entry number <em>offset</em>; use an offset of 0 to search from the beginning of the comment array.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing VORBIS_COMMENT object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>The offset into the comment array from where to start the search. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>field_name</em>&nbsp;</td><td>The field name of the comment to find. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a116">FLAC__METADATA_TYPE_VORBIS_COMMENT</a>
-</pre></div> <div class="fragment"><pre class="fragment"> field_name != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>int</em>&nbsp;</td><td>The offset in the comment array of the first comment whose field name matches <em>field_name</em>, or <code>-1</code> if no match was found. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga27" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_remove_entry_matching"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">int FLAC__metadata_object_vorbiscomment_remove_entry_matching </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>field_name</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Remove first Vorbis comment matching the given field name.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing VORBIS_COMMENT object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>field_name</em>&nbsp;</td><td>The field name of comment to delete. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a116">FLAC__METADATA_TYPE_VORBIS_COMMENT</a>
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>int</em>&nbsp;</td><td><code>-1</code> for memory allocation error, <code>0</code> for no matching entries, <code>1</code> for one matching entry deleted. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga28" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_remove_entries_matching"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">int FLAC__metadata_object_vorbiscomment_remove_entries_matching </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>field_name</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Remove all Vorbis comments matching the given field name.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing VORBIS_COMMENT object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>field_name</em>&nbsp;</td><td>The field name of comments to delete. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a116">FLAC__METADATA_TYPE_VORBIS_COMMENT</a>
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>int</em>&nbsp;</td><td><code>-1</code> for memory allocation error, <code>0</code> for no matching entries, else the number of matching entries deleted. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga29" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_new"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a>* FLAC__metadata_object_cuesheet_track_new </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">void&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Create a new CUESHEET track instance.<p>
-The object will be "empty"; i.e. values and data pointers will be <code>0</code>.<p>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamMetadata_CueSheet_Track*</em>&nbsp;</td><td><code>NULL</code> if there was an error allocating memory, else the new instance. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga30" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_clone"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a>* FLAC__metadata_object_cuesheet_track_clone </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Create a copy of an existing CUESHEET track object.<p>
-The copy is a "deep" copy, i.e. dynamically allocated data within the object is also copied. The caller takes ownership of the new object and is responsible for freeing it with <a class="el" href="group__flac__metadata__object.html#ga31">FLAC__metadata_object_cuesheet_track_delete()</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>Pointer to object to copy. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamMetadata_CueSheet_Track*</em>&nbsp;</td><td><code>NULL</code> if there was an error allocating memory, else the new instance. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga31" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_delete"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC__metadata_object_cuesheet_track_delete </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Delete a CUESHEET track object<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET track object. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga32" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_resize_indices"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_cuesheet_track_resize_indices </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>track_num</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>new_num_indices</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Resize a track's index point array.<p>
-If the size shrinks, elements will truncated; if it grows, new blank indices will be added to the end.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>track_num</em>&nbsp;</td><td>The index of the track to modify. NOTE: this is not necessarily the same as the track's <em>number</em> field. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>new_num_indices</em>&nbsp;</td><td>The desired length of the array; may be <code>0</code>. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a117">FLAC__METADATA_TYPE_CUESHEET</a>
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.cue_sheet.num_tracks &gt; track_num
-</pre></div> <div class="fragment"><pre class="fragment"> (object-&gt;data.cue_sheet.tracks[track_num].indices == NULL &amp;&amp; object-&gt;data.cue_sheet.tracks[track_num].num_indices == 0) ||
- (object-&gt;data.cue_sheet.tracks[track_num].indices != NULL &amp;&amp; object-&gt;data.cue_sheet.tracks[track_num].num_indices &gt; 0)
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation error, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga33" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_insert_index"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_cuesheet_track_insert_index </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>track_num</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>index_num</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>index</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Insert an index point in a CUESHEET track at the given index.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>track_num</em>&nbsp;</td><td>The index of the track to modify. NOTE: this is not necessarily the same as the track's <em>number</em> field. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>index_num</em>&nbsp;</td><td>The index into the track's index array at which to insert the index point. NOTE: this is not necessarily the same as the index point's <em>number</em> field. The indices at and after <em>index_num</em> move right one position. To append an index point to the end, set <em>index_num</em> to <code>object-&gt;data.cue_sheet.tracks</code>[track_num].num_indices . </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td>The index point to insert. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a117">FLAC__METADATA_TYPE_CUESHEET</a>
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.cue_sheet.num_tracks &gt; track_num
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.cue_sheet.tracks[track_num].num_indices &gt;= index_num
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if realloc() fails, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga34" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_insert_blank_index"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_cuesheet_track_insert_blank_index </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>track_num</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>index_num</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Insert a blank index point in a CUESHEET track at the given index.<p>
-A blank index point is one in which all field values are zero.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>track_num</em>&nbsp;</td><td>The index of the track to modify. NOTE: this is not necessarily the same as the track's <em>number</em> field. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>index_num</em>&nbsp;</td><td>The index into the track's index array at which to insert the index point. NOTE: this is not necessarily the same as the index point's <em>number</em> field. The indices at and after <em>index_num</em> move right one position. To append an index point to the end, set <em>index_num</em> to <code>object-&gt;data.cue_sheet.tracks</code>[track_num].num_indices . </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a117">FLAC__METADATA_TYPE_CUESHEET</a>
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.cue_sheet.num_tracks &gt; track_num
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.cue_sheet.tracks[track_num].num_indices &gt;= index_num
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if realloc() fails, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga35" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_delete_index"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_cuesheet_track_delete_index </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>track_num</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>index_num</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Delete an index point in a CUESHEET track at the given index.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>track_num</em>&nbsp;</td><td>The index into the track array of the track to modify. NOTE: this is not necessarily the same as the track's <em>number</em> field. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>index_num</em>&nbsp;</td><td>The index into the track's index array of the index to delete. NOTE: this is not necessarily the same as the index's <em>number</em> field. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a117">FLAC__METADATA_TYPE_CUESHEET</a>
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.cue_sheet.num_tracks &gt; track_num
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.cue_sheet.tracks[track_num].num_indices &gt; index_num
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if realloc() fails, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga36" doxytag="metadata.h::FLAC__metadata_object_cuesheet_resize_tracks"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_cuesheet_resize_tracks </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>new_num_tracks</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Resize the track array.<p>
-If the size shrinks, elements will truncated; if it grows, new blank tracks will be added to the end.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>new_num_tracks</em>&nbsp;</td><td>The desired length of the array; may be <code>0</code>. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a117">FLAC__METADATA_TYPE_CUESHEET</a>
-</pre></div> <div class="fragment"><pre class="fragment"> (object-&gt;data.cue_sheet.tracks == NULL &amp;&amp; object-&gt;data.cue_sheet.num_tracks == 0) ||
- (object-&gt;data.cue_sheet.tracks != NULL &amp;&amp; object-&gt;data.cue_sheet.num_tracks &gt; 0)
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation error, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga37" doxytag="metadata.h::FLAC__metadata_object_cuesheet_insert_track"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_cuesheet_insert_track </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>track_num</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>track</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sets a track in a CUESHEET block.<p>
-If <em>copy</em> is <code>true</code>, a copy of the track is stored; otherwise, the object takes ownership of the <em>track</em> pointer.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>track_num</em>&nbsp;</td><td>Index into track array to set. NOTE: this is not necessarily the same as the track's <em>number</em> field. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>track</em>&nbsp;</td><td>The track to set the track to. You may safely pass in a const pointer if <em>copy</em> is <code>true</code>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>copy</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a117">FLAC__METADATA_TYPE_CUESHEET</a>
-</pre></div> <div class="fragment"><pre class="fragment"> track_num &lt; object-&gt;data.cue_sheet.num_tracks
-</pre></div> <div class="fragment"><pre class="fragment"> (track-&gt;indices != NULL &amp;&amp; track-&gt;num_indices &gt; 0) ||
- (track-&gt;indices == NULL &amp;&amp; track-&gt;num_indices == 0)
- \retval FLAC__bool
- \c <span class="keyword">false</span> <span class="keywordflow">if</span> \a copy is \c <span class="keyword">true</span> and malloc() fails, else \c true.
- */
- FLAC__bool FLAC__metadata_object_cuesheet_set_track(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> track_num, <a class="code" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *track, FLAC__bool copy);
-
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a117">FLAC__METADATA_TYPE_CUESHEET</a>
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.cue_sheet.num_tracks &gt;= track_num
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if <em>copy</em> is <code>true</code> and malloc() fails, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga38" doxytag="metadata.h::FLAC__metadata_object_cuesheet_insert_blank_track"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_cuesheet_insert_blank_track </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>track_num</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Insert a blank track in a CUESHEET block at the given index.<p>
-A blank track is one in which all field values are zero.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>track_num</em>&nbsp;</td><td>The index at which to insert the track. NOTE: this is not necessarily the same as the track's <em>number</em> field. The tracks at and after <em>track_num</em> move right one position. To append a track to the end, set <em>track_num</em> to <code>object-&gt;data.cue_sheet.num_tracks</code> . </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a117">FLAC__METADATA_TYPE_CUESHEET</a>
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.cue_sheet.num_tracks &gt;= track_num
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if <em>copy</em> is <code>true</code> and malloc() fails, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga39" doxytag="metadata.h::FLAC__metadata_object_cuesheet_delete_track"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_cuesheet_delete_track </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>track_num</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Delete a track in a CUESHEET block at the given index.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>track_num</em>&nbsp;</td><td>The index into the track array of the track to delete. NOTE: this is not necessarily the same as the track's <em>number</em> field. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a117">FLAC__METADATA_TYPE_CUESHEET</a>
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.cue_sheet.num_tracks &gt; track_num
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if realloc() fails, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga40" doxytag="metadata.h::FLAC__metadata_object_cuesheet_is_legal"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_cuesheet_is_legal </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>check_cd_da_subset</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char **&nbsp;</td>
- <td class="mdname" nowrap> <em>violation</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check a cue sheet to see if it conforms to the FLAC specification. See the format specification for limits on the contents of the cue sheet.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>check_cd_da_subset</em>&nbsp;</td><td>If <code>true</code>, check CUESHEET against more stringent requirements for a CD-DA (audio) disc. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>violation</em>&nbsp;</td><td>Address of a pointer to a string. If there is a violation, a pointer to a string explanation of the violation will be returned here. <em>violation</em> may be <code>NULL</code> if you don't need the returned string. Do not free the returned string; it will always point to static data. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a117">FLAC__METADATA_TYPE_CUESHEET</a>
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if cue sheet is illegal, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga41" doxytag="metadata.h::FLAC__metadata_object_cuesheet_calculate_cddb_id"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__uint32 FLAC__metadata_object_cuesheet_calculate_cddb_id </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>object</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Calculate and return the CDDB/freedb ID for a cue sheet. The function assumes the cue sheet corresponds to a CD; the result is undefined if the cuesheet's is_cd bit is not set.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET object. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a117">FLAC__METADATA_TYPE_CUESHEET</a>
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__uint32</em>&nbsp;</td><td>The unsigned integer representation of the CDDB/freedb ID </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga42" doxytag="metadata.h::FLAC__metadata_object_picture_set_mime_type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_picture_set_mime_type </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>mime_type</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sets the MIME type of a PICTURE block.<p>
-If <em>copy</em> is <code>true</code>, a copy of the string is stored; otherwise, the object takes ownership of the pointer. The existing string will be freed if this function is successful, otherwise the original string will remain if <em>copy</em> is <code>true</code> and malloc() fails.<p>
-<dl compact><dt><b>Note:</b></dt><dd>It is safe to pass a const pointer to <em>mime_type</em> if <em>copy</em> is <code>true</code>.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing PICTURE object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>mime_type</em>&nbsp;</td><td>A pointer to the MIME type string. The string must be ASCII characters 0x20-0x7e, NUL-terminated. No validation is done. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>copy</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a118">FLAC__METADATA_TYPE_PICTURE</a>
-</pre></div> <div class="fragment"><pre class="fragment"> (mime_type != NULL)
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if <em>copy</em> is <code>true</code> and malloc() fails, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga43" doxytag="metadata.h::FLAC__metadata_object_picture_set_description"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_picture_set_description </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__byte *&nbsp;</td>
- <td class="mdname" nowrap> <em>description</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sets the description of a PICTURE block.<p>
-If <em>copy</em> is <code>true</code>, a copy of the string is stored; otherwise, the object takes ownership of the pointer. The existing string will be freed if this function is successful, otherwise the original string will remain if <em>copy</em> is <code>true</code> and malloc() fails.<p>
-<dl compact><dt><b>Note:</b></dt><dd>It is safe to pass a const pointer to <em>description</em> if <em>copy</em> is <code>true</code>.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing PICTURE object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>description</em>&nbsp;</td><td>A pointer to the description string. The string must be valid UTF-8, NUL-terminated. No validation is done. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>copy</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a118">FLAC__METADATA_TYPE_PICTURE</a>
-</pre></div> <div class="fragment"><pre class="fragment"> (description != NULL)
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if <em>copy</em> is <code>true</code> and malloc() fails, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga44" doxytag="metadata.h::FLAC__metadata_object_picture_set_data"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_picture_set_data </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__byte *&nbsp;</td>
- <td class="mdname" nowrap> <em>data</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__uint32&nbsp;</td>
- <td class="mdname" nowrap> <em>length</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>copy</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sets the picture data of a PICTURE block.<p>
-If <em>copy</em> is <code>true</code>, a copy of the data is stored; otherwise, the object takes ownership of the pointer. Also sets the <em>data_length</em> field of the metadata object to what is passed in as the <em>length</em> parameter. The existing data will be freed if this function is successful, otherwise the original data and data_length will remain if <em>copy</em> is <code>true</code> and malloc() fails.<p>
-<dl compact><dt><b>Note:</b></dt><dd>It is safe to pass a const pointer to <em>data</em> if <em>copy</em> is <code>true</code>.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing PICTURE object. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>A pointer to the data to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The length of <em>data</em> in bytes. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>copy</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a118">FLAC__METADATA_TYPE_PICTURE</a>
-</pre></div> <div class="fragment"><pre class="fragment"> (data != NULL &amp;&amp; length &gt; 0) ||
- (data == NULL &amp;&amp; length == 0 &amp;&amp; copy == <span class="keyword">false</span>)
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if <em>copy</em> is <code>true</code> and malloc() fails, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga45" doxytag="metadata.h::FLAC__metadata_object_picture_is_legal"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_picture_is_legal </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>object</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char **&nbsp;</td>
- <td class="mdname" nowrap> <em>violation</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check a PICTURE block to see if it conforms to the FLAC specification. See the format specification for limits on the contents of the PICTURE block.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to existing PICTURE block to be checked. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>violation</em>&nbsp;</td><td>Address of a pointer to a string. If there is a violation, a pointer to a string explanation of the violation will be returned here. <em>violation</em> may be <code>NULL</code> if you don't need the returned string. Do not free the returned string; it will always point to static data. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga113a118">FLAC__METADATA_TYPE_PICTURE</a>
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if PICTURE block is illegal, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flac__stream__decoder.html b/3rdparty/libflac/doc/html/api/group__flac__stream__decoder.html
deleted file mode 100644
index 902218ed8aa..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flac__stream__decoder.html
+++ /dev/null
@@ -1,2854 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC/stream_decoder.h: stream decoder interface</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC/stream_decoder.h: stream decoder interface<br>
-<small>
-[<a class="el" href="group__flac__decoder.html">FLAC/_decoder.h: decoder interfaces</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module contains the functions which implement the stream decoder.
-<p>
-The stream decoder can decode native FLAC, and optionally Ogg FLAC (check FLAC_API_SUPPORTS_OGG_FLAC) streams and files.<p>
-The basic usage of this decoder is as follows:<ul>
-<li>The program creates an instance of a decoder using <a class="el" href="group__flac__stream__decoder.html#ga16">FLAC__stream_decoder_new()</a>.</li><li>The program overrides the default settings using FLAC__stream_decoder_set_*() functions.</li><li>The program initializes the instance to validate the settings and prepare for decoding using<ul>
-<li><a class="el" href="group__flac__stream__decoder.html#ga36">FLAC__stream_decoder_init_stream()</a> or <a class="el" href="group__flac__stream__decoder.html#ga38">FLAC__stream_decoder_init_FILE()</a> or <a class="el" href="group__flac__stream__decoder.html#ga40">FLAC__stream_decoder_init_file()</a> for native FLAC,</li><li><a class="el" href="group__flac__stream__decoder.html#ga37">FLAC__stream_decoder_init_ogg_stream()</a> or <a class="el" href="group__flac__stream__decoder.html#ga39">FLAC__stream_decoder_init_ogg_FILE()</a> or <a class="el" href="group__flac__stream__decoder.html#ga41">FLAC__stream_decoder_init_ogg_file()</a> for Ogg FLAC</li></ul>
-</li><li>The program calls the FLAC__stream_decoder_process_*() functions to decode data, which subsequently calls the callbacks.</li><li>The program finishes the decoding with <a class="el" href="group__flac__stream__decoder.html#ga42">FLAC__stream_decoder_finish()</a>, which flushes the input and output and resets the decoder to the uninitialized state.</li><li>The instance may be used again or deleted with <a class="el" href="group__flac__stream__decoder.html#ga17">FLAC__stream_decoder_delete()</a>.</li></ul>
-<p>
-In more detail, the program will create a new instance by calling <a class="el" href="group__flac__stream__decoder.html#ga16">FLAC__stream_decoder_new()</a>, then call FLAC__stream_decoder_set_*() functions to override the default decoder options, and call one of the FLAC__stream_decoder_init_*() functions.<p>
-There are three initialization functions for native FLAC, one for setting up the decoder to decode FLAC data from the client via callbacks, and two for decoding directly from a FLAC file.<p>
-For decoding via callbacks, use <a class="el" href="group__flac__stream__decoder.html#ga36">FLAC__stream_decoder_init_stream()</a>. You must also supply several callbacks for handling I/O. Some (like seeking) are optional, depending on the capabilities of the input.<p>
-For decoding directly from a file, use <a class="el" href="group__flac__stream__decoder.html#ga38">FLAC__stream_decoder_init_FILE()</a> or <a class="el" href="group__flac__stream__decoder.html#ga40">FLAC__stream_decoder_init_file()</a>. Then you must only supply an open <code>FILE*</code> or filename and fewer callbacks; the decoder will handle the other callbacks internally.<p>
-There are three similarly-named init functions for decoding from Ogg FLAC streams. Check <code>FLAC_API_SUPPORTS_OGG_FLAC</code> to find out if the library has been built with Ogg support.<p>
-Once the decoder is initialized, your program will call one of several functions to start the decoding process:<p>
-<ul>
-<li><a class="el" href="group__flac__stream__decoder.html#ga45">FLAC__stream_decoder_process_single()</a> - Tells the decoder to process at most one metadata block or audio frame and return, calling either the metadata callback or write callback, respectively, once. If the decoder loses sync it will return with only the error callback being called.</li><li><a class="el" href="group__flac__stream__decoder.html#ga46">FLAC__stream_decoder_process_until_end_of_metadata()</a> - Tells the decoder to process the stream from the current location and stop upon reaching the first audio frame. The client will get one metadata, write, or error callback per metadata block, audio frame, or sync error, respectively.</li><li><a class="el" href="group__flac__stream__decoder.html#ga47">FLAC__stream_decoder_process_until_end_of_stream()</a> - Tells the decoder to process the stream from the current location until the read callback returns FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM or FLAC__STREAM_DECODER_READ_STATUS_ABORT. The client will get one metadata, write, or error callback per metadata block, audio frame, or sync error, respectively.</li></ul>
-<p>
-When the decoder has finished decoding (normally or through an abort), the instance is finished by calling <a class="el" href="group__flac__stream__decoder.html#ga42">FLAC__stream_decoder_finish()</a>, which ensures the decoder is in the correct state and frees memory. Then the instance may be deleted with <a class="el" href="group__flac__stream__decoder.html#ga17">FLAC__stream_decoder_delete()</a> or initialized again to decode another stream.<p>
-Seeking is exposed through the <a class="el" href="group__flac__stream__decoder.html#ga49">FLAC__stream_decoder_seek_absolute()</a> method. At any point after the stream decoder has been initialized, the client can call this function to seek to an exact sample within the stream. Subsequently, the first time the write callback is called it will be passed a (possibly partial) block starting at that sample.<p>
-If the client cannot seek via the callback interface provided, but still has another way of seeking, it can flush the decoder using <a class="el" href="group__flac__stream__decoder.html#ga43">FLAC__stream_decoder_flush()</a> and start feeding data from the new position through the read callback.<p>
-The stream decoder also provides MD5 signature checking. If this is turned on before initialization, <a class="el" href="group__flac__stream__decoder.html#ga42">FLAC__stream_decoder_finish()</a> will report when the decoded MD5 signature does not match the one stored in the STREAMINFO block. MD5 checking is automatically turned off (until the next <a class="el" href="group__flac__stream__decoder.html#ga44">FLAC__stream_decoder_reset()</a>) if there is no signature in the STREAMINFO block or when a seek is attempted.<p>
-The FLAC__stream_decoder_set_metadata_*() functions deserve special attention. By default, the decoder only calls the metadata_callback for the STREAMINFO block. These functions allow you to tell the decoder explicitly which blocks to parse and return via the metadata_callback and/or which to skip. Use a <a class="el" href="group__flac__stream__decoder.html#ga22">FLAC__stream_decoder_set_metadata_respond_all()</a>, <a class="el" href="group__flac__stream__decoder.html#ga23">FLAC__stream_decoder_set_metadata_ignore()</a> ... or <a class="el" href="group__flac__stream__decoder.html#ga25">FLAC__stream_decoder_set_metadata_ignore_all()</a>, <a class="el" href="group__flac__stream__decoder.html#ga20">FLAC__stream_decoder_set_metadata_respond()</a> ... sequence to exactly specify which blocks to return. Remember that metadata blocks can potentially be big (for example, cover art) so filtering out the ones you don't use can reduce the memory requirements of the decoder. Also note the special forms FLAC__stream_decoder_set_metadata_respond_application(id) and FLAC__stream_decoder_set_metadata_ignore_application(id) for filtering APPLICATION blocks based on the application ID.<p>
-STREAMINFO and SEEKTABLE blocks are always parsed and used internally, but they still can legally be filtered from the metadata_callback.<p>
-<dl compact><dt><b>Note:</b></dt><dd>The "set" functions may only be called when the decoder is in the state FLAC__STREAM_DECODER_UNINITIALIZED, i.e. after <a class="el" href="group__flac__stream__decoder.html#ga16">FLAC__stream_decoder_new()</a> or <a class="el" href="group__flac__stream__decoder.html#ga42">FLAC__stream_decoder_finish()</a>, but before FLAC__stream_decoder_init_*(). If this is the case they will return <code>true</code>, otherwise <code>false</code>.<p>
-<a class="el" href="group__flac__stream__decoder.html#ga42">FLAC__stream_decoder_finish()</a> resets all settings to the constructor defaults, including the callbacks. </dd></dl>
-
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__stream__decoder.html#ga52">FLAC__StreamDecoderReadStatus</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga8">FLAC__StreamDecoderReadCallback</a> )(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__stream__decoder.html#ga53">FLAC__StreamDecoderSeekStatus</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga9">FLAC__StreamDecoderSeekCallback</a> )(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 absolute_byte_offset, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__stream__decoder.html#ga54">FLAC__StreamDecoderTellStatus</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga10">FLAC__StreamDecoderTellCallback</a> )(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__stream__decoder.html#ga55">FLAC__StreamDecoderLengthStatus</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga11">FLAC__StreamDecoderLengthCallback</a> )(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *stream_length, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef FLAC__bool(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga12">FLAC__StreamDecoderEofCallback</a> )(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__stream__decoder.html#ga56">FLAC__StreamDecoderWriteStatus</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> )(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const <a class="el" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, const FLAC__int32 *const buffer[], void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> )(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> )(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__stream__decoder.html#ga57">FLAC__StreamDecoderErrorStatus</a> status, void *client_data)</td></tr>
-
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga50">FLAC__StreamDecoderState</a> { <br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__decoder.html#gga50a16">FLAC__STREAM_DECODER_SEARCH_FOR_METADATA</a> = 0,
-<a class="el" href="group__flac__stream__decoder.html#gga50a17">FLAC__STREAM_DECODER_READ_METADATA</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga50a18">FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga50a19">FLAC__STREAM_DECODER_READ_FRAME</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__decoder.html#gga50a20">FLAC__STREAM_DECODER_END_OF_STREAM</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga50a21">FLAC__STREAM_DECODER_OGG_ERROR</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga50a22">FLAC__STREAM_DECODER_SEEK_ERROR</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga50a23">FLAC__STREAM_DECODER_ABORTED</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__decoder.html#gga50a24">FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga50a25">FLAC__STREAM_DECODER_UNINITIALIZED</a>
-<br>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a> { <br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__decoder.html#gga51a26">FLAC__STREAM_DECODER_INIT_STATUS_OK</a> = 0,
-<a class="el" href="group__flac__stream__decoder.html#gga51a27">FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga51a28">FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga51a29">FLAC__STREAM_DECODER_INIT_STATUS_MEMORY_ALLOCATION_ERROR</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__decoder.html#gga51a30">FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FILE</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga51a31">FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED</a>
-<br>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga52">FLAC__StreamDecoderReadStatus</a> { <a class="el" href="group__flac__stream__decoder.html#gga52a32">FLAC__STREAM_DECODER_READ_STATUS_CONTINUE</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga52a33">FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga52a34">FLAC__STREAM_DECODER_READ_STATUS_ABORT</a>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga53">FLAC__StreamDecoderSeekStatus</a> { <a class="el" href="group__flac__stream__decoder.html#gga53a35">FLAC__STREAM_DECODER_SEEK_STATUS_OK</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga53a36">FLAC__STREAM_DECODER_SEEK_STATUS_ERROR</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga53a37">FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED</a>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga54">FLAC__StreamDecoderTellStatus</a> { <a class="el" href="group__flac__stream__decoder.html#gga54a38">FLAC__STREAM_DECODER_TELL_STATUS_OK</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga54a39">FLAC__STREAM_DECODER_TELL_STATUS_ERROR</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga54a40">FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED</a>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga55">FLAC__StreamDecoderLengthStatus</a> { <a class="el" href="group__flac__stream__decoder.html#gga55a41">FLAC__STREAM_DECODER_LENGTH_STATUS_OK</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga55a42">FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga55a43">FLAC__STREAM_DECODER_LENGTH_STATUS_UNSUPPORTED</a>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga56">FLAC__StreamDecoderWriteStatus</a> { <a class="el" href="group__flac__stream__decoder.html#gga56a44">FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga56a45">FLAC__STREAM_DECODER_WRITE_STATUS_ABORT</a>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga57">FLAC__StreamDecoderErrorStatus</a> { <a class="el" href="group__flac__stream__decoder.html#gga57a46">FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga57a47">FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga57a48">FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga57a49">FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM</a>
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga16">FLAC__stream_decoder_new</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga17">FLAC__stream_decoder_delete</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga18">FLAC__stream_decoder_set_ogg_serial_number</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, long serial_number)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga19">FLAC__stream_decoder_set_md5_checking</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga20">FLAC__stream_decoder_set_metadata_respond</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga21">FLAC__stream_decoder_set_metadata_respond_application</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const FLAC__byte id[4])</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga22">FLAC__stream_decoder_set_metadata_respond_all</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga23">FLAC__stream_decoder_set_metadata_ignore</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga24">FLAC__stream_decoder_set_metadata_ignore_application</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const FLAC__byte id[4])</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga25">FLAC__stream_decoder_set_metadata_ignore_all</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__decoder.html#ga50">FLAC__StreamDecoderState</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga26">FLAC__stream_decoder_get_state</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga27">FLAC__stream_decoder_get_resolved_state_string</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga28">FLAC__stream_decoder_get_md5_checking</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga29">FLAC__stream_decoder_get_total_samples</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga30">FLAC__stream_decoder_get_channels</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga31">FLAC__stream_decoder_get_channel_assignment</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga32">FLAC__stream_decoder_get_bits_per_sample</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga33">FLAC__stream_decoder_get_sample_rate</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga34">FLAC__stream_decoder_get_blocksize</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga35">FLAC__stream_decoder_get_decode_position</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *position)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga36">FLAC__stream_decoder_init_stream</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__stream__decoder.html#ga8">FLAC__StreamDecoderReadCallback</a> read_callback, <a class="el" href="group__flac__stream__decoder.html#ga9">FLAC__StreamDecoderSeekCallback</a> seek_callback, <a class="el" href="group__flac__stream__decoder.html#ga10">FLAC__StreamDecoderTellCallback</a> tell_callback, <a class="el" href="group__flac__stream__decoder.html#ga11">FLAC__StreamDecoderLengthCallback</a> length_callback, <a class="el" href="group__flac__stream__decoder.html#ga12">FLAC__StreamDecoderEofCallback</a> eof_callback, <a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback, <a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback, <a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga37">FLAC__stream_decoder_init_ogg_stream</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__stream__decoder.html#ga8">FLAC__StreamDecoderReadCallback</a> read_callback, <a class="el" href="group__flac__stream__decoder.html#ga9">FLAC__StreamDecoderSeekCallback</a> seek_callback, <a class="el" href="group__flac__stream__decoder.html#ga10">FLAC__StreamDecoderTellCallback</a> tell_callback, <a class="el" href="group__flac__stream__decoder.html#ga11">FLAC__StreamDecoderLengthCallback</a> length_callback, <a class="el" href="group__flac__stream__decoder.html#ga12">FLAC__StreamDecoderEofCallback</a> eof_callback, <a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback, <a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback, <a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga38">FLAC__stream_decoder_init_FILE</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FILE *file, <a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback, <a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback, <a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga39">FLAC__stream_decoder_init_ogg_FILE</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FILE *file, <a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback, <a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback, <a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga40">FLAC__stream_decoder_init_file</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const char *filename, <a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback, <a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback, <a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga41">FLAC__stream_decoder_init_ogg_file</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const char *filename, <a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback, <a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback, <a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga42">FLAC__stream_decoder_finish</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga43">FLAC__stream_decoder_flush</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga44">FLAC__stream_decoder_reset</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga45">FLAC__stream_decoder_process_single</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga46">FLAC__stream_decoder_process_until_end_of_metadata</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga47">FLAC__stream_decoder_process_until_end_of_stream</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga48">FLAC__stream_decoder_skip_single_frame</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga49">FLAC__stream_decoder_seek_absolute</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 sample)</td></tr>
-
-<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga0">FLAC__StreamDecoderStateString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga1">FLAC__StreamDecoderInitStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga2">FLAC__StreamDecoderReadStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga3">FLAC__StreamDecoderSeekStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga4">FLAC__StreamDecoderTellStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga5">FLAC__StreamDecoderLengthStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga6">FLAC__StreamDecoderWriteStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga7">FLAC__StreamDecoderErrorStatusString</a> []</td></tr>
-
-</table>
-<hr><h2>Typedef Documentation</h2>
-<a class="anchor" name="ga8" doxytag="stream_decoder.h::FLAC__StreamDecoderReadCallback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef <a class="el" href="group__flac__stream__decoder.html#ga52">FLAC__StreamDecoderReadStatus</a>(* <a class="el" href="group__flac__stream__decoder.html#ga8">FLAC__StreamDecoderReadCallback</a>)(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Signature for the read callback.<p>
-A function pointer matching this signature must be passed to FLAC__stream_decoder_init*_stream(). The supplied function will be called when the decoder needs more input data. The address of the buffer to be filled is supplied, along with the number of bytes the buffer can hold. The callback may choose to supply less data and modify the byte count but must be careful not to overflow the buffer. The callback then returns a status code chosen from FLAC__StreamDecoderReadStatus.<p>
-Here is an example of a read callback for stdio streams: <div class="fragment"><pre class="fragment"> <a class="code" href="group__flac__stream__decoder.html#ga52">FLAC__StreamDecoderReadStatus</a> read_cb(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__byte buffer[], size_t *bytes, <span class="keywordtype">void</span> *client_data)
- {
- FILE *file = ((MyClientData*)client_data)-&gt;file;
- <span class="keywordflow">if</span>(*bytes &gt; 0) {
- *bytes = fread(buffer, <span class="keyword">sizeof</span>(FLAC__byte), *bytes, file);
- <span class="keywordflow">if</span>(ferror(file))
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__decoder.html#gga52a34">FLAC__STREAM_DECODER_READ_STATUS_ABORT</a>;
- <span class="keywordflow">else</span> <span class="keywordflow">if</span>(*bytes == 0)
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__decoder.html#gga52a33">FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM</a>;
- <span class="keywordflow">else</span>
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__decoder.html#gga52a32">FLAC__STREAM_DECODER_READ_STATUS_CONTINUE</a>;
- }
- <span class="keywordflow">else</span>
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__decoder.html#gga52a34">FLAC__STREAM_DECODER_READ_STATUS_ABORT</a>;
- }
-</pre></div><p>
-<dl compact><dt><b>Note:</b></dt><dd>In general, <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> functions which change the state should not be called on the <em>decoder</em> while in the callback.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>The decoder instance calling the callback. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>A pointer to a location for the callee to store data to be decoded. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>bytes</em>&nbsp;</td><td>A pointer to the size of the buffer. On entry to the callback, it contains the maximum number of bytes that may be stored in <em>buffer</em>. The callee must set it to the actual number of bytes stored (0 in case of error or end-of-stream) before returning. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>The callee's client data set through FLAC__stream_decoder_init_*(). </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamDecoderReadStatus</em>&nbsp;</td><td>The callee's return status. Note that the callback should return <code>FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM</code> if and only if zero bytes were read and there is no more data to be read. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga9" doxytag="stream_decoder.h::FLAC__StreamDecoderSeekCallback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef <a class="el" href="group__flac__stream__decoder.html#ga53">FLAC__StreamDecoderSeekStatus</a>(* <a class="el" href="group__flac__stream__decoder.html#ga9">FLAC__StreamDecoderSeekCallback</a>)(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 absolute_byte_offset, void *client_data) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Signature for the seek callback.<p>
-A function pointer matching this signature may be passed to FLAC__stream_decoder_init*_stream(). The supplied function will be called when the decoder needs to seek the input stream. The decoder will pass the absolute byte offset to seek to, 0 meaning the beginning of the stream.<p>
-Here is an example of a seek callback for stdio streams: <div class="fragment"><pre class="fragment"> <a class="code" href="group__flac__stream__decoder.html#ga53">FLAC__StreamDecoderSeekStatus</a> seek_cb(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 absolute_byte_offset, <span class="keywordtype">void</span> *client_data)
- {
- FILE *file = ((MyClientData*)client_data)-&gt;file;
- <span class="keywordflow">if</span>(file == stdin)
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__decoder.html#gga53a37">FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED</a>;
- <span class="keywordflow">else</span> <span class="keywordflow">if</span>(fseeko(file, (off_t)absolute_byte_offset, SEEK_SET) &lt; 0)
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__decoder.html#gga53a36">FLAC__STREAM_DECODER_SEEK_STATUS_ERROR</a>;
- <span class="keywordflow">else</span>
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__decoder.html#gga53a35">FLAC__STREAM_DECODER_SEEK_STATUS_OK</a>;
- }
-</pre></div><p>
-<dl compact><dt><b>Note:</b></dt><dd>In general, <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> functions which change the state should not be called on the <em>decoder</em> while in the callback.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>The decoder instance calling the callback. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>absolute_byte_offset</em>&nbsp;</td><td>The offset from the beginning of the stream to seek to. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>The callee's client data set through FLAC__stream_decoder_init_*(). </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamDecoderSeekStatus</em>&nbsp;</td><td>The callee's return status. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga10" doxytag="stream_decoder.h::FLAC__StreamDecoderTellCallback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef <a class="el" href="group__flac__stream__decoder.html#ga54">FLAC__StreamDecoderTellStatus</a>(* <a class="el" href="group__flac__stream__decoder.html#ga10">FLAC__StreamDecoderTellCallback</a>)(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Signature for the tell callback.<p>
-A function pointer matching this signature may be passed to FLAC__stream_decoder_init*_stream(). The supplied function will be called when the decoder wants to know the current position of the stream. The callback should return the byte offset from the beginning of the stream.<p>
-Here is an example of a tell callback for stdio streams: <div class="fragment"><pre class="fragment"> <a class="code" href="group__flac__stream__decoder.html#ga54">FLAC__StreamDecoderTellStatus</a> tell_cb(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *absolute_byte_offset, <span class="keywordtype">void</span> *client_data)
- {
- FILE *file = ((MyClientData*)client_data)-&gt;file;
- off_t pos;
- <span class="keywordflow">if</span>(file == stdin)
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__decoder.html#gga54a40">FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED</a>;
- <span class="keywordflow">else</span> <span class="keywordflow">if</span>((pos = ftello(file)) &lt; 0)
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__decoder.html#gga54a39">FLAC__STREAM_DECODER_TELL_STATUS_ERROR</a>;
- <span class="keywordflow">else</span> {
- *absolute_byte_offset = (FLAC__uint64)pos;
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__decoder.html#gga54a38">FLAC__STREAM_DECODER_TELL_STATUS_OK</a>;
- }
- }
-</pre></div><p>
-<dl compact><dt><b>Note:</b></dt><dd>In general, <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> functions which change the state should not be called on the <em>decoder</em> while in the callback.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>The decoder instance calling the callback. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>absolute_byte_offset</em>&nbsp;</td><td>A pointer to storage for the current offset from the beginning of the stream. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>The callee's client data set through FLAC__stream_decoder_init_*(). </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamDecoderTellStatus</em>&nbsp;</td><td>The callee's return status. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga11" doxytag="stream_decoder.h::FLAC__StreamDecoderLengthCallback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef <a class="el" href="group__flac__stream__decoder.html#ga55">FLAC__StreamDecoderLengthStatus</a>(* <a class="el" href="group__flac__stream__decoder.html#ga11">FLAC__StreamDecoderLengthCallback</a>)(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *stream_length, void *client_data) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Signature for the length callback.<p>
-A function pointer matching this signature may be passed to FLAC__stream_decoder_init*_stream(). The supplied function will be called when the decoder wants to know the total length of the stream in bytes.<p>
-Here is an example of a length callback for stdio streams: <div class="fragment"><pre class="fragment"> <a class="code" href="group__flac__stream__decoder.html#ga55">FLAC__StreamDecoderLengthStatus</a> length_cb(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *stream_length, <span class="keywordtype">void</span> *client_data)
- {
- FILE *file = ((MyClientData*)client_data)-&gt;file;
- <span class="keyword">struct </span>stat filestats;
-
- <span class="keywordflow">if</span>(file == stdin)
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__decoder.html#gga55a43">FLAC__STREAM_DECODER_LENGTH_STATUS_UNSUPPORTED</a>;
- <span class="keywordflow">else</span> <span class="keywordflow">if</span>(fstat(fileno(file), &amp;filestats) != 0)
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__decoder.html#gga55a42">FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR</a>;
- <span class="keywordflow">else</span> {
- *stream_length = (FLAC__uint64)filestats.st_size;
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__decoder.html#gga55a41">FLAC__STREAM_DECODER_LENGTH_STATUS_OK</a>;
- }
- }
-</pre></div><p>
-<dl compact><dt><b>Note:</b></dt><dd>In general, <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> functions which change the state should not be called on the <em>decoder</em> while in the callback.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>The decoder instance calling the callback. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>stream_length</em>&nbsp;</td><td>A pointer to storage for the length of the stream in bytes. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>The callee's client data set through FLAC__stream_decoder_init_*(). </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamDecoderLengthStatus</em>&nbsp;</td><td>The callee's return status. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga12" doxytag="stream_decoder.h::FLAC__StreamDecoderEofCallback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef FLAC__bool(* <a class="el" href="group__flac__stream__decoder.html#ga12">FLAC__StreamDecoderEofCallback</a>)(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, void *client_data) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Signature for the EOF callback.<p>
-A function pointer matching this signature may be passed to FLAC__stream_decoder_init*_stream(). The supplied function will be called when the decoder needs to know if the end of the stream has been reached.<p>
-Here is an example of a EOF callback for stdio streams: FLAC__bool eof_cb(const FLAC__StreamDecoder *decoder, void *client_data) <div class="fragment"><pre class="fragment"> {
- FILE *file = ((MyClientData*)client_data)-&gt;file;
- <span class="keywordflow">return</span> feof(file)? <span class="keyword">true</span> : <span class="keyword">false</span>;
- }
-</pre></div><p>
-<dl compact><dt><b>Note:</b></dt><dd>In general, <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> functions which change the state should not be called on the <em>decoder</em> while in the callback.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>The decoder instance calling the callback. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>The callee's client data set through FLAC__stream_decoder_init_*(). </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if the currently at the end of the stream, else <code>false</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga13" doxytag="stream_decoder.h::FLAC__StreamDecoderWriteCallback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef <a class="el" href="group__flac__stream__decoder.html#ga56">FLAC__StreamDecoderWriteStatus</a>(* <a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a>)(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const <a class="el" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, const FLAC__int32 *const buffer[], void *client_data) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Signature for the write callback.<p>
-A function pointer matching this signature must be passed to one of the FLAC__stream_decoder_init_*() functions. The supplied function will be called when the decoder has decoded a single audio frame. The decoder will pass the frame metadata as well as an array of pointers (one for each channel) pointing to the decoded audio.<p>
-<dl compact><dt><b>Note:</b></dt><dd>In general, <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> functions which change the state should not be called on the <em>decoder</em> while in the callback.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>The decoder instance calling the callback. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>frame</em>&nbsp;</td><td>The description of the decoded frame. See <a class="el" href="structFLAC____Frame.html">FLAC__Frame</a>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>An array of pointers to decoded channels of data. Each pointer will point to an array of signed samples of length <em>frame-&gt;header.blocksize</em>. Channels will be ordered according to the FLAC specification; see the documentation for the <a href="../format.html#frame_header">frame header</a>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>The callee's client data set through FLAC__stream_decoder_init_*(). </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamDecoderWriteStatus</em>&nbsp;</td><td>The callee's return status. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga14" doxytag="stream_decoder.h::FLAC__StreamDecoderMetadataCallback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef void(* <a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a>)(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, void *client_data) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Signature for the metadata callback.<p>
-A function pointer matching this signature must be passed to one of the FLAC__stream_decoder_init_*() functions. The supplied function will be called when the decoder has decoded a metadata block. In a valid FLAC file there will always be one <code>STREAMINFO</code> block, followed by zero or more other metadata blocks. These will be supplied by the decoder in the same order as they appear in the stream and always before the first audio frame (i.e. write callback). The metadata block that is passed in must not be modified, and it doesn't live beyond the callback, so you should make a copy of it with <a class="el" href="group__flac__metadata__object.html#ga1">FLAC__metadata_object_clone()</a> if you will need it elsewhere. Since metadata blocks can potentially be large, by default the decoder only calls the metadata callback for the <code>STREAMINFO</code> block; you can instruct the decoder to pass or filter other blocks with FLAC__stream_decoder_set_metadata_*() calls.<p>
-<dl compact><dt><b>Note:</b></dt><dd>In general, <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> functions which change the state should not be called on the <em>decoder</em> while in the callback.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>The decoder instance calling the callback. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>metadata</em>&nbsp;</td><td>The decoded metadata block. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>The callee's client data set through FLAC__stream_decoder_init_*(). </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga15" doxytag="stream_decoder.h::FLAC__StreamDecoderErrorCallback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef void(* <a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a>)(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__stream__decoder.html#ga57">FLAC__StreamDecoderErrorStatus</a> status, void *client_data) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Signature for the error callback.<p>
-A function pointer matching this signature must be passed to one of the FLAC__stream_decoder_init_*() functions. The supplied function will be called whenever an error occurs during decoding.<p>
-<dl compact><dt><b>Note:</b></dt><dd>In general, <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> functions which change the state should not be called on the <em>decoder</em> while in the callback.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>The decoder instance calling the callback. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>The error encountered by the decoder. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>The callee's client data set through FLAC__stream_decoder_init_*(). </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<hr><h2>Enumeration Type Documentation</h2>
-<a class="anchor" name="ga50" doxytag="stream_decoder.h::FLAC__StreamDecoderState"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__stream__decoder.html#ga50">FLAC__StreamDecoderState</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-State values for a <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a><p>
-The decoder's state can be obtained by calling <a class="el" href="group__flac__stream__decoder.html#ga26">FLAC__stream_decoder_get_state()</a>. <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga50a16" doxytag="FLAC__STREAM_DECODER_SEARCH_FOR_METADATA"></a>FLAC__STREAM_DECODER_SEARCH_FOR_METADATA</em>&nbsp;</td><td>
-The decoder is ready to search for metadata. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga50a17" doxytag="FLAC__STREAM_DECODER_READ_METADATA"></a>FLAC__STREAM_DECODER_READ_METADATA</em>&nbsp;</td><td>
-The decoder is ready to or is in the process of reading metadata. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga50a18" doxytag="FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC"></a>FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC</em>&nbsp;</td><td>
-The decoder is ready to or is in the process of searching for the frame sync code. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga50a19" doxytag="FLAC__STREAM_DECODER_READ_FRAME"></a>FLAC__STREAM_DECODER_READ_FRAME</em>&nbsp;</td><td>
-The decoder is ready to or is in the process of reading a frame. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga50a20" doxytag="FLAC__STREAM_DECODER_END_OF_STREAM"></a>FLAC__STREAM_DECODER_END_OF_STREAM</em>&nbsp;</td><td>
-The decoder has reached the end of the stream. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga50a21" doxytag="FLAC__STREAM_DECODER_OGG_ERROR"></a>FLAC__STREAM_DECODER_OGG_ERROR</em>&nbsp;</td><td>
-An error occurred in the underlying Ogg layer. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga50a22" doxytag="FLAC__STREAM_DECODER_SEEK_ERROR"></a>FLAC__STREAM_DECODER_SEEK_ERROR</em>&nbsp;</td><td>
-An error occurred while seeking. The decoder must be flushed with <a class="el" href="group__flac__stream__decoder.html#ga43">FLAC__stream_decoder_flush()</a> or reset with <a class="el" href="group__flac__stream__decoder.html#ga44">FLAC__stream_decoder_reset()</a> before decoding can continue. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga50a23" doxytag="FLAC__STREAM_DECODER_ABORTED"></a>FLAC__STREAM_DECODER_ABORTED</em>&nbsp;</td><td>
-The decoder was aborted by the read callback. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga50a24" doxytag="FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR"></a>FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR</em>&nbsp;</td><td>
-An error occurred allocating memory. The decoder is in an invalid state and can no longer be used. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga50a25" doxytag="FLAC__STREAM_DECODER_UNINITIALIZED"></a>FLAC__STREAM_DECODER_UNINITIALIZED</em>&nbsp;</td><td>
-The decoder is in the uninitialized state; one of the FLAC__stream_decoder_init_*() functions must be called before samples can be processed.</td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga51" doxytag="stream_decoder.h::FLAC__StreamDecoderInitStatus"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Possible return values for the FLAC__stream_decoder_init_*() functions. <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga51a26" doxytag="FLAC__STREAM_DECODER_INIT_STATUS_OK"></a>FLAC__STREAM_DECODER_INIT_STATUS_OK</em>&nbsp;</td><td>
-Initialization was successful. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga51a27" doxytag="FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER"></a>FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER</em>&nbsp;</td><td>
-The library was not compiled with support for the given container format. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga51a28" doxytag="FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS"></a>FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS</em>&nbsp;</td><td>
-A required callback was not supplied. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga51a29" doxytag="FLAC__STREAM_DECODER_INIT_STATUS_MEMORY_ALLOCATION_ERROR"></a>FLAC__STREAM_DECODER_INIT_STATUS_MEMORY_ALLOCATION_ERROR</em>&nbsp;</td><td>
-An error occurred allocating memory. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga51a30" doxytag="FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FILE"></a>FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FILE</em>&nbsp;</td><td>
-fopen() failed in <a class="el" href="group__flac__stream__decoder.html#ga40">FLAC__stream_decoder_init_file()</a> or <a class="el" href="group__flac__stream__decoder.html#ga41">FLAC__stream_decoder_init_ogg_file()</a>. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga51a31" doxytag="FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED"></a>FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED</em>&nbsp;</td><td>
-FLAC__stream_decoder_init_*() was called when the decoder was already initialized, usually because <a class="el" href="group__flac__stream__decoder.html#ga42">FLAC__stream_decoder_finish()</a> was not called.</td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga52" doxytag="stream_decoder.h::FLAC__StreamDecoderReadStatus"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__stream__decoder.html#ga52">FLAC__StreamDecoderReadStatus</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Return values for the <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> read callback. <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga52a32" doxytag="FLAC__STREAM_DECODER_READ_STATUS_CONTINUE"></a>FLAC__STREAM_DECODER_READ_STATUS_CONTINUE</em>&nbsp;</td><td>
-The read was OK and decoding can continue. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga52a33" doxytag="FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM"></a>FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM</em>&nbsp;</td><td>
-The read was attempted while at the end of the stream. Note that the client must only return this value when the read callback was called when already at the end of the stream. Otherwise, if the read itself moves to the end of the stream, the client should still return the data and <code>FLAC__STREAM_DECODER_READ_STATUS_CONTINUE</code>, and then on the next read callback it should return <code>FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM</code> with a byte count of <code>0</code>. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga52a34" doxytag="FLAC__STREAM_DECODER_READ_STATUS_ABORT"></a>FLAC__STREAM_DECODER_READ_STATUS_ABORT</em>&nbsp;</td><td>
-An unrecoverable error occurred. The decoder will return from the process call. </td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga53" doxytag="stream_decoder.h::FLAC__StreamDecoderSeekStatus"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__stream__decoder.html#ga53">FLAC__StreamDecoderSeekStatus</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Return values for the <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> seek callback. <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga53a35" doxytag="FLAC__STREAM_DECODER_SEEK_STATUS_OK"></a>FLAC__STREAM_DECODER_SEEK_STATUS_OK</em>&nbsp;</td><td>
-The seek was OK and decoding can continue. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga53a36" doxytag="FLAC__STREAM_DECODER_SEEK_STATUS_ERROR"></a>FLAC__STREAM_DECODER_SEEK_STATUS_ERROR</em>&nbsp;</td><td>
-An unrecoverable error occurred. The decoder will return from the process call. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga53a37" doxytag="FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED"></a>FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED</em>&nbsp;</td><td>
-Client does not support seeking. </td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga54" doxytag="stream_decoder.h::FLAC__StreamDecoderTellStatus"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__stream__decoder.html#ga54">FLAC__StreamDecoderTellStatus</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Return values for the <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> tell callback. <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga54a38" doxytag="FLAC__STREAM_DECODER_TELL_STATUS_OK"></a>FLAC__STREAM_DECODER_TELL_STATUS_OK</em>&nbsp;</td><td>
-The tell was OK and decoding can continue. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga54a39" doxytag="FLAC__STREAM_DECODER_TELL_STATUS_ERROR"></a>FLAC__STREAM_DECODER_TELL_STATUS_ERROR</em>&nbsp;</td><td>
-An unrecoverable error occurred. The decoder will return from the process call. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga54a40" doxytag="FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED"></a>FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED</em>&nbsp;</td><td>
-Client does not support telling the position. </td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga55" doxytag="stream_decoder.h::FLAC__StreamDecoderLengthStatus"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__stream__decoder.html#ga55">FLAC__StreamDecoderLengthStatus</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Return values for the <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> length callback. <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga55a41" doxytag="FLAC__STREAM_DECODER_LENGTH_STATUS_OK"></a>FLAC__STREAM_DECODER_LENGTH_STATUS_OK</em>&nbsp;</td><td>
-The length call was OK and decoding can continue. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga55a42" doxytag="FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR"></a>FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR</em>&nbsp;</td><td>
-An unrecoverable error occurred. The decoder will return from the process call. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga55a43" doxytag="FLAC__STREAM_DECODER_LENGTH_STATUS_UNSUPPORTED"></a>FLAC__STREAM_DECODER_LENGTH_STATUS_UNSUPPORTED</em>&nbsp;</td><td>
-Client does not support reporting the length. </td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga56" doxytag="stream_decoder.h::FLAC__StreamDecoderWriteStatus"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__stream__decoder.html#ga56">FLAC__StreamDecoderWriteStatus</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Return values for the <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> write callback. <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga56a44" doxytag="FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE"></a>FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE</em>&nbsp;</td><td>
-The write was OK and decoding can continue. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga56a45" doxytag="FLAC__STREAM_DECODER_WRITE_STATUS_ABORT"></a>FLAC__STREAM_DECODER_WRITE_STATUS_ABORT</em>&nbsp;</td><td>
-An unrecoverable error occurred. The decoder will return from the process call. </td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga57" doxytag="stream_decoder.h::FLAC__StreamDecoderErrorStatus"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__stream__decoder.html#ga57">FLAC__StreamDecoderErrorStatus</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Possible values passed back to the <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> error callback. <code>FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC</code> is the generic catch- all. The rest could be caused by bad sync (false synchronization on data that is not the start of a frame) or corrupted data. The error itself is the decoder's best guess at what happened assuming a correct sync. For example <code>FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER</code> could be caused by a correct sync on the start of a frame, but some data in the frame header was corrupted. Or it could be the result of syncing on a point the stream that looked like the starting of a frame but was not. <code>FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM</code> could be because the decoder encountered a valid frame made by a future version of the encoder which it cannot parse, or because of a false sync making it appear as though an encountered frame was generated by a future encoder. <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga57a46" doxytag="FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC"></a>FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC</em>&nbsp;</td><td>
-An error in the stream caused the decoder to lose synchronization. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga57a47" doxytag="FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER"></a>FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER</em>&nbsp;</td><td>
-The decoder encountered a corrupted frame header. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga57a48" doxytag="FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH"></a>FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH</em>&nbsp;</td><td>
-The frame's data did not match the CRC in the footer. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga57a49" doxytag="FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM"></a>FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM</em>&nbsp;</td><td>
-The decoder encountered reserved fields in use in the stream. </td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="ga16" doxytag="stream_decoder.h::FLAC__stream_decoder_new"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>* FLAC__stream_decoder_new </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">void&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Create a new stream decoder instance. The instance is created with default settings; see the individual FLAC__stream_decoder_set_*() functions for each setting's default.<p>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamDecoder*</em>&nbsp;</td><td><code>NULL</code> if there was an error allocating memory, else the new instance. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga17" doxytag="stream_decoder.h::FLAC__stream_decoder_delete"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC__stream_decoder_delete </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Free a decoder instance. Deletes the object pointed to by <em>decoder</em>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A pointer to an existing decoder. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga18" doxytag="stream_decoder.h::FLAC__stream_decoder_set_ogg_serial_number"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_decoder_set_ogg_serial_number </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>decoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>long&nbsp;</td>
- <td class="mdname" nowrap> <em>serial_number</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set the serial number for the FLAC stream within the Ogg container. The default behavior is to use the serial number of the first Ogg page. Setting a serial number here will explicitly specify which stream is to be decoded.<p>
-<dl compact><dt><b>Note:</b></dt><dd>This does not need to be set for native FLAC decoding.</dd></dl>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>use</code> serial number of first page </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>serial_number</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga19" doxytag="stream_decoder.h::FLAC__stream_decoder_set_md5_checking"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_decoder_set_md5_checking </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>decoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set the "MD5 signature checking" flag. If <code>true</code>, the decoder will compute the MD5 signature of the unencoded audio data while decoding and compare it to the signature from the STREAMINFO block, if it exists, during <a class="el" href="group__flac__stream__decoder.html#ga42">FLAC__stream_decoder_finish()</a>.<p>
-MD5 signature checking will be turned off (until the next <a class="el" href="group__flac__stream__decoder.html#ga44">FLAC__stream_decoder_reset()</a>) if there is no signature in the STREAMINFO block or when a seek is attempted.<p>
-Clients that do not use the MD5 check should leave this off to speed up decoding.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>false</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>Flag value (see above). </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga20" doxytag="stream_decoder.h::FLAC__stream_decoder_set_metadata_respond"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_decoder_set_metadata_respond </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>decoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>type</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Direct the decoder to pass on all metadata blocks of type <em>type</em>.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd>By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> <em>type</em> is valid </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga21" doxytag="stream_decoder.h::FLAC__stream_decoder_set_metadata_respond_application"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_decoder_set_metadata_respond_application </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>decoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const FLAC__byte&nbsp;</td>
- <td class="mdname" nowrap> <em>id</em>[4]</td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Direct the decoder to pass on all APPLICATION metadata blocks of the given <em>id</em>.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd>By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> <span class="keywordtype">id</span> != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga22" doxytag="stream_decoder.h::FLAC__stream_decoder_set_metadata_respond_all"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_decoder_set_metadata_respond_all </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Direct the decoder to pass on all metadata blocks of any type.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd>By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance to set. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga23" doxytag="stream_decoder.h::FLAC__stream_decoder_set_metadata_ignore"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_decoder_set_metadata_ignore </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>decoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>type</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Direct the decoder to filter out all metadata blocks of type <em>type</em>.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd>By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> <em>type</em> is valid </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga24" doxytag="stream_decoder.h::FLAC__stream_decoder_set_metadata_ignore_application"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_decoder_set_metadata_ignore_application </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>decoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const FLAC__byte&nbsp;</td>
- <td class="mdname" nowrap> <em>id</em>[4]</td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Direct the decoder to filter out all APPLICATION metadata blocks of the given <em>id</em>.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd>By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> <span class="keywordtype">id</span> != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga25" doxytag="stream_decoder.h::FLAC__stream_decoder_set_metadata_ignore_all"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_decoder_set_metadata_ignore_all </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Direct the decoder to filter out all metadata blocks of any type.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd>By default, only the <code>STREAMINFO</code> block is returned via the metadata callback. </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance to set. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the decoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga26" doxytag="stream_decoder.h::FLAC__stream_decoder_get_state"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__stream__decoder.html#ga50">FLAC__StreamDecoderState</a> FLAC__stream_decoder_get_state </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the current decoder state.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamDecoderState</em>&nbsp;</td><td>The current decoder state. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga27" doxytag="stream_decoder.h::FLAC__stream_decoder_get_resolved_state_string"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* FLAC__stream_decoder_get_resolved_state_string </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the current decoder state as a C string.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>const</em>&nbsp;</td><td>char * The decoder state as a C string. Do not modify the contents. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga28" doxytag="stream_decoder.h::FLAC__stream_decoder_get_md5_checking"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_decoder_get_md5_checking </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the "MD5 signature checking" flag. This is the value of the setting, not whether or not the decoder is currently checking the MD5 (remember, it can be turned off automatically by a seek). When the decoder is reset the flag will be restored to the value returned by this function.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga29" doxytag="stream_decoder.h::FLAC__stream_decoder_get_total_samples"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__uint64 FLAC__stream_decoder_get_total_samples </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the total number of samples in the stream being decoded. Will only be valid after decoding has started and will contain the value from the <code>STREAMINFO</code> block. A value of <code>0</code> means "unknown".<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga30" doxytag="stream_decoder.h::FLAC__stream_decoder_get_channels"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC__stream_decoder_get_channels </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the current number of channels in the stream being decoded. Will only be valid after decoding has started and will contain the value from the most recently decoded frame header.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga31" doxytag="stream_decoder.h::FLAC__stream_decoder_get_channel_assignment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a> FLAC__stream_decoder_get_channel_assignment </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the current channel assignment in the stream being decoded. Will only be valid after decoding has started and will contain the value from the most recently decoded frame header.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__ChannelAssignment</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga32" doxytag="stream_decoder.h::FLAC__stream_decoder_get_bits_per_sample"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC__stream_decoder_get_bits_per_sample </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the current sample resolution in the stream being decoded. Will only be valid after decoding has started and will contain the value from the most recently decoded frame header.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga33" doxytag="stream_decoder.h::FLAC__stream_decoder_get_sample_rate"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC__stream_decoder_get_sample_rate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the current sample rate in Hz of the stream being decoded. Will only be valid after decoding has started and will contain the value from the most recently decoded frame header.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga34" doxytag="stream_decoder.h::FLAC__stream_decoder_get_blocksize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC__stream_decoder_get_blocksize </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the current blocksize of the stream being decoded. Will only be valid after decoding has started and will contain the value from the most recently decoded frame header.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga35" doxytag="stream_decoder.h::FLAC__stream_decoder_get_decode_position"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_decoder_get_decode_position </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>decoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__uint64 *&nbsp;</td>
- <td class="mdname" nowrap> <em>position</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the decoder's current read position within the stream. The position is the byte offset from the start of the stream. Bytes before this position have been fully decoded. Note that there may still be undecoded bytes in the decoder's read FIFO. The returned position is correct even after a seek.<p>
-<dl compact><dt><b>Warning:</b></dt><dd>This function currently only works for native FLAC, not Ogg FLAC streams.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance to query. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>position</em>&nbsp;</td><td>Address at which to return the desired position. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> position != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if successful, <code>false</code> if the stream is not native FLAC, or there was an error from the 'tell' callback or it returned <code>FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga36" doxytag="stream_decoder.h::FLAC__stream_decoder_init_stream"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a> FLAC__stream_decoder_init_stream </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>decoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga8">FLAC__StreamDecoderReadCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>read_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga9">FLAC__StreamDecoderSeekCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>seek_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga10">FLAC__StreamDecoderTellCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>tell_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga11">FLAC__StreamDecoderLengthCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>length_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga12">FLAC__StreamDecoderEofCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>eof_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>write_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>metadata_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>error_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>client_data</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Initialize the decoder instance to decode native FLAC streams.<p>
-This flavor of initialization sets up the decoder to decode from a native FLAC stream. I/O is performed via callbacks to the client. For decoding from a plain file via filename or open FILE*, <a class="el" href="group__flac__stream__decoder.html#ga40">FLAC__stream_decoder_init_file()</a> and <a class="el" href="group__flac__stream__decoder.html#ga38">FLAC__stream_decoder_init_FILE()</a> provide a simpler interface.<p>
-This function should be called after <a class="el" href="group__flac__stream__decoder.html#ga16">FLAC__stream_decoder_new()</a> and FLAC__stream_decoder_set_*() but before any of the FLAC__stream_decoder_process_*() functions. Will set and return the decoder state, which will be FLAC__STREAM_DECODER_SEARCH_FOR_METADATA if initialization succeeded.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>An uninitialized decoder instance. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>read_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderReadCallback. This pointer must not be <code>NULL</code>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>seek_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderSeekCallback. This pointer may be <code>NULL</code> if seeking is not supported. If <em>seek_callback</em> is not <code>NULL</code> then a <em>tell_callback</em>, <em>length_callback</em>, and <em>eof_callback</em> must also be supplied. Alternatively, a dummy seek callback that just returns <code>FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED</code> may also be supplied, all though this is slightly less efficient for the decoder. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>tell_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderTellCallback. This pointer may be <code>NULL</code> if not supported by the client. If <em>seek_callback</em> is not <code>NULL</code> then a <em>tell_callback</em> must also be supplied. Alternatively, a dummy tell callback that just returns <code>FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED</code> may also be supplied, all though this is slightly less efficient for the decoder. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>length_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderLengthCallback. This pointer may be <code>NULL</code> if not supported by the client. If <em>seek_callback</em> is not <code>NULL</code> then a <em>length_callback</em> must also be supplied. Alternatively, a dummy length callback that just returns <code>FLAC__STREAM_DECODER_LENGTH_STATUS_UNSUPPORTED</code> may also be supplied, all though this is slightly less efficient for the decoder. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>eof_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderEofCallback. This pointer may be <code>NULL</code> if not supported by the client. If <em>seek_callback</em> is not <code>NULL</code> then a <em>eof_callback</em> must also be supplied. Alternatively, a dummy length callback that just returns <code>false</code> may also be supplied, all though this is slightly less efficient for the decoder. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>write_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderWriteCallback. This pointer must not be <code>NULL</code>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>metadata_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderMetadataCallback. This pointer may be <code>NULL</code> if the callback is not desired. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>error_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderErrorCallback. This pointer must not be <code>NULL</code>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>This value will be supplied to callbacks in their <em>client_data</em> argument. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamDecoderInitStatus</em>&nbsp;</td><td><code>FLAC__STREAM_DECODER_INIT_STATUS_OK</code> if initialization was successful; see FLAC__StreamDecoderInitStatus for the meanings of other return values. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga37" doxytag="stream_decoder.h::FLAC__stream_decoder_init_ogg_stream"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a> FLAC__stream_decoder_init_ogg_stream </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>decoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga8">FLAC__StreamDecoderReadCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>read_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga9">FLAC__StreamDecoderSeekCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>seek_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga10">FLAC__StreamDecoderTellCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>tell_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga11">FLAC__StreamDecoderLengthCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>length_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga12">FLAC__StreamDecoderEofCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>eof_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>write_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>metadata_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>error_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>client_data</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Initialize the decoder instance to decode Ogg FLAC streams.<p>
-This flavor of initialization sets up the decoder to decode from a FLAC stream in an Ogg container. I/O is performed via callbacks to the client. For decoding from a plain file via filename or open FILE*, <a class="el" href="group__flac__stream__decoder.html#ga41">FLAC__stream_decoder_init_ogg_file()</a> and <a class="el" href="group__flac__stream__decoder.html#ga39">FLAC__stream_decoder_init_ogg_FILE()</a> provide a simpler interface.<p>
-This function should be called after <a class="el" href="group__flac__stream__decoder.html#ga16">FLAC__stream_decoder_new()</a> and FLAC__stream_decoder_set_*() but before any of the FLAC__stream_decoder_process_*() functions. Will set and return the decoder state, which will be FLAC__STREAM_DECODER_SEARCH_FOR_METADATA if initialization succeeded.<p>
-<dl compact><dt><b>Note:</b></dt><dd>Support for Ogg FLAC in the library is optional. If this library has been built without support for Ogg FLAC, this function will return <code>FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER</code>.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>An uninitialized decoder instance. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>read_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderReadCallback. This pointer must not be <code>NULL</code>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>seek_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderSeekCallback. This pointer may be <code>NULL</code> if seeking is not supported. If <em>seek_callback</em> is not <code>NULL</code> then a <em>tell_callback</em>, <em>length_callback</em>, and <em>eof_callback</em> must also be supplied. Alternatively, a dummy seek callback that just returns <code>FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED</code> may also be supplied, all though this is slightly less efficient for the decoder. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>tell_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderTellCallback. This pointer may be <code>NULL</code> if not supported by the client. If <em>seek_callback</em> is not <code>NULL</code> then a <em>tell_callback</em> must also be supplied. Alternatively, a dummy tell callback that just returns <code>FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED</code> may also be supplied, all though this is slightly less efficient for the decoder. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>length_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderLengthCallback. This pointer may be <code>NULL</code> if not supported by the client. If <em>seek_callback</em> is not <code>NULL</code> then a <em>length_callback</em> must also be supplied. Alternatively, a dummy length callback that just returns <code>FLAC__STREAM_DECODER_LENGTH_STATUS_UNSUPPORTED</code> may also be supplied, all though this is slightly less efficient for the decoder. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>eof_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderEofCallback. This pointer may be <code>NULL</code> if not supported by the client. If <em>seek_callback</em> is not <code>NULL</code> then a <em>eof_callback</em> must also be supplied. Alternatively, a dummy length callback that just returns <code>false</code> may also be supplied, all though this is slightly less efficient for the decoder. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>write_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderWriteCallback. This pointer must not be <code>NULL</code>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>metadata_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderMetadataCallback. This pointer may be <code>NULL</code> if the callback is not desired. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>error_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderErrorCallback. This pointer must not be <code>NULL</code>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>This value will be supplied to callbacks in their <em>client_data</em> argument. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamDecoderInitStatus</em>&nbsp;</td><td><code>FLAC__STREAM_DECODER_INIT_STATUS_OK</code> if initialization was successful; see FLAC__StreamDecoderInitStatus for the meanings of other return values. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga38" doxytag="stream_decoder.h::FLAC__stream_decoder_init_FILE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a> FLAC__stream_decoder_init_FILE </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>decoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FILE *&nbsp;</td>
- <td class="mdname" nowrap> <em>file</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>write_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>metadata_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>error_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>client_data</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Initialize the decoder instance to decode native FLAC files.<p>
-This flavor of initialization sets up the decoder to decode from a plain native FLAC file. For non-stdio streams, you must use <a class="el" href="group__flac__stream__decoder.html#ga36">FLAC__stream_decoder_init_stream()</a> and provide callbacks for the I/O.<p>
-This function should be called after <a class="el" href="group__flac__stream__decoder.html#ga16">FLAC__stream_decoder_new()</a> and FLAC__stream_decoder_set_*() but before any of the FLAC__stream_decoder_process_*() functions. Will set and return the decoder state, which will be FLAC__STREAM_DECODER_SEARCH_FOR_METADATA if initialization succeeded.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>An uninitialized decoder instance. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>An open FLAC file. The file should have been opened with mode <code>"rb"</code> and rewound. The file becomes owned by the decoder and should not be manipulated by the client while decoding. Unless <em>file</em> is <code>stdin</code>, it will be closed when <a class="el" href="group__flac__stream__decoder.html#ga42">FLAC__stream_decoder_finish()</a> is called. Note however that seeking will not work when decoding from <code>stdout</code> since it is not seekable. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>write_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderWriteCallback. This pointer must not be <code>NULL</code>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>metadata_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderMetadataCallback. This pointer may be <code>NULL</code> if the callback is not desired. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>error_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderErrorCallback. This pointer must not be <code>NULL</code>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>This value will be supplied to callbacks in their <em>client_data</em> argument. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> file != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamDecoderInitStatus</em>&nbsp;</td><td><code>FLAC__STREAM_DECODER_INIT_STATUS_OK</code> if initialization was successful; see FLAC__StreamDecoderInitStatus for the meanings of other return values. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga39" doxytag="stream_decoder.h::FLAC__stream_decoder_init_ogg_FILE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a> FLAC__stream_decoder_init_ogg_FILE </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>decoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FILE *&nbsp;</td>
- <td class="mdname" nowrap> <em>file</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>write_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>metadata_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>error_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>client_data</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Initialize the decoder instance to decode Ogg FLAC files.<p>
-This flavor of initialization sets up the decoder to decode from a plain Ogg FLAC file. For non-stdio streams, you must use <a class="el" href="group__flac__stream__decoder.html#ga37">FLAC__stream_decoder_init_ogg_stream()</a> and provide callbacks for the I/O.<p>
-This function should be called after <a class="el" href="group__flac__stream__decoder.html#ga16">FLAC__stream_decoder_new()</a> and FLAC__stream_decoder_set_*() but before any of the FLAC__stream_decoder_process_*() functions. Will set and return the decoder state, which will be FLAC__STREAM_DECODER_SEARCH_FOR_METADATA if initialization succeeded.<p>
-<dl compact><dt><b>Note:</b></dt><dd>Support for Ogg FLAC in the library is optional. If this library has been built without support for Ogg FLAC, this function will return <code>FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER</code>.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>An uninitialized decoder instance. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>An open FLAC file. The file should have been opened with mode <code>"rb"</code> and rewound. The file becomes owned by the decoder and should not be manipulated by the client while decoding. Unless <em>file</em> is <code>stdin</code>, it will be closed when <a class="el" href="group__flac__stream__decoder.html#ga42">FLAC__stream_decoder_finish()</a> is called. Note however that seeking will not work when decoding from <code>stdout</code> since it is not seekable. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>write_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderWriteCallback. This pointer must not be <code>NULL</code>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>metadata_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderMetadataCallback. This pointer may be <code>NULL</code> if the callback is not desired. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>error_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderErrorCallback. This pointer must not be <code>NULL</code>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>This value will be supplied to callbacks in their <em>client_data</em> argument. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> file != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamDecoderInitStatus</em>&nbsp;</td><td><code>FLAC__STREAM_DECODER_INIT_STATUS_OK</code> if initialization was successful; see FLAC__StreamDecoderInitStatus for the meanings of other return values. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga40" doxytag="stream_decoder.h::FLAC__stream_decoder_init_file"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a> FLAC__stream_decoder_init_file </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>decoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>write_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>metadata_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>error_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>client_data</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Initialize the decoder instance to decode native FLAC files.<p>
-This flavor of initialization sets up the decoder to decode from a plain native FLAC file. If POSIX fopen() semantics are not sufficient, (for example, with Unicode filenames on Windows), you must use <a class="el" href="group__flac__stream__decoder.html#ga38">FLAC__stream_decoder_init_FILE()</a>, or <a class="el" href="group__flac__stream__decoder.html#ga36">FLAC__stream_decoder_init_stream()</a> and provide callbacks for the I/O.<p>
-This function should be called after <a class="el" href="group__flac__stream__decoder.html#ga16">FLAC__stream_decoder_new()</a> and FLAC__stream_decoder_set_*() but before any of the FLAC__stream_decoder_process_*() functions. Will set and return the decoder state, which will be FLAC__STREAM_DECODER_SEARCH_FOR_METADATA if initialization succeeded.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>An uninitialized decoder instance. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The name of the file to decode from. The file will be opened with fopen(). Use <code>NULL</code> to decode from <code>stdin</code>. Note that <code>stdin</code> is not seekable. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>write_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderWriteCallback. This pointer must not be <code>NULL</code>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>metadata_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderMetadataCallback. This pointer may be <code>NULL</code> if the callback is not desired. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>error_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderErrorCallback. This pointer must not be <code>NULL</code>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>This value will be supplied to callbacks in their <em>client_data</em> argument. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamDecoderInitStatus</em>&nbsp;</td><td><code>FLAC__STREAM_DECODER_INIT_STATUS_OK</code> if initialization was successful; see FLAC__StreamDecoderInitStatus for the meanings of other return values. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga41" doxytag="stream_decoder.h::FLAC__stream_decoder_init_ogg_file"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a> FLAC__stream_decoder_init_ogg_file </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>decoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>write_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>metadata_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>error_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>client_data</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Initialize the decoder instance to decode Ogg FLAC files.<p>
-This flavor of initialization sets up the decoder to decode from a plain Ogg FLAC file. If POSIX fopen() semantics are not sufficient, (for example, with Unicode filenames on Windows), you must use <a class="el" href="group__flac__stream__decoder.html#ga39">FLAC__stream_decoder_init_ogg_FILE()</a>, or <a class="el" href="group__flac__stream__decoder.html#ga37">FLAC__stream_decoder_init_ogg_stream()</a> and provide callbacks for the I/O.<p>
-This function should be called after <a class="el" href="group__flac__stream__decoder.html#ga16">FLAC__stream_decoder_new()</a> and FLAC__stream_decoder_set_*() but before any of the FLAC__stream_decoder_process_*() functions. Will set and return the decoder state, which will be FLAC__STREAM_DECODER_SEARCH_FOR_METADATA if initialization succeeded.<p>
-<dl compact><dt><b>Note:</b></dt><dd>Support for Ogg FLAC in the library is optional. If this library has been built without support for Ogg FLAC, this function will return <code>FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER</code>.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>An uninitialized decoder instance. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The name of the file to decode from. The file will be opened with fopen(). Use <code>NULL</code> to decode from <code>stdin</code>. Note that <code>stdin</code> is not seekable. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>write_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderWriteCallback. This pointer must not be <code>NULL</code>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>metadata_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderMetadataCallback. This pointer may be <code>NULL</code> if the callback is not desired. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>error_callback</em>&nbsp;</td><td>See FLAC__StreamDecoderErrorCallback. This pointer must not be <code>NULL</code>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>This value will be supplied to callbacks in their <em>client_data</em> argument. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamDecoderInitStatus</em>&nbsp;</td><td><code>FLAC__STREAM_DECODER_INIT_STATUS_OK</code> if initialization was successful; see FLAC__StreamDecoderInitStatus for the meanings of other return values. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga42" doxytag="stream_decoder.h::FLAC__stream_decoder_finish"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_decoder_finish </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Finish the decoding process. Flushes the decoding buffer, releases resources, resets the decoder settings to their defaults, and returns the decoder state to FLAC__STREAM_DECODER_UNINITIALIZED.<p>
-In the event of a prematurely-terminated decode, it is not strictly necessary to call this immediately before <a class="el" href="group__flac__stream__decoder.html#ga17">FLAC__stream_decoder_delete()</a> but it is good practice to match every FLAC__stream_decoder_init_*() with a <a class="el" href="group__flac__stream__decoder.html#ga42">FLAC__stream_decoder_finish()</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>An uninitialized decoder instance. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if MD5 checking is on AND a STREAMINFO block was available AND the MD5 signature in the STREAMINFO block was non-zero AND the signature does not match the one computed by the decoder; else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga43" doxytag="stream_decoder.h::FLAC__stream_decoder_flush"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_decoder_flush </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Flush the stream input. The decoder's input buffer will be cleared and the state set to <code>FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC</code>. This will also turn off MD5 checking.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if successful, else <code>false</code> if a memory allocation error occurs (in which case the state will be set to <code>FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR</code>). </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga44" doxytag="stream_decoder.h::FLAC__stream_decoder_reset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_decoder_reset </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Reset the decoding process. The decoder's input buffer will be cleared and the state set to <code>FLAC__STREAM_DECODER_SEARCH_FOR_METADATA</code>. This is similar to <a class="el" href="group__flac__stream__decoder.html#ga42">FLAC__stream_decoder_finish()</a> except that the settings are preserved; there is no need to call FLAC__stream_decoder_init_*() before decoding again. MD5 checking will be restored to its original setting.<p>
-If the decoder is seekable, or was initialized with FLAC__stream_decoder_init*_FILE() or FLAC__stream_decoder_init*_file(), the decoder will also attempt to seek to the beginning of the file. If this rewind fails, this function will return <code>false</code>. It follows that <a class="el" href="group__flac__stream__decoder.html#ga44">FLAC__stream_decoder_reset()</a> cannot be used when decoding from <code>stdin</code>.<p>
-If the decoder was initialized with FLAC__stream_encoder_init*_stream() and is not seekable (i.e. no seek callback was provided or the seek callback returns <code>FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED</code>), it is the duty of the client to start feeding data from the beginning of the stream on the next FLAC__stream_decoder_process() or FLAC__stream_decoder_process_interleaved() call.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if successful, else <code>false</code> if a memory allocation occurs (in which case the state will be set to <code>FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR</code>) or a seek error occurs (the state will be unchanged). </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga45" doxytag="stream_decoder.h::FLAC__stream_decoder_process_single"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_decoder_process_single </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Decode one metadata block or audio frame. This version instructs the decoder to decode a either a single metadata block or a single frame and stop, unless the callbacks return a fatal error or the read callback returns <code>FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM</code>.<p>
-As the decoder needs more input it will call the read callback. Depending on what was decoded, the metadata or write callback will be called with the decoded metadata block or audio frame.<p>
-Unless there is a fatal read error or end of stream, this function will return once one whole frame is decoded. In other words, if the stream is not synchronized or points to a corrupt frame header, the decoder will continue to try and resync until it gets to a valid frame, then decode one frame, then return. If the decoder points to a frame whose frame CRC in the frame footer does not match the computed frame CRC, this function will issue a FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH error to the error callback, and return, having decoded one complete, although corrupt, frame. (Such corrupted frames are sent as silence of the correct length to the write callback.)<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>An initialized decoder instance. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if any fatal read, write, or memory allocation error occurred (meaning decoding must stop), else <code>true</code>; for more information about the decoder, check the decoder state with <a class="el" href="group__flac__stream__decoder.html#ga26">FLAC__stream_decoder_get_state()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga46" doxytag="stream_decoder.h::FLAC__stream_decoder_process_until_end_of_metadata"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_decoder_process_until_end_of_metadata </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Decode until the end of the metadata. This version instructs the decoder to decode from the current position and continue until all the metadata has been read, or until the callbacks return a fatal error or the read callback returns <code>FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM</code>.<p>
-As the decoder needs more input it will call the read callback. As each metadata block is decoded, the metadata callback will be called with the decoded metadata.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>An initialized decoder instance. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if any fatal read, write, or memory allocation error occurred (meaning decoding must stop), else <code>true</code>; for more information about the decoder, check the decoder state with <a class="el" href="group__flac__stream__decoder.html#ga26">FLAC__stream_decoder_get_state()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga47" doxytag="stream_decoder.h::FLAC__stream_decoder_process_until_end_of_stream"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_decoder_process_until_end_of_stream </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Decode until the end of the stream. This version instructs the decoder to decode from the current position and continue until the end of stream (the read callback returns <code>FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM</code>), or until the callbacks return a fatal error.<p>
-As the decoder needs more input it will call the read callback. As each metadata block and frame is decoded, the metadata or write callback will be called with the decoded metadata or frame.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>An initialized decoder instance. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if any fatal read, write, or memory allocation error occurred (meaning decoding must stop), else <code>true</code>; for more information about the decoder, check the decoder state with <a class="el" href="group__flac__stream__decoder.html#ga26">FLAC__stream_decoder_get_state()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga48" doxytag="stream_decoder.h::FLAC__stream_decoder_skip_single_frame"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_decoder_skip_single_frame </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>decoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Skip one audio frame. This version instructs the decoder to 'skip' a single frame and stop, unless the callbacks return a fatal error or the read callback returns <code>FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM</code>.<p>
-The decoding flow is the same as what occurs when <a class="el" href="group__flac__stream__decoder.html#ga45">FLAC__stream_decoder_process_single()</a> is called to process an audio frame, except that this function does not decode the parsed data into PCM or call the write callback. The integrity of the frame is still checked the same way as in the other process functions.<p>
-This function will return once one whole frame is skipped, in the same way that <a class="el" href="group__flac__stream__decoder.html#ga45">FLAC__stream_decoder_process_single()</a> will return once one whole frame is decoded.<p>
-This function can be used in more quickly determining FLAC frame boundaries when decoding of the actual data is not needed, for example when an application is separating a FLAC stream into frames for editing or storing in a container. To do this, the application can use <a class="el" href="group__flac__stream__decoder.html#ga48">FLAC__stream_decoder_skip_single_frame()</a> to quickly advance to the next frame, then use <a class="el" href="group__flac__stream__decoder.html#ga35">FLAC__stream_decoder_get_decode_position()</a> to find the new frame boundary.<p>
-This function should only be called when the stream has advanced past all the metadata, otherwise it will return <code>false</code>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>An initialized decoder instance not in a metadata state. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if any fatal read, write, or memory allocation error occurred (meaning decoding must stop), or if the decoder is in the FLAC__STREAM_DECODER_SEARCH_FOR_METADATA or FLAC__STREAM_DECODER_READ_METADATA state, else <code>true</code>; for more information about the decoder, check the decoder state with <a class="el" href="group__flac__stream__decoder.html#ga26">FLAC__stream_decoder_get_state()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga49" doxytag="stream_decoder.h::FLAC__stream_decoder_seek_absolute"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_decoder_seek_absolute </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>decoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__uint64&nbsp;</td>
- <td class="mdname" nowrap> <em>sample</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Flush the input and seek to an absolute sample. Decoding will resume at the given sample. Note that because of this, the next write callback may contain a partial block. The client must support seeking the input or this function will fail and return <code>false</code>. Furthermore, if the decoder state is <code>FLAC__STREAM_DECODER_SEEK_ERROR</code>, then the decoder must be flushed with <a class="el" href="group__flac__stream__decoder.html#ga43">FLAC__stream_decoder_flush()</a> or reset with <a class="el" href="group__flac__stream__decoder.html#ga44">FLAC__stream_decoder_reset()</a> before decoding can continue.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>decoder</em>&nbsp;</td><td>A decoder instance. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>sample</em>&nbsp;</td><td>The target sample number to seek to. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> decoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if successful, else <code>false</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<hr><h2>Variable Documentation</h2>
-<a class="anchor" name="ga0" doxytag="stream_decoder.h::FLAC__StreamDecoderStateString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__stream__decoder.html#ga0">FLAC__StreamDecoderStateString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__StreamDecoderState to a C string.<p>
-Using a FLAC__StreamDecoderState as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-<a class="anchor" name="ga1" doxytag="stream_decoder.h::FLAC__StreamDecoderInitStatusString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__stream__decoder.html#ga1">FLAC__StreamDecoderInitStatusString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__StreamDecoderInitStatus to a C string.<p>
-Using a FLAC__StreamDecoderInitStatus as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-<a class="anchor" name="ga2" doxytag="stream_decoder.h::FLAC__StreamDecoderReadStatusString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__stream__decoder.html#ga2">FLAC__StreamDecoderReadStatusString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__StreamDecoderReadStatus to a C string.<p>
-Using a FLAC__StreamDecoderReadStatus as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-<a class="anchor" name="ga3" doxytag="stream_decoder.h::FLAC__StreamDecoderSeekStatusString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__stream__decoder.html#ga3">FLAC__StreamDecoderSeekStatusString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__StreamDecoderSeekStatus to a C string.<p>
-Using a FLAC__StreamDecoderSeekStatus as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-<a class="anchor" name="ga4" doxytag="stream_decoder.h::FLAC__StreamDecoderTellStatusString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__stream__decoder.html#ga4">FLAC__StreamDecoderTellStatusString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__StreamDecoderTellStatus to a C string.<p>
-Using a FLAC__StreamDecoderTellStatus as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-<a class="anchor" name="ga5" doxytag="stream_decoder.h::FLAC__StreamDecoderLengthStatusString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__stream__decoder.html#ga5">FLAC__StreamDecoderLengthStatusString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__StreamDecoderLengthStatus to a C string.<p>
-Using a FLAC__StreamDecoderLengthStatus as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-<a class="anchor" name="ga6" doxytag="stream_decoder.h::FLAC__StreamDecoderWriteStatusString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__stream__decoder.html#ga6">FLAC__StreamDecoderWriteStatusString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__StreamDecoderWriteStatus to a C string.<p>
-Using a FLAC__StreamDecoderWriteStatus as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-<a class="anchor" name="ga7" doxytag="stream_decoder.h::FLAC__StreamDecoderErrorStatusString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__stream__decoder.html#ga7">FLAC__StreamDecoderErrorStatusString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__StreamDecoderErrorStatus to a C string.<p>
-Using a FLAC__StreamDecoderErrorStatus as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flac__stream__encoder.html b/3rdparty/libflac/doc/html/api/group__flac__stream__encoder.html
deleted file mode 100644
index 9160f3974ba..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flac__stream__encoder.html
+++ /dev/null
@@ -1,3644 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC/stream_encoder.h: stream encoder interface</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC/stream_encoder.h: stream encoder interface<br>
-<small>
-[<a class="el" href="group__flac__encoder.html">FLAC/_encoder.h: encoder interfaces</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module contains the functions which implement the stream encoder.
-<p>
-The stream encoder can encode to native FLAC, and optionally Ogg FLAC (check FLAC_API_SUPPORTS_OGG_FLAC) streams and files.<p>
-The basic usage of this encoder is as follows:<ul>
-<li>The program creates an instance of an encoder using <a class="el" href="group__flac__stream__encoder.html#ga12">FLAC__stream_encoder_new()</a>.</li><li>The program overrides the default settings using FLAC__stream_encoder_set_*() functions. At a minimum, the following functions should be called:<ul>
-<li><a class="el" href="group__flac__stream__encoder.html#ga17">FLAC__stream_encoder_set_channels()</a></li><li><a class="el" href="group__flac__stream__encoder.html#ga18">FLAC__stream_encoder_set_bits_per_sample()</a></li><li><a class="el" href="group__flac__stream__encoder.html#ga19">FLAC__stream_encoder_set_sample_rate()</a></li><li><a class="el" href="group__flac__stream__encoder.html#ga14">FLAC__stream_encoder_set_ogg_serial_number()</a> (if encoding to Ogg FLAC)</li><li><a class="el" href="group__flac__stream__encoder.html#ga33">FLAC__stream_encoder_set_total_samples_estimate()</a> (if known)</li></ul>
-</li><li>If the application wants to control the compression level or set its own metadata, then the following should also be called:<ul>
-<li><a class="el" href="group__flac__stream__encoder.html#ga20">FLAC__stream_encoder_set_compression_level()</a></li><li><a class="el" href="group__flac__stream__encoder.html#ga15">FLAC__stream_encoder_set_verify()</a></li><li><a class="el" href="group__flac__stream__encoder.html#ga34">FLAC__stream_encoder_set_metadata()</a></li></ul>
-</li><li>The rest of the set functions should only be called if the client needs exact control over how the audio is compressed; thorough understanding of the FLAC format is necessary to achieve good results.</li><li>The program initializes the instance to validate the settings and prepare for encoding using<ul>
-<li><a class="el" href="group__flac__stream__encoder.html#ga56">FLAC__stream_encoder_init_stream()</a> or <a class="el" href="group__flac__stream__encoder.html#ga58">FLAC__stream_encoder_init_FILE()</a> or <a class="el" href="group__flac__stream__encoder.html#ga60">FLAC__stream_encoder_init_file()</a> for native FLAC</li><li><a class="el" href="group__flac__stream__encoder.html#ga57">FLAC__stream_encoder_init_ogg_stream()</a> or <a class="el" href="group__flac__stream__encoder.html#ga59">FLAC__stream_encoder_init_ogg_FILE()</a> or <a class="el" href="group__flac__stream__encoder.html#ga61">FLAC__stream_encoder_init_ogg_file()</a> for Ogg FLAC</li></ul>
-</li><li>The program calls <a class="el" href="group__flac__stream__encoder.html#ga63">FLAC__stream_encoder_process()</a> or <a class="el" href="group__flac__stream__encoder.html#ga64">FLAC__stream_encoder_process_interleaved()</a> to encode data, which subsequently calls the callbacks when there is encoder data ready to be written.</li><li>The program finishes the encoding with <a class="el" href="group__flac__stream__encoder.html#ga62">FLAC__stream_encoder_finish()</a>, which causes the encoder to encode any data still in its input pipe, update the metadata with the final encoding statistics if output seeking is possible, and finally reset the encoder to the uninitialized state.</li><li>The instance may be used again or deleted with <a class="el" href="group__flac__stream__encoder.html#ga13">FLAC__stream_encoder_delete()</a>.</li></ul>
-<p>
-In more detail, the stream encoder functions similarly to the <a class="el" href="group__flac__stream__decoder.html">stream decoder </a>, but has fewer callbacks and more options. Typically the client will create a new instance by calling <a class="el" href="group__flac__stream__encoder.html#ga12">FLAC__stream_encoder_new()</a>, then set the necessary parameters with FLAC__stream_encoder_set_*(), and initialize it by calling one of the FLAC__stream_encoder_init_*() functions.<p>
-Unlike the decoders, the stream encoder has many options that can affect the speed and compression ratio. When setting these parameters you should have some basic knowledge of the format (see the <a href="../documentation.html#format">user-level documentation</a> or the <a href="../format.html">formal description</a>). The FLAC__stream_encoder_set_*() functions themselves do not validate the values as many are interdependent. The FLAC__stream_encoder_init_*() functions will do this, so make sure to pay attention to the state returned by FLAC__stream_encoder_init_*() to make sure that it is FLAC__STREAM_ENCODER_INIT_STATUS_OK. Any parameters that are not set before FLAC__stream_encoder_init_*() will take on the defaults from the constructor.<p>
-There are three initialization functions for native FLAC, one for setting up the encoder to encode FLAC data to the client via callbacks, and two for encoding directly to a file.<p>
-For encoding via callbacks, use <a class="el" href="group__flac__stream__encoder.html#ga56">FLAC__stream_encoder_init_stream()</a>. You must also supply a write callback which will be called anytime there is raw encoded data to write. If the client can seek the output it is best to also supply seek and tell callbacks, as this allows the encoder to go back after encoding is finished to write back information that was collected while encoding, like seek point offsets, frame sizes, etc.<p>
-For encoding directly to a file, use <a class="el" href="group__flac__stream__encoder.html#ga58">FLAC__stream_encoder_init_FILE()</a> or <a class="el" href="group__flac__stream__encoder.html#ga60">FLAC__stream_encoder_init_file()</a>. Then you must only supply a filename or open <code>FILE*</code>; the encoder will handle all the callbacks internally. You may also supply a progress callback for periodic notification of the encoding progress.<p>
-There are three similarly-named init functions for encoding to Ogg FLAC streams. Check <code>FLAC_API_SUPPORTS_OGG_FLAC</code> to find out if the library has been built with Ogg support.<p>
-The call to FLAC__stream_encoder_init_*() currently will also immediately call the write callback several times, once with the <code>fLaC</code> signature, and once for each encoded metadata block. Note that for Ogg FLAC encoding you will usually get at least twice the number of callbacks than with native FLAC, one for the Ogg page header and one for the page body.<p>
-After initializing the instance, the client may feed audio data to the encoder in one of two ways:<p>
-<ul>
-<li>Channel separate, through <a class="el" href="group__flac__stream__encoder.html#ga63">FLAC__stream_encoder_process()</a> - The client will pass an array of pointers to buffers, one for each channel, to the encoder, each of the same length. The samples need not be block-aligned, but each channel should have the same number of samples.</li><li>Channel interleaved, through <a class="el" href="group__flac__stream__encoder.html#ga64">FLAC__stream_encoder_process_interleaved()</a> - The client will pass a single pointer to data that is channel-interleaved (i.e. channel0_sample0, channel1_sample0, ... , channelN_sample0, channel0_sample1, ...). Again, the samples need not be block-aligned but they must be sample-aligned, i.e. the first value should be channel0_sample0 and the last value channelN_sampleM.</li></ul>
-<p>
-Note that for either process call, each sample in the buffers should be a signed integer, right-justified to the resolution set by <a class="el" href="group__flac__stream__encoder.html#ga18">FLAC__stream_encoder_set_bits_per_sample()</a>. For example, if the resolution is 16 bits per sample, the samples should all be in the range [-32768,32767].<p>
-When the client is finished encoding data, it calls <a class="el" href="group__flac__stream__encoder.html#ga62">FLAC__stream_encoder_finish()</a>, which causes the encoder to encode any data still in its input pipe, and call the metadata callback with the final encoding statistics. Then the instance may be deleted with <a class="el" href="group__flac__stream__encoder.html#ga13">FLAC__stream_encoder_delete()</a> or initialized again to encode another stream.<p>
-For programs that write their own metadata, but that do not know the actual metadata until after encoding, it is advantageous to instruct the encoder to write a PADDING block of the correct size, so that instead of rewriting the whole stream after encoding, the program can just overwrite the PADDING block. If only the maximum size of the metadata is known, the program can write a slightly larger padding block, then split it after encoding.<p>
-Make sure you understand how lengths are calculated. All FLAC metadata blocks have a 4 byte header which contains the type and length. This length does not include the 4 bytes of the header. See the format page for the specification of metadata blocks and their lengths.<p>
-<dl compact><dt><b>Note:</b></dt><dd>If you are writing the FLAC data to a file via callbacks, make sure it is open for update (e.g. mode "w+" for stdio streams). This is because after the first encoding pass, the encoder will try to seek back to the beginning of the stream, to the STREAMINFO block, to write some data there. (If using FLAC__stream_encoder_init*_file() or FLAC__stream_encoder_init*_FILE(), the file is managed internally.)<p>
-The "set" functions may only be called when the encoder is in the state FLAC__STREAM_ENCODER_UNINITIALIZED, i.e. after <a class="el" href="group__flac__stream__encoder.html#ga12">FLAC__stream_encoder_new()</a> or <a class="el" href="group__flac__stream__encoder.html#ga62">FLAC__stream_encoder_finish()</a>, but before FLAC__stream_encoder_init_*(). If this is the case they will return <code>true</code>, otherwise <code>false</code>.<p>
-<a class="el" href="group__flac__stream__encoder.html#ga62">FLAC__stream_encoder_finish()</a> resets all settings to the constructor defaults. </dd></dl>
-
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__stream__encoder.html#ga67">FLAC__StreamEncoderReadStatus</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga6">FLAC__StreamEncoderReadCallback</a> )(const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__stream__encoder.html#ga68">FLAC__StreamEncoderWriteStatus</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga7">FLAC__StreamEncoderWriteCallback</a> )(const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__stream__encoder.html#ga69">FLAC__StreamEncoderSeekStatus</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga8">FLAC__StreamEncoderSeekCallback</a> )(const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 absolute_byte_offset, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__stream__encoder.html#ga70">FLAC__StreamEncoderTellStatus</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga9">FLAC__StreamEncoderTellCallback</a> )(const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga10">FLAC__StreamEncoderMetadataCallback</a> )(const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a> )(const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate, void *client_data)</td></tr>
-
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga65">FLAC__StreamEncoderState</a> { <br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__encoder.html#gga65a12">FLAC__STREAM_ENCODER_OK</a> = 0,
-<a class="el" href="group__flac__stream__encoder.html#gga65a13">FLAC__STREAM_ENCODER_UNINITIALIZED</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga65a14">FLAC__STREAM_ENCODER_OGG_ERROR</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga65a15">FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__encoder.html#gga65a16">FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga65a17">FLAC__STREAM_ENCODER_CLIENT_ERROR</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga65a18">FLAC__STREAM_ENCODER_IO_ERROR</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga65a19">FLAC__STREAM_ENCODER_FRAMING_ERROR</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__encoder.html#gga65a20">FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR</a>
-<br>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a> { <br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__encoder.html#gga66a21">FLAC__STREAM_ENCODER_INIT_STATUS_OK</a> = 0,
-<a class="el" href="group__flac__stream__encoder.html#gga66a22">FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga66a23">FLAC__STREAM_ENCODER_INIT_STATUS_UNSUPPORTED_CONTAINER</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga66a24">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__encoder.html#gga66a25">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_NUMBER_OF_CHANNELS</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga66a26">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BITS_PER_SAMPLE</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga66a27">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_SAMPLE_RATE</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga66a28">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BLOCK_SIZE</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__encoder.html#gga66a29">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_MAX_LPC_ORDER</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga66a30">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_QLP_COEFF_PRECISION</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga66a31">FLAC__STREAM_ENCODER_INIT_STATUS_BLOCK_SIZE_TOO_SMALL_FOR_LPC_ORDER</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga66a32">FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__encoder.html#gga66a33">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_METADATA</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga66a34">FLAC__STREAM_ENCODER_INIT_STATUS_ALREADY_INITIALIZED</a>
-<br>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga67">FLAC__StreamEncoderReadStatus</a> { <a class="el" href="group__flac__stream__encoder.html#gga67a35">FLAC__STREAM_ENCODER_READ_STATUS_CONTINUE</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga67a36">FLAC__STREAM_ENCODER_READ_STATUS_END_OF_STREAM</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga67a37">FLAC__STREAM_ENCODER_READ_STATUS_ABORT</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga67a38">FLAC__STREAM_ENCODER_READ_STATUS_UNSUPPORTED</a>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga68">FLAC__StreamEncoderWriteStatus</a> { <a class="el" href="group__flac__stream__encoder.html#gga68a39">FLAC__STREAM_ENCODER_WRITE_STATUS_OK</a> = 0,
-<a class="el" href="group__flac__stream__encoder.html#gga68a40">FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR</a>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga69">FLAC__StreamEncoderSeekStatus</a> { <a class="el" href="group__flac__stream__encoder.html#gga69a41">FLAC__STREAM_ENCODER_SEEK_STATUS_OK</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga69a42">FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga69a43">FLAC__STREAM_ENCODER_SEEK_STATUS_UNSUPPORTED</a>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga70">FLAC__StreamEncoderTellStatus</a> { <a class="el" href="group__flac__stream__encoder.html#gga70a44">FLAC__STREAM_ENCODER_TELL_STATUS_OK</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga70a45">FLAC__STREAM_ENCODER_TELL_STATUS_ERROR</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga70a46">FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED</a>
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga12">FLAC__stream_encoder_new</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga13">FLAC__stream_encoder_delete</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga14">FLAC__stream_encoder_set_ogg_serial_number</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, long serial_number)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga15">FLAC__stream_encoder_set_verify</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga16">FLAC__stream_encoder_set_streamable_subset</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga17">FLAC__stream_encoder_set_channels</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga18">FLAC__stream_encoder_set_bits_per_sample</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga19">FLAC__stream_encoder_set_sample_rate</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga20">FLAC__stream_encoder_set_compression_level</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga21">FLAC__stream_encoder_set_blocksize</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga22">FLAC__stream_encoder_set_do_mid_side_stereo</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga23">FLAC__stream_encoder_set_loose_mid_side_stereo</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga24">FLAC__stream_encoder_set_apodization</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, const char *specification)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga25">FLAC__stream_encoder_set_max_lpc_order</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga26">FLAC__stream_encoder_set_qlp_coeff_precision</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga27">FLAC__stream_encoder_set_do_qlp_coeff_prec_search</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga28">FLAC__stream_encoder_set_do_escape_coding</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga29">FLAC__stream_encoder_set_do_exhaustive_model_search</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga30">FLAC__stream_encoder_set_min_residual_partition_order</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga31">FLAC__stream_encoder_set_max_residual_partition_order</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga32">FLAC__stream_encoder_set_rice_parameter_search_dist</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga33">FLAC__stream_encoder_set_total_samples_estimate</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga34">FLAC__stream_encoder_set_metadata</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **metadata, unsigned num_blocks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__encoder.html#ga65">FLAC__StreamEncoderState</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga35">FLAC__stream_encoder_get_state</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__decoder.html#ga50">FLAC__StreamDecoderState</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga36">FLAC__stream_encoder_get_verify_decoder_state</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga37">FLAC__stream_encoder_get_resolved_state_string</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga38">FLAC__stream_encoder_get_verify_decoder_error_stats</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 *absolute_sample, unsigned *frame_number, unsigned *channel, unsigned *sample, FLAC__int32 *expected, FLAC__int32 *got)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga39">FLAC__stream_encoder_get_verify</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga40">FLAC__stream_encoder_get_streamable_subset</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga41">FLAC__stream_encoder_get_channels</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga42">FLAC__stream_encoder_get_bits_per_sample</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga43">FLAC__stream_encoder_get_sample_rate</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga44">FLAC__stream_encoder_get_blocksize</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga45">FLAC__stream_encoder_get_do_mid_side_stereo</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga46">FLAC__stream_encoder_get_loose_mid_side_stereo</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga47">FLAC__stream_encoder_get_max_lpc_order</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga48">FLAC__stream_encoder_get_qlp_coeff_precision</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga49">FLAC__stream_encoder_get_do_qlp_coeff_prec_search</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga50">FLAC__stream_encoder_get_do_escape_coding</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga51">FLAC__stream_encoder_get_do_exhaustive_model_search</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga52">FLAC__stream_encoder_get_min_residual_partition_order</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga53">FLAC__stream_encoder_get_max_residual_partition_order</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga54">FLAC__stream_encoder_get_rice_parameter_search_dist</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga55">FLAC__stream_encoder_get_total_samples_estimate</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga56">FLAC__stream_encoder_init_stream</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <a class="el" href="group__flac__stream__encoder.html#ga7">FLAC__StreamEncoderWriteCallback</a> write_callback, <a class="el" href="group__flac__stream__encoder.html#ga8">FLAC__StreamEncoderSeekCallback</a> seek_callback, <a class="el" href="group__flac__stream__encoder.html#ga9">FLAC__StreamEncoderTellCallback</a> tell_callback, <a class="el" href="group__flac__stream__encoder.html#ga10">FLAC__StreamEncoderMetadataCallback</a> metadata_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga57">FLAC__stream_encoder_init_ogg_stream</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <a class="el" href="group__flac__stream__encoder.html#ga6">FLAC__StreamEncoderReadCallback</a> read_callback, <a class="el" href="group__flac__stream__encoder.html#ga7">FLAC__StreamEncoderWriteCallback</a> write_callback, <a class="el" href="group__flac__stream__encoder.html#ga8">FLAC__StreamEncoderSeekCallback</a> seek_callback, <a class="el" href="group__flac__stream__encoder.html#ga9">FLAC__StreamEncoderTellCallback</a> tell_callback, <a class="el" href="group__flac__stream__encoder.html#ga10">FLAC__StreamEncoderMetadataCallback</a> metadata_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga58">FLAC__stream_encoder_init_FILE</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FILE *file, <a class="el" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a> progress_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga59">FLAC__stream_encoder_init_ogg_FILE</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FILE *file, <a class="el" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a> progress_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga60">FLAC__stream_encoder_init_file</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, const char *filename, <a class="el" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a> progress_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga61">FLAC__stream_encoder_init_ogg_file</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, const char *filename, <a class="el" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a> progress_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga62">FLAC__stream_encoder_finish</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga63">FLAC__stream_encoder_process</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, const FLAC__int32 *const buffer[], unsigned samples)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga64">FLAC__stream_encoder_process_interleaved</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, const FLAC__int32 buffer[], unsigned samples)</td></tr>
-
-<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga0">FLAC__StreamEncoderStateString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga1">FLAC__StreamEncoderInitStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga2">FLAC__StreamEncoderReadStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga3">FLAC__StreamEncoderWriteStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga4">FLAC__StreamEncoderSeekStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga5">FLAC__StreamEncoderTellStatusString</a> []</td></tr>
-
-</table>
-<hr><h2>Typedef Documentation</h2>
-<a class="anchor" name="ga6" doxytag="stream_encoder.h::FLAC__StreamEncoderReadCallback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef <a class="el" href="group__flac__stream__encoder.html#ga67">FLAC__StreamEncoderReadStatus</a>(* <a class="el" href="group__flac__stream__encoder.html#ga6">FLAC__StreamEncoderReadCallback</a>)(const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Signature for the read callback.<p>
-A function pointer matching this signature must be passed to <a class="el" href="group__flac__stream__encoder.html#ga57">FLAC__stream_encoder_init_ogg_stream()</a> if seeking is supported. The supplied function will be called when the encoder needs to read back encoded data. This happens during the metadata callback, when the encoder has to read, modify, and rewrite the metadata (e.g. seekpoints) gathered while encoding. The address of the buffer to be filled is supplied, along with the number of bytes the buffer can hold. The callback may choose to supply less data and modify the byte count but must be careful not to overflow the buffer. The callback then returns a status code chosen from FLAC__StreamEncoderReadStatus.<p>
-Here is an example of a read callback for stdio streams: <div class="fragment"><pre class="fragment"> <a class="code" href="group__flac__stream__encoder.html#ga67">FLAC__StreamEncoderReadStatus</a> read_cb(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__byte buffer[], size_t *bytes, <span class="keywordtype">void</span> *client_data)
- {
- FILE *file = ((MyClientData*)client_data)-&gt;file;
- <span class="keywordflow">if</span>(*bytes &gt; 0) {
- *bytes = fread(buffer, <span class="keyword">sizeof</span>(FLAC__byte), *bytes, file);
- <span class="keywordflow">if</span>(ferror(file))
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__encoder.html#gga67a37">FLAC__STREAM_ENCODER_READ_STATUS_ABORT</a>;
- <span class="keywordflow">else</span> <span class="keywordflow">if</span>(*bytes == 0)
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__encoder.html#gga67a36">FLAC__STREAM_ENCODER_READ_STATUS_END_OF_STREAM</a>;
- <span class="keywordflow">else</span>
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__encoder.html#gga67a35">FLAC__STREAM_ENCODER_READ_STATUS_CONTINUE</a>;
- }
- <span class="keywordflow">else</span>
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__encoder.html#gga67a37">FLAC__STREAM_ENCODER_READ_STATUS_ABORT</a>;
- }
-</pre></div><p>
-<dl compact><dt><b>Note:</b></dt><dd>In general, <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> functions which change the state should not be called on the <em>encoder</em> while in the callback.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>The encoder instance calling the callback. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>A pointer to a location for the callee to store data to be encoded. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>bytes</em>&nbsp;</td><td>A pointer to the size of the buffer. On entry to the callback, it contains the maximum number of bytes that may be stored in <em>buffer</em>. The callee must set it to the actual number of bytes stored (0 in case of error or end-of-stream) before returning. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>The callee's client data set through FLAC__stream_encoder_set_client_data(). </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamEncoderReadStatus</em>&nbsp;</td><td>The callee's return status. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga7" doxytag="stream_encoder.h::FLAC__StreamEncoderWriteCallback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef <a class="el" href="group__flac__stream__encoder.html#ga68">FLAC__StreamEncoderWriteStatus</a>(* <a class="el" href="group__flac__stream__encoder.html#ga7">FLAC__StreamEncoderWriteCallback</a>)(const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Signature for the write callback.<p>
-A function pointer matching this signature must be passed to FLAC__stream_encoder_init*_stream(). The supplied function will be called by the encoder anytime there is raw encoded data ready to write. It may include metadata mixed with encoded audio frames and the data is not guaranteed to be aligned on frame or metadata block boundaries.<p>
-The only duty of the callback is to write out the <em>bytes</em> worth of data in <em>buffer</em> to the current position in the output stream. The arguments <em>samples</em> and <em>current_frame</em> are purely informational. If <em>samples</em> is greater than <code>0</code>, then <em>current_frame</em> will hold the current frame number that is being written; otherwise it indicates that the write callback is being called to write metadata.<p>
-<dl compact><dt><b>Note:</b></dt><dd>Unlike when writing to native FLAC, when writing to Ogg FLAC the write callback will be called twice when writing each audio frame; once for the page header, and once for the page body. When writing the page header, the <em>samples</em> argument to the write callback will be <code>0</code>.<p>
-In general, <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> functions which change the state should not be called on the <em>encoder</em> while in the callback.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>The encoder instance calling the callback. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>An array of encoded data of length <em>bytes</em>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>bytes</em>&nbsp;</td><td>The byte length of <em>buffer</em>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>samples</em>&nbsp;</td><td>The number of samples encoded by <em>buffer</em>. <code>0</code> has a special meaning; see above. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>current_frame</em>&nbsp;</td><td>The number of the current frame being encoded. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>The callee's client data set through FLAC__stream_encoder_init_*(). </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamEncoderWriteStatus</em>&nbsp;</td><td>The callee's return status. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga8" doxytag="stream_encoder.h::FLAC__StreamEncoderSeekCallback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef <a class="el" href="group__flac__stream__encoder.html#ga69">FLAC__StreamEncoderSeekStatus</a>(* <a class="el" href="group__flac__stream__encoder.html#ga8">FLAC__StreamEncoderSeekCallback</a>)(const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 absolute_byte_offset, void *client_data) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Signature for the seek callback.<p>
-A function pointer matching this signature may be passed to FLAC__stream_encoder_init*_stream(). The supplied function will be called when the encoder needs to seek the output stream. The encoder will pass the absolute byte offset to seek to, 0 meaning the beginning of the stream.<p>
-Here is an example of a seek callback for stdio streams: <div class="fragment"><pre class="fragment"> <a class="code" href="group__flac__stream__encoder.html#ga69">FLAC__StreamEncoderSeekStatus</a> seek_cb(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 absolute_byte_offset, <span class="keywordtype">void</span> *client_data)
- {
- FILE *file = ((MyClientData*)client_data)-&gt;file;
- <span class="keywordflow">if</span>(file == stdin)
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__encoder.html#gga69a43">FLAC__STREAM_ENCODER_SEEK_STATUS_UNSUPPORTED</a>;
- <span class="keywordflow">else</span> <span class="keywordflow">if</span>(fseeko(file, (off_t)absolute_byte_offset, SEEK_SET) &lt; 0)
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__encoder.html#gga69a42">FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR</a>;
- <span class="keywordflow">else</span>
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__encoder.html#gga69a41">FLAC__STREAM_ENCODER_SEEK_STATUS_OK</a>;
- }
-</pre></div><p>
-<dl compact><dt><b>Note:</b></dt><dd>In general, <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> functions which change the state should not be called on the <em>encoder</em> while in the callback.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>The encoder instance calling the callback. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>absolute_byte_offset</em>&nbsp;</td><td>The offset from the beginning of the stream to seek to. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>The callee's client data set through FLAC__stream_encoder_init_*(). </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamEncoderSeekStatus</em>&nbsp;</td><td>The callee's return status. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga9" doxytag="stream_encoder.h::FLAC__StreamEncoderTellCallback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef <a class="el" href="group__flac__stream__encoder.html#ga70">FLAC__StreamEncoderTellStatus</a>(* <a class="el" href="group__flac__stream__encoder.html#ga9">FLAC__StreamEncoderTellCallback</a>)(const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Signature for the tell callback.<p>
-A function pointer matching this signature may be passed to FLAC__stream_encoder_init*_stream(). The supplied function will be called when the encoder needs to know the current position of the output stream.<p>
-<dl compact><dt><b>Warning:</b></dt><dd>The callback must return the true current byte offset of the output to which the encoder is writing. If you are buffering the output, make sure and take this into account. If you are writing directly to a FILE* from your write callback, ftell() is sufficient. If you are writing directly to a file descriptor from your write callback, you can use lseek(fd, SEEK_CUR, 0). The encoder may later seek back to these points to rewrite metadata after encoding.</dd></dl>
-Here is an example of a tell callback for stdio streams: <div class="fragment"><pre class="fragment"> <a class="code" href="group__flac__stream__encoder.html#ga70">FLAC__StreamEncoderTellStatus</a> tell_cb(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 *absolute_byte_offset, <span class="keywordtype">void</span> *client_data)
- {
- FILE *file = ((MyClientData*)client_data)-&gt;file;
- off_t pos;
- <span class="keywordflow">if</span>(file == stdin)
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__encoder.html#gga70a46">FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED</a>;
- <span class="keywordflow">else</span> <span class="keywordflow">if</span>((pos = ftello(file)) &lt; 0)
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__encoder.html#gga70a45">FLAC__STREAM_ENCODER_TELL_STATUS_ERROR</a>;
- <span class="keywordflow">else</span> {
- *absolute_byte_offset = (FLAC__uint64)pos;
- <span class="keywordflow">return</span> <a class="code" href="group__flac__stream__encoder.html#gga70a44">FLAC__STREAM_ENCODER_TELL_STATUS_OK</a>;
- }
- }
-</pre></div><p>
-<dl compact><dt><b>Note:</b></dt><dd>In general, <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> functions which change the state should not be called on the <em>encoder</em> while in the callback.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>The encoder instance calling the callback. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>absolute_byte_offset</em>&nbsp;</td><td>The address at which to store the current position of the output. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>The callee's client data set through FLAC__stream_encoder_init_*(). </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamEncoderTellStatus</em>&nbsp;</td><td>The callee's return status. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga10" doxytag="stream_encoder.h::FLAC__StreamEncoderMetadataCallback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef void(* <a class="el" href="group__flac__stream__encoder.html#ga10">FLAC__StreamEncoderMetadataCallback</a>)(const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, void *client_data) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Signature for the metadata callback.<p>
-A function pointer matching this signature may be passed to FLAC__stream_encoder_init*_stream(). The supplied function will be called once at the end of encoding with the populated STREAMINFO structure. This is so the client can seek back to the beginning of the file and write the STREAMINFO block with the correct statistics after encoding (like minimum/maximum frame size and total samples).<p>
-<dl compact><dt><b>Note:</b></dt><dd>In general, <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> functions which change the state should not be called on the <em>encoder</em> while in the callback.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>The encoder instance calling the callback. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>metadata</em>&nbsp;</td><td>The final populated STREAMINFO block. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>The callee's client data set through FLAC__stream_encoder_init_*(). </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga11" doxytag="stream_encoder.h::FLAC__StreamEncoderProgressCallback"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">typedef void(* <a class="el" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a>)(const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate, void *client_data) </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Signature for the progress callback.<p>
-A function pointer matching this signature may be passed to FLAC__stream_encoder_init*_file() or FLAC__stream_encoder_init*_FILE(). The supplied function will be called when the encoder has finished writing a frame. The <code>total_frames_estimate</code> argument to the callback will be based on the value from <a class="el" href="group__flac__stream__encoder.html#ga33">FLAC__stream_encoder_set_total_samples_estimate()</a>.<p>
-<dl compact><dt><b>Note:</b></dt><dd>In general, <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> functions which change the state should not be called on the <em>encoder</em> while in the callback.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>The encoder instance calling the callback. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>bytes_written</em>&nbsp;</td><td>Bytes written so far. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>samples_written</em>&nbsp;</td><td>Samples written so far. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>frames_written</em>&nbsp;</td><td>Frames written so far. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>total_frames_estimate</em>&nbsp;</td><td>The estimate of the total number of frames to be written. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>The callee's client data set through FLAC__stream_encoder_init_*(). </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<hr><h2>Enumeration Type Documentation</h2>
-<a class="anchor" name="ga65" doxytag="stream_encoder.h::FLAC__StreamEncoderState"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__stream__encoder.html#ga65">FLAC__StreamEncoderState</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-State values for a <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a>.<p>
-The encoder's state can be obtained by calling <a class="el" href="group__flac__stream__encoder.html#ga35">FLAC__stream_encoder_get_state()</a>.<p>
-If the encoder gets into any other state besides <code>FLAC__STREAM_ENCODER_OK</code> or <code>FLAC__STREAM_ENCODER_UNINITIALIZED</code>, it becomes invalid for encoding and must be deleted with <a class="el" href="group__flac__stream__encoder.html#ga13">FLAC__stream_encoder_delete()</a>. <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga65a12" doxytag="FLAC__STREAM_ENCODER_OK"></a>FLAC__STREAM_ENCODER_OK</em>&nbsp;</td><td>
-The encoder is in the normal OK state and samples can be processed. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga65a13" doxytag="FLAC__STREAM_ENCODER_UNINITIALIZED"></a>FLAC__STREAM_ENCODER_UNINITIALIZED</em>&nbsp;</td><td>
-The encoder is in the uninitialized state; one of the FLAC__stream_encoder_init_*() functions must be called before samples can be processed. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga65a14" doxytag="FLAC__STREAM_ENCODER_OGG_ERROR"></a>FLAC__STREAM_ENCODER_OGG_ERROR</em>&nbsp;</td><td>
-An error occurred in the underlying Ogg layer. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga65a15" doxytag="FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR"></a>FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR</em>&nbsp;</td><td>
-An error occurred in the underlying verify stream decoder; check <a class="el" href="group__flac__stream__encoder.html#ga36">FLAC__stream_encoder_get_verify_decoder_state()</a>. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga65a16" doxytag="FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA"></a>FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA</em>&nbsp;</td><td>
-The verify decoder detected a mismatch between the original audio signal and the decoded audio signal. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga65a17" doxytag="FLAC__STREAM_ENCODER_CLIENT_ERROR"></a>FLAC__STREAM_ENCODER_CLIENT_ERROR</em>&nbsp;</td><td>
-One of the callbacks returned a fatal error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga65a18" doxytag="FLAC__STREAM_ENCODER_IO_ERROR"></a>FLAC__STREAM_ENCODER_IO_ERROR</em>&nbsp;</td><td>
-An I/O error occurred while opening/reading/writing a file. Check <code>errno</code>. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga65a19" doxytag="FLAC__STREAM_ENCODER_FRAMING_ERROR"></a>FLAC__STREAM_ENCODER_FRAMING_ERROR</em>&nbsp;</td><td>
-An error occurred while writing the stream; usually, the write_callback returned an error. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga65a20" doxytag="FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR"></a>FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR</em>&nbsp;</td><td>
-Memory allocation failed. </td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga66" doxytag="stream_encoder.h::FLAC__StreamEncoderInitStatus"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Possible return values for the FLAC__stream_encoder_init_*() functions. <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga66a21" doxytag="FLAC__STREAM_ENCODER_INIT_STATUS_OK"></a>FLAC__STREAM_ENCODER_INIT_STATUS_OK</em>&nbsp;</td><td>
-Initialization was successful. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga66a22" doxytag="FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR"></a>FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR</em>&nbsp;</td><td>
-General failure to set up encoder; call <a class="el" href="group__flac__stream__encoder.html#ga35">FLAC__stream_encoder_get_state()</a> for cause. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga66a23" doxytag="FLAC__STREAM_ENCODER_INIT_STATUS_UNSUPPORTED_CONTAINER"></a>FLAC__STREAM_ENCODER_INIT_STATUS_UNSUPPORTED_CONTAINER</em>&nbsp;</td><td>
-The library was not compiled with support for the given container format. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga66a24" doxytag="FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS"></a>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS</em>&nbsp;</td><td>
-A required callback was not supplied. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga66a25" doxytag="FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_NUMBER_OF_CHANNELS"></a>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_NUMBER_OF_CHANNELS</em>&nbsp;</td><td>
-The encoder has an invalid setting for number of channels. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga66a26" doxytag="FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BITS_PER_SAMPLE"></a>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BITS_PER_SAMPLE</em>&nbsp;</td><td>
-The encoder has an invalid setting for bits-per-sample. FLAC supports 4-32 bps but the reference encoder currently supports only up to 24 bps. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga66a27" doxytag="FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_SAMPLE_RATE"></a>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_SAMPLE_RATE</em>&nbsp;</td><td>
-The encoder has an invalid setting for the input sample rate. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga66a28" doxytag="FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BLOCK_SIZE"></a>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BLOCK_SIZE</em>&nbsp;</td><td>
-The encoder has an invalid setting for the block size. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga66a29" doxytag="FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_MAX_LPC_ORDER"></a>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_MAX_LPC_ORDER</em>&nbsp;</td><td>
-The encoder has an invalid setting for the maximum LPC order. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga66a30" doxytag="FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_QLP_COEFF_PRECISION"></a>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_QLP_COEFF_PRECISION</em>&nbsp;</td><td>
-The encoder has an invalid setting for the precision of the quantized linear predictor coefficients. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga66a31" doxytag="FLAC__STREAM_ENCODER_INIT_STATUS_BLOCK_SIZE_TOO_SMALL_FOR_LPC_ORDER"></a>FLAC__STREAM_ENCODER_INIT_STATUS_BLOCK_SIZE_TOO_SMALL_FOR_LPC_ORDER</em>&nbsp;</td><td>
-The specified block size is less than the maximum LPC order. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga66a32" doxytag="FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE"></a>FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE</em>&nbsp;</td><td>
-The encoder is bound to the <a href="../format.html#subset">Subset</a> but other settings violate it. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga66a33" doxytag="FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_METADATA"></a>FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_METADATA</em>&nbsp;</td><td>
-The metadata input to the encoder is invalid, in one of the following ways:<ul>
-<li><a class="el" href="group__flac__stream__encoder.html#ga34">FLAC__stream_encoder_set_metadata()</a> was called with a null pointer but a block count &gt; 0</li><li>One of the metadata blocks contains an undefined type</li><li>It contains an illegal CUESHEET as checked by <a class="el" href="group__flac__format.html#ga87">FLAC__format_cuesheet_is_legal()</a></li><li>It contains an illegal SEEKTABLE as checked by <a class="el" href="group__flac__format.html#ga85">FLAC__format_seektable_is_legal()</a></li><li>It contains more than one SEEKTABLE block or more than one VORBIS_COMMENT block </li></ul>
-</td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga66a34" doxytag="FLAC__STREAM_ENCODER_INIT_STATUS_ALREADY_INITIALIZED"></a>FLAC__STREAM_ENCODER_INIT_STATUS_ALREADY_INITIALIZED</em>&nbsp;</td><td>
-FLAC__stream_encoder_init_*() was called when the encoder was already initialized, usually because <a class="el" href="group__flac__stream__encoder.html#ga62">FLAC__stream_encoder_finish()</a> was not called.</td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga67" doxytag="stream_encoder.h::FLAC__StreamEncoderReadStatus"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__stream__encoder.html#ga67">FLAC__StreamEncoderReadStatus</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Return values for the <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> read callback. <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga67a35" doxytag="FLAC__STREAM_ENCODER_READ_STATUS_CONTINUE"></a>FLAC__STREAM_ENCODER_READ_STATUS_CONTINUE</em>&nbsp;</td><td>
-The read was OK and decoding can continue. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga67a36" doxytag="FLAC__STREAM_ENCODER_READ_STATUS_END_OF_STREAM"></a>FLAC__STREAM_ENCODER_READ_STATUS_END_OF_STREAM</em>&nbsp;</td><td>
-The read was attempted at the end of the stream. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga67a37" doxytag="FLAC__STREAM_ENCODER_READ_STATUS_ABORT"></a>FLAC__STREAM_ENCODER_READ_STATUS_ABORT</em>&nbsp;</td><td>
-An unrecoverable error occurred. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga67a38" doxytag="FLAC__STREAM_ENCODER_READ_STATUS_UNSUPPORTED"></a>FLAC__STREAM_ENCODER_READ_STATUS_UNSUPPORTED</em>&nbsp;</td><td>
-Client does not support reading back from the output. </td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga68" doxytag="stream_encoder.h::FLAC__StreamEncoderWriteStatus"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__stream__encoder.html#ga68">FLAC__StreamEncoderWriteStatus</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Return values for the <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> write callback. <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga68a39" doxytag="FLAC__STREAM_ENCODER_WRITE_STATUS_OK"></a>FLAC__STREAM_ENCODER_WRITE_STATUS_OK</em>&nbsp;</td><td>
-The write was OK and encoding can continue. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga68a40" doxytag="FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR"></a>FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR</em>&nbsp;</td><td>
-An unrecoverable error occurred. The encoder will return from the process call. </td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga69" doxytag="stream_encoder.h::FLAC__StreamEncoderSeekStatus"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__stream__encoder.html#ga69">FLAC__StreamEncoderSeekStatus</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Return values for the <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> seek callback. <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga69a41" doxytag="FLAC__STREAM_ENCODER_SEEK_STATUS_OK"></a>FLAC__STREAM_ENCODER_SEEK_STATUS_OK</em>&nbsp;</td><td>
-The seek was OK and encoding can continue. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga69a42" doxytag="FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR"></a>FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR</em>&nbsp;</td><td>
-An unrecoverable error occurred. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga69a43" doxytag="FLAC__STREAM_ENCODER_SEEK_STATUS_UNSUPPORTED"></a>FLAC__STREAM_ENCODER_SEEK_STATUS_UNSUPPORTED</em>&nbsp;</td><td>
-Client does not support seeking. </td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga70" doxytag="stream_encoder.h::FLAC__StreamEncoderTellStatus"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">enum <a class="el" href="group__flac__stream__encoder.html#ga70">FLAC__StreamEncoderTellStatus</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Return values for the <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> tell callback. <dl compact><dt><b>Enumeration values: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gga70a44" doxytag="FLAC__STREAM_ENCODER_TELL_STATUS_OK"></a>FLAC__STREAM_ENCODER_TELL_STATUS_OK</em>&nbsp;</td><td>
-The tell was OK and encoding can continue. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga70a45" doxytag="FLAC__STREAM_ENCODER_TELL_STATUS_ERROR"></a>FLAC__STREAM_ENCODER_TELL_STATUS_ERROR</em>&nbsp;</td><td>
-An unrecoverable error occurred. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gga70a46" doxytag="FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED"></a>FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED</em>&nbsp;</td><td>
-Client does not support seeking. </td></tr>
-</table>
-</dl>
- </td>
- </tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="ga12" doxytag="stream_encoder.h::FLAC__stream_encoder_new"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a>* FLAC__stream_encoder_new </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">void&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Create a new stream encoder instance. The instance is created with default settings; see the individual FLAC__stream_encoder_set_*() functions for each setting's default.<p>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamEncoder*</em>&nbsp;</td><td><code>NULL</code> if there was an error allocating memory, else the new instance. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga13" doxytag="stream_encoder.h::FLAC__stream_encoder_delete"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC__stream_encoder_delete </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Free an encoder instance. Deletes the object pointed to by <em>encoder</em>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>A pointer to an existing encoder. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga14" doxytag="stream_encoder.h::FLAC__stream_encoder_set_ogg_serial_number"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_ogg_serial_number </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>long&nbsp;</td>
- <td class="mdname" nowrap> <em>serial_number</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set the serial number for the FLAC stream to use in the Ogg container.<p>
-<dl compact><dt><b>Note:</b></dt><dd>This does not need to be set for native FLAC encoding.<p>
-It is recommended to set a serial number explicitly as the default of '0' may collide with other streams.</dd></dl>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>0</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>serial_number</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga15" doxytag="stream_encoder.h::FLAC__stream_encoder_set_verify"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_verify </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set the "verify" flag. If <code>true</code>, the encoder will verify it's own encoded output by feeding it through an internal decoder and comparing the original signal against the decoded signal. If a mismatch occurs, the process call will return <code>false</code>. Note that this will slow the encoding process by the extra time required for decoding and comparison.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>false</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>Flag value (see above). </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga16" doxytag="stream_encoder.h::FLAC__stream_encoder_set_streamable_subset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_streamable_subset </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set the <a href="../format.html#subset">Subset</a> flag. If <code>true</code>, the encoder will comply with the Subset and will check the settings during FLAC__stream_encoder_init_*() to see if all settings comply. If <code>false</code>, the settings may take advantage of the full range that the format allows.<p>
-Make sure you know what it entails before setting this to <code>false</code>.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>true</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>Flag value (see above). </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga17" doxytag="stream_encoder.h::FLAC__stream_encoder_set_channels"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_channels </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set the number of channels to be encoded.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>2</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga18" doxytag="stream_encoder.h::FLAC__stream_encoder_set_bits_per_sample"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_bits_per_sample </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set the sample resolution of the input to be encoded.<p>
-<dl compact><dt><b>Warning:</b></dt><dd>Do not feed the encoder data that is wider than the value you set here or you will generate an invalid stream.</dd></dl>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>16</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga19" doxytag="stream_encoder.h::FLAC__stream_encoder_set_sample_rate"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_sample_rate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set the sample rate (in Hz) of the input to be encoded.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>44100</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga20" doxytag="stream_encoder.h::FLAC__stream_encoder_set_compression_level"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_compression_level </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set the compression level<p>
-The compression level is roughly proportional to the amount of effort the encoder expends to compress the file. A higher level usually means more computation but higher compression. The default level is suitable for most applications.<p>
-Currently the levels range from <code>0</code> (fastest, least compression) to <code>8</code> (slowest, most compression). A value larger than <code>8</code> will be treated as <code>8</code>.<p>
-This function automatically calls the following other <code>_set_</code> functions with appropriate values, so the client does not need to unless it specifically wants to override them:<ul>
-<li><a class="el" href="group__flac__stream__encoder.html#ga22">FLAC__stream_encoder_set_do_mid_side_stereo()</a></li><li><a class="el" href="group__flac__stream__encoder.html#ga23">FLAC__stream_encoder_set_loose_mid_side_stereo()</a></li><li><a class="el" href="group__flac__stream__encoder.html#ga24">FLAC__stream_encoder_set_apodization()</a></li><li><a class="el" href="group__flac__stream__encoder.html#ga25">FLAC__stream_encoder_set_max_lpc_order()</a></li><li><a class="el" href="group__flac__stream__encoder.html#ga26">FLAC__stream_encoder_set_qlp_coeff_precision()</a></li><li><a class="el" href="group__flac__stream__encoder.html#ga27">FLAC__stream_encoder_set_do_qlp_coeff_prec_search()</a></li><li><a class="el" href="group__flac__stream__encoder.html#ga28">FLAC__stream_encoder_set_do_escape_coding()</a></li><li><a class="el" href="group__flac__stream__encoder.html#ga29">FLAC__stream_encoder_set_do_exhaustive_model_search()</a></li><li><a class="el" href="group__flac__stream__encoder.html#ga30">FLAC__stream_encoder_set_min_residual_partition_order()</a></li><li><a class="el" href="group__flac__stream__encoder.html#ga31">FLAC__stream_encoder_set_max_residual_partition_order()</a></li><li><a class="el" href="group__flac__stream__encoder.html#ga32">FLAC__stream_encoder_set_rice_parameter_search_dist()</a></li></ul>
-<p>
-The actual values set for each level are: <table border="1" cellspacing="3" cellpadding="3">
-<tr>
-<td><b>level</b></td><td></td><td>do mid-side stereo</td><td></td><td>loose mid-side stereo</td><td></td><td>apodization</td><td></td><td>max lpc order</td><td></td><td>qlp coeff precision</td><td></td><td>qlp coeff prec search</td><td></td><td>escape coding</td><td></td><td>exhaustive model search</td><td></td><td>min residual partition order</td><td></td><td>max residual partition order</td><td></td><td>rice parameter search dist</td><td></td></tr>
-<tr>
-<td><b>0</b></td><td></td><td>false</td><td></td><td>false</td><td></td><td>tukey(0.5)</td><td></td><td>0</td><td></td><td>0</td><td></td><td>false</td><td></td><td>false</td><td></td><td>false</td><td></td><td>0</td><td></td><td>3</td><td></td><td>0</td><td></td></tr>
-<tr>
-<td><b>1</b></td><td></td><td>true</td><td></td><td>true</td><td></td><td>tukey(0.5)</td><td></td><td>0</td><td></td><td>0</td><td></td><td>false</td><td></td><td>false</td><td></td><td>false</td><td></td><td>0</td><td></td><td>3</td><td></td><td>0</td><td></td></tr>
-<tr>
-<td><b>2</b></td><td></td><td>true</td><td></td><td>false</td><td></td><td>tukey(0.5)</td><td></td><td>0</td><td></td><td>0</td><td></td><td>false</td><td></td><td>false</td><td></td><td>false</td><td></td><td>0</td><td></td><td>3</td><td></td><td>0</td><td></td></tr>
-<tr>
-<td><b>3</b></td><td></td><td>false</td><td></td><td>false</td><td></td><td>tukey(0.5)</td><td></td><td>6</td><td></td><td>0</td><td></td><td>false</td><td></td><td>false</td><td></td><td>false</td><td></td><td>0</td><td></td><td>4</td><td></td><td>0</td><td></td></tr>
-<tr>
-<td><b>4</b></td><td></td><td>true</td><td></td><td>true</td><td></td><td>tukey(0.5)</td><td></td><td>8</td><td></td><td>0</td><td></td><td>false</td><td></td><td>false</td><td></td><td>false</td><td></td><td>0</td><td></td><td>4</td><td></td><td>0</td><td></td></tr>
-<tr>
-<td><b>5</b></td><td></td><td>true</td><td></td><td>false</td><td></td><td>tukey(0.5)</td><td></td><td>8</td><td></td><td>0</td><td></td><td>false</td><td></td><td>false</td><td></td><td>false</td><td></td><td>0</td><td></td><td>5</td><td></td><td>0</td><td></td></tr>
-<tr>
-<td><b>6</b></td><td></td><td>true</td><td></td><td>false</td><td></td><td>tukey(0.5)</td><td></td><td>8</td><td></td><td>0</td><td></td><td>false</td><td></td><td>false</td><td></td><td>false</td><td></td><td>0</td><td></td><td>6</td><td></td><td>0</td><td></td></tr>
-<tr>
-<td><b>7</b></td><td></td><td>true</td><td></td><td>false</td><td></td><td>tukey(0.5)</td><td></td><td>8</td><td></td><td>0</td><td></td><td>false</td><td></td><td>false</td><td></td><td>true</td><td></td><td>0</td><td></td><td>6</td><td></td><td>0</td><td></td></tr>
-<tr>
-<td><b>8</b></td><td></td><td>true</td><td></td><td>false</td><td></td><td>tukey(0.5)</td><td></td><td>12</td><td></td><td>0</td><td></td><td>false</td><td></td><td>false</td><td></td><td>true</td><td></td><td>0</td><td></td><td>6</td><td></td><td>0</td><td></td></tr>
-</table>
-<p>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>5</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga21" doxytag="stream_encoder.h::FLAC__stream_encoder_set_blocksize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_blocksize </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set the blocksize to use while encoding.<p>
-The number of samples to use per frame. Use <code>0</code> to let the encoder estimate a blocksize; this is usually best.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>0</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga22" doxytag="stream_encoder.h::FLAC__stream_encoder_set_do_mid_side_stereo"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_do_mid_side_stereo </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set to <code>true</code> to enable mid-side encoding on stereo input. The number of channels must be 2 for this to have any effect. Set to <code>false</code> to use only independent channel coding.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>false</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>Flag value (see above). </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga23" doxytag="stream_encoder.h::FLAC__stream_encoder_set_loose_mid_side_stereo"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_loose_mid_side_stereo </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set to <code>true</code> to enable adaptive switching between mid-side and left-right encoding on stereo input. Set to <code>false</code> to use exhaustive searching. Setting this to <code>true</code> requires <a class="el" href="group__flac__stream__encoder.html#ga22">FLAC__stream_encoder_set_do_mid_side_stereo()</a> to also be set to <code>true</code> in order to have any effect.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>false</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>Flag value (see above). </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga24" doxytag="stream_encoder.h::FLAC__stream_encoder_set_apodization"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_apodization </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>specification</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sets the apodization function(s) the encoder will use when windowing audio data for LPC analysis.<p>
-The <em>specification</em> is a plain ASCII string which specifies exactly which functions to use. There may be more than one (up to 32), separated by <code>'</code>;' characters. Some functions take one or more comma-separated arguments in parentheses.<p>
-The available functions are <code>bartlett</code>, <code>bartlett_hann</code>, <code>blackman</code>, <code>blackman_harris_4term_92db</code>, <code>connes</code>, <code>flattop</code>, <code>gauss(STDDEV)</code>, <code>hamming</code>, <code>hann</code>, <code>kaiser_bessel</code>, <code>nuttall</code>, <code>rectangle</code>, <code>triangle</code>, <code>tukey(P)</code>, <code>welch</code>.<p>
-For <code>gauss(STDDEV)</code>, STDDEV specifies the standard deviation (0&lt;STDDEV&lt;=0.5).<p>
-For <code>tukey(P)</code>, P specifies the fraction of the window that is tapered (0&lt;=P&lt;=1). P=0 corresponds to <code>rectangle</code> and P=1 corresponds to <code>hann</code>.<p>
-Example specifications are <code>"blackman"</code> or <code>"hann;triangle;tukey(0.5);tukey(0.25);tukey(0.125)"</code> <p>
-Any function that is specified erroneously is silently dropped. Up to 32 functions are kept, the rest are dropped. If the specification is empty the encoder defaults to <code>"tukey(0.5)"</code>.<p>
-When more than one function is specified, then for every subframe the encoder will try each of them separately and choose the window that results in the smallest compressed subframe.<p>
-Note that each function specified causes the encoder to occupy a floating point array in which to store the window.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>"tukey(0.5)"</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>specification</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> specification != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga25" doxytag="stream_encoder.h::FLAC__stream_encoder_set_max_lpc_order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_max_lpc_order </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set the maximum LPC order, or <code>0</code> to use only the fixed predictors.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>0</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga26" doxytag="stream_encoder.h::FLAC__stream_encoder_set_qlp_coeff_precision"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_qlp_coeff_precision </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set the precision, in bits, of the quantized linear predictor coefficients, or <code>0</code> to let the encoder select it based on the blocksize.<p>
-<dl compact><dt><b>Note:</b></dt><dd>In the current implementation, qlp_coeff_precision + bits_per_sample must be less than 32.</dd></dl>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>0</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga27" doxytag="stream_encoder.h::FLAC__stream_encoder_set_do_qlp_coeff_prec_search"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_do_qlp_coeff_prec_search </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set to <code>false</code> to use only the specified quantized linear predictor coefficient precision, or <code>true</code> to search neighboring precision values and use the best one.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>false</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga28" doxytag="stream_encoder.h::FLAC__stream_encoder_set_do_escape_coding"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_do_escape_coding </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Deprecated. Setting this value has no effect.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>false</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga29" doxytag="stream_encoder.h::FLAC__stream_encoder_set_do_exhaustive_model_search"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_do_exhaustive_model_search </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__bool&nbsp;</td>
- <td class="mdname" nowrap> <em>value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set to <code>false</code> to let the encoder estimate the best model order based on the residual signal energy, or <code>true</code> to force the encoder to evaluate all order models and select the best.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>false</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga30" doxytag="stream_encoder.h::FLAC__stream_encoder_set_min_residual_partition_order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_min_residual_partition_order </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set the minimum partition order to search when coding the residual. This is used in tandem with <a class="el" href="group__flac__stream__encoder.html#ga31">FLAC__stream_encoder_set_max_residual_partition_order()</a>.<p>
-The partition order determines the context size in the residual. The context size will be approximately <code>blocksize / (2 ^ order)</code>.<p>
-Set both min and max values to <code>0</code> to force a single context, whose Rice parameter is based on the residual signal variance. Otherwise, set a min and max order, and the encoder will search all orders, using the mean of each context for its Rice parameter, and use the best.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>0</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga31" doxytag="stream_encoder.h::FLAC__stream_encoder_set_max_residual_partition_order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_max_residual_partition_order </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set the maximum partition order to search when coding the residual. This is used in tandem with <a class="el" href="group__flac__stream__encoder.html#ga30">FLAC__stream_encoder_set_min_residual_partition_order()</a>.<p>
-The partition order determines the context size in the residual. The context size will be approximately <code>blocksize / (2 ^ order)</code>.<p>
-Set both min and max values to <code>0</code> to force a single context, whose Rice parameter is based on the residual signal variance. Otherwise, set a min and max order, and the encoder will search all orders, using the mean of each context for its Rice parameter, and use the best.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>0</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga32" doxytag="stream_encoder.h::FLAC__stream_encoder_set_rice_parameter_search_dist"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_rice_parameter_search_dist </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Deprecated. Setting this value has no effect.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>0</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga33" doxytag="stream_encoder.h::FLAC__stream_encoder_set_total_samples_estimate"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_total_samples_estimate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__uint64&nbsp;</td>
- <td class="mdname" nowrap> <em>value</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set an estimate of the total samples that will be encoded. This is merely an estimate and may be set to <code>0</code> if unknown. This value will be written to the STREAMINFO block before encoding, and can remove the need for the caller to rewrite the value later if the value is known before encoding.<p>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>0</code> </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga34" doxytag="stream_encoder.h::FLAC__stream_encoder_set_metadata"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_set_metadata </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **&nbsp;</td>
- <td class="mdname" nowrap> <em>metadata</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>num_blocks</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set the metadata blocks to be emitted to the stream before encoding. A value of <code>NULL</code>, <code>0</code> implies no metadata; otherwise, supply an array of pointers to metadata blocks. The array is non-const since the encoder may need to change the <em>is_last</em> flag inside them, and in some cases update seek point offsets. Otherwise, the encoder will not modify or free the blocks. It is up to the caller to free the metadata blocks after encoding finishes.<p>
-<dl compact><dt><b>Note:</b></dt><dd>The encoder stores only copies of the pointers in the <em>metadata</em> array; the metadata blocks themselves must survive at least until after <a class="el" href="group__flac__stream__encoder.html#ga62">FLAC__stream_encoder_finish()</a> returns. Do not free the blocks until then.<p>
-The STREAMINFO block is always written and no STREAMINFO block may occur in the supplied array.<p>
-By default the encoder does not create a SEEKTABLE. If one is supplied in the <em>metadata</em> array, but the client has specified that it does not support seeking, then the SEEKTABLE will be written verbatim. However by itself this is not very useful as the client will not know the stream offsets for the seekpoints ahead of time. In order to get a proper seektable the client must support seeking. See next note.<p>
-SEEKTABLE blocks are handled specially. Since you will not know the values for the seek point stream offsets, you should pass in a SEEKTABLE 'template', that is, a SEEKTABLE object with the required sample numbers (or placeholder points), with <code>0</code> for the <em>frame_samples</em> and <em>stream_offset</em> fields for each point. If the client has specified that it supports seeking by providing a seek callback to <a class="el" href="group__flac__stream__encoder.html#ga56">FLAC__stream_encoder_init_stream()</a> or both seek AND read callback to <a class="el" href="group__flac__stream__encoder.html#ga57">FLAC__stream_encoder_init_ogg_stream()</a> (or by using FLAC__stream_encoder_init*_file() or FLAC__stream_encoder_init*_FILE()), then while it is encoding the encoder will fill the stream offsets in for you and when encoding is finished, it will seek back and write the real values into the SEEKTABLE block in the stream. There are helper routines for manipulating seektable template blocks; see metadata.h: FLAC__metadata_object_seektable_template_*(). If the client does not support seeking, the SEEKTABLE will have inaccurate offsets which will slow down or remove the ability to seek in the FLAC stream.<p>
-The encoder instance <b>will</b> modify the first <code>SEEKTABLE</code> block as it transforms the template to a valid seektable while encoding, but it is still up to the caller to free all metadata blocks after encoding.<p>
-A VORBIS_COMMENT block may be supplied. The vendor string in it will be ignored. libFLAC will use it's own vendor string. libFLAC will not modify the passed-in VORBIS_COMMENT's vendor string, it will simply write it's own into the stream. If no VORBIS_COMMENT block is present in the <em>metadata</em> array, libFLAC will write an empty one, containing only the vendor string.<p>
-The Ogg FLAC mapping requires that the VORBIS_COMMENT block be the second metadata block of the stream. The encoder already supplies the STREAMINFO block automatically. If <em>metadata</em> does not contain a VORBIS_COMMENT block, the encoder will supply that too. Otherwise, if <em>metadata</em> does contain a VORBIS_COMMENT block and it is not the first, the init function will reorder <em>metadata</em> by moving the VORBIS_COMMENT block to the front; the relative ordering of the other blocks will remain as they were.<p>
-The Ogg FLAC mapping limits the number of metadata blocks per stream to <code>65535</code>. If <em>num_blocks</em> exceeds this the function will return <code>false</code>.</dd></dl>
-<dl compact><dt><b>Default Value:</b></dt><dd><code>NULL</code>, 0 </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>metadata</em>&nbsp;</td><td>See above. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>num_blocks</em>&nbsp;</td><td>See above. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if the encoder is already initialized, else <code>true</code>. <code>false</code> if the encoder is already initialized, or if <em>num_blocks</em> &gt; 65535 if encoding to Ogg FLAC, else <code>true</code>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga35" doxytag="stream_encoder.h::FLAC__stream_encoder_get_state"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__stream__encoder.html#ga65">FLAC__StreamEncoderState</a> FLAC__stream_encoder_get_state </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the current encoder state.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamEncoderState</em>&nbsp;</td><td>The current encoder state. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga36" doxytag="stream_encoder.h::FLAC__stream_encoder_get_verify_decoder_state"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__stream__decoder.html#ga50">FLAC__StreamDecoderState</a> FLAC__stream_encoder_get_verify_decoder_state </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the state of the verify stream decoder. Useful when the stream encoder state is <code>FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR</code>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamDecoderState</em>&nbsp;</td><td>The verify stream decoder state. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga37" doxytag="stream_encoder.h::FLAC__stream_encoder_get_resolved_state_string"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* FLAC__stream_encoder_get_resolved_state_string </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the current encoder state as a C string. This version automatically resolves <code>FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR</code> by getting the verify decoder's state.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>A encoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>const</em>&nbsp;</td><td>char * The encoder state as a C string. Do not modify the contents. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga38" doxytag="stream_encoder.h::FLAC__stream_encoder_get_verify_decoder_error_stats"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void FLAC__stream_encoder_get_verify_decoder_error_stats </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__uint64 *&nbsp;</td>
- <td class="mdname" nowrap> <em>absolute_sample</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned *&nbsp;</td>
- <td class="mdname" nowrap> <em>frame_number</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned *&nbsp;</td>
- <td class="mdname" nowrap> <em>channel</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned *&nbsp;</td>
- <td class="mdname" nowrap> <em>sample</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__int32 *&nbsp;</td>
- <td class="mdname" nowrap> <em>expected</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FLAC__int32 *&nbsp;</td>
- <td class="mdname" nowrap> <em>got</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get relevant values about the nature of a verify decoder error. Useful when the stream encoder state is <code>FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR</code>. The arguments should be addresses in which the stats will be returned, or NULL if value is not desired.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to query. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>absolute_sample</em>&nbsp;</td><td>The absolute sample number of the mismatch. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>frame_number</em>&nbsp;</td><td>The number of the frame in which the mismatch occurred. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>The channel in which the mismatch occurred. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>sample</em>&nbsp;</td><td>The number of the sample (relative to the frame) in which the mismatch occurred. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>expected</em>&nbsp;</td><td>The expected value for the sample in question. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>got</em>&nbsp;</td><td>The actual value returned by the decoder. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga39" doxytag="stream_encoder.h::FLAC__stream_encoder_get_verify"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_get_verify </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the "verify" flag.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td>See <a class="el" href="group__flac__stream__encoder.html#ga15">FLAC__stream_encoder_set_verify()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga40" doxytag="stream_encoder.h::FLAC__stream_encoder_get_streamable_subset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_get_streamable_subset </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the &lt;A HREF="../format.html#subset&gt;Subset flag.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td>See <a class="el" href="group__flac__stream__encoder.html#ga16">FLAC__stream_encoder_set_streamable_subset()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga41" doxytag="stream_encoder.h::FLAC__stream_encoder_get_channels"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC__stream_encoder_get_channels </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the number of input channels being processed.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>See <a class="el" href="group__flac__stream__encoder.html#ga17">FLAC__stream_encoder_set_channels()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga42" doxytag="stream_encoder.h::FLAC__stream_encoder_get_bits_per_sample"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC__stream_encoder_get_bits_per_sample </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the input sample resolution setting.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>See <a class="el" href="group__flac__stream__encoder.html#ga18">FLAC__stream_encoder_set_bits_per_sample()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga43" doxytag="stream_encoder.h::FLAC__stream_encoder_get_sample_rate"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC__stream_encoder_get_sample_rate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the input sample rate setting.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>See <a class="el" href="group__flac__stream__encoder.html#ga19">FLAC__stream_encoder_set_sample_rate()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga44" doxytag="stream_encoder.h::FLAC__stream_encoder_get_blocksize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC__stream_encoder_get_blocksize </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the blocksize setting.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>See <a class="el" href="group__flac__stream__encoder.html#ga21">FLAC__stream_encoder_set_blocksize()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga45" doxytag="stream_encoder.h::FLAC__stream_encoder_get_do_mid_side_stereo"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_get_do_mid_side_stereo </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the "mid/side stereo coding" flag.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td>See <a class="el" href="group__flac__stream__encoder.html#ga45">FLAC__stream_encoder_get_do_mid_side_stereo()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga46" doxytag="stream_encoder.h::FLAC__stream_encoder_get_loose_mid_side_stereo"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_get_loose_mid_side_stereo </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the "adaptive mid/side switching" flag.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td>See <a class="el" href="group__flac__stream__encoder.html#ga23">FLAC__stream_encoder_set_loose_mid_side_stereo()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga47" doxytag="stream_encoder.h::FLAC__stream_encoder_get_max_lpc_order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC__stream_encoder_get_max_lpc_order </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the maximum LPC order setting.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>See <a class="el" href="group__flac__stream__encoder.html#ga25">FLAC__stream_encoder_set_max_lpc_order()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga48" doxytag="stream_encoder.h::FLAC__stream_encoder_get_qlp_coeff_precision"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC__stream_encoder_get_qlp_coeff_precision </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the quantized linear predictor coefficient precision setting.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>See <a class="el" href="group__flac__stream__encoder.html#ga26">FLAC__stream_encoder_set_qlp_coeff_precision()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga49" doxytag="stream_encoder.h::FLAC__stream_encoder_get_do_qlp_coeff_prec_search"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_get_do_qlp_coeff_prec_search </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the qlp coefficient precision search flag.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td>See <a class="el" href="group__flac__stream__encoder.html#ga27">FLAC__stream_encoder_set_do_qlp_coeff_prec_search()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga50" doxytag="stream_encoder.h::FLAC__stream_encoder_get_do_escape_coding"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_get_do_escape_coding </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the "escape coding" flag.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td>See <a class="el" href="group__flac__stream__encoder.html#ga28">FLAC__stream_encoder_set_do_escape_coding()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga51" doxytag="stream_encoder.h::FLAC__stream_encoder_get_do_exhaustive_model_search"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_get_do_exhaustive_model_search </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the exhaustive model search flag.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td>See <a class="el" href="group__flac__stream__encoder.html#ga29">FLAC__stream_encoder_set_do_exhaustive_model_search()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga52" doxytag="stream_encoder.h::FLAC__stream_encoder_get_min_residual_partition_order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC__stream_encoder_get_min_residual_partition_order </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the minimum residual partition order setting.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>See <a class="el" href="group__flac__stream__encoder.html#ga30">FLAC__stream_encoder_set_min_residual_partition_order()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga53" doxytag="stream_encoder.h::FLAC__stream_encoder_get_max_residual_partition_order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC__stream_encoder_get_max_residual_partition_order </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get maximum residual partition order setting.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>See <a class="el" href="group__flac__stream__encoder.html#ga31">FLAC__stream_encoder_set_max_residual_partition_order()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga54" doxytag="stream_encoder.h::FLAC__stream_encoder_get_rice_parameter_search_dist"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned FLAC__stream_encoder_get_rice_parameter_search_dist </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the Rice parameter search distance setting.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to query. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>See <a class="el" href="group__flac__stream__encoder.html#ga32">FLAC__stream_encoder_set_rice_parameter_search_dist()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga55" doxytag="stream_encoder.h::FLAC__stream_encoder_get_total_samples_estimate"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__uint64 FLAC__stream_encoder_get_total_samples_estimate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Get the previously set estimate of the total samples to be encoded. The encoder merely mimics back the value given to <a class="el" href="group__flac__stream__encoder.html#ga33">FLAC__stream_encoder_set_total_samples_estimate()</a> since it has no other way of knowing how many samples the client will encode.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An encoder instance to set. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__uint64</em>&nbsp;</td><td>See <a class="el" href="group__flac__stream__encoder.html#ga55">FLAC__stream_encoder_get_total_samples_estimate()</a>. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga56" doxytag="stream_encoder.h::FLAC__stream_encoder_init_stream"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a> FLAC__stream_encoder_init_stream </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__encoder.html#ga7">FLAC__StreamEncoderWriteCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>write_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__encoder.html#ga8">FLAC__StreamEncoderSeekCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>seek_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__encoder.html#ga9">FLAC__StreamEncoderTellCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>tell_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__encoder.html#ga10">FLAC__StreamEncoderMetadataCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>metadata_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>client_data</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Initialize the encoder instance to encode native FLAC streams.<p>
-This flavor of initialization sets up the encoder to encode to a native FLAC stream. I/O is performed via callbacks to the client. For encoding to a plain file via filename or open <code>FILE*</code>, <a class="el" href="group__flac__stream__encoder.html#ga60">FLAC__stream_encoder_init_file()</a> and <a class="el" href="group__flac__stream__encoder.html#ga58">FLAC__stream_encoder_init_FILE()</a> provide a simpler interface.<p>
-This function should be called after <a class="el" href="group__flac__stream__encoder.html#ga12">FLAC__stream_encoder_new()</a> and FLAC__stream_encoder_set_*() but before <a class="el" href="group__flac__stream__encoder.html#ga63">FLAC__stream_encoder_process()</a> or <a class="el" href="group__flac__stream__encoder.html#ga64">FLAC__stream_encoder_process_interleaved()</a>. initialization succeeded.<p>
-The call to <a class="el" href="group__flac__stream__encoder.html#ga56">FLAC__stream_encoder_init_stream()</a> currently will also immediately call the write callback several times, once with the <code>fLaC</code> signature, and once for each encoded metadata block.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An uninitialized encoder instance. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>write_callback</em>&nbsp;</td><td>See FLAC__StreamEncoderWriteCallback. This pointer must not be <code>NULL</code>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>seek_callback</em>&nbsp;</td><td>See FLAC__StreamEncoderSeekCallback. This pointer may be <code>NULL</code> if seeking is not supported. The encoder uses seeking to go back and write some some stream statistics to the STREAMINFO block; this is recommended but not necessary to create a valid FLAC stream. If <em>seek_callback</em> is not <code>NULL</code> then a <em>tell_callback</em> must also be supplied. Alternatively, a dummy seek callback that just returns <code>FLAC__STREAM_ENCODER_SEEK_STATUS_UNSUPPORTED</code> may also be supplied, all though this is slightly less efficient for the encoder. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>tell_callback</em>&nbsp;</td><td>See FLAC__StreamEncoderTellCallback. This pointer may be <code>NULL</code> if seeking is not supported. If <em>seek_callback</em> is <code>NULL</code> then this argument will be ignored. If <em>seek_callback</em> is not <code>NULL</code> then a <em>tell_callback</em> must also be supplied. Alternatively, a dummy tell callback that just returns <code>FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED</code> may also be supplied, all though this is slightly less efficient for the encoder. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>metadata_callback</em>&nbsp;</td><td>See FLAC__StreamEncoderMetadataCallback. This pointer may be <code>NULL</code> if the callback is not desired. If the client provides a seek callback, this function is not necessary as the encoder will automatically seek back and update the STREAMINFO block. It may also be <code>NULL</code> if the client does not support seeking, since it will have no way of going back to update the STREAMINFO. However the client can still supply a callback if it would like to know the details from the STREAMINFO. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>This value will be supplied to callbacks in their <em>client_data</em> argument. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamEncoderInitStatus</em>&nbsp;</td><td><code>FLAC__STREAM_ENCODER_INIT_STATUS_OK</code> if initialization was successful; see FLAC__StreamEncoderInitStatus for the meanings of other return values. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga57" doxytag="stream_encoder.h::FLAC__stream_encoder_init_ogg_stream"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a> FLAC__stream_encoder_init_ogg_stream </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__encoder.html#ga6">FLAC__StreamEncoderReadCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>read_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__encoder.html#ga7">FLAC__StreamEncoderWriteCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>write_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__encoder.html#ga8">FLAC__StreamEncoderSeekCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>seek_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__encoder.html#ga9">FLAC__StreamEncoderTellCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>tell_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__encoder.html#ga10">FLAC__StreamEncoderMetadataCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>metadata_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>client_data</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Initialize the encoder instance to encode Ogg FLAC streams.<p>
-This flavor of initialization sets up the encoder to encode to a FLAC stream in an Ogg container. I/O is performed via callbacks to the client. For encoding to a plain file via filename or open <code>FILE*</code>, <a class="el" href="group__flac__stream__encoder.html#ga61">FLAC__stream_encoder_init_ogg_file()</a> and <a class="el" href="group__flac__stream__encoder.html#ga59">FLAC__stream_encoder_init_ogg_FILE()</a> provide a simpler interface.<p>
-This function should be called after <a class="el" href="group__flac__stream__encoder.html#ga12">FLAC__stream_encoder_new()</a> and FLAC__stream_encoder_set_*() but before <a class="el" href="group__flac__stream__encoder.html#ga63">FLAC__stream_encoder_process()</a> or <a class="el" href="group__flac__stream__encoder.html#ga64">FLAC__stream_encoder_process_interleaved()</a>. initialization succeeded.<p>
-The call to <a class="el" href="group__flac__stream__encoder.html#ga57">FLAC__stream_encoder_init_ogg_stream()</a> currently will also immediately call the write callback several times to write the metadata packets.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An uninitialized encoder instance. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>read_callback</em>&nbsp;</td><td>See FLAC__StreamEncoderReadCallback. This pointer must not be <code>NULL</code> if <em>seek_callback</em> is non-NULL since they are both needed to be able to write data back to the Ogg FLAC stream in the post-encode phase. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>write_callback</em>&nbsp;</td><td>See FLAC__StreamEncoderWriteCallback. This pointer must not be <code>NULL</code>. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>seek_callback</em>&nbsp;</td><td>See FLAC__StreamEncoderSeekCallback. This pointer may be <code>NULL</code> if seeking is not supported. The encoder uses seeking to go back and write some some stream statistics to the STREAMINFO block; this is recommended but not necessary to create a valid FLAC stream. If <em>seek_callback</em> is not <code>NULL</code> then a <em>tell_callback</em> must also be supplied. Alternatively, a dummy seek callback that just returns <code>FLAC__STREAM_ENCODER_SEEK_STATUS_UNSUPPORTED</code> may also be supplied, all though this is slightly less efficient for the encoder. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>tell_callback</em>&nbsp;</td><td>See FLAC__StreamEncoderTellCallback. This pointer may be <code>NULL</code> if seeking is not supported. If <em>seek_callback</em> is <code>NULL</code> then this argument will be ignored. If <em>seek_callback</em> is not <code>NULL</code> then a <em>tell_callback</em> must also be supplied. Alternatively, a dummy tell callback that just returns <code>FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED</code> may also be supplied, all though this is slightly less efficient for the encoder. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>metadata_callback</em>&nbsp;</td><td>See FLAC__StreamEncoderMetadataCallback. This pointer may be <code>NULL</code> if the callback is not desired. If the client provides a seek callback, this function is not necessary as the encoder will automatically seek back and update the STREAMINFO block. It may also be <code>NULL</code> if the client does not support seeking, since it will have no way of going back to update the STREAMINFO. However the client can still supply a callback if it would like to know the details from the STREAMINFO. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>This value will be supplied to callbacks in their <em>client_data</em> argument. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamEncoderInitStatus</em>&nbsp;</td><td><code>FLAC__STREAM_ENCODER_INIT_STATUS_OK</code> if initialization was successful; see FLAC__StreamEncoderInitStatus for the meanings of other return values. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga58" doxytag="stream_encoder.h::FLAC__stream_encoder_init_FILE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a> FLAC__stream_encoder_init_FILE </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FILE *&nbsp;</td>
- <td class="mdname" nowrap> <em>file</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>progress_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>client_data</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Initialize the encoder instance to encode native FLAC files.<p>
-This flavor of initialization sets up the encoder to encode to a plain native FLAC file. For non-stdio streams, you must use <a class="el" href="group__flac__stream__encoder.html#ga56">FLAC__stream_encoder_init_stream()</a> and provide callbacks for the I/O.<p>
-This function should be called after <a class="el" href="group__flac__stream__encoder.html#ga12">FLAC__stream_encoder_new()</a> and FLAC__stream_encoder_set_*() but before <a class="el" href="group__flac__stream__encoder.html#ga63">FLAC__stream_encoder_process()</a> or <a class="el" href="group__flac__stream__encoder.html#ga64">FLAC__stream_encoder_process_interleaved()</a>. initialization succeeded.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An uninitialized encoder instance. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>An open file. The file should have been opened with mode <code>"w+b"</code> and rewound. The file becomes owned by the encoder and should not be manipulated by the client while encoding. Unless <em>file</em> is <code>stdout</code>, it will be closed when <a class="el" href="group__flac__stream__encoder.html#ga62">FLAC__stream_encoder_finish()</a> is called. Note however that a proper SEEKTABLE cannot be created when encoding to <code>stdout</code> since it is not seekable. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>progress_callback</em>&nbsp;</td><td>See FLAC__StreamEncoderProgressCallback. This pointer may be <code>NULL</code> if the callback is not desired. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>This value will be supplied to callbacks in their <em>client_data</em> argument. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> file != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamEncoderInitStatus</em>&nbsp;</td><td><code>FLAC__STREAM_ENCODER_INIT_STATUS_OK</code> if initialization was successful; see FLAC__StreamEncoderInitStatus for the meanings of other return values. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga59" doxytag="stream_encoder.h::FLAC__stream_encoder_init_ogg_FILE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a> FLAC__stream_encoder_init_ogg_FILE </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FILE *&nbsp;</td>
- <td class="mdname" nowrap> <em>file</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>progress_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>client_data</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Initialize the encoder instance to encode Ogg FLAC files.<p>
-This flavor of initialization sets up the encoder to encode to a plain Ogg FLAC file. For non-stdio streams, you must use <a class="el" href="group__flac__stream__encoder.html#ga57">FLAC__stream_encoder_init_ogg_stream()</a> and provide callbacks for the I/O.<p>
-This function should be called after <a class="el" href="group__flac__stream__encoder.html#ga12">FLAC__stream_encoder_new()</a> and FLAC__stream_encoder_set_*() but before <a class="el" href="group__flac__stream__encoder.html#ga63">FLAC__stream_encoder_process()</a> or <a class="el" href="group__flac__stream__encoder.html#ga64">FLAC__stream_encoder_process_interleaved()</a>. initialization succeeded.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An uninitialized encoder instance. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>An open file. The file should have been opened with mode <code>"w+b"</code> and rewound. The file becomes owned by the encoder and should not be manipulated by the client while encoding. Unless <em>file</em> is <code>stdout</code>, it will be closed when <a class="el" href="group__flac__stream__encoder.html#ga62">FLAC__stream_encoder_finish()</a> is called. Note however that a proper SEEKTABLE cannot be created when encoding to <code>stdout</code> since it is not seekable. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>progress_callback</em>&nbsp;</td><td>See FLAC__StreamEncoderProgressCallback. This pointer may be <code>NULL</code> if the callback is not desired. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>This value will be supplied to callbacks in their <em>client_data</em> argument. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> file != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamEncoderInitStatus</em>&nbsp;</td><td><code>FLAC__STREAM_ENCODER_INIT_STATUS_OK</code> if initialization was successful; see FLAC__StreamEncoderInitStatus for the meanings of other return values. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga60" doxytag="stream_encoder.h::FLAC__stream_encoder_init_file"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a> FLAC__stream_encoder_init_file </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>progress_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>client_data</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Initialize the encoder instance to encode native FLAC files.<p>
-This flavor of initialization sets up the encoder to encode to a plain FLAC file. If POSIX fopen() semantics are not sufficient (for example, with Unicode filenames on Windows), you must use <a class="el" href="group__flac__stream__encoder.html#ga58">FLAC__stream_encoder_init_FILE()</a>, or <a class="el" href="group__flac__stream__encoder.html#ga56">FLAC__stream_encoder_init_stream()</a> and provide callbacks for the I/O.<p>
-This function should be called after <a class="el" href="group__flac__stream__encoder.html#ga12">FLAC__stream_encoder_new()</a> and FLAC__stream_encoder_set_*() but before <a class="el" href="group__flac__stream__encoder.html#ga63">FLAC__stream_encoder_process()</a> or <a class="el" href="group__flac__stream__encoder.html#ga64">FLAC__stream_encoder_process_interleaved()</a>. initialization succeeded.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An uninitialized encoder instance. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The name of the file to encode to. The file will be opened with fopen(). Use <code>NULL</code> to encode to <code>stdout</code>. Note however that a proper SEEKTABLE cannot be created when encoding to <code>stdout</code> since it is not seekable. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>progress_callback</em>&nbsp;</td><td>See FLAC__StreamEncoderProgressCallback. This pointer may be <code>NULL</code> if the callback is not desired. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>This value will be supplied to callbacks in their <em>client_data</em> argument. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamEncoderInitStatus</em>&nbsp;</td><td><code>FLAC__STREAM_ENCODER_INIT_STATUS_OK</code> if initialization was successful; see FLAC__StreamEncoderInitStatus for the meanings of other return values. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga61" doxytag="stream_encoder.h::FLAC__stream_encoder_init_ogg_file"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a> FLAC__stream_encoder_init_ogg_file </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>progress_callback</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>client_data</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Initialize the encoder instance to encode Ogg FLAC files.<p>
-This flavor of initialization sets up the encoder to encode to a plain Ogg FLAC file. If POSIX fopen() semantics are not sufficient (for example, with Unicode filenames on Windows), you must use <a class="el" href="group__flac__stream__encoder.html#ga59">FLAC__stream_encoder_init_ogg_FILE()</a>, or <a class="el" href="group__flac__stream__encoder.html#ga57">FLAC__stream_encoder_init_ogg_stream()</a> and provide callbacks for the I/O.<p>
-This function should be called after <a class="el" href="group__flac__stream__encoder.html#ga12">FLAC__stream_encoder_new()</a> and FLAC__stream_encoder_set_*() but before <a class="el" href="group__flac__stream__encoder.html#ga63">FLAC__stream_encoder_process()</a> or <a class="el" href="group__flac__stream__encoder.html#ga64">FLAC__stream_encoder_process_interleaved()</a>. initialization succeeded.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An uninitialized encoder instance. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The name of the file to encode to. The file will be opened with fopen(). Use <code>NULL</code> to encode to <code>stdout</code>. Note however that a proper SEEKTABLE cannot be created when encoding to <code>stdout</code> since it is not seekable. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>progress_callback</em>&nbsp;</td><td>See FLAC__StreamEncoderProgressCallback. This pointer may be <code>NULL</code> if the callback is not desired. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>client_data</em>&nbsp;</td><td>This value will be supplied to callbacks in their <em>client_data</em> argument. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamEncoderInitStatus</em>&nbsp;</td><td><code>FLAC__STREAM_ENCODER_INIT_STATUS_OK</code> if initialization was successful; see FLAC__StreamEncoderInitStatus for the meanings of other return values. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga62" doxytag="stream_encoder.h::FLAC__stream_encoder_finish"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_finish </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>encoder</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Finish the encoding process. Flushes the encoding buffer, releases resources, resets the encoder settings to their defaults, and returns the encoder state to FLAC__STREAM_ENCODER_UNINITIALIZED. Note that this can generate one or more write callbacks before returning, and will generate a metadata callback.<p>
-Note that in the course of processing the last frame, errors can occur, so the caller should be sure to check the return value to ensure the file was encoded properly.<p>
-In the event of a prematurely-terminated encode, it is not strictly necessary to call this immediately before <a class="el" href="group__flac__stream__encoder.html#ga13">FLAC__stream_encoder_delete()</a> but it is good practice to match every FLAC__stream_encoder_init_*() with a <a class="el" href="group__flac__stream__encoder.html#ga62">FLAC__stream_encoder_finish()</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An uninitialized encoder instance. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if an error occurred processing the last frame; or if verify mode is set (see <a class="el" href="group__flac__stream__encoder.html#ga15">FLAC__stream_encoder_set_verify()</a>), there was a verify mismatch; else <code>true</code>. If <code>false</code>, caller should check the state with <a class="el" href="group__flac__stream__encoder.html#ga35">FLAC__stream_encoder_get_state()</a> for more information about the error. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga63" doxytag="stream_encoder.h::FLAC__stream_encoder_process"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_process </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const FLAC__int32 *const &nbsp;</td>
- <td class="mdname" nowrap> <em>buffer</em>[], </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>samples</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Submit data for encoding. This version allows you to supply the input data via an array of pointers, each pointer pointing to an array of <em>samples</em> samples representing one channel. The samples need not be block-aligned, but each channel should have the same number of samples. Each sample should be a signed integer, right-justified to the resolution set by <a class="el" href="group__flac__stream__encoder.html#ga18">FLAC__stream_encoder_set_bits_per_sample()</a>. For example, if the resolution is 16 bits per sample, the samples should all be in the range [-32768,32767].<p>
-For applications where channel order is important, channels must follow the order as described in the <a href="../format.html#frame_header">frame header</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An initialized encoder instance in the OK state. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>An array of pointers to each channel's signal. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>samples</em>&nbsp;</td><td>The number of samples in one channel. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> <a class="code" href="group__flac__stream__encoder.html#ga35">FLAC__stream_encoder_get_state</a>(encoder) == <a class="code" href="group__flac__stream__encoder.html#gga65a12">FLAC__STREAM_ENCODER_OK</a>
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if successful, else <code>false</code>; in this case, check the encoder state with <a class="el" href="group__flac__stream__encoder.html#ga35">FLAC__stream_encoder_get_state()</a> to see what went wrong. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga64" doxytag="stream_encoder.h::FLAC__stream_encoder_process_interleaved"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool FLAC__stream_encoder_process_interleaved </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>encoder</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const FLAC__int32&nbsp;</td>
- <td class="mdname" nowrap> <em>buffer</em>[], </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>samples</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Submit data for encoding. This version allows you to supply the input data where the channels are interleaved into a single array (i.e. channel0_sample0, channel1_sample0, ... , channelN_sample0, channel0_sample1, ...). The samples need not be block-aligned but they must be sample-aligned, i.e. the first value should be channel0_sample0 and the last value channelN_sampleM. Each sample should be a signed integer, right-justified to the resolution set by <a class="el" href="group__flac__stream__encoder.html#ga18">FLAC__stream_encoder_set_bits_per_sample()</a>. For example, if the resolution is 16 bits per sample, the samples should all be in the range [-32768,32767].<p>
-For applications where channel order is important, channels must follow the order as described in the <a href="../format.html#frame_header">frame header</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>An initialized encoder instance in the OK state. </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>An array of channel-interleaved data (see above). </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>samples</em>&nbsp;</td><td>The number of samples in one channel, the same as for <a class="el" href="group__flac__stream__encoder.html#ga63">FLAC__stream_encoder_process()</a>. For example, if encoding two channels, <code>1000</code> <em>samples</em> corresponds to a <em>buffer</em> of 2000 values. </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> encoder != NULL
-</pre></div> <div class="fragment"><pre class="fragment"> <a class="code" href="group__flac__stream__encoder.html#ga35">FLAC__stream_encoder_get_state</a>(encoder) == <a class="code" href="group__flac__stream__encoder.html#gga65a12">FLAC__STREAM_ENCODER_OK</a>
-</pre></div> </dd></dl>
-<dl compact><dt><b>Return values:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if successful, else <code>false</code>; in this case, check the encoder state with <a class="el" href="group__flac__stream__encoder.html#ga35">FLAC__stream_encoder_get_state()</a> to see what went wrong. </td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<hr><h2>Variable Documentation</h2>
-<a class="anchor" name="ga0" doxytag="stream_encoder.h::FLAC__StreamEncoderStateString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__stream__encoder.html#ga0">FLAC__StreamEncoderStateString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__StreamEncoderState to a C string.<p>
-Using a FLAC__StreamEncoderState as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-<a class="anchor" name="ga1" doxytag="stream_encoder.h::FLAC__StreamEncoderInitStatusString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__stream__encoder.html#ga1">FLAC__StreamEncoderInitStatusString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__StreamEncoderInitStatus to a C string.<p>
-Using a FLAC__StreamEncoderInitStatus as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-<a class="anchor" name="ga2" doxytag="stream_encoder.h::FLAC__StreamEncoderReadStatusString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__stream__encoder.html#ga2">FLAC__StreamEncoderReadStatusString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__StreamEncoderReadStatus to a C string.<p>
-Using a FLAC__StreamEncoderReadStatus as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-<a class="anchor" name="ga3" doxytag="stream_encoder.h::FLAC__StreamEncoderWriteStatusString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__stream__encoder.html#ga3">FLAC__StreamEncoderWriteStatusString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__StreamEncoderWriteStatus to a C string.<p>
-Using a FLAC__StreamEncoderWriteStatus as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-<a class="anchor" name="ga4" doxytag="stream_encoder.h::FLAC__StreamEncoderSeekStatusString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__stream__encoder.html#ga4">FLAC__StreamEncoderSeekStatusString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__StreamEncoderSeekStatus to a C string.<p>
-Using a FLAC__StreamEncoderSeekStatus as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-<a class="anchor" name="ga5" doxytag="stream_encoder.h::FLAC__StreamEncoderTellStatusString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const char* const <a class="el" href="group__flac__stream__encoder.html#ga5">FLAC__StreamEncoderTellStatusString</a>[] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maps a FLAC__StreamEncoderTellStatus to a C string.<p>
-Using a FLAC__StreamEncoderTellStatus as the index to this array will give the string equivalent. The contents should not be modified. </td>
- </tr>
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flacpp.html b/3rdparty/libflac/doc/html/api/group__flacpp.html
deleted file mode 100644
index ecc617e8304..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flacpp.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC C++ API</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC C++ API</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-The FLAC C++ API is the interface to libFLAC++, a set of classes that encapsulate the encoders, decoders, and metadata interfaces in libFLAC.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Modules</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__decoder.html">FLAC++/decoder.h: decoder classes</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__encoder.html">FLAC++/encoder.h: encoder classes</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__export.html">FLAC++/export.h: export symbols</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata.html">FLAC++/metadata.h: metadata interfaces</a></td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flacpp__decoder.html b/3rdparty/libflac/doc/html/api/group__flacpp__decoder.html
deleted file mode 100644
index 235ca4f1a39..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flacpp__decoder.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC++/decoder.h: decoder classes</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC++/decoder.h: decoder classes<br>
-<small>
-[<a class="el" href="group__flacpp.html">FLAC C++ API</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module describes the decoder layers provided by libFLAC++.
-<p>
-The libFLAC++ decoder classes are object wrappers around their counterparts in libFLAC. All decoding layers available in libFLAC are also provided here. The interface is very similar; make sure to read the <a class="el" href="group__flac__decoder.html">libFLAC decoder module </a>.<p>
-There are only two significant differences here. First, instead of passing in C function pointers for callbacks, you inherit from the decoder class and provide implementations for the callbacks in your derived class; because of this there is no need for a 'client_data' property.<p>
-Second, there are two stream decoder classes. <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a> is used for the same cases that <a class="el" href="group__flac__stream__decoder.html#ga36">FLAC__stream_decoder_init_stream()</a> / <a class="el" href="group__flac__stream__decoder.html#ga37">FLAC__stream_decoder_init_ogg_stream()</a> are used, and <a class="el" href="classFLAC_1_1Decoder_1_1File.html">FLAC::Decoder::File</a> is used for the same cases that <a class="el" href="group__flac__stream__decoder.html#ga38">FLAC__stream_decoder_init_FILE()</a> and <a class="el" href="group__flac__stream__decoder.html#ga40">FLAC__stream_decoder_init_file()</a> / <a class="el" href="group__flac__stream__decoder.html#ga39">FLAC__stream_decoder_init_ogg_FILE()</a> and <a class="el" href="group__flac__stream__decoder.html#ga41">FLAC__stream_decoder_init_ogg_file()</a> are used.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This class wraps the <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>. If you are decoding from a file, <a class="el" href="classFLAC_1_1Decoder_1_1File.html">FLAC::Decoder::File</a> may be more convenient. <a href="classFLAC_1_1Decoder_1_1Stream.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Decoder_1_1File.html">FLAC::Decoder::File</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This class wraps the <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>. If you are not decoding from a file, you may need to use <a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>. <a href="classFLAC_1_1Decoder_1_1File.html#_details">More...</a><br></td></tr>
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flacpp__encoder.html b/3rdparty/libflac/doc/html/api/group__flacpp__encoder.html
deleted file mode 100644
index 6a9cbd7533a..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flacpp__encoder.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC++/encoder.h: encoder classes</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC++/encoder.h: encoder classes<br>
-<small>
-[<a class="el" href="group__flacpp.html">FLAC C++ API</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module describes the encoder layers provided by libFLAC++.
-<p>
-The libFLAC++ encoder classes are object wrappers around their counterparts in libFLAC. All encoding layers available in libFLAC are also provided here. The interface is very similar; make sure to read the <a class="el" href="group__flac__encoder.html">libFLAC encoder module </a>.<p>
-There are only two significant differences here. First, instead of passing in C function pointers for callbacks, you inherit from the encoder class and provide implementations for the callbacks in your derived class; because of this there is no need for a 'client_data' property.<p>
-Second, there are two stream encoder classes. <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a> is used for the same cases that <a class="el" href="group__flac__stream__encoder.html#ga56">FLAC__stream_encoder_init_stream()</a> / <a class="el" href="group__flac__stream__encoder.html#ga57">FLAC__stream_encoder_init_ogg_stream()</a> are used, and <a class="el" href="classFLAC_1_1Encoder_1_1File.html">FLAC::Encoder::File</a> is used for the same cases that <a class="el" href="group__flac__stream__encoder.html#ga58">FLAC__stream_encoder_init_FILE()</a> and <a class="el" href="group__flac__stream__encoder.html#ga60">FLAC__stream_encoder_init_file()</a> / <a class="el" href="group__flac__stream__encoder.html#ga59">FLAC__stream_encoder_init_ogg_FILE()</a> and <a class="el" href="group__flac__stream__encoder.html#ga61">FLAC__stream_encoder_init_ogg_file()</a> are used.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This class wraps the <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a>. If you are encoding to a file, <a class="el" href="classFLAC_1_1Encoder_1_1File.html">FLAC::Encoder::File</a> may be more convenient. <a href="classFLAC_1_1Encoder_1_1Stream.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Encoder_1_1File.html">FLAC::Encoder::File</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This class wraps the <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a>. If you are not encoding to a file, you may need to use <a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a>. <a href="classFLAC_1_1Encoder_1_1File.html#_details">More...</a><br></td></tr>
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flacpp__export.html b/3rdparty/libflac/doc/html/api/group__flacpp__export.html
deleted file mode 100644
index 936f4daaed1..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flacpp__export.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC++/export.h: export symbols</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC++/export.h: export symbols<br>
-<small>
-[<a class="el" href="group__flacpp.html">FLAC C++ API</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module contains #defines and symbols for exporting function calls, and providing version information and compiled-in features.
-<p>
-If you are compiling with MSVC and will link to the static library (libFLAC++.lib) you should define FLAC__NO_DLL in your project to make sure the symbols are exported properly.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga0" doxytag="flacpp_export::FLACPP_API"></a>
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>FLACPP_API</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga1" doxytag="flacpp_export::FLACPP_API_VERSION_CURRENT"></a>
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>FLACPP_API_VERSION_CURRENT</b>&nbsp;&nbsp;&nbsp;8</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga2" doxytag="flacpp_export::FLACPP_API_VERSION_REVISION"></a>
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>FLACPP_API_VERSION_REVISION</b>&nbsp;&nbsp;&nbsp;0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga3" doxytag="flacpp_export::FLACPP_API_VERSION_AGE"></a>
-#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>FLACPP_API_VERSION_AGE</b>&nbsp;&nbsp;&nbsp;2</td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flacpp__metadata.html b/3rdparty/libflac/doc/html/api/group__flacpp__metadata.html
deleted file mode 100644
index 4c5103ea03e..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flacpp__metadata.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC++/metadata.h: metadata interfaces</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC++/metadata.h: metadata interfaces<br>
-<small>
-[<a class="el" href="group__flacpp.html">FLAC C++ API</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module provides classes for creating and manipulating FLAC metadata blocks in memory, and three progressively more powerful interfaces for traversing and editing metadata in FLAC files.
-<p>
-The behavior closely mimics the C layer interface; be sure to read the detailed description of the <a class="el" href="group__flac__metadata.html">C metadata module </a>. Note that like the C layer, currently only the Chain interface (level 2) supports Ogg FLAC files, and it is read-only i.e. no writing back changed metadata to file.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Modules</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html">FLAC++/metadata.h: metadata object classes</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__level0.html">FLAC++/metadata.h: metadata level 0 interface</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__level1.html">FLAC++/metadata.h: metadata level 1 interface</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__level2.html">FLAC++/metadata.h: metadata level 2 interface</a></td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flacpp__metadata__level0.html b/3rdparty/libflac/doc/html/api/group__flacpp__metadata__level0.html
deleted file mode 100644
index 3fcb41d2184..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flacpp__metadata__level0.html
+++ /dev/null
@@ -1,414 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC++/metadata.h: metadata level 0 interface</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC++/metadata.h: metadata level 0 interface<br>
-<small>
-[<a class="el" href="group__flacpp__metadata.html">FLAC++/metadata.h: metadata interfaces</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-Level 0 metadata iterators.
-<p>
-See the <a class="el" href="group__flac__metadata__level0.html">C layer equivalent </a> for more.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__level0.html#ga0">FLAC::Metadata::get_streaminfo</a> (const char *filename, StreamInfo &amp;streaminfo)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__level0.html#ga1">FLAC::Metadata::get_tags</a> (const char *filename, VorbisComment *&amp;tags)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__level0.html#ga2">FLAC::Metadata::get_tags</a> (const char *filename, VorbisComment &amp;tags)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__level0.html#ga3">FLAC::Metadata::get_cuesheet</a> (const char *filename, CueSheet *&amp;cuesheet)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__level0.html#ga4">FLAC::Metadata::get_cuesheet</a> (const char *filename, CueSheet &amp;cuesheet)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__level0.html#ga5">FLAC::Metadata::get_picture</a> (const char *filename, Picture *&amp;picture,::<a class="el" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> type, const char *mime_type, const FLAC__byte *description, unsigned max_width, unsigned max_height, unsigned max_depth, unsigned max_colors)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__level0.html#ga6">FLAC::Metadata::get_picture</a> (const char *filename, Picture &amp;picture,::<a class="el" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> type, const char *mime_type, const FLAC__byte *description, unsigned max_width, unsigned max_height, unsigned max_depth, unsigned max_colors)</td></tr>
-
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="ga0" doxytag="FLAC::Metadata::get_streaminfo"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::get_streaminfo </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>StreamInfo &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>streaminfo</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level0.html#ga0">FLAC__metadata_get_streaminfo()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga1" doxytag="FLAC::Metadata::get_tags"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::get_tags </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>VorbisComment *&amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>tags</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level0.html#ga1">FLAC__metadata_get_tags()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga2" doxytag="FLAC::Metadata::get_tags"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::get_tags </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>VorbisComment &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>tags</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level0.html#ga1">FLAC__metadata_get_tags()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga3" doxytag="FLAC::Metadata::get_cuesheet"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::get_cuesheet </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>CueSheet *&amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>cuesheet</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level0.html#ga2">FLAC__metadata_get_cuesheet()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga4" doxytag="FLAC::Metadata::get_cuesheet"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::get_cuesheet </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>CueSheet &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>cuesheet</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level0.html#ga2">FLAC__metadata_get_cuesheet()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga5" doxytag="FLAC::Metadata::get_picture"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::get_picture </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>Picture *&amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>picture</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>::<a class="el" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>type</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>mime_type</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const FLAC__byte *&nbsp;</td>
- <td class="mdname" nowrap> <em>description</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>max_width</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>max_height</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>max_depth</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>max_colors</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level0.html#ga3">FLAC__metadata_get_picture()</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ga6" doxytag="FLAC::Metadata::get_picture"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::get_picture </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>Picture &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>picture</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>::<a class="el" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>type</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>mime_type</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const FLAC__byte *&nbsp;</td>
- <td class="mdname" nowrap> <em>description</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>max_width</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>max_height</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>max_depth</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned&nbsp;</td>
- <td class="mdname" nowrap> <em>max_colors</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-See <a class="el" href="group__flac__metadata__level0.html#ga3">FLAC__metadata_get_picture()</a>.
-<p>
- </td>
- </tr>
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flacpp__metadata__level1.html b/3rdparty/libflac/doc/html/api/group__flacpp__metadata__level1.html
deleted file mode 100644
index 29500b78eac..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flacpp__metadata__level1.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC++/metadata.h: metadata level 1 interface</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC++/metadata.h: metadata level 1 interface<br>
-<small>
-[<a class="el" href="group__flacpp__metadata.html">FLAC++/metadata.h: metadata interfaces</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-Level 1 metadata iterator.
-<p>
-The flow through the iterator in the C++ layer is similar to the C layer:<ul>
-<li>Create a SimpleIterator instance</li><li>Check SimpleIterator::is_valid()</li><li>Call SimpleIterator::init() and check the return</li><li>Traverse and/or edit. Edits are written to file immediately.</li><li>Destroy the SimpleIterator instance</li></ul>
-<p>
-The ownership of pointers in the C++ layer follows that in the C layer, i.e.<ul>
-<li>The objects returned by get_block() are yours to modify, but changes are not reflected in the FLAC file until you call set_block(). The objects are also yours to delete; they are not automatically deleted when passed to set_block() or insert_block_after().</li></ul>
-<p>
-See the <a class="el" href="group__flac__metadata__level1.html">C layer equivalent </a> for more.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a></td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flacpp__metadata__level2.html b/3rdparty/libflac/doc/html/api/group__flacpp__metadata__level2.html
deleted file mode 100644
index 2b302e90127..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flacpp__metadata__level2.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC++/metadata.h: metadata level 2 interface</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC++/metadata.h: metadata level 2 interface<br>
-<small>
-[<a class="el" href="group__flacpp__metadata.html">FLAC++/metadata.h: metadata interfaces</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-Level 2 metadata iterator.
-<p>
-The flow through the iterator in the C++ layer is similar to the C layer:<ul>
-<li>Create a Chain instance</li><li>Check Chain::is_valid()</li><li>Call Chain::read() and check the return</li><li>Traverse and/or edit with an Iterator or with Chain::merge_padding() or Chain::sort_padding()</li><li>Write changes back to FLAC file with Chain::write()</li><li>Destroy the Chain instance</li></ul>
-<p>
-The ownership of pointers in the C++ layer is slightly different than in the C layer, i.e.<ul>
-<li>The objects returned by Iterator::get_block() are NOT owned by the iterator and should be deleted by the caller when finished, BUT, when you modify the block, it will directly edit what's in the chain and you do not need to call Iterator::set_block(). However the changes will not be reflected in the FLAC file until the chain is written with Chain::write().</li><li>When you pass an object to Iterator::set_block(), Iterator::insert_block_before(), or Iterator::insert_block_after(), the iterator takes ownership of the block and it will be deleted by the chain.</li></ul>
-<p>
-See the <a class="el" href="group__flac__metadata__level2.html">C layer equivalent </a> for more.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a></td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__flacpp__metadata__object.html b/3rdparty/libflac/doc/html/api/group__flacpp__metadata__object.html
deleted file mode 100644
index 9bc8d40b361..00000000000
--- a/3rdparty/libflac/doc/html/api/group__flacpp__metadata__object.html
+++ /dev/null
@@ -1,227 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC++/metadata.h: metadata object classes</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC++/metadata.h: metadata object classes<br>
-<small>
-[<a class="el" href="group__flacpp__metadata.html">FLAC++/metadata.h: metadata interfaces</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module contains classes representing FLAC metadata blocks in memory.<p>
-The behavior closely mimics the C layer interface; be sure to read the detailed description of the <a class="el" href="group__flac__metadata__object.html">C metadata object module </a>.<p>
-Any time a metadata object is constructed or assigned, you should check is_valid() to make sure the underlying <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> object was able to be created.<p>
-<dl compact><dt><b>Warning:</b></dt><dd>When the get_*() methods of any metadata object method return you a const pointer, DO NOT disobey and write into it. Always use the set_*() methods. </dd></dl>
-
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">Prototype *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga0">FLAC::Metadata::clone</a> (const Prototype *)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga1">FLAC::Metadata::Prototype::operator==</a> (const Prototype &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga2" doxytag="flacpp_metadata_object::operator=="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga3" doxytag="flacpp_metadata_object::operator=="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga4">FLAC::Metadata::Prototype::operator!=</a> (const Prototype &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga5" doxytag="flacpp_metadata_object::operator!="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga6" doxytag="flacpp_metadata_object::operator!="></a>
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga7">FLAC::Metadata::Prototype::is_valid</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga8">FLAC::Metadata::Prototype::operator const ::FLAC__StreamMetadata *</a> () const </td></tr>
-
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="ga0" doxytag="FLAC::Metadata::clone"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">Prototype* FLAC::Metadata::clone </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const Prototype *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Create a deep copy of an object and return it. </td>
- </tr>
-</table>
-<a class="anchor" name="ga1" doxytag="FLAC::Metadata::Prototype::operator=="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Prototype::operator== </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check for equality, performing a deep compare by following pointers. </td>
- </tr>
-</table>
-<a class="anchor" name="ga4" doxytag="FLAC::Metadata::Prototype::operator!="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Prototype::operator!= </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check for inequality, performing a deep compare by following pointers. </td>
- </tr>
-</table>
-<a class="anchor" name="ga7" doxytag="FLAC::Metadata::Prototype::is_valid"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool FLAC::Metadata::Prototype::is_valid </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns <code>true</code> if the object was correctly constructed (i.e. the underlying <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> object was properly allocated), else <code>false</code>. </td>
- </tr>
-</table>
-<a class="anchor" name="ga8" doxytag="FLAC::Metadata::Prototype::operator const ::FLAC__StreamMetadata *"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC::Metadata::Prototype::operator const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> * </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline, inherited]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns a pointer to the underlying <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> object. This can be useful for plugging any holes between the C++ and C interfaces.<p>
-<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>()
-</pre></div> </dd></dl>
- </td>
- </tr>
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__porting.html b/3rdparty/libflac/doc/html/api/group__porting.html
deleted file mode 100644
index 61b2aa3dca3..00000000000
--- a/3rdparty/libflac/doc/html/api/group__porting.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Porting Guide for New Versions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>Porting Guide for New Versions</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module describes differences in the library interfaces from version to version. It assists in the porting of code that uses the libraries to newer versions of FLAC.<p>
-One simple facility for making porting easier that has been added in FLAC 1.1.3 is a set of <code>#defines</code> in <code>export.h</code> of each library's includes (e.g. <code>include/FLAC/export</code>.h). The <code>#defines</code> mirror the libraries' <a href="http://www.gnu.org/software/libtool/manual.html#Libtool-versioning">libtool version numbers</a>, e.g. in libFLAC there are <code>FLAC_API_VERSION_CURRENT</code>, <code>FLAC_API_VERSION_REVISION</code>, and <code>FLAC_API_VERSION_AGE</code>. These can be used to support multiple versions of an API during the transition phase, e.g.<p>
-<div class="fragment"><pre class="fragment"><span class="preprocessor"> #if !defined(FLAC_API_VERSION_CURRENT) || FLAC_API_VERSION_CURRENT &lt;= 7</span>
-<span class="preprocessor"></span> legacy code
-<span class="preprocessor"> #else</span>
-<span class="preprocessor"></span> <span class="keyword">new</span> code
-<span class="preprocessor"> #endif</span>
-</pre></div><p>
-The the source will work for multiple versions and the legacy code can easily be removed when the transition is complete.<p>
-Another available symbol is FLAC_API_SUPPORTS_OGG_FLAC (defined in include/FLAC/export.h), which can be used to determine whether or not the library has been compiled with support for Ogg FLAC. This is simpler than trying to call an Ogg init function and catching the error.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Modules</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__porting__1__1__2__to__1__1__3.html">Porting from FLAC 1.1.2 to 1.1.3</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__porting__1__1__3__to__1__1__4.html">Porting from FLAC 1.1.3 to 1.1.4</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__porting__1__1__4__to__1__2__0.html">Porting from FLAC 1.1.4 to 1.2.0</a></td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__porting__1__1__2__to__1__1__3.html b/3rdparty/libflac/doc/html/api/group__porting__1__1__2__to__1__1__3.html
deleted file mode 100644
index b484c81be89..00000000000
--- a/3rdparty/libflac/doc/html/api/group__porting__1__1__2__to__1__1__3.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Porting from FLAC 1.1.2 to 1.1.3</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>Porting from FLAC 1.1.2 to 1.1.3<br>
-<small>
-[<a class="el" href="group__porting.html">Porting Guide for New Versions</a>]</small>
-</h1>The main change between the APIs in 1.1.2 and 1.1.3 is that they have been simplified. First, libOggFLAC has been merged into libFLAC and libOggFLAC++ has been merged into libFLAC++. Second, both the three decoding layers and three encoding layers have been merged into a single stream decoder and stream encoder. That is, the functionality of FLAC__SeekableStreamDecoder and FLAC__FileDecoder has been merged into <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>, and FLAC__SeekableStreamEncoder and FLAC__FileEncoder into <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a>. Only the <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> and <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> remain. What this means is there is now a single API that can be used to encode or decode streams to/from native FLAC or Ogg FLAC and the single API can work on both seekable and non-seekable streams.<p>
-Instead of creating an encoder or decoder of a certain layer, now the client will always create a <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> or <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>. The old layers are now differentiated by the initialization function. For example, for the decoder, FLAC__stream_decoder_init() has been replaced by <a class="el" href="group__flac__stream__decoder.html#ga36">FLAC__stream_decoder_init_stream()</a>. This init function takes callbacks for the I/O, and the seeking callbacks are optional. This allows the client to use the same object for seekable and non-seekable streams. For decoding a FLAC file directly, the client can use <a class="el" href="group__flac__stream__decoder.html#ga40">FLAC__stream_decoder_init_file()</a> and pass just a filename and fewer callbacks; most of the other callbacks are supplied internally. For situations where fopen()ing by filename is not possible (e.g. Unicode filenames on Windows) the client can instead open the file itself and supply the FILE* to <a class="el" href="group__flac__stream__decoder.html#ga38">FLAC__stream_decoder_init_FILE()</a>. The init functions now returns a FLAC__StreamDecoderInitStatus instead of FLAC__StreamDecoderState. Since the callbacks and client data are now passed to the init function, the FLAC__stream_decoder_set_*_callback() functions and FLAC__stream_decoder_set_client_data() are no longer needed. The rest of the calls to the decoder are the same as before.<p>
-There are counterpart init functions for Ogg FLAC, e.g. <a class="el" href="group__flac__stream__decoder.html#ga37">FLAC__stream_decoder_init_ogg_stream()</a>. All the rest of the calls and callbacks are the same as for native FLAC.<p>
-As an example, in FLAC 1.1.2 a seekable stream decoder would have been set up like so:<p>
-<div class="fragment"><pre class="fragment"> FLAC__SeekableStreamDecoder *decoder = FLAC__seekable_stream_decoder_new();
- <span class="keywordflow">if</span>(decoder == NULL) do_something;
- FLAC__seekable_stream_decoder_set_md5_checking(decoder, <span class="keyword">true</span>);
- [... other settings ...]
- FLAC__seekable_stream_decoder_set_read_callback(decoder, my_read_callback);
- FLAC__seekable_stream_decoder_set_seek_callback(decoder, my_seek_callback);
- FLAC__seekable_stream_decoder_set_tell_callback(decoder, my_tell_callback);
- FLAC__seekable_stream_decoder_set_length_callback(decoder, my_length_callback);
- FLAC__seekable_stream_decoder_set_eof_callback(decoder, my_eof_callback);
- FLAC__seekable_stream_decoder_set_write_callback(decoder, my_write_callback);
- FLAC__seekable_stream_decoder_set_metadata_callback(decoder, my_metadata_callback);
- FLAC__seekable_stream_decoder_set_error_callback(decoder, my_error_callback);
- FLAC__seekable_stream_decoder_set_client_data(decoder, my_client_data);
- <span class="keywordflow">if</span>(FLAC__seekable_stream_decoder_init(decoder) != FLAC__SEEKABLE_STREAM_DECODER_OK) do_something;
-</pre></div><p>
-In FLAC 1.1.3 it is like this:<p>
-<div class="fragment"><pre class="fragment"> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder = <a class="code" href="group__flac__stream__decoder.html#ga16">FLAC__stream_decoder_new</a>();
- <span class="keywordflow">if</span>(decoder == NULL) do_something;
- <a class="code" href="group__flac__stream__decoder.html#ga19">FLAC__stream_decoder_set_md5_checking</a>(decoder, <span class="keyword">true</span>);
- [... other settings ...]
- <span class="keywordflow">if</span>(<a class="code" href="group__flac__stream__decoder.html#ga36">FLAC__stream_decoder_init_stream</a>(
- decoder,
- my_read_callback,
- my_seek_callback, <span class="comment">// or NULL</span>
- my_tell_callback, <span class="comment">// or NULL</span>
- my_length_callback, <span class="comment">// or NULL</span>
- my_eof_callback, <span class="comment">// or NULL</span>
- my_write_callback,
- my_metadata_callback, <span class="comment">// or NULL</span>
- my_error_callback,
- my_client_data
- ) != <a class="code" href="group__flac__stream__decoder.html#gga51a26">FLAC__STREAM_DECODER_INIT_STATUS_OK</a>) do_something;
-</pre></div><p>
-or you could do;<p>
-<div class="fragment"><pre class="fragment"> [...]
- FILE *file = fopen(<span class="stringliteral">"somefile.flac"</span>,<span class="stringliteral">"rb"</span>);
- <span class="keywordflow">if</span>(file == NULL) do_somthing;
- <span class="keywordflow">if</span>(<a class="code" href="group__flac__stream__decoder.html#ga38">FLAC__stream_decoder_init_FILE</a>(
- decoder,
- file,
- my_write_callback,
- my_metadata_callback, <span class="comment">// or NULL</span>
- my_error_callback,
- my_client_data
- ) != <a class="code" href="group__flac__stream__decoder.html#gga51a26">FLAC__STREAM_DECODER_INIT_STATUS_OK</a>) do_something;
-</pre></div><p>
-or just:<p>
-<div class="fragment"><pre class="fragment"> [...]
- <span class="keywordflow">if</span>(<a class="code" href="group__flac__stream__decoder.html#ga40">FLAC__stream_decoder_init_file</a>(
- decoder,
- <span class="stringliteral">"somefile.flac"</span>,
- my_write_callback,
- my_metadata_callback, <span class="comment">// or NULL</span>
- my_error_callback,
- my_client_data
- ) != <a class="code" href="group__flac__stream__decoder.html#gga51a26">FLAC__STREAM_DECODER_INIT_STATUS_OK</a>) do_something;
-</pre></div><p>
-Another small change to the decoder is in how it handles unparseable streams. Before, when the decoder found an unparseable stream (reserved for when the decoder encounters a stream from a future encoder that it can't parse), it changed the state to <code>FLAC__STREAM_DECODER_UNPARSEABLE_STREAM</code>. Now the decoder instead drops sync and calls the error callback with a new error code <code>FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM</code>. This is more robust. If your error callback does not discriminate on the the error state, your code does not need to be changed.<p>
-The encoder now has a new setting: <a class="el" href="group__flac__stream__encoder.html#ga24">FLAC__stream_encoder_set_apodization()</a>. This is for setting the method used to window the data before LPC analysis. You only need to add a call to this function if the default is not suitable. There are also two new convenience functions that may be useful: <a class="el" href="group__flac__metadata__object.html#ga41">FLAC__metadata_object_cuesheet_calculate_cddb_id()</a> and <a class="el" href="group__flac__metadata__level0.html#ga2">FLAC__metadata_get_cuesheet()</a>.<p>
-The <em>bytes</em> parameter to FLAC__StreamDecoderReadCallback, FLAC__StreamEncoderReadCallback, and FLAC__StreamEncoderWriteCallback is now <code>size_t</code> instead of <code>unsigned</code>.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__porting__1__1__3__to__1__1__4.html b/3rdparty/libflac/doc/html/api/group__porting__1__1__3__to__1__1__4.html
deleted file mode 100644
index 6f3898fd866..00000000000
--- a/3rdparty/libflac/doc/html/api/group__porting__1__1__3__to__1__1__4.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Porting from FLAC 1.1.3 to 1.1.4</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>Porting from FLAC 1.1.3 to 1.1.4<br>
-<small>
-[<a class="el" href="group__porting.html">Porting Guide for New Versions</a>]</small>
-</h1>There were no changes to any of the interfaces from 1.1.3 to 1.1.4. There was a slight change in the implementation of <a class="el" href="group__flac__stream__encoder.html#ga34">FLAC__stream_encoder_set_metadata()</a>; the function now makes a copy of the <em>metadata</em> array of pointers so the client no longer needs to maintain it after the call. The objects themselves that are pointed to by the array are still not copied though and must be maintained until the call to <a class="el" href="group__flac__stream__encoder.html#ga62">FLAC__stream_encoder_finish()</a>.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/group__porting__1__1__4__to__1__2__0.html b/3rdparty/libflac/doc/html/api/group__porting__1__1__4__to__1__2__0.html
deleted file mode 100644
index 51e1ea8cbbc..00000000000
--- a/3rdparty/libflac/doc/html/api/group__porting__1__1__4__to__1__2__0.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Porting from FLAC 1.1.4 to 1.2.0</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>Porting from FLAC 1.1.4 to 1.2.0<br>
-<small>
-[<a class="el" href="group__porting.html">Porting Guide for New Versions</a>]</small>
-</h1>There were only very minor changes to the interfaces from 1.1.4 to 1.2.0. In libFLAC, <code><a class="el" href="group__flac__format.html#ga81">FLAC__format_sample_rate_is_subset()</a></code> was added. In libFLAC++, <code><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html#FLAC_1_1Decoder_1_1Streama20">FLAC::Decoder::Stream::get_decode_position()</a></code> was added.<p>
-Finally, value of the constant <code>FLAC__FRAME_HEADER_RESERVED_LEN</code> has changed to reflect the conversion of one of the reserved bits into active use. It used to be <code>2</code> and now is <code>1</code>. However the FLAC frame header length has not changed, so to skip the proper number of bits, use <code>FLAC__FRAME_HEADER_RESERVED_LEN</code> + <code>FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN</code>
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/hierarchy.html b/3rdparty/libflac/doc/html/api/hierarchy.html
deleted file mode 100644
index 3a50c347c8c..00000000000
--- a/3rdparty/libflac/doc/html/api/hierarchy.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Hierarchical Index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindexHL" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
-<li><a class="el" href="classFLAC_1_1Metadata_1_1Chain.html">FLAC::Metadata::Chain</a>
-<li><a class="el" href="classFLAC_1_1Metadata_1_1Chain_1_1Status.html">FLAC::Metadata::Chain::Status</a>
-<li><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">FLAC::Metadata::CueSheet::Track</a>
-<li><a class="el" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a>
-<li><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRice.html">FLAC__EntropyCodingMethod_PartitionedRice</a>
-<li><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html">FLAC__EntropyCodingMethod_PartitionedRiceContents</a>
-<li><a class="el" href="structFLAC____Frame.html">FLAC__Frame</a>
-<li><a class="el" href="structFLAC____FrameFooter.html">FLAC__FrameFooter</a>
-<li><a class="el" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a>
-<li><a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a>
-<li><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>
-<li><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a>
-<li><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>
-<li><a class="el" href="structFLAC____StreamMetadata__Application.html">FLAC__StreamMetadata_Application</a>
-<li><a class="el" href="structFLAC____StreamMetadata__CueSheet.html">FLAC__StreamMetadata_CueSheet</a>
-<li><a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a>
-<li><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a>
-<li><a class="el" href="structFLAC____StreamMetadata__Padding.html">FLAC__StreamMetadata_Padding</a>
-<li><a class="el" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a>
-<li><a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a>
-<li><a class="el" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a>
-<li><a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a>
-<li><a class="el" href="structFLAC____StreamMetadata__Unknown.html">FLAC__StreamMetadata_Unknown</a>
-<li><a class="el" href="structFLAC____StreamMetadata__VorbisComment.html">FLAC__StreamMetadata_VorbisComment</a>
-<li><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>
-<li><a class="el" href="structFLAC____Subframe.html">FLAC__Subframe</a>
-<li><a class="el" href="structFLAC____Subframe__Constant.html">FLAC__Subframe_Constant</a>
-<li><a class="el" href="structFLAC____Subframe__Fixed.html">FLAC__Subframe_Fixed</a>
-<li><a class="el" href="structFLAC____Subframe__LPC.html">FLAC__Subframe_LPC</a>
-<li><a class="el" href="structFLAC____Subframe__Verbatim.html">FLAC__Subframe_Verbatim</a>
-<li><a class="el" href="classFLAC_1_1Metadata_1_1Iterator.html">FLAC::Metadata::Iterator</a>
-<li><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a>
-<ul>
-<li><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a>
-<li><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a>
-<li><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a>
-<li><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a>
-<li><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a>
-<li><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a>
-<li><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a>
-<li><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a>
-</ul>
-<li><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">FLAC::Metadata::SimpleIterator</a>
-<li><a class="el" href="classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html">FLAC::Metadata::SimpleIterator::Status</a>
-<li><a class="el" href="classFLAC_1_1Decoder_1_1Stream.html">FLAC::Decoder::Stream</a>
-<ul>
-<li><a class="el" href="classFLAC_1_1Decoder_1_1File.html">FLAC::Decoder::File</a>
-</ul>
-<li><a class="el" href="classFLAC_1_1Encoder_1_1Stream.html">FLAC::Encoder::Stream</a>
-<ul>
-<li><a class="el" href="classFLAC_1_1Encoder_1_1File.html">FLAC::Encoder::File</a>
-</ul>
-<li><a class="el" href="classFLAC_1_1Decoder_1_1Stream_1_1State.html">FLAC::Decoder::Stream::State</a>
-<li><a class="el" href="classFLAC_1_1Encoder_1_1Stream_1_1State.html">FLAC::Encoder::Stream::State</a>
-<li><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">FLAC::Metadata::VorbisComment::Entry</a>
-</ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/index.html b/3rdparty/libflac/doc/html/api/index.html
deleted file mode 100644
index 9fb161cd66e..00000000000
--- a/3rdparty/libflac/doc/html/api/index.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Main Page</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindexHL" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC Documentation</h1>
-<p>
-<h3 align="center">1.2.1 </h3><h2><a class="anchor" name="intro">
-Introduction</a></h2>
-This is the documentation for the FLAC C and C++ APIs. It is highly interconnected; this introduction should give you a top level idea of the structure and how to find the information you need. As a prerequisite you should have at least a basic knowledge of the FLAC format, documented <a href="../format.html">here</a>.<h2><a class="anchor" name="c_api">
-FLAC C API</a></h2>
-The FLAC C API is the interface to libFLAC, a set of structures describing the components of FLAC streams, and functions for encoding and decoding streams, as well as manipulating FLAC metadata in files. The public include files will be installed in your include area (for example /usr/include/FLAC/...).<p>
-By writing a little code and linking against libFLAC, it is relatively easy to add FLAC support to another program. The library is licensed under <a href="../license.html">Xiph's BSD license</a>. Complete source code of libFLAC as well as the command-line encoder and plugins is available and is a useful source of examples.<p>
-Aside from encoders and decoders, libFLAC provides a powerful metadata interface for manipulating metadata in FLAC files. It allows the user to add, delete, and modify FLAC metadata blocks and it can automatically take advantage of PADDING blocks to avoid rewriting the entire FLAC file when changing the size of the metadata.<p>
-libFLAC usually only requires the standard C library and C math library. In particular, threading is not used so there is no dependency on a thread library. However, libFLAC does not use global variables and should be thread-safe.<p>
-libFLAC also supports encoding to and decoding from Ogg FLAC. However the metadata editing interfaces currently have limited read-only support for Ogg FLAC files.<h2><a class="anchor" name="cpp_api">
-FLAC C++ API</a></h2>
-The FLAC C++ API is a set of classes that encapsulate the structures and functions in libFLAC. They provide slightly more functionality with respect to metadata but are otherwise equivalent. For the most part, they share the same usage as their counterparts in libFLAC, and the FLAC C API documentation can be used as a supplement. The public include files for the C++ API will be installed in your include area (for example /usr/include/FLAC++/...).<p>
-libFLAC++ is also licensed under <a href="../license.html">Xiph's BSD license</a>.<h2><a class="anchor" name="getting_started">
-Getting Started</a></h2>
-A good starting point for learning the API is to browse through the <a href="modules.html">modules</a>. Modules are logical groupings of related functions or classes, which correspond roughly to header files or sections of header files. Each module includes a detailed description of the general usage of its functions or classes.<p>
-From there you can go on to look at the documentation of individual functions. You can see different views of the individual functions through the links in top bar across this page.<p>
-If you prefer a more hands-on approach, you can jump right to some <a href="../documentation_example_code.html">example code</a>.<h2><a class="anchor" name="porting_guide">
-Porting Guide</a></h2>
-Starting with FLAC 1.1.3 a <a class="el" href="group__porting.html">Porting Guide </a> has been introduced which gives detailed instructions on how to port your code to newer versions of FLAC.<h2><a class="anchor" name="embedded_developers">
-Embedded Developers</a></h2>
-libFLAC has grown larger over time as more functionality has been included, but much of it may be unnecessary for a particular embedded implementation. Unused parts may be pruned by some simple editing of src/libFLAC/Makefile.am. In general, the decoders, encoders, and metadata interface are all independent from each other.<p>
-It is easiest to just describe the dependencies:<p>
-<ul>
-<li>All modules depend on the <a class="el" href="group__flac__format.html">Format </a> module.</li><li>The decoders and encoders depend on the bitbuffer.</li><li>The decoder is independent of the encoder. The encoder uses the decoder because of the verify feature, but this can be removed if not needed.</li><li>Parts of the metadata interface require the stream decoder (but not the encoder).</li><li>Ogg support is selectable through the compile time macro <code>FLAC__HAS_OGG</code>.</li></ul>
-<p>
-For example, if your application only requires the stream decoder, no encoder, and no metadata interface, you can remove the stream encoder and the metadata interface, which will greatly reduce the size of the library.<p>
-Also, there are several places in the libFLAC code with comments marked with "OPT:" where a #define can be changed to enable code that might be faster on a specific platform. Experimenting with these can yield faster binaries.
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/metadata_8h-source.html b/3rdparty/libflac/doc/html/api/metadata_8h-source.html
deleted file mode 100644
index 44bd5422393..00000000000
--- a/3rdparty/libflac/doc/html/api/metadata_8h-source.html
+++ /dev/null
@@ -1,335 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC/metadata.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000002.html">FLAC</a></div>
-<h1>metadata.h</h1><a href="metadata_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/* libFLAC - Free Lossless Audio Codec library</span>
-00002 <span class="comment"> * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson</span>
-00003 <span class="comment"> *</span>
-00004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
-00005 <span class="comment"> * modification, are permitted provided that the following conditions</span>
-00006 <span class="comment"> * are met:</span>
-00007 <span class="comment"> *</span>
-00008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span>
-00009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
-00010 <span class="comment"> *</span>
-00011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span>
-00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
-00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
-00014 <span class="comment"> *</span>
-00015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span>
-00016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span>
-00017 <span class="comment"> * this software without specific prior written permission.</span>
-00018 <span class="comment"> *</span>
-00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-00020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR</span>
-00023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span>
-00024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span>
-00025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span>
-00026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span>
-00027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span>
-00028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span>
-00029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-00030 <span class="comment"> */</span>
-00031
-00032 <span class="preprocessor">#ifndef FLAC__METADATA_H</span>
-00033 <span class="preprocessor"></span><span class="preprocessor">#define FLAC__METADATA_H</span>
-00034 <span class="preprocessor"></span>
-00035 <span class="preprocessor">#include &lt;sys/types.h&gt;</span> <span class="comment">/* for off_t */</span>
-00036 <span class="preprocessor">#include "<a class="code" href="export_8h.html">export.h</a>"</span>
-00037 <span class="preprocessor">#include "<a class="code" href="callback_8h.html">callback.h</a>"</span>
-00038 <span class="preprocessor">#include "<a class="code" href="format_8h.html">format.h</a>"</span>
-00039
-00040 <span class="comment">/* --------------------------------------------------------------------</span>
-00041 <span class="comment"> (For an example of how all these routines are used, see the source</span>
-00042 <span class="comment"> code for the unit tests in src/test_libFLAC/metadata_*.c, or</span>
-00043 <span class="comment"> metaflac in src/metaflac/)</span>
-00044 <span class="comment"> ------------------------------------------------------------------*/</span>
-00045
-00123 <span class="preprocessor">#ifdef __cplusplus</span>
-00124 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
-00125 <span class="preprocessor">#endif</span>
-00126 <span class="preprocessor"></span>
-00127
-00158 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level0.html#ga0">FLAC__metadata_get_streaminfo</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *streaminfo);
-00159
-00177 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level0.html#ga1">FLAC__metadata_get_tags</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **tags);
-00178
-00196 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level0.html#ga2">FLAC__metadata_get_cuesheet</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **cuesheet);
-00197
-00236 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level0.html#ga3">FLAC__metadata_get_picture</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **picture, <a class="code" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> type, <span class="keyword">const</span> <span class="keywordtype">char</span> *mime_type, <span class="keyword">const</span> FLAC__byte *description, <span class="keywordtype">unsigned</span> max_width, <span class="keywordtype">unsigned</span> max_height, <span class="keywordtype">unsigned</span> max_depth, <span class="keywordtype">unsigned</span> max_colors);
-00237
-00238 <span class="comment">/* \} */</span>
-00239
-00240
-00296 <span class="keyword">struct </span><a class="code" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a>;
-<a name="l00302"></a><a class="code" href="group__flac__metadata__level1.html#ga0">00302</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> FLAC__Metadata_SimpleIterator;
-00303
-<a name="l00308"></a><a class="code" href="group__flac__metadata__level1.html#ga18">00308</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00309
-00310 <a class="code" href="group__flac__metadata__level1.html#gga18a5">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK</a> = 0,
-00313 <a class="code" href="group__flac__metadata__level1.html#gga18a6">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT</a>,
-00316 <a class="code" href="group__flac__metadata__level1.html#gga18a7">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE</a>,
-00319 <a class="code" href="group__flac__metadata__level1.html#gga18a8">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_A_FLAC_FILE</a>,
-00322 <a class="code" href="group__flac__metadata__level1.html#gga18a9">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_WRITABLE</a>,
-00325 <a class="code" href="group__flac__metadata__level1.html#gga18a10">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA</a>,
-00328 <a class="code" href="group__flac__metadata__level1.html#gga18a11">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR</a>,
-00331 <a class="code" href="group__flac__metadata__level1.html#gga18a12">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR</a>,
-00334 <a class="code" href="group__flac__metadata__level1.html#gga18a13">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_WRITE_ERROR</a>,
-00337 <a class="code" href="group__flac__metadata__level1.html#gga18a14">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_RENAME_ERROR</a>,
-00340 <a class="code" href="group__flac__metadata__level1.html#gga18a15">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_UNLINK_ERROR</a>,
-00343 <a class="code" href="group__flac__metadata__level1.html#gga18a16">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR</a>,
-00346 <a class="code" href="group__flac__metadata__level1.html#gga18a17">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_INTERNAL_ERROR</a>
-00349 } <a class="code" href="group__flac__metadata__level1.html#ga18">FLAC__Metadata_SimpleIteratorStatus</a>;
-00350
-00356 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__metadata__level1.html#ga1">FLAC__Metadata_SimpleIteratorStatusString</a>[];
-00357
-00358
-00364 FLAC_API FLAC__Metadata_SimpleIterator *<a class="code" href="group__flac__metadata__level1.html#ga2">FLAC__metadata_simple_iterator_new</a>(<span class="keywordtype">void</span>);
-00365
-00372 FLAC_API <span class="keywordtype">void</span> <a class="code" href="group__flac__metadata__level1.html#ga3">FLAC__metadata_simple_iterator_delete</a>(FLAC__Metadata_SimpleIterator *iterator);
-00373
-00384 FLAC_API FLAC__Metadata_SimpleIteratorStatus <a class="code" href="group__flac__metadata__level1.html#ga4">FLAC__metadata_simple_iterator_status</a>(FLAC__Metadata_SimpleIterator *iterator);
-00385
-00405 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level1.html#ga5">FLAC__metadata_simple_iterator_init</a>(FLAC__Metadata_SimpleIterator *iterator, <span class="keyword">const</span> <span class="keywordtype">char</span> *filename, FLAC__bool read_only, FLAC__bool preserve_file_stats);
-00406
-00417 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level1.html#ga6">FLAC__metadata_simple_iterator_is_writable</a>(<span class="keyword">const</span> FLAC__Metadata_SimpleIterator *iterator);
-00418
-00431 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level1.html#ga7">FLAC__metadata_simple_iterator_next</a>(FLAC__Metadata_SimpleIterator *iterator);
-00432
-00445 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level1.html#ga8">FLAC__metadata_simple_iterator_prev</a>(FLAC__Metadata_SimpleIterator *iterator);
-00446
-00458 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level1.html#ga9">FLAC__metadata_simple_iterator_is_last</a>(<span class="keyword">const</span> FLAC__Metadata_SimpleIterator *iterator);
-00459
-00474 FLAC_API off_t <a class="code" href="group__flac__metadata__level1.html#ga10">FLAC__metadata_simple_iterator_get_block_offset</a>(<span class="keyword">const</span> FLAC__Metadata_SimpleIterator *iterator);
-00475
-00488 FLAC_API <a class="code" href="group__flac__format.html#ga113">FLAC__MetadataType</a> <a class="code" href="group__flac__metadata__level1.html#ga11">FLAC__metadata_simple_iterator_get_block_type</a>(<span class="keyword">const</span> FLAC__Metadata_SimpleIterator *iterator);
-00489
-00505 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__metadata__level1.html#ga12">FLAC__metadata_simple_iterator_get_block_length</a>(<span class="keyword">const</span> FLAC__Metadata_SimpleIterator *iterator);
-00506
-00530 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level1.html#ga13">FLAC__metadata_simple_iterator_get_application_id</a>(FLAC__Metadata_SimpleIterator *iterator, FLAC__byte *<span class="keywordtype">id</span>);
-00531
-00548 FLAC_API <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *<a class="code" href="group__flac__metadata__level1.html#ga14">FLAC__metadata_simple_iterator_get_block</a>(FLAC__Metadata_SimpleIterator *iterator);
-00549
-00604 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level1.html#ga15">FLAC__metadata_simple_iterator_set_block</a>(FLAC__Metadata_SimpleIterator *iterator, <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block, FLAC__bool use_padding);
-00605
-00629 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level1.html#ga16">FLAC__metadata_simple_iterator_insert_block_after</a>(FLAC__Metadata_SimpleIterator *iterator, <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block, FLAC__bool use_padding);
-00630
-00648 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level1.html#ga17">FLAC__metadata_simple_iterator_delete_block</a>(FLAC__Metadata_SimpleIterator *iterator, FLAC__bool use_padding);
-00649
-00650 <span class="comment">/* \} */</span>
-00651
-00652
-00710 <span class="keyword">struct </span><a class="code" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a>;
-<a name="l00713"></a><a class="code" href="group__flac__metadata__level2.html#ga0">00713</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> FLAC__Metadata_Chain;
-00714
-00715 <span class="keyword">struct </span><a class="code" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a>;
-<a name="l00718"></a><a class="code" href="group__flac__metadata__level2.html#ga1">00718</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> FLAC__Metadata_Iterator;
-00719
-<a name="l00720"></a><a class="code" href="group__flac__metadata__level2.html#ga27">00720</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00721 <a class="code" href="group__flac__metadata__level2.html#gga27a18">FLAC__METADATA_CHAIN_STATUS_OK</a> = 0,
-00724 <a class="code" href="group__flac__metadata__level2.html#gga27a19">FLAC__METADATA_CHAIN_STATUS_ILLEGAL_INPUT</a>,
-00727 <a class="code" href="group__flac__metadata__level2.html#gga27a20">FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE</a>,
-00730 <a class="code" href="group__flac__metadata__level2.html#gga27a21">FLAC__METADATA_CHAIN_STATUS_NOT_A_FLAC_FILE</a>,
-00733 <a class="code" href="group__flac__metadata__level2.html#gga27a22">FLAC__METADATA_CHAIN_STATUS_NOT_WRITABLE</a>,
-00736 <a class="code" href="group__flac__metadata__level2.html#gga27a23">FLAC__METADATA_CHAIN_STATUS_BAD_METADATA</a>,
-00739 <a class="code" href="group__flac__metadata__level2.html#gga27a24">FLAC__METADATA_CHAIN_STATUS_READ_ERROR</a>,
-00742 <a class="code" href="group__flac__metadata__level2.html#gga27a25">FLAC__METADATA_CHAIN_STATUS_SEEK_ERROR</a>,
-00745 <a class="code" href="group__flac__metadata__level2.html#gga27a26">FLAC__METADATA_CHAIN_STATUS_WRITE_ERROR</a>,
-00748 <a class="code" href="group__flac__metadata__level2.html#gga27a27">FLAC__METADATA_CHAIN_STATUS_RENAME_ERROR</a>,
-00751 <a class="code" href="group__flac__metadata__level2.html#gga27a28">FLAC__METADATA_CHAIN_STATUS_UNLINK_ERROR</a>,
-00754 <a class="code" href="group__flac__metadata__level2.html#gga27a29">FLAC__METADATA_CHAIN_STATUS_MEMORY_ALLOCATION_ERROR</a>,
-00757 <a class="code" href="group__flac__metadata__level2.html#gga27a30">FLAC__METADATA_CHAIN_STATUS_INTERNAL_ERROR</a>,
-00760 <a class="code" href="group__flac__metadata__level2.html#gga27a31">FLAC__METADATA_CHAIN_STATUS_INVALID_CALLBACKS</a>,
-00763 <a class="code" href="group__flac__metadata__level2.html#gga27a32">FLAC__METADATA_CHAIN_STATUS_READ_WRITE_MISMATCH</a>,
-00772 <a class="code" href="group__flac__metadata__level2.html#gga27a33">FLAC__METADATA_CHAIN_STATUS_WRONG_WRITE_CALL</a>
-00782 } <a class="code" href="group__flac__metadata__level2.html#ga27">FLAC__Metadata_ChainStatus</a>;
-00783
-00789 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__metadata__level2.html#ga2">FLAC__Metadata_ChainStatusString</a>[];
-00790
-00791 <span class="comment">/*********** FLAC__Metadata_Chain ***********/</span>
-00792
-00798 FLAC_API FLAC__Metadata_Chain *<a class="code" href="group__flac__metadata__level2.html#ga3">FLAC__metadata_chain_new</a>(<span class="keywordtype">void</span>);
-00799
-00806 FLAC_API <span class="keywordtype">void</span> <a class="code" href="group__flac__metadata__level2.html#ga4">FLAC__metadata_chain_delete</a>(FLAC__Metadata_Chain *chain);
-00807
-00818 FLAC_API FLAC__Metadata_ChainStatus <a class="code" href="group__flac__metadata__level2.html#ga5">FLAC__metadata_chain_status</a>(FLAC__Metadata_Chain *chain);
-00819
-00832 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level2.html#ga6">FLAC__metadata_chain_read</a>(FLAC__Metadata_Chain *chain, <span class="keyword">const</span> <span class="keywordtype">char</span> *filename);
-00833
-00849 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level2.html#ga7">FLAC__metadata_chain_read_ogg</a>(FLAC__Metadata_Chain *chain, <span class="keyword">const</span> <span class="keywordtype">char</span> *filename);
-00850
-00871 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level2.html#ga8">FLAC__metadata_chain_read_with_callbacks</a>(FLAC__Metadata_Chain *chain, <a class="code" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, <a class="code" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks);
-00872
-00896 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level2.html#ga9">FLAC__metadata_chain_read_ogg_with_callbacks</a>(FLAC__Metadata_Chain *chain, <a class="code" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, <a class="code" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks);
-00897
-00924 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level2.html#ga10">FLAC__metadata_chain_check_if_tempfile_needed</a>(FLAC__Metadata_Chain *chain, FLAC__bool use_padding);
-00925
-00970 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level2.html#ga11">FLAC__metadata_chain_write</a>(FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__bool preserve_file_stats);
-00971
-01000 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level2.html#ga12">FLAC__metadata_chain_write_with_callbacks</a>(FLAC__Metadata_Chain *chain, FLAC__bool use_padding, <a class="code" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, <a class="code" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks);
-01001
-01051 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level2.html#ga13">FLAC__metadata_chain_write_with_callbacks_and_tempfile</a>(FLAC__Metadata_Chain *chain, FLAC__bool use_padding, <a class="code" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, <a class="code" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks, <a class="code" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> temp_handle, <a class="code" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> temp_callbacks);
-01052
-01065 FLAC_API <span class="keywordtype">void</span> <a class="code" href="group__flac__metadata__level2.html#ga14">FLAC__metadata_chain_merge_padding</a>(FLAC__Metadata_Chain *chain);
-01066
-01080 FLAC_API <span class="keywordtype">void</span> <a class="code" href="group__flac__metadata__level2.html#ga15">FLAC__metadata_chain_sort_padding</a>(FLAC__Metadata_Chain *chain);
-01081
-01082
-01083 <span class="comment">/*********** FLAC__Metadata_Iterator ***********/</span>
-01084
-01090 FLAC_API FLAC__Metadata_Iterator *<a class="code" href="group__flac__metadata__level2.html#ga16">FLAC__metadata_iterator_new</a>(<span class="keywordtype">void</span>);
-01091
-01098 FLAC_API <span class="keywordtype">void</span> <a class="code" href="group__flac__metadata__level2.html#ga17">FLAC__metadata_iterator_delete</a>(FLAC__Metadata_Iterator *iterator);
-01099
-01109 FLAC_API <span class="keywordtype">void</span> <a class="code" href="group__flac__metadata__level2.html#ga18">FLAC__metadata_iterator_init</a>(FLAC__Metadata_Iterator *iterator, FLAC__Metadata_Chain *chain);
-01110
-01123 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level2.html#ga19">FLAC__metadata_iterator_next</a>(FLAC__Metadata_Iterator *iterator);
-01124
-01137 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level2.html#ga20">FLAC__metadata_iterator_prev</a>(FLAC__Metadata_Iterator *iterator);
-01138
-01149 FLAC_API <a class="code" href="group__flac__format.html#ga113">FLAC__MetadataType</a> <a class="code" href="group__flac__metadata__level2.html#ga21">FLAC__metadata_iterator_get_block_type</a>(<span class="keyword">const</span> FLAC__Metadata_Iterator *iterator);
-01150
-01170 FLAC_API <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *<a class="code" href="group__flac__metadata__level2.html#ga22">FLAC__metadata_iterator_get_block</a>(FLAC__Metadata_Iterator *iterator);
-01171
-01187 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level2.html#ga23">FLAC__metadata_iterator_set_block</a>(FLAC__Metadata_Iterator *iterator, <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block);
-01188
-01205 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level2.html#ga24">FLAC__metadata_iterator_delete_block</a>(FLAC__Metadata_Iterator *iterator, FLAC__bool replace_with_padding);
-01206
-01224 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level2.html#ga25">FLAC__metadata_iterator_insert_block_before</a>(FLAC__Metadata_Iterator *iterator, <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block);
-01225
-01242 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__level2.html#ga26">FLAC__metadata_iterator_insert_block_after</a>(FLAC__Metadata_Iterator *iterator, <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block);
-01243
-01244 <span class="comment">/* \} */</span>
-01245
-01246
-01312 FLAC_API <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *<a class="code" href="group__flac__metadata__object.html#ga0">FLAC__metadata_object_new</a>(<a class="code" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type);
-01313
-01326 FLAC_API <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *<a class="code" href="group__flac__metadata__object.html#ga1">FLAC__metadata_object_clone</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object);
-01327
-01337 FLAC_API <span class="keywordtype">void</span> <a class="code" href="group__flac__metadata__object.html#ga2">FLAC__metadata_object_delete</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object);
-01338
-01352 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga3">FLAC__metadata_object_is_equal</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block1, <span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block2);
-01353
-01375 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga4">FLAC__metadata_object_application_set_data</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__byte *data, <span class="keywordtype">unsigned</span> length, FLAC__bool copy);
-01376
-01392 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga5">FLAC__metadata_object_seektable_resize_points</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> new_num_points);
-01393
-01404 FLAC_API <span class="keywordtype">void</span> <a class="code" href="group__flac__metadata__object.html#ga6">FLAC__metadata_object_seektable_set_point</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> point_num, <a class="code" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> point);
-01405
-01418 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga7">FLAC__metadata_object_seektable_insert_point</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> point_num, <a class="code" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> point);
-01419
-01431 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga8">FLAC__metadata_object_seektable_delete_point</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> point_num);
-01432
-01444 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga9">FLAC__metadata_object_seektable_is_legal</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object);
-01445
-01461 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga10">FLAC__metadata_object_seektable_template_append_placeholders</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> num);
-01462
-01478 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga11">FLAC__metadata_object_seektable_template_append_point</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__uint64 sample_number);
-01479
-01496 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga12">FLAC__metadata_object_seektable_template_append_points</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__uint64 sample_numbers[], <span class="keywordtype">unsigned</span> num);
-01497
-01518 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga13">FLAC__metadata_object_seektable_template_append_spaced_points</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> num, FLAC__uint64 total_samples);
-01519
-01546 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga14">FLAC__metadata_object_seektable_template_append_spaced_points_by_samples</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> samples, FLAC__uint64 total_samples);
-01547
-01563 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga15">FLAC__metadata_object_seektable_template_sort</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__bool compact);
-01564
-01588 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga16">FLAC__metadata_object_vorbiscomment_set_vendor_string</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <a class="code" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool copy);
-01589
-01605 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga17">FLAC__metadata_object_vorbiscomment_resize_comments</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> new_num_comments);
-01606
-01632 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga18">FLAC__metadata_object_vorbiscomment_set_comment</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> comment_num, <a class="code" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool copy);
-01633
-01662 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga19">FLAC__metadata_object_vorbiscomment_insert_comment</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> comment_num, <a class="code" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool copy);
-01663
-01687 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga20">FLAC__metadata_object_vorbiscomment_append_comment</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <a class="code" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool copy);
-01688
-01722 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga21">FLAC__metadata_object_vorbiscomment_replace_comment</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <a class="code" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool all, FLAC__bool copy);
-01723
-01735 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga22">FLAC__metadata_object_vorbiscomment_delete_comment</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> comment_num);
-01736
-01756 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga23">FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair</a>(<a class="code" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> *entry, <span class="keyword">const</span> <span class="keywordtype">char</span> *field_name, <span class="keyword">const</span> <span class="keywordtype">char</span> *field_value);
-01757
-01777 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga24">FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, <span class="keywordtype">char</span> **field_name, <span class="keywordtype">char</span> **field_value);
-01778
-01791 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga25">FLAC__metadata_object_vorbiscomment_entry_matches</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, <span class="keyword">const</span> <span class="keywordtype">char</span> *field_name, <span class="keywordtype">unsigned</span> field_name_length);
-01792
-01810 FLAC_API <span class="keywordtype">int</span> <a class="code" href="group__flac__metadata__object.html#ga26">FLAC__metadata_object_vorbiscomment_find_entry_from</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> offset, <span class="keyword">const</span> <span class="keywordtype">char</span> *field_name);
-01811
-01823 FLAC_API <span class="keywordtype">int</span> <a class="code" href="group__flac__metadata__object.html#ga27">FLAC__metadata_object_vorbiscomment_remove_entry_matching</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keyword">const</span> <span class="keywordtype">char</span> *field_name);
-01824
-01836 FLAC_API <span class="keywordtype">int</span> <a class="code" href="group__flac__metadata__object.html#ga28">FLAC__metadata_object_vorbiscomment_remove_entries_matching</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keyword">const</span> <span class="keywordtype">char</span> *field_name);
-01837
-01845 FLAC_API <a class="code" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *<a class="code" href="group__flac__metadata__object.html#ga29">FLAC__metadata_object_cuesheet_track_new</a>(<span class="keywordtype">void</span>);
-01846
-01860 FLAC_API <a class="code" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *<a class="code" href="group__flac__metadata__object.html#ga30">FLAC__metadata_object_cuesheet_track_clone</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *object);
-01861
-01868 FLAC_API <span class="keywordtype">void</span> <a class="code" href="group__flac__metadata__object.html#ga31">FLAC__metadata_object_cuesheet_track_delete</a>(<a class="code" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *object);
-01869
-01888 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga32">FLAC__metadata_object_cuesheet_track_resize_indices</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> track_num, <span class="keywordtype">unsigned</span> new_num_indices);
-01889
-01911 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga33">FLAC__metadata_object_cuesheet_track_insert_index</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> track_num, <span class="keywordtype">unsigned</span> index_num, <a class="code" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> index);
-01912
-01935 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga34">FLAC__metadata_object_cuesheet_track_insert_blank_index</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> track_num, <span class="keywordtype">unsigned</span> index_num);
-01936
-01954 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga35">FLAC__metadata_object_cuesheet_track_delete_index</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> track_num, <span class="keywordtype">unsigned</span> index_num);
-01955
-01971 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga36">FLAC__metadata_object_cuesheet_resize_tracks</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> new_num_tracks);
-01972
-01993 FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_set_track(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> track_num, <a class="code" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *track, FLAC__bool copy);
-01994
-02016 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga37">FLAC__metadata_object_cuesheet_insert_track</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> track_num, <a class="code" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *track, FLAC__bool copy);
-02017
-02035 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga38">FLAC__metadata_object_cuesheet_insert_blank_track</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> track_num);
-02036
-02050 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga39">FLAC__metadata_object_cuesheet_delete_track</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> track_num);
-02051
-02071 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga40">FLAC__metadata_object_cuesheet_is_legal</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__bool check_cd_da_subset, <span class="keyword">const</span> <span class="keywordtype">char</span> **violation);
-02072
-02084 FLAC_API FLAC__uint32 <a class="code" href="group__flac__metadata__object.html#ga41">FLAC__metadata_object_cuesheet_calculate_cddb_id</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object);
-02085
-02107 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga42">FLAC__metadata_object_picture_set_mime_type</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">char</span> *mime_type, FLAC__bool copy);
-02108
-02129 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga43">FLAC__metadata_object_picture_set_description</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__byte *description, FLAC__bool copy);
-02130
-02154 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga44">FLAC__metadata_object_picture_set_data</a>(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__byte *data, FLAC__uint32 length, FLAC__bool copy);
-02155
-02173 FLAC_API FLAC__bool <a class="code" href="group__flac__metadata__object.html#ga45">FLAC__metadata_object_picture_is_legal</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keyword">const</span> <span class="keywordtype">char</span> **violation);
-02174
-02175 <span class="comment">/* \} */</span>
-02176
-02177 <span class="preprocessor">#ifdef __cplusplus</span>
-02178 <span class="preprocessor"></span>}
-02179 <span class="preprocessor">#endif</span>
-02180 <span class="preprocessor"></span>
-02181 <span class="preprocessor">#endif</span>
-</pre></div>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/metadata_8h.html b/3rdparty/libflac/doc/html/api/metadata_8h.html
deleted file mode 100644
index f4670dab0e0..00000000000
--- a/3rdparty/libflac/doc/html/api/metadata_8h.html
+++ /dev/null
@@ -1,283 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC/metadata.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000002.html">FLAC</a></div>
-<h1>metadata.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module provides functions for creating and manipulating FLAC metadata blocks in memory, and three progressively more powerful interfaces for traversing and editing metadata in FLAC files.
-<p>
-See the detailed documentation for each interface in the <a class="el" href="group__flac__metadata.html">metadata </a> module.
-<p>
-<code>#include &lt;sys/types.h&gt;</code><br>
-<code>#include "<a class="el" href="export_8h-source.html">export.h</a>"</code><br>
-<code>#include "<a class="el" href="callback_8h-source.html">callback.h</a>"</code><br>
-<code>#include "<a class="el" href="format_8h-source.html">format.h</a>"</code><br>
-
-<p>
-<a href="metadata_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga18">FLAC__Metadata_SimpleIteratorStatus</a> { <br>
-&nbsp;&nbsp;<a class="el" href="group__flac__metadata__level1.html#gga18a5">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK</a> = 0,
-<a class="el" href="group__flac__metadata__level1.html#gga18a6">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT</a>,
-<a class="el" href="group__flac__metadata__level1.html#gga18a7">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE</a>,
-<a class="el" href="group__flac__metadata__level1.html#gga18a8">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_A_FLAC_FILE</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__metadata__level1.html#gga18a9">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_WRITABLE</a>,
-<a class="el" href="group__flac__metadata__level1.html#gga18a10">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA</a>,
-<a class="el" href="group__flac__metadata__level1.html#gga18a11">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR</a>,
-<a class="el" href="group__flac__metadata__level1.html#gga18a12">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__metadata__level1.html#gga18a13">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_WRITE_ERROR</a>,
-<a class="el" href="group__flac__metadata__level1.html#gga18a14">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_RENAME_ERROR</a>,
-<a class="el" href="group__flac__metadata__level1.html#gga18a15">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_UNLINK_ERROR</a>,
-<a class="el" href="group__flac__metadata__level1.html#gga18a16">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__metadata__level1.html#gga18a17">FLAC__METADATA_SIMPLE_ITERATOR_STATUS_INTERNAL_ERROR</a>
-<br>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga27">FLAC__Metadata_ChainStatus</a> { <br>
-&nbsp;&nbsp;<a class="el" href="group__flac__metadata__level2.html#gga27a18">FLAC__METADATA_CHAIN_STATUS_OK</a> = 0,
-<a class="el" href="group__flac__metadata__level2.html#gga27a19">FLAC__METADATA_CHAIN_STATUS_ILLEGAL_INPUT</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a20">FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a21">FLAC__METADATA_CHAIN_STATUS_NOT_A_FLAC_FILE</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__metadata__level2.html#gga27a22">FLAC__METADATA_CHAIN_STATUS_NOT_WRITABLE</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a23">FLAC__METADATA_CHAIN_STATUS_BAD_METADATA</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a24">FLAC__METADATA_CHAIN_STATUS_READ_ERROR</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a25">FLAC__METADATA_CHAIN_STATUS_SEEK_ERROR</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__metadata__level2.html#gga27a26">FLAC__METADATA_CHAIN_STATUS_WRITE_ERROR</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a27">FLAC__METADATA_CHAIN_STATUS_RENAME_ERROR</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a28">FLAC__METADATA_CHAIN_STATUS_UNLINK_ERROR</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a29">FLAC__METADATA_CHAIN_STATUS_MEMORY_ALLOCATION_ERROR</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__metadata__level2.html#gga27a30">FLAC__METADATA_CHAIN_STATUS_INTERNAL_ERROR</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a31">FLAC__METADATA_CHAIN_STATUS_INVALID_CALLBACKS</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a32">FLAC__METADATA_CHAIN_STATUS_READ_WRITE_MISMATCH</a>,
-<a class="el" href="group__flac__metadata__level2.html#gga27a33">FLAC__METADATA_CHAIN_STATUS_WRONG_WRITE_CALL</a>
-<br>
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level0.html#ga0">FLAC__metadata_get_streaminfo</a> (const char *filename, <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *streaminfo)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level0.html#ga1">FLAC__metadata_get_tags</a> (const char *filename, <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **tags)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level0.html#ga2">FLAC__metadata_get_cuesheet</a> (const char *filename, <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **cuesheet)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level0.html#ga3">FLAC__metadata_get_picture</a> (const char *filename, <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **picture, <a class="el" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> type, const char *mime_type, const FLAC__byte *description, unsigned max_width, unsigned max_height, unsigned max_depth, unsigned max_colors)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga2">FLAC__metadata_simple_iterator_new</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga3">FLAC__metadata_simple_iterator_delete</a> (<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__metadata__level1.html#ga18">FLAC__Metadata_SimpleIteratorStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga4">FLAC__metadata_simple_iterator_status</a> (<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga5">FLAC__metadata_simple_iterator_init</a> (<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator, const char *filename, FLAC__bool read_only, FLAC__bool preserve_file_stats)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga6">FLAC__metadata_simple_iterator_is_writable</a> (const <a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga7">FLAC__metadata_simple_iterator_next</a> (<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga8">FLAC__metadata_simple_iterator_prev</a> (<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga9">FLAC__metadata_simple_iterator_is_last</a> (const <a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">off_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga10">FLAC__metadata_simple_iterator_get_block_offset</a> (const <a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga11">FLAC__metadata_simple_iterator_get_block_type</a> (const <a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga12">FLAC__metadata_simple_iterator_get_block_length</a> (const <a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga13">FLAC__metadata_simple_iterator_get_application_id</a> (<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator, FLAC__byte *id)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga14">FLAC__metadata_simple_iterator_get_block</a> (<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga15">FLAC__metadata_simple_iterator_set_block</a> (<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator, <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block, FLAC__bool use_padding)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga16">FLAC__metadata_simple_iterator_insert_block_after</a> (<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator, <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block, FLAC__bool use_padding)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga17">FLAC__metadata_simple_iterator_delete_block</a> (<a class="el" href="group__flac__metadata__level1.html#ga0">FLAC__Metadata_SimpleIterator</a> *iterator, FLAC__bool use_padding)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga3">FLAC__metadata_chain_new</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga4">FLAC__metadata_chain_delete</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__metadata__level2.html#ga27">FLAC__Metadata_ChainStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga5">FLAC__metadata_chain_status</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga6">FLAC__metadata_chain_read</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain, const char *filename)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga7">FLAC__metadata_chain_read_ogg</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain, const char *filename)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga8">FLAC__metadata_chain_read_with_callbacks</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain, <a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, <a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga9">FLAC__metadata_chain_read_ogg_with_callbacks</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain, <a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, <a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga10">FLAC__metadata_chain_check_if_tempfile_needed</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain, FLAC__bool use_padding)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga11">FLAC__metadata_chain_write</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain, FLAC__bool use_padding, FLAC__bool preserve_file_stats)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga12">FLAC__metadata_chain_write_with_callbacks</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain, FLAC__bool use_padding, <a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, <a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga13">FLAC__metadata_chain_write_with_callbacks_and_tempfile</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain, FLAC__bool use_padding, <a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, <a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks, <a class="el" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> temp_handle, <a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> temp_callbacks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga14">FLAC__metadata_chain_merge_padding</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga15">FLAC__metadata_chain_sort_padding</a> (<a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga16">FLAC__metadata_iterator_new</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga17">FLAC__metadata_iterator_delete</a> (<a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga18">FLAC__metadata_iterator_init</a> (<a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *iterator, <a class="el" href="group__flac__metadata__level2.html#ga0">FLAC__Metadata_Chain</a> *chain)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga19">FLAC__metadata_iterator_next</a> (<a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga20">FLAC__metadata_iterator_prev</a> (<a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga21">FLAC__metadata_iterator_get_block_type</a> (const <a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga22">FLAC__metadata_iterator_get_block</a> (<a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *iterator)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga23">FLAC__metadata_iterator_set_block</a> (<a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *iterator, <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga24">FLAC__metadata_iterator_delete_block</a> (<a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *iterator, FLAC__bool replace_with_padding)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga25">FLAC__metadata_iterator_insert_block_before</a> (<a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *iterator, <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga26">FLAC__metadata_iterator_insert_block_after</a> (<a class="el" href="group__flac__metadata__level2.html#ga1">FLAC__Metadata_Iterator</a> *iterator, <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga0">FLAC__metadata_object_new</a> (<a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga1">FLAC__metadata_object_clone</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga2">FLAC__metadata_object_delete</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga3">FLAC__metadata_object_is_equal</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block1, const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block2)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga4">FLAC__metadata_object_application_set_data</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__byte *data, unsigned length, FLAC__bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga5">FLAC__metadata_object_seektable_resize_points</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned new_num_points)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga6">FLAC__metadata_object_seektable_set_point</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned point_num, <a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> point)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga7">FLAC__metadata_object_seektable_insert_point</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned point_num, <a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> point)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga8">FLAC__metadata_object_seektable_delete_point</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned point_num)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga9">FLAC__metadata_object_seektable_is_legal</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga10">FLAC__metadata_object_seektable_template_append_placeholders</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned num)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga11">FLAC__metadata_object_seektable_template_append_point</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__uint64 sample_number)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga12">FLAC__metadata_object_seektable_template_append_points</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__uint64 sample_numbers[], unsigned num)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga13">FLAC__metadata_object_seektable_template_append_spaced_points</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned num, FLAC__uint64 total_samples)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga14">FLAC__metadata_object_seektable_template_append_spaced_points_by_samples</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned samples, FLAC__uint64 total_samples)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga15">FLAC__metadata_object_seektable_template_sort</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__bool compact)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga16">FLAC__metadata_object_vorbiscomment_set_vendor_string</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga17">FLAC__metadata_object_vorbiscomment_resize_comments</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned new_num_comments)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga18">FLAC__metadata_object_vorbiscomment_set_comment</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned comment_num, <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga19">FLAC__metadata_object_vorbiscomment_insert_comment</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned comment_num, <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga20">FLAC__metadata_object_vorbiscomment_append_comment</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga21">FLAC__metadata_object_vorbiscomment_replace_comment</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool all, FLAC__bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga22">FLAC__metadata_object_vorbiscomment_delete_comment</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned comment_num)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga23">FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair</a> (<a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> *entry, const char *field_name, const char *field_value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga24">FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair</a> (const <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, char **field_name, char **field_value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga25">FLAC__metadata_object_vorbiscomment_entry_matches</a> (const <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, const char *field_name, unsigned field_name_length)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga26">FLAC__metadata_object_vorbiscomment_find_entry_from</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned offset, const char *field_name)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga27">FLAC__metadata_object_vorbiscomment_remove_entry_matching</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, const char *field_name)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga28">FLAC__metadata_object_vorbiscomment_remove_entries_matching</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, const char *field_name)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga29">FLAC__metadata_object_cuesheet_track_new</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga30">FLAC__metadata_object_cuesheet_track_clone</a> (const <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga31">FLAC__metadata_object_cuesheet_track_delete</a> (<a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga32">FLAC__metadata_object_cuesheet_track_resize_indices</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num, unsigned new_num_indices)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga33">FLAC__metadata_object_cuesheet_track_insert_index</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num, unsigned index_num, <a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> index)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga34">FLAC__metadata_object_cuesheet_track_insert_blank_index</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num, unsigned index_num)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga35">FLAC__metadata_object_cuesheet_track_delete_index</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num, unsigned index_num)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga36">FLAC__metadata_object_cuesheet_resize_tracks</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned new_num_tracks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga37">FLAC__metadata_object_cuesheet_insert_track</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num, <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *track, FLAC__bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga38">FLAC__metadata_object_cuesheet_insert_blank_track</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga39">FLAC__metadata_object_cuesheet_delete_track</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga40">FLAC__metadata_object_cuesheet_is_legal</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__bool check_cd_da_subset, const char **violation)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga41">FLAC__metadata_object_cuesheet_calculate_cddb_id</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga42">FLAC__metadata_object_picture_set_mime_type</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, char *mime_type, FLAC__bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga43">FLAC__metadata_object_picture_set_description</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__byte *description, FLAC__bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga44">FLAC__metadata_object_picture_set_data</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__byte *data, FLAC__uint32 length, FLAC__bool copy)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga45">FLAC__metadata_object_picture_is_legal</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, const char **violation)</td></tr>
-
-<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level1.html#ga1">FLAC__Metadata_SimpleIteratorStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__level2.html#ga2">FLAC__Metadata_ChainStatusString</a> []</td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/modules.html b/3rdparty/libflac/doc/html/api/modules.html
deleted file mode 100644
index 1a2dae62d8d..00000000000
--- a/3rdparty/libflac/doc/html/api/modules.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Module Index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindexHL" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC Modules</h1>Here is a list of all modules:<ul>
-<li><a class="el" href="group__porting.html">Porting Guide for New Versions</a>
-<ul>
-<li><a class="el" href="group__porting__1__1__2__to__1__1__3.html">Porting from FLAC 1.1.2 to 1.1.3</a>
-<li><a class="el" href="group__porting__1__1__3__to__1__1__4.html">Porting from FLAC 1.1.3 to 1.1.4</a>
-<li><a class="el" href="group__porting__1__1__4__to__1__2__0.html">Porting from FLAC 1.1.4 to 1.2.0</a>
-</ul>
-<li><a class="el" href="group__flac.html">FLAC C API</a>
-<ul>
-<li><a class="el" href="group__flac__callbacks.html">FLAC/callback.h: I/O callback structures</a>
-<li><a class="el" href="group__flac__export.html">FLAC/export.h: export symbols</a>
-<li><a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>
-<li><a class="el" href="group__flac__metadata.html">FLAC/metadata.h: metadata interfaces</a>
-<ul>
-<li><a class="el" href="group__flac__metadata__level0.html">FLAC/metadata.h: metadata level 0 interface</a>
-<li><a class="el" href="group__flac__metadata__level1.html">FLAC/metadata.h: metadata level 1 interface</a>
-<li><a class="el" href="group__flac__metadata__level2.html">FLAC/metadata.h: metadata level 2 interface</a>
-<li><a class="el" href="group__flac__metadata__object.html">FLAC/metadata.h: metadata object methods</a>
-</ul>
-<li><a class="el" href="group__flac__decoder.html">FLAC/_decoder.h: decoder interfaces</a>
-<ul>
-<li><a class="el" href="group__flac__stream__decoder.html">FLAC/stream_decoder.h: stream decoder interface</a>
-</ul>
-<li><a class="el" href="group__flac__encoder.html">FLAC/_encoder.h: encoder interfaces</a>
-<ul>
-<li><a class="el" href="group__flac__stream__encoder.html">FLAC/stream_encoder.h: stream encoder interface</a>
-</ul>
-</ul>
-<li><a class="el" href="group__flacpp.html">FLAC C++ API</a>
-<ul>
-<li><a class="el" href="group__flacpp__decoder.html">FLAC++/decoder.h: decoder classes</a>
-<li><a class="el" href="group__flacpp__encoder.html">FLAC++/encoder.h: encoder classes</a>
-<li><a class="el" href="group__flacpp__export.html">FLAC++/export.h: export symbols</a>
-<li><a class="el" href="group__flacpp__metadata.html">FLAC++/metadata.h: metadata interfaces</a>
-<ul>
-<li><a class="el" href="group__flacpp__metadata__object.html">FLAC++/metadata.h: metadata object classes</a>
-<li><a class="el" href="group__flacpp__metadata__level0.html">FLAC++/metadata.h: metadata level 0 interface</a>
-<li><a class="el" href="group__flacpp__metadata__level1.html">FLAC++/metadata.h: metadata level 1 interface</a>
-<li><a class="el" href="group__flacpp__metadata__level2.html">FLAC++/metadata.h: metadata level 2 interface</a>
-</ul>
-</ul>
-</ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/ordinals_8h-source.html b/3rdparty/libflac/doc/html/api/ordinals_8h-source.html
deleted file mode 100644
index 893f9eb48b7..00000000000
--- a/3rdparty/libflac/doc/html/api/ordinals_8h-source.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC/ordinals.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000002.html">FLAC</a></div>
-<h1>ordinals.h</h1><div class="fragment"><pre class="fragment">00001 <span class="comment">/* libFLAC - Free Lossless Audio Codec library</span>
-00002 <span class="comment"> * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</span>
-00003 <span class="comment"> *</span>
-00004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
-00005 <span class="comment"> * modification, are permitted provided that the following conditions</span>
-00006 <span class="comment"> * are met:</span>
-00007 <span class="comment"> *</span>
-00008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span>
-00009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
-00010 <span class="comment"> *</span>
-00011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span>
-00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
-00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
-00014 <span class="comment"> *</span>
-00015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span>
-00016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span>
-00017 <span class="comment"> * this software without specific prior written permission.</span>
-00018 <span class="comment"> *</span>
-00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-00020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR</span>
-00023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span>
-00024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span>
-00025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span>
-00026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span>
-00027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span>
-00028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span>
-00029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-00030 <span class="comment"> */</span>
-00031
-00032 <span class="preprocessor">#ifndef FLAC__ORDINALS_H</span>
-00033 <span class="preprocessor"></span><span class="preprocessor">#define FLAC__ORDINALS_H</span>
-00034 <span class="preprocessor"></span>
-00035 <span class="preprocessor">#if !(defined(_MSC_VER) || defined(__BORLANDC__) || defined(__EMX__))</span>
-00036 <span class="preprocessor"></span><span class="preprocessor">#include &lt;inttypes.h&gt;</span>
-00037 <span class="preprocessor">#endif</span>
-00038 <span class="preprocessor"></span>
-00039 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">char</span> FLAC__int8;
-00040 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> FLAC__uint8;
-00041
-00042 <span class="preprocessor">#if defined(_MSC_VER) || defined(__BORLANDC__)</span>
-00043 <span class="preprocessor"></span><span class="keyword">typedef</span> __int16 FLAC__int16;
-00044 <span class="keyword">typedef</span> __int32 FLAC__int32;
-00045 <span class="keyword">typedef</span> __int64 FLAC__int64;
-00046 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int16 FLAC__uint16;
-00047 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int32 FLAC__uint32;
-00048 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int64 FLAC__uint64;
-00049 <span class="preprocessor">#elif defined(__EMX__)</span>
-00050 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">short</span> FLAC__int16;
-00051 <span class="keyword">typedef</span> <span class="keywordtype">long</span> FLAC__int32;
-00052 <span class="keyword">typedef</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> FLAC__int64;
-00053 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> FLAC__uint16;
-00054 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> FLAC__uint32;
-00055 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> FLAC__uint64;
-00056 <span class="preprocessor">#else</span>
-00057 <span class="preprocessor"></span><span class="keyword">typedef</span> int16_t FLAC__int16;
-00058 <span class="keyword">typedef</span> int32_t FLAC__int32;
-00059 <span class="keyword">typedef</span> int64_t FLAC__int64;
-00060 <span class="keyword">typedef</span> uint16_t FLAC__uint16;
-00061 <span class="keyword">typedef</span> uint32_t FLAC__uint32;
-00062 <span class="keyword">typedef</span> uint64_t FLAC__uint64;
-00063 <span class="preprocessor">#endif</span>
-00064 <span class="preprocessor"></span>
-00065 <span class="keyword">typedef</span> <span class="keywordtype">int</span> FLAC__bool;
-00066
-00067 <span class="keyword">typedef</span> FLAC__uint8 FLAC__byte;
-00068
-00069 <span class="preprocessor">#ifdef true</span>
-00070 <span class="preprocessor"></span><span class="preprocessor">#undef true</span>
-00071 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-00072 <span class="preprocessor"></span><span class="preprocessor">#ifdef false</span>
-00073 <span class="preprocessor"></span><span class="preprocessor">#undef false</span>
-00074 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-00075 <span class="preprocessor"></span><span class="preprocessor">#ifndef __cplusplus</span>
-00076 <span class="preprocessor"></span><span class="preprocessor">#define true 1</span>
-00077 <span class="preprocessor"></span><span class="preprocessor">#define false 0</span>
-00078 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-00079 <span class="preprocessor"></span>
-00080 <span class="preprocessor">#endif</span>
-</pre></div>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/stream__decoder_8h-source.html b/3rdparty/libflac/doc/html/api/stream__decoder_8h-source.html
deleted file mode 100644
index c4b705ec180..00000000000
--- a/3rdparty/libflac/doc/html/api/stream__decoder_8h-source.html
+++ /dev/null
@@ -1,333 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC/stream_decoder.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000002.html">FLAC</a></div>
-<h1>stream_decoder.h</h1><a href="stream__decoder_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/* libFLAC - Free Lossless Audio Codec library</span>
-00002 <span class="comment"> * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</span>
-00003 <span class="comment"> *</span>
-00004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
-00005 <span class="comment"> * modification, are permitted provided that the following conditions</span>
-00006 <span class="comment"> * are met:</span>
-00007 <span class="comment"> *</span>
-00008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span>
-00009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
-00010 <span class="comment"> *</span>
-00011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span>
-00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
-00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
-00014 <span class="comment"> *</span>
-00015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span>
-00016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span>
-00017 <span class="comment"> * this software without specific prior written permission.</span>
-00018 <span class="comment"> *</span>
-00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-00020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR</span>
-00023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span>
-00024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span>
-00025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span>
-00026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span>
-00027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span>
-00028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span>
-00029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-00030 <span class="comment"> */</span>
-00031
-00032 <span class="preprocessor">#ifndef FLAC__STREAM_DECODER_H</span>
-00033 <span class="preprocessor"></span><span class="preprocessor">#define FLAC__STREAM_DECODER_H</span>
-00034 <span class="preprocessor"></span>
-00035 <span class="preprocessor">#include &lt;stdio.h&gt;</span> <span class="comment">/* for FILE */</span>
-00036 <span class="preprocessor">#include "<a class="code" href="export_8h.html">export.h</a>"</span>
-00037 <span class="preprocessor">#include "<a class="code" href="format_8h.html">format.h</a>"</span>
-00038
-00039 <span class="preprocessor">#ifdef __cplusplus</span>
-00040 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
-00041 <span class="preprocessor">#endif</span>
-00042 <span class="preprocessor"></span>
-00043
-<a name="l00201"></a><a class="code" href="group__flac__stream__decoder.html#ga50">00201</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00202
-00203 <a class="code" href="group__flac__stream__decoder.html#gga50a16">FLAC__STREAM_DECODER_SEARCH_FOR_METADATA</a> = 0,
-00206 <a class="code" href="group__flac__stream__decoder.html#gga50a17">FLAC__STREAM_DECODER_READ_METADATA</a>,
-00209 <a class="code" href="group__flac__stream__decoder.html#gga50a18">FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC</a>,
-00214 <a class="code" href="group__flac__stream__decoder.html#gga50a19">FLAC__STREAM_DECODER_READ_FRAME</a>,
-00217 <a class="code" href="group__flac__stream__decoder.html#gga50a20">FLAC__STREAM_DECODER_END_OF_STREAM</a>,
-00220 <a class="code" href="group__flac__stream__decoder.html#gga50a21">FLAC__STREAM_DECODER_OGG_ERROR</a>,
-00223 <a class="code" href="group__flac__stream__decoder.html#gga50a22">FLAC__STREAM_DECODER_SEEK_ERROR</a>,
-00229 <a class="code" href="group__flac__stream__decoder.html#gga50a23">FLAC__STREAM_DECODER_ABORTED</a>,
-00232 <a class="code" href="group__flac__stream__decoder.html#gga50a24">FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR</a>,
-00237 <a class="code" href="group__flac__stream__decoder.html#gga50a25">FLAC__STREAM_DECODER_UNINITIALIZED</a>
-00243 } <a class="code" href="group__flac__stream__decoder.html#ga50">FLAC__StreamDecoderState</a>;
-00244
-00250 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga0">FLAC__StreamDecoderStateString</a>[];
-00251
-00252
-<a name="l00255"></a><a class="code" href="group__flac__stream__decoder.html#ga51">00255</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00256
-00257 <a class="code" href="group__flac__stream__decoder.html#gga51a26">FLAC__STREAM_DECODER_INIT_STATUS_OK</a> = 0,
-00260 <a class="code" href="group__flac__stream__decoder.html#gga51a27">FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER</a>,
-00265 <a class="code" href="group__flac__stream__decoder.html#gga51a28">FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS</a>,
-00268 <a class="code" href="group__flac__stream__decoder.html#gga51a29">FLAC__STREAM_DECODER_INIT_STATUS_MEMORY_ALLOCATION_ERROR</a>,
-00271 <a class="code" href="group__flac__stream__decoder.html#gga51a30">FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FILE</a>,
-00275 <a class="code" href="group__flac__stream__decoder.html#gga51a31">FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED</a>
-00281 } <a class="code" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>;
-00282
-00288 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga1">FLAC__StreamDecoderInitStatusString</a>[];
-00289
-00290
-<a name="l00293"></a><a class="code" href="group__flac__stream__decoder.html#ga52">00293</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00294
-00295 <a class="code" href="group__flac__stream__decoder.html#gga52a32">FLAC__STREAM_DECODER_READ_STATUS_CONTINUE</a>,
-00298 <a class="code" href="group__flac__stream__decoder.html#gga52a33">FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM</a>,
-00309 <a class="code" href="group__flac__stream__decoder.html#gga52a34">FLAC__STREAM_DECODER_READ_STATUS_ABORT</a>
-00312 } <a class="code" href="group__flac__stream__decoder.html#ga52">FLAC__StreamDecoderReadStatus</a>;
-00313
-00319 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga2">FLAC__StreamDecoderReadStatusString</a>[];
-00320
-00321
-<a name="l00324"></a><a class="code" href="group__flac__stream__decoder.html#ga53">00324</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00325
-00326 <a class="code" href="group__flac__stream__decoder.html#gga53a35">FLAC__STREAM_DECODER_SEEK_STATUS_OK</a>,
-00329 <a class="code" href="group__flac__stream__decoder.html#gga53a36">FLAC__STREAM_DECODER_SEEK_STATUS_ERROR</a>,
-00332 <a class="code" href="group__flac__stream__decoder.html#gga53a37">FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED</a>
-00335 } <a class="code" href="group__flac__stream__decoder.html#ga53">FLAC__StreamDecoderSeekStatus</a>;
-00336
-00342 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga3">FLAC__StreamDecoderSeekStatusString</a>[];
-00343
-00344
-<a name="l00347"></a><a class="code" href="group__flac__stream__decoder.html#ga54">00347</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00348
-00349 <a class="code" href="group__flac__stream__decoder.html#gga54a38">FLAC__STREAM_DECODER_TELL_STATUS_OK</a>,
-00352 <a class="code" href="group__flac__stream__decoder.html#gga54a39">FLAC__STREAM_DECODER_TELL_STATUS_ERROR</a>,
-00355 <a class="code" href="group__flac__stream__decoder.html#gga54a40">FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED</a>
-00358 } <a class="code" href="group__flac__stream__decoder.html#ga54">FLAC__StreamDecoderTellStatus</a>;
-00359
-00365 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga4">FLAC__StreamDecoderTellStatusString</a>[];
-00366
-00367
-<a name="l00370"></a><a class="code" href="group__flac__stream__decoder.html#ga55">00370</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00371
-00372 <a class="code" href="group__flac__stream__decoder.html#gga55a41">FLAC__STREAM_DECODER_LENGTH_STATUS_OK</a>,
-00375 <a class="code" href="group__flac__stream__decoder.html#gga55a42">FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR</a>,
-00378 <a class="code" href="group__flac__stream__decoder.html#gga55a43">FLAC__STREAM_DECODER_LENGTH_STATUS_UNSUPPORTED</a>
-00381 } <a class="code" href="group__flac__stream__decoder.html#ga55">FLAC__StreamDecoderLengthStatus</a>;
-00382
-00388 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga5">FLAC__StreamDecoderLengthStatusString</a>[];
-00389
-00390
-<a name="l00393"></a><a class="code" href="group__flac__stream__decoder.html#ga56">00393</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00394
-00395 <a class="code" href="group__flac__stream__decoder.html#gga56a44">FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE</a>,
-00398 <a class="code" href="group__flac__stream__decoder.html#gga56a45">FLAC__STREAM_DECODER_WRITE_STATUS_ABORT</a>
-00401 } <a class="code" href="group__flac__stream__decoder.html#ga56">FLAC__StreamDecoderWriteStatus</a>;
-00402
-00408 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga6">FLAC__StreamDecoderWriteStatusString</a>[];
-00409
-00410
-<a name="l00426"></a><a class="code" href="group__flac__stream__decoder.html#ga57">00426</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00427
-00428 <a class="code" href="group__flac__stream__decoder.html#gga57a46">FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC</a>,
-00431 <a class="code" href="group__flac__stream__decoder.html#gga57a47">FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER</a>,
-00434 <a class="code" href="group__flac__stream__decoder.html#gga57a48">FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH</a>,
-00437 <a class="code" href="group__flac__stream__decoder.html#gga57a49">FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM</a>
-00440 } <a class="code" href="group__flac__stream__decoder.html#ga57">FLAC__StreamDecoderErrorStatus</a>;
-00441
-00447 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__decoder.html#ga7">FLAC__StreamDecoderErrorStatusString</a>[];
-00448
-00449
-00450 <span class="comment">/***********************************************************************</span>
-00451 <span class="comment"> *</span>
-00452 <span class="comment"> * class FLAC__StreamDecoder</span>
-00453 <span class="comment"> *</span>
-00454 <span class="comment"> ***********************************************************************/</span>
-00455
-00456 <span class="keyword">struct </span>FLAC__StreamDecoderProtected;
-00457 <span class="keyword">struct </span>FLAC__StreamDecoderPrivate;
-<a name="l00462"></a><a class="code" href="structFLAC____StreamDecoder.html">00462</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00463 <span class="keyword">struct </span>FLAC__StreamDecoderProtected *protected_; <span class="comment">/* avoid the C++ keyword 'protected' */</span>
-00464 <span class="keyword">struct </span>FLAC__StreamDecoderPrivate *private_; <span class="comment">/* avoid the C++ keyword 'private' */</span>
-00465 } <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>;
-00466
-<a name="l00516"></a><a class="code" href="group__flac__stream__decoder.html#ga8">00516</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__decoder.html#ga52">FLAC__StreamDecoderReadStatus</a> (*<a class="code" href="group__flac__stream__decoder.html#ga8">FLAC__StreamDecoderReadCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__byte buffer[], size_t *bytes, <span class="keywordtype">void</span> *client_data);
-00517
-<a name="l00551"></a><a class="code" href="group__flac__stream__decoder.html#ga9">00551</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__decoder.html#ga53">FLAC__StreamDecoderSeekStatus</a> (*<a class="code" href="group__flac__stream__decoder.html#ga9">FLAC__StreamDecoderSeekCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 absolute_byte_offset, <span class="keywordtype">void</span> *client_data);
-00552
-<a name="l00589"></a><a class="code" href="group__flac__stream__decoder.html#ga10">00589</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__decoder.html#ga54">FLAC__StreamDecoderTellStatus</a> (*<a class="code" href="group__flac__stream__decoder.html#ga10">FLAC__StreamDecoderTellCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *absolute_byte_offset, <span class="keywordtype">void</span> *client_data);
-00590
-<a name="l00627"></a><a class="code" href="group__flac__stream__decoder.html#ga11">00627</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__decoder.html#ga55">FLAC__StreamDecoderLengthStatus</a> (*<a class="code" href="group__flac__stream__decoder.html#ga11">FLAC__StreamDecoderLengthCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *stream_length, <span class="keywordtype">void</span> *client_data);
-00628
-<a name="l00654"></a><a class="code" href="group__flac__stream__decoder.html#ga12">00654</a> <span class="keyword">typedef</span> FLAC__bool (*<a class="code" href="group__flac__stream__decoder.html#ga12">FLAC__StreamDecoderEofCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keywordtype">void</span> *client_data);
-00655
-<a name="l00682"></a><a class="code" href="group__flac__stream__decoder.html#ga13">00682</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__decoder.html#ga56">FLAC__StreamDecoderWriteStatus</a> (*<a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keyword">const</span> <a class="code" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, <span class="keyword">const</span> FLAC__int32 * <span class="keyword">const</span> buffer[], <span class="keywordtype">void</span> *client_data);
-00683
-<a name="l00709"></a><a class="code" href="group__flac__stream__decoder.html#ga14">00709</a> <span class="keyword">typedef</span> void (*<a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, <span class="keywordtype">void</span> *client_data);
-00710
-<a name="l00726"></a><a class="code" href="group__flac__stream__decoder.html#ga15">00726</a> <span class="keyword">typedef</span> void (*<a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__StreamDecoderErrorStatus status, <span class="keywordtype">void</span> *client_data);
-00727
-00728
-00729 <span class="comment">/***********************************************************************</span>
-00730 <span class="comment"> *</span>
-00731 <span class="comment"> * Class constructor/destructor</span>
-00732 <span class="comment"> *</span>
-00733 <span class="comment"> ***********************************************************************/</span>
-00734
-00742 FLAC_API <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *<a class="code" href="group__flac__stream__decoder.html#ga16">FLAC__stream_decoder_new</a>(<span class="keywordtype">void</span>);
-00743
-00750 FLAC_API <span class="keywordtype">void</span> <a class="code" href="group__flac__stream__decoder.html#ga17">FLAC__stream_decoder_delete</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
-00751
-00752
-00753 <span class="comment">/***********************************************************************</span>
-00754 <span class="comment"> *</span>
-00755 <span class="comment"> * Public class method prototypes</span>
-00756 <span class="comment"> *</span>
-00757 <span class="comment"> ***********************************************************************/</span>
-00758
-00775 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga18">FLAC__stream_decoder_set_ogg_serial_number</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keywordtype">long</span> serial_number);
-00776
-00797 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga19">FLAC__stream_decoder_set_md5_checking</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__bool value);
-00798
-00811 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga20">FLAC__stream_decoder_set_metadata_respond</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="code" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type);
-00812
-00826 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga21">FLAC__stream_decoder_set_metadata_respond_application</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keyword">const</span> FLAC__byte <span class="keywordtype">id</span>[4]);
-00827
-00838 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga22">FLAC__stream_decoder_set_metadata_respond_all</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
-00839
-00852 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga23">FLAC__stream_decoder_set_metadata_ignore</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="code" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type);
-00853
-00867 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga24">FLAC__stream_decoder_set_metadata_ignore_application</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <span class="keyword">const</span> FLAC__byte <span class="keywordtype">id</span>[4]);
-00868
-00879 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga25">FLAC__stream_decoder_set_metadata_ignore_all</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
-00880
-00889 FLAC_API FLAC__StreamDecoderState <a class="code" href="group__flac__stream__decoder.html#ga26">FLAC__stream_decoder_get_state</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
-00890
-00899 FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__flac__stream__decoder.html#ga27">FLAC__stream_decoder_get_resolved_state_string</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
-00900
-00913 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga28">FLAC__stream_decoder_get_md5_checking</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
-00914
-00925 FLAC_API FLAC__uint64 <a class="code" href="group__flac__stream__decoder.html#ga29">FLAC__stream_decoder_get_total_samples</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
-00926
-00937 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__decoder.html#ga30">FLAC__stream_decoder_get_channels</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
-00938
-00949 FLAC_API <a class="code" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a> <a class="code" href="group__flac__stream__decoder.html#ga31">FLAC__stream_decoder_get_channel_assignment</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
-00950
-00961 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__decoder.html#ga32">FLAC__stream_decoder_get_bits_per_sample</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
-00962
-00973 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__decoder.html#ga33">FLAC__stream_decoder_get_sample_rate</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
-00974
-00985 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__decoder.html#ga34">FLAC__stream_decoder_get_blocksize</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
-00986
-01006 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga35">FLAC__stream_decoder_get_decode_position</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *position);
-01007
-01072 FLAC_API FLAC__StreamDecoderInitStatus <a class="code" href="group__flac__stream__decoder.html#ga36">FLAC__stream_decoder_init_stream</a>(
-01073 <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder,
-01074 <a class="code" href="group__flac__stream__decoder.html#ga8">FLAC__StreamDecoderReadCallback</a> read_callback,
-01075 <a class="code" href="group__flac__stream__decoder.html#ga9">FLAC__StreamDecoderSeekCallback</a> seek_callback,
-01076 <a class="code" href="group__flac__stream__decoder.html#ga10">FLAC__StreamDecoderTellCallback</a> tell_callback,
-01077 <a class="code" href="group__flac__stream__decoder.html#ga11">FLAC__StreamDecoderLengthCallback</a> length_callback,
-01078 <a class="code" href="group__flac__stream__decoder.html#ga12">FLAC__StreamDecoderEofCallback</a> eof_callback,
-01079 <a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback,
-01080 <a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback,
-01081 <a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback,
-01082 <span class="keywordtype">void</span> *client_data
-01083 );
-01084
-01153 FLAC_API FLAC__StreamDecoderInitStatus <a class="code" href="group__flac__stream__decoder.html#ga37">FLAC__stream_decoder_init_ogg_stream</a>(
-01154 <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder,
-01155 <a class="code" href="group__flac__stream__decoder.html#ga8">FLAC__StreamDecoderReadCallback</a> read_callback,
-01156 <a class="code" href="group__flac__stream__decoder.html#ga9">FLAC__StreamDecoderSeekCallback</a> seek_callback,
-01157 <a class="code" href="group__flac__stream__decoder.html#ga10">FLAC__StreamDecoderTellCallback</a> tell_callback,
-01158 <a class="code" href="group__flac__stream__decoder.html#ga11">FLAC__StreamDecoderLengthCallback</a> length_callback,
-01159 <a class="code" href="group__flac__stream__decoder.html#ga12">FLAC__StreamDecoderEofCallback</a> eof_callback,
-01160 <a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback,
-01161 <a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback,
-01162 <a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback,
-01163 <span class="keywordtype">void</span> *client_data
-01164 );
-01165
-01203 FLAC_API FLAC__StreamDecoderInitStatus <a class="code" href="group__flac__stream__decoder.html#ga38">FLAC__stream_decoder_init_FILE</a>(
-01204 <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder,
-01205 FILE *file,
-01206 <a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback,
-01207 <a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback,
-01208 <a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback,
-01209 <span class="keywordtype">void</span> *client_data
-01210 );
-01211
-01253 FLAC_API FLAC__StreamDecoderInitStatus <a class="code" href="group__flac__stream__decoder.html#ga39">FLAC__stream_decoder_init_ogg_FILE</a>(
-01254 <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder,
-01255 FILE *file,
-01256 <a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback,
-01257 <a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback,
-01258 <a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback,
-01259 <span class="keywordtype">void</span> *client_data
-01260 );
-01261
-01295 FLAC_API FLAC__StreamDecoderInitStatus <a class="code" href="group__flac__stream__decoder.html#ga40">FLAC__stream_decoder_init_file</a>(
-01296 <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder,
-01297 <span class="keyword">const</span> <span class="keywordtype">char</span> *filename,
-01298 <a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback,
-01299 <a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback,
-01300 <a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback,
-01301 <span class="keywordtype">void</span> *client_data
-01302 );
-01303
-01341 FLAC_API FLAC__StreamDecoderInitStatus <a class="code" href="group__flac__stream__decoder.html#ga41">FLAC__stream_decoder_init_ogg_file</a>(
-01342 <a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder,
-01343 <span class="keyword">const</span> <span class="keywordtype">char</span> *filename,
-01344 <a class="code" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback,
-01345 <a class="code" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback,
-01346 <a class="code" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback,
-01347 <span class="keywordtype">void</span> *client_data
-01348 );
-01349
-01369 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga42">FLAC__stream_decoder_finish</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
-01370
-01384 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga43">FLAC__stream_decoder_flush</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
-01385
-01417 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga44">FLAC__stream_decoder_reset</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
-01418
-01450 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga45">FLAC__stream_decoder_process_single</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
-01451
-01471 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga46">FLAC__stream_decoder_process_until_end_of_metadata</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
-01472
-01492 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga47">FLAC__stream_decoder_process_until_end_of_stream</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
-01493
-01533 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga48">FLAC__stream_decoder_skip_single_frame</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder);
-01534
-01551 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__decoder.html#ga49">FLAC__stream_decoder_seek_absolute</a>(<a class="code" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 sample);
-01552
-01553 <span class="comment">/* \} */</span>
-01554
-01555 <span class="preprocessor">#ifdef __cplusplus</span>
-01556 <span class="preprocessor"></span>}
-01557 <span class="preprocessor">#endif</span>
-01558 <span class="preprocessor"></span>
-01559 <span class="preprocessor">#endif</span>
-</pre></div>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/stream__decoder_8h.html b/3rdparty/libflac/doc/html/api/stream__decoder_8h.html
deleted file mode 100644
index 357913fdfe2..00000000000
--- a/3rdparty/libflac/doc/html/api/stream__decoder_8h.html
+++ /dev/null
@@ -1,206 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC/stream_decoder.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000002.html">FLAC</a></div>
-<h1>stream_decoder.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module contains the functions which implement the stream decoder.
-<p>
-See the detailed documentation in the <a class="el" href="group__flac__stream__decoder.html">stream decoder </a> module.
-<p>
-<code>#include &lt;stdio.h&gt;</code><br>
-<code>#include "<a class="el" href="export_8h-source.html">export.h</a>"</code><br>
-<code>#include "<a class="el" href="format_8h-source.html">format.h</a>"</code><br>
-
-<p>
-<a href="stream__decoder_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__stream__decoder.html#ga52">FLAC__StreamDecoderReadStatus</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga8">FLAC__StreamDecoderReadCallback</a> )(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__stream__decoder.html#ga53">FLAC__StreamDecoderSeekStatus</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga9">FLAC__StreamDecoderSeekCallback</a> )(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 absolute_byte_offset, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__stream__decoder.html#ga54">FLAC__StreamDecoderTellStatus</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga10">FLAC__StreamDecoderTellCallback</a> )(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__stream__decoder.html#ga55">FLAC__StreamDecoderLengthStatus</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga11">FLAC__StreamDecoderLengthCallback</a> )(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *stream_length, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef FLAC__bool(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga12">FLAC__StreamDecoderEofCallback</a> )(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__stream__decoder.html#ga56">FLAC__StreamDecoderWriteStatus</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> )(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const <a class="el" href="structFLAC____Frame.html">FLAC__Frame</a> *frame, const FLAC__int32 *const buffer[], void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> )(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> )(const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__stream__decoder.html#ga57">FLAC__StreamDecoderErrorStatus</a> status, void *client_data)</td></tr>
-
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga50">FLAC__StreamDecoderState</a> { <br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__decoder.html#gga50a16">FLAC__STREAM_DECODER_SEARCH_FOR_METADATA</a> = 0,
-<a class="el" href="group__flac__stream__decoder.html#gga50a17">FLAC__STREAM_DECODER_READ_METADATA</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga50a18">FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga50a19">FLAC__STREAM_DECODER_READ_FRAME</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__decoder.html#gga50a20">FLAC__STREAM_DECODER_END_OF_STREAM</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga50a21">FLAC__STREAM_DECODER_OGG_ERROR</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga50a22">FLAC__STREAM_DECODER_SEEK_ERROR</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga50a23">FLAC__STREAM_DECODER_ABORTED</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__decoder.html#gga50a24">FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga50a25">FLAC__STREAM_DECODER_UNINITIALIZED</a>
-<br>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a> { <br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__decoder.html#gga51a26">FLAC__STREAM_DECODER_INIT_STATUS_OK</a> = 0,
-<a class="el" href="group__flac__stream__decoder.html#gga51a27">FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga51a28">FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga51a29">FLAC__STREAM_DECODER_INIT_STATUS_MEMORY_ALLOCATION_ERROR</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__decoder.html#gga51a30">FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FILE</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga51a31">FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED</a>
-<br>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga52">FLAC__StreamDecoderReadStatus</a> { <a class="el" href="group__flac__stream__decoder.html#gga52a32">FLAC__STREAM_DECODER_READ_STATUS_CONTINUE</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga52a33">FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga52a34">FLAC__STREAM_DECODER_READ_STATUS_ABORT</a>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga53">FLAC__StreamDecoderSeekStatus</a> { <a class="el" href="group__flac__stream__decoder.html#gga53a35">FLAC__STREAM_DECODER_SEEK_STATUS_OK</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga53a36">FLAC__STREAM_DECODER_SEEK_STATUS_ERROR</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga53a37">FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED</a>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga54">FLAC__StreamDecoderTellStatus</a> { <a class="el" href="group__flac__stream__decoder.html#gga54a38">FLAC__STREAM_DECODER_TELL_STATUS_OK</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga54a39">FLAC__STREAM_DECODER_TELL_STATUS_ERROR</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga54a40">FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED</a>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga55">FLAC__StreamDecoderLengthStatus</a> { <a class="el" href="group__flac__stream__decoder.html#gga55a41">FLAC__STREAM_DECODER_LENGTH_STATUS_OK</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga55a42">FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga55a43">FLAC__STREAM_DECODER_LENGTH_STATUS_UNSUPPORTED</a>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga56">FLAC__StreamDecoderWriteStatus</a> { <a class="el" href="group__flac__stream__decoder.html#gga56a44">FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga56a45">FLAC__STREAM_DECODER_WRITE_STATUS_ABORT</a>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga57">FLAC__StreamDecoderErrorStatus</a> { <a class="el" href="group__flac__stream__decoder.html#gga57a46">FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga57a47">FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga57a48">FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH</a>,
-<a class="el" href="group__flac__stream__decoder.html#gga57a49">FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM</a>
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga16">FLAC__stream_decoder_new</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga17">FLAC__stream_decoder_delete</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga18">FLAC__stream_decoder_set_ogg_serial_number</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, long serial_number)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga19">FLAC__stream_decoder_set_md5_checking</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga20">FLAC__stream_decoder_set_metadata_respond</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga21">FLAC__stream_decoder_set_metadata_respond_application</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const FLAC__byte id[4])</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga22">FLAC__stream_decoder_set_metadata_respond_all</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga23">FLAC__stream_decoder_set_metadata_ignore</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga24">FLAC__stream_decoder_set_metadata_ignore_application</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const FLAC__byte id[4])</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga25">FLAC__stream_decoder_set_metadata_ignore_all</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__decoder.html#ga50">FLAC__StreamDecoderState</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga26">FLAC__stream_decoder_get_state</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga27">FLAC__stream_decoder_get_resolved_state_string</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga28">FLAC__stream_decoder_get_md5_checking</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga29">FLAC__stream_decoder_get_total_samples</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga30">FLAC__stream_decoder_get_channels</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga31">FLAC__stream_decoder_get_channel_assignment</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga32">FLAC__stream_decoder_get_bits_per_sample</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga33">FLAC__stream_decoder_get_sample_rate</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga34">FLAC__stream_decoder_get_blocksize</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga35">FLAC__stream_decoder_get_decode_position</a> (const <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 *position)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga36">FLAC__stream_decoder_init_stream</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__stream__decoder.html#ga8">FLAC__StreamDecoderReadCallback</a> read_callback, <a class="el" href="group__flac__stream__decoder.html#ga9">FLAC__StreamDecoderSeekCallback</a> seek_callback, <a class="el" href="group__flac__stream__decoder.html#ga10">FLAC__StreamDecoderTellCallback</a> tell_callback, <a class="el" href="group__flac__stream__decoder.html#ga11">FLAC__StreamDecoderLengthCallback</a> length_callback, <a class="el" href="group__flac__stream__decoder.html#ga12">FLAC__StreamDecoderEofCallback</a> eof_callback, <a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback, <a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback, <a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga37">FLAC__stream_decoder_init_ogg_stream</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, <a class="el" href="group__flac__stream__decoder.html#ga8">FLAC__StreamDecoderReadCallback</a> read_callback, <a class="el" href="group__flac__stream__decoder.html#ga9">FLAC__StreamDecoderSeekCallback</a> seek_callback, <a class="el" href="group__flac__stream__decoder.html#ga10">FLAC__StreamDecoderTellCallback</a> tell_callback, <a class="el" href="group__flac__stream__decoder.html#ga11">FLAC__StreamDecoderLengthCallback</a> length_callback, <a class="el" href="group__flac__stream__decoder.html#ga12">FLAC__StreamDecoderEofCallback</a> eof_callback, <a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback, <a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback, <a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga38">FLAC__stream_decoder_init_FILE</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FILE *file, <a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback, <a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback, <a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga39">FLAC__stream_decoder_init_ogg_FILE</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FILE *file, <a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback, <a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback, <a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga40">FLAC__stream_decoder_init_file</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const char *filename, <a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback, <a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback, <a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__decoder.html#ga51">FLAC__StreamDecoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga41">FLAC__stream_decoder_init_ogg_file</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, const char *filename, <a class="el" href="group__flac__stream__decoder.html#ga13">FLAC__StreamDecoderWriteCallback</a> write_callback, <a class="el" href="group__flac__stream__decoder.html#ga14">FLAC__StreamDecoderMetadataCallback</a> metadata_callback, <a class="el" href="group__flac__stream__decoder.html#ga15">FLAC__StreamDecoderErrorCallback</a> error_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga42">FLAC__stream_decoder_finish</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga43">FLAC__stream_decoder_flush</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga44">FLAC__stream_decoder_reset</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga45">FLAC__stream_decoder_process_single</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga46">FLAC__stream_decoder_process_until_end_of_metadata</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga47">FLAC__stream_decoder_process_until_end_of_stream</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga48">FLAC__stream_decoder_skip_single_frame</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga49">FLAC__stream_decoder_seek_absolute</a> (<a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a> *decoder, FLAC__uint64 sample)</td></tr>
-
-<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga0">FLAC__StreamDecoderStateString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga1">FLAC__StreamDecoderInitStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga2">FLAC__StreamDecoderReadStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga3">FLAC__StreamDecoderSeekStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga4">FLAC__StreamDecoderTellStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga5">FLAC__StreamDecoderLengthStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga6">FLAC__StreamDecoderWriteStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__decoder.html#ga7">FLAC__StreamDecoderErrorStatusString</a> []</td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/stream__encoder_8h-source.html b/3rdparty/libflac/doc/html/api/stream__encoder_8h-source.html
deleted file mode 100644
index 26db23eba3f..00000000000
--- a/3rdparty/libflac/doc/html/api/stream__encoder_8h-source.html
+++ /dev/null
@@ -1,305 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC/stream_encoder.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000002.html">FLAC</a></div>
-<h1>stream_encoder.h</h1><a href="stream__encoder_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/* libFLAC - Free Lossless Audio Codec library</span>
-00002 <span class="comment"> * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</span>
-00003 <span class="comment"> *</span>
-00004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
-00005 <span class="comment"> * modification, are permitted provided that the following conditions</span>
-00006 <span class="comment"> * are met:</span>
-00007 <span class="comment"> *</span>
-00008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span>
-00009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
-00010 <span class="comment"> *</span>
-00011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span>
-00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
-00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
-00014 <span class="comment"> *</span>
-00015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span>
-00016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span>
-00017 <span class="comment"> * this software without specific prior written permission.</span>
-00018 <span class="comment"> *</span>
-00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-00020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR</span>
-00023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span>
-00024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span>
-00025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span>
-00026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span>
-00027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span>
-00028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span>
-00029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-00030 <span class="comment"> */</span>
-00031
-00032 <span class="preprocessor">#ifndef FLAC__STREAM_ENCODER_H</span>
-00033 <span class="preprocessor"></span><span class="preprocessor">#define FLAC__STREAM_ENCODER_H</span>
-00034 <span class="preprocessor"></span>
-00035 <span class="preprocessor">#include &lt;stdio.h&gt;</span> <span class="comment">/* for FILE */</span>
-00036 <span class="preprocessor">#include "<a class="code" href="export_8h.html">export.h</a>"</span>
-00037 <span class="preprocessor">#include "<a class="code" href="format_8h.html">format.h</a>"</span>
-00038 <span class="preprocessor">#include "<a class="code" href="stream__decoder_8h.html">stream_decoder.h</a>"</span>
-00039
-00040 <span class="preprocessor">#ifdef __cplusplus</span>
-00041 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
-00042 <span class="preprocessor">#endif</span>
-00043 <span class="preprocessor"></span>
-00044
-<a name="l00240"></a><a class="code" href="group__flac__stream__encoder.html#ga65">00240</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00241
-00242 <a class="code" href="group__flac__stream__encoder.html#gga65a12">FLAC__STREAM_ENCODER_OK</a> = 0,
-00245 <a class="code" href="group__flac__stream__encoder.html#gga65a13">FLAC__STREAM_ENCODER_UNINITIALIZED</a>,
-00251 <a class="code" href="group__flac__stream__encoder.html#gga65a14">FLAC__STREAM_ENCODER_OGG_ERROR</a>,
-00254 <a class="code" href="group__flac__stream__encoder.html#gga65a15">FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR</a>,
-00259 <a class="code" href="group__flac__stream__encoder.html#gga65a16">FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA</a>,
-00264 <a class="code" href="group__flac__stream__encoder.html#gga65a17">FLAC__STREAM_ENCODER_CLIENT_ERROR</a>,
-00267 <a class="code" href="group__flac__stream__encoder.html#gga65a18">FLAC__STREAM_ENCODER_IO_ERROR</a>,
-00272 <a class="code" href="group__flac__stream__encoder.html#gga65a19">FLAC__STREAM_ENCODER_FRAMING_ERROR</a>,
-00277 <a class="code" href="group__flac__stream__encoder.html#gga65a20">FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR</a>
-00280 } <a class="code" href="group__flac__stream__encoder.html#ga65">FLAC__StreamEncoderState</a>;
-00281
-00287 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__encoder.html#ga0">FLAC__StreamEncoderStateString</a>[];
-00288
-00289
-<a name="l00292"></a><a class="code" href="group__flac__stream__encoder.html#ga66">00292</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00293
-00294 <a class="code" href="group__flac__stream__encoder.html#gga66a21">FLAC__STREAM_ENCODER_INIT_STATUS_OK</a> = 0,
-00297 <a class="code" href="group__flac__stream__encoder.html#gga66a22">FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR</a>,
-00300 <a class="code" href="group__flac__stream__encoder.html#gga66a23">FLAC__STREAM_ENCODER_INIT_STATUS_UNSUPPORTED_CONTAINER</a>,
-00305 <a class="code" href="group__flac__stream__encoder.html#gga66a24">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS</a>,
-00308 <a class="code" href="group__flac__stream__encoder.html#gga66a25">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_NUMBER_OF_CHANNELS</a>,
-00311 <a class="code" href="group__flac__stream__encoder.html#gga66a26">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BITS_PER_SAMPLE</a>,
-00317 <a class="code" href="group__flac__stream__encoder.html#gga66a27">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_SAMPLE_RATE</a>,
-00320 <a class="code" href="group__flac__stream__encoder.html#gga66a28">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BLOCK_SIZE</a>,
-00323 <a class="code" href="group__flac__stream__encoder.html#gga66a29">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_MAX_LPC_ORDER</a>,
-00326 <a class="code" href="group__flac__stream__encoder.html#gga66a30">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_QLP_COEFF_PRECISION</a>,
-00329 <a class="code" href="group__flac__stream__encoder.html#gga66a31">FLAC__STREAM_ENCODER_INIT_STATUS_BLOCK_SIZE_TOO_SMALL_FOR_LPC_ORDER</a>,
-00332 <a class="code" href="group__flac__stream__encoder.html#gga66a32">FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE</a>,
-00335 <a class="code" href="group__flac__stream__encoder.html#gga66a33">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_METADATA</a>,
-00344 <a class="code" href="group__flac__stream__encoder.html#gga66a34">FLAC__STREAM_ENCODER_INIT_STATUS_ALREADY_INITIALIZED</a>
-00350 } <a class="code" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>;
-00351
-00357 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__encoder.html#ga1">FLAC__StreamEncoderInitStatusString</a>[];
-00358
-00359
-<a name="l00362"></a><a class="code" href="group__flac__stream__encoder.html#ga67">00362</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00363
-00364 <a class="code" href="group__flac__stream__encoder.html#gga67a35">FLAC__STREAM_ENCODER_READ_STATUS_CONTINUE</a>,
-00367 <a class="code" href="group__flac__stream__encoder.html#gga67a36">FLAC__STREAM_ENCODER_READ_STATUS_END_OF_STREAM</a>,
-00370 <a class="code" href="group__flac__stream__encoder.html#gga67a37">FLAC__STREAM_ENCODER_READ_STATUS_ABORT</a>,
-00373 <a class="code" href="group__flac__stream__encoder.html#gga67a38">FLAC__STREAM_ENCODER_READ_STATUS_UNSUPPORTED</a>
-00376 } <a class="code" href="group__flac__stream__encoder.html#ga67">FLAC__StreamEncoderReadStatus</a>;
-00377
-00383 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__encoder.html#ga2">FLAC__StreamEncoderReadStatusString</a>[];
-00384
-00385
-<a name="l00388"></a><a class="code" href="group__flac__stream__encoder.html#ga68">00388</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00389
-00390 <a class="code" href="group__flac__stream__encoder.html#gga68a39">FLAC__STREAM_ENCODER_WRITE_STATUS_OK</a> = 0,
-00393 <a class="code" href="group__flac__stream__encoder.html#gga68a40">FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR</a>
-00396 } <a class="code" href="group__flac__stream__encoder.html#ga68">FLAC__StreamEncoderWriteStatus</a>;
-00397
-00403 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__encoder.html#ga3">FLAC__StreamEncoderWriteStatusString</a>[];
-00404
-00405
-<a name="l00408"></a><a class="code" href="group__flac__stream__encoder.html#ga69">00408</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00409
-00410 <a class="code" href="group__flac__stream__encoder.html#gga69a41">FLAC__STREAM_ENCODER_SEEK_STATUS_OK</a>,
-00413 <a class="code" href="group__flac__stream__encoder.html#gga69a42">FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR</a>,
-00416 <a class="code" href="group__flac__stream__encoder.html#gga69a43">FLAC__STREAM_ENCODER_SEEK_STATUS_UNSUPPORTED</a>
-00419 } <a class="code" href="group__flac__stream__encoder.html#ga69">FLAC__StreamEncoderSeekStatus</a>;
-00420
-00426 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__encoder.html#ga4">FLAC__StreamEncoderSeekStatusString</a>[];
-00427
-00428
-<a name="l00431"></a><a class="code" href="group__flac__stream__encoder.html#ga70">00431</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-00432
-00433 <a class="code" href="group__flac__stream__encoder.html#gga70a44">FLAC__STREAM_ENCODER_TELL_STATUS_OK</a>,
-00436 <a class="code" href="group__flac__stream__encoder.html#gga70a45">FLAC__STREAM_ENCODER_TELL_STATUS_ERROR</a>,
-00439 <a class="code" href="group__flac__stream__encoder.html#gga70a46">FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED</a>
-00442 } <a class="code" href="group__flac__stream__encoder.html#ga70">FLAC__StreamEncoderTellStatus</a>;
-00443
-00449 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__stream__encoder.html#ga5">FLAC__StreamEncoderTellStatusString</a>[];
-00450
-00451
-00452 <span class="comment">/***********************************************************************</span>
-00453 <span class="comment"> *</span>
-00454 <span class="comment"> * class FLAC__StreamEncoder</span>
-00455 <span class="comment"> *</span>
-00456 <span class="comment"> ***********************************************************************/</span>
-00457
-00458 <span class="keyword">struct </span>FLAC__StreamEncoderProtected;
-00459 <span class="keyword">struct </span>FLAC__StreamEncoderPrivate;
-<a name="l00464"></a><a class="code" href="structFLAC____StreamEncoder.html">00464</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-00465 <span class="keyword">struct </span>FLAC__StreamEncoderProtected *protected_; <span class="comment">/* avoid the C++ keyword 'protected' */</span>
-00466 <span class="keyword">struct </span>FLAC__StreamEncoderPrivate *private_; <span class="comment">/* avoid the C++ keyword 'private' */</span>
-00467 } <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a>;
-00468
-<a name="l00518"></a><a class="code" href="group__flac__stream__encoder.html#ga6">00518</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__encoder.html#ga67">FLAC__StreamEncoderReadStatus</a> (*<a class="code" href="group__flac__stream__encoder.html#ga6">FLAC__StreamEncoderReadCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__byte buffer[], size_t *bytes, <span class="keywordtype">void</span> *client_data);
-00519
-<a name="l00556"></a><a class="code" href="group__flac__stream__encoder.html#ga7">00556</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__encoder.html#ga68">FLAC__StreamEncoderWriteStatus</a> (*<a class="code" href="group__flac__stream__encoder.html#ga7">FLAC__StreamEncoderWriteCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keyword">const</span> FLAC__byte buffer[], size_t bytes, <span class="keywordtype">unsigned</span> samples, <span class="keywordtype">unsigned</span> current_frame, <span class="keywordtype">void</span> *client_data);
-00557
-<a name="l00590"></a><a class="code" href="group__flac__stream__encoder.html#ga8">00590</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__encoder.html#ga69">FLAC__StreamEncoderSeekStatus</a> (*<a class="code" href="group__flac__stream__encoder.html#ga8">FLAC__StreamEncoderSeekCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 absolute_byte_offset, <span class="keywordtype">void</span> *client_data);
-00591
-<a name="l00635"></a><a class="code" href="group__flac__stream__encoder.html#ga9">00635</a> <span class="keyword">typedef</span> <a class="code" href="group__flac__stream__encoder.html#ga70">FLAC__StreamEncoderTellStatus</a> (*<a class="code" href="group__flac__stream__encoder.html#ga9">FLAC__StreamEncoderTellCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 *absolute_byte_offset, <span class="keywordtype">void</span> *client_data);
-00636
-<a name="l00654"></a><a class="code" href="group__flac__stream__encoder.html#ga10">00654</a> <span class="keyword">typedef</span> void (*<a class="code" href="group__flac__stream__encoder.html#ga10">FLAC__StreamEncoderMetadataCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, <span class="keywordtype">void</span> *client_data);
-00655
-<a name="l00677"></a><a class="code" href="group__flac__stream__encoder.html#ga11">00677</a> <span class="keyword">typedef</span> void (*<a class="code" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a>)(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, <span class="keywordtype">unsigned</span> frames_written, <span class="keywordtype">unsigned</span> total_frames_estimate, <span class="keywordtype">void</span> *client_data);
-00678
-00679
-00680 <span class="comment">/***********************************************************************</span>
-00681 <span class="comment"> *</span>
-00682 <span class="comment"> * Class constructor/destructor</span>
-00683 <span class="comment"> *</span>
-00684 <span class="comment"> ***********************************************************************/</span>
-00685
-00693 FLAC_API <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *<a class="code" href="group__flac__stream__encoder.html#ga12">FLAC__stream_encoder_new</a>(<span class="keywordtype">void</span>);
-00694
-00701 FLAC_API <span class="keywordtype">void</span> <a class="code" href="group__flac__stream__encoder.html#ga13">FLAC__stream_encoder_delete</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-00702
-00703
-00704 <span class="comment">/***********************************************************************</span>
-00705 <span class="comment"> *</span>
-00706 <span class="comment"> * Public class method prototypes</span>
-00707 <span class="comment"> *</span>
-00708 <span class="comment"> ***********************************************************************/</span>
-00709
-00727 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga14">FLAC__stream_encoder_set_ogg_serial_number</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">long</span> serial_number);
-00728
-00743 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga15">FLAC__stream_encoder_set_verify</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value);
-00744
-00761 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga16">FLAC__stream_encoder_set_streamable_subset</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value);
-00762
-00773 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga17">FLAC__stream_encoder_set_channels</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">unsigned</span> value);
-00774
-00789 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga18">FLAC__stream_encoder_set_bits_per_sample</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">unsigned</span> value);
-00790
-00801 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga19">FLAC__stream_encoder_set_sample_rate</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">unsigned</span> value);
-00802
-00864 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga20">FLAC__stream_encoder_set_compression_level</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">unsigned</span> value);
-00865
-00879 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga21">FLAC__stream_encoder_set_blocksize</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">unsigned</span> value);
-00880
-00893 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga22">FLAC__stream_encoder_set_do_mid_side_stereo</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value);
-00894
-00909 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga23">FLAC__stream_encoder_set_loose_mid_side_stereo</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value);
-00910
-00954 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga24">FLAC__stream_encoder_set_apodization</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keyword">const</span> <span class="keywordtype">char</span> *specification);
-00955
-00966 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga25">FLAC__stream_encoder_set_max_lpc_order</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">unsigned</span> value);
-00967
-00984 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga26">FLAC__stream_encoder_set_qlp_coeff_precision</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">unsigned</span> value);
-00985
-00998 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga27">FLAC__stream_encoder_set_do_qlp_coeff_prec_search</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value);
-00999
-01010 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga28">FLAC__stream_encoder_set_do_escape_coding</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value);
-01011
-01024 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga29">FLAC__stream_encoder_set_do_exhaustive_model_search</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value);
-01025
-01047 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga30">FLAC__stream_encoder_set_min_residual_partition_order</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">unsigned</span> value);
-01048
-01070 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga31">FLAC__stream_encoder_set_max_residual_partition_order</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">unsigned</span> value);
-01071
-01082 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga32">FLAC__stream_encoder_set_rice_parameter_search_dist</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keywordtype">unsigned</span> value);
-01083
-01098 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga33">FLAC__stream_encoder_set_total_samples_estimate</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 value);
-01099
-01181 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga34">FLAC__stream_encoder_set_metadata</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **metadata, <span class="keywordtype">unsigned</span> num_blocks);
-01182
-01191 FLAC_API FLAC__StreamEncoderState <a class="code" href="group__flac__stream__encoder.html#ga35">FLAC__stream_encoder_get_state</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01192
-01203 FLAC_API <a class="code" href="group__flac__stream__decoder.html#ga50">FLAC__StreamDecoderState</a> <a class="code" href="group__flac__stream__encoder.html#ga36">FLAC__stream_encoder_get_verify_decoder_state</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01204
-01216 FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__flac__stream__encoder.html#ga37">FLAC__stream_encoder_get_resolved_state_string</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01217
-01235 FLAC_API <span class="keywordtype">void</span> <a class="code" href="group__flac__stream__encoder.html#ga38">FLAC__stream_encoder_get_verify_decoder_error_stats</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 *absolute_sample, <span class="keywordtype">unsigned</span> *frame_number, <span class="keywordtype">unsigned</span> *channel, <span class="keywordtype">unsigned</span> *sample, FLAC__int32 *expected, FLAC__int32 *got);
-01236
-01245 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga39">FLAC__stream_encoder_get_verify</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01246
-01255 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga40">FLAC__stream_encoder_get_streamable_subset</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01256
-01265 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__encoder.html#ga41">FLAC__stream_encoder_get_channels</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01266
-01275 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__encoder.html#ga42">FLAC__stream_encoder_get_bits_per_sample</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01276
-01285 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__encoder.html#ga43">FLAC__stream_encoder_get_sample_rate</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01286
-01295 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__encoder.html#ga44">FLAC__stream_encoder_get_blocksize</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01296
-01305 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga45">FLAC__stream_encoder_get_do_mid_side_stereo</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01306
-01315 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga46">FLAC__stream_encoder_get_loose_mid_side_stereo</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01316
-01325 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__encoder.html#ga47">FLAC__stream_encoder_get_max_lpc_order</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01326
-01335 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__encoder.html#ga48">FLAC__stream_encoder_get_qlp_coeff_precision</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01336
-01345 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga49">FLAC__stream_encoder_get_do_qlp_coeff_prec_search</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01346
-01355 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga50">FLAC__stream_encoder_get_do_escape_coding</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01356
-01365 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga51">FLAC__stream_encoder_get_do_exhaustive_model_search</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01366
-01375 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__encoder.html#ga52">FLAC__stream_encoder_get_min_residual_partition_order</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01376
-01385 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__encoder.html#ga53">FLAC__stream_encoder_get_max_residual_partition_order</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01386
-01395 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__stream__encoder.html#ga54">FLAC__stream_encoder_get_rice_parameter_search_dist</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01396
-01408 FLAC_API FLAC__uint64 <a class="code" href="group__flac__stream__encoder.html#ga55">FLAC__stream_encoder_get_total_samples_estimate</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01409
-01471 FLAC_API FLAC__StreamEncoderInitStatus <a class="code" href="group__flac__stream__encoder.html#ga56">FLAC__stream_encoder_init_stream</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <a class="code" href="group__flac__stream__encoder.html#ga7">FLAC__StreamEncoderWriteCallback</a> write_callback, <a class="code" href="group__flac__stream__encoder.html#ga8">FLAC__StreamEncoderSeekCallback</a> seek_callback, <a class="code" href="group__flac__stream__encoder.html#ga9">FLAC__StreamEncoderTellCallback</a> tell_callback, <a class="code" href="group__flac__stream__encoder.html#ga10">FLAC__StreamEncoderMetadataCallback</a> metadata_callback, <span class="keywordtype">void</span> *client_data);
-01472
-01539 FLAC_API FLAC__StreamEncoderInitStatus <a class="code" href="group__flac__stream__encoder.html#ga57">FLAC__stream_encoder_init_ogg_stream</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <a class="code" href="group__flac__stream__encoder.html#ga6">FLAC__StreamEncoderReadCallback</a> read_callback, <a class="code" href="group__flac__stream__encoder.html#ga7">FLAC__StreamEncoderWriteCallback</a> write_callback, <a class="code" href="group__flac__stream__encoder.html#ga8">FLAC__StreamEncoderSeekCallback</a> seek_callback, <a class="code" href="group__flac__stream__encoder.html#ga9">FLAC__StreamEncoderTellCallback</a> tell_callback, <a class="code" href="group__flac__stream__encoder.html#ga10">FLAC__StreamEncoderMetadataCallback</a> metadata_callback, <span class="keywordtype">void</span> *client_data);
-01540
-01574 FLAC_API FLAC__StreamEncoderInitStatus <a class="code" href="group__flac__stream__encoder.html#ga58">FLAC__stream_encoder_init_FILE</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FILE *file, <a class="code" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a> progress_callback, <span class="keywordtype">void</span> *client_data);
-01575
-01609 FLAC_API FLAC__StreamEncoderInitStatus <a class="code" href="group__flac__stream__encoder.html#ga59">FLAC__stream_encoder_init_ogg_FILE</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FILE *file, <a class="code" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a> progress_callback, <span class="keywordtype">void</span> *client_data);
-01610
-01641 FLAC_API FLAC__StreamEncoderInitStatus <a class="code" href="group__flac__stream__encoder.html#ga60">FLAC__stream_encoder_init_file</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <a class="code" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a> progress_callback, <span class="keywordtype">void</span> *client_data);
-01642
-01673 FLAC_API FLAC__StreamEncoderInitStatus <a class="code" href="group__flac__stream__encoder.html#ga61">FLAC__stream_encoder_init_ogg_file</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <a class="code" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a> progress_callback, <span class="keywordtype">void</span> *client_data);
-01674
-01701 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga62">FLAC__stream_encoder_finish</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder);
-01702
-01728 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga63">FLAC__stream_encoder_process</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keyword">const</span> FLAC__int32 * <span class="keyword">const</span> buffer[], <span class="keywordtype">unsigned</span> samples);
-01729
-01760 FLAC_API FLAC__bool <a class="code" href="group__flac__stream__encoder.html#ga64">FLAC__stream_encoder_process_interleaved</a>(<a class="code" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <span class="keyword">const</span> FLAC__int32 buffer[], <span class="keywordtype">unsigned</span> samples);
-01761
-01762 <span class="comment">/* \} */</span>
-01763
-01764 <span class="preprocessor">#ifdef __cplusplus</span>
-01765 <span class="preprocessor"></span>}
-01766 <span class="preprocessor">#endif</span>
-01767 <span class="preprocessor"></span>
-01768 <span class="preprocessor">#endif</span>
-</pre></div>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/stream__encoder_8h.html b/3rdparty/libflac/doc/html/api/stream__encoder_8h.html
deleted file mode 100644
index b12319aa57b..00000000000
--- a/3rdparty/libflac/doc/html/api/stream__encoder_8h.html
+++ /dev/null
@@ -1,236 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: include/FLAC/stream_encoder.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="nav">
-<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000002.html">FLAC</a></div>
-<h1>stream_encoder.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-This module contains the functions which implement the stream encoder.
-<p>
-See the detailed documentation in the <a class="el" href="group__flac__stream__encoder.html">stream encoder </a> module.
-<p>
-<code>#include &lt;stdio.h&gt;</code><br>
-<code>#include "<a class="el" href="export_8h-source.html">export.h</a>"</code><br>
-<code>#include "<a class="el" href="format_8h-source.html">format.h</a>"</code><br>
-<code>#include "<a class="el" href="stream__decoder_8h-source.html">stream_decoder.h</a>"</code><br>
-
-<p>
-<a href="stream__encoder_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__stream__encoder.html#ga67">FLAC__StreamEncoderReadStatus</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga6">FLAC__StreamEncoderReadCallback</a> )(const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__stream__encoder.html#ga68">FLAC__StreamEncoderWriteStatus</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga7">FLAC__StreamEncoderWriteCallback</a> )(const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__stream__encoder.html#ga69">FLAC__StreamEncoderSeekStatus</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga8">FLAC__StreamEncoderSeekCallback</a> )(const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 absolute_byte_offset, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__flac__stream__encoder.html#ga70">FLAC__StreamEncoderTellStatus</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga9">FLAC__StreamEncoderTellCallback</a> )(const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga10">FLAC__StreamEncoderMetadataCallback</a> )(const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *metadata, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a> )(const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate, void *client_data)</td></tr>
-
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga65">FLAC__StreamEncoderState</a> { <br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__encoder.html#gga65a12">FLAC__STREAM_ENCODER_OK</a> = 0,
-<a class="el" href="group__flac__stream__encoder.html#gga65a13">FLAC__STREAM_ENCODER_UNINITIALIZED</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga65a14">FLAC__STREAM_ENCODER_OGG_ERROR</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga65a15">FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__encoder.html#gga65a16">FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga65a17">FLAC__STREAM_ENCODER_CLIENT_ERROR</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga65a18">FLAC__STREAM_ENCODER_IO_ERROR</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga65a19">FLAC__STREAM_ENCODER_FRAMING_ERROR</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__encoder.html#gga65a20">FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR</a>
-<br>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a> { <br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__encoder.html#gga66a21">FLAC__STREAM_ENCODER_INIT_STATUS_OK</a> = 0,
-<a class="el" href="group__flac__stream__encoder.html#gga66a22">FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga66a23">FLAC__STREAM_ENCODER_INIT_STATUS_UNSUPPORTED_CONTAINER</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga66a24">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__encoder.html#gga66a25">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_NUMBER_OF_CHANNELS</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga66a26">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BITS_PER_SAMPLE</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga66a27">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_SAMPLE_RATE</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga66a28">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BLOCK_SIZE</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__encoder.html#gga66a29">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_MAX_LPC_ORDER</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga66a30">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_QLP_COEFF_PRECISION</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga66a31">FLAC__STREAM_ENCODER_INIT_STATUS_BLOCK_SIZE_TOO_SMALL_FOR_LPC_ORDER</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga66a32">FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__flac__stream__encoder.html#gga66a33">FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_METADATA</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga66a34">FLAC__STREAM_ENCODER_INIT_STATUS_ALREADY_INITIALIZED</a>
-<br>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga67">FLAC__StreamEncoderReadStatus</a> { <a class="el" href="group__flac__stream__encoder.html#gga67a35">FLAC__STREAM_ENCODER_READ_STATUS_CONTINUE</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga67a36">FLAC__STREAM_ENCODER_READ_STATUS_END_OF_STREAM</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga67a37">FLAC__STREAM_ENCODER_READ_STATUS_ABORT</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga67a38">FLAC__STREAM_ENCODER_READ_STATUS_UNSUPPORTED</a>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga68">FLAC__StreamEncoderWriteStatus</a> { <a class="el" href="group__flac__stream__encoder.html#gga68a39">FLAC__STREAM_ENCODER_WRITE_STATUS_OK</a> = 0,
-<a class="el" href="group__flac__stream__encoder.html#gga68a40">FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR</a>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga69">FLAC__StreamEncoderSeekStatus</a> { <a class="el" href="group__flac__stream__encoder.html#gga69a41">FLAC__STREAM_ENCODER_SEEK_STATUS_OK</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga69a42">FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga69a43">FLAC__STREAM_ENCODER_SEEK_STATUS_UNSUPPORTED</a>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga70">FLAC__StreamEncoderTellStatus</a> { <a class="el" href="group__flac__stream__encoder.html#gga70a44">FLAC__STREAM_ENCODER_TELL_STATUS_OK</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga70a45">FLAC__STREAM_ENCODER_TELL_STATUS_ERROR</a>,
-<a class="el" href="group__flac__stream__encoder.html#gga70a46">FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED</a>
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga12">FLAC__stream_encoder_new</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga13">FLAC__stream_encoder_delete</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga14">FLAC__stream_encoder_set_ogg_serial_number</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, long serial_number)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga15">FLAC__stream_encoder_set_verify</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga16">FLAC__stream_encoder_set_streamable_subset</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga17">FLAC__stream_encoder_set_channels</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga18">FLAC__stream_encoder_set_bits_per_sample</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga19">FLAC__stream_encoder_set_sample_rate</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga20">FLAC__stream_encoder_set_compression_level</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga21">FLAC__stream_encoder_set_blocksize</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga22">FLAC__stream_encoder_set_do_mid_side_stereo</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga23">FLAC__stream_encoder_set_loose_mid_side_stereo</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga24">FLAC__stream_encoder_set_apodization</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, const char *specification)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga25">FLAC__stream_encoder_set_max_lpc_order</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga26">FLAC__stream_encoder_set_qlp_coeff_precision</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga27">FLAC__stream_encoder_set_do_qlp_coeff_prec_search</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga28">FLAC__stream_encoder_set_do_escape_coding</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga29">FLAC__stream_encoder_set_do_exhaustive_model_search</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__bool value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga30">FLAC__stream_encoder_set_min_residual_partition_order</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga31">FLAC__stream_encoder_set_max_residual_partition_order</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga32">FLAC__stream_encoder_set_rice_parameter_search_dist</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, unsigned value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga33">FLAC__stream_encoder_set_total_samples_estimate</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga34">FLAC__stream_encoder_set_metadata</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> **metadata, unsigned num_blocks)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__encoder.html#ga65">FLAC__StreamEncoderState</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga35">FLAC__stream_encoder_get_state</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__decoder.html#ga50">FLAC__StreamDecoderState</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga36">FLAC__stream_encoder_get_verify_decoder_state</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga37">FLAC__stream_encoder_get_resolved_state_string</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga38">FLAC__stream_encoder_get_verify_decoder_error_stats</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FLAC__uint64 *absolute_sample, unsigned *frame_number, unsigned *channel, unsigned *sample, FLAC__int32 *expected, FLAC__int32 *got)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga39">FLAC__stream_encoder_get_verify</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga40">FLAC__stream_encoder_get_streamable_subset</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga41">FLAC__stream_encoder_get_channels</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga42">FLAC__stream_encoder_get_bits_per_sample</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga43">FLAC__stream_encoder_get_sample_rate</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga44">FLAC__stream_encoder_get_blocksize</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga45">FLAC__stream_encoder_get_do_mid_side_stereo</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga46">FLAC__stream_encoder_get_loose_mid_side_stereo</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga47">FLAC__stream_encoder_get_max_lpc_order</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga48">FLAC__stream_encoder_get_qlp_coeff_precision</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga49">FLAC__stream_encoder_get_do_qlp_coeff_prec_search</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga50">FLAC__stream_encoder_get_do_escape_coding</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga51">FLAC__stream_encoder_get_do_exhaustive_model_search</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga52">FLAC__stream_encoder_get_min_residual_partition_order</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga53">FLAC__stream_encoder_get_max_residual_partition_order</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga54">FLAC__stream_encoder_get_rice_parameter_search_dist</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga55">FLAC__stream_encoder_get_total_samples_estimate</a> (const <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga56">FLAC__stream_encoder_init_stream</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <a class="el" href="group__flac__stream__encoder.html#ga7">FLAC__StreamEncoderWriteCallback</a> write_callback, <a class="el" href="group__flac__stream__encoder.html#ga8">FLAC__StreamEncoderSeekCallback</a> seek_callback, <a class="el" href="group__flac__stream__encoder.html#ga9">FLAC__StreamEncoderTellCallback</a> tell_callback, <a class="el" href="group__flac__stream__encoder.html#ga10">FLAC__StreamEncoderMetadataCallback</a> metadata_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga57">FLAC__stream_encoder_init_ogg_stream</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, <a class="el" href="group__flac__stream__encoder.html#ga6">FLAC__StreamEncoderReadCallback</a> read_callback, <a class="el" href="group__flac__stream__encoder.html#ga7">FLAC__StreamEncoderWriteCallback</a> write_callback, <a class="el" href="group__flac__stream__encoder.html#ga8">FLAC__StreamEncoderSeekCallback</a> seek_callback, <a class="el" href="group__flac__stream__encoder.html#ga9">FLAC__StreamEncoderTellCallback</a> tell_callback, <a class="el" href="group__flac__stream__encoder.html#ga10">FLAC__StreamEncoderMetadataCallback</a> metadata_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga58">FLAC__stream_encoder_init_FILE</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FILE *file, <a class="el" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a> progress_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga59">FLAC__stream_encoder_init_ogg_FILE</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, FILE *file, <a class="el" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a> progress_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga60">FLAC__stream_encoder_init_file</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, const char *filename, <a class="el" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a> progress_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__stream__encoder.html#ga66">FLAC__StreamEncoderInitStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga61">FLAC__stream_encoder_init_ogg_file</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, const char *filename, <a class="el" href="group__flac__stream__encoder.html#ga11">FLAC__StreamEncoderProgressCallback</a> progress_callback, void *client_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga62">FLAC__stream_encoder_finish</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga63">FLAC__stream_encoder_process</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, const FLAC__int32 *const buffer[], unsigned samples)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga64">FLAC__stream_encoder_process_interleaved</a> (<a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a> *encoder, const FLAC__int32 buffer[], unsigned samples)</td></tr>
-
-<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga0">FLAC__StreamEncoderStateString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga1">FLAC__StreamEncoderInitStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga2">FLAC__StreamEncoderReadStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga3">FLAC__StreamEncoderWriteStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga4">FLAC__StreamEncoderSeekStatusString</a> []</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__stream__encoder.html#ga5">FLAC__StreamEncoderTellStatusString</a> []</td></tr>
-
-</table>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod-members.html b/3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod-members.html
deleted file mode 100644
index 3504ed61875..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod-members.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__EntropyCodingMethod Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>data</b> (defined in <a class="el" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a>)</td><td><a class="el" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>partitioned_rice</b> (defined in <a class="el" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a>)</td><td><a class="el" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>type</b> (defined in <a class="el" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a>)</td><td><a class="el" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod.html b/3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod.html
deleted file mode 100644
index 09cfcd34ab8..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__EntropyCodingMethod Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__EntropyCodingMethod Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____EntropyCodingMethod-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-Header for the entropy coding method. (c.f. <a href="../format.html#residual">format specification</a>)
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____EntropyCodingMethodo0" doxytag="FLAC__EntropyCodingMethod::type"></a>
-<a class="el" href="group__flac__format.html#ga109">FLAC__EntropyCodingMethodType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap><a class="anchor" name="FLAC____EntropyCodingMethodo2" doxytag="FLAC__EntropyCodingMethod::data"></a>
-union {</td></tr>
-
-<tr><td class="memItemLeft" nowrap>&nbsp;&nbsp;&nbsp;<a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRice.html">FLAC__EntropyCodingMethod_PartitionedRice</a>&nbsp;&nbsp;&nbsp;<b>partitioned_rice</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap valign="top">}&nbsp;</td><td class="memItemRight" valign="bottom"><b>data</b></td></tr>
-
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod__PartitionedRice-members.html b/3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod__PartitionedRice-members.html
deleted file mode 100644
index aad6ff7f64f..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod__PartitionedRice-members.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__EntropyCodingMethod_PartitionedRice Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRice.html">FLAC__EntropyCodingMethod_PartitionedRice</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRice.html#FLAC____EntropyCodingMethod__PartitionedRiceo1">contents</a></td><td><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRice.html">FLAC__EntropyCodingMethod_PartitionedRice</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRice.html#FLAC____EntropyCodingMethod__PartitionedRiceo0">order</a></td><td><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRice.html">FLAC__EntropyCodingMethod_PartitionedRice</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod__PartitionedRice.html b/3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod__PartitionedRice.html
deleted file mode 100644
index 28db3fd7d2c..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod__PartitionedRice.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__EntropyCodingMethod_PartitionedRice Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__EntropyCodingMethod_PartitionedRice Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____EntropyCodingMethod__PartitionedRice-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-Header for a Rice partitioned residual. (c.f. <a href="../format.html#partitioned_rice">format specification</a>)
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRice.html#FLAC____EntropyCodingMethod__PartitionedRiceo0">order</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html">FLAC__EntropyCodingMethod_PartitionedRiceContents</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRice.html#FLAC____EntropyCodingMethod__PartitionedRiceo1">contents</a></td></tr>
-
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="FLAC____EntropyCodingMethod__PartitionedRiceo0" doxytag="FLAC__EntropyCodingMethod_PartitionedRice::order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned <a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRice.html#FLAC____EntropyCodingMethod__PartitionedRiceo0">FLAC__EntropyCodingMethod_PartitionedRice::order</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The partition order, i.e. # of contexts = 2 ^ <em>order</em>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____EntropyCodingMethod__PartitionedRiceo1" doxytag="FLAC__EntropyCodingMethod_PartitionedRice::contents"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html">FLAC__EntropyCodingMethod_PartitionedRiceContents</a>* <a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRice.html#FLAC____EntropyCodingMethod__PartitionedRiceo1">FLAC__EntropyCodingMethod_PartitionedRice::contents</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The context's Rice parameters and/or raw bits. </td>
- </tr>
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod__PartitionedRiceContents-members.html b/3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod__PartitionedRiceContents-members.html
deleted file mode 100644
index c5c88e3b561..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod__PartitionedRiceContents-members.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__EntropyCodingMethod_PartitionedRiceContents Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html">FLAC__EntropyCodingMethod_PartitionedRiceContents</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html#FLAC____EntropyCodingMethod__PartitionedRiceContentso2">capacity_by_order</a></td><td><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html">FLAC__EntropyCodingMethod_PartitionedRiceContents</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html#FLAC____EntropyCodingMethod__PartitionedRiceContentso0">parameters</a></td><td><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html">FLAC__EntropyCodingMethod_PartitionedRiceContents</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html#FLAC____EntropyCodingMethod__PartitionedRiceContentso1">raw_bits</a></td><td><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html">FLAC__EntropyCodingMethod_PartitionedRiceContents</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod__PartitionedRiceContents.html b/3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod__PartitionedRiceContents.html
deleted file mode 100644
index a786993099a..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____EntropyCodingMethod__PartitionedRiceContents.html
+++ /dev/null
@@ -1,120 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__EntropyCodingMethod_PartitionedRiceContents Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__EntropyCodingMethod_PartitionedRiceContents Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____EntropyCodingMethod__PartitionedRiceContents-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-Contents of a Rice partitioned residual
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html#FLAC____EntropyCodingMethod__PartitionedRiceContentso0">parameters</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html#FLAC____EntropyCodingMethod__PartitionedRiceContentso1">raw_bits</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html#FLAC____EntropyCodingMethod__PartitionedRiceContentso2">capacity_by_order</a></td></tr>
-
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="FLAC____EntropyCodingMethod__PartitionedRiceContentso0" doxytag="FLAC__EntropyCodingMethod_PartitionedRiceContents::parameters"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned* <a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html#FLAC____EntropyCodingMethod__PartitionedRiceContentso0">FLAC__EntropyCodingMethod_PartitionedRiceContents::parameters</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The Rice parameters for each context. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____EntropyCodingMethod__PartitionedRiceContentso1" doxytag="FLAC__EntropyCodingMethod_PartitionedRiceContents::raw_bits"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned* <a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html#FLAC____EntropyCodingMethod__PartitionedRiceContentso1">FLAC__EntropyCodingMethod_PartitionedRiceContents::raw_bits</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Widths for escape-coded partitions. Will be non-zero for escaped partitions and zero for unescaped partitions. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____EntropyCodingMethod__PartitionedRiceContentso2" doxytag="FLAC__EntropyCodingMethod_PartitionedRiceContents::capacity_by_order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned <a class="el" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html#FLAC____EntropyCodingMethod__PartitionedRiceContentso2">FLAC__EntropyCodingMethod_PartitionedRiceContents::capacity_by_order</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The capacity of the <em>parameters</em> and <em>raw_bits</em> arrays specified as an order, i.e. the number of array elements allocated is 2 ^ <em>capacity_by_order</em>. </td>
- </tr>
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____Frame-members.html b/3rdparty/libflac/doc/html/api/structFLAC____Frame-members.html
deleted file mode 100644
index 0477bef92d9..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____Frame-members.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__Frame Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____Frame.html">FLAC__Frame</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>footer</b> (defined in <a class="el" href="structFLAC____Frame.html">FLAC__Frame</a>)</td><td><a class="el" href="structFLAC____Frame.html">FLAC__Frame</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>header</b> (defined in <a class="el" href="structFLAC____Frame.html">FLAC__Frame</a>)</td><td><a class="el" href="structFLAC____Frame.html">FLAC__Frame</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>subframes</b> (defined in <a class="el" href="structFLAC____Frame.html">FLAC__Frame</a>)</td><td><a class="el" href="structFLAC____Frame.html">FLAC__Frame</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____Frame.html b/3rdparty/libflac/doc/html/api/structFLAC____Frame.html
deleted file mode 100644
index 6915176bf27..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____Frame.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__Frame Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__Frame Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____Frame-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-FLAC frame structure. (c.f. <a href="../format.html#frame">format specification</a>)
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____Frameo0" doxytag="FLAC__Frame::header"></a>
-<a class="el" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>header</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____Frameo1" doxytag="FLAC__Frame::subframes"></a>
-<a class="el" href="structFLAC____Subframe.html">FLAC__Subframe</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>subframes</b> [FLAC__MAX_CHANNELS]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____Frameo2" doxytag="FLAC__Frame::footer"></a>
-<a class="el" href="structFLAC____FrameFooter.html">FLAC__FrameFooter</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>footer</b></td></tr>
-
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____FrameFooter-members.html b/3rdparty/libflac/doc/html/api/structFLAC____FrameFooter-members.html
deleted file mode 100644
index 0cf8a4ecdc9..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____FrameFooter-members.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__FrameFooter Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____FrameFooter.html">FLAC__FrameFooter</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structFLAC____FrameFooter.html#FLAC____FrameFootero0">crc</a></td><td><a class="el" href="structFLAC____FrameFooter.html">FLAC__FrameFooter</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____FrameFooter.html b/3rdparty/libflac/doc/html/api/structFLAC____FrameFooter.html
deleted file mode 100644
index 35ddc55b9cf..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____FrameFooter.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__FrameFooter Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__FrameFooter Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____FrameFooter-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-FLAC frame footer structure. (c.f. <a href="../format.html#frame_footer">format specification</a>)
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____FrameFooter.html#FLAC____FrameFootero0">crc</a></td></tr>
-
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="FLAC____FrameFootero0" doxytag="FLAC__FrameFooter::crc"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__uint16 <a class="el" href="structFLAC____FrameFooter.html#FLAC____FrameFootero0">FLAC__FrameFooter::crc</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-CRC-16 (polynomial = x^16 + x^15 + x^2 + x^0, initialized with 0) of the bytes before the crc, back to and including the frame header sync code. </td>
- </tr>
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____FrameHeader-members.html b/3rdparty/libflac/doc/html/api/structFLAC____FrameHeader-members.html
deleted file mode 100644
index d1db24ef478..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____FrameHeader-members.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__FrameHeader Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero4">bits_per_sample</a></td><td><a class="el" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero0">blocksize</a></td><td><a class="el" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero3">channel_assignment</a></td><td><a class="el" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero2">channels</a></td><td><a class="el" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero9">crc</a></td><td><a class="el" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>frame_number</b> (defined in <a class="el" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a>)</td><td><a class="el" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero8">number</a></td><td><a class="el" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero5">number_type</a></td><td><a class="el" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>sample_number</b> (defined in <a class="el" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a>)</td><td><a class="el" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero1">sample_rate</a></td><td><a class="el" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____FrameHeader.html b/3rdparty/libflac/doc/html/api/structFLAC____FrameHeader.html
deleted file mode 100644
index 2e6282eaf7d..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____FrameHeader.html
+++ /dev/null
@@ -1,251 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__FrameHeader Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__FrameHeader Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____FrameHeader-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-FLAC frame header structure. (c.f. <a href="../format.html#frame_header">format specification</a>)
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero0">blocksize</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero1">sample_rate</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero2">channels</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero3">channel_assignment</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero4">bits_per_sample</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__format.html#ga112">FLAC__FrameNumberType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero5">number_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap>union {</td></tr>
-
-<tr><td class="memItemLeft" nowrap>&nbsp;&nbsp;&nbsp;FLAC__uint32&nbsp;&nbsp;&nbsp;<b>frame_number</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap>&nbsp;&nbsp;&nbsp;FLAC__uint64&nbsp;&nbsp;&nbsp;<b>sample_number</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap valign="top">}&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero8">number</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero9">crc</a></td></tr>
-
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="FLAC____FrameHeadero0" doxytag="FLAC__FrameHeader::blocksize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero0">FLAC__FrameHeader::blocksize</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The number of samples per subframe. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____FrameHeadero1" doxytag="FLAC__FrameHeader::sample_rate"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero1">FLAC__FrameHeader::sample_rate</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The sample rate in Hz. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____FrameHeadero2" doxytag="FLAC__FrameHeader::channels"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero2">FLAC__FrameHeader::channels</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The number of channels (== number of subframes). </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____FrameHeadero3" doxytag="FLAC__FrameHeader::channel_assignment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a> <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero3">FLAC__FrameHeader::channel_assignment</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The channel assignment for the frame. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____FrameHeadero4" doxytag="FLAC__FrameHeader::bits_per_sample"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero4">FLAC__FrameHeader::bits_per_sample</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The sample resolution. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____FrameHeadero5" doxytag="FLAC__FrameHeader::number_type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__format.html#ga112">FLAC__FrameNumberType</a> <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero5">FLAC__FrameHeader::number_type</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The numbering scheme used for the frame. As a convenience, the decoder will always convert a frame number to a sample number because the rules are complex. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____FrameHeadero8" doxytag="FLAC__FrameHeader::number"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">union { ... } <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero8">FLAC__FrameHeader::number</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The frame number or sample number of first sample in frame; use the <em>number_type</em> value to determine which to use. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____FrameHeadero9" doxytag="FLAC__FrameHeader::crc"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__uint8 <a class="el" href="structFLAC____FrameHeader.html#FLAC____FrameHeadero9">FLAC__FrameHeader::crc</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-CRC-8 (polynomial = x^8 + x^2 + x^1 + x^0, initialized with 0) of the raw frame header bytes, meaning everything before the CRC byte including the sync code. </td>
- </tr>
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____IOCallbacks-members.html b/3rdparty/libflac/doc/html/api/structFLAC____IOCallbacks-members.html
deleted file mode 100644
index 894674fa8d0..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____IOCallbacks-members.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__IOCallbacks Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>close</b> (defined in <a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a>)</td><td><a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>eof</b> (defined in <a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a>)</td><td><a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>read</b> (defined in <a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a>)</td><td><a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>seek</b> (defined in <a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a>)</td><td><a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>tell</b> (defined in <a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a>)</td><td><a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>write</b> (defined in <a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a>)</td><td><a class="el" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____IOCallbacks.html b/3rdparty/libflac/doc/html/api/structFLAC____IOCallbacks.html
deleted file mode 100644
index ca5c567d5ed..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____IOCallbacks.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__IOCallbacks Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__IOCallbacks Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__callbacks.html">FLAC/callback.h: I/O callback structures</a>]</small>
-</h1><code>#include &lt;<a class="el" href="callback_8h-source.html">callback.h</a>&gt;</code>
-<p>
-<a href="structFLAC____IOCallbacks-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-A structure for holding a set of callbacks. Each FLAC interface that requires a FLAC__IOCallbacks structure will describe which of the callbacks are required. The ones that are not required may be set to NULL.<p>
-If the seek requirement for an interface is optional, you can signify that a data sorce is not seekable by setting the <em>seek</em> field to <code>NULL</code>.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____IOCallbackso0" doxytag="FLAC__IOCallbacks::read"></a>
-<a class="el" href="group__flac__callbacks.html#ga1">FLAC__IOCallback_Read</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>read</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____IOCallbackso1" doxytag="FLAC__IOCallbacks::write"></a>
-<a class="el" href="group__flac__callbacks.html#ga2">FLAC__IOCallback_Write</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>write</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____IOCallbackso2" doxytag="FLAC__IOCallbacks::seek"></a>
-<a class="el" href="group__flac__callbacks.html#ga3">FLAC__IOCallback_Seek</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>seek</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____IOCallbackso3" doxytag="FLAC__IOCallbacks::tell"></a>
-<a class="el" href="group__flac__callbacks.html#ga4">FLAC__IOCallback_Tell</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>tell</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____IOCallbackso4" doxytag="FLAC__IOCallbacks::eof"></a>
-<a class="el" href="group__flac__callbacks.html#ga5">FLAC__IOCallback_Eof</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>eof</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____IOCallbackso5" doxytag="FLAC__IOCallbacks::close"></a>
-<a class="el" href="group__flac__callbacks.html#ga6">FLAC__IOCallback_Close</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>close</b></td></tr>
-
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="callback_8h-source.html">callback.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamDecoder-members.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamDecoder-members.html
deleted file mode 100644
index efc1dec056c..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamDecoder-members.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamDecoder Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>private_</b> (defined in <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>)</td><td><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>protected_</b> (defined in <a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a>)</td><td><a class="el" href="structFLAC____StreamDecoder.html">FLAC__StreamDecoder</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamDecoder.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamDecoder.html
deleted file mode 100644
index a5e3ff7c6e7..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamDecoder.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__StreamDecoder Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamDecoder Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__stream__decoder.html">FLAC/stream_decoder.h: stream decoder interface</a>]</small>
-</h1><code>#include &lt;<a class="el" href="stream__decoder_8h-source.html">stream_decoder.h</a>&gt;</code>
-<p>
-<a href="structFLAC____StreamDecoder-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-The opaque structure definition for the stream decoder type. See the <a class="el" href="group__flac__stream__decoder.html">stream decoder module </a> for a detailed description.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamDecodero0" doxytag="FLAC__StreamDecoder::protected_"></a>
-FLAC__StreamDecoderProtected *&nbsp;</td><td class="memItemRight" valign="bottom"><b>protected_</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamDecodero1" doxytag="FLAC__StreamDecoder::private_"></a>
-FLAC__StreamDecoderPrivate *&nbsp;</td><td class="memItemRight" valign="bottom"><b>private_</b></td></tr>
-
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="stream__decoder_8h-source.html">stream_decoder.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamEncoder-members.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamEncoder-members.html
deleted file mode 100644
index 789544dac5b..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamEncoder-members.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamEncoder Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>private_</b> (defined in <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a>)</td><td><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>protected_</b> (defined in <a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a>)</td><td><a class="el" href="structFLAC____StreamEncoder.html">FLAC__StreamEncoder</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamEncoder.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamEncoder.html
deleted file mode 100644
index 2029e7683e0..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamEncoder.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__StreamEncoder Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamEncoder Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__stream__encoder.html">FLAC/stream_encoder.h: stream encoder interface</a>]</small>
-</h1><code>#include &lt;<a class="el" href="stream__encoder_8h-source.html">stream_encoder.h</a>&gt;</code>
-<p>
-<a href="structFLAC____StreamEncoder-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-The opaque structure definition for the stream encoder type. See the <a class="el" href="group__flac__stream__encoder.html">stream encoder module </a> for a detailed description.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamEncodero0" doxytag="FLAC__StreamEncoder::protected_"></a>
-FLAC__StreamEncoderProtected *&nbsp;</td><td class="memItemRight" valign="bottom"><b>protected_</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamEncodero1" doxytag="FLAC__StreamEncoder::private_"></a>
-FLAC__StreamEncoderPrivate *&nbsp;</td><td class="memItemRight" valign="bottom"><b>private_</b></td></tr>
-
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="stream__encoder_8h-source.html">stream_encoder.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata-members.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata-members.html
deleted file mode 100644
index c3aeb5c7b74..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata-members.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>application</b> (defined in <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>)</td><td><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>cue_sheet</b> (defined in <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>)</td><td><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao11">data</a></td><td><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao1">is_last</a></td><td><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao2">length</a></td><td><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>padding</b> (defined in <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>)</td><td><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>picture</b> (defined in <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>)</td><td><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>seek_table</b> (defined in <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>)</td><td><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>stream_info</b> (defined in <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>)</td><td><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao0">type</a></td><td><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>unknown</b> (defined in <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>)</td><td><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>vorbis_comment</b> (defined in <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>)</td><td><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata.html
deleted file mode 100644
index b4a8e2bff8d..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata.html
+++ /dev/null
@@ -1,163 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__StreamMetadata Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____StreamMetadata-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-FLAC metadata block structure. (c.f. <a href="../format.html#metadata_block">format specification</a>)
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao0">type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao1">is_last</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao2">length</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap>union {</td></tr>
-
-<tr><td class="memItemLeft" nowrap>&nbsp;&nbsp;&nbsp;<a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a>&nbsp;&nbsp;&nbsp;<b>stream_info</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap>&nbsp;&nbsp;&nbsp;<a class="el" href="structFLAC____StreamMetadata__Padding.html">FLAC__StreamMetadata_Padding</a>&nbsp;&nbsp;&nbsp;<b>padding</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap>&nbsp;&nbsp;&nbsp;<a class="el" href="structFLAC____StreamMetadata__Application.html">FLAC__StreamMetadata_Application</a>&nbsp;&nbsp;&nbsp;<b>application</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap>&nbsp;&nbsp;&nbsp;<a class="el" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a>&nbsp;&nbsp;&nbsp;<b>seek_table</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap>&nbsp;&nbsp;&nbsp;<a class="el" href="structFLAC____StreamMetadata__VorbisComment.html">FLAC__StreamMetadata_VorbisComment</a>&nbsp;&nbsp;&nbsp;<b>vorbis_comment</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap>&nbsp;&nbsp;&nbsp;<a class="el" href="structFLAC____StreamMetadata__CueSheet.html">FLAC__StreamMetadata_CueSheet</a>&nbsp;&nbsp;&nbsp;<b>cue_sheet</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap>&nbsp;&nbsp;&nbsp;<a class="el" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a>&nbsp;&nbsp;&nbsp;<b>picture</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap>&nbsp;&nbsp;&nbsp;<a class="el" href="structFLAC____StreamMetadata__Unknown.html">FLAC__StreamMetadata_Unknown</a>&nbsp;&nbsp;&nbsp;<b>unknown</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap valign="top">}&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao11">data</a></td></tr>
-
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="FLAC____StreamMetadatao0" doxytag="FLAC__StreamMetadata::type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__format.html#ga113">FLAC__MetadataType</a> <a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao0">FLAC__StreamMetadata::type</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The type of the metadata block; used determine which member of the <em>data</em> union to dereference. If type &gt;= FLAC__METADATA_TYPE_UNDEFINED then <em>data.unknown</em> must be used. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadatao1" doxytag="FLAC__StreamMetadata::is_last"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool <a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao1">FLAC__StreamMetadata::is_last</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-<code>true</code> if this metadata block is the last, else <em>false</em> </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadatao2" doxytag="FLAC__StreamMetadata::length"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned <a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao2">FLAC__StreamMetadata::length</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Length, in bytes, of the block data as it appears in the stream. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadatao11" doxytag="FLAC__StreamMetadata::data"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">union { ... } <a class="el" href="structFLAC____StreamMetadata.html#FLAC____StreamMetadatao11">FLAC__StreamMetadata::data</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Polymorphic block data; use the <em>type</em> value to determine which to use. </td>
- </tr>
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Application-members.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Application-members.html
deleted file mode 100644
index 8aef74e817f..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Application-members.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_Application Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____StreamMetadata__Application.html">FLAC__StreamMetadata_Application</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>data</b> (defined in <a class="el" href="structFLAC____StreamMetadata__Application.html">FLAC__StreamMetadata_Application</a>)</td><td><a class="el" href="structFLAC____StreamMetadata__Application.html">FLAC__StreamMetadata_Application</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>id</b> (defined in <a class="el" href="structFLAC____StreamMetadata__Application.html">FLAC__StreamMetadata_Application</a>)</td><td><a class="el" href="structFLAC____StreamMetadata__Application.html">FLAC__StreamMetadata_Application</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Application.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Application.html
deleted file mode 100644
index 4142991e433..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Application.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__StreamMetadata_Application Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_Application Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____StreamMetadata__Application-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-FLAC APPLICATION structure. (c.f. <a href="../format.html#metadata_block_application">format specification</a>)
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamMetadata__Applicationo0" doxytag="FLAC__StreamMetadata_Application::id"></a>
-FLAC__byte&nbsp;</td><td class="memItemRight" valign="bottom"><b>id</b> [4]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamMetadata__Applicationo1" doxytag="FLAC__StreamMetadata_Application::data"></a>
-FLAC__byte *&nbsp;</td><td class="memItemRight" valign="bottom"><b>data</b></td></tr>
-
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet-members.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet-members.html
deleted file mode 100644
index 6b42f9d0be5..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet-members.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_CueSheet Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____StreamMetadata__CueSheet.html">FLAC__StreamMetadata_CueSheet</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto2">is_cd</a></td><td><a class="el" href="structFLAC____StreamMetadata__CueSheet.html">FLAC__StreamMetadata_CueSheet</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto1">lead_in</a></td><td><a class="el" href="structFLAC____StreamMetadata__CueSheet.html">FLAC__StreamMetadata_CueSheet</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto0">media_catalog_number</a></td><td><a class="el" href="structFLAC____StreamMetadata__CueSheet.html">FLAC__StreamMetadata_CueSheet</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto3">num_tracks</a></td><td><a class="el" href="structFLAC____StreamMetadata__CueSheet.html">FLAC__StreamMetadata_CueSheet</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto4">tracks</a></td><td><a class="el" href="structFLAC____StreamMetadata__CueSheet.html">FLAC__StreamMetadata_CueSheet</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet.html
deleted file mode 100644
index 079530b2ee0..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet.html
+++ /dev/null
@@ -1,170 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__StreamMetadata_CueSheet Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_CueSheet Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____StreamMetadata__CueSheet-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-FLAC CUESHEET structure. (See the <a href="../format.html#metadata_block_cuesheet">format specification</a> for the full description of each field.)
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto0">media_catalog_number</a> [129]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto1">lead_in</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto2">is_cd</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto3">num_tracks</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto4">tracks</a></td></tr>
-
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="FLAC____StreamMetadata__CueSheeto0" doxytag="FLAC__StreamMetadata_CueSheet::media_catalog_number"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">char <a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto0">FLAC__StreamMetadata_CueSheet::media_catalog_number</a>[129] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Media catalog number, in ASCII printable characters 0x20-0x7e. In general, the media catalog number may be 0 to 128 bytes long; any unused characters should be right-padded with NUL characters. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__CueSheeto1" doxytag="FLAC__StreamMetadata_CueSheet::lead_in"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__uint64 <a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto1">FLAC__StreamMetadata_CueSheet::lead_in</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The number of lead-in samples. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__CueSheeto2" doxytag="FLAC__StreamMetadata_CueSheet::is_cd"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__bool <a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto2">FLAC__StreamMetadata_CueSheet::is_cd</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-<code>true</code> if CUESHEET corresponds to a Compact Disc, else <code>false</code>. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__CueSheeto3" doxytag="FLAC__StreamMetadata_CueSheet::num_tracks"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned <a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto3">FLAC__StreamMetadata_CueSheet::num_tracks</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The number of tracks. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__CueSheeto4" doxytag="FLAC__StreamMetadata_CueSheet::tracks"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a>* <a class="el" href="structFLAC____StreamMetadata__CueSheet.html#FLAC____StreamMetadata__CueSheeto4">FLAC__StreamMetadata_CueSheet::tracks</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-NULL if num_tracks == 0, else pointer to array of tracks. </td>
- </tr>
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet__Index-members.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet__Index-members.html
deleted file mode 100644
index 46118556c16..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet__Index-members.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_CueSheet_Index Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html#FLAC____StreamMetadata__CueSheet__Indexo1">number</a></td><td><a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html#FLAC____StreamMetadata__CueSheet__Indexo0">offset</a></td><td><a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet__Index.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet__Index.html
deleted file mode 100644
index 296c8891f91..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet__Index.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__StreamMetadata_CueSheet_Index Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_CueSheet_Index Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____StreamMetadata__CueSheet__Index-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-FLAC CUESHEET track index structure. (See the <a href="../format.html#cuesheet_track_index">format specification</a> for the full description of each field.)
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html#FLAC____StreamMetadata__CueSheet__Indexo0">offset</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__byte&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html#FLAC____StreamMetadata__CueSheet__Indexo1">number</a></td></tr>
-
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="FLAC____StreamMetadata__CueSheet__Indexo0" doxytag="FLAC__StreamMetadata_CueSheet_Index::offset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__uint64 <a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html#FLAC____StreamMetadata__CueSheet__Indexo0">FLAC__StreamMetadata_CueSheet_Index::offset</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Offset in samples, relative to the track offset, of the index point. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__CueSheet__Indexo1" doxytag="FLAC__StreamMetadata_CueSheet_Index::number"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__byte <a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html#FLAC____StreamMetadata__CueSheet__Indexo1">FLAC__StreamMetadata_CueSheet_Index::number</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The index point number. </td>
- </tr>
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet__Track-members.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet__Track-members.html
deleted file mode 100644
index 48eed063fcd..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet__Track-members.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_CueSheet_Track Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko6">indices</a></td><td><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko2">isrc</a></td><td><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko5">num_indices</a></td><td><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko1">number</a></td><td><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko0">offset</a></td><td><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko4">pre_emphasis</a></td><td><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko3">type</a></td><td><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet__Track.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet__Track.html
deleted file mode 100644
index 6aab8299836..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__CueSheet__Track.html
+++ /dev/null
@@ -1,220 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__StreamMetadata_CueSheet_Track Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_CueSheet_Track Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____StreamMetadata__CueSheet__Track-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-FLAC CUESHEET track structure. (See the <a href="../format.html#cuesheet_track">format specification</a> for the full description of each field.)
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko0">offset</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__byte&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko1">number</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko2">isrc</a> [13]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko3">type</a>:1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko4">pre_emphasis</a>:1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__byte&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko5">num_indices</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko6">indices</a></td></tr>
-
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="FLAC____StreamMetadata__CueSheet__Tracko0" doxytag="FLAC__StreamMetadata_CueSheet_Track::offset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__uint64 <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko0">FLAC__StreamMetadata_CueSheet_Track::offset</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Track offset in samples, relative to the beginning of the FLAC audio stream. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__CueSheet__Tracko1" doxytag="FLAC__StreamMetadata_CueSheet_Track::number"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__byte <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko1">FLAC__StreamMetadata_CueSheet_Track::number</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The track number. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__CueSheet__Tracko2" doxytag="FLAC__StreamMetadata_CueSheet_Track::isrc"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">char <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko2">FLAC__StreamMetadata_CueSheet_Track::isrc</a>[13] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Track ISRC. This is a 12-digit alphanumeric code plus a trailing <code>NUL</code> byte </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__CueSheet__Tracko3" doxytag="FLAC__StreamMetadata_CueSheet_Track::type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko3">FLAC__StreamMetadata_CueSheet_Track::type</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The track type: 0 for audio, 1 for non-audio. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__CueSheet__Tracko4" doxytag="FLAC__StreamMetadata_CueSheet_Track::pre_emphasis"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko4">FLAC__StreamMetadata_CueSheet_Track::pre_emphasis</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The pre-emphasis flag: 0 for no pre-emphasis, 1 for pre-emphasis. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__CueSheet__Tracko5" doxytag="FLAC__StreamMetadata_CueSheet_Track::num_indices"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__byte <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko5">FLAC__StreamMetadata_CueSheet_Track::num_indices</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The number of track index points. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__CueSheet__Tracko6" doxytag="FLAC__StreamMetadata_CueSheet_Track::indices"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a>* <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html#FLAC____StreamMetadata__CueSheet__Tracko6">FLAC__StreamMetadata_CueSheet_Track::indices</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-NULL if num_indices == 0, else pointer to array of index points. </td>
- </tr>
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Padding-members.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Padding-members.html
deleted file mode 100644
index 069783117b8..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Padding-members.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_Padding Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____StreamMetadata__Padding.html">FLAC__StreamMetadata_Padding</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__Padding.html#FLAC____StreamMetadata__Paddingo0">dummy</a></td><td><a class="el" href="structFLAC____StreamMetadata__Padding.html">FLAC__StreamMetadata_Padding</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Padding.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Padding.html
deleted file mode 100644
index c03db91a91c..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Padding.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__StreamMetadata_Padding Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_Padding Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____StreamMetadata__Padding-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-FLAC PADDING structure. (c.f. <a href="../format.html#metadata_block_padding">format specification</a>)
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__Padding.html#FLAC____StreamMetadata__Paddingo0">dummy</a></td></tr>
-
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="FLAC____StreamMetadata__Paddingo0" doxytag="FLAC__StreamMetadata_Padding::dummy"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">int <a class="el" href="structFLAC____StreamMetadata__Padding.html#FLAC____StreamMetadata__Paddingo0">FLAC__StreamMetadata_Padding::dummy</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Conceptually this is an empty struct since we don't store the padding bytes. Empty structs are not allowed by some C compilers, hence the dummy. </td>
- </tr>
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Picture-members.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Picture-members.html
deleted file mode 100644
index 53894db9111..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Picture-members.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_Picture Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo6">colors</a></td><td><a class="el" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo8">data</a></td><td><a class="el" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo7">data_length</a></td><td><a class="el" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo5">depth</a></td><td><a class="el" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo2">description</a></td><td><a class="el" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo4">height</a></td><td><a class="el" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo1">mime_type</a></td><td><a class="el" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo0">type</a></td><td><a class="el" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo3">width</a></td><td><a class="el" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Picture.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Picture.html
deleted file mode 100644
index 189bfe4d640..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Picture.html
+++ /dev/null
@@ -1,270 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__StreamMetadata_Picture Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_Picture Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____StreamMetadata__Picture-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-FLAC PICTURE structure. (See the <a href="../format.html#metadata_block_picture">format specification</a> for the full description of each field.)
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo0">type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo1">mime_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__byte *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo2">description</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo3">width</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo4">height</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo5">depth</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo6">colors</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo7">data_length</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__byte *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo8">data</a></td></tr>
-
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="FLAC____StreamMetadata__Pictureo0" doxytag="FLAC__StreamMetadata_Picture::type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo0">FLAC__StreamMetadata_Picture::type</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The kind of picture stored. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__Pictureo1" doxytag="FLAC__StreamMetadata_Picture::mime_type"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">char* <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo1">FLAC__StreamMetadata_Picture::mime_type</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Picture data's MIME type, in ASCII printable characters 0x20-0x7e, NUL terminated. For best compatibility with players, use picture data of MIME type <code>image/jpeg</code> or <code>image/png</code>. A MIME type of '--&gt;' is also allowed, in which case the picture data should be a complete URL. In file storage, the MIME type is stored as a 32-bit length followed by the ASCII string with no NUL terminator, but is converted to a plain C string in this structure for convenience. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__Pictureo2" doxytag="FLAC__StreamMetadata_Picture::description"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__byte* <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo2">FLAC__StreamMetadata_Picture::description</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Picture's description in UTF-8, NUL terminated. In file storage, the description is stored as a 32-bit length followed by the UTF-8 string with no NUL terminator, but is converted to a plain C string in this structure for convenience. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__Pictureo3" doxytag="FLAC__StreamMetadata_Picture::width"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__uint32 <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo3">FLAC__StreamMetadata_Picture::width</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Picture's width in pixels. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__Pictureo4" doxytag="FLAC__StreamMetadata_Picture::height"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__uint32 <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo4">FLAC__StreamMetadata_Picture::height</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Picture's height in pixels. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__Pictureo5" doxytag="FLAC__StreamMetadata_Picture::depth"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__uint32 <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo5">FLAC__StreamMetadata_Picture::depth</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Picture's color depth in bits-per-pixel. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__Pictureo6" doxytag="FLAC__StreamMetadata_Picture::colors"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__uint32 <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo6">FLAC__StreamMetadata_Picture::colors</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-For indexed palettes (like GIF), picture's number of colors (the number of palette entries), or <code>0</code> for non-indexed (i.e. 2^depth). </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__Pictureo7" doxytag="FLAC__StreamMetadata_Picture::data_length"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__uint32 <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo7">FLAC__StreamMetadata_Picture::data_length</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Length of binary picture data in bytes. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__Pictureo8" doxytag="FLAC__StreamMetadata_Picture::data"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__byte* <a class="el" href="structFLAC____StreamMetadata__Picture.html#FLAC____StreamMetadata__Pictureo8">FLAC__StreamMetadata_Picture::data</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Binary picture data. </td>
- </tr>
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__SeekPoint-members.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__SeekPoint-members.html
deleted file mode 100644
index 0e11d441e6b..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__SeekPoint-members.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_SeekPoint Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__SeekPoint.html#FLAC____StreamMetadata__SeekPointo2">frame_samples</a></td><td><a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__SeekPoint.html#FLAC____StreamMetadata__SeekPointo0">sample_number</a></td><td><a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____StreamMetadata__SeekPoint.html#FLAC____StreamMetadata__SeekPointo1">stream_offset</a></td><td><a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__SeekPoint.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__SeekPoint.html
deleted file mode 100644
index ab7c1cc3c8c..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__SeekPoint.html
+++ /dev/null
@@ -1,120 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__StreamMetadata_SeekPoint Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_SeekPoint Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____StreamMetadata__SeekPoint-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-SeekPoint structure used in SEEKTABLE blocks. (c.f. <a href="../format.html#seekpoint">format specification</a>)
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__SeekPoint.html#FLAC____StreamMetadata__SeekPointo0">sample_number</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__SeekPoint.html#FLAC____StreamMetadata__SeekPointo1">stream_offset</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____StreamMetadata__SeekPoint.html#FLAC____StreamMetadata__SeekPointo2">frame_samples</a></td></tr>
-
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="FLAC____StreamMetadata__SeekPointo0" doxytag="FLAC__StreamMetadata_SeekPoint::sample_number"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__uint64 <a class="el" href="structFLAC____StreamMetadata__SeekPoint.html#FLAC____StreamMetadata__SeekPointo0">FLAC__StreamMetadata_SeekPoint::sample_number</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The sample number of the target frame. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__SeekPointo1" doxytag="FLAC__StreamMetadata_SeekPoint::stream_offset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__uint64 <a class="el" href="structFLAC____StreamMetadata__SeekPoint.html#FLAC____StreamMetadata__SeekPointo1">FLAC__StreamMetadata_SeekPoint::stream_offset</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The offset, in bytes, of the target frame with respect to beginning of the first frame. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____StreamMetadata__SeekPointo2" doxytag="FLAC__StreamMetadata_SeekPoint::frame_samples"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned <a class="el" href="structFLAC____StreamMetadata__SeekPoint.html#FLAC____StreamMetadata__SeekPointo2">FLAC__StreamMetadata_SeekPoint::frame_samples</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The number of samples in the target frame. </td>
- </tr>
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__SeekTable-members.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__SeekTable-members.html
deleted file mode 100644
index 421f397f58f..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__SeekTable-members.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_SeekTable Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>num_points</b> (defined in <a class="el" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a>)</td><td><a class="el" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>points</b> (defined in <a class="el" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a>)</td><td><a class="el" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__SeekTable.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__SeekTable.html
deleted file mode 100644
index 99af8fb9795..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__SeekTable.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__StreamMetadata_SeekTable Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_SeekTable Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____StreamMetadata__SeekTable-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-FLAC SEEKTABLE structure. (c.f. <a href="../format.html#metadata_block_seektable">format specification</a>)<p>
-<dl compact><dt><b>Note:</b></dt><dd>From the format specification:<ul>
-<li>The seek points must be sorted by ascending sample number.</li><li>Each seek point's sample number must be the first sample of the target frame.</li><li>Each seek point's sample number must be unique within the table.</li><li>Existence of a SEEKTABLE block implies a correct setting of total_samples in the stream_info block.</li><li>Behavior is undefined when more than one SEEKTABLE block is present in a stream. </li></ul>
-</dd></dl>
-
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamMetadata__SeekTableo0" doxytag="FLAC__StreamMetadata_SeekTable::num_points"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>num_points</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamMetadata__SeekTableo1" doxytag="FLAC__StreamMetadata_SeekTable::points"></a>
-<a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>points</b></td></tr>
-
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__StreamInfo-members.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__StreamInfo-members.html
deleted file mode 100644
index 3bcc7e38b75..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__StreamInfo-members.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_StreamInfo Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>bits_per_sample</b> (defined in <a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a>)</td><td><a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>channels</b> (defined in <a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a>)</td><td><a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>max_blocksize</b> (defined in <a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a>)</td><td><a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>max_framesize</b> (defined in <a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a>)</td><td><a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>md5sum</b> (defined in <a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a>)</td><td><a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>min_blocksize</b> (defined in <a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a>)</td><td><a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>min_framesize</b> (defined in <a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a>)</td><td><a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>sample_rate</b> (defined in <a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a>)</td><td><a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>total_samples</b> (defined in <a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a>)</td><td><a class="el" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__StreamInfo.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__StreamInfo.html
deleted file mode 100644
index ed9734d4bd1..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__StreamInfo.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__StreamMetadata_StreamInfo Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_StreamInfo Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____StreamMetadata__StreamInfo-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-FLAC STREAMINFO structure. (c.f. <a href="../format.html#metadata_block_streaminfo">format specification</a>)
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamMetadata__StreamInfoo0" doxytag="FLAC__StreamMetadata_StreamInfo::min_blocksize"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>min_blocksize</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamMetadata__StreamInfoo1" doxytag="FLAC__StreamMetadata_StreamInfo::max_blocksize"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>max_blocksize</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamMetadata__StreamInfoo2" doxytag="FLAC__StreamMetadata_StreamInfo::min_framesize"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>min_framesize</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamMetadata__StreamInfoo3" doxytag="FLAC__StreamMetadata_StreamInfo::max_framesize"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>max_framesize</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamMetadata__StreamInfoo4" doxytag="FLAC__StreamMetadata_StreamInfo::sample_rate"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>sample_rate</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamMetadata__StreamInfoo5" doxytag="FLAC__StreamMetadata_StreamInfo::channels"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>channels</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamMetadata__StreamInfoo6" doxytag="FLAC__StreamMetadata_StreamInfo::bits_per_sample"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>bits_per_sample</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamMetadata__StreamInfoo7" doxytag="FLAC__StreamMetadata_StreamInfo::total_samples"></a>
-FLAC__uint64&nbsp;</td><td class="memItemRight" valign="bottom"><b>total_samples</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamMetadata__StreamInfoo8" doxytag="FLAC__StreamMetadata_StreamInfo::md5sum"></a>
-FLAC__byte&nbsp;</td><td class="memItemRight" valign="bottom"><b>md5sum</b> [16]</td></tr>
-
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Unknown-members.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Unknown-members.html
deleted file mode 100644
index 8c99cc3b6a7..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Unknown-members.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_Unknown Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____StreamMetadata__Unknown.html">FLAC__StreamMetadata_Unknown</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>data</b> (defined in <a class="el" href="structFLAC____StreamMetadata__Unknown.html">FLAC__StreamMetadata_Unknown</a>)</td><td><a class="el" href="structFLAC____StreamMetadata__Unknown.html">FLAC__StreamMetadata_Unknown</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Unknown.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Unknown.html
deleted file mode 100644
index b3930dad348..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__Unknown.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__StreamMetadata_Unknown Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_Unknown Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____StreamMetadata__Unknown-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-Structure that is used when a metadata block of unknown type is loaded. The contents are opaque. The structure is used only internally to correctly handle unknown metadata.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamMetadata__Unknowno0" doxytag="FLAC__StreamMetadata_Unknown::data"></a>
-FLAC__byte *&nbsp;</td><td class="memItemRight" valign="bottom"><b>data</b></td></tr>
-
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__VorbisComment-members.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__VorbisComment-members.html
deleted file mode 100644
index e4ca1921fc8..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__VorbisComment-members.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_VorbisComment Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____StreamMetadata__VorbisComment.html">FLAC__StreamMetadata_VorbisComment</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>comments</b> (defined in <a class="el" href="structFLAC____StreamMetadata__VorbisComment.html">FLAC__StreamMetadata_VorbisComment</a>)</td><td><a class="el" href="structFLAC____StreamMetadata__VorbisComment.html">FLAC__StreamMetadata_VorbisComment</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>num_comments</b> (defined in <a class="el" href="structFLAC____StreamMetadata__VorbisComment.html">FLAC__StreamMetadata_VorbisComment</a>)</td><td><a class="el" href="structFLAC____StreamMetadata__VorbisComment.html">FLAC__StreamMetadata_VorbisComment</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>vendor_string</b> (defined in <a class="el" href="structFLAC____StreamMetadata__VorbisComment.html">FLAC__StreamMetadata_VorbisComment</a>)</td><td><a class="el" href="structFLAC____StreamMetadata__VorbisComment.html">FLAC__StreamMetadata_VorbisComment</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__VorbisComment.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__VorbisComment.html
deleted file mode 100644
index 22ff45a1559..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__VorbisComment.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__StreamMetadata_VorbisComment Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_VorbisComment Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____StreamMetadata__VorbisComment-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-FLAC VORBIS_COMMENT structure. (c.f. <a href="../format.html#metadata_block_vorbis_comment">format specification</a>)
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamMetadata__VorbisCommento0" doxytag="FLAC__StreamMetadata_VorbisComment::vendor_string"></a>
-<a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>vendor_string</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamMetadata__VorbisCommento1" doxytag="FLAC__StreamMetadata_VorbisComment::num_comments"></a>
-FLAC__uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>num_comments</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamMetadata__VorbisCommento2" doxytag="FLAC__StreamMetadata_VorbisComment::comments"></a>
-<a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>comments</b></td></tr>
-
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__VorbisComment__Entry-members.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__VorbisComment__Entry-members.html
deleted file mode 100644
index b7411552013..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__VorbisComment__Entry-members.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_VorbisComment_Entry Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>entry</b> (defined in <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>)</td><td><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>length</b> (defined in <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>)</td><td><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__VorbisComment__Entry.html b/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__VorbisComment__Entry.html
deleted file mode 100644
index 1566355d58d..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____StreamMetadata__VorbisComment__Entry.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__StreamMetadata_VorbisComment_Entry Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__StreamMetadata_VorbisComment_Entry Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____StreamMetadata__VorbisComment__Entry-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-Vorbis comment entry structure used in VORBIS_COMMENT blocks. (c.f. <a href="../format.html#metadata_block_vorbis_comment">format specification</a>)<p>
-For convenience, the APIs maintain a trailing NUL character at the end of <em>entry</em> which is not counted toward <em>length</em>, i.e. <div class="fragment"><pre class="fragment"> strlen(entry) == length
-</pre></div>
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamMetadata__VorbisComment__Entryo0" doxytag="FLAC__StreamMetadata_VorbisComment_Entry::length"></a>
-FLAC__uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>length</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____StreamMetadata__VorbisComment__Entryo1" doxytag="FLAC__StreamMetadata_VorbisComment_Entry::entry"></a>
-FLAC__byte *&nbsp;</td><td class="memItemRight" valign="bottom"><b>entry</b></td></tr>
-
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____Subframe-members.html b/3rdparty/libflac/doc/html/api/structFLAC____Subframe-members.html
deleted file mode 100644
index 0176e593d88..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____Subframe-members.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__Subframe Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____Subframe.html">FLAC__Subframe</a>, including all inherited members.<p><table>
- <tr bgcolor="#f0f0f0"><td><b>constant</b> (defined in <a class="el" href="structFLAC____Subframe.html">FLAC__Subframe</a>)</td><td><a class="el" href="structFLAC____Subframe.html">FLAC__Subframe</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>data</b> (defined in <a class="el" href="structFLAC____Subframe.html">FLAC__Subframe</a>)</td><td><a class="el" href="structFLAC____Subframe.html">FLAC__Subframe</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>fixed</b> (defined in <a class="el" href="structFLAC____Subframe.html">FLAC__Subframe</a>)</td><td><a class="el" href="structFLAC____Subframe.html">FLAC__Subframe</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>lpc</b> (defined in <a class="el" href="structFLAC____Subframe.html">FLAC__Subframe</a>)</td><td><a class="el" href="structFLAC____Subframe.html">FLAC__Subframe</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>type</b> (defined in <a class="el" href="structFLAC____Subframe.html">FLAC__Subframe</a>)</td><td><a class="el" href="structFLAC____Subframe.html">FLAC__Subframe</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>verbatim</b> (defined in <a class="el" href="structFLAC____Subframe.html">FLAC__Subframe</a>)</td><td><a class="el" href="structFLAC____Subframe.html">FLAC__Subframe</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><b>wasted_bits</b> (defined in <a class="el" href="structFLAC____Subframe.html">FLAC__Subframe</a>)</td><td><a class="el" href="structFLAC____Subframe.html">FLAC__Subframe</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____Subframe.html b/3rdparty/libflac/doc/html/api/structFLAC____Subframe.html
deleted file mode 100644
index 374bfb9d15c..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____Subframe.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__Subframe Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__Subframe Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____Subframe-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-FLAC subframe structure. (c.f. <a href="../format.html#subframe">format specification</a>)
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____Subframeo0" doxytag="FLAC__Subframe::type"></a>
-<a class="el" href="group__flac__format.html#ga110">FLAC__SubframeType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap><a class="anchor" name="FLAC____Subframeo5" doxytag="FLAC__Subframe::data"></a>
-union {</td></tr>
-
-<tr><td class="memItemLeft" nowrap>&nbsp;&nbsp;&nbsp;<a class="el" href="structFLAC____Subframe__Constant.html">FLAC__Subframe_Constant</a>&nbsp;&nbsp;&nbsp;<b>constant</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap>&nbsp;&nbsp;&nbsp;<a class="el" href="structFLAC____Subframe__Fixed.html">FLAC__Subframe_Fixed</a>&nbsp;&nbsp;&nbsp;<b>fixed</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap>&nbsp;&nbsp;&nbsp;<a class="el" href="structFLAC____Subframe__LPC.html">FLAC__Subframe_LPC</a>&nbsp;&nbsp;&nbsp;<b>lpc</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap>&nbsp;&nbsp;&nbsp;<a class="el" href="structFLAC____Subframe__Verbatim.html">FLAC__Subframe_Verbatim</a>&nbsp;&nbsp;&nbsp;<b>verbatim</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap valign="top">}&nbsp;</td><td class="memItemRight" valign="bottom"><b>data</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC____Subframeo6" doxytag="FLAC__Subframe::wasted_bits"></a>
-unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>wasted_bits</b></td></tr>
-
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____Subframe__Constant-members.html b/3rdparty/libflac/doc/html/api/structFLAC____Subframe__Constant-members.html
deleted file mode 100644
index e6b4c9167e2..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____Subframe__Constant-members.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__Subframe_Constant Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____Subframe__Constant.html">FLAC__Subframe_Constant</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structFLAC____Subframe__Constant.html#FLAC____Subframe__Constanto0">value</a></td><td><a class="el" href="structFLAC____Subframe__Constant.html">FLAC__Subframe_Constant</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____Subframe__Constant.html b/3rdparty/libflac/doc/html/api/structFLAC____Subframe__Constant.html
deleted file mode 100644
index b1c602dbfbe..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____Subframe__Constant.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__Subframe_Constant Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__Subframe_Constant Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____Subframe__Constant-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-CONSTANT subframe. (c.f. <a href="../format.html#subframe_constant">format specification</a>)
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____Subframe__Constant.html#FLAC____Subframe__Constanto0">value</a></td></tr>
-
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="FLAC____Subframe__Constanto0" doxytag="FLAC__Subframe_Constant::value"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__int32 <a class="el" href="structFLAC____Subframe__Constant.html#FLAC____Subframe__Constanto0">FLAC__Subframe_Constant::value</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The constant signal value. </td>
- </tr>
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____Subframe__Fixed-members.html b/3rdparty/libflac/doc/html/api/structFLAC____Subframe__Fixed-members.html
deleted file mode 100644
index 53a72b52f9f..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____Subframe__Fixed-members.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__Subframe_Fixed Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____Subframe__Fixed.html">FLAC__Subframe_Fixed</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structFLAC____Subframe__Fixed.html#FLAC____Subframe__Fixedo0">entropy_coding_method</a></td><td><a class="el" href="structFLAC____Subframe__Fixed.html">FLAC__Subframe_Fixed</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____Subframe__Fixed.html#FLAC____Subframe__Fixedo1">order</a></td><td><a class="el" href="structFLAC____Subframe__Fixed.html">FLAC__Subframe_Fixed</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____Subframe__Fixed.html#FLAC____Subframe__Fixedo3">residual</a></td><td><a class="el" href="structFLAC____Subframe__Fixed.html">FLAC__Subframe_Fixed</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____Subframe__Fixed.html#FLAC____Subframe__Fixedo2">warmup</a></td><td><a class="el" href="structFLAC____Subframe__Fixed.html">FLAC__Subframe_Fixed</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____Subframe__Fixed.html b/3rdparty/libflac/doc/html/api/structFLAC____Subframe__Fixed.html
deleted file mode 100644
index 458072110bd..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____Subframe__Fixed.html
+++ /dev/null
@@ -1,145 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__Subframe_Fixed Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__Subframe_Fixed Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____Subframe__Fixed-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-FIXED subframe. (c.f. <a href="../format.html#subframe_fixed">format specification</a>)
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____Subframe__Fixed.html#FLAC____Subframe__Fixedo0">entropy_coding_method</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____Subframe__Fixed.html#FLAC____Subframe__Fixedo1">order</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____Subframe__Fixed.html#FLAC____Subframe__Fixedo2">warmup</a> [FLAC__MAX_FIXED_ORDER]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const FLAC__int32 *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____Subframe__Fixed.html#FLAC____Subframe__Fixedo3">residual</a></td></tr>
-
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="FLAC____Subframe__Fixedo0" doxytag="FLAC__Subframe_Fixed::entropy_coding_method"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a> <a class="el" href="structFLAC____Subframe__Fixed.html#FLAC____Subframe__Fixedo0">FLAC__Subframe_Fixed::entropy_coding_method</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The residual coding method. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____Subframe__Fixedo1" doxytag="FLAC__Subframe_Fixed::order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned <a class="el" href="structFLAC____Subframe__Fixed.html#FLAC____Subframe__Fixedo1">FLAC__Subframe_Fixed::order</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The polynomial order. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____Subframe__Fixedo2" doxytag="FLAC__Subframe_Fixed::warmup"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__int32 <a class="el" href="structFLAC____Subframe__Fixed.html#FLAC____Subframe__Fixedo2">FLAC__Subframe_Fixed::warmup</a>[FLAC__MAX_FIXED_ORDER] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Warmup samples to prime the predictor, length == order. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____Subframe__Fixedo3" doxytag="FLAC__Subframe_Fixed::residual"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const FLAC__int32* <a class="el" href="structFLAC____Subframe__Fixed.html#FLAC____Subframe__Fixedo3">FLAC__Subframe_Fixed::residual</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The residual signal, length == (blocksize minus order) samples. </td>
- </tr>
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____Subframe__LPC-members.html b/3rdparty/libflac/doc/html/api/structFLAC____Subframe__LPC-members.html
deleted file mode 100644
index c8332bd2a57..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____Subframe__LPC-members.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__Subframe_LPC Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____Subframe__LPC.html">FLAC__Subframe_LPC</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo0">entropy_coding_method</a></td><td><a class="el" href="structFLAC____Subframe__LPC.html">FLAC__Subframe_LPC</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo1">order</a></td><td><a class="el" href="structFLAC____Subframe__LPC.html">FLAC__Subframe_LPC</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo4">qlp_coeff</a></td><td><a class="el" href="structFLAC____Subframe__LPC.html">FLAC__Subframe_LPC</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo2">qlp_coeff_precision</a></td><td><a class="el" href="structFLAC____Subframe__LPC.html">FLAC__Subframe_LPC</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo3">quantization_level</a></td><td><a class="el" href="structFLAC____Subframe__LPC.html">FLAC__Subframe_LPC</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo6">residual</a></td><td><a class="el" href="structFLAC____Subframe__LPC.html">FLAC__Subframe_LPC</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo5">warmup</a></td><td><a class="el" href="structFLAC____Subframe__LPC.html">FLAC__Subframe_LPC</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____Subframe__LPC.html b/3rdparty/libflac/doc/html/api/structFLAC____Subframe__LPC.html
deleted file mode 100644
index 326dd58fd15..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____Subframe__LPC.html
+++ /dev/null
@@ -1,220 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__Subframe_LPC Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__Subframe_LPC Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____Subframe__LPC-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-LPC subframe. (c.f. <a href="../format.html#subframe_lpc">format specification</a>)
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo0">entropy_coding_method</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo1">order</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo2">qlp_coeff_precision</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo3">quantization_level</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo4">qlp_coeff</a> [FLAC__MAX_LPC_ORDER]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo5">warmup</a> [FLAC__MAX_LPC_ORDER]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const FLAC__int32 *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo6">residual</a></td></tr>
-
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="FLAC____Subframe__LPCo0" doxytag="FLAC__Subframe_LPC::entropy_coding_method"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a> <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo0">FLAC__Subframe_LPC::entropy_coding_method</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The residual coding method. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____Subframe__LPCo1" doxytag="FLAC__Subframe_LPC::order"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo1">FLAC__Subframe_LPC::order</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The FIR order. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____Subframe__LPCo2" doxytag="FLAC__Subframe_LPC::qlp_coeff_precision"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">unsigned <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo2">FLAC__Subframe_LPC::qlp_coeff_precision</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Quantized FIR filter coefficient precision in bits. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____Subframe__LPCo3" doxytag="FLAC__Subframe_LPC::quantization_level"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">int <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo3">FLAC__Subframe_LPC::quantization_level</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The qlp coeff shift needed. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____Subframe__LPCo4" doxytag="FLAC__Subframe_LPC::qlp_coeff"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__int32 <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo4">FLAC__Subframe_LPC::qlp_coeff</a>[FLAC__MAX_LPC_ORDER] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-FIR filter coefficients. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____Subframe__LPCo5" doxytag="FLAC__Subframe_LPC::warmup"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FLAC__int32 <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo5">FLAC__Subframe_LPC::warmup</a>[FLAC__MAX_LPC_ORDER] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Warmup samples to prime the predictor, length == order. </td>
- </tr>
-</table>
-<a class="anchor" name="FLAC____Subframe__LPCo6" doxytag="FLAC__Subframe_LPC::residual"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const FLAC__int32* <a class="el" href="structFLAC____Subframe__LPC.html#FLAC____Subframe__LPCo6">FLAC__Subframe_LPC::residual</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The residual signal, length == (blocksize minus order) samples. </td>
- </tr>
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____Subframe__Verbatim-members.html b/3rdparty/libflac/doc/html/api/structFLAC____Subframe__Verbatim-members.html
deleted file mode 100644
index 89cc414aef0..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____Subframe__Verbatim-members.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__Subframe_Verbatim Member List</h1>This is the complete list of members for <a class="el" href="structFLAC____Subframe__Verbatim.html">FLAC__Subframe_Verbatim</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structFLAC____Subframe__Verbatim.html#FLAC____Subframe__Verbatimo0">data</a></td><td><a class="el" href="structFLAC____Subframe__Verbatim.html">FLAC__Subframe_Verbatim</a></td><td></td></tr>
-</table>
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/api/structFLAC____Subframe__Verbatim.html b/3rdparty/libflac/doc/html/api/structFLAC____Subframe__Verbatim.html
deleted file mode 100644
index 9cffa678efb..00000000000
--- a/3rdparty/libflac/doc/html/api/structFLAC____Subframe__Verbatim.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>FLAC: FLAC__Subframe_Verbatim Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>FLAC__Subframe_Verbatim Struct Reference<br>
-<small>
-[<a class="el" href="group__flac__format.html">FLAC/format.h: format components</a>]</small>
-</h1><code>#include &lt;<a class="el" href="format_8h-source.html">format.h</a>&gt;</code>
-<p>
-<a href="structFLAC____Subframe__Verbatim-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-VERBATIM subframe. (c.f. <a href="../format.html#subframe_verbatim">format specification</a>)
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const FLAC__int32 *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFLAC____Subframe__Verbatim.html#FLAC____Subframe__Verbatimo0">data</a></td></tr>
-
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="FLAC____Subframe__Verbatimo0" doxytag="FLAC__Subframe_Verbatim::data"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const FLAC__int32* <a class="el" href="structFLAC____Subframe__Verbatim.html#FLAC____Subframe__Verbatimo0">FLAC__Subframe_Verbatim::data</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-A pointer to verbatim signal. </td>
- </tr>
-</table>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>include/FLAC/<a class="el" href="format_8h-source.html">format.h</a></ul>
-
-<hr size="1">
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- </tr>
- </table>
-</div>
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/changelog.html b/3rdparty/libflac/doc/html/changelog.html
deleted file mode 100644
index 39be1d4cdcc..00000000000
--- a/3rdparty/libflac/doc/html/changelog.html
+++ /dev/null
@@ -1,832 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - changelog</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;changelog&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/changelog.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- changelog
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- This is an informal changelog, a summary of changes in each release. (See also <a href="documentation_bugs.html">known bugs</a>.) Particulary important for developers is the precise description of changes to the library interfaces. See also the <a href="api/group__porting.html">porting guide</a> for specific instructions on porting to newer versions of FLAC.<br />
-
- <br />
-
- <a name="flac_1_2_1"><b>FLAC 1.2.1</b> (17-Sep-2007)</a>
-
- <br />
-
- <ul>
- <li>
- General:
- <ul>
- <li>With the new <span class="argument"><a href="documentation_tools_flac.html#flac_options_keep_foreign_metadata">--keep-foreign-metadata</a></span> in <span class="commandname">flac</span>, non-audio RIFF and AIFF chunks can be stored in FLAC files and recreated when decoding. This allows, among other, things support for archiving BWF files and other WAVE files from editing tools that preserves all the metadata. </li>
- </ul>
- </li>
- <li>
- FLAC format:
- <ul>
- <li>Specified 2 new APPLICATION metadata blocks for storing WAVE and AIFF chunks (for use with <a href="documentation_tools_flac.html#flac_options_keep_foreign_metadata">--keep-foreign-metadata</a></span> in <span class="commandname">flac</span>).</li>
- <li>The lead-out track number for non-CDDA cuesheets now must be 255.</li>
- </ul>
- </li>
- <li>
- Ogg FLAC format:
- <ul>
- <li>This is not a format change, but changed default extension for Ogg FLAC from .ogg to .oga, according to new Xiph <a href="http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions">specification</a> (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1762492&amp;group_id=13478&amp;atid=113478">SF #1762492</a>).</li>
- </ul>
- </li>
- <li>
- flac:
- <ul>
- <li>Added a new option <span class="argument"><a href="documentation_tools_flac.html#flac_options_no_utf8_convert">--no-utf8-convert</a></span> which works like it does in <span class="commandname">metaflac</span> (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=973740&amp;group_id=13478&amp;atid=363478">SF #973740</a>).</li>
- <li>Added a new option <span class="argument"><a href="documentation_tools_flac.html#flac_options_keep_foreign_metadata">--keep-foreign-metadata</a></span> which can save/restore RIFF and AIFF chunks to/from FLAC files (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=568264&amp;group_id=13478&amp;atid=363478">SF #363478</a>).</li>
- <li>Changed default extension for Ogg FLAC from .ogg to .oga, according to new Xiph <a href="http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions">specification</a> (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1762492&amp;group_id=13478&amp;atid=113478">SF #1762492</a>).</li>
- <li>Fixed bug where using <span class="argument">--replay-gain</span> without any padding option caused only a small PADDING block to be created (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1760790&amp;group_id=13478&amp;atid=113478">SF #1760790</a>).</li>
- <li>Fixed bug where encoding from stdin on Windows could fail if WAVE/AIFF contained unknown chunks (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1776803&amp;group_id=13478&amp;atid=113478">SF #1776803</a>).</li>
- <li>Fixed bug where importing non-CDDA cuesheets would cause an invalid lead-out track number (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1764105&amp;group_id=13478&amp;atid=113478">SF #1764105</a>).</li>
- </ul>
- </li>
- <li>
- metaflac:
- <ul>
- <li>Changed default extension for Ogg FLAC from .ogg to .oga, according to new Xiph <a href="http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions">specification</a> (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1762492&amp;group_id=13478&amp;atid=113478">SF #1762492</a>).</li>
- <li>Fixed bug where importing non-CDDA cuesheets would cause an invalid lead-out track number (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1764105&amp;group_id=13478&amp;atid=113478">SF #1764105</a>).</li>
- </ul>
- </li>
- <li>
- plugins:
- <ul>
- <li>(none)</li>
- </ul>
- </li>
- <li>
- build system:
- <ul>
- <li>New configure option <span class="argument">--disable-cpplibs</span> to prevent building libFLAC++ (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1723295&amp;group_id=13478&amp;atid=313478">SF #1723295</a>).</li>
- <li>Fixed bug compiling <span class="commandname">flac</span> without Ogg support (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1760786&amp;group_id=13478&amp;atid=113478">SF #1760786</a>).</li>
- <li>Fixed bug where sometimes an existing installation of flac could interfere with the build process (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1763690&amp;group_id=13478&amp;atid=113478">SF #1763690</a>).</li>
- <li>OS X fixes (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1786225&amp;group_id=13478&amp;atid=313478">SF #1786225</a>).</li>
- <li>MinGW fixes (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1684879&amp;group_id=13478&amp;atid=113478">SF #1684879</a>).</li>
- <li>Solaris 10 fixes (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1783225&amp;group_id=13478&amp;atid=113478">SF #1783225</a> <a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1783630&amp;group_id=13478&amp;atid=113478">SF #1783630</a>).</li>
- <li>OS/2 fixes (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1771378&amp;group_id=13478&amp;atid=113478">SF #1771378</a> <a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1229495&amp;group_id=13478&amp;atid=113478">SF #1229495</a>).</li>
- <li>automake-1.10 fixes (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1791361&amp;group_id=13478&amp;atid=113478">SF #1791361</a> <a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1792179&amp;group_id=13478&amp;atid=113478">SF #1792179</a>).</li>
- </ul>
- </li>
- <li>
- documentation:
- <ul>
- <li>Added new <a href="documentation_tools_flac.html#tutorial">tutorial</a> section for <span class="commandname">flac</span>.</li>
- <li>Added <a href="documentation_example_code.html">example code</a> section for using libFLAC/libFLAC++.</li>
- </ul>
- </li>
- <li>
- libraries:
- <ul>
- <li>libFLAC: Fixed very rare seek bug (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1684049&amp;group_id=13478&amp;atid=113478">SF #1684049</a>).</li>
- <li>libFLAC: Fixed seek bug with Ogg FLAC and small streams (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1792172&amp;group_id=13478&amp;atid=113478">SF #1792172</a>).</li>
- <li>libFLAC: 64-bit fixes (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1790872&amp;group_id=13478&amp;atid=113478">SF #1790872</a>).</li>
- </ul>
- </li>
- <li>
- Interface changes (see also the <a href="http://flac.sourceforge.net/api/group__porting__1__2__0__to__1__2__1.html">porting guide</a> for specific instructions on porting to FLAC 1.2.1):
- <ul>
- <li>
- libFLAC:
- <ul>
- <li><b>Added</b> FLAC__metadata_simple_iterator_is_last()</li>
- <li><b>Added</b> FLAC__metadata_simple_iterator_get_block_offset()</li>
- <li><b>Added</b> FLAC__metadata_simple_iterator_get_block_length()</li>
- <li><b>Added</b> FLAC__metadata_simple_iterator_get_application_id()</li>
- </ul>
- </li>
- <li>
- libFLAC++:
- <ul>
- <li><b>Added</b> FLAC::Metadata::SimpleIterator::is_last()</li>
- <li><b>Added</b> FLAC::Metadata::SimpleIterator::get_block_offset()</li>
- <li><b>Added</b> FLAC::Metadata::SimpleIterator::get_block_length()</li>
- <li><b>Added</b> FLAC::Metadata::SimpleIterator::get_application_id()</li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
-
- <br />
-
- <a name="flac_1_2_0"><b>FLAC 1.2.0</b> (23-Jul-2007)</a>
-
- <br />
-
- <ul>
- <li>
- General:
- <ul>
- <li>Small encoding speedups for all modes.</li>
- </ul>
- </li>
- <li>
- FLAC format:
- <ul>
- <li>One of the reserved bits in the FLAC frame header has been assigned for future use; make sure to refer to the <a href="http://flac.sourceforge.net/api/group__porting__1__1__4__to__1__2__0.html">porting guide</a> if you parse FLAC streams manually.</li>
- </ul>
- </li>
- <li>
- Ogg FLAC format:
- <ul>
- <li>(none)</li>
- </ul>
- </li>
- <li>
- flac:
- <ul>
- <li>Added runtime detection of SSE OS support for most operating systems.</li>
- <li>Added a new undocumented option <span class="argument">--ignore-chunk-sizes</span> for ignoring the size of the 'data' chunk (WAVE) or 'SSND' chunk (AIFF). Can be used to encode files with bogus data sizes (e.g. with WAV files piped from foobar2000 to flac.exe as an external encoder). <b>Use with caution</b>: all subsequent data is treated as audio, so the data/SSND chunk must be the last or the following data/tags will be treated as audio and encoded.</li>
- </ul>
- </li>
- <li>
- metaflac:
- <ul>
- <li>(none)</li>
- </ul>
- </li>
- <li>
- plugins:
- <ul>
- <li>(none)</li>
- </ul>
- </li>
- <li>
- build system:
- <ul>
- <li>Added solution and project files for building with VC++ 2005.</li>
- </ul>
- </li>
- <li>
- libraries:
- <ul>
- <li>Added runtime detection of SSE OS support for most operating systems.</li>
- <li>Fixed bug where invalid seek tables could cause some seeks to fail.</li>
- </ul>
- </li>
- <li>
- Interface changes (see also the <a href="http://flac.sourceforge.net/api/group__porting__1__1__4__to__1__2__0.html">porting guide</a> for specific instructions on porting to FLAC 1.2.0):
- <ul>
- <li>
- libFLAC:
- <ul>
- <li><b>Added</b> FLAC__format_sample_rate_is_subset()</li>
- </ul>
- </li>
- <li>
- libFLAC++:
- <ul>
- <li><b>Added</b> FLAC::Decoder::Stream::get_decode_position()</li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
-
- <br />
-
- <a name="flac_1_1_4"><b>FLAC 1.1.4</b> (13-Feb-2007)</a>
-
- <br />
-
- <ul>
- <li>
- General:
- <ul>
- <li>Improved compression with no change to format or decrease in speed.</li>
- <li>Encoding and decoding speedups for all modes. Encoding at -8 is twice as fast.</li>
- </ul>
- </li>
- <li>
- FLAC format:
- <ul>
- <li>(none)</li>
- </ul>
- </li>
- <li>
- Ogg FLAC format:
- <ul>
- <li>(none)</li>
- </ul>
- </li>
- <li>
- flac:
- <ul>
- <li>Improved compression with no change to format or decrease in speed.</li>
- <li>Encoding and decoding speedups for all modes. Encoding at -8 is twice as fast.</li>
- <li>Added a new option <span class="argument"><a href="documentation_tools_flac.html#flac_options_warnings_as_errors">-w,--warnings-as-errors</a></span> for treating all warnings as errors.</li>
- <li>Allow <span class="argument"><a href="documentation_tools_flac.html#flac_options_picture">--picture</a></span> option to take only a filename, and have all other attributes extracted from the file itself.</li>
- <li>Fixed a bug that caused suboptimal default compression settings in some locales (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1608883&amp;group_id=13478&amp;atid=113478">SF #1608883</a>).</li>
- <li>Fixed a bug where FLAC-to-FLAC transcoding of a corrupted FLAC file would truncate the transcoded file at the first error (<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1615019&amp;group_id=13478&amp;atid=113478">SF #1615019</a>).</li>
- <li>Fixed a bug where using <span class="argument"><a href="documentation_tools_flac.html#flac_options_decode_through_errors">-F</a></span> with FLAC-to-FLAC transcoding of a corrupted FLAC would have no effect (<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1615391&amp;group_id=13478&amp;atid=113478">SF #1615391</a>).</li>
- <li>Fixed a bug where new PICTURE metadata blocks specified with <span class="argument"><a href="documentation_tools_flac.html#flac_options_picture">--picture</a></span> would not be transferred during FLAC-to-FLAC transcoding (<a href="https://sourceforge.net/tracker/index.php?func=detail&aid=1627993&group_id=13478&atid=113478">SF #1627993</a>).</li>
- </ul>
- </li>
- <li>
- metaflac:
- <ul>
- <li>Allow <span class="argument"><a href="documentation_tools_metaflac.html#metaflac_shorthand_import_picture_from">--import-picture-from</a></span> option to take only a filename, and have all other attributes extracted from the file itself.</li>
- </ul>
- </li>
- <li>
- plugins:
- <ul>
- <li>Fixed a bug in the XMMS plugin where Ctrl-3 (file info) would cause a crash if the file did not exist (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1634941&amp;group_id=13478&amp;amp;atid=313478">SF #1634941</a>).</li>
- </ul>
- </li>
- <li>
- build system:
- <ul>
- <li>Fixed a makefile linkage bug with libogg (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1611414&amp;group_id=13478&amp;atid=113478">SF #1611414</a>).</li>
- <li>Added pkg-config files for libFLAC and libFLAC++ (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1647881&amp;group_id=13478&amp;atid=313478">SF #1647881</a>).</li>
- <li>Added <span class=argument>--disable-ogg</span> option for building without Ogg support even if libogg is installed (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1196996&amp;group_id=13478&amp;atid=113478">SF #1196996</a>).</li>
- </ul>
- </li>
- <li>
- libraries:
- <ul>
- <li>Completely rewritten bitbuffer which uses native machine word size instead of bytes for dramatic speed improvements. The speedup should be most dramatic on CPUs with slower byte manipulation capability and big-endian machines.</li>
- <li>Much faster Rice partition size estimation which greatly speeds encoding in higher modes.</li>
- <li>Increased compression for all modes.</li>
- <li>Reduced memory requirements for encoder and decoder.</li>
- <li>Fixed a bug with default apodization settings that were erroneous in some locales (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1608883&amp;group_id=13478&amp;atid=113478">SF #1608883</a>).</li>
- </ul>
- </li>
- <li>
- Interface changes:
- <ul>
- <li>
- libFLAC:
- <ul>
- <li>(behavior only) FLAC__stream_encoder_set_metadata() now makes a copy of the "metadata" array of pointers (but still not copies of the objects themselves) so the client does not need to maintain its copy of the array after the call.</li>
- </ul>
- </li>
- <li>
- libFLAC++:
- <ul>
- <li>(none)</li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
-
- <br />
-
- <a name="flac_1_1_3"><b>FLAC 1.1.3</b> (27-Nov-2006)</a>
-
- <br />
-
- <ul>
- <li>
- General:
- <ul>
- <li>Improved compression with no impact on format or decoding speed.</li>
- <li>Much better recovery for corrupted files</li>
- <li>Better multichannel support</li>
- <li>Large file (&gt;2GB) support everywhere</li>
- <li><span class="commandname">flac</span> now supports FLAC and Ogg FLAC as input to the encoder (e.g. can re-encode FLAC to FLAC) and preserve all the metadata like tags, etc.</li>
- <li>New <span class="code"><a href="format.html#def_PICTURE">PICTURE</a></span> metadata block for storing things like cover art, new <span class="argument"><a href="documentation_tools_flac.html#flac_options_picture">--picture</a></span> option to <span class="commandname">flac</span> and <span class="argument"><a href="documentation_tools_metaflac.html#metaflac_shorthand_import_picture_from">--import-picture-from</a></span> option to <span class="commandname">metaflac</span> for importing pictures, new <span class="argument"><a href="documentation_tools_metaflac.html#metaflac_shorthand_export_picture_to">--export-picture-to</a></span> option to <span class="commandname">metaflac</span> for exporting pictures, and metadata API <a href="api/group__flac__metadata__level0.html#ga3">additions</a> for searching for suitable pictures based on type, size and color constraints.</li>
- <li>Support for new <tt>REPLAYGAIN_REFERENCE_LOUDNESS</tt> tag.</li>
- <li>Fixed a bug in Ogg FLAC encoding where metadata was not being updated properly. Existing Ogg FLAC files should be recoded to fix up the metadata, e.g. <span class="command">flac -Vf -S 10s --ogg file.ogg</span></li>
- <li>In the developer libraries, the interface has been simplfied by merging the three decoding layers into a single class; ditto for the encoders. Also, libOggFLAC has been merged into libFLAC and libOggFLAC++ has been merged into libFLAC++ so there is a single API supporting both native FLAC and Ogg FLAC.</li>
- </ul>
- </li>
- <li>
- FLAC format:
- <ul>
- <li>New <span class="code"><a href="format.html#def_PICTURE">PICTURE</a></span> metadata block for storing things like cover art.</li>
- <li>Speaker assignments and channel orders for 3-6 channels (see <a href="format.html#frame_header">frame header</a>).</li>
- <li>Further restrictions on the <a href="format.html#subset">FLAC subset</a> when the sample rate is &lt;=48kHz; in this case the maximum LPC order is now 12 and maximum blocksize is 4608. This is to further limit the processing and memory requirements for hardware implementations while not measurably affecting compression.</li>
- </ul>
- </li>
- <li>
- Ogg FLAC format:
- <ul>
- <li>(none)</li>
- </ul>
- </li>
- <li>
- flac:
- <ul>
- <li>Improved the <span class="argument"><a href="documentation_tools_flac.html#flac_options_decode_through_errors">-F</a></span> option to allow decoding of FLAC files whose metadata is corrupted, and other kinds of severe corruption.</li>
- <li>Encoder can now take FLAC and Ogg FLAC as input. The output FLAC file will have all the same metadata as the original unless overridden with options on the command line.</li>
- <li>Encoder can now take WAVEFORMATEXTENSIBLE WAVE files as input; decoder will output WAVEFORMATEXTENSIBLE WAVE files when necessary to conform to the latest Microsoft specifications.</li>
- <li>Now properly supports AIFF and WAVEFORMATEXTENSIBLE multichannel input, performing necessary channel reordering both for encoding and decoding. WAVEFORMATEXTENSIBLE channel mask is also saved to a tag on encoding and restored on decoding for situations when there is no natural mapping to FLAC channel assignments.</li>
- <li>Expanded support for "odd" sample resolutions to WAVE and AIFF input; all resolutions from 4 to 24 bits-per-sample now supported for all input types.</li>
- <li>Added a new option <span class="argument"><a href="documentation_tools_flac.html#flac_options_tag_from_file">--tag-from-file</a></span> for setting a tag from file (e.g. for importing a cuesheet as a tag).</li>
- <li>Added a new option <span class="argument"><a href="documentation_tools_flac.html#flac_options_picture">--picture</a></span> for adding pictures.</li>
- <li>Added a new option <span class="argument"><a href="documentation_tools_flac.html#flac_options_apodization">--apodization</a></span> for specifying the window function(s) to be used in LPC analysis.</li>
- <li>Added support for encoding from non-compressed AIFF-C (<a href="https://sourceforge.net/tracker/?func=detail&amp;atid=113478&amp;aid=1090933&amp;group_id=13478">SF #1090933</a>).</li>
- <li>Importing of non-CDDA-compliant cuesheets now only issues a warning, not an error (see <a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=31282">here</a>).</li>
- <li>MD5 comparison failures on decoding are now an error instead of a warning and will also return a non-zero exit code (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1493725&amp;group_id=13478&amp;atid=113478">SF #1493725</a>).</li>
- <li>The default padding size is now 8K, or 64K if the input audio stream is more than 20 minutes long.</li>
- <li>Fixed a bug in cuesheet parsing where it would return an error if the last line of the cuesheet did not end with a newline.</li>
- <li>Fixed a bug that caused a crash when <span class="argument">-a</span> and <span class="argument">-t</span> were used together (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1229481&amp;group_id=13478&amp;atid=113478">SF #1229481</a>).</li>
- <li>Fixed a bug with --sector-align where appended samples were not always totally silent (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1237707&amp;group_id=13478&amp;atid=113478">SF #1237707</a>).</li>
- <li>Fixed bugs with --sector-align and raw input files.</li>
- <li>Fixed a bug printing out unknown AIFF subchunk names (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1267476&amp;group_id=13478&amp;atid=113478">SF #1267476</a>).</li>
- <li>Fixed a bug where WAVE files with "data" subchunks of size 0 where accepted (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1293830&amp;group_id=13478&amp;atid=113478">SF #1293830</a>).</li>
- <li>Fixed a bug where sync error at end-of-stream of truncated files was not being caught (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1244071&amp;group_id=13478&amp;atid=113478">SF #1244071</a>).</li>
- <li>Fixed a problem with filename parsing if file does not have extension but also has a . in the path (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1161916&amp;group_id=13478&amp;atid=113478">SF #1161916</a>).</li>
- <li>Fixed a problem with fractional-second parsing for <span class="argument">--skip</span>/<span class="argument">--until</span> in some locales (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1031043&amp;group_id=13478&amp;atid=113478">SF #1031043</a>).</li>
- <li>Increase progress report rate when -p and -e are used together (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1580122&amp;group_id=13478&amp;atid=113478">SF #1580122</a>).</li>
- </ul>
- </li>
- <li>
- metaflac:
- <ul>
- <li>Added support for read-only operations on Ogg FLAC files.</li>
- <li>Added a new option <span class="argument"><a href="documentation_tools_metaflac.html#metaflac_shorthand_set_tag_from_file">--set-tag-from-file</a></span> for setting a tag from file (e.g. for importing a cuesheet as a tag).</li>
- <li>Added a new option <span class="argument"><a href="documentation_tools_metaflac.html#metaflac_shorthand_import_picture_from">--import-picture-from</a></span> for importing pictures.</li>
- <li>Added a new option <span class="argument"><a href="documentation_tools_metaflac.html#metaflac_shorthand_export_picture_to">--export-picture-to</a></span> for exporting pictures.</li>
- <li>Added shorthand operation <span class="argument"><a href="documentation_tools_metaflac.html#metaflac_shorthand_remove_replay_gain">--remove-replay-gain</a></span> for removing ReplayGain tags.</li>
- <li><span class="argument"><a href="documentation_tools_metaflac.html#metaflac_shorthand_export_cuesheet_to">--export-cuesheet-to</a></span> now properly specifies the FLAC file name (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1272825&amp;group_id=13478&amp;atid=363478">SF #1272825</a>).</li>
- <li>Importing of non-CDDA-compliant cuesheets now issues a warning.</li>
- <li>Removed the following deprecated tag editing options; you should use the new option names shown instead:
- <ul>
- <li>Removed <span class="argument">--show-vc-vendor</span>; use <span class="argument">--show-vendor-tag</span></li>
- <li>Removed <span class="argument">--show-vc-field</span>; use <span class="argument">--show-tag</span></li>
- <li>Removed <span class="argument">--remove-vc-all</span>; use <span class="argument">--remove-all-tags</span></li>
- <li>Removed <span class="argument">--remove-vc-field</span>; use <span class="argument">--remove-tag</span></li>
- <li>Removed <span class="argument">--remove-vc-firstfield</span>; use <span class="argument">--remove-first-tag</span></li>
- <li>Removed <span class="argument">--set-vc-field</span>; use <span class="argument">--set-tag</span></li>
- <li>Removed <span class="argument">--import-vc-from</span>; use <span class="argument">--import-tags-from</span></li>
- <li>Removed <span class="argument">--export-vc-to</span>; use <span class="argument">--export-tags-to</span></li>
- </ul>
- </li>
- <li>Disallow multiple input FLAC files when --import-tags-from=- is used (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1082577&amp;group_id=13478&amp;atid=113478">SF #1082577</a>).</li>
- </ul>
- </li>
- <li>
- plugins:
- <ul>
- <li>When ReplayGain is on, if tags for the preferred kind of gain (album/track) are not in a stream, the other kind will be used.</li>
- <li>Added ReplayGain info to file info box in XMMS plugin</li>
- <li>Fixed UTF-8 decoder to disallow non-shortest-form and surrogate sequences (see <a href="http://www.unicode.org/versions/corrigendum1.html">here</a>).</li>
- </ul>
- </li>
- <li>
- build system:
- <ul>
- <li>Added support for building on OS/2 with EMX (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1229495&amp;group_id=13478&amp;atid=113478">SF #1229495</a>)</li>
- <li>Added support for building with Borland C++ (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1599018&amp;group_id=13478&amp;atid=313478">SF #1599018</a>)</li>
- <li>Added a <span class="argument">--disable-xmms-plugin</span> option to <span class="command">configure</span> to prevent building the XMMS plugin (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=930494&amp;group_id=13478&amp;atid=363478">SF #930494</a>).</li>
- <li>Added a <span class="argument">--disable-doxygen-docs</span> option to <span class="command">configure</span> for disabling Doxygen-based API doc generation (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1365935&amp;group_id=13478&amp;atid=313478">SF #1365935</a>).</li>
- <li>Added a <span class="argument">--disable-thorough-tests</span> option to <span class="command">configure</span> to do the basic library, stream, and tool tests in a reasonable time (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1077948&amp;group_id=13478&amp;atid=363478">SF #1077948</a>).</li>
- <li>Added large file support with <span class="argument">AC_SYS_LARGEFILE</span>; use <span class="argument">--disable-largefile</span> with <span class="command">configure</span> to disable.</li>
- </ul>
- </li>
- <li>
- libraries:
- <ul>
- <li>Merged libOggFLAC into libFLAC; both formats are now supporte through the same API.</li>
- <li>Merged libOggFLAC++ into libFLAC++; both formats are now supporte through the same API.</li>
- <li>libFLAC and libFLAC++: Simplified encoder setup with new <span class="argument">FLAC__stream_encoder_set_compression_level()</span> function.</li>
- <li>libFLAC: Improved compression with no impact on FLAC format or decoding time by adding a windowing stage before LPC analysis.</li>
- <li>libFLAC: Fixed a bug where missing STREAMINFO fields (min/max framesize, total samples, MD5 sum) and seek point offsets were not getting rewritten back to Ogg FLAC file (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1338969&amp;group_id=13478&amp;atid=113478">SF #1338969</a>).</li>
- <li>libFLAC: Fixed a bug in cuesheet parsing where it would return an error if the last line of the cuesheet did not end with a newline.</li>
- <li>libFLAC: Fixed UTF-8 decoder to disallow non-shortest-form and surrogate sequences (see <a href="http://www.unicode.org/versions/corrigendum1.html">here</a>).</li>
- <li>libFLAC: Fixed a bug in the return value for <span class="argument">FLAC__stream_decoder_set_metadata_respond_application()</span> and <span class="argument">FLAC__stream_decoder_set_metadata_ignore_application()</span> when there was a memory allocation error (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1235005&amp;group_id=13478&amp;atid=113478">SF #1235005</a>).</li>
- </ul>
- </li>
- <li>
- Interface changes (see also the <a href="http://flac.sourceforge.net/api/group__porting__1__1__2__to__1__1__3.html">porting guide</a> for specific instructions on porting to FLAC 1.1.3):
- <ul>
- <li>
- all libraries;
- <ul>
- <li>Merged libOggFLAC into libFLAC; both formats are now supporte through the same API.</li>
- <li>Merged libOggFLAC++ into libFLAC++; both formats are now supporte through the same API.</li>
- <li>Merged seekable stream decoder and file decoder into the stream decoder.</li>
- <li>Merged seekable stream encoder and file encoder into the stream encoder.</li>
- <li>Added #defines for the API version number to make porting easier; see <tt>include/lib*FLAC*/export.h</tt>.</li>
- </ul>
- </li>
- <li>
- libFLAC:
- <ul>
- <li><b>Added</b> FLAC__stream_encoder_set_apodization()</li>
- <li><b>Added</b> FLAC__stream_encoder_set_compression_level()</li>
- <li><b>Added</b> FLAC__metadata_object_cuesheet_calculate_cddb_id()</li>
- <li><b>Added</b> FLAC__metadata_get_cuesheet()</li>
- <li><b>Added</b> FLAC__metadata_get_picture()</li>
- <li><b>Added</b> FLAC__metadata_chain_read_ogg() and FLAC__metadata_chain_read_ogg_with_callbacks()</li>
- <li><b>Changed</b> FLAC__stream_encoder_finish() now returns a FLAC__bool to signal a verify failure, or error processing last frame or updating metadata.</li>
- <li><b>Changed</b> FLAC__StreamDecoderState: removed state FLAC__STREAM_DECODER_UNPARSEABLE_STREAM</li>
- <li><b>Changed</b> FLAC__StreamDecoderErrorStatus: new error code FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM</li>
- <li>The above two changes mean that when the decoder encounters what it thinks are unparseable frames from a future decoder, instead of returning a fatal error with the FLAC__STREAM_DECODER_UNPARSEABLE_STREAM state, it just calls the error callback with FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM and leaves the behavior up to the application.</li>
- </ul>
- </li>
- <li>
- libFLAC++:
- <ul>
- <li><b>Added</b> FLAC::Metadata::Picture</li>
- <li><b>Added</b> FLAC::Encoder::Stream::set_apodization()</li>
- <li><b>Added</b> FLAC::Encoder::Stream::set_compression_level()</li>
- <li><b>Added</b> FLAC::Metadata::CueSheet::calculate_cddb_id()</li>
- <li><b>Added</b> FLAC::Metadata::get_cuesheet()</li>
- <li><b>Added</b> FLAC::Metadata::get_picture()</li>
- <li><b>Changed</b> FLAC::Metadata::Chain::read() to accept a flag denoting Ogg FLAC input</li>
- <li><b>Changed</b> FLAC::Decoder::Stream::finish() now returns a bool to signal an MD5 failure like FLAC__stream_decoder_finish() does.</li>
- <li><b>Changed</b> FLAC::Encoder::Stream::finish() now returns a bool to signal a verify failure, or error processing last frame or updating metadata.</li>
- </ul>
- </li>
- <li>
- libOggFLAC:
- <ul>
- <li>Merged into libFLAC.</li>
- </ul>
- </li>
- <li>
- libOggFLAC++:
- <ul>
- <li>Merged into libFLAC++.</li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
-
- <br />
-
- <a name="flac_1_1_2"><b>FLAC 1.1.2</b> (05-Feb-2005)</a>
-
- <br />
-
- <ul>
- <li>
- General:
- <ul>
- <li>Sped up decoding by a few percent overall.</li>
- <li>Sped up encoding when not using LPC (i.e. when using <span class="commandname">flac</span> options <span class="argument">-0</span>, <span class="argument">-1</span>, <span class="argument">-2</span>, or <span class="argument">-l 0</span>).</li>
- <li>Fixed a decoding bug that could cause sync errors with some ID3v1-tagged FLAC files.</li>
- <li>Added <a href="documentation_tools_metaflac.html#metaflac">HTML documentation for metaflac</a>.</li>
- </ul>
- </li>
- <li>
- FLAC format:
- <ul>
- <li>(none)</li>
- </ul>
- </li>
- <li>
- Ogg FLAC format:
- <ul>
- <li>(none)</li>
- </ul>
- </li>
- <li>
- flac:
- <ul>
- <li>New option <span class="argument"><a href="documentation_tools_flac.html#flac_options_input_size">--input-size</a></span> to manually specify the input size when encoding raw samples from stdin.</li>
- </ul>
- </li>
- <li>
- metaflac:
- <ul>
- <li>(none)</li>
- </ul>
- </li>
- <li>
- plugins:
- <ul>
- <li>Added support for HTTP streaming in XMMS plugin. <b>NOTE</b>: there is a <a href="http://bugs.xmms.org/show_bug.cgi?id=2038">bug</a> in the XMMS mpg123 plugin that hijacks FLAC streams; to fix it you will need to add the '.flac' extension to the list of exceptions in <span class="code">Input/mpg123/mpg123.c:is_our_file()</span> in the XMMS sources and recompile.</li>
- </ul>
- </li>
- <li>
- build system:
- <ul>
- <li>(none)</li>
- </ul>
- </li>
- <li>
- libraries:
- <ul>
- <li>libFLAC: Sped up Rice block decoding in the bitbuffer, resulting in decoding speed gains of a few percent.</li>
- <li>libFLAC: Sped up encoding when not using LPC (i.e. <span class="code">max_lpc_order == 0</span>).</li>
- <li>libFLAC: Trailing NUL characters maintained on Vorbis comment entries so they can be treated like C strings.</li>
- <li>libFLAC: More FLAC tag (i.e. Vorbis comment) validation.</li>
- <li>libFLAC: Fixed a bug in the logic that determines the frame or sample number in a frame header; the bug could cause sync errors with some ID3v1-tagged FLAC files.</li>
- <li>libFLAC, libOggFLAC: Can now be compiled to use only integer instructions, including encoding. The decoder is almost completely integer anyway but there were a couple places that needed a fixed-point replacement. There is no fixed-point version of LPC analysis yet, so if libFLAC is compiled integer-only, the encoder will behave as if the max LPC order is 0 (i.e. used fixed predictors only). LPC decoding is supported in all cases as it always was integer-only.</li>
- </ul>
- </li>
- <li>
- Interface changes:
- <ul>
- <li>
- libFLAC:
- <ul>
- <li><b>Changed:</b> Metadata object interface now maintains a trailing NUL on Vorbis comment entries for convenience.</li>
- <li><b>Changed:</b> Metadata object interface now validates all Vorbis comment entries on input and returns false if an entry does not conform to the Vorbis comment spec.</li>
- <li><b>Added</b> FLAC__format_vorbiscomment_entry_name_is_legal()</li>
- <li><b>Added</b> FLAC__format_vorbiscomment_entry_value_is_legal()</li>
- <li><b>Added</b> FLAC__format_vorbiscomment_entry_is_legal()</li>
- <li><b>Added</b> FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair()</li>
- <li><b>Added</b> FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair()</li>
- <li><b>Changed</b> the signature of FLAC__metadata_object_vorbiscomment_entry_matches(): the first argument is now <span class="code">FLAC__StreamMetadata_VorbisComment_Entry entry</span> (was <span class="code">const FLAC__StreamMetadata_VorbisComment_Entry *entry</span>), i.e. <span class="code">entry</span> is now pass-by-value.</li>
- </ul>
- </li>
- <li>
- libFLAC++:
- <ul>
- <li><b>Changed:</b> Metadata object interface now maintains a trailing NUL on Vorbis comment values for convenience.</li>
- <li><b>Changed:</b> Metadata object interface now validates all Vorbis comment entries on input and returns false if an entry does not conform to the Vorbis comment spec.</li>
- <li><b>Changed:</b> All Metadata objects' operator=() methods now return a reference to themselves.</li>
- <li><b>Added</b> methods to FLAC::Metadata::VorbisComment::Entry for setting comment values from null-terminated strings:
- <ul>
- <li>Entry(const char *field)</li>
- <li>Entry(const char *field_name, const char *field_value)</li>
- <li>bool set_field(const char *field)</li>
- <li>bool set_field_value(const char *field_value)</li>
- </ul>
- </li>
- <li><b>Changed</b> the signature of FLAC::Metadata::VorbisComment::get_vendor_string() and FLAC::Metadata::VorbisComment::set_vendor_string() to use a UTF-8, NUL-terminated string <span class="code">const FLAC__byte *</span> for the vendor string instead of <span class="code">FLAC::Metadata::VorbisComment::Entry</span>.</li>
- <li><b>Added</b> FLAC::Metadata::*::assign() to all Metadata objects.</li>
- <li><b>Added</b> bool FLAC::Metadata::get_tags(const char *filename, VorbisComment &amp;tags)</li>
- </ul>
- </li>
- <li>
- libOggFLAC:
- <ul>
- <li>(none)</li>
- </ul>
- </li>
- <li>
- libOggFLAC++:
- <ul>
- <li>(none)</li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
-
- <br />
-
- <a name="flac_1_1_1"><b>FLAC 1.1.1</b> (01-Oct-2004)</a>
-
- <br />
-
- <ul>
- <li>
- General:
- <ul>
- <li>Ogg FLAC seeking now works</li>
- <li>New optimizations almost double the decoding speed on PowerPC (e.g. Mac G4/G5)</li>
- <li>A native OS X release thanks to updated Project Builder and autotools files</li>
- </ul>
- </li>
- <li>
- FLAC format:
- <ul>
- <li>Made invalid the metadata block type 127 so that audio frames can always be distinguished from metadata by seeing 0xff as the first byte. (This was also required for the Ogg FLAC mapping.)</li>
- </ul>
- </li>
- <li>
- Ogg FLAC format:
- <ul>
- <li>First official FLAC-&gt;Ogg bitstream mapping standardized (see new <a href="ogg_mapping.html">FLAC-to-Ogg mapping specification</a>). See the documentation for the <span class="argument"><a href="documentation_tools_flac.html#flac_options_ogg">--ogg</a></span> switch about having to re-encode older Ogg FLAC files.</li>
- </ul>
- </li>
- <li>
- flac:
- <ul>
- <li>Print an error when output file already exists instead of automatically overwriting.</li>
- <li>New option <span class="argument"><a href="documentation_tools_flac.html#flac_options_force">-f</a></span> (<span class="argument"><a href="documentation_tools_flac.html#flac_options_force">--force</a></span>) to force overwriting if the output file already exists.</li>
- <li>New option <span class="argument"><a href="documentation_tools_flac.html#flac_options_cue">--cue</a></span> to select a specific section to decode using cuesheet track/index points.</li>
- <li>New option <span class="argument"><a href="documentation_tools_flac.html#flac_options_totally_silent">--totally-silent</a></span> to suppress all output.</li>
- <li>New (but undocumented) option <span class="argument">--apply-replaygain-which-is-not-lossless</span> which applies ReplayGain to the decoded output. See <a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=17293&amp;st=11">this thread</a> for usage and caveats.</li>
- <li>When encoding to Ogg FLAC, use a random serial number (instead of 0 as was done before) when a serial number is not specified.</li>
- <li>When encoding multiple Ogg FLAC streams, <span class="argument">--serial-number</span> or random serial number sets the first number, which is then incremented for subsequent streams (before, the same serial number was used for all streams).</li>
- <li>Decoder no longer exits with an error when writing to stdout and the pipe is broken.</li>
- <li>Better explanation of common error messages.</li>
- <li>Default extension when writing AIFF files is .aif (before, it was .aiff).</li>
- <li>Write more common representation of SANE numbers in AIFF files.</li>
- <li>Bug fix: calculating ReplayGain on 48kHz streams.</li>
- <li>Bug fix: check for supported block alignments in WAVE files.</li>
- <li>Bug fix: "offset" field in AIFF SSND chunk properly handled.</li>
- <li>Bug fix: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=679166&amp;group_id=13478&amp;atid=113478">#679166</a>: flac doesn't respect RIFF subchunk padding byte.</li>
- <li>Bug fix: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=828391&amp;group_id=13478&amp;atid=113478">#828391</a>: --add-replay-gain segfaults.</li>
- <li>Bug fix: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=851155&amp;group_id=13478&amp;atid=113478">#851155</a>: Can't seek to position in flac file.</li>
- <li>Bug fix: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=851756&amp;group_id=13478&amp;atid=113478">#851756</a>: flac --skip --until reads entire file.</li>
- <li>Bug fix: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=877122&amp;group_id=13478&amp;atid=113478">#877122</a>: problem parsing cuesheet with CATALOG entry.</li>
- <li>Bug fix: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=896057&amp;group_id=13478&amp;atid=113478">#896057</a>: parsing ISRC number from cuesheet.</li>
- </ul>
- </li>
- <li>
- metaflac:
- <ul>
- <li>Renamed the tag editing options as follows (the <span class="argument">...-vc-...</span> options still work but are deprecated):
- <ul>
- <li><span class="argument">--show-vc-vendor</span> becomes <span class="argument">--show-vendor-tag</span></li>
- <li><span class="argument">--show-vc-field</span> becomes <span class="argument">--show-tag</span></li>
- <li><span class="argument">--remove-vc-all</span> becomes <span class="argument">--remove-all-tags</span></li>
- <li><span class="argument">--remove-vc-field</span> becomes <span class="argument">--remove-tag</span></li>
- <li><span class="argument">--remove-vc-firstfield</span> becomes <span class="argument">--remove-first-tag</span></li>
- <li><span class="argument">--set-vc-field</span> becomes <span class="argument">--set-tag</span></li>
- <li><span class="argument">--import-vc-from</span> becomes <span class="argument">--import-tags-from</span></li>
- <li><span class="argument">--export-vc-to</span> becomes <span class="argument">--export-tags-to</span></li>
- </ul>
- </li>
- <li>Better explanation of common error messages.</li>
- <li>Bug fix: calculating ReplayGain on 48kHz streams.</li>
- <li>Bug fix: incorrect numbers when printing seek points.</li>
- </ul>
- </li>
- <li>
- plugins:
- <ul>
- <li>Speed optimization in ReplayGain synthesis.</li>
- <li>Speed optimization in XMMS playback.</li>
- <li>Support for big-endian architectures in XMMS plugin.</li>
- <li>Removed support for ID3 tags.</li>
- <li>Bug fix: make hard limiter default to off in XMMS plugin.</li>
- <li>Bug fix: stream length calculation bug in XMMS plugin, debian bug #200435; <a href="http://sourceforge.net/mailarchive/forum.php?thread_id=2733072&amp;forum_id=6312">see also</a>.</li>
- <li>Bug fix: small memory leak in XMMS plugin.</li>
- </ul>
- </li>
- <li>
- build system:
- <ul>
- <li><span class="code">ordinals.h</span> is now static, not a build-generated file anymore.</li>
- </ul>
- </li>
- <li>
- libraries:
- <ul>
- <li>libFLAC: PPC+Altivec optimizations of some decoder routines.</li>
- <li>libFLAC: Make stream encoder encode the blocksize and sample rate in the frame header if at all possible (not in STREAMINFO), even if subset encoding was not requested.</li>
- <li>libFLAC: Bug fix: fixed seek routine where infinite loop could happen when seeking past end of stream.</li>
- <li>libFLAC, libFLAC++: added methods to skip single frames, useful for quickly finding frame boundaries (see interface changes below).</li>
- <li>libOggFLAC, libOggFLAC++: New seekable-stream and file encoder and decoder APIs to match native FLAC APIs (see interface changes below).</li>
- </ul>
- </li>
- <li>
- Interface changes:
- <ul>
- <li>
- libFLAC:
- <ul>
- <li><b>Added</b> FLAC__metadata_get_tags()</li>
- <li><b>Added</b> callback-based versions of metadata editing functions:
- <ul>
- <li>FLAC__metadata_chain_read_with_callbacks()</li>
- <li>FLAC__metadata_chain_write_with_callbacks()</li>
- <li>FLAC__metadata_chain_write_with_callbacks_and_tempfile()</li>
- <li>FLAC__metadata_chain_check_if_tempfile_needed()</li>
- </ul>
- </li>
- <li><b>Added</b> decoder functions for skipping single frames, also useful for quickly finding frame boundaries:
- <ul>
- <li>FLAC__stream_decoder_skip_single_frame()</li>
- <li>FLAC__seekable_stream_decoder_skip_single_frame()</li>
- <li>FLAC__file_decoder_skip_single_frame()</li>
- </ul>
- </li>
- <li><b>Added</b> new required tell callback on seekable stream encoder:
- <ul>
- <li>FLAC__SeekableStreamEncoderTellStatus and FLAC__SeekableStreamEncoderTellStatusString[]</li>
- <li>FLAC__SeekableStreamEncoderTellCallback</li>
- <li>FLAC__seekable_stream_encoder_set_tell_callback()</li>
- </ul>
- </li>
- <li><b>Changed</b> FLAC__SeekableStreamEncoderState by adding FLAC__SEEKABLE_STREAM_ENCODER_TELL_ERROR</li>
- <li><b>Changed</b> Tell callback is now required to initialize seekable stream encoder</li>
- <li><b>Deleted</b> erroneous and unimplemented FLAC__file_decoder_process_remaining_frames()</li>
- </ul>
- </li>
- <li>
- libFLAC++:
- <ul>
- <li><b>Added</b> FLAC::Metadata::get_tags()</li>
- <li><b>Added</b> decoder functions for skipping single frames, also useful for quickly finding frame boundaries:
- <ul>
- <li>FLAC::Decoder::Stream::skip_single_frame()</li>
- <li>FLAC::Decoder::SeekableStream::skip_single_frame()</li>
- <li>FLAC::Decoder::File::skip_single_frame()</li>
- </ul>
- </li>
- <li><b>Added</b> encoder functions for setting metadata:
- <ul>
- <li>FLAC::Encoder::Stream::set_metadata(FLAC::Metadata::Prototype **metadata, unsigned num_blocks)</li>
- <li>FLAC::Encoder::SeekableStream::set_metadata(FLAC::Metadata::Prototype **metadata, unsigned num_blocks)</li>
- <li>FLAC::Encoder::File::set_metadata(FLAC::Metadata::Prototype **metadata, unsigned num_blocks)</li>
- </ul>
- </li>
- <li><b>Added</b> new required tell callback on seekable stream encoder:
- <ul>
- <li>pure virtual FLAC::Encoder::SeekableStream::tell_callback()</li>
- </ul>
- </li>
- <li><b>Changed</b> Tell callback is now required to initialize seekable stream encoder</li>
- <li><b>Deleted</b> the following methods:
- <ul>
- <li>FLAC::Decoder::Stream::State::resolved_as_cstring()</li>
- <li>FLAC::Encoder::Stream::State::resolved_as_cstring()</li>
- </ul>
- </li>
- </ul>
- </li>
- <li>
- libOggFLAC:
- <ul>
- <li><b>Added</b> OggFLAC__SeekableStreamDecoder interface</li>
- <li><b>Added</b> OggFLAC__FileDecoder interface</li>
- <li><b>Added</b> OggFLAC__SeekableStreamEncoder interface</li>
- <li><b>Added</b> OggFLAC__FileEncoder interface</li>
- <li><b>Added</b> OggFLAC__stream_decoder_get_resolved_state_string()</li>
- <li><b>Added</b> OggFLAC__stream_encoder_get_resolved_state_string()</li>
- <li><b>Added</b> OggFLAC__stream_encoder_set_metadata_callback()</li>
- <li><b>Changed</b> OggFLAC__StreamDecoderState by adding OggFLAC__STREAM_DECODER_END_OF_STREAM</li>
- </ul>
- </li>
- <li>
- libOggFLAC++:
- <ul>
- <li><b>Added</b> OggFLAC::Decoder::SeekableStream interface</li>
- <li><b>Added</b> OggFLAC::Decoder::File interface</li>
- <li><b>Added</b> OggFLAC::Encoder::SeekableStream interface</li>
- <li><b>Added</b> OggFLAC::Encoder::File interface</li>
- <li><b>Added</b> OggFLAC::Decoder::Stream::get_resolved_state_string()</li>
- <li><b>Added</b> OggFLAC::Encoder::Stream::get_resolved_state_string()</li>
- <li><b>Added</b> pure virtual OggFLAC::Encoder::Stream::metadata_callback()</li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/comparison.html b/3rdparty/libflac/doc/html/comparison.html
deleted file mode 100644
index cf390b779a7..00000000000
--- a/3rdparty/libflac/doc/html/comparison.html
+++ /dev/null
@@ -1,431 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - comparison</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;comparison&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- comparison
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- Many lossless comparisons look at only compression ratio and speed. FLAC decoding is the fastest among lossless codecs and it has the fastest encoding mode. FLAC's compression is within 3% of even the most complex codecs. Note that the compression ratios of all lossless codecs fall in a quite narrow range; the difference between the very best and very worst is only around 7%, and only 4% for the practical codecs.<br />
- <br />
- So the evaluation of lossless codecs typically depends mainly on other features, which is what our first table shows; features like how well it is supported in devices and software, licensing, etc. Additionally, as archiving is one of the main applications for a lossless codec, of chief importance is the ability to use and recover data in the future. FLAC stands out as the most widely supported codec, and the only codec that at once is non-proprietary, is unencumbered by patents, has an open-source reference implementation, has a well documented format and API, and has several other independent implementations.<br />
- <br />
- The rest of the tables show in detail the compression ratios and speed of the codecs in different modes. FLAC's high decoding speed is due to very low complexity and is instrumental to its support by dozens of consumer electronic devices.<br />
- <br />
- <font size="-1">(Note: this comparison leaves out some archaic or impractical codecs; see <a href="#alternate_links">below</a> for some other comparisons.)</font><br />
- <br />
- Reviewed encoders (besides flac of course):
- <ul>
- <li>
- Apple Lossless - A proprietary codec by Apple.
- </li>
- <li>
- <a href="http://www.logarithmic.net/pfh/bonk">Bonk</a> - An open-source source codec. No player or library support yet.
- </li>
- <li>
- <a href="http://www.lossless-audio.com">La</a> - A closed source symmetric adaptive codec. Highest compression ratio but extremely slow.
- </li>
- <li>
- <a href="http://www.monkeysaudio.com/">Monkey's Audio</a> - A symmetric adaptive codec with good compression. Source is available under a non-OSI license.
- </li>
- <li>
- Ogg Squish - An open source source codec that is no longer maintained.
- </li>
- <li>
- <a href="http://losslessaudiocompression.com/">optimFROG</a> - A closed source, Windows/Linux codec, with Winamp and XMMS plugins. Slow but high compression ratios.
- </li>
- <li>
- <a href="http://www.softsound.com/Shorten.html">Shorten</a> - A.J. Robinson's well-known codec; source is available <a href="http://rpmfind.net/linux/rpm2html/search.php?query=shorten">here</a>.
- </li>
- <li>
- <a href="http://www.thbeck.de/Tak/Tak.html">Tak</a> - A new and efficient codec, but closed-source and Windows only.
- </li>
- <li>
- <a href="http://www.wavpack.com/">WavPack</a> - A fine open-source codec, released under the BSD license.
- </li>
- </ul>
- <br />
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td align="right">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Source Available?</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Player Support?</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Hardware Support?</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>License Cost</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>OS support</b></font>
- </td>
- </tr>
- <tr>
- <td align="right" bgcolor="#F4F4CC">
- flac v1.2.1
- </td>
- <td>
- YES (<a href="http://www.opensource.org/licenses/index.html">OSI</a> approved license)
- </td>
- <td>
- YES (<a href="http://www.xmms.org/">XMMS</a>, <a href="http://www.winamp.com/">Winamp</a>, <a href="http://alsaplayer.org/">AlsaPlayer</a>, <a href="http://music.yahoo.com/musicengine/">Y!&nbsp;Music&nbsp;Engine</a>, <a href="http://arcticlounge.com/maltx/">MacAmp&nbsp;Lite</a>, <a href="http://www.dbpoweramp.com/">dBpowerAMP</a>, <a href="http://www.saunalahti.fi/~cse/foobar2000/index.html">Foobar2000</a>, <a href="http://www.quinnware.com/">QCD</a>, <a href="http://www.hut.fi/~hylinen/apollo/Plug-ins.html">Apollo</a>, <a href="download.html#extras">many&nbsp;more</a>)
- </td>
- <td>
- YES (<a href="http://www.slimdevices.com/">Squeezebox</a>, <a href="http://www.sonos.com/">Sonos</a>, <a href="http://www.phatnoise.com/technology/encoding.php">PhatBox</a>, Kenwood&nbsp;MusicKeg, <a href="http://www.cowonamerica.com/products/">iAudio</a>, <a href="http://www.request.com/">ReQuest</a>, <a href="http://www.olive.us/">Olive</a>, <a href="http://www.escient.com/">Escient</a>, <a href="http://www.trekstor.de/en/products/detail_mp3.php?pid=66">TrekStor</a>, <a href="links.html#hardware">dozens&nbsp;more</a>)
- </td>
- <td>
- NONE
- </td>
- <td>
- Linux, Windows, Mac&nbsp;OS&nbsp;X, *BSD, Solaris, OS/2, BeOS, Amiga&nbsp;OS, others
- </td>
- </tr>
- <tr>
- <td align="right" bgcolor="#F4F4CC">
- WavPack v4.41
- </td>
- <td>
- YES (<a href="http://www.opensource.org/licenses/index.html">OSI</a> approved license)
- </td>
- <td>
- YES (Winamp, foobar2000, dBpowerAMP, <a href="http://wiki.hydrogenaudio.org/index.php?title=WavPack#Players">more</a>)
- </td>
- <td bgcolor="#D4D4C0">
- maybe (some portables via <a href="http://www.rockbox.org/">Rockbox</a> firmware replacement)
- </td>
- <td>
- NONE
- </td>
- <td>
- Linux, Windows, Mac&nbsp;OS&nbsp;X, *BSD, Solaris, others
- </td>
- </td>
- </tr>
- <tr>
- <td align="right" bgcolor="#F4F4CC">
- Shorten v3.2
- </td>
- <td bgcolor="#D4D4C0">
- YES (non-<a href="http://www.opensource.org/licenses/index.html">OSI</a> license)
- </td>
- <td bgcolor="#D4D4C0">
- YES (Winamp, XMMS)
- </td>
- <td bgcolor="#D4D4C0">
- maybe (some portables via <a href="http://www.rockbox.org/">Rockbox</a> firmware replacement)
- </td>
- <td bgcolor="#BCBCAC">
- non-<br />commercial only
- </td>
- <td>
- Linux, Windows, Mac&nbsp;OS&nbsp;9, Mac&nbsp;OS&nbsp;X, *BSD, Solaris, others
- </td>
- </tr>
- <tr>
- <td align="right" bgcolor="#F4F4CC">
- Monkey's Audio v3.99
- </td>
- <td bgcolor="#D4D4C0">
- YES (non-<a href="http://www.opensource.org/licenses/index.html">OSI</a> license)
- </td>
- <td>
- YES (Winamp, MediaJukebox, dBpowerAMP, more)
- </td>
- <td bgcolor="#BCBCAC">
- no
- </td>
- <td bgcolor="#BCBCAC">
- ?
- </td>
- <td bgcolor="#D4D4C0">
- Windows, Linux console source
- </td>
- </tr>
- <tr>
- <td align="right" bgcolor="#F4F4CC">
- Apple Lossless
- </td>
- <td bgcolor="#BCBCAC">
- no
- </td>
- <td bgcolor="#D4D4C0">
- YES (<a href="http://www.apple.com/itunes/">iTunes</a>)
- </td>
- <td bgcolor="#D4D4C0">
- YES (<a href="http://www.apple.com/ipod/">iPod</a> only)
- </td>
- <td bgcolor="#BCBCAC">
- unavailable
- </td>
- <td bgcolor="#BCBCAC">
- Windows, Mac&nbsp;OS&nbsp;X
- </td>
- </tr>
- <tr>
- <td align="right" bgcolor="#F4F4CC">
- Ogg Squish 0.98
- </td>
- <td>
- YES (<a href="http://www.opensource.org/licenses/index.html">OSI</a> approved license)
- </td>
- <td bgcolor="#BCBCAC">
- no (?)
- </td>
- <td bgcolor="#BCBCAC">
- no
- </td>
- <td>
- NONE
- </td>
- <td>
- Linux, Windows, other UNIX
- </td>
- </tr>
- <tr>
- <td align="right" bgcolor="#F4F4CC">
- Bonk 0.5
- </td>
- <td>
- YES (<a href="http://www.opensource.org/licenses/index.html">OSI</a> approved license)
- </td>
- <td bgcolor="#D4D4C0">
- YES (XMMS)
- </td>
- <td bgcolor="#BCBCAC">
- no
- </td>
- <td bgcolor="#BCBCAC">
- ?
- </td>
- <td>
- Linux, Windows, other UNIX
- </td>
- </tr>
- <tr>
- <td align="right" bgcolor="#F4F4CC">
- optimFROG 4.21
- </td>
- <td bgcolor="#BCBCAC">
- no
- </td>
- <td bgcolor="#D4D4C0">
- YES (Winamp, XMMS)
- </td>
- <td bgcolor="#BCBCAC">
- no
- </td>
- <td bgcolor="#BCBCAC">
- ?
- </td>
- <td bgcolor="#BCBCAC">
- Windows, Linux
- </td>
- </tr>
- <tr>
- <td align="right" bgcolor="#F4F4CC">
- La 0.3c
- </td>
- <td bgcolor="#BCBCAC">
- no
- </td>
- <td bgcolor="#D4D4C0">
- YES (Winamp, XMMS)
- </td>
- <td bgcolor="#BCBCAC">
- no
- </td>
- <td bgcolor="#BCBCAC">
- ?
- </td>
- <td bgcolor="#BCBCAC">
- Windows, Linux
- </td>
- </tr>
- <tr>
- <td align="right" bgcolor="#F4F4CC">
- Tak 1.0
- </td>
- <td bgcolor="#BCBCAC">
- no
- </td>
- <td bgcolor="#BCBCAC">
- no
- </td>
- <td bgcolor="#BCBCAC">
- no
- </td>
- <td bgcolor="#BCBCAC">
- free for non-commercial use
- </td>
- <td bgcolor="#BCBCAC">
- Windows
- </td>
- </tr>
- </table>
- </td></tr></table>
- <br />
- The machine used for encoding the test files is a PII-333 with 256 megs of RAM, running Windows NT 4.0 SP5. Unfortunately, though flac runs just about everywhere, Windows is the lowest-common-denominator platform for all the encoders. Apple Lossless was tested on a newer machine (P4-2.4GHz Windows 2000); only the overall encoding and decoding times are shown, and the times are scaled to the PII-333 by multiplying by the ratio of flac times on the PII to P4.<br />
- <br />
- By default when processing files, <span class="commandname">flac</span> computes the MD5 sum while encoding and decoding. Since MD5 sums are not typically used in playback, and since most codecs either do not support MD5 sums or do not compute them by default, to make the comparison as accurate as possible MD5 checking was disabled for FLAC decoding. However since it is currently not possible to disable MD5 computation for FLAC encoding, the FLAC encoding times here are 4-15% longer than they would be without MD5 checking.<br />
- <br />
- The audio corpus currently consists entirely of CD music tracks. In the future it may include more kinds of input (like speech, other sample rates/resolutions, etc). There are 14 tracks whose genres range from rock to pop to death metal to classical to chant.<br />
- <br />
- Here is a summary table of results on the whole corpus, using just the most 'economic' modes (the ones that give the most compression for the least amount of encode/decode time) for each codec. The table is ordered by the average track compression ratio, which is the average of the ratios for each track; this keeps long tracks from having more influence than short ones. Clicking the column header links will take you to complete tables ordered by that column.<br />
- <br />
- Shown in white, <span class="commandname">flac</span> in its default mode is right in the middle with respect to compression, relatively fast on the encoding range, and the fastest decoding. This is about what you would expect; FLAC is designed to put most of the processing on the encoding side, which is only done once, whereas the adaptive codecs take as long to decode as encode. FLAC is more suited in this way for playback on low-power devices, borne out by the <a href="links.html#hardware">many hardware devices which support it</a>.<br />
- <br />
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="0" bgcolor="#EEEED4"><!-- @@@@@@ border="1" ? -->
- <tr align="right">
- <td>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Encode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Decode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Compression</b></font>
- </td>
- </tr>
- <tr align="right">
- <td align="left" bgcolor="#F4F4CC">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_procenctime.html">Total</a></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_cpuenctime.html">CPU</a></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_procdectime.html">Total</a></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_cpudectime.html">CPU</a></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Size</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Avg.ratio</b></font>
- </td>
- </tr>
- <tr align="right"><td align="left">Tak 1.01 (normal)</td><td>11:42.59</td><td bgcolor="#F8F8E8">8:12.00</td><td>6:36.47</td><td bgcolor="#F8F8E8">3:38.14</td><td>391.16 MB</td><td bgcolor="#F8F8E8">51.39%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (normal)</td><td>13:20.15</td><td bgcolor="#E0E0D4">9:56.40</td><td>14:24.02</td><td bgcolor="#E0E0D4">11:33.71</td><td>393.17 MB</td><td bgcolor="#E0E0D4">51.97%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 0 @ 4x)</td><td>16:36.98</td><td bgcolor="#F8F8E8">12:51.58</td><td>17:55.55</td><td bgcolor="#F8F8E8">14:58.99</td><td>394.69 MB</td><td bgcolor="#F8F8E8">52.24%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (turbo)</td><td>7:25.21</td><td bgcolor="#E0E0D4">3:51.02</td><td>6:16.82</td><td bgcolor="#E0E0D4">3:10.87</td><td>399.97 MB</td><td bgcolor="#E0E0D4">52.71%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (high)</td><td>11:48.47</td><td bgcolor="#F8F8E8">7:45.58</td><td>9:19.07</td><td bgcolor="#F8F8E8">6:05.35</td><td>399.90 MB</td><td bgcolor="#F8F8E8">52.73%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (fast)</td><td>10:24.29</td><td bgcolor="#E0E0D4">6:58.46</td><td>11:32.07</td><td bgcolor="#E0E0D4">8:37.81</td><td>400.57 MB</td><td bgcolor="#E0E0D4">53.11%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (normal)</td><td>9:48.59</td><td bgcolor="#F8F8E8">5:46.91</td><td>7:37.26</td><td bgcolor="#F8F8E8">4:30.11</td><td>405.84 MB</td><td bgcolor="#F8F8E8">53.56%</td></tr>
- <tr align="right" bgcolor="#FFFFFF"><td align="left">FLAC 1.2.1 (-5, default)</td><td>10:07.41</td><td bgcolor="#FFFFFF">6:35.68</td><td>5:23.16</td><td bgcolor="#FFFFFF">2:22.41</td><td>406.25 MB</td><td bgcolor="#FFFFFF">53.67%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-3)</td><td>7:23.77</td><td bgcolor="#F8F8E8">3:47.42</td><td>5:31.15</td><td bgcolor="#F8F8E8">2:19.07</td><td>412.42 MB</td><td bgcolor="#F8F8E8">54.57%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast)</td><td>8:52.27</td><td bgcolor="#E0E0D4">4:47.74</td><td>6:33.73</td><td bgcolor="#E0E0D4">3:28.19</td><td>415.05 MB</td><td bgcolor="#E0E0D4">54.92%</td></tr>
- <tr align="right"><td align="left">Apple Lossless (iTunes 4.5)</td><td>19:53.27</td><td bgcolor="#F8F8E8">19:53.27</td><td>10:01.86</td><td bgcolor="#F8F8E8">10:01.86</td><td>414.45 MB</td><td bgcolor="#F8F8E8">54.96%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Bonk 0.5</td><td>51:45.58</td><td bgcolor="#E0E0D4">48:32.10</td><td>42:02.76</td><td bgcolor="#E0E0D4">39:05.43</td><td>418.65 MB</td><td bgcolor="#E0E0D4">55.43%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-1)</td><td>6:24.51</td><td bgcolor="#F8F8E8">2:42.93</td><td>5:26.87</td><td bgcolor="#F8F8E8">2:17.49</td><td>431.72 MB</td><td bgcolor="#F8F8E8">56.97%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Shorten 3.2a (-p0 -b256, default)</td><td>10:01.38</td><td bgcolor="#E0E0D4">6:23.40</td><td>6:38.43</td><td bgcolor="#E0E0D4">3:30.66</td><td>433.56 MB</td><td bgcolor="#E0E0D4">57.29%</td></tr>
- <tr align="right"><td align="left">RIFF WAVE</td><td>73:44.94</td><td bgcolor="#F8F8E8"></td><td>73:44.94</td><td bgcolor="#F8F8E8"></td><td>780.56 MB</td><td bgcolor="#F8F8E8">100.00%</td></tr>
- </table>
- </td></tr></table>
- <br />
-
- Here are links to the full summary table (all codecs, all modes) and tables for each individual track. The individual track tables are sorted only by compression ratio since the relative encoding and decoding times are the same as for the whole corpus.
- <br /><br />
-
- <b><a href="comparison_all_ratio.html">Complete summary table</a></b><br />
- <br />
- <a href="comparison__chopin_prelude_24.html">Frederic Chopin Prelude No.24 in d minor </a><br />
- <a href="comparison__dream_theater_600.html">Dream Theater 6:00 </a><br />
- <a href="comparison__eddie_warner_titus.html">Eddie Warner Titus </a><br />
- <a href="comparison__fanfare_de_l_eventail_de_jeanne.html">Maurice Ravel Fanfare from "L'eventail de Jeanne" </a><br />
- <a href="comparison__gloria_estefan_conga.html">Gloria Estefan Conga </a><br />
- <a href="comparison__hand_in_my_pocket.html">Alanis Morissette Hand In My Pocket </a><br />
- <a href="comparison__l_sub_raga_sivapriya.html">L. Subramaniam Raga Sivapriya </a><br />
- <a href="comparison__laetatus_sum.html">The Benedictine Monks of Santo Domingo de Silos Laetatus Sum </a><br />
- <a href="comparison__mummified_in_barbed_wire.html">Cannibal Corpse Mummified In Barbed Wire </a><br />
- <a href="comparison__prokofiev_pcon3_3.html">Sergei Prokofiev Piano Concerto No.3 (3rd movement) </a><br />
- <a href="comparison__ravel_sq4_4.html">Maurice Ravel String Quartet (4th movement) </a><br />
- <a href="comparison__scarlatti_k42.html">Domenico Scarlatti Sonata K.42 (arr.Yepes for guitar) </a><br />
- <a href="comparison__tool_forty_six_and_2.html">Tool Forty-six &amp; 2 </a><br />
- <a href="comparison__white_room.html">Cream White Room </a><br />
-
- </div> <!-- box_body -->
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/comparison__chopin_prelude_24.html b/3rdparty/libflac/doc/html/comparison__chopin_prelude_24.html
deleted file mode 100644
index 39d95f84bd5..00000000000
--- a/3rdparty/libflac/doc/html/comparison__chopin_prelude_24.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - comparison</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- comparison
- </div>
- <div class="box_header"></div>
- <div class="box_body">
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="0" align="right" bgcolor="#EEEED4"><!-- @@@@@@ border="1" ? -->
- <tr align="right">
- <td>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Encode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Decode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Compression</b></font>
- </td>
- </tr>
- <tr align="right">
- <td align="left" bgcolor="#F4F4CC">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Size</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Ratio</b></font>
- </td>
- </tr>
- <tr align="right"><td align="left">La 0.3c</td><td>5:12.99</td><td bgcolor="#F8F8E8">5:05.90</td><td>5:02.30</td><td bgcolor="#F8F8E8">4:58.19</td><td>9.84 MB</td><td bgcolor="#F8F8E8">35.82%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (insane)</td><td>4:31.19</td><td bgcolor="#E0E0D4">4:23.90</td><td>4:41.63</td><td bgcolor="#E0E0D4">4:38.15</td><td>9.96 MB</td><td bgcolor="#E0E0D4">36.25%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (extra high)</td><td>0:59.34</td><td bgcolor="#F8F8E8">0:52.76</td><td>1:00.84</td><td bgcolor="#F8F8E8">0:55.80</td><td>10.16 MB</td><td bgcolor="#F8F8E8">36.99%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high max)</td><td>2:21.93</td><td bgcolor="#E0E0D4">2:15.97</td><td>0:16.04</td><td bgcolor="#E0E0D4">0:10.96</td><td>10.18 MB</td><td bgcolor="#E0E0D4">37.07%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (extra high)</td><td>0:54.02</td><td bgcolor="#F8F8E8">0:47.21</td><td>0:15.79</td><td bgcolor="#F8F8E8">0:10.61</td><td>10.20 MB</td><td bgcolor="#F8F8E8">37.15%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 4 @ 1x)</td><td>11:56.80</td><td bgcolor="#E0E0D4">11:49.43</td><td>11:58.67</td><td bgcolor="#E0E0D4">11:52.38</td><td>10.34 MB</td><td bgcolor="#E0E0D4">37.64%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 3 @ 4x)</td><td>2:03.12</td><td bgcolor="#F8F8E8">1:55.85</td><td>2:06.24</td><td bgcolor="#F8F8E8">1:59.93</td><td>10.35 MB</td><td bgcolor="#F8F8E8">37.68%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 2 @ 4x)</td><td>1:07.64</td><td bgcolor="#E0E0D4">1:00.03</td><td>1:10.96</td><td bgcolor="#E0E0D4">1:04.38</td><td>10.37 MB</td><td bgcolor="#E0E0D4">37.78%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (high)</td><td>0:31.66</td><td bgcolor="#F8F8E8">0:25.20</td><td>0:33.37</td><td bgcolor="#F8F8E8">0:28.01</td><td>10.40 MB</td><td bgcolor="#F8F8E8">37.88%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 1 @ 4x)</td><td>0:50.93</td><td bgcolor="#E0E0D4">0:43.24</td><td>0:54.65</td><td bgcolor="#E0E0D4">0:47.55</td><td>10.41 MB</td><td bgcolor="#E0E0D4">37.90%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (normal)</td><td>0:27.25</td><td bgcolor="#F8F8E8">0:20.66</td><td>0:29.58</td><td bgcolor="#F8F8E8">0:23.62</td><td>10.52 MB</td><td bgcolor="#F8F8E8">38.32%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 0 @ 4x)</td><td>0:34.13</td><td bgcolor="#E0E0D4">0:26.24</td><td>0:37.36</td><td bgcolor="#E0E0D4">0:30.81</td><td>10.53 MB</td><td bgcolor="#E0E0D4">38.33%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (normal)</td><td>0:24.27</td><td bgcolor="#F8F8E8">0:17.59</td><td>0:13.77</td><td bgcolor="#F8F8E8">0:07.59</td><td>10.54 MB</td><td bgcolor="#F8F8E8">38.37%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (turbo)</td><td>0:14.48</td><td bgcolor="#E0E0D4">0:07.79</td><td>0:11.54</td><td bgcolor="#E0E0D4">0:05.89</td><td>10.64 MB</td><td bgcolor="#E0E0D4">38.74%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (extra high -x)</td><td>0:59.09</td><td bgcolor="#F8F8E8">0:51.19</td><td>0:21.45</td><td bgcolor="#F8F8E8">0:15.56</td><td>10.66 MB</td><td bgcolor="#F8F8E8">38.83%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (high)</td><td>0:23.70</td><td bgcolor="#E0E0D4">0:16.06</td><td>0:18.58</td><td bgcolor="#E0E0D4">0:12.19</td><td>10.83 MB</td><td bgcolor="#E0E0D4">39.45%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (fast)</td><td>0:21.21</td><td bgcolor="#F8F8E8">0:14.61</td><td>0:23.15</td><td bgcolor="#F8F8E8">0:17.50</td><td>10.94 MB</td><td bgcolor="#F8F8E8">39.82%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal -x)</td><td>0:28.33</td><td bgcolor="#E0E0D4">0:20.54</td><td>0:14.77</td><td bgcolor="#E0E0D4">0:08.88</td><td>10.94 MB</td><td bgcolor="#E0E0D4">39.84%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (normal)</td><td>0:19.71</td><td bgcolor="#F8F8E8">0:11.86</td><td>0:14.61</td><td bgcolor="#F8F8E8">0:08.71</td><td>10.99 MB</td><td bgcolor="#F8F8E8">40.01%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-8)</td><td>0:52.85</td><td bgcolor="#E0E0D4">0:46.14</td><td>0:10.99</td><td bgcolor="#E0E0D4">0:04.54</td><td>11.05 MB</td><td bgcolor="#E0E0D4">40.25%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (fast -x)</td><td>0:23.34</td><td bgcolor="#F8F8E8">0:15.66</td><td>0:12.54</td><td bgcolor="#F8F8E8">0:06.65</td><td>11.14 MB</td><td bgcolor="#F8F8E8">40.55%</td></tr>
- <tr align="right" bgcolor="#FFFFFF"><td align="left">FLAC 1.2.1 (-5, default)</td><td>0:20.10</td><td bgcolor="#FFFFFF">0:13.48</td><td>0:10.41</td><td bgcolor="#FFFFFF">0:04.37</td><td>11.19 MB</td><td bgcolor="#FFFFFF">40.73%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-3)</td><td>0:14.73</td><td bgcolor="#F8F8E8">0:08.01</td><td>0:09.95</td><td bgcolor="#F8F8E8">0:04.11</td><td>11.26 MB</td><td bgcolor="#F8F8E8">40.99%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast)</td><td>0:17.61</td><td bgcolor="#E0E0D4">0:09.90</td><td>0:12.73</td><td bgcolor="#E0E0D4">0:06.71</td><td>11.30 MB</td><td bgcolor="#E0E0D4">41.15%</td></tr>
- <tr align="right"><td align="left">Apple Lossless (iTunes 4.5)</td><td>?</td><td bgcolor="#F8F8E8">?</td><td>?</td><td bgcolor="#F8F8E8">?</td><td>11.51 MB</td><td bgcolor="#F8F8E8">41.91%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-1)</td><td>0:12.29</td><td bgcolor="#E0E0D4">0:05.32</td><td>0:10.14</td><td bgcolor="#E0E0D4">0:04.41</td><td>11.84 MB</td><td bgcolor="#E0E0D4">43.11%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p0 -b256, default)</td><td>0:19.93</td><td bgcolor="#F8F8E8">0:12.70</td><td>0:13.27</td><td bgcolor="#F8F8E8">0:06.52</td><td>12.05 MB</td><td bgcolor="#F8F8E8">43.86%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Bonk 0.5</td><td>1:45.75</td><td bgcolor="#E0E0D4">1:39.19</td><td>1:24.87</td><td bgcolor="#E0E0D4">1:18.91</td><td>12.86 MB</td><td bgcolor="#E0E0D4">46.84%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p8 -b2048)</td><td>0:25.06</td><td bgcolor="#F8F8E8">0:17.52</td><td>0:14.19</td><td bgcolor="#F8F8E8">0:07.92</td><td>14.40 MB</td><td bgcolor="#F8F8E8">52.42%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">RIFF WAVE</td><td>0:55.77</td><td bgcolor="#E0E0D4"></td><td>0:55.77</td><td bgcolor="#E0E0D4"></td><td>27.46 MB</td><td bgcolor="#E0E0D4">100.00%</td></tr>
- </table>
- </td></tr></table>
- <br />
-
- <b><a href="comparison_all_ratio.html">Complete summary table</a></b><br />
- <br />
- Frederic Chopin Prelude No.24 in d minor <br />
- <a href="comparison__dream_theater_600.html">Dream Theater 6:00 </a><br />
- <a href="comparison__eddie_warner_titus.html">Eddie Warner Titus </a><br />
- <a href="comparison__fanfare_de_l_eventail_de_jeanne.html">Maurice Ravel Fanfare from "L'eventail de Jeanne" </a><br />
- <a href="comparison__gloria_estefan_conga.html">Gloria Estefan Conga </a><br />
- <a href="comparison__hand_in_my_pocket.html">Alanis Morissette Hand In My Pocket </a><br />
- <a href="comparison__l_sub_raga_sivapriya.html">L. Subramaniam Raga Sivapriya </a><br />
- <a href="comparison__laetatus_sum.html">The Benedictine Monks of Santo Domingo de Silos Laetatus Sum </a><br />
- <a href="comparison__mummified_in_barbed_wire.html">Cannibal Corpse Mummified In Barbed Wire </a><br />
- <a href="comparison__prokofiev_pcon3_3.html">Sergei Prokofiev Piano Concerto No.3 (3rd movement) </a><br />
- <a href="comparison__ravel_sq4_4.html">Maurice Ravel String Quartet (4th movement) </a><br />
- <a href="comparison__scarlatti_k42.html">Domenico Scarlatti Sonata K.42 (arr.Yepes for guitar) </a><br />
- <a href="comparison__tool_forty_six_and_2.html">Tool Forty-six &amp; 2 </a><br />
- <a href="comparison__white_room.html">Cream White Room </a><br />
-
- </div> <!-- box_body -->
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/comparison__dream_theater_600.html b/3rdparty/libflac/doc/html/comparison__dream_theater_600.html
deleted file mode 100644
index b7a72985386..00000000000
--- a/3rdparty/libflac/doc/html/comparison__dream_theater_600.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - comparison</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- comparison
- </div>
- <div class="box_header"></div>
- <div class="box_body">
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="0" align="right" bgcolor="#EEEED4"><!-- @@@@@@ border="1" ? -->
- <tr align="right">
- <td>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Encode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Decode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Compression</b></font>
- </td>
- </tr>
- <tr align="right">
- <td align="left" bgcolor="#F4F4CC">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Size</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Ratio</b></font>
- </td>
- </tr>
- <tr align="right"><td align="left">La 0.3c</td><td>11:33.09</td><td bgcolor="#F8F8E8">11:19.06</td><td>11:12.03</td><td bgcolor="#F8F8E8">11:00.22</td><td>42.72 MB</td><td bgcolor="#F8F8E8">73.06%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (insane)</td><td>9:54.94</td><td bgcolor="#E0E0D4">9:41.08</td><td>10:23.84</td><td bgcolor="#E0E0D4">10:11.92</td><td>42.99 MB</td><td bgcolor="#E0E0D4">73.52%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (extra high)</td><td>2:13.37</td><td bgcolor="#F8F8E8">1:56.55</td><td>2:17.03</td><td bgcolor="#F8F8E8">2:01.54</td><td>43.06 MB</td><td bgcolor="#F8F8E8">73.64%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (high)</td><td>1:14.01</td><td bgcolor="#E0E0D4">0:57.54</td><td>1:17.44</td><td bgcolor="#E0E0D4">1:01.89</td><td>43.21 MB</td><td bgcolor="#E0E0D4">73.91%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 2 @ 4x)</td><td>2:29.22</td><td bgcolor="#F8F8E8">2:10.34</td><td>2:36.59</td><td bgcolor="#F8F8E8">2:21.42</td><td>43.24 MB</td><td bgcolor="#F8F8E8">73.95%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 3 @ 4x)</td><td>4:28.01</td><td bgcolor="#E0E0D4">4:09.99</td><td>4:33.40</td><td bgcolor="#E0E0D4">4:18.96</td><td>43.26 MB</td><td bgcolor="#E0E0D4">73.98%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 4 @ 1x)</td><td>25:32.67</td><td bgcolor="#F8F8E8">25:17.33</td><td>25:37.33</td><td bgcolor="#F8F8E8">25:22.07</td><td>43.26 MB</td><td bgcolor="#F8F8E8">73.98%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 1 @ 4x)</td><td>1:54.86</td><td bgcolor="#E0E0D4">1:35.38</td><td>2:02.71</td><td bgcolor="#E0E0D4">1:45.75</td><td>43.26 MB</td><td bgcolor="#E0E0D4">73.98%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (normal)</td><td>1:04.05</td><td bgcolor="#F8F8E8">0:47.22</td><td>1:07.56</td><td bgcolor="#F8F8E8">0:52.13</td><td>43.30 MB</td><td bgcolor="#F8F8E8">74.05%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high max)</td><td>5:17.86</td><td bgcolor="#E0E0D4">5:02.22</td><td>0:33.30</td><td bgcolor="#E0E0D4">0:17.38</td><td>43.40 MB</td><td bgcolor="#E0E0D4">74.23%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 0 @ 4x)</td><td>1:18.81</td><td bgcolor="#F8F8E8">0:59.92</td><td>1:25.63</td><td bgcolor="#F8F8E8">1:09.70</td><td>43.42 MB</td><td bgcolor="#F8F8E8">74.26%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high)</td><td>1:55.03</td><td bgcolor="#E0E0D4">1:37.68</td><td>0:33.95</td><td bgcolor="#E0E0D4">0:17.31</td><td>43.45 MB</td><td bgcolor="#E0E0D4">74.31%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (normal)</td><td>0:55.22</td><td bgcolor="#F8F8E8">0:38.01</td><td>0:31.57</td><td bgcolor="#F8F8E8">0:15.79</td><td>43.51 MB</td><td bgcolor="#F8F8E8">74.42%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (extra high -x)</td><td>2:07.33</td><td bgcolor="#E0E0D4">1:47.95</td><td>0:54.18</td><td bgcolor="#E0E0D4">0:34.92</td><td>43.55 MB</td><td bgcolor="#E0E0D4">74.49%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (high)</td><td>0:55.99</td><td bgcolor="#F8F8E8">0:35.38</td><td>0:45.02</td><td bgcolor="#F8F8E8">0:27.45</td><td>43.67 MB</td><td bgcolor="#F8F8E8">74.69%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (turbo)</td><td>0:37.12</td><td bgcolor="#E0E0D4">0:19.03</td><td>0:30.36</td><td bgcolor="#E0E0D4">0:13.65</td><td>43.80 MB</td><td bgcolor="#E0E0D4">74.91%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (fast)</td><td>0:50.45</td><td bgcolor="#F8F8E8">0:33.45</td><td>0:55.14</td><td bgcolor="#F8F8E8">0:39.03</td><td>43.86 MB</td><td bgcolor="#F8F8E8">75.01%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal -x)</td><td>1:07.85</td><td bgcolor="#E0E0D4">0:48.39</td><td>0:37.25</td><td bgcolor="#E0E0D4">0:20.32</td><td>43.91 MB</td><td bgcolor="#E0E0D4">75.10%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (normal)</td><td>0:46.86</td><td bgcolor="#F8F8E8">0:27.06</td><td>0:37.57</td><td bgcolor="#F8F8E8">0:20.31</td><td>44.01 MB</td><td bgcolor="#F8F8E8">75.26%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-8)</td><td>2:08.57</td><td bgcolor="#E0E0D4">1:51.56</td><td>0:26.91</td><td bgcolor="#E0E0D4">0:11.03</td><td>44.11 MB</td><td bgcolor="#E0E0D4">75.44%</td></tr>
- <tr align="right" bgcolor="#FFFFFF"><td align="left">FLAC 1.2.1 (-5, default)</td><td>0:48.66</td><td bgcolor="#FFFFFF">0:31.46</td><td>0:26.54</td><td bgcolor="#FFFFFF">0:10.63</td><td>44.17 MB</td><td bgcolor="#FFFFFF">75.54%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Bonk 0.5</td><td>4:12.59</td><td bgcolor="#E0E0D4">3:56.45</td><td>3:26.61</td><td bgcolor="#E0E0D4">3:11.07</td><td>44.35 MB</td><td bgcolor="#E0E0D4">75.85%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-3)</td><td>0:36.62</td><td bgcolor="#F8F8E8">0:19.23</td><td>0:27.01</td><td bgcolor="#F8F8E8">0:09.75</td><td>44.58 MB</td><td bgcolor="#F8F8E8">76.25%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast -x)</td><td>0:57.50</td><td bgcolor="#E0E0D4">0:37.91</td><td>0:32.46</td><td bgcolor="#E0E0D4">0:15.72</td><td>44.70 MB</td><td bgcolor="#E0E0D4">76.45%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (fast)</td><td>0:42.95</td><td bgcolor="#F8F8E8">0:22.86</td><td>0:32.45</td><td bgcolor="#F8F8E8">0:15.60</td><td>44.71 MB</td><td bgcolor="#F8F8E8">76.46%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Apple Lossless (iTunes 4.5)</td><td>?</td><td bgcolor="#E0E0D4">?</td><td>?</td><td bgcolor="#E0E0D4">?</td><td>44.74 MB</td><td bgcolor="#E0E0D4">76.53%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p8 -b2048)</td><td>1:00.05</td><td bgcolor="#F8F8E8">0:42.06</td><td>0:37.31</td><td bgcolor="#F8F8E8">0:20.87</td><td>44.75 MB</td><td bgcolor="#F8F8E8">76.54%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-1)</td><td>0:32.13</td><td bgcolor="#E0E0D4">0:14.16</td><td>0:27.55</td><td bgcolor="#E0E0D4">0:10.71</td><td>46.60 MB</td><td bgcolor="#E0E0D4">79.70%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p0 -b256, default)</td><td>0:49.94</td><td bgcolor="#F8F8E8">0:31.66</td><td>0:32.61</td><td bgcolor="#F8F8E8">0:15.51</td><td>46.68 MB</td><td bgcolor="#F8F8E8">79.84%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">RIFF WAVE</td><td>4:02.17</td><td bgcolor="#E0E0D4"></td><td>4:02.17</td><td bgcolor="#E0E0D4"></td><td>58.47 MB</td><td bgcolor="#E0E0D4">100.00%</td></tr>
- </table>
- </td></tr></table>
- <br />
-
- <b><a href="comparison_all_ratio.html">Complete summary table</a></b><br />
- <br />
- <a href="comparison__chopin_prelude_24.html">Frederic Chopin Prelude No.24 in d minor </a><br />
- Dream Theater 6:00 <br />
- <a href="comparison__eddie_warner_titus.html">Eddie Warner Titus </a><br />
- <a href="comparison__fanfare_de_l_eventail_de_jeanne.html">Maurice Ravel Fanfare from "L'eventail de Jeanne" </a><br />
- <a href="comparison__gloria_estefan_conga.html">Gloria Estefan Conga </a><br />
- <a href="comparison__hand_in_my_pocket.html">Alanis Morissette Hand In My Pocket </a><br />
- <a href="comparison__l_sub_raga_sivapriya.html">L. Subramaniam Raga Sivapriya </a><br />
- <a href="comparison__laetatus_sum.html">The Benedictine Monks of Santo Domingo de Silos Laetatus Sum </a><br />
- <a href="comparison__mummified_in_barbed_wire.html">Cannibal Corpse Mummified In Barbed Wire </a><br />
- <a href="comparison__prokofiev_pcon3_3.html">Sergei Prokofiev Piano Concerto No.3 (3rd movement) </a><br />
- <a href="comparison__ravel_sq4_4.html">Maurice Ravel String Quartet (4th movement) </a><br />
- <a href="comparison__scarlatti_k42.html">Domenico Scarlatti Sonata K.42 (arr.Yepes for guitar) </a><br />
- <a href="comparison__tool_forty_six_and_2.html">Tool Forty-six &amp; 2 </a><br />
- <a href="comparison__white_room.html">Cream White Room </a><br />
-
- </div> <!-- box_body -->
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/comparison__eddie_warner_titus.html b/3rdparty/libflac/doc/html/comparison__eddie_warner_titus.html
deleted file mode 100644
index c5b56f9c181..00000000000
--- a/3rdparty/libflac/doc/html/comparison__eddie_warner_titus.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - comparison</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- comparison
- </div>
- <div class="box_header"></div>
- <div class="box_body">
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="0" align="right" bgcolor="#EEEED4"><!-- @@@@@@ border="1" ? -->
- <tr align="right">
- <td>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Encode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Decode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Compression</b></font>
- </td>
- </tr>
- <tr align="right">
- <td align="left" bgcolor="#F4F4CC">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Size</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Ratio</b></font>
- </td>
- </tr>
- <tr align="right"><td align="left">Tak 1.01 (extra high max)</td><td>2:33.66</td><td bgcolor="#F8F8E8">2:26.56</td><td>0:13.83</td><td bgcolor="#F8F8E8">0:08.06</td><td>13.56 MB</td><td bgcolor="#F8F8E8">48.65%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high)</td><td>0:54.33</td><td bgcolor="#E0E0D4">0:46.94</td><td>0:14.63</td><td bgcolor="#E0E0D4">0:08.73</td><td>13.58 MB</td><td bgcolor="#E0E0D4">48.71%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (normal)</td><td>0:25.21</td><td bgcolor="#F8F8E8">0:17.91</td><td>0:13.81</td><td bgcolor="#F8F8E8">0:07.83</td><td>13.64 MB</td><td bgcolor="#F8F8E8">48.94%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (extra high -x)</td><td>0:59.69</td><td bgcolor="#E0E0D4">0:50.92</td><td>0:23.37</td><td bgcolor="#E0E0D4">0:16.64</td><td>14.16 MB</td><td bgcolor="#E0E0D4">50.82%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (high)</td><td>0:30.95</td><td bgcolor="#F8F8E8">0:21.88</td><td>0:19.70</td><td bgcolor="#F8F8E8">0:12.94</td><td>14.18 MB</td><td bgcolor="#F8F8E8">50.89%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal -x)</td><td>0:31.63</td><td bgcolor="#E0E0D4">0:22.96</td><td>0:16.37</td><td bgcolor="#E0E0D4">0:10.07</td><td>14.41 MB</td><td bgcolor="#E0E0D4">51.72%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (turbo)</td><td>0:16.49</td><td bgcolor="#F8F8E8">0:09.19</td><td>0:13.15</td><td bgcolor="#F8F8E8">0:06.87</td><td>14.52 MB</td><td bgcolor="#F8F8E8">52.10%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal)</td><td>0:23.61</td><td bgcolor="#E0E0D4">0:14.90</td><td>0:17.13</td><td bgcolor="#E0E0D4">0:09.53</td><td>14.56 MB</td><td bgcolor="#E0E0D4">52.23%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-8)</td><td>0:57.42</td><td bgcolor="#F8F8E8">0:49.99</td><td>0:11.88</td><td bgcolor="#F8F8E8">0:05.91</td><td>14.77 MB</td><td bgcolor="#F8F8E8">52.98%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">La 0.3c</td><td>5:22.08</td><td bgcolor="#E0E0D4">5:14.86</td><td>5:11.45</td><td bgcolor="#E0E0D4">5:06.88</td><td>14.76 MB</td><td bgcolor="#E0E0D4">52.98%</td></tr>
- <tr align="right" bgcolor="#FFFFFF"><td align="left">FLAC 1.2.1 (-5, default)</td><td>0:22.06</td><td bgcolor="#FFFFFF">0:14.61</td><td>0:12.78</td><td bgcolor="#FFFFFF">0:05.28</td><td>14.83 MB</td><td bgcolor="#FFFFFF">53.23%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 2 @ 4x)</td><td>1:09.57</td><td bgcolor="#E0E0D4">1:01.36</td><td>1:13.87</td><td bgcolor="#E0E0D4">1:07.09</td><td>15.01 MB</td><td bgcolor="#E0E0D4">53.85%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 1 @ 4x)</td><td>0:53.69</td><td bgcolor="#F8F8E8">0:45.31</td><td>0:55.97</td><td bgcolor="#F8F8E8">0:49.62</td><td>15.01 MB</td><td bgcolor="#F8F8E8">53.85%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 3 @ 4x)</td><td>2:05.24</td><td bgcolor="#E0E0D4">1:57.36</td><td>2:07.64</td><td bgcolor="#E0E0D4">2:01.92</td><td>15.01 MB</td><td bgcolor="#E0E0D4">53.87%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (fast -x)</td><td>0:26.81</td><td bgcolor="#F8F8E8">0:17.00</td><td>0:14.21</td><td bgcolor="#F8F8E8">0:07.82</td><td>15.01 MB</td><td bgcolor="#F8F8E8">53.87%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 4 @ 1x)</td><td>12:01.69</td><td bgcolor="#E0E0D4">11:54.28</td><td>12:03.36</td><td bgcolor="#E0E0D4">11:57.06</td><td>15.02 MB</td><td bgcolor="#E0E0D4">53.90%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-3)</td><td>0:16.25</td><td bgcolor="#F8F8E8">0:08.59</td><td>0:12.77</td><td bgcolor="#F8F8E8">0:04.95</td><td>15.08 MB</td><td bgcolor="#F8F8E8">54.12%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 0 @ 4x)</td><td>0:36.48</td><td bgcolor="#E0E0D4">0:28.05</td><td>0:38.76</td><td bgcolor="#E0E0D4">0:32.46</td><td>15.13 MB</td><td bgcolor="#E0E0D4">54.29%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (extra high)</td><td>1:02.13</td><td bgcolor="#F8F8E8">0:54.55</td><td>1:03.54</td><td bgcolor="#F8F8E8">0:57.56</td><td>15.15 MB</td><td bgcolor="#F8F8E8">54.36%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast)</td><td>0:20.99</td><td bgcolor="#E0E0D4">0:12.28</td><td>0:14.01</td><td bgcolor="#E0E0D4">0:07.94</td><td>15.17 MB</td><td bgcolor="#E0E0D4">54.45%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (insane)</td><td>4:39.17</td><td bgcolor="#F8F8E8">4:32.26</td><td>4:51.86</td><td bgcolor="#F8F8E8">4:47.47</td><td>15.18 MB</td><td bgcolor="#F8F8E8">54.47%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (high)</td><td>0:33.69</td><td bgcolor="#E0E0D4">0:26.38</td><td>0:35.47</td><td bgcolor="#E0E0D4">0:29.46</td><td>15.26 MB</td><td bgcolor="#E0E0D4">54.74%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (normal)</td><td>0:29.04</td><td bgcolor="#F8F8E8">0:21.71</td><td>0:30.21</td><td bgcolor="#F8F8E8">0:24.36</td><td>15.27 MB</td><td bgcolor="#F8F8E8">54.79%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (fast)</td><td>0:23.07</td><td bgcolor="#E0E0D4">0:15.05</td><td>0:24.99</td><td bgcolor="#E0E0D4">0:18.81</td><td>15.55 MB</td><td bgcolor="#E0E0D4">55.79%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p0 -b256, default)</td><td>0:21.19</td><td bgcolor="#F8F8E8">0:13.68</td><td>0:13.50</td><td bgcolor="#F8F8E8">0:07.28</td><td>15.78 MB</td><td bgcolor="#F8F8E8">56.62%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Shorten 3.2a (-p8 -b2048)</td><td>0:26.26</td><td bgcolor="#E0E0D4">0:18.62</td><td>0:15.59</td><td bgcolor="#E0E0D4">0:08.78</td><td>16.21 MB</td><td bgcolor="#E0E0D4">58.18%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-1)</td><td>0:14.00</td><td bgcolor="#F8F8E8">0:06.17</td><td>0:11.79</td><td bgcolor="#F8F8E8">0:05.22</td><td>16.35 MB</td><td bgcolor="#F8F8E8">58.67%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Apple Lossless (iTunes 4.5)</td><td>?</td><td bgcolor="#E0E0D4">?</td><td>?</td><td bgcolor="#E0E0D4">?</td><td>16.36 MB</td><td bgcolor="#E0E0D4">58.71%</td></tr>
- <tr align="right"><td align="left">Bonk 0.5</td><td>1:54.69</td><td bgcolor="#F8F8E8">1:47.69</td><td>1:35.03</td><td bgcolor="#F8F8E8">1:28.47</td><td>16.73 MB</td><td bgcolor="#F8F8E8">60.03%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">RIFF WAVE</td><td>1:16.86</td><td bgcolor="#E0E0D4"></td><td>1:16.86</td><td bgcolor="#E0E0D4"></td><td>27.87 MB</td><td bgcolor="#E0E0D4">100.00%</td></tr>
- </table>
- </td></tr></table>
- <br />
-
- <b><a href="comparison_all_ratio.html">Complete summary table</a></b><br />
- <br />
- <a href="comparison__chopin_prelude_24.html">Frederic Chopin Prelude No.24 in d minor </a><br />
- <a href="comparison__dream_theater_600.html">Dream Theater 6:00 </a><br />
- Eddie Warner Titus <br />
- <a href="comparison__fanfare_de_l_eventail_de_jeanne.html">Maurice Ravel Fanfare from "L'eventail de Jeanne" </a><br />
- <a href="comparison__gloria_estefan_conga.html">Gloria Estefan Conga </a><br />
- <a href="comparison__hand_in_my_pocket.html">Alanis Morissette Hand In My Pocket </a><br />
- <a href="comparison__l_sub_raga_sivapriya.html">L. Subramaniam Raga Sivapriya </a><br />
- <a href="comparison__laetatus_sum.html">The Benedictine Monks of Santo Domingo de Silos Laetatus Sum </a><br />
- <a href="comparison__mummified_in_barbed_wire.html">Cannibal Corpse Mummified In Barbed Wire </a><br />
- <a href="comparison__prokofiev_pcon3_3.html">Sergei Prokofiev Piano Concerto No.3 (3rd movement) </a><br />
- <a href="comparison__ravel_sq4_4.html">Maurice Ravel String Quartet (4th movement) </a><br />
- <a href="comparison__scarlatti_k42.html">Domenico Scarlatti Sonata K.42 (arr.Yepes for guitar) </a><br />
- <a href="comparison__tool_forty_six_and_2.html">Tool Forty-six &amp; 2 </a><br />
- <a href="comparison__white_room.html">Cream White Room </a><br />
-
- </div> <!-- box_body -->
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/comparison__fanfare_de_l_eventail_de_jeanne.html b/3rdparty/libflac/doc/html/comparison__fanfare_de_l_eventail_de_jeanne.html
deleted file mode 100644
index e47a282e364..00000000000
--- a/3rdparty/libflac/doc/html/comparison__fanfare_de_l_eventail_de_jeanne.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - comparison</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- comparison
- </div>
- <div class="box_header"></div>
- <div class="box_body">
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="0" align="right" bgcolor="#EEEED4"><!-- @@@@@@ border="1" ? -->
- <tr align="right">
- <td>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Encode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Decode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Compression</b></font>
- </td>
- </tr>
- <tr align="right">
- <td align="left" bgcolor="#F4F4CC">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Size</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Ratio</b></font>
- </td>
- </tr>
- <tr align="right"><td align="left">La 0.3c</td><td>3:53.85</td><td bgcolor="#F8F8E8">3:48.60</td><td>3:46.06</td><td bgcolor="#F8F8E8">3:43.42</td><td>6.46 MB</td><td bgcolor="#F8F8E8">31.04%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high max)</td><td>1:40.84</td><td bgcolor="#E0E0D4">1:36.14</td><td>0:10.02</td><td bgcolor="#E0E0D4">0:06.64</td><td>6.57 MB</td><td bgcolor="#E0E0D4">31.54%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (extra high)</td><td>0:36.93</td><td bgcolor="#F8F8E8">0:31.82</td><td>0:10.22</td><td bgcolor="#F8F8E8">0:06.78</td><td>6.58 MB</td><td bgcolor="#F8F8E8">31.62%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (extra high)</td><td>0:42.13</td><td bgcolor="#E0E0D4">0:37.16</td><td>0:43.26</td><td bgcolor="#E0E0D4">0:39.92</td><td>6.75 MB</td><td bgcolor="#E0E0D4">32.43%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (insane)</td><td>3:09.72</td><td bgcolor="#F8F8E8">3:04.72</td><td>3:16.68</td><td bgcolor="#F8F8E8">3:14.21</td><td>6.78 MB</td><td bgcolor="#F8F8E8">32.56%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 4 @ 1x)</td><td>8:22.49</td><td bgcolor="#E0E0D4">8:17.19</td><td>8:22.99</td><td bgcolor="#E0E0D4">8:19.16</td><td>6.82 MB</td><td bgcolor="#E0E0D4">32.74%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 3 @ 4x)</td><td>1:27.80</td><td bgcolor="#F8F8E8">1:22.51</td><td>1:28.89</td><td bgcolor="#F8F8E8">1:25.16</td><td>6.91 MB</td><td bgcolor="#F8F8E8">33.20%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (normal)</td><td>0:17.57</td><td bgcolor="#E0E0D4">0:12.28</td><td>0:08.76</td><td bgcolor="#E0E0D4">0:05.40</td><td>6.92 MB</td><td bgcolor="#E0E0D4">33.24%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (high)</td><td>0:22.58</td><td bgcolor="#F8F8E8">0:17.46</td><td>0:23.48</td><td bgcolor="#F8F8E8">0:20.17</td><td>6.98 MB</td><td bgcolor="#F8F8E8">33.53%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 2 @ 4x)</td><td>0:48.74</td><td bgcolor="#E0E0D4">0:43.11</td><td>0:51.29</td><td bgcolor="#E0E0D4">0:46.98</td><td>7.01 MB</td><td bgcolor="#E0E0D4">33.69%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 1 @ 4x)</td><td>0:37.65</td><td bgcolor="#F8F8E8">0:31.91</td><td>0:38.28</td><td bgcolor="#F8F8E8">0:34.48</td><td>7.09 MB</td><td bgcolor="#F8F8E8">34.06%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 0 @ 4x)</td><td>0:24.98</td><td bgcolor="#E0E0D4">0:19.19</td><td>0:26.32</td><td bgcolor="#E0E0D4">0:22.47</td><td>7.21 MB</td><td bgcolor="#E0E0D4">34.62%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (normal)</td><td>0:19.63</td><td bgcolor="#F8F8E8">0:14.44</td><td>0:20.77</td><td bgcolor="#F8F8E8">0:17.11</td><td>7.28 MB</td><td bgcolor="#F8F8E8">34.95%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (turbo)</td><td>0:10.81</td><td bgcolor="#E0E0D4">0:05.75</td><td>0:08.43</td><td bgcolor="#E0E0D4">0:04.47</td><td>7.31 MB</td><td bgcolor="#E0E0D4">35.11%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (extra high -x)</td><td>0:40.93</td><td bgcolor="#F8F8E8">0:35.09</td><td>0:15.00</td><td bgcolor="#F8F8E8">0:11.29</td><td>7.38 MB</td><td bgcolor="#F8F8E8">35.44%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-8)</td><td>0:38.78</td><td bgcolor="#E0E0D4">0:33.61</td><td>0:07.05</td><td bgcolor="#E0E0D4">0:03.52</td><td>7.46 MB</td><td bgcolor="#E0E0D4">35.82%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (high)</td><td>0:17.84</td><td bgcolor="#F8F8E8">0:11.83</td><td>0:13.07</td><td bgcolor="#F8F8E8">0:09.22</td><td>7.49 MB</td><td bgcolor="#F8F8E8">35.98%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (fast)</td><td>0:15.21</td><td bgcolor="#E0E0D4">0:10.13</td><td>0:16.27</td><td bgcolor="#E0E0D4">0:12.83</td><td>7.50 MB</td><td bgcolor="#E0E0D4">36.01%</td></tr>
- <tr align="right" bgcolor="#FFFFFF"><td align="left">FLAC 1.2.1 (-5, default)</td><td>0:14.84</td><td bgcolor="#FFFFFF">0:09.52</td><td>0:07.39</td><td bgcolor="#FFFFFF">0:03.36</td><td>7.51 MB</td><td bgcolor="#FFFFFF">36.08%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal -x)</td><td>0:20.88</td><td bgcolor="#E0E0D4">0:14.86</td><td>0:10.54</td><td bgcolor="#E0E0D4">0:06.58</td><td>7.52 MB</td><td bgcolor="#E0E0D4">36.12%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (normal)</td><td>0:14.75</td><td bgcolor="#F8F8E8">0:08.79</td><td>0:10.88</td><td bgcolor="#F8F8E8">0:06.66</td><td>7.58 MB</td><td bgcolor="#F8F8E8">36.41%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-3)</td><td>0:10.59</td><td bgcolor="#E0E0D4">0:05.38</td><td>0:06.78</td><td bgcolor="#E0E0D4">0:02.96</td><td>7.60 MB</td><td bgcolor="#E0E0D4">36.48%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (fast -x)</td><td>0:17.36</td><td bgcolor="#F8F8E8">0:11.37</td><td>0:09.09</td><td bgcolor="#F8F8E8">0:05.06</td><td>7.69 MB</td><td bgcolor="#F8F8E8">36.92%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast)</td><td>0:13.19</td><td bgcolor="#E0E0D4">0:07.26</td><td>0:08.68</td><td bgcolor="#E0E0D4">0:05.10</td><td>7.81 MB</td><td bgcolor="#E0E0D4">37.52%</td></tr>
- <tr align="right"><td align="left">Apple Lossless (iTunes 4.5)</td><td>?</td><td bgcolor="#F8F8E8">?</td><td>?</td><td bgcolor="#F8F8E8">?</td><td>7.82 MB</td><td bgcolor="#F8F8E8">37.57%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Bonk 0.5</td><td>1:16.80</td><td bgcolor="#E0E0D4">1:12.07</td><td>1:00.91</td><td bgcolor="#E0E0D4">0:57.06</td><td>7.83 MB</td><td bgcolor="#E0E0D4">37.62%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-1)</td><td>0:09.19</td><td bgcolor="#F8F8E8">0:03.96</td><td>0:07.85</td><td bgcolor="#F8F8E8">0:03.48</td><td>8.11 MB</td><td bgcolor="#F8F8E8">38.95%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Shorten 3.2a (-p0 -b256, default)</td><td>0:14.29</td><td bgcolor="#E0E0D4">0:09.13</td><td>0:08.73</td><td bgcolor="#E0E0D4">0:04.81</td><td>8.19 MB</td><td bgcolor="#E0E0D4">39.32%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p8 -b2048)</td><td>0:17.66</td><td bgcolor="#F8F8E8">0:12.41</td><td>0:10.01</td><td bgcolor="#F8F8E8">0:06.25</td><td>8.29 MB</td><td bgcolor="#F8F8E8">39.83%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">RIFF WAVE</td><td>0:36.64</td><td bgcolor="#E0E0D4"></td><td>0:36.64</td><td bgcolor="#E0E0D4"></td><td>20.82 MB</td><td bgcolor="#E0E0D4">100.00%</td></tr>
- </table>
- </td></tr></table>
- <br />
-
- <b><a href="comparison_all_ratio.html">Complete summary table</a></b><br />
- <br />
- <a href="comparison__chopin_prelude_24.html">Frederic Chopin Prelude No.24 in d minor </a><br />
- <a href="comparison__dream_theater_600.html">Dream Theater 6:00 </a><br />
- <a href="comparison__eddie_warner_titus.html">Eddie Warner Titus </a><br />
- Maurice Ravel Fanfare from "L'eventail de Jeanne" <br />
- <a href="comparison__gloria_estefan_conga.html">Gloria Estefan Conga </a><br />
- <a href="comparison__hand_in_my_pocket.html">Alanis Morissette Hand In My Pocket </a><br />
- <a href="comparison__l_sub_raga_sivapriya.html">L. Subramaniam Raga Sivapriya </a><br />
- <a href="comparison__laetatus_sum.html">The Benedictine Monks of Santo Domingo de Silos Laetatus Sum </a><br />
- <a href="comparison__mummified_in_barbed_wire.html">Cannibal Corpse Mummified In Barbed Wire </a><br />
- <a href="comparison__prokofiev_pcon3_3.html">Sergei Prokofiev Piano Concerto No.3 (3rd movement) </a><br />
- <a href="comparison__ravel_sq4_4.html">Maurice Ravel String Quartet (4th movement) </a><br />
- <a href="comparison__scarlatti_k42.html">Domenico Scarlatti Sonata K.42 (arr.Yepes for guitar) </a><br />
- <a href="comparison__tool_forty_six_and_2.html">Tool Forty-six &amp; 2 </a><br />
- <a href="comparison__white_room.html">Cream White Room </a><br />
-
- </div> <!-- box_body -->
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/comparison__gloria_estefan_conga.html b/3rdparty/libflac/doc/html/comparison__gloria_estefan_conga.html
deleted file mode 100644
index 97cdea5e767..00000000000
--- a/3rdparty/libflac/doc/html/comparison__gloria_estefan_conga.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - comparison</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- comparison
- </div>
- <div class="box_header"></div>
- <div class="box_body">
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="0" align="right" bgcolor="#EEEED4"><!-- @@@@@@ border="1" ? -->
- <tr align="right">
- <td>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Encode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Decode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Compression</b></font>
- </td>
- </tr>
- <tr align="right">
- <td align="left" bgcolor="#F4F4CC">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Size</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Ratio</b></font>
- </td>
- </tr>
- <tr align="right"><td align="left">La 0.3c</td><td>8:50.13</td><td bgcolor="#F8F8E8">8:38.35</td><td>8:31.04</td><td bgcolor="#F8F8E8">8:22.67</td><td>28.98 MB</td><td bgcolor="#F8F8E8">64.19%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 4 @ 1x)</td><td>19:41.55</td><td bgcolor="#E0E0D4">19:29.00</td><td>19:44.04</td><td bgcolor="#E0E0D4">19:32.94</td><td>29.43 MB</td><td bgcolor="#E0E0D4">65.17%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (insane)</td><td>7:37.65</td><td bgcolor="#F8F8E8">7:26.83</td><td>7:59.14</td><td bgcolor="#F8F8E8">7:50.72</td><td>29.48 MB</td><td bgcolor="#F8F8E8">65.28%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (extra high)</td><td>1:42.80</td><td bgcolor="#E0E0D4">1:29.77</td><td>1:45.42</td><td bgcolor="#E0E0D4">1:34.27</td><td>29.49 MB</td><td bgcolor="#E0E0D4">65.30%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 3 @ 4x)</td><td>3:26.62</td><td bgcolor="#F8F8E8">3:12.39</td><td>3:30.88</td><td bgcolor="#F8F8E8">3:19.49</td><td>29.49 MB</td><td bgcolor="#F8F8E8">65.31%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 2 @ 4x)</td><td>1:55.99</td><td bgcolor="#E0E0D4">1:40.98</td><td>2:00.34</td><td bgcolor="#E0E0D4">1:49.21</td><td>29.54 MB</td><td bgcolor="#E0E0D4">65.42%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 1 @ 4x)</td><td>1:28.64</td><td bgcolor="#F8F8E8">1:13.82</td><td>1:32.59</td><td bgcolor="#F8F8E8">1:20.95</td><td>29.58 MB</td><td bgcolor="#F8F8E8">65.50%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (high)</td><td>0:55.85</td><td bgcolor="#E0E0D4">0:43.16</td><td>0:58.88</td><td bgcolor="#E0E0D4">0:47.76</td><td>29.69 MB</td><td bgcolor="#E0E0D4">65.76%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (extra high max)</td><td>4:14.19</td><td bgcolor="#F8F8E8">4:03.06</td><td>0:25.55</td><td bgcolor="#F8F8E8">0:14.32</td><td>29.74 MB</td><td bgcolor="#F8F8E8">65.87%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high)</td><td>1:31.55</td><td bgcolor="#E0E0D4">1:18.82</td><td>0:25.92</td><td bgcolor="#E0E0D4">0:14.52</td><td>29.77 MB</td><td bgcolor="#E0E0D4">65.92%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 0 @ 4x)</td><td>1:00.95</td><td bgcolor="#F8F8E8">0:46.30</td><td>1:05.54</td><td bgcolor="#F8F8E8">0:54.10</td><td>29.78 MB</td><td bgcolor="#F8F8E8">65.95%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (normal)</td><td>0:49.04</td><td bgcolor="#E0E0D4">0:36.37</td><td>0:51.89</td><td bgcolor="#E0E0D4">0:40.84</td><td>29.83 MB</td><td bgcolor="#E0E0D4">66.05%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (normal)</td><td>0:42.97</td><td bgcolor="#F8F8E8">0:29.86</td><td>0:23.54</td><td bgcolor="#F8F8E8">0:12.28</td><td>29.86 MB</td><td bgcolor="#F8F8E8">66.12%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (extra high -x)</td><td>1:37.60</td><td bgcolor="#E0E0D4">1:22.42</td><td>0:39.74</td><td bgcolor="#E0E0D4">0:27.46</td><td>29.92 MB</td><td bgcolor="#E0E0D4">66.27%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (high)</td><td>0:41.97</td><td bgcolor="#F8F8E8">0:26.81</td><td>0:33.68</td><td bgcolor="#F8F8E8">0:21.45</td><td>30.02 MB</td><td bgcolor="#F8F8E8">66.49%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (fast)</td><td>0:37.95</td><td bgcolor="#E0E0D4">0:25.20</td><td>0:41.85</td><td bgcolor="#E0E0D4">0:30.36</td><td>30.20 MB</td><td bgcolor="#E0E0D4">66.89%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (normal -x)</td><td>0:52.60</td><td bgcolor="#F8F8E8">0:37.67</td><td>0:27.55</td><td bgcolor="#F8F8E8">0:15.58</td><td>30.32 MB</td><td bgcolor="#F8F8E8">67.15%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (turbo)</td><td>0:27.64</td><td bgcolor="#E0E0D4">0:13.98</td><td>0:22.58</td><td bgcolor="#E0E0D4">0:11.22</td><td>30.38 MB</td><td bgcolor="#E0E0D4">67.27%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (normal)</td><td>0:35.40</td><td bgcolor="#F8F8E8">0:20.45</td><td>0:28.55</td><td bgcolor="#F8F8E8">0:15.43</td><td>30.44 MB</td><td bgcolor="#F8F8E8">67.42%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Bonk 0.5</td><td>3:09.65</td><td bgcolor="#E0E0D4">2:57.69</td><td>2:35.01</td><td bgcolor="#E0E0D4">2:23.84</td><td>30.64 MB</td><td bgcolor="#E0E0D4">67.85%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-8)</td><td>1:37.62</td><td bgcolor="#F8F8E8">1:24.84</td><td>0:23.65</td><td bgcolor="#F8F8E8">0:09.16</td><td>30.66 MB</td><td bgcolor="#F8F8E8">67.90%</td></tr>
- <tr align="right" bgcolor="#FFFFFF"><td align="left">FLAC 1.2.1 (-5, default)</td><td>0:36.82</td><td bgcolor="#FFFFFF">0:23.61</td><td>0:20.77</td><td bgcolor="#FFFFFF">0:08.71</td><td>30.72 MB</td><td bgcolor="#FFFFFF">68.03%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (fast)</td><td>0:31.00</td><td bgcolor="#F8F8E8">0:17.17</td><td>0:24.18</td><td bgcolor="#F8F8E8">0:12.37</td><td>30.75 MB</td><td bgcolor="#F8F8E8">68.10%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast -x)</td><td>0:43.65</td><td bgcolor="#E0E0D4">0:29.08</td><td>0:23.78</td><td bgcolor="#E0E0D4">0:12.10</td><td>30.75 MB</td><td bgcolor="#E0E0D4">68.10%</td></tr>
- <tr align="right"><td align="left">Apple Lossless (iTunes 4.5)</td><td>?</td><td bgcolor="#F8F8E8">?</td><td>?</td><td bgcolor="#F8F8E8">?</td><td>30.91 MB</td><td bgcolor="#F8F8E8">68.47%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-3)</td><td>0:28.35</td><td bgcolor="#E0E0D4">0:14.22</td><td>0:22.35</td><td bgcolor="#E0E0D4">0:08.52</td><td>31.49 MB</td><td bgcolor="#E0E0D4">69.74%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p8 -b2048)</td><td>0:45.47</td><td bgcolor="#F8F8E8">0:31.57</td><td>0:27.67</td><td bgcolor="#F8F8E8">0:15.94</td><td>31.76 MB</td><td bgcolor="#F8F8E8">70.34%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-1)</td><td>0:24.04</td><td bgcolor="#E0E0D4">0:10.05</td><td>0:19.46</td><td bgcolor="#E0E0D4">0:08.00</td><td>31.95 MB</td><td bgcolor="#E0E0D4">70.76%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p0 -b256, default)</td><td>0:37.09</td><td bgcolor="#F8F8E8">0:23.16</td><td>0:23.32</td><td bgcolor="#F8F8E8">0:11.50</td><td>32.47 MB</td><td bgcolor="#F8F8E8">71.91%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">RIFF WAVE</td><td>2:44.30</td><td bgcolor="#E0E0D4"></td><td>2:44.30</td><td bgcolor="#E0E0D4"></td><td>45.15 MB</td><td bgcolor="#E0E0D4">100.00%</td></tr>
- </table>
- </td></tr></table>
- <br />
-
- <b><a href="comparison_all_ratio.html">Complete summary table</a></b><br />
- <br />
- <a href="comparison__chopin_prelude_24.html">Frederic Chopin Prelude No.24 in d minor </a><br />
- <a href="comparison__dream_theater_600.html">Dream Theater 6:00 </a><br />
- <a href="comparison__eddie_warner_titus.html">Eddie Warner Titus </a><br />
- <a href="comparison__fanfare_de_l_eventail_de_jeanne.html">Maurice Ravel Fanfare from "L'eventail de Jeanne" </a><br />
- Gloria Estefan Conga <br />
- <a href="comparison__hand_in_my_pocket.html">Alanis Morissette Hand In My Pocket </a><br />
- <a href="comparison__l_sub_raga_sivapriya.html">L. Subramaniam Raga Sivapriya </a><br />
- <a href="comparison__laetatus_sum.html">The Benedictine Monks of Santo Domingo de Silos Laetatus Sum </a><br />
- <a href="comparison__mummified_in_barbed_wire.html">Cannibal Corpse Mummified In Barbed Wire </a><br />
- <a href="comparison__prokofiev_pcon3_3.html">Sergei Prokofiev Piano Concerto No.3 (3rd movement) </a><br />
- <a href="comparison__ravel_sq4_4.html">Maurice Ravel String Quartet (4th movement) </a><br />
- <a href="comparison__scarlatti_k42.html">Domenico Scarlatti Sonata K.42 (arr.Yepes for guitar) </a><br />
- <a href="comparison__tool_forty_six_and_2.html">Tool Forty-six &amp; 2 </a><br />
- <a href="comparison__white_room.html">Cream White Room </a><br />
-
- </div> <!-- box_body -->
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/comparison__hand_in_my_pocket.html b/3rdparty/libflac/doc/html/comparison__hand_in_my_pocket.html
deleted file mode 100644
index 6eddd9cfa8a..00000000000
--- a/3rdparty/libflac/doc/html/comparison__hand_in_my_pocket.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - comparison</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- comparison
- </div>
- <div class="box_header"></div>
- <div class="box_body">
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="0" align="right" bgcolor="#EEEED4"><!-- @@@@@@ border="1" ? -->
- <tr align="right">
- <td>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Encode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Decode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Compression</b></font>
- </td>
- </tr>
- <tr align="right">
- <td align="left" bgcolor="#F4F4CC">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Size</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Ratio</b></font>
- </td>
- </tr>
- <tr align="right"><td align="left">La 0.3c</td><td>7:32.82</td><td bgcolor="#F8F8E8">7:22.32</td><td>7:15.80</td><td bgcolor="#F8F8E8">7:09.32</td><td>20.77 MB</td><td bgcolor="#F8F8E8">53.12%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (insane)</td><td>6:32.30</td><td bgcolor="#E0E0D4">6:21.61</td><td>6:49.12</td><td bgcolor="#E0E0D4">6:42.82</td><td>21.22 MB</td><td bgcolor="#E0E0D4">54.27%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 4 @ 1x)</td><td>16:52.17</td><td bgcolor="#F8F8E8">16:41.48</td><td>16:54.93</td><td bgcolor="#F8F8E8">16:45.25</td><td>21.24 MB</td><td bgcolor="#F8F8E8">54.33%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 3 @ 4x)</td><td>2:55.93</td><td bgcolor="#E0E0D4">2:44.65</td><td>2:59.07</td><td bgcolor="#E0E0D4">2:50.82</td><td>21.25 MB</td><td bgcolor="#E0E0D4">54.36%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 2 @ 4x)</td><td>1:38.57</td><td bgcolor="#F8F8E8">1:26.58</td><td>1:41.85</td><td bgcolor="#F8F8E8">1:32.93</td><td>21.33 MB</td><td bgcolor="#F8F8E8">54.55%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 1 @ 4x)</td><td>1:14.99</td><td bgcolor="#E0E0D4">1:02.51</td><td>1:17.80</td><td bgcolor="#E0E0D4">1:09.10</td><td>21.36 MB</td><td bgcolor="#E0E0D4">54.64%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (extra high)</td><td>1:26.61</td><td bgcolor="#F8F8E8">1:16.07</td><td>1:30.36</td><td bgcolor="#F8F8E8">1:21.44</td><td>21.40 MB</td><td bgcolor="#F8F8E8">54.75%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high max)</td><td>3:26.43</td><td bgcolor="#E0E0D4">3:17.09</td><td>0:23.19</td><td bgcolor="#E0E0D4">0:13.42</td><td>21.49 MB</td><td bgcolor="#E0E0D4">54.96%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (extra high)</td><td>1:15.74</td><td bgcolor="#F8F8E8">1:05.08</td><td>0:23.06</td><td bgcolor="#F8F8E8">0:14.16</td><td>21.52 MB</td><td bgcolor="#F8F8E8">55.04%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (high)</td><td>0:46.91</td><td bgcolor="#E0E0D4">0:36.45</td><td>0:49.98</td><td bgcolor="#E0E0D4">0:41.16</td><td>21.66 MB</td><td bgcolor="#E0E0D4">55.40%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (normal)</td><td>0:35.39</td><td bgcolor="#F8F8E8">0:24.39</td><td>0:20.80</td><td bgcolor="#F8F8E8">0:12.14</td><td>21.73 MB</td><td bgcolor="#F8F8E8">55.57%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (normal)</td><td>0:41.22</td><td bgcolor="#E0E0D4">0:30.24</td><td>0:42.70</td><td bgcolor="#E0E0D4">0:34.05</td><td>21.76 MB</td><td bgcolor="#E0E0D4">55.65%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 0 @ 4x)</td><td>0:53.02</td><td bgcolor="#F8F8E8">0:40.30</td><td>0:55.09</td><td bgcolor="#F8F8E8">0:45.66</td><td>21.89 MB</td><td bgcolor="#F8F8E8">55.98%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (extra high -x)</td><td>1:22.52</td><td bgcolor="#E0E0D4">1:09.69</td><td>0:33.63</td><td bgcolor="#E0E0D4">0:23.76</td><td>22.04 MB</td><td bgcolor="#E0E0D4">56.37%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (fast)</td><td>0:31.61</td><td bgcolor="#F8F8E8">0:20.95</td><td>0:34.93</td><td bgcolor="#F8F8E8">0:26.09</td><td>22.13 MB</td><td bgcolor="#F8F8E8">56.60%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (high)</td><td>0:35.98</td><td bgcolor="#E0E0D4">0:22.81</td><td>0:29.07</td><td bgcolor="#E0E0D4">0:18.33</td><td>22.34 MB</td><td bgcolor="#E0E0D4">57.14%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (normal -x)</td><td>0:45.15</td><td bgcolor="#F8F8E8">0:31.71</td><td>0:22.65</td><td bgcolor="#F8F8E8">0:13.11</td><td>22.96 MB</td><td bgcolor="#F8F8E8">58.74%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (turbo)</td><td>0:23.45</td><td bgcolor="#E0E0D4">0:11.80</td><td>0:18.30</td><td bgcolor="#E0E0D4">0:09.09</td><td>23.06 MB</td><td bgcolor="#E0E0D4">58.97%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-8)</td><td>1:22.33</td><td bgcolor="#F8F8E8">1:11.76</td><td>0:17.64</td><td bgcolor="#F8F8E8">0:08.48</td><td>23.19 MB</td><td bgcolor="#F8F8E8">59.31%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal)</td><td>0:30.38</td><td bgcolor="#E0E0D4">0:17.38</td><td>0:23.35</td><td bgcolor="#E0E0D4">0:14.22</td><td>23.26 MB</td><td bgcolor="#E0E0D4">59.50%</td></tr>
- <tr align="right" bgcolor="#FFFFFF"><td align="left">FLAC 1.2.1 (-5, default)</td><td>0:31.32</td><td bgcolor="#FFFFFF">0:20.10</td><td>0:16.76</td><td bgcolor="#FFFFFF">0:07.22</td><td>23.30 MB</td><td bgcolor="#FFFFFF">59.61%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Bonk 0.5</td><td>2:39.84</td><td bgcolor="#E0E0D4">2:29.57</td><td>2:09.43</td><td bgcolor="#E0E0D4">2:00.05</td><td>23.35 MB</td><td bgcolor="#E0E0D4">59.72%</td></tr>
- <tr align="right"><td align="left">Apple Lossless (iTunes 4.5)</td><td>?</td><td bgcolor="#F8F8E8">?</td><td>?</td><td bgcolor="#F8F8E8">?</td><td>23.64 MB</td><td bgcolor="#F8F8E8">60.47%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast -x)</td><td>0:37.37</td><td bgcolor="#E0E0D4">0:24.82</td><td>0:19.97</td><td bgcolor="#E0E0D4">0:10.54</td><td>23.81 MB</td><td bgcolor="#E0E0D4">60.91%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (fast)</td><td>0:28.08</td><td bgcolor="#F8F8E8">0:14.53</td><td>0:20.82</td><td bgcolor="#F8F8E8">0:11.02</td><td>23.93 MB</td><td bgcolor="#F8F8E8">61.21%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-3)</td><td>0:23.76</td><td bgcolor="#E0E0D4">0:11.00</td><td>0:16.25</td><td bgcolor="#E0E0D4">0:06.82</td><td>24.04 MB</td><td bgcolor="#E0E0D4">61.48%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p8 -b2048)</td><td>0:38.45</td><td bgcolor="#F8F8E8">0:26.71</td><td>0:23.33</td><td bgcolor="#F8F8E8">0:13.67</td><td>24.72 MB</td><td bgcolor="#F8F8E8">63.23%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-1)</td><td>0:20.60</td><td bgcolor="#E0E0D4">0:08.53</td><td>0:16.83</td><td bgcolor="#E0E0D4">0:07.17</td><td>24.78 MB</td><td bgcolor="#E0E0D4">63.40%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p0 -b256, default)</td><td>0:31.14</td><td bgcolor="#F8F8E8">0:19.24</td><td>0:21.19</td><td bgcolor="#F8F8E8">0:11.28</td><td>25.34 MB</td><td bgcolor="#F8F8E8">64.81%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">RIFF WAVE</td><td>1:57.73</td><td bgcolor="#E0E0D4"></td><td>1:57.73</td><td bgcolor="#E0E0D4"></td><td>39.09 MB</td><td bgcolor="#E0E0D4">100.00%</td></tr>
- </table>
- </td></tr></table>
- <br />
-
- <b><a href="comparison_all_ratio.html">Complete summary table</a></b><br />
- <br />
- <a href="comparison__chopin_prelude_24.html">Frederic Chopin Prelude No.24 in d minor </a><br />
- <a href="comparison__dream_theater_600.html">Dream Theater 6:00 </a><br />
- <a href="comparison__eddie_warner_titus.html">Eddie Warner Titus </a><br />
- <a href="comparison__fanfare_de_l_eventail_de_jeanne.html">Maurice Ravel Fanfare from "L'eventail de Jeanne" </a><br />
- <a href="comparison__gloria_estefan_conga.html">Gloria Estefan Conga </a><br />
- Alanis Morissette Hand In My Pocket <br />
- <a href="comparison__l_sub_raga_sivapriya.html">L. Subramaniam Raga Sivapriya </a><br />
- <a href="comparison__laetatus_sum.html">The Benedictine Monks of Santo Domingo de Silos Laetatus Sum </a><br />
- <a href="comparison__mummified_in_barbed_wire.html">Cannibal Corpse Mummified In Barbed Wire </a><br />
- <a href="comparison__prokofiev_pcon3_3.html">Sergei Prokofiev Piano Concerto No.3 (3rd movement) </a><br />
- <a href="comparison__ravel_sq4_4.html">Maurice Ravel String Quartet (4th movement) </a><br />
- <a href="comparison__scarlatti_k42.html">Domenico Scarlatti Sonata K.42 (arr.Yepes for guitar) </a><br />
- <a href="comparison__tool_forty_six_and_2.html">Tool Forty-six &amp; 2 </a><br />
- <a href="comparison__white_room.html">Cream White Room </a><br />
-
- </div> <!-- box_body -->
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/comparison__l_sub_raga_sivapriya.html b/3rdparty/libflac/doc/html/comparison__l_sub_raga_sivapriya.html
deleted file mode 100644
index ce748f1a3e1..00000000000
--- a/3rdparty/libflac/doc/html/comparison__l_sub_raga_sivapriya.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - comparison</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- comparison
- </div>
- <div class="box_header"></div>
- <div class="box_body">
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="0" align="right" bgcolor="#EEEED4"><!-- @@@@@@ border="1" ? -->
- <tr align="right">
- <td>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Encode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Decode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Compression</b></font>
- </td>
- </tr>
- <tr align="right">
- <td align="left" bgcolor="#F4F4CC">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Size</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Ratio</b></font>
- </td>
- </tr>
- <tr align="right"><td align="left">La 0.3c</td><td>40:54.78</td><td bgcolor="#F8F8E8">39:59.04</td><td>39:22.20</td><td bgcolor="#F8F8E8">38:52.36</td><td>87.51 MB</td><td bgcolor="#F8F8E8">40.97%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (insane)</td><td>35:16.99</td><td bgcolor="#E0E0D4">34:30.86</td><td>36:59.63</td><td bgcolor="#E0E0D4">36:29.48</td><td>89.18 MB</td><td bgcolor="#E0E0D4">41.75%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (extra high max)</td><td>17:43.58</td><td bgcolor="#F8F8E8">16:55.92</td><td>2:14.14</td><td bgcolor="#F8F8E8">1:27.39</td><td>90.84 MB</td><td bgcolor="#F8F8E8">42.53%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high)</td><td>6:59.20</td><td bgcolor="#E0E0D4">6:04.85</td><td>2:14.62</td><td bgcolor="#E0E0D4">1:29.29</td><td>90.88 MB</td><td bgcolor="#E0E0D4">42.55%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (extra high)</td><td>7:46.45</td><td bgcolor="#F8F8E8">6:53.71</td><td>8:04.35</td><td bgcolor="#F8F8E8">7:21.44</td><td>90.95 MB</td><td bgcolor="#F8F8E8">42.58%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 4 @ 1x)</td><td>93:03.55</td><td bgcolor="#E0E0D4">92:09.38</td><td>93:14.09</td><td bgcolor="#E0E0D4">92:30.12</td><td>92.05 MB</td><td bgcolor="#E0E0D4">43.10%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 3 @ 4x)</td><td>15:57.69</td><td bgcolor="#F8F8E8">15:02.43</td><td>16:17.45</td><td bgcolor="#F8F8E8">15:35.38</td><td>92.09 MB</td><td bgcolor="#F8F8E8">43.11%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 2 @ 4x)</td><td>8:48.93</td><td bgcolor="#E0E0D4">7:50.69</td><td>9:07.33</td><td bgcolor="#E0E0D4">8:24.99</td><td>92.48 MB</td><td bgcolor="#E0E0D4">43.30%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 1 @ 4x)</td><td>6:37.61</td><td bgcolor="#F8F8E8">5:38.42</td><td>7:01.96</td><td bgcolor="#F8F8E8">6:16.41</td><td>92.76 MB</td><td bgcolor="#F8F8E8">43.43%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (high)</td><td>4:10.52</td><td bgcolor="#E0E0D4">3:16.40</td><td>4:28.74</td><td bgcolor="#E0E0D4">3:43.29</td><td>93.15 MB</td><td bgcolor="#E0E0D4">43.61%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (normal)</td><td>3:36.14</td><td bgcolor="#F8F8E8">2:42.03</td><td>3:55.63</td><td bgcolor="#F8F8E8">3:10.31</td><td>94.32 MB</td><td bgcolor="#F8F8E8">44.16%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (normal)</td><td>3:09.81</td><td bgcolor="#E0E0D4">2:14.13</td><td>1:47.44</td><td bgcolor="#E0E0D4">0:58.08</td><td>94.45 MB</td><td bgcolor="#E0E0D4">44.22%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 0 @ 4x)</td><td>4:29.25</td><td bgcolor="#F8F8E8">3:31.36</td><td>4:51.56</td><td bgcolor="#F8F8E8">4:05.63</td><td>94.74 MB</td><td bgcolor="#F8F8E8">44.36%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (fast)</td><td>2:47.97</td><td bgcolor="#E0E0D4">1:53.55</td><td>3:05.92</td><td bgcolor="#E0E0D4">2:19.04</td><td>95.34 MB</td><td bgcolor="#E0E0D4">44.64%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (extra high -x)</td><td>7:25.78</td><td bgcolor="#F8F8E8">6:23.83</td><td>2:58.68</td><td bgcolor="#F8F8E8">2:08.06</td><td>96.11 MB</td><td bgcolor="#F8F8E8">45.00%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (turbo)</td><td>1:59.33</td><td bgcolor="#E0E0D4">1:02.27</td><td>1:43.56</td><td bgcolor="#E0E0D4">0:51.72</td><td>96.13 MB</td><td bgcolor="#E0E0D4">45.01%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-8)</td><td>7:18.01</td><td bgcolor="#F8F8E8">6:23.65</td><td>1:28.93</td><td bgcolor="#F8F8E8">0:40.00</td><td>96.68 MB</td><td bgcolor="#F8F8E8">45.26%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (high)</td><td>3:10.07</td><td bgcolor="#E0E0D4">2:05.53</td><td>2:30.66</td><td bgcolor="#E0E0D4">1:39.35</td><td>96.80 MB</td><td bgcolor="#E0E0D4">45.32%</td></tr>
- <tr align="right" bgcolor="#FFFFFF"><td align="left">FLAC 1.2.1 (-5, default)</td><td>2:43.85</td><td bgcolor="#FFFFFF">1:47.04</td><td>1:26.33</td><td bgcolor="#FFFFFF">0:39.08</td><td>97.00 MB</td><td bgcolor="#FFFFFF">45.41%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal -x)</td><td>3:48.91</td><td bgcolor="#E0E0D4">2:43.72</td><td>1:56.40</td><td bgcolor="#E0E0D4">1:09.68</td><td>97.37 MB</td><td bgcolor="#E0E0D4">45.59%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-3)</td><td>1:58.63</td><td bgcolor="#F8F8E8">1:00.67</td><td>1:28.48</td><td bgcolor="#F8F8E8">0:39.77</td><td>97.92 MB</td><td bgcolor="#F8F8E8">45.85%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal)</td><td>2:38.39</td><td bgcolor="#E0E0D4">1:32.77</td><td>2:03.21</td><td bgcolor="#E0E0D4">1:13.22</td><td>98.03 MB</td><td bgcolor="#E0E0D4">45.90%</td></tr>
- <tr align="right"><td align="left">Apple Lossless (iTunes 4.5)</td><td>?</td><td bgcolor="#F8F8E8">?</td><td>?</td><td bgcolor="#F8F8E8">?</td><td>98.57 MB</td><td bgcolor="#F8F8E8">46.15%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast -x)</td><td>3:11.51</td><td bgcolor="#E0E0D4">2:05.47</td><td>1:46.71</td><td bgcolor="#E0E0D4">0:54.20</td><td>98.79 MB</td><td bgcolor="#E0E0D4">46.25%</td></tr>
- <tr align="right"><td align="left">Bonk 0.5</td><td>13:47.94</td><td bgcolor="#F8F8E8">12:57.25</td><td>11:07.42</td><td bgcolor="#F8F8E8">10:21.52</td><td>98.94 MB</td><td bgcolor="#F8F8E8">46.33%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast)</td><td>2:21.40</td><td bgcolor="#E0E0D4">1:16.78</td><td>1:43.54</td><td bgcolor="#E0E0D4">0:54.40</td><td>100.00 MB</td><td bgcolor="#E0E0D4">46.82%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p8 -b2048)</td><td>3:14.03</td><td bgcolor="#F8F8E8">2:16.63</td><td>1:58.49</td><td bgcolor="#F8F8E8">1:08.47</td><td>102.60 MB</td><td bgcolor="#F8F8E8">48.04%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Shorten 3.2a (-p0 -b256, default)</td><td>2:41.54</td><td bgcolor="#E0E0D4">1:43.74</td><td>1:48.33</td><td bgcolor="#E0E0D4">0:56.56</td><td>102.84 MB</td><td bgcolor="#E0E0D4">48.15%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-1)</td><td>1:44.16</td><td bgcolor="#F8F8E8">0:43.35</td><td>1:30.39</td><td bgcolor="#F8F8E8">0:36.69</td><td>103.43 MB</td><td bgcolor="#F8F8E8">48.43%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">RIFF WAVE</td><td>8:16.11</td><td bgcolor="#E0E0D4"></td><td>8:16.11</td><td bgcolor="#E0E0D4"></td><td>213.56 MB</td><td bgcolor="#E0E0D4">100.00%</td></tr>
- </table>
- </td></tr></table>
- <br />
-
- <b><a href="comparison_all_ratio.html">Complete summary table</a></b><br />
- <br />
- <a href="comparison__chopin_prelude_24.html">Frederic Chopin Prelude No.24 in d minor </a><br />
- <a href="comparison__dream_theater_600.html">Dream Theater 6:00 </a><br />
- <a href="comparison__eddie_warner_titus.html">Eddie Warner Titus </a><br />
- <a href="comparison__fanfare_de_l_eventail_de_jeanne.html">Maurice Ravel Fanfare from "L'eventail de Jeanne" </a><br />
- <a href="comparison__gloria_estefan_conga.html">Gloria Estefan Conga </a><br />
- <a href="comparison__hand_in_my_pocket.html">Alanis Morissette Hand In My Pocket </a><br />
- L. Subramaniam Raga Sivapriya <br />
- <a href="comparison__laetatus_sum.html">The Benedictine Monks of Santo Domingo de Silos Laetatus Sum </a><br />
- <a href="comparison__mummified_in_barbed_wire.html">Cannibal Corpse Mummified In Barbed Wire </a><br />
- <a href="comparison__prokofiev_pcon3_3.html">Sergei Prokofiev Piano Concerto No.3 (3rd movement) </a><br />
- <a href="comparison__ravel_sq4_4.html">Maurice Ravel String Quartet (4th movement) </a><br />
- <a href="comparison__scarlatti_k42.html">Domenico Scarlatti Sonata K.42 (arr.Yepes for guitar) </a><br />
- <a href="comparison__tool_forty_six_and_2.html">Tool Forty-six &amp; 2 </a><br />
- <a href="comparison__white_room.html">Cream White Room </a><br />
-
- </div> <!-- box_body -->
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/comparison__laetatus_sum.html b/3rdparty/libflac/doc/html/comparison__laetatus_sum.html
deleted file mode 100644
index 92ba263a051..00000000000
--- a/3rdparty/libflac/doc/html/comparison__laetatus_sum.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - comparison</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- comparison
- </div>
- <div class="box_header"></div>
- <div class="box_body">
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="0" align="right" bgcolor="#EEEED4"><!-- @@@@@@ border="1" ? -->
- <tr align="right">
- <td>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Encode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Decode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Compression</b></font>
- </td>
- </tr>
- <tr align="right">
- <td align="left" bgcolor="#F4F4CC">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Size</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Ratio</b></font>
- </td>
- </tr>
- <tr align="right"><td align="left">La 0.3c</td><td>4:39.12</td><td bgcolor="#F8F8E8">4:33.04</td><td>4:29.32</td><td bgcolor="#F8F8E8">4:25.48</td><td>11.94 MB</td><td bgcolor="#F8F8E8">49.22%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (insane)</td><td>4:04.68</td><td bgcolor="#E0E0D4">3:58.31</td><td>4:15.31</td><td bgcolor="#E0E0D4">4:11.74</td><td>12.05 MB</td><td bgcolor="#E0E0D4">49.68%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (extra high)</td><td>0:54.04</td><td bgcolor="#F8F8E8">0:47.41</td><td>0:55.76</td><td bgcolor="#F8F8E8">0:50.81</td><td>12.09 MB</td><td bgcolor="#F8F8E8">49.81%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high)</td><td>0:46.42</td><td bgcolor="#E0E0D4">0:39.87</td><td>0:14.10</td><td bgcolor="#E0E0D4">0:08.73</td><td>12.15 MB</td><td bgcolor="#E0E0D4">50.09%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (extra high max)</td><td>1:55.69</td><td bgcolor="#F8F8E8">1:49.71</td><td>0:13.79</td><td bgcolor="#F8F8E8">0:08.66</td><td>12.15 MB</td><td bgcolor="#F8F8E8">50.09%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 4 @ 1x)</td><td>10:35.09</td><td bgcolor="#E0E0D4">10:28.56</td><td>10:36.39</td><td bgcolor="#E0E0D4">10:31.07</td><td>12.17 MB</td><td bgcolor="#E0E0D4">50.15%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 3 @ 4x)</td><td>1:49.81</td><td bgcolor="#F8F8E8">1:42.94</td><td>1:51.85</td><td bgcolor="#F8F8E8">1:46.89</td><td>12.19 MB</td><td bgcolor="#F8F8E8">50.23%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (high)</td><td>0:28.99</td><td bgcolor="#E0E0D4">0:22.51</td><td>0:30.72</td><td bgcolor="#E0E0D4">0:25.71</td><td>12.23 MB</td><td bgcolor="#E0E0D4">50.42%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (normal)</td><td>0:21.77</td><td bgcolor="#F8F8E8">0:15.12</td><td>0:11.85</td><td bgcolor="#F8F8E8">0:06.66</td><td>12.25 MB</td><td bgcolor="#F8F8E8">50.47%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 2 @ 4x)</td><td>1:00.93</td><td bgcolor="#E0E0D4">0:53.70</td><td>1:05.58</td><td bgcolor="#E0E0D4">0:59.06</td><td>12.27 MB</td><td bgcolor="#E0E0D4">50.58%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (normal)</td><td>0:25.04</td><td bgcolor="#F8F8E8">0:18.61</td><td>0:26.38</td><td bgcolor="#F8F8E8">0:21.57</td><td>12.42 MB</td><td bgcolor="#F8F8E8">51.18%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 1 @ 4x)</td><td>0:45.86</td><td bgcolor="#E0E0D4">0:38.63</td><td>0:48.38</td><td bgcolor="#E0E0D4">0:43.21</td><td>12.43 MB</td><td bgcolor="#E0E0D4">51.21%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (turbo)</td><td>0:13.73</td><td bgcolor="#F8F8E8">0:07.03</td><td>0:11.47</td><td bgcolor="#F8F8E8">0:06.40</td><td>12.54 MB</td><td bgcolor="#F8F8E8">51.67%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 0 @ 4x)</td><td>0:31.36</td><td bgcolor="#E0E0D4">0:23.99</td><td>0:33.70</td><td bgcolor="#E0E0D4">0:28.36</td><td>12.63 MB</td><td bgcolor="#E0E0D4">52.07%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (extra high -x)</td><td>0:51.14</td><td bgcolor="#F8F8E8">0:43.72</td><td>0:20.37</td><td bgcolor="#F8F8E8">0:14.61</td><td>12.66 MB</td><td bgcolor="#F8F8E8">52.17%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Bonk 0.5</td><td>1:35.75</td><td bgcolor="#E0E0D4">1:29.85</td><td>1:17.29</td><td bgcolor="#E0E0D4">1:12.02</td><td>12.71 MB</td><td bgcolor="#E0E0D4">52.37%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-8)</td><td>0:50.66</td><td bgcolor="#F8F8E8">0:44.24</td><td>0:11.60</td><td bgcolor="#F8F8E8">0:06.04</td><td>12.71 MB</td><td bgcolor="#F8F8E8">52.38%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (fast)</td><td>0:19.48</td><td bgcolor="#E0E0D4">0:13.10</td><td>0:22.33</td><td bgcolor="#E0E0D4">0:16.41</td><td>12.76 MB</td><td bgcolor="#E0E0D4">52.60%</td></tr>
- <tr align="right" bgcolor="#FFFFFF"><td align="left">FLAC 1.2.1 (-5, default)</td><td>0:19.15</td><td bgcolor="#FFFFFF">0:12.46</td><td>0:09.23</td><td bgcolor="#FFFFFF">0:04.13</td><td>12.82 MB</td><td bgcolor="#FFFFFF">52.85%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (high)</td><td>0:21.59</td><td bgcolor="#E0E0D4">0:14.30</td><td>0:17.34</td><td bgcolor="#E0E0D4">0:11.64</td><td>12.87 MB</td><td bgcolor="#E0E0D4">53.02%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-3)</td><td>0:13.62</td><td bgcolor="#F8F8E8">0:07.16</td><td>0:10.11</td><td bgcolor="#F8F8E8">0:04.73</td><td>12.90 MB</td><td bgcolor="#F8F8E8">53.17%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal -x)</td><td>0:26.76</td><td bgcolor="#E0E0D4">0:19.19</td><td>0:13.35</td><td bgcolor="#E0E0D4">0:08.15</td><td>12.92 MB</td><td bgcolor="#E0E0D4">53.25%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (normal)</td><td>0:18.28</td><td bgcolor="#F8F8E8">0:10.59</td><td>0:14.27</td><td bgcolor="#F8F8E8">0:09.17</td><td>12.95 MB</td><td bgcolor="#F8F8E8">53.38%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Apple Lossless (iTunes 4.5)</td><td>?</td><td bgcolor="#E0E0D4">?</td><td>?</td><td bgcolor="#E0E0D4">?</td><td>13.04 MB</td><td bgcolor="#E0E0D4">53.77%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (fast -x)</td><td>0:22.18</td><td bgcolor="#F8F8E8">0:14.44</td><td>0:11.60</td><td bgcolor="#F8F8E8">0:06.52</td><td>13.05 MB</td><td bgcolor="#F8F8E8">53.80%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast)</td><td>0:16.89</td><td bgcolor="#E0E0D4">0:09.02</td><td>0:12.62</td><td bgcolor="#E0E0D4">0:06.96</td><td>13.31 MB</td><td bgcolor="#E0E0D4">54.85%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p0 -b256, default)</td><td>0:18.24</td><td bgcolor="#F8F8E8">0:11.63</td><td>0:11.42</td><td bgcolor="#F8F8E8">0:06.15</td><td>13.32 MB</td><td bgcolor="#F8F8E8">54.89%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-1)</td><td>0:11.56</td><td bgcolor="#E0E0D4">0:04.94</td><td>0:09.74</td><td bgcolor="#E0E0D4">0:04.18</td><td>13.32 MB</td><td bgcolor="#E0E0D4">54.92%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p8 -b2048)</td><td>0:22.49</td><td bgcolor="#F8F8E8">0:15.87</td><td>0:13.71</td><td bgcolor="#F8F8E8">0:08.32</td><td>13.42 MB</td><td bgcolor="#F8F8E8">55.31%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">RIFF WAVE</td><td>1:07.70</td><td bgcolor="#E0E0D4"></td><td>1:07.70</td><td bgcolor="#E0E0D4"></td><td>24.26 MB</td><td bgcolor="#E0E0D4">100.00%</td></tr>
- </table>
- </td></tr></table>
- <br />
-
- <b><a href="comparison_all_ratio.html">Complete summary table</a></b><br />
- <br />
- <a href="comparison__chopin_prelude_24.html">Frederic Chopin Prelude No.24 in d minor </a><br />
- <a href="comparison__dream_theater_600.html">Dream Theater 6:00 </a><br />
- <a href="comparison__eddie_warner_titus.html">Eddie Warner Titus </a><br />
- <a href="comparison__fanfare_de_l_eventail_de_jeanne.html">Maurice Ravel Fanfare from "L'eventail de Jeanne" </a><br />
- <a href="comparison__gloria_estefan_conga.html">Gloria Estefan Conga </a><br />
- <a href="comparison__hand_in_my_pocket.html">Alanis Morissette Hand In My Pocket </a><br />
- <a href="comparison__l_sub_raga_sivapriya.html">L. Subramaniam Raga Sivapriya </a><br />
- The Benedictine Monks of Santo Domingo de Silos Laetatus Sum <br />
- <a href="comparison__mummified_in_barbed_wire.html">Cannibal Corpse Mummified In Barbed Wire </a><br />
- <a href="comparison__prokofiev_pcon3_3.html">Sergei Prokofiev Piano Concerto No.3 (3rd movement) </a><br />
- <a href="comparison__ravel_sq4_4.html">Maurice Ravel String Quartet (4th movement) </a><br />
- <a href="comparison__scarlatti_k42.html">Domenico Scarlatti Sonata K.42 (arr.Yepes for guitar) </a><br />
- <a href="comparison__tool_forty_six_and_2.html">Tool Forty-six &amp; 2 </a><br />
- <a href="comparison__white_room.html">Cream White Room </a><br />
-
- </div> <!-- box_body -->
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/comparison__mummified_in_barbed_wire.html b/3rdparty/libflac/doc/html/comparison__mummified_in_barbed_wire.html
deleted file mode 100644
index 67a4e83d840..00000000000
--- a/3rdparty/libflac/doc/html/comparison__mummified_in_barbed_wire.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - comparison</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- comparison
- </div>
- <div class="box_header"></div>
- <div class="box_body">
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="0" align="right" bgcolor="#EEEED4"><!-- @@@@@@ border="1" ? -->
- <tr align="right">
- <td>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Encode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Decode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Compression</b></font>
- </td>
- </tr>
- <tr align="right">
- <td align="left" bgcolor="#F4F4CC">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Size</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Ratio</b></font>
- </td>
- </tr>
- <tr align="right"><td align="left">La 0.3c</td><td>6:34.38</td><td bgcolor="#F8F8E8">6:24.87</td><td>6:21.26</td><td bgcolor="#F8F8E8">6:14.53</td><td>22.69 MB</td><td bgcolor="#F8F8E8">67.98%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (insane)</td><td>5:40.58</td><td bgcolor="#E0E0D4">5:30.73</td><td>5:55.61</td><td bgcolor="#E0E0D4">5:49.30</td><td>22.83 MB</td><td bgcolor="#E0E0D4">68.39%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (extra high)</td><td>1:16.32</td><td bgcolor="#F8F8E8">1:05.83</td><td>1:18.27</td><td bgcolor="#F8F8E8">1:09.92</td><td>22.85 MB</td><td bgcolor="#F8F8E8">68.47%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 4 @ 1x)</td><td>14:35.39</td><td bgcolor="#E0E0D4">14:25.98</td><td>14:37.38</td><td bgcolor="#E0E0D4">14:28.89</td><td>22.95 MB</td><td bgcolor="#E0E0D4">68.77%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 3 @ 4x)</td><td>2:32.72</td><td bgcolor="#F8F8E8">2:22.24</td><td>2:35.63</td><td bgcolor="#F8F8E8">2:27.74</td><td>23.01 MB</td><td bgcolor="#F8F8E8">68.94%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high max)</td><td>2:45.87</td><td bgcolor="#E0E0D4">2:36.91</td><td>0:19.63</td><td bgcolor="#E0E0D4">0:11.17</td><td>23.04 MB</td><td bgcolor="#E0E0D4">69.04%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (extra high)</td><td>1:03.10</td><td bgcolor="#F8F8E8">0:53.22</td><td>0:22.92</td><td bgcolor="#F8F8E8">0:11.78</td><td>23.06 MB</td><td bgcolor="#F8F8E8">69.08%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (high)</td><td>0:41.33</td><td bgcolor="#E0E0D4">0:31.84</td><td>0:43.87</td><td bgcolor="#E0E0D4">0:35.66</td><td>23.18 MB</td><td bgcolor="#E0E0D4">69.45%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 2 @ 4x)</td><td>1:26.09</td><td bgcolor="#F8F8E8">1:14.65</td><td>1:29.33</td><td bgcolor="#F8F8E8">1:20.87</td><td>23.21 MB</td><td bgcolor="#F8F8E8">69.54%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (normal)</td><td>0:35.68</td><td bgcolor="#E0E0D4">0:26.31</td><td>0:39.15</td><td bgcolor="#E0E0D4">0:30.77</td><td>23.24 MB</td><td bgcolor="#E0E0D4">69.63%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (normal)</td><td>0:31.43</td><td bgcolor="#F8F8E8">0:21.18</td><td>0:18.74</td><td bgcolor="#F8F8E8">0:09.92</td><td>23.24 MB</td><td bgcolor="#F8F8E8">69.64%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 1 @ 4x)</td><td>1:04.82</td><td bgcolor="#E0E0D4">0:53.53</td><td>1:08.49</td><td bgcolor="#E0E0D4">1:00.11</td><td>23.31 MB</td><td bgcolor="#E0E0D4">69.84%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (extra high -x)</td><td>1:11.61</td><td bgcolor="#F8F8E8">1:00.90</td><td>0:28.81</td><td bgcolor="#F8F8E8">0:19.66</td><td>23.38 MB</td><td bgcolor="#F8F8E8">70.06%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (turbo)</td><td>0:21.43</td><td bgcolor="#E0E0D4">0:10.21</td><td>0:17.25</td><td bgcolor="#E0E0D4">0:07.97</td><td>23.49 MB</td><td bgcolor="#E0E0D4">70.37%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-8)</td><td>1:12.78</td><td bgcolor="#F8F8E8">1:03.11</td><td>0:16.26</td><td bgcolor="#F8F8E8">0:07.23</td><td>23.72 MB</td><td bgcolor="#F8F8E8">71.06%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (high)</td><td>0:31.88</td><td bgcolor="#E0E0D4">0:20.25</td><td>0:26.68</td><td bgcolor="#E0E0D4">0:16.69</td><td>23.83 MB</td><td bgcolor="#E0E0D4">71.41%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (normal -x)</td><td>0:38.92</td><td bgcolor="#F8F8E8">0:27.33</td><td>0:20.46</td><td bgcolor="#F8F8E8">0:11.83</td><td>23.91 MB</td><td bgcolor="#F8F8E8">71.63%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 0 @ 4x)</td><td>0:44.75</td><td bgcolor="#E0E0D4">0:33.75</td><td>0:48.79</td><td bgcolor="#E0E0D4">0:40.11</td><td>23.95 MB</td><td bgcolor="#E0E0D4">71.76%</td></tr>
- <tr align="right" bgcolor="#FFFFFF"><td align="left">FLAC 1.2.1 (-5, default)</td><td>0:28.41</td><td bgcolor="#FFFFFF">0:17.73</td><td>0:16.00</td><td bgcolor="#FFFFFF">0:06.39</td><td>24.01 MB</td><td bgcolor="#FFFFFF">71.94%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (fast)</td><td>0:28.67</td><td bgcolor="#E0E0D4">0:18.67</td><td>0:32.52</td><td bgcolor="#E0E0D4">0:23.98</td><td>24.14 MB</td><td bgcolor="#E0E0D4">72.34%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (normal)</td><td>0:26.91</td><td bgcolor="#F8F8E8">0:15.01</td><td>0:22.34</td><td bgcolor="#F8F8E8">0:13.35</td><td>24.17 MB</td><td bgcolor="#F8F8E8">72.42%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Bonk 0.5</td><td>2:22.13</td><td bgcolor="#E0E0D4">2:13.04</td><td>1:58.24</td><td bgcolor="#E0E0D4">1:49.11</td><td>24.36 MB</td><td bgcolor="#E0E0D4">72.97%</td></tr>
- <tr align="right"><td align="left">Apple Lossless (iTunes 4.5)</td><td>?</td><td bgcolor="#F8F8E8">?</td><td>?</td><td bgcolor="#F8F8E8">?</td><td>24.37 MB</td><td bgcolor="#F8F8E8">73.01%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast -x)</td><td>0:32.79</td><td bgcolor="#E0E0D4">0:21.37</td><td>0:19.24</td><td bgcolor="#E0E0D4">0:10.16</td><td>24.86 MB</td><td bgcolor="#E0E0D4">74.47%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (fast)</td><td>0:25.34</td><td bgcolor="#F8F8E8">0:12.54</td><td>0:18.76</td><td bgcolor="#F8F8E8">0:09.30</td><td>24.86 MB</td><td bgcolor="#F8F8E8">74.48%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-3)</td><td>0:21.48</td><td bgcolor="#E0E0D4">0:10.46</td><td>0:15.50</td><td bgcolor="#E0E0D4">0:06.68</td><td>25.05 MB</td><td bgcolor="#E0E0D4">75.04%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p8 -b2048)</td><td>0:34.78</td><td bgcolor="#F8F8E8">0:23.74</td><td>0:22.60</td><td bgcolor="#F8F8E8">0:13.55</td><td>25.12 MB</td><td bgcolor="#F8F8E8">75.26%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-1)</td><td>0:18.75</td><td bgcolor="#E0E0D4">0:07.50</td><td>0:16.25</td><td bgcolor="#E0E0D4">0:07.26</td><td>26.07 MB</td><td bgcolor="#E0E0D4">78.12%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p0 -b256, default)</td><td>0:28.67</td><td bgcolor="#F8F8E8">0:17.59</td><td>0:19.19</td><td bgcolor="#F8F8E8">0:09.97</td><td>26.61 MB</td><td bgcolor="#F8F8E8">79.72%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">RIFF WAVE</td><td>2:08.63</td><td bgcolor="#E0E0D4"></td><td>2:08.63</td><td bgcolor="#E0E0D4"></td><td>33.37 MB</td><td bgcolor="#E0E0D4">100.00%</td></tr>
- </table>
- </td></tr></table>
- <br />
-
- <b><a href="comparison_all_ratio.html">Complete summary table</a></b><br />
- <br />
- <a href="comparison__chopin_prelude_24.html">Frederic Chopin Prelude No.24 in d minor </a><br />
- <a href="comparison__dream_theater_600.html">Dream Theater 6:00 </a><br />
- <a href="comparison__eddie_warner_titus.html">Eddie Warner Titus </a><br />
- <a href="comparison__fanfare_de_l_eventail_de_jeanne.html">Maurice Ravel Fanfare from "L'eventail de Jeanne" </a><br />
- <a href="comparison__gloria_estefan_conga.html">Gloria Estefan Conga </a><br />
- <a href="comparison__hand_in_my_pocket.html">Alanis Morissette Hand In My Pocket </a><br />
- <a href="comparison__l_sub_raga_sivapriya.html">L. Subramaniam Raga Sivapriya </a><br />
- <a href="comparison__laetatus_sum.html">The Benedictine Monks of Santo Domingo de Silos Laetatus Sum </a><br />
- Cannibal Corpse Mummified In Barbed Wire <br />
- <a href="comparison__prokofiev_pcon3_3.html">Sergei Prokofiev Piano Concerto No.3 (3rd movement) </a><br />
- <a href="comparison__ravel_sq4_4.html">Maurice Ravel String Quartet (4th movement) </a><br />
- <a href="comparison__scarlatti_k42.html">Domenico Scarlatti Sonata K.42 (arr.Yepes for guitar) </a><br />
- <a href="comparison__tool_forty_six_and_2.html">Tool Forty-six &amp; 2 </a><br />
- <a href="comparison__white_room.html">Cream White Room </a><br />
-
- </div> <!-- box_body -->
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/comparison__prokofiev_pcon3_3.html b/3rdparty/libflac/doc/html/comparison__prokofiev_pcon3_3.html
deleted file mode 100644
index f1394065bf6..00000000000
--- a/3rdparty/libflac/doc/html/comparison__prokofiev_pcon3_3.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - comparison</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- comparison
- </div>
- <div class="box_header"></div>
- <div class="box_body">
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="0" align="right" bgcolor="#EEEED4"><!-- @@@@@@ border="1" ? -->
- <tr align="right">
- <td>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Encode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Decode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Compression</b></font>
- </td>
- </tr>
- <tr align="right">
- <td align="left" bgcolor="#F4F4CC">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Size</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Ratio</b></font>
- </td>
- </tr>
- <tr align="right"><td align="left">La 0.3c</td><td>19:03.47</td><td bgcolor="#F8F8E8">18:38.16</td><td>18:20.20</td><td bgcolor="#F8F8E8">18:07.77</td><td>32.65 MB</td><td bgcolor="#F8F8E8">32.43%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high max)</td><td>8:25.73</td><td bgcolor="#E0E0D4">8:04.19</td><td>0:59.47</td><td bgcolor="#E0E0D4">0:40.02</td><td>33.30 MB</td><td bgcolor="#E0E0D4">33.06%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (extra high)</td><td>3:11.59</td><td bgcolor="#F8F8E8">2:47.24</td><td>1:03.54</td><td bgcolor="#F8F8E8">0:44.21</td><td>33.32 MB</td><td bgcolor="#F8F8E8">33.09%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (insane)</td><td>16:09.43</td><td bgcolor="#E0E0D4">15:46.04</td><td>16:53.92</td><td bgcolor="#E0E0D4">16:41.25</td><td>33.34 MB</td><td bgcolor="#E0E0D4">33.11%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 4 @ 1x)</td><td>43:22.30</td><td bgcolor="#F8F8E8">42:57.33</td><td>43:26.49</td><td bgcolor="#F8F8E8">43:07.01</td><td>33.58 MB</td><td bgcolor="#F8F8E8">33.35%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (extra high)</td><td>3:33.72</td><td bgcolor="#E0E0D4">3:09.65</td><td>3:44.81</td><td bgcolor="#E0E0D4">3:26.46</td><td>33.60 MB</td><td bgcolor="#E0E0D4">33.37%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 3 @ 4x)</td><td>7:21.40</td><td bgcolor="#F8F8E8">6:59.21</td><td>7:29.73</td><td bgcolor="#F8F8E8">7:12.12</td><td>33.66 MB</td><td bgcolor="#F8F8E8">33.43%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 2 @ 4x)</td><td>4:02.67</td><td bgcolor="#E0E0D4">3:36.66</td><td>4:10.75</td><td bgcolor="#E0E0D4">3:52.14</td><td>33.73 MB</td><td bgcolor="#E0E0D4">33.50%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 1 @ 4x)</td><td>3:00.86</td><td bgcolor="#F8F8E8">2:34.68</td><td>3:07.84</td><td bgcolor="#F8F8E8">2:49.25</td><td>33.83 MB</td><td bgcolor="#F8F8E8">33.60%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 0 @ 4x)</td><td>1:59.44</td><td bgcolor="#E0E0D4">1:34.59</td><td>2:08.44</td><td bgcolor="#E0E0D4">1:49.05</td><td>34.14 MB</td><td bgcolor="#E0E0D4">33.90%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (high)</td><td>1:54.15</td><td bgcolor="#F8F8E8">1:29.89</td><td>2:06.52</td><td bgcolor="#F8F8E8">1:47.78</td><td>34.16 MB</td><td bgcolor="#F8F8E8">33.92%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (normal)</td><td>1:28.48</td><td bgcolor="#E0E0D4">1:02.76</td><td>0:50.74</td><td bgcolor="#E0E0D4">0:30.06</td><td>34.41 MB</td><td bgcolor="#E0E0D4">34.17%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (normal)</td><td>1:38.22</td><td bgcolor="#F8F8E8">1:13.73</td><td>1:48.43</td><td bgcolor="#F8F8E8">1:29.31</td><td>34.58 MB</td><td bgcolor="#F8F8E8">34.34%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (extra high -x)</td><td>3:30.15</td><td bgcolor="#E0E0D4">3:00.66</td><td>1:24.08</td><td bgcolor="#E0E0D4">1:03.84</td><td>34.82 MB</td><td bgcolor="#E0E0D4">34.58%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (turbo)</td><td>0:53.57</td><td bgcolor="#F8F8E8">0:28.13</td><td>0:48.05</td><td bgcolor="#F8F8E8">0:27.95</td><td>34.98 MB</td><td bgcolor="#F8F8E8">34.74%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (high)</td><td>1:29.50</td><td bgcolor="#E0E0D4">0:58.58</td><td>1:09.84</td><td bgcolor="#E0E0D4">0:48.83</td><td>35.24 MB</td><td bgcolor="#E0E0D4">34.99%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (normal -x)</td><td>1:47.07</td><td bgcolor="#F8F8E8">1:17.26</td><td>0:56.04</td><td bgcolor="#F8F8E8">0:36.18</td><td>35.34 MB</td><td bgcolor="#F8F8E8">35.09%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (fast)</td><td>1:16.08</td><td bgcolor="#E0E0D4">0:51.68</td><td>1:25.82</td><td bgcolor="#E0E0D4">1:06.75</td><td>35.53 MB</td><td bgcolor="#E0E0D4">35.28%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (normal)</td><td>1:13.13</td><td bgcolor="#F8F8E8">0:43.99</td><td>0:55.60</td><td bgcolor="#F8F8E8">0:33.27</td><td>35.69 MB</td><td bgcolor="#F8F8E8">35.44%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-8)</td><td>3:13.35</td><td bgcolor="#E0E0D4">2:49.18</td><td>0:39.62</td><td bgcolor="#E0E0D4">0:20.17</td><td>35.99 MB</td><td bgcolor="#E0E0D4">35.74%</td></tr>
- <tr align="right" bgcolor="#FFFFFF"><td align="left">FLAC 1.2.1 (-5, default)</td><td>1:14.37</td><td bgcolor="#FFFFFF">0:49.35</td><td>0:38.86</td><td bgcolor="#FFFFFF">0:18.39</td><td>36.28 MB</td><td bgcolor="#FFFFFF">36.03%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast -x)</td><td>1:27.94</td><td bgcolor="#E0E0D4">0:57.86</td><td>0:46.53</td><td bgcolor="#E0E0D4">0:25.76</td><td>36.37 MB</td><td bgcolor="#E0E0D4">36.12%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-3)</td><td>0:53.07</td><td bgcolor="#F8F8E8">0:26.95</td><td>0:41.38</td><td bgcolor="#F8F8E8">0:19.16</td><td>36.65 MB</td><td bgcolor="#F8F8E8">36.40%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast)</td><td>1:07.12</td><td bgcolor="#E0E0D4">0:36.21</td><td>0:48.29</td><td bgcolor="#E0E0D4">0:28.25</td><td>37.18 MB</td><td bgcolor="#E0E0D4">36.92%</td></tr>
- <tr align="right"><td align="left">Apple Lossless (iTunes 4.5)</td><td>?</td><td bgcolor="#F8F8E8">?</td><td>?</td><td bgcolor="#F8F8E8">?</td><td>37.32 MB</td><td bgcolor="#F8F8E8">37.06%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-1)</td><td>0:46.22</td><td bgcolor="#E0E0D4">0:19.53</td><td>0:38.54</td><td bgcolor="#E0E0D4">0:17.86</td><td>39.23 MB</td><td bgcolor="#E0E0D4">38.96%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p0 -b256, default)</td><td>1:13.08</td><td bgcolor="#F8F8E8">0:46.86</td><td>0:49.72</td><td bgcolor="#F8F8E8">0:28.85</td><td>39.49 MB</td><td bgcolor="#F8F8E8">39.21%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Bonk 0.5</td><td>6:18.90</td><td bgcolor="#E0E0D4">5:55.40</td><td>5:07.27</td><td bgcolor="#E0E0D4">4:46.84</td><td>40.31 MB</td><td bgcolor="#E0E0D4">40.03%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p8 -b2048)</td><td>1:27.83</td><td bgcolor="#F8F8E8">1:01.22</td><td>0:57.70</td><td bgcolor="#F8F8E8">0:34.36</td><td>45.34 MB</td><td bgcolor="#F8F8E8">45.02%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">RIFF WAVE</td><td>3:05.10</td><td bgcolor="#E0E0D4"></td><td>3:05.10</td><td bgcolor="#E0E0D4"></td><td>100.68 MB</td><td bgcolor="#E0E0D4">100.00%</td></tr>
- </table>
- </td></tr></table>
- <br />
-
- <b><a href="comparison_all_ratio.html">Complete summary table</a></b><br />
- <br />
- <a href="comparison__chopin_prelude_24.html">Frederic Chopin Prelude No.24 in d minor </a><br />
- <a href="comparison__dream_theater_600.html">Dream Theater 6:00 </a><br />
- <a href="comparison__eddie_warner_titus.html">Eddie Warner Titus </a><br />
- <a href="comparison__fanfare_de_l_eventail_de_jeanne.html">Maurice Ravel Fanfare from "L'eventail de Jeanne" </a><br />
- <a href="comparison__gloria_estefan_conga.html">Gloria Estefan Conga </a><br />
- <a href="comparison__hand_in_my_pocket.html">Alanis Morissette Hand In My Pocket </a><br />
- <a href="comparison__l_sub_raga_sivapriya.html">L. Subramaniam Raga Sivapriya </a><br />
- <a href="comparison__laetatus_sum.html">The Benedictine Monks of Santo Domingo de Silos Laetatus Sum </a><br />
- <a href="comparison__mummified_in_barbed_wire.html">Cannibal Corpse Mummified In Barbed Wire </a><br />
- Sergei Prokofiev Piano Concerto No.3 (3rd movement) <br />
- <a href="comparison__ravel_sq4_4.html">Maurice Ravel String Quartet (4th movement) </a><br />
- <a href="comparison__scarlatti_k42.html">Domenico Scarlatti Sonata K.42 (arr.Yepes for guitar) </a><br />
- <a href="comparison__tool_forty_six_and_2.html">Tool Forty-six &amp; 2 </a><br />
- <a href="comparison__white_room.html">Cream White Room </a><br />
-
- </div> <!-- box_body -->
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/comparison__ravel_sq4_4.html b/3rdparty/libflac/doc/html/comparison__ravel_sq4_4.html
deleted file mode 100644
index a0fce9e3041..00000000000
--- a/3rdparty/libflac/doc/html/comparison__ravel_sq4_4.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - comparison</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- comparison
- </div>
- <div class="box_header"></div>
- <div class="box_body">
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="0" align="right" bgcolor="#EEEED4"><!-- @@@@@@ border="1" ? -->
- <tr align="right">
- <td>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Encode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Decode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Compression</b></font>
- </td>
- </tr>
- <tr align="right">
- <td align="left" bgcolor="#F4F4CC">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Size</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Ratio</b></font>
- </td>
- </tr>
- <tr align="right"><td align="left">La 0.3c</td><td>10:40.88</td><td bgcolor="#F8F8E8">10:27.22</td><td>10:17.07</td><td bgcolor="#F8F8E8">10:09.64</td><td>19.94 MB</td><td bgcolor="#F8F8E8">35.50%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (insane)</td><td>9:08.88</td><td bgcolor="#E0E0D4">8:56.22</td><td>9:37.00</td><td bgcolor="#E0E0D4">9:29.35</td><td>20.17 MB</td><td bgcolor="#E0E0D4">35.90%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (extra high)</td><td>2:00.53</td><td bgcolor="#F8F8E8">1:47.08</td><td>2:05.06</td><td bgcolor="#F8F8E8">1:54.64</td><td>20.29 MB</td><td bgcolor="#F8F8E8">36.11%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high max)</td><td>4:39.26</td><td bgcolor="#E0E0D4">4:27.17</td><td>0:33.47</td><td bgcolor="#E0E0D4">0:22.42</td><td>20.33 MB</td><td bgcolor="#E0E0D4">36.19%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (extra high)</td><td>1:48.73</td><td bgcolor="#F8F8E8">1:34.92</td><td>0:35.50</td><td bgcolor="#F8F8E8">0:24.19</td><td>20.35 MB</td><td bgcolor="#F8F8E8">36.22%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 4 @ 1x)</td><td>24:26.74</td><td bgcolor="#E0E0D4">24:12.40</td><td>24:28.80</td><td bgcolor="#E0E0D4">24:17.98</td><td>20.62 MB</td><td bgcolor="#E0E0D4">36.71%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (high)</td><td>1:04.75</td><td bgcolor="#F8F8E8">0:50.79</td><td>1:09.21</td><td bgcolor="#F8F8E8">0:58.49</td><td>20.68 MB</td><td bgcolor="#F8F8E8">36.81%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 3 @ 4x)</td><td>4:10.49</td><td bgcolor="#E0E0D4">3:56.43</td><td>4:13.88</td><td bgcolor="#E0E0D4">4:03.90</td><td>20.72 MB</td><td bgcolor="#E0E0D4">36.88%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 2 @ 4x)</td><td>2:17.17</td><td bgcolor="#F8F8E8">2:02.14</td><td>2:21.02</td><td bgcolor="#F8F8E8">2:10.78</td><td>20.83 MB</td><td bgcolor="#F8F8E8">37.07%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 1 @ 4x)</td><td>1:42.60</td><td bgcolor="#E0E0D4">1:27.34</td><td>1:47.21</td><td bgcolor="#E0E0D4">1:36.54</td><td>20.93 MB</td><td bgcolor="#E0E0D4">37.25%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (normal)</td><td>0:48.66</td><td bgcolor="#F8F8E8">0:34.63</td><td>0:26.32</td><td bgcolor="#F8F8E8">0:15.20</td><td>20.95 MB</td><td bgcolor="#F8F8E8">37.28%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (normal)</td><td>0:55.63</td><td bgcolor="#E0E0D4">0:41.68</td><td>1:00.36</td><td bgcolor="#E0E0D4">0:49.66</td><td>21.05 MB</td><td bgcolor="#E0E0D4">37.47%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 0 @ 4x)</td><td>1:08.87</td><td bgcolor="#F8F8E8">0:53.42</td><td>1:13.72</td><td bgcolor="#F8F8E8">1:02.97</td><td>21.23 MB</td><td bgcolor="#F8F8E8">37.79%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (extra high -x)</td><td>1:56.00</td><td bgcolor="#E0E0D4">1:41.60</td><td>0:44.82</td><td bgcolor="#E0E0D4">0:33.19</td><td>21.42 MB</td><td bgcolor="#E0E0D4">38.13%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (turbo)</td><td>0:30.01</td><td bgcolor="#F8F8E8">0:15.73</td><td>0:24.32</td><td bgcolor="#F8F8E8">0:12.89</td><td>21.49 MB</td><td bgcolor="#F8F8E8">38.25%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (fast)</td><td>0:43.14</td><td bgcolor="#E0E0D4">0:29.29</td><td>0:48.44</td><td bgcolor="#E0E0D4">0:37.39</td><td>21.52 MB</td><td bgcolor="#E0E0D4">38.30%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (high)</td><td>0:49.04</td><td bgcolor="#F8F8E8">0:32.84</td><td>0:37.71</td><td bgcolor="#F8F8E8">0:25.31</td><td>21.59 MB</td><td bgcolor="#F8F8E8">38.42%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal -x)</td><td>0:59.89</td><td bgcolor="#E0E0D4">0:43.47</td><td>0:29.43</td><td bgcolor="#E0E0D4">0:18.58</td><td>21.72 MB</td><td bgcolor="#E0E0D4">38.66%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (normal)</td><td>0:40.76</td><td bgcolor="#F8F8E8">0:24.68</td><td>0:30.44</td><td bgcolor="#F8F8E8">0:19.06</td><td>21.75 MB</td><td bgcolor="#F8F8E8">38.70%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-8)</td><td>1:51.95</td><td bgcolor="#E0E0D4">1:38.33</td><td>0:21.08</td><td bgcolor="#E0E0D4">0:10.14</td><td>21.78 MB</td><td bgcolor="#E0E0D4">38.77%</td></tr>
- <tr align="right" bgcolor="#FFFFFF"><td align="left">FLAC 1.2.1 (-5, default)</td><td>0:41.47</td><td bgcolor="#FFFFFF">0:27.54</td><td>0:21.21</td><td bgcolor="#FFFFFF">0:09.96</td><td>21.90 MB</td><td bgcolor="#FFFFFF">38.97%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast -x)</td><td>0:49.79</td><td bgcolor="#E0E0D4">0:33.44</td><td>0:26.25</td><td bgcolor="#E0E0D4">0:14.43</td><td>22.02 MB</td><td bgcolor="#E0E0D4">39.20%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (fast)</td><td>0:36.56</td><td bgcolor="#F8F8E8">0:20.28</td><td>0:25.55</td><td bgcolor="#F8F8E8">0:14.08</td><td>22.23 MB</td><td bgcolor="#F8F8E8">39.57%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-3)</td><td>0:29.86</td><td bgcolor="#E0E0D4">0:15.76</td><td>0:20.28</td><td bgcolor="#E0E0D4">0:09.10</td><td>22.42 MB</td><td bgcolor="#E0E0D4">39.91%</td></tr>
- <tr align="right"><td align="left">Apple Lossless (iTunes 4.5)</td><td>?</td><td bgcolor="#F8F8E8">?</td><td>?</td><td bgcolor="#F8F8E8">?</td><td>22.52 MB</td><td bgcolor="#F8F8E8">40.08%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Bonk 0.5</td><td>3:32.50</td><td bgcolor="#E0E0D4">3:19.49</td><td>2:50.96</td><td bgcolor="#E0E0D4">2:39.42</td><td>23.18 MB</td><td bgcolor="#E0E0D4">41.25%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-1)</td><td>0:25.23</td><td bgcolor="#F8F8E8">0:10.81</td><td>0:21.38</td><td bgcolor="#F8F8E8">0:09.87</td><td>23.33 MB</td><td bgcolor="#F8F8E8">41.52%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Shorten 3.2a (-p0 -b256, default)</td><td>0:41.16</td><td bgcolor="#E0E0D4">0:26.71</td><td>0:26.70</td><td bgcolor="#E0E0D4">0:15.27</td><td>23.71 MB</td><td bgcolor="#E0E0D4">42.21%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p8 -b2048)</td><td>0:49.31</td><td bgcolor="#F8F8E8">0:34.87</td><td>0:30.80</td><td bgcolor="#F8F8E8">0:17.96</td><td>25.59 MB</td><td bgcolor="#F8F8E8">45.54%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">RIFF WAVE</td><td>1:53.06</td><td bgcolor="#E0E0D4"></td><td>1:53.06</td><td bgcolor="#E0E0D4"></td><td>56.18 MB</td><td bgcolor="#E0E0D4">100.00%</td></tr>
- </table>
- </td></tr></table>
- <br />
-
- <b><a href="comparison_all_ratio.html">Complete summary table</a></b><br />
- <br />
- <a href="comparison__chopin_prelude_24.html">Frederic Chopin Prelude No.24 in d minor </a><br />
- <a href="comparison__dream_theater_600.html">Dream Theater 6:00 </a><br />
- <a href="comparison__eddie_warner_titus.html">Eddie Warner Titus </a><br />
- <a href="comparison__fanfare_de_l_eventail_de_jeanne.html">Maurice Ravel Fanfare from "L'eventail de Jeanne" </a><br />
- <a href="comparison__gloria_estefan_conga.html">Gloria Estefan Conga </a><br />
- <a href="comparison__hand_in_my_pocket.html">Alanis Morissette Hand In My Pocket </a><br />
- <a href="comparison__l_sub_raga_sivapriya.html">L. Subramaniam Raga Sivapriya </a><br />
- <a href="comparison__laetatus_sum.html">The Benedictine Monks of Santo Domingo de Silos Laetatus Sum </a><br />
- <a href="comparison__mummified_in_barbed_wire.html">Cannibal Corpse Mummified In Barbed Wire </a><br />
- <a href="comparison__prokofiev_pcon3_3.html">Sergei Prokofiev Piano Concerto No.3 (3rd movement) </a><br />
- Maurice Ravel String Quartet (4th movement) <br />
- <a href="comparison__scarlatti_k42.html">Domenico Scarlatti Sonata K.42 (arr.Yepes for guitar) </a><br />
- <a href="comparison__tool_forty_six_and_2.html">Tool Forty-six &amp; 2 </a><br />
- <a href="comparison__white_room.html">Cream White Room </a><br />
-
- </div> <!-- box_body -->
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/comparison__scarlatti_k42.html b/3rdparty/libflac/doc/html/comparison__scarlatti_k42.html
deleted file mode 100644
index e3f3db266bc..00000000000
--- a/3rdparty/libflac/doc/html/comparison__scarlatti_k42.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - comparison</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- comparison
- </div>
- <div class="box_header"></div>
- <div class="box_body">
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="0" align="right" bgcolor="#EEEED4"><!-- @@@@@@ border="1" ? -->
- <tr align="right">
- <td>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Encode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Decode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Compression</b></font>
- </td>
- </tr>
- <tr align="right">
- <td align="left" bgcolor="#F4F4CC">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Size</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Ratio</b></font>
- </td>
- </tr>
- <tr align="right"><td align="left">La 0.3c</td><td>3:07.28</td><td bgcolor="#F8F8E8">3:03.36</td><td>3:00.59</td><td bgcolor="#F8F8E8">2:58.14</td><td>6.62 MB</td><td bgcolor="#F8F8E8">40.36%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (insane)</td><td>2:43.57</td><td bgcolor="#E0E0D4">2:39.84</td><td>2:50.50</td><td bgcolor="#E0E0D4">2:48.43</td><td>6.67 MB</td><td bgcolor="#E0E0D4">40.68%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (extra high)</td><td>0:35.82</td><td bgcolor="#F8F8E8">0:31.80</td><td>0:36.66</td><td bgcolor="#F8F8E8">0:33.83</td><td>6.74 MB</td><td bgcolor="#F8F8E8">41.09%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high max)</td><td>1:23.81</td><td bgcolor="#E0E0D4">1:20.14</td><td>0:09.05</td><td bgcolor="#E0E0D4">0:06.06</td><td>6.78 MB</td><td bgcolor="#E0E0D4">41.37%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (extra high)</td><td>0:32.02</td><td bgcolor="#F8F8E8">0:27.95</td><td>0:08.95</td><td bgcolor="#F8F8E8">0:05.90</td><td>6.80 MB</td><td bgcolor="#F8F8E8">41.48%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 4 @ 1x)</td><td>7:08.27</td><td bgcolor="#E0E0D4">7:04.28</td><td>7:09.32</td><td bgcolor="#E0E0D4">7:06.00</td><td>6.87 MB</td><td bgcolor="#E0E0D4">41.90%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 3 @ 4x)</td><td>1:13.31</td><td bgcolor="#F8F8E8">1:09.33</td><td>1:15.16</td><td bgcolor="#F8F8E8">1:12.05</td><td>6.88 MB</td><td bgcolor="#F8F8E8">41.96%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (high)</td><td>0:19.09</td><td bgcolor="#E0E0D4">0:15.10</td><td>0:20.20</td><td bgcolor="#E0E0D4">0:17.45</td><td>6.91 MB</td><td bgcolor="#E0E0D4">42.13%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 2 @ 4x)</td><td>0:40.29</td><td bgcolor="#F8F8E8">0:36.01</td><td>0:41.99</td><td bgcolor="#F8F8E8">0:38.60</td><td>6.91 MB</td><td bgcolor="#F8F8E8">42.16%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (normal)</td><td>0:14.62</td><td bgcolor="#E0E0D4">0:10.55</td><td>0:07.62</td><td bgcolor="#E0E0D4">0:04.67</td><td>6.97 MB</td><td bgcolor="#E0E0D4">42.54%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 1 @ 4x)</td><td>0:30.05</td><td bgcolor="#F8F8E8">0:25.84</td><td>0:33.76</td><td bgcolor="#F8F8E8">0:29.48</td><td>6.98 MB</td><td bgcolor="#F8F8E8">42.55%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (normal)</td><td>0:16.38</td><td bgcolor="#E0E0D4">0:12.40</td><td>0:17.45</td><td bgcolor="#E0E0D4">0:14.32</td><td>6.99 MB</td><td bgcolor="#E0E0D4">42.61%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 0 @ 4x)</td><td>0:20.35</td><td bgcolor="#F8F8E8">0:16.00</td><td>0:22.49</td><td bgcolor="#F8F8E8">0:19.08</td><td>7.07 MB</td><td bgcolor="#F8F8E8">43.10%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (turbo)</td><td>0:08.80</td><td bgcolor="#E0E0D4">0:04.68</td><td>0:06.87</td><td bgcolor="#E0E0D4">0:03.77</td><td>7.11 MB</td><td bgcolor="#E0E0D4">43.34%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (extra high -x)</td><td>0:34.07</td><td bgcolor="#F8F8E8">0:29.66</td><td>0:13.06</td><td bgcolor="#F8F8E8">0:09.60</td><td>7.13 MB</td><td bgcolor="#F8F8E8">43.47%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (fast)</td><td>0:12.73</td><td bgcolor="#E0E0D4">0:08.68</td><td>0:13.84</td><td bgcolor="#E0E0D4">0:10.86</td><td>7.16 MB</td><td bgcolor="#E0E0D4">43.69%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-8)</td><td>0:33.10</td><td bgcolor="#F8F8E8">0:29.01</td><td>0:07.01</td><td bgcolor="#F8F8E8">0:03.36</td><td>7.23 MB</td><td bgcolor="#F8F8E8">44.10%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (high)</td><td>0:13.92</td><td bgcolor="#E0E0D4">0:09.61</td><td>0:11.17</td><td bgcolor="#E0E0D4">0:07.23</td><td>7.24 MB</td><td bgcolor="#E0E0D4">44.16%</td></tr>
- <tr align="right" bgcolor="#FFFFFF"><td align="left">FLAC 1.2.1 (-5, default)</td><td>0:12.17</td><td bgcolor="#FFFFFF">0:08.11</td><td>0:05.97</td><td bgcolor="#FFFFFF">0:02.92</td><td>7.26 MB</td><td bgcolor="#FFFFFF">44.28%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal -x)</td><td>0:17.34</td><td bgcolor="#E0E0D4">0:12.76</td><td>0:08.72</td><td bgcolor="#E0E0D4">0:05.34</td><td>7.27 MB</td><td bgcolor="#E0E0D4">44.34%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-3)</td><td>0:08.63</td><td bgcolor="#F8F8E8">0:04.56</td><td>0:06.14</td><td bgcolor="#F8F8E8">0:02.58</td><td>7.29 MB</td><td bgcolor="#F8F8E8">44.46%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal)</td><td>0:11.55</td><td bgcolor="#E0E0D4">0:07.09</td><td>0:08.77</td><td bgcolor="#E0E0D4">0:05.46</td><td>7.32 MB</td><td bgcolor="#E0E0D4">44.67%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (fast -x)</td><td>0:14.16</td><td bgcolor="#F8F8E8">0:09.77</td><td>0:07.36</td><td bgcolor="#F8F8E8">0:04.33</td><td>7.35 MB</td><td bgcolor="#F8F8E8">44.81%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Apple Lossless (iTunes 4.5)</td><td>?</td><td bgcolor="#E0E0D4">?</td><td>?</td><td bgcolor="#E0E0D4">?</td><td>7.44 MB</td><td bgcolor="#E0E0D4">45.41%</td></tr>
- <tr align="right"><td align="left">Bonk 0.5</td><td>1:02.99</td><td bgcolor="#F8F8E8">0:59.10</td><td>0:50.90</td><td bgcolor="#F8F8E8">0:47.48</td><td>7.46 MB</td><td bgcolor="#F8F8E8">45.48%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Shorten 3.2a (-p0 -b256, default)</td><td>0:11.69</td><td bgcolor="#E0E0D4">0:07.62</td><td>0:07.49</td><td bgcolor="#E0E0D4">0:04.44</td><td>7.48 MB</td><td bgcolor="#E0E0D4">45.64%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-1)</td><td>0:07.23</td><td bgcolor="#F8F8E8">0:03.14</td><td>0:05.87</td><td bgcolor="#F8F8E8">0:02.58</td><td>7.51 MB</td><td bgcolor="#F8F8E8">45.82%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast)</td><td>0:10.41</td><td bgcolor="#E0E0D4">0:05.97</td><td>0:07.98</td><td bgcolor="#E0E0D4">0:04.34</td><td>7.73 MB</td><td bgcolor="#E0E0D4">47.14%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p8 -b2048)</td><td>0:14.34</td><td bgcolor="#F8F8E8">0:10.17</td><td>0:08.61</td><td bgcolor="#F8F8E8">0:05.22</td><td>8.20 MB</td><td bgcolor="#F8F8E8">50.04%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">RIFF WAVE</td><td>0:37.51</td><td bgcolor="#E0E0D4"></td><td>0:37.51</td><td bgcolor="#E0E0D4"></td><td>16.39 MB</td><td bgcolor="#E0E0D4">100.00%</td></tr>
- </table>
- </td></tr></table>
- <br />
-
- <b><a href="comparison_all_ratio.html">Complete summary table</a></b><br />
- <br />
- <a href="comparison__chopin_prelude_24.html">Frederic Chopin Prelude No.24 in d minor </a><br />
- <a href="comparison__dream_theater_600.html">Dream Theater 6:00 </a><br />
- <a href="comparison__eddie_warner_titus.html">Eddie Warner Titus </a><br />
- <a href="comparison__fanfare_de_l_eventail_de_jeanne.html">Maurice Ravel Fanfare from "L'eventail de Jeanne" </a><br />
- <a href="comparison__gloria_estefan_conga.html">Gloria Estefan Conga </a><br />
- <a href="comparison__hand_in_my_pocket.html">Alanis Morissette Hand In My Pocket </a><br />
- <a href="comparison__l_sub_raga_sivapriya.html">L. Subramaniam Raga Sivapriya </a><br />
- <a href="comparison__laetatus_sum.html">The Benedictine Monks of Santo Domingo de Silos Laetatus Sum </a><br />
- <a href="comparison__mummified_in_barbed_wire.html">Cannibal Corpse Mummified In Barbed Wire </a><br />
- <a href="comparison__prokofiev_pcon3_3.html">Sergei Prokofiev Piano Concerto No.3 (3rd movement) </a><br />
- <a href="comparison__ravel_sq4_4.html">Maurice Ravel String Quartet (4th movement) </a><br />
- Domenico Scarlatti Sonata K.42 (arr.Yepes for guitar) <br />
- <a href="comparison__tool_forty_six_and_2.html">Tool Forty-six &amp; 2 </a><br />
- <a href="comparison__white_room.html">Cream White Room </a><br />
-
- </div> <!-- box_body -->
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/comparison__tool_forty_six_and_2.html b/3rdparty/libflac/doc/html/comparison__tool_forty_six_and_2.html
deleted file mode 100644
index 3446e590ba1..00000000000
--- a/3rdparty/libflac/doc/html/comparison__tool_forty_six_and_2.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - comparison</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- comparison
- </div>
- <div class="box_header"></div>
- <div class="box_body">
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="0" align="right" bgcolor="#EEEED4"><!-- @@@@@@ border="1" ? -->
- <tr align="right">
- <td>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Encode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Decode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Compression</b></font>
- </td>
- </tr>
- <tr align="right">
- <td align="left" bgcolor="#F4F4CC">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Size</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Ratio</b></font>
- </td>
- </tr>
- <tr align="right"><td align="left">La 0.3c</td><td>12:28.29</td><td bgcolor="#F8F8E8">12:12.93</td><td>12:02.28</td><td bgcolor="#F8F8E8">11:51.39</td><td>37.42 MB</td><td bgcolor="#F8F8E8">58.24%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 4 @ 1x)</td><td>27:57.06</td><td bgcolor="#E0E0D4">27:40.84</td><td>28:01.29</td><td bgcolor="#E0E0D4">27:46.16</td><td>37.96 MB</td><td bgcolor="#E0E0D4">59.07%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 3 @ 4x)</td><td>4:50.12</td><td bgcolor="#F8F8E8">4:32.53</td><td>4:57.45</td><td bgcolor="#F8F8E8">4:43.22</td><td>37.99 MB</td><td bgcolor="#F8F8E8">59.13%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (insane)</td><td>10:46.55</td><td bgcolor="#E0E0D4">10:32.58</td><td>11:19.54</td><td bgcolor="#E0E0D4">11:08.05</td><td>38.00 MB</td><td bgcolor="#E0E0D4">59.14%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (extra high)</td><td>2:22.00</td><td bgcolor="#F8F8E8">2:05.73</td><td>2:29.80</td><td bgcolor="#F8F8E8">2:14.75</td><td>38.03 MB</td><td bgcolor="#F8F8E8">59.19%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 2 @ 4x)</td><td>2:40.99</td><td bgcolor="#E0E0D4">2:22.30</td><td>2:49.18</td><td bgcolor="#E0E0D4">2:34.00</td><td>38.08 MB</td><td bgcolor="#E0E0D4">59.27%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 1 @ 4x)</td><td>2:01.34</td><td bgcolor="#F8F8E8">1:42.41</td><td>2:11.18</td><td bgcolor="#F8F8E8">1:55.19</td><td>38.15 MB</td><td bgcolor="#F8F8E8">59.37%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (high)</td><td>1:17.69</td><td bgcolor="#E0E0D4">1:00.22</td><td>1:22.99</td><td bgcolor="#E0E0D4">1:07.59</td><td>38.21 MB</td><td bgcolor="#E0E0D4">59.47%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (extra high max)</td><td>5:45.29</td><td bgcolor="#F8F8E8">5:29.36</td><td>0:36.16</td><td bgcolor="#F8F8E8">0:20.95</td><td>38.24 MB</td><td bgcolor="#F8F8E8">59.51%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high)</td><td>2:03.19</td><td bgcolor="#E0E0D4">1:45.49</td><td>0:36.25</td><td bgcolor="#E0E0D4">0:20.67</td><td>38.28 MB</td><td bgcolor="#E0E0D4">59.58%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (normal)</td><td>1:06.86</td><td bgcolor="#F8F8E8">0:49.48</td><td>1:13.25</td><td bgcolor="#F8F8E8">0:58.00</td><td>38.38 MB</td><td bgcolor="#F8F8E8">59.73%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (normal)</td><td>0:58.62</td><td bgcolor="#E0E0D4">0:40.00</td><td>0:33.28</td><td bgcolor="#E0E0D4">0:17.75</td><td>38.45 MB</td><td bgcolor="#E0E0D4">59.84%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 0 @ 4x)</td><td>1:23.43</td><td bgcolor="#F8F8E8">1:04.39</td><td>1:31.90</td><td bgcolor="#F8F8E8">1:15.63</td><td>38.68 MB</td><td bgcolor="#F8F8E8">60.20%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (extra high -x)</td><td>2:15.26</td><td bgcolor="#E0E0D4">1:55.85</td><td>0:55.54</td><td bgcolor="#E0E0D4">0:38.18</td><td>38.80 MB</td><td bgcolor="#E0E0D4">60.38%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (high)</td><td>0:58.09</td><td bgcolor="#F8F8E8">0:38.42</td><td>0:46.36</td><td bgcolor="#F8F8E8">0:29.43</td><td>39.01 MB</td><td bgcolor="#F8F8E8">60.72%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (fast)</td><td>0:52.40</td><td bgcolor="#E0E0D4">0:34.80</td><td>0:57.82</td><td bgcolor="#E0E0D4">0:42.74</td><td>39.09 MB</td><td bgcolor="#E0E0D4">60.84%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (normal -x)</td><td>1:10.80</td><td bgcolor="#F8F8E8">0:51.66</td><td>0:38.47</td><td bgcolor="#F8F8E8">0:22.10</td><td>39.50 MB</td><td bgcolor="#F8F8E8">61.48%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (turbo)</td><td>0:37.40</td><td bgcolor="#E0E0D4">0:19.46</td><td>0:33.33</td><td bgcolor="#E0E0D4">0:15.85</td><td>39.88 MB</td><td bgcolor="#E0E0D4">62.07%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (normal)</td><td>0:48.40</td><td bgcolor="#F8F8E8">0:28.64</td><td>0:38.31</td><td bgcolor="#F8F8E8">0:22.68</td><td>39.92 MB</td><td bgcolor="#F8F8E8">62.12%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-8)</td><td>2:16.29</td><td bgcolor="#E0E0D4">1:58.23</td><td>0:31.69</td><td bgcolor="#E0E0D4">0:14.56</td><td>40.04 MB</td><td bgcolor="#E0E0D4">62.32%</td></tr>
- <tr align="right" bgcolor="#FFFFFF"><td align="left">FLAC 1.2.1 (-5, default)</td><td>0:50.89</td><td bgcolor="#FFFFFF">0:33.03</td><td>0:28.20</td><td bgcolor="#FFFFFF">0:12.60</td><td>40.19 MB</td><td bgcolor="#FFFFFF">62.55%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast)</td><td>0:43.92</td><td bgcolor="#E0E0D4">0:23.94</td><td>0:35.66</td><td bgcolor="#E0E0D4">0:17.22</td><td>40.47 MB</td><td bgcolor="#E0E0D4">62.98%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (fast -x)</td><td>1:00.67</td><td bgcolor="#F8F8E8">0:40.17</td><td>0:35.00</td><td bgcolor="#F8F8E8">0:17.86</td><td>40.47 MB</td><td bgcolor="#F8F8E8">62.98%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Apple Lossless (iTunes 4.5)</td><td>?</td><td bgcolor="#E0E0D4">?</td><td>?</td><td bgcolor="#E0E0D4">?</td><td>40.75 MB</td><td bgcolor="#E0E0D4">63.42%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-3)</td><td>0:37.48</td><td bgcolor="#F8F8E8">0:19.57</td><td>0:30.66</td><td bgcolor="#F8F8E8">0:11.18</td><td>40.84 MB</td><td bgcolor="#F8F8E8">63.56%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Bonk 0.5</td><td>4:25.62</td><td bgcolor="#E0E0D4">4:08.65</td><td>3:37.56</td><td bgcolor="#E0E0D4">3:21.59</td><td>40.98 MB</td><td bgcolor="#E0E0D4">63.78%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-1)</td><td>0:32.21</td><td bgcolor="#F8F8E8">0:13.87</td><td>0:27.89</td><td bgcolor="#F8F8E8">0:11.42</td><td>42.66 MB</td><td bgcolor="#F8F8E8">66.39%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Shorten 3.2a (-p8 -b2048)</td><td>1:02.29</td><td bgcolor="#E0E0D4">0:43.53</td><td>0:41.48</td><td bgcolor="#E0E0D4">0:23.51</td><td>43.06 MB</td><td bgcolor="#E0E0D4">67.01%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p0 -b256, default)</td><td>0:51.80</td><td bgcolor="#F8F8E8">0:33.15</td><td>0:34.31</td><td bgcolor="#F8F8E8">0:17.64</td><td>43.18 MB</td><td bgcolor="#F8F8E8">67.21%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">RIFF WAVE</td><td>3:32.16</td><td bgcolor="#E0E0D4"></td><td>3:32.16</td><td bgcolor="#E0E0D4"></td><td>64.25 MB</td><td bgcolor="#E0E0D4">100.00%</td></tr>
- </table>
- </td></tr></table>
- <br />
-
- <b><a href="comparison_all_ratio.html">Complete summary table</a></b><br />
- <br />
- <a href="comparison__chopin_prelude_24.html">Frederic Chopin Prelude No.24 in d minor </a><br />
- <a href="comparison__dream_theater_600.html">Dream Theater 6:00 </a><br />
- <a href="comparison__eddie_warner_titus.html">Eddie Warner Titus </a><br />
- <a href="comparison__fanfare_de_l_eventail_de_jeanne.html">Maurice Ravel Fanfare from "L'eventail de Jeanne" </a><br />
- <a href="comparison__gloria_estefan_conga.html">Gloria Estefan Conga </a><br />
- <a href="comparison__hand_in_my_pocket.html">Alanis Morissette Hand In My Pocket </a><br />
- <a href="comparison__l_sub_raga_sivapriya.html">L. Subramaniam Raga Sivapriya </a><br />
- <a href="comparison__laetatus_sum.html">The Benedictine Monks of Santo Domingo de Silos Laetatus Sum </a><br />
- <a href="comparison__mummified_in_barbed_wire.html">Cannibal Corpse Mummified In Barbed Wire </a><br />
- <a href="comparison__prokofiev_pcon3_3.html">Sergei Prokofiev Piano Concerto No.3 (3rd movement) </a><br />
- <a href="comparison__ravel_sq4_4.html">Maurice Ravel String Quartet (4th movement) </a><br />
- <a href="comparison__scarlatti_k42.html">Domenico Scarlatti Sonata K.42 (arr.Yepes for guitar) </a><br />
- Tool Forty-six &amp; 2 <br />
- <a href="comparison__white_room.html">Cream White Room </a><br />
-
- </div> <!-- box_body -->
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/comparison__white_room.html b/3rdparty/libflac/doc/html/comparison__white_room.html
deleted file mode 100644
index 2d6609c1b76..00000000000
--- a/3rdparty/libflac/doc/html/comparison__white_room.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - comparison</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- comparison
- </div>
- <div class="box_header"></div>
- <div class="box_body">
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="0" align="right" bgcolor="#EEEED4"><!-- @@@@@@ border="1" ? -->
- <tr align="right">
- <td>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Encode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Decode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Compression</b></font>
- </td>
- </tr>
- <tr align="right">
- <td align="left" bgcolor="#F4F4CC">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Total</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">CPU</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Size</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Ratio</b></font>
- </td>
- </tr>
- <tr align="right"><td align="left">La 0.3c</td><td>10:19.14</td><td bgcolor="#F8F8E8">10:06.40</td><td>9:58.76</td><td bgcolor="#F8F8E8">9:49.40</td><td>33.44 MB</td><td bgcolor="#F8F8E8">63.09%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 3 @ 4x)</td><td>3:59.68</td><td bgcolor="#E0E0D4">3:44.76</td><td>4:06.85</td><td bgcolor="#E0E0D4">3:53.63</td><td>33.90 MB</td><td bgcolor="#E0E0D4">63.95%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 2 @ 4x)</td><td>2:13.66</td><td bgcolor="#F8F8E8">1:57.83</td><td>2:19.88</td><td bgcolor="#F8F8E8">2:07.44</td><td>33.91 MB</td><td bgcolor="#F8F8E8">63.97%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 4 @ 1x)</td><td>22:58.38</td><td bgcolor="#E0E0D4">22:44.99</td><td>23:03.49</td><td bgcolor="#E0E0D4">22:49.45</td><td>33.93 MB</td><td bgcolor="#E0E0D4">63.99%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (insane)</td><td>8:52.21</td><td bgcolor="#F8F8E8">8:40.35</td><td>9:19.41</td><td bgcolor="#F8F8E8">9:09.82</td><td>33.95 MB</td><td bgcolor="#F8F8E8">64.04%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 1 @ 4x)</td><td>1:41.14</td><td bgcolor="#E0E0D4">1:24.94</td><td>1:48.08</td><td bgcolor="#E0E0D4">1:35.12</td><td>33.96 MB</td><td bgcolor="#E0E0D4">64.05%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (extra high)</td><td>1:58.77</td><td bgcolor="#F8F8E8">1:44.07</td><td>2:03.72</td><td bgcolor="#F8F8E8">1:50.96</td><td>34.00 MB</td><td bgcolor="#F8F8E8">64.13%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high max)</td><td>4:38.01</td><td bgcolor="#E0E0D4">4:24.47</td><td>0:31.77</td><td bgcolor="#E0E0D4">0:18.56</td><td>34.08 MB</td><td bgcolor="#E0E0D4">64.28%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (extra high)</td><td>1:42.15</td><td bgcolor="#F8F8E8">1:27.36</td><td>0:31.01</td><td bgcolor="#F8F8E8">0:17.98</td><td>34.11 MB</td><td bgcolor="#F8F8E8">64.34%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (high)</td><td>1:04.94</td><td bgcolor="#E0E0D4">0:50.22</td><td>1:09.13</td><td bgcolor="#E0E0D4">0:56.17</td><td>34.11 MB</td><td bgcolor="#E0E0D4">64.35%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (normal)</td><td>0:48.57</td><td bgcolor="#F8F8E8">0:33.59</td><td>0:28.23</td><td bgcolor="#F8F8E8">0:14.77</td><td>34.25 MB</td><td bgcolor="#F8F8E8">64.60%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (normal)</td><td>0:55.97</td><td bgcolor="#E0E0D4">0:41.52</td><td>1:00.66</td><td bgcolor="#E0E0D4">0:47.66</td><td>34.25 MB</td><td bgcolor="#E0E0D4">64.60%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 0 @ 4x)</td><td>1:11.16</td><td bgcolor="#F8F8E8">0:54.08</td><td>1:16.25</td><td bgcolor="#F8F8E8">1:02.96</td><td>34.29 MB</td><td bgcolor="#F8F8E8">64.68%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (extra high -x)</td><td>1:52.39</td><td bgcolor="#E0E0D4">1:35.78</td><td>0:46.17</td><td bgcolor="#E0E0D4">0:31.55</td><td>34.52 MB</td><td bgcolor="#E0E0D4">65.12%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (turbo)</td><td>0:30.95</td><td bgcolor="#F8F8E8">0:15.97</td><td>0:27.61</td><td bgcolor="#F8F8E8">0:13.13</td><td>34.66 MB</td><td bgcolor="#F8F8E8">65.39%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (high)</td><td>0:47.95</td><td bgcolor="#E0E0D4">0:31.28</td><td>0:40.19</td><td bgcolor="#E0E0D4">0:25.29</td><td>34.78 MB</td><td bgcolor="#E0E0D4">65.61%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-8)</td><td>1:53.01</td><td bgcolor="#F8F8E8">1:38.20</td><td>0:25.94</td><td bgcolor="#F8F8E8">0:12.33</td><td>34.85 MB</td><td bgcolor="#F8F8E8">65.73%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (fast)</td><td>0:44.32</td><td bgcolor="#E0E0D4">0:29.30</td><td>0:49.05</td><td bgcolor="#E0E0D4">0:36.02</td><td>34.85 MB</td><td bgcolor="#E0E0D4">65.74%</td></tr>
- <tr align="right"><td align="left">Bonk 0.5</td><td>3:40.43</td><td bgcolor="#F8F8E8">3:26.66</td><td>3:01.26</td><td bgcolor="#F8F8E8">2:48.05</td><td>34.96 MB</td><td bgcolor="#F8F8E8">65.95%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal -x)</td><td>0:58.41</td><td bgcolor="#E0E0D4">0:41.81</td><td>0:31.14</td><td bgcolor="#E0E0D4">0:17.86</td><td>34.99 MB</td><td bgcolor="#E0E0D4">66.01%</td></tr>
- <tr align="right" bgcolor="#FFFFFF"><td align="left">FLAC 1.2.1 (-5, default)</td><td>0:43.30</td><td bgcolor="#FFFFFF">0:27.64</td><td>0:22.71</td><td bgcolor="#FFFFFF">0:09.37</td><td>35.07 MB</td><td bgcolor="#FFFFFF">66.16%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal)</td><td>0:40.46</td><td bgcolor="#E0E0D4">0:23.70</td><td>0:32.23</td><td bgcolor="#E0E0D4">0:19.04</td><td>35.18 MB</td><td bgcolor="#E0E0D4">66.36%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-3)</td><td>0:30.70</td><td bgcolor="#F8F8E8">0:15.86</td><td>0:23.49</td><td bgcolor="#F8F8E8">0:08.76</td><td>35.30 MB</td><td bgcolor="#F8F8E8">66.59%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Shorten 3.2a (-p8 -b2048)</td><td>0:51.66</td><td bgcolor="#E0E0D4">0:36.54</td><td>0:32.68</td><td bgcolor="#E0E0D4">0:19.27</td><td>35.40 MB</td><td bgcolor="#E0E0D4">66.77%</td></tr>
- <tr align="right"><td align="left">Apple Lossless (iTunes 4.5)</td><td>?</td><td bgcolor="#F8F8E8">?</td><td>?</td><td bgcolor="#F8F8E8">?</td><td>35.46 MB</td><td bgcolor="#F8F8E8">66.89%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast -x)</td><td>0:49.40</td><td bgcolor="#E0E0D4">0:32.48</td><td>0:27.76</td><td bgcolor="#E0E0D4">0:14.62</td><td>35.50 MB</td><td bgcolor="#E0E0D4">66.97%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (fast)</td><td>0:36.81</td><td bgcolor="#F8F8E8">0:19.00</td><td>0:28.46</td><td bgcolor="#F8F8E8">0:14.90</td><td>35.61 MB</td><td bgcolor="#F8F8E8">67.18%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Shorten 3.2a (-p0 -b256, default)</td><td>0:41.62</td><td bgcolor="#E0E0D4">0:26.53</td><td>0:28.65</td><td bgcolor="#E0E0D4">0:14.88</td><td>36.42 MB</td><td bgcolor="#E0E0D4">68.70%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-1)</td><td>0:26.90</td><td bgcolor="#F8F8E8">0:11.60</td><td>0:23.19</td><td bgcolor="#F8F8E8">0:08.64</td><td>36.52 MB</td><td bgcolor="#F8F8E8">68.90%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">RIFF WAVE</td><td>3:09.60</td><td bgcolor="#E0E0D4"></td><td>3:09.60</td><td bgcolor="#E0E0D4"></td><td>53.01 MB</td><td bgcolor="#E0E0D4">100.00%</td></tr>
- </table>
- </td></tr></table>
- <br />
-
- <b><a href="comparison_all_ratio.html">Complete summary table</a></b><br />
- <br />
- <a href="comparison__chopin_prelude_24.html">Frederic Chopin Prelude No.24 in d minor </a><br />
- <a href="comparison__dream_theater_600.html">Dream Theater 6:00 </a><br />
- <a href="comparison__eddie_warner_titus.html">Eddie Warner Titus </a><br />
- <a href="comparison__fanfare_de_l_eventail_de_jeanne.html">Maurice Ravel Fanfare from "L'eventail de Jeanne" </a><br />
- <a href="comparison__gloria_estefan_conga.html">Gloria Estefan Conga </a><br />
- <a href="comparison__hand_in_my_pocket.html">Alanis Morissette Hand In My Pocket </a><br />
- <a href="comparison__l_sub_raga_sivapriya.html">L. Subramaniam Raga Sivapriya </a><br />
- <a href="comparison__laetatus_sum.html">The Benedictine Monks of Santo Domingo de Silos Laetatus Sum </a><br />
- <a href="comparison__mummified_in_barbed_wire.html">Cannibal Corpse Mummified In Barbed Wire </a><br />
- <a href="comparison__prokofiev_pcon3_3.html">Sergei Prokofiev Piano Concerto No.3 (3rd movement) </a><br />
- <a href="comparison__ravel_sq4_4.html">Maurice Ravel String Quartet (4th movement) </a><br />
- <a href="comparison__scarlatti_k42.html">Domenico Scarlatti Sonata K.42 (arr.Yepes for guitar) </a><br />
- <a href="comparison__tool_forty_six_and_2.html">Tool Forty-six &amp; 2 </a><br />
- Cream White Room <br />
-
- </div> <!-- box_body -->
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/comparison_all_cpudectime.html b/3rdparty/libflac/doc/html/comparison_all_cpudectime.html
deleted file mode 100644
index 8d1479c7dea..00000000000
--- a/3rdparty/libflac/doc/html/comparison_all_cpudectime.html
+++ /dev/null
@@ -1,165 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - comparison</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- comparison
- </div>
- <div class="box_header"></div>
- <div class="box_body">
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="0" bgcolor="#EEEED4"><!-- @@@@@@ border="1" ? -->
- <tr align="right">
- <td>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Encode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Decode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Compression</b></font>
- </td>
- </tr>
- <tr align="right">
- <td align="left" bgcolor="#F4F4CC">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_procenctime.html">Total</a></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_cpuenctime.html">CPU</a></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_procdectime.html">Total</a></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>CPU</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Size</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_ratio.html">Avg.ratio</a></font>
- </td>
- </tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-1)</td><td>6:24.51</td><td bgcolor="#F8F8E8">2:42.93</td><td>5:26.87</td><td bgcolor="#F8F8E8">2:17.49</td><td>431.72 MB</td><td bgcolor="#F8F8E8">56.97%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-3)</td><td>7:23.77</td><td bgcolor="#E0E0D4">3:47.42</td><td>5:31.15</td><td bgcolor="#E0E0D4">2:19.07</td><td>412.42 MB</td><td bgcolor="#E0E0D4">54.57%</td></tr>
- <tr align="right" bgcolor="#FFFFFF"><td align="left">FLAC 1.2.1 (-5, default)</td><td>10:07.41</td><td bgcolor="#FFFFFF">6:35.68</td><td>5:23.16</td><td bgcolor="#FFFFFF">2:22.41</td><td>406.25 MB</td><td bgcolor="#FFFFFF">53.67%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-8)</td><td>26:46.72</td><td bgcolor="#E0E0D4">23:21.85</td><td>5:40.25</td><td bgcolor="#E0E0D4">2:36.47</td><td>404.23 MB</td><td bgcolor="#E0E0D4">53.36%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (turbo)</td><td>7:25.21</td><td bgcolor="#F8F8E8">3:51.02</td><td>6:16.82</td><td bgcolor="#F8F8E8">3:10.87</td><td>399.97 MB</td><td bgcolor="#F8F8E8">52.71%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast -x)</td><td>11:54.47</td><td bgcolor="#E0E0D4">7:50.84</td><td>6:32.50</td><td bgcolor="#E0E0D4">3:25.77</td><td>411.52 MB</td><td bgcolor="#E0E0D4">54.39%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (fast)</td><td>8:52.27</td><td bgcolor="#F8F8E8">4:47.74</td><td>6:33.73</td><td bgcolor="#F8F8E8">3:28.19</td><td>415.05 MB</td><td bgcolor="#F8F8E8">54.92%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Shorten 3.2a (-p0 -b256, default)</td><td>10:01.38</td><td bgcolor="#E0E0D4">6:23.40</td><td>6:38.43</td><td bgcolor="#E0E0D4">3:30.66</td><td>433.56 MB</td><td bgcolor="#E0E0D4">57.29%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (normal)</td><td>11:42.59</td><td bgcolor="#F8F8E8">8:12.00</td><td>6:36.47</td><td bgcolor="#F8F8E8">3:38.14</td><td>391.16 MB</td><td bgcolor="#F8F8E8">51.39%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Shorten 3.2a (-p8 -b2048)</td><td>12:09.68</td><td bgcolor="#E0E0D4">8:31.46</td><td>7:34.17</td><td bgcolor="#E0E0D4">4:24.09</td><td>438.86 MB</td><td bgcolor="#E0E0D4">58.11%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (normal -x)</td><td>14:14.54</td><td bgcolor="#F8F8E8">10:13.33</td><td>7:23.14</td><td bgcolor="#F8F8E8">4:24.26</td><td>403.10 MB</td><td bgcolor="#F8F8E8">53.19%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal)</td><td>9:48.59</td><td bgcolor="#E0E0D4">5:46.91</td><td>7:37.26</td><td bgcolor="#E0E0D4">4:30.11</td><td>405.84 MB</td><td bgcolor="#E0E0D4">53.56%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (extra high max)</td><td>66:52.15</td><td bgcolor="#F8F8E8">63:48.91</td><td>7:39.41</td><td bgcolor="#F8F8E8">4:46.01</td><td>383.70 MB</td><td bgcolor="#F8F8E8">50.60%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high)</td><td>25:14.00</td><td bgcolor="#E0E0D4">21:48.45</td><td>7:50.46</td><td bgcolor="#E0E0D4">4:54.86</td><td>384.06 MB</td><td bgcolor="#E0E0D4">50.66%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (high)</td><td>11:48.47</td><td bgcolor="#F8F8E8">7:45.58</td><td>9:19.07</td><td bgcolor="#F8F8E8">6:05.35</td><td>399.90 MB</td><td bgcolor="#F8F8E8">52.73%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (extra high -x)</td><td>27:23.56</td><td bgcolor="#E0E0D4">23:29.26</td><td>10:58.90</td><td bgcolor="#E0E0D4">7:48.32</td><td>396.56 MB</td><td bgcolor="#E0E0D4">52.22%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (fast)</td><td>10:24.29</td><td bgcolor="#F8F8E8">6:58.46</td><td>11:32.07</td><td bgcolor="#F8F8E8">8:37.81</td><td>400.57 MB</td><td bgcolor="#F8F8E8">53.11%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Apple Lossless (iTunes 4.5)</td><td>19:53.27</td><td bgcolor="#E0E0D4">19:53.27</td><td>10:01.86</td><td bgcolor="#E0E0D4">10:01.86</td><td>414.45 MB</td><td bgcolor="#E0E0D4">54.96%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (normal)</td><td>13:20.15</td><td bgcolor="#F8F8E8">9:56.40</td><td>14:24.02</td><td bgcolor="#F8F8E8">11:33.71</td><td>393.17 MB</td><td bgcolor="#F8F8E8">51.97%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (high)</td><td>15:26.16</td><td bgcolor="#E0E0D4">12:03.16</td><td>16:30.00</td><td bgcolor="#E0E0D4">13:40.59</td><td>389.83 MB</td><td bgcolor="#E0E0D4">51.53%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 0 @ 4x)</td><td>16:36.98</td><td bgcolor="#F8F8E8">12:51.58</td><td>17:55.55</td><td bgcolor="#F8F8E8">14:58.99</td><td>394.69 MB</td><td bgcolor="#F8F8E8">52.24%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 1 @ 4x)</td><td>24:25.04</td><td bgcolor="#E0E0D4">20:37.96</td><td>25:48.90</td><td bgcolor="#E0E0D4">22:52.76</td><td>389.04 MB</td><td bgcolor="#E0E0D4">51.52%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (extra high)</td><td>28:34.03</td><td bgcolor="#F8F8E8">25:12.14</td><td>29:38.88</td><td bgcolor="#F8F8E8">26:53.34</td><td>384.55 MB</td><td bgcolor="#F8F8E8">50.87%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 2 @ 4x)</td><td>32:20.46</td><td bgcolor="#E0E0D4">28:36.38</td><td>33:39.96</td><td bgcolor="#E0E0D4">30:49.89</td><td>387.93 MB</td><td bgcolor="#E0E0D4">51.33%</td></tr>
- <tr align="right"><td align="left">Bonk 0.5</td><td>51:45.58</td><td bgcolor="#F8F8E8">48:32.10</td><td>42:02.76</td><td bgcolor="#F8F8E8">39:05.43</td><td>418.65 MB</td><td bgcolor="#F8F8E8">55.43%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 3 @ 4x)</td><td>58:21.94</td><td bgcolor="#E0E0D4">54:52.62</td><td>59:34.12</td><td bgcolor="#E0E0D4">56:51.21</td><td>386.71 MB</td><td bgcolor="#E0E0D4">51.15%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (insane)</td><td>129:07.86</td><td bgcolor="#F8F8E8">126:05.33</td><td>135:13.19</td><td bgcolor="#F8F8E8">133:12.71</td><td>381.79 MB</td><td bgcolor="#F8F8E8">50.65%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">La 0.3c</td><td>150:12.30</td><td bgcolor="#E0E0D4">146:54.11</td><td>144:50.36</td><td bgcolor="#E0E0D4">142:49.41</td><td>375.76 MB</td><td bgcolor="#E0E0D4">49.86%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 4 @ 1x)</td><td>338:34.15</td><td bgcolor="#F8F8E8">335:12.47</td><td>339:18.57</td><td bgcolor="#F8F8E8">336:25.54</td><td>386.22 MB</td><td bgcolor="#F8F8E8">51.06%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">RIFF WAVE</td><td>73:44.94</td><td bgcolor="#E0E0D4"></td><td>73:44.94</td><td bgcolor="#E0E0D4"></td><td>780.56 MB</td><td bgcolor="#E0E0D4">100.00%</td></tr>
- </table>
- </td></tr></table>
- <br />
- <a href="comparison__chopin_prelude_24.html">Frederic Chopin Prelude No.24 in d minor </a><br />
- <a href="comparison__dream_theater_600.html">Dream Theater 6:00 </a><br />
- <a href="comparison__eddie_warner_titus.html">Eddie Warner Titus </a><br />
- <a href="comparison__fanfare_de_l_eventail_de_jeanne.html">Maurice Ravel Fanfare from "L'eventail de Jeanne" </a><br />
- <a href="comparison__gloria_estefan_conga.html">Gloria Estefan Conga </a><br />
- <a href="comparison__hand_in_my_pocket.html">Alanis Morissette Hand In My Pocket </a><br />
- <a href="comparison__l_sub_raga_sivapriya.html">L. Subramaniam Raga Sivapriya </a><br />
- <a href="comparison__laetatus_sum.html">The Benedictine Monks of Santo Domingo de Silos Laetatus Sum </a><br />
- <a href="comparison__mummified_in_barbed_wire.html">Cannibal Corpse Mummified In Barbed Wire </a><br />
- <a href="comparison__prokofiev_pcon3_3.html">Sergei Prokofiev Piano Concerto No.3 (3rd movement) </a><br />
- <a href="comparison__ravel_sq4_4.html">Maurice Ravel String Quartet (4th movement) </a><br />
- <a href="comparison__scarlatti_k42.html">Domenico Scarlatti Sonata K.42 (arr.Yepes for guitar) </a><br />
- <a href="comparison__tool_forty_six_and_2.html">Tool Forty-six &amp; 2 </a><br />
- <a href="comparison__white_room.html">Cream White Room </a><br />
-
- </div> <!-- box_body -->
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/comparison_all_cpuenctime.html b/3rdparty/libflac/doc/html/comparison_all_cpuenctime.html
deleted file mode 100644
index 91289070ad6..00000000000
--- a/3rdparty/libflac/doc/html/comparison_all_cpuenctime.html
+++ /dev/null
@@ -1,165 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - comparison</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- comparison
- </div>
- <div class="box_header"></div>
- <div class="box_body">
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="0" bgcolor="#EEEED4"><!-- @@@@@@ border="1" ? -->
- <tr align="right">
- <td>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Encode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Decode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Compression</b></font>
- </td>
- </tr>
- <tr align="right">
- <td align="left" bgcolor="#F4F4CC">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_procenctime.html">Total</a></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>CPU</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_procdectime.html">Total</a></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_cpudectime.html">CPU</a></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Size</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_ratio.html">Avg.ratio</a></font>
- </td>
- </tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-1)</td><td>6:24.51</td><td bgcolor="#F8F8E8">2:42.93</td><td>5:26.87</td><td bgcolor="#F8F8E8">2:17.49</td><td>431.72 MB</td><td bgcolor="#F8F8E8">56.97%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-3)</td><td>7:23.77</td><td bgcolor="#E0E0D4">3:47.42</td><td>5:31.15</td><td bgcolor="#E0E0D4">2:19.07</td><td>412.42 MB</td><td bgcolor="#E0E0D4">54.57%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (turbo)</td><td>7:25.21</td><td bgcolor="#F8F8E8">3:51.02</td><td>6:16.82</td><td bgcolor="#F8F8E8">3:10.87</td><td>399.97 MB</td><td bgcolor="#F8F8E8">52.71%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast)</td><td>8:52.27</td><td bgcolor="#E0E0D4">4:47.74</td><td>6:33.73</td><td bgcolor="#E0E0D4">3:28.19</td><td>415.05 MB</td><td bgcolor="#E0E0D4">54.92%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (normal)</td><td>9:48.59</td><td bgcolor="#F8F8E8">5:46.91</td><td>7:37.26</td><td bgcolor="#F8F8E8">4:30.11</td><td>405.84 MB</td><td bgcolor="#F8F8E8">53.56%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Shorten 3.2a (-p0 -b256, default)</td><td>10:01.38</td><td bgcolor="#E0E0D4">6:23.40</td><td>6:38.43</td><td bgcolor="#E0E0D4">3:30.66</td><td>433.56 MB</td><td bgcolor="#E0E0D4">57.29%</td></tr>
- <tr align="right" bgcolor="#FFFFFF"><td align="left">FLAC 1.2.1 (-5, default)</td><td>10:07.41</td><td bgcolor="#FFFFFF">6:35.68</td><td>5:23.16</td><td bgcolor="#FFFFFF">2:22.41</td><td>406.25 MB</td><td bgcolor="#FFFFFF">53.67%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (fast)</td><td>10:24.29</td><td bgcolor="#E0E0D4">6:58.46</td><td>11:32.07</td><td bgcolor="#E0E0D4">8:37.81</td><td>400.57 MB</td><td bgcolor="#E0E0D4">53.11%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (high)</td><td>11:48.47</td><td bgcolor="#F8F8E8">7:45.58</td><td>9:19.07</td><td bgcolor="#F8F8E8">6:05.35</td><td>399.90 MB</td><td bgcolor="#F8F8E8">52.73%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast -x)</td><td>11:54.47</td><td bgcolor="#E0E0D4">7:50.84</td><td>6:32.50</td><td bgcolor="#E0E0D4">3:25.77</td><td>411.52 MB</td><td bgcolor="#E0E0D4">54.39%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (normal)</td><td>11:42.59</td><td bgcolor="#F8F8E8">8:12.00</td><td>6:36.47</td><td bgcolor="#F8F8E8">3:38.14</td><td>391.16 MB</td><td bgcolor="#F8F8E8">51.39%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Shorten 3.2a (-p8 -b2048)</td><td>12:09.68</td><td bgcolor="#E0E0D4">8:31.46</td><td>7:34.17</td><td bgcolor="#E0E0D4">4:24.09</td><td>438.86 MB</td><td bgcolor="#E0E0D4">58.11%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (normal)</td><td>13:20.15</td><td bgcolor="#F8F8E8">9:56.40</td><td>14:24.02</td><td bgcolor="#F8F8E8">11:33.71</td><td>393.17 MB</td><td bgcolor="#F8F8E8">51.97%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal -x)</td><td>14:14.54</td><td bgcolor="#E0E0D4">10:13.33</td><td>7:23.14</td><td bgcolor="#E0E0D4">4:24.26</td><td>403.10 MB</td><td bgcolor="#E0E0D4">53.19%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (high)</td><td>15:26.16</td><td bgcolor="#F8F8E8">12:03.16</td><td>16:30.00</td><td bgcolor="#F8F8E8">13:40.59</td><td>389.83 MB</td><td bgcolor="#F8F8E8">51.53%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 0 @ 4x)</td><td>16:36.98</td><td bgcolor="#E0E0D4">12:51.58</td><td>17:55.55</td><td bgcolor="#E0E0D4">14:58.99</td><td>394.69 MB</td><td bgcolor="#E0E0D4">52.24%</td></tr>
- <tr align="right"><td align="left">Apple Lossless (iTunes 4.5)</td><td>19:53.27</td><td bgcolor="#F8F8E8">19:53.27</td><td>10:01.86</td><td bgcolor="#F8F8E8">10:01.86</td><td>414.45 MB</td><td bgcolor="#F8F8E8">54.96%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 1 @ 4x)</td><td>24:25.04</td><td bgcolor="#E0E0D4">20:37.96</td><td>25:48.90</td><td bgcolor="#E0E0D4">22:52.76</td><td>389.04 MB</td><td bgcolor="#E0E0D4">51.52%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (extra high)</td><td>25:14.00</td><td bgcolor="#F8F8E8">21:48.45</td><td>7:50.46</td><td bgcolor="#F8F8E8">4:54.86</td><td>384.06 MB</td><td bgcolor="#F8F8E8">50.66%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-8)</td><td>26:46.72</td><td bgcolor="#E0E0D4">23:21.85</td><td>5:40.25</td><td bgcolor="#E0E0D4">2:36.47</td><td>404.23 MB</td><td bgcolor="#E0E0D4">53.36%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (extra high -x)</td><td>27:23.56</td><td bgcolor="#F8F8E8">23:29.26</td><td>10:58.90</td><td bgcolor="#F8F8E8">7:48.32</td><td>396.56 MB</td><td bgcolor="#F8F8E8">52.22%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (extra high)</td><td>28:34.03</td><td bgcolor="#E0E0D4">25:12.14</td><td>29:38.88</td><td bgcolor="#E0E0D4">26:53.34</td><td>384.55 MB</td><td bgcolor="#E0E0D4">50.87%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 2 @ 4x)</td><td>32:20.46</td><td bgcolor="#F8F8E8">28:36.38</td><td>33:39.96</td><td bgcolor="#F8F8E8">30:49.89</td><td>387.93 MB</td><td bgcolor="#F8F8E8">51.33%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Bonk 0.5</td><td>51:45.58</td><td bgcolor="#E0E0D4">48:32.10</td><td>42:02.76</td><td bgcolor="#E0E0D4">39:05.43</td><td>418.65 MB</td><td bgcolor="#E0E0D4">55.43%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 3 @ 4x)</td><td>58:21.94</td><td bgcolor="#F8F8E8">54:52.62</td><td>59:34.12</td><td bgcolor="#F8F8E8">56:51.21</td><td>386.71 MB</td><td bgcolor="#F8F8E8">51.15%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high max)</td><td>66:52.15</td><td bgcolor="#E0E0D4">63:48.91</td><td>7:39.41</td><td bgcolor="#E0E0D4">4:46.01</td><td>383.70 MB</td><td bgcolor="#E0E0D4">50.60%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (insane)</td><td>129:07.86</td><td bgcolor="#F8F8E8">126:05.33</td><td>135:13.19</td><td bgcolor="#F8F8E8">133:12.71</td><td>381.79 MB</td><td bgcolor="#F8F8E8">50.65%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">La 0.3c</td><td>150:12.30</td><td bgcolor="#E0E0D4">146:54.11</td><td>144:50.36</td><td bgcolor="#E0E0D4">142:49.41</td><td>375.76 MB</td><td bgcolor="#E0E0D4">49.86%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 4 @ 1x)</td><td>338:34.15</td><td bgcolor="#F8F8E8">335:12.47</td><td>339:18.57</td><td bgcolor="#F8F8E8">336:25.54</td><td>386.22 MB</td><td bgcolor="#F8F8E8">51.06%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">RIFF WAVE</td><td>73:44.94</td><td bgcolor="#E0E0D4"></td><td>73:44.94</td><td bgcolor="#E0E0D4"></td><td>780.56 MB</td><td bgcolor="#E0E0D4">100.00%</td></tr>
- </table>
- </td></tr></table>
- <br />
- <a href="comparison__chopin_prelude_24.html">Frederic Chopin Prelude No.24 in d minor </a><br />
- <a href="comparison__dream_theater_600.html">Dream Theater 6:00 </a><br />
- <a href="comparison__eddie_warner_titus.html">Eddie Warner Titus </a><br />
- <a href="comparison__fanfare_de_l_eventail_de_jeanne.html">Maurice Ravel Fanfare from "L'eventail de Jeanne" </a><br />
- <a href="comparison__gloria_estefan_conga.html">Gloria Estefan Conga </a><br />
- <a href="comparison__hand_in_my_pocket.html">Alanis Morissette Hand In My Pocket </a><br />
- <a href="comparison__l_sub_raga_sivapriya.html">L. Subramaniam Raga Sivapriya </a><br />
- <a href="comparison__laetatus_sum.html">The Benedictine Monks of Santo Domingo de Silos Laetatus Sum </a><br />
- <a href="comparison__mummified_in_barbed_wire.html">Cannibal Corpse Mummified In Barbed Wire </a><br />
- <a href="comparison__prokofiev_pcon3_3.html">Sergei Prokofiev Piano Concerto No.3 (3rd movement) </a><br />
- <a href="comparison__ravel_sq4_4.html">Maurice Ravel String Quartet (4th movement) </a><br />
- <a href="comparison__scarlatti_k42.html">Domenico Scarlatti Sonata K.42 (arr.Yepes for guitar) </a><br />
- <a href="comparison__tool_forty_six_and_2.html">Tool Forty-six &amp; 2 </a><br />
- <a href="comparison__white_room.html">Cream White Room </a><br />
-
- </div> <!-- box_body -->
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/comparison_all_procdectime.html b/3rdparty/libflac/doc/html/comparison_all_procdectime.html
deleted file mode 100644
index 4acf9dd8ab8..00000000000
--- a/3rdparty/libflac/doc/html/comparison_all_procdectime.html
+++ /dev/null
@@ -1,165 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - comparison</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- comparison
- </div>
- <div class="box_header"></div>
- <div class="box_body">
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="0" bgcolor="#EEEED4"><!-- @@@@@@ border="1" ? -->
- <tr align="right">
- <td>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Encode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Decode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Compression</b></font>
- </td>
- </tr>
- <tr align="right">
- <td align="left" bgcolor="#F4F4CC">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_procenctime.html">Total</a></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_cpuenctime.html">CPU</a></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Total</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_cpudectime.html">CPU</a></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Size</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_ratio.html">Avg.ratio</a></font>
- </td>
- </tr>
- <tr align="right" bgcolor="#FFFFFF"><td align="left">FLAC 1.2.1 (-5, default)</td><td>10:07.41</td><td bgcolor="#FFFFFF">6:35.68</td><td>5:23.16</td><td bgcolor="#FFFFFF">2:22.41</td><td>406.25 MB</td><td bgcolor="#FFFFFF">53.67%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-1)</td><td>6:24.51</td><td bgcolor="#E0E0D4">2:42.93</td><td>5:26.87</td><td bgcolor="#E0E0D4">2:17.49</td><td>431.72 MB</td><td bgcolor="#E0E0D4">56.97%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-3)</td><td>7:23.77</td><td bgcolor="#F8F8E8">3:47.42</td><td>5:31.15</td><td bgcolor="#F8F8E8">2:19.07</td><td>412.42 MB</td><td bgcolor="#F8F8E8">54.57%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-8)</td><td>26:46.72</td><td bgcolor="#E0E0D4">23:21.85</td><td>5:40.25</td><td bgcolor="#E0E0D4">2:36.47</td><td>404.23 MB</td><td bgcolor="#E0E0D4">53.36%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (turbo)</td><td>7:25.21</td><td bgcolor="#F8F8E8">3:51.02</td><td>6:16.82</td><td bgcolor="#F8F8E8">3:10.87</td><td>399.97 MB</td><td bgcolor="#F8F8E8">52.71%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast -x)</td><td>11:54.47</td><td bgcolor="#E0E0D4">7:50.84</td><td>6:32.50</td><td bgcolor="#E0E0D4">3:25.77</td><td>411.52 MB</td><td bgcolor="#E0E0D4">54.39%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (fast)</td><td>8:52.27</td><td bgcolor="#F8F8E8">4:47.74</td><td>6:33.73</td><td bgcolor="#F8F8E8">3:28.19</td><td>415.05 MB</td><td bgcolor="#F8F8E8">54.92%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (normal)</td><td>11:42.59</td><td bgcolor="#E0E0D4">8:12.00</td><td>6:36.47</td><td bgcolor="#E0E0D4">3:38.14</td><td>391.16 MB</td><td bgcolor="#E0E0D4">51.39%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p0 -b256, default)</td><td>10:01.38</td><td bgcolor="#F8F8E8">6:23.40</td><td>6:38.43</td><td bgcolor="#F8F8E8">3:30.66</td><td>433.56 MB</td><td bgcolor="#F8F8E8">57.29%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal -x)</td><td>14:14.54</td><td bgcolor="#E0E0D4">10:13.33</td><td>7:23.14</td><td bgcolor="#E0E0D4">4:24.26</td><td>403.10 MB</td><td bgcolor="#E0E0D4">53.19%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p8 -b2048)</td><td>12:09.68</td><td bgcolor="#F8F8E8">8:31.46</td><td>7:34.17</td><td bgcolor="#F8F8E8">4:24.09</td><td>438.86 MB</td><td bgcolor="#F8F8E8">58.11%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal)</td><td>9:48.59</td><td bgcolor="#E0E0D4">5:46.91</td><td>7:37.26</td><td bgcolor="#E0E0D4">4:30.11</td><td>405.84 MB</td><td bgcolor="#E0E0D4">53.56%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (extra high max)</td><td>66:52.15</td><td bgcolor="#F8F8E8">63:48.91</td><td>7:39.41</td><td bgcolor="#F8F8E8">4:46.01</td><td>383.70 MB</td><td bgcolor="#F8F8E8">50.60%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high)</td><td>25:14.00</td><td bgcolor="#E0E0D4">21:48.45</td><td>7:50.46</td><td bgcolor="#E0E0D4">4:54.86</td><td>384.06 MB</td><td bgcolor="#E0E0D4">50.66%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (high)</td><td>11:48.47</td><td bgcolor="#F8F8E8">7:45.58</td><td>9:19.07</td><td bgcolor="#F8F8E8">6:05.35</td><td>399.90 MB</td><td bgcolor="#F8F8E8">52.73%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Apple Lossless (iTunes 4.5)</td><td>19:53.27</td><td bgcolor="#E0E0D4">19:53.27</td><td>10:01.86</td><td bgcolor="#E0E0D4">10:01.86</td><td>414.45 MB</td><td bgcolor="#E0E0D4">54.96%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (extra high -x)</td><td>27:23.56</td><td bgcolor="#F8F8E8">23:29.26</td><td>10:58.90</td><td bgcolor="#F8F8E8">7:48.32</td><td>396.56 MB</td><td bgcolor="#F8F8E8">52.22%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (fast)</td><td>10:24.29</td><td bgcolor="#E0E0D4">6:58.46</td><td>11:32.07</td><td bgcolor="#E0E0D4">8:37.81</td><td>400.57 MB</td><td bgcolor="#E0E0D4">53.11%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (normal)</td><td>13:20.15</td><td bgcolor="#F8F8E8">9:56.40</td><td>14:24.02</td><td bgcolor="#F8F8E8">11:33.71</td><td>393.17 MB</td><td bgcolor="#F8F8E8">51.97%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (high)</td><td>15:26.16</td><td bgcolor="#E0E0D4">12:03.16</td><td>16:30.00</td><td bgcolor="#E0E0D4">13:40.59</td><td>389.83 MB</td><td bgcolor="#E0E0D4">51.53%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 0 @ 4x)</td><td>16:36.98</td><td bgcolor="#F8F8E8">12:51.58</td><td>17:55.55</td><td bgcolor="#F8F8E8">14:58.99</td><td>394.69 MB</td><td bgcolor="#F8F8E8">52.24%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 1 @ 4x)</td><td>24:25.04</td><td bgcolor="#E0E0D4">20:37.96</td><td>25:48.90</td><td bgcolor="#E0E0D4">22:52.76</td><td>389.04 MB</td><td bgcolor="#E0E0D4">51.52%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (extra high)</td><td>28:34.03</td><td bgcolor="#F8F8E8">25:12.14</td><td>29:38.88</td><td bgcolor="#F8F8E8">26:53.34</td><td>384.55 MB</td><td bgcolor="#F8F8E8">50.87%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 2 @ 4x)</td><td>32:20.46</td><td bgcolor="#E0E0D4">28:36.38</td><td>33:39.96</td><td bgcolor="#E0E0D4">30:49.89</td><td>387.93 MB</td><td bgcolor="#E0E0D4">51.33%</td></tr>
- <tr align="right"><td align="left">Bonk 0.5</td><td>51:45.58</td><td bgcolor="#F8F8E8">48:32.10</td><td>42:02.76</td><td bgcolor="#F8F8E8">39:05.43</td><td>418.65 MB</td><td bgcolor="#F8F8E8">55.43%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 3 @ 4x)</td><td>58:21.94</td><td bgcolor="#E0E0D4">54:52.62</td><td>59:34.12</td><td bgcolor="#E0E0D4">56:51.21</td><td>386.71 MB</td><td bgcolor="#E0E0D4">51.15%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (insane)</td><td>129:07.86</td><td bgcolor="#F8F8E8">126:05.33</td><td>135:13.19</td><td bgcolor="#F8F8E8">133:12.71</td><td>381.79 MB</td><td bgcolor="#F8F8E8">50.65%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">La 0.3c</td><td>150:12.30</td><td bgcolor="#E0E0D4">146:54.11</td><td>144:50.36</td><td bgcolor="#E0E0D4">142:49.41</td><td>375.76 MB</td><td bgcolor="#E0E0D4">49.86%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 4 @ 1x)</td><td>338:34.15</td><td bgcolor="#F8F8E8">335:12.47</td><td>339:18.57</td><td bgcolor="#F8F8E8">336:25.54</td><td>386.22 MB</td><td bgcolor="#F8F8E8">51.06%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">RIFF WAVE</td><td>73:44.94</td><td bgcolor="#E0E0D4"></td><td>73:44.94</td><td bgcolor="#E0E0D4"></td><td>780.56 MB</td><td bgcolor="#E0E0D4">100.00%</td></tr>
- </table>
- </td></tr></table>
- <br />
- <a href="comparison__chopin_prelude_24.html">Frederic Chopin Prelude No.24 in d minor </a><br />
- <a href="comparison__dream_theater_600.html">Dream Theater 6:00 </a><br />
- <a href="comparison__eddie_warner_titus.html">Eddie Warner Titus </a><br />
- <a href="comparison__fanfare_de_l_eventail_de_jeanne.html">Maurice Ravel Fanfare from "L'eventail de Jeanne" </a><br />
- <a href="comparison__gloria_estefan_conga.html">Gloria Estefan Conga </a><br />
- <a href="comparison__hand_in_my_pocket.html">Alanis Morissette Hand In My Pocket </a><br />
- <a href="comparison__l_sub_raga_sivapriya.html">L. Subramaniam Raga Sivapriya </a><br />
- <a href="comparison__laetatus_sum.html">The Benedictine Monks of Santo Domingo de Silos Laetatus Sum </a><br />
- <a href="comparison__mummified_in_barbed_wire.html">Cannibal Corpse Mummified In Barbed Wire </a><br />
- <a href="comparison__prokofiev_pcon3_3.html">Sergei Prokofiev Piano Concerto No.3 (3rd movement) </a><br />
- <a href="comparison__ravel_sq4_4.html">Maurice Ravel String Quartet (4th movement) </a><br />
- <a href="comparison__scarlatti_k42.html">Domenico Scarlatti Sonata K.42 (arr.Yepes for guitar) </a><br />
- <a href="comparison__tool_forty_six_and_2.html">Tool Forty-six &amp; 2 </a><br />
- <a href="comparison__white_room.html">Cream White Room </a><br />
-
- </div> <!-- box_body -->
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/comparison_all_procenctime.html b/3rdparty/libflac/doc/html/comparison_all_procenctime.html
deleted file mode 100644
index 0ba36d7b39c..00000000000
--- a/3rdparty/libflac/doc/html/comparison_all_procenctime.html
+++ /dev/null
@@ -1,165 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - comparison</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- comparison
- </div>
- <div class="box_header"></div>
- <div class="box_body">
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="0" bgcolor="#EEEED4"><!-- @@@@@@ border="1" ? -->
- <tr align="right">
- <td>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Encode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Decode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Compression</b></font>
- </td>
- </tr>
- <tr align="right">
- <td align="left" bgcolor="#F4F4CC">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Total</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_cpuenctime.html">CPU</a></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_procdectime.html">Total</a></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_cpudectime.html">CPU</a></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Size</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_ratio.html">Avg.ratio</a></font>
- </td>
- </tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-1)</td><td>6:24.51</td><td bgcolor="#F8F8E8">2:42.93</td><td>5:26.87</td><td bgcolor="#F8F8E8">2:17.49</td><td>431.72 MB</td><td bgcolor="#F8F8E8">56.97%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-3)</td><td>7:23.77</td><td bgcolor="#E0E0D4">3:47.42</td><td>5:31.15</td><td bgcolor="#E0E0D4">2:19.07</td><td>412.42 MB</td><td bgcolor="#E0E0D4">54.57%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (turbo)</td><td>7:25.21</td><td bgcolor="#F8F8E8">3:51.02</td><td>6:16.82</td><td bgcolor="#F8F8E8">3:10.87</td><td>399.97 MB</td><td bgcolor="#F8F8E8">52.71%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast)</td><td>8:52.27</td><td bgcolor="#E0E0D4">4:47.74</td><td>6:33.73</td><td bgcolor="#E0E0D4">3:28.19</td><td>415.05 MB</td><td bgcolor="#E0E0D4">54.92%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (normal)</td><td>9:48.59</td><td bgcolor="#F8F8E8">5:46.91</td><td>7:37.26</td><td bgcolor="#F8F8E8">4:30.11</td><td>405.84 MB</td><td bgcolor="#F8F8E8">53.56%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Shorten 3.2a (-p0 -b256, default)</td><td>10:01.38</td><td bgcolor="#E0E0D4">6:23.40</td><td>6:38.43</td><td bgcolor="#E0E0D4">3:30.66</td><td>433.56 MB</td><td bgcolor="#E0E0D4">57.29%</td></tr>
- <tr align="right" bgcolor="#FFFFFF"><td align="left">FLAC 1.2.1 (-5, default)</td><td>10:07.41</td><td bgcolor="#FFFFFF">6:35.68</td><td>5:23.16</td><td bgcolor="#FFFFFF">2:22.41</td><td>406.25 MB</td><td bgcolor="#FFFFFF">53.67%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (fast)</td><td>10:24.29</td><td bgcolor="#E0E0D4">6:58.46</td><td>11:32.07</td><td bgcolor="#E0E0D4">8:37.81</td><td>400.57 MB</td><td bgcolor="#E0E0D4">53.11%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (normal)</td><td>11:42.59</td><td bgcolor="#F8F8E8">8:12.00</td><td>6:36.47</td><td bgcolor="#F8F8E8">3:38.14</td><td>391.16 MB</td><td bgcolor="#F8F8E8">51.39%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (high)</td><td>11:48.47</td><td bgcolor="#E0E0D4">7:45.58</td><td>9:19.07</td><td bgcolor="#E0E0D4">6:05.35</td><td>399.90 MB</td><td bgcolor="#E0E0D4">52.73%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (fast -x)</td><td>11:54.47</td><td bgcolor="#F8F8E8">7:50.84</td><td>6:32.50</td><td bgcolor="#F8F8E8">3:25.77</td><td>411.52 MB</td><td bgcolor="#F8F8E8">54.39%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Shorten 3.2a (-p8 -b2048)</td><td>12:09.68</td><td bgcolor="#E0E0D4">8:31.46</td><td>7:34.17</td><td bgcolor="#E0E0D4">4:24.09</td><td>438.86 MB</td><td bgcolor="#E0E0D4">58.11%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (normal)</td><td>13:20.15</td><td bgcolor="#F8F8E8">9:56.40</td><td>14:24.02</td><td bgcolor="#F8F8E8">11:33.71</td><td>393.17 MB</td><td bgcolor="#F8F8E8">51.97%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal -x)</td><td>14:14.54</td><td bgcolor="#E0E0D4">10:13.33</td><td>7:23.14</td><td bgcolor="#E0E0D4">4:24.26</td><td>403.10 MB</td><td bgcolor="#E0E0D4">53.19%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (high)</td><td>15:26.16</td><td bgcolor="#F8F8E8">12:03.16</td><td>16:30.00</td><td bgcolor="#F8F8E8">13:40.59</td><td>389.83 MB</td><td bgcolor="#F8F8E8">51.53%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 0 @ 4x)</td><td>16:36.98</td><td bgcolor="#E0E0D4">12:51.58</td><td>17:55.55</td><td bgcolor="#E0E0D4">14:58.99</td><td>394.69 MB</td><td bgcolor="#E0E0D4">52.24%</td></tr>
- <tr align="right"><td align="left">Apple Lossless (iTunes 4.5)</td><td>19:53.27</td><td bgcolor="#F8F8E8">19:53.27</td><td>10:01.86</td><td bgcolor="#F8F8E8">10:01.86</td><td>414.45 MB</td><td bgcolor="#F8F8E8">54.96%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 1 @ 4x)</td><td>24:25.04</td><td bgcolor="#E0E0D4">20:37.96</td><td>25:48.90</td><td bgcolor="#E0E0D4">22:52.76</td><td>389.04 MB</td><td bgcolor="#E0E0D4">51.52%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (extra high)</td><td>25:14.00</td><td bgcolor="#F8F8E8">21:48.45</td><td>7:50.46</td><td bgcolor="#F8F8E8">4:54.86</td><td>384.06 MB</td><td bgcolor="#F8F8E8">50.66%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">FLAC 1.2.1 (-8)</td><td>26:46.72</td><td bgcolor="#E0E0D4">23:21.85</td><td>5:40.25</td><td bgcolor="#E0E0D4">2:36.47</td><td>404.23 MB</td><td bgcolor="#E0E0D4">53.36%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (extra high -x)</td><td>27:23.56</td><td bgcolor="#F8F8E8">23:29.26</td><td>10:58.90</td><td bgcolor="#F8F8E8">7:48.32</td><td>396.56 MB</td><td bgcolor="#F8F8E8">52.22%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (extra high)</td><td>28:34.03</td><td bgcolor="#E0E0D4">25:12.14</td><td>29:38.88</td><td bgcolor="#E0E0D4">26:53.34</td><td>384.55 MB</td><td bgcolor="#E0E0D4">50.87%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 2 @ 4x)</td><td>32:20.46</td><td bgcolor="#F8F8E8">28:36.38</td><td>33:39.96</td><td bgcolor="#F8F8E8">30:49.89</td><td>387.93 MB</td><td bgcolor="#F8F8E8">51.33%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Bonk 0.5</td><td>51:45.58</td><td bgcolor="#E0E0D4">48:32.10</td><td>42:02.76</td><td bgcolor="#E0E0D4">39:05.43</td><td>418.65 MB</td><td bgcolor="#E0E0D4">55.43%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 3 @ 4x)</td><td>58:21.94</td><td bgcolor="#F8F8E8">54:52.62</td><td>59:34.12</td><td bgcolor="#F8F8E8">56:51.21</td><td>386.71 MB</td><td bgcolor="#F8F8E8">51.15%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high max)</td><td>66:52.15</td><td bgcolor="#E0E0D4">63:48.91</td><td>7:39.41</td><td bgcolor="#E0E0D4">4:46.01</td><td>383.70 MB</td><td bgcolor="#E0E0D4">50.60%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (insane)</td><td>129:07.86</td><td bgcolor="#F8F8E8">126:05.33</td><td>135:13.19</td><td bgcolor="#F8F8E8">133:12.71</td><td>381.79 MB</td><td bgcolor="#F8F8E8">50.65%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">La 0.3c</td><td>150:12.30</td><td bgcolor="#E0E0D4">146:54.11</td><td>144:50.36</td><td bgcolor="#E0E0D4">142:49.41</td><td>375.76 MB</td><td bgcolor="#E0E0D4">49.86%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 4 @ 1x)</td><td>338:34.15</td><td bgcolor="#F8F8E8">335:12.47</td><td>339:18.57</td><td bgcolor="#F8F8E8">336:25.54</td><td>386.22 MB</td><td bgcolor="#F8F8E8">51.06%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">RIFF WAVE</td><td>73:44.94</td><td bgcolor="#E0E0D4"></td><td>73:44.94</td><td bgcolor="#E0E0D4"></td><td>780.56 MB</td><td bgcolor="#E0E0D4">100.00%</td></tr>
- </table>
- </td></tr></table>
- <br />
- <a href="comparison__chopin_prelude_24.html">Frederic Chopin Prelude No.24 in d minor </a><br />
- <a href="comparison__dream_theater_600.html">Dream Theater 6:00 </a><br />
- <a href="comparison__eddie_warner_titus.html">Eddie Warner Titus </a><br />
- <a href="comparison__fanfare_de_l_eventail_de_jeanne.html">Maurice Ravel Fanfare from "L'eventail de Jeanne" </a><br />
- <a href="comparison__gloria_estefan_conga.html">Gloria Estefan Conga </a><br />
- <a href="comparison__hand_in_my_pocket.html">Alanis Morissette Hand In My Pocket </a><br />
- <a href="comparison__l_sub_raga_sivapriya.html">L. Subramaniam Raga Sivapriya </a><br />
- <a href="comparison__laetatus_sum.html">The Benedictine Monks of Santo Domingo de Silos Laetatus Sum </a><br />
- <a href="comparison__mummified_in_barbed_wire.html">Cannibal Corpse Mummified In Barbed Wire </a><br />
- <a href="comparison__prokofiev_pcon3_3.html">Sergei Prokofiev Piano Concerto No.3 (3rd movement) </a><br />
- <a href="comparison__ravel_sq4_4.html">Maurice Ravel String Quartet (4th movement) </a><br />
- <a href="comparison__scarlatti_k42.html">Domenico Scarlatti Sonata K.42 (arr.Yepes for guitar) </a><br />
- <a href="comparison__tool_forty_six_and_2.html">Tool Forty-six &amp; 2 </a><br />
- <a href="comparison__white_room.html">Cream White Room </a><br />
-
- </div> <!-- box_body -->
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/comparison_all_ratio.html b/3rdparty/libflac/doc/html/comparison_all_ratio.html
deleted file mode 100644
index 330aa2c7849..00000000000
--- a/3rdparty/libflac/doc/html/comparison_all_ratio.html
+++ /dev/null
@@ -1,165 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - comparison</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- comparison
- </div>
- <div class="box_header"></div>
- <div class="box_body">
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="0" bgcolor="#EEEED4"><!-- @@@@@@ border="1" ? -->
- <tr align="right">
- <td>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Encode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Decode time</b></font>
- </td>
- <td align="center" bgcolor="#F4F4CC" colspan="2">
- <font size="+1"><b>Compression</b></font>
- </td>
- </tr>
- <tr align="right">
- <td align="left" bgcolor="#F4F4CC">
- <font size="+1"><b>Codec</b></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_procenctime.html">Total</a></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_cpuenctime.html">CPU</a></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_procdectime.html">Total</a></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><a href="comparison_all_cpudectime.html">CPU</a></font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">Size</font>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1"><b>Avg.ratio</b></font>
- </td>
- </tr>
- <tr align="right"><td align="left">La 0.3c</td><td>150:12.30</td><td bgcolor="#F8F8E8">146:54.11</td><td>144:50.36</td><td bgcolor="#F8F8E8">142:49.41</td><td>375.76 MB</td><td bgcolor="#F8F8E8">49.86%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high max)</td><td>66:52.15</td><td bgcolor="#E0E0D4">63:48.91</td><td>7:39.41</td><td bgcolor="#E0E0D4">4:46.01</td><td>383.70 MB</td><td bgcolor="#E0E0D4">50.60%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (insane)</td><td>129:07.86</td><td bgcolor="#F8F8E8">126:05.33</td><td>135:13.19</td><td bgcolor="#F8F8E8">133:12.71</td><td>381.79 MB</td><td bgcolor="#F8F8E8">50.65%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Tak 1.01 (extra high)</td><td>25:14.00</td><td bgcolor="#E0E0D4">21:48.45</td><td>7:50.46</td><td bgcolor="#E0E0D4">4:54.86</td><td>384.06 MB</td><td bgcolor="#E0E0D4">50.66%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (extra high)</td><td>28:34.03</td><td bgcolor="#F8F8E8">25:12.14</td><td>29:38.88</td><td bgcolor="#F8F8E8">26:53.34</td><td>384.55 MB</td><td bgcolor="#F8F8E8">50.87%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 4 @ 1x)</td><td>338:34.15</td><td bgcolor="#E0E0D4">335:12.47</td><td>339:18.57</td><td bgcolor="#E0E0D4">336:25.54</td><td>386.22 MB</td><td bgcolor="#E0E0D4">51.06%</td></tr>
- <tr align="right"><td align="left">optimFROG 4.21 (mode 3 @ 4x)</td><td>58:21.94</td><td bgcolor="#F8F8E8">54:52.62</td><td>59:34.12</td><td bgcolor="#F8F8E8">56:51.21</td><td>386.71 MB</td><td bgcolor="#F8F8E8">51.15%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 2 @ 4x)</td><td>32:20.46</td><td bgcolor="#E0E0D4">28:36.38</td><td>33:39.96</td><td bgcolor="#E0E0D4">30:49.89</td><td>387.93 MB</td><td bgcolor="#E0E0D4">51.33%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (normal)</td><td>11:42.59</td><td bgcolor="#F8F8E8">8:12.00</td><td>6:36.47</td><td bgcolor="#F8F8E8">3:38.14</td><td>391.16 MB</td><td bgcolor="#F8F8E8">51.39%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 1 @ 4x)</td><td>24:25.04</td><td bgcolor="#E0E0D4">20:37.96</td><td>25:48.90</td><td bgcolor="#E0E0D4">22:52.76</td><td>389.04 MB</td><td bgcolor="#E0E0D4">51.52%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (high)</td><td>15:26.16</td><td bgcolor="#F8F8E8">12:03.16</td><td>16:30.00</td><td bgcolor="#F8F8E8">13:40.59</td><td>389.83 MB</td><td bgcolor="#F8F8E8">51.53%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Monkey's Audio 3.99 (normal)</td><td>13:20.15</td><td bgcolor="#E0E0D4">9:56.40</td><td>14:24.02</td><td bgcolor="#E0E0D4">11:33.71</td><td>393.17 MB</td><td bgcolor="#E0E0D4">51.97%</td></tr>
- <tr align="right"><td align="left">WavPack 4.41 (extra high -x)</td><td>27:23.56</td><td bgcolor="#F8F8E8">23:29.26</td><td>10:58.90</td><td bgcolor="#F8F8E8">7:48.32</td><td>396.56 MB</td><td bgcolor="#F8F8E8">52.22%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">optimFROG 4.21 (mode 0 @ 4x)</td><td>16:36.98</td><td bgcolor="#E0E0D4">12:51.58</td><td>17:55.55</td><td bgcolor="#E0E0D4">14:58.99</td><td>394.69 MB</td><td bgcolor="#E0E0D4">52.24%</td></tr>
- <tr align="right"><td align="left">Tak 1.01 (turbo)</td><td>7:25.21</td><td bgcolor="#F8F8E8">3:51.02</td><td>6:16.82</td><td bgcolor="#F8F8E8">3:10.87</td><td>399.97 MB</td><td bgcolor="#F8F8E8">52.71%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (high)</td><td>11:48.47</td><td bgcolor="#E0E0D4">7:45.58</td><td>9:19.07</td><td bgcolor="#E0E0D4">6:05.35</td><td>399.90 MB</td><td bgcolor="#E0E0D4">52.73%</td></tr>
- <tr align="right"><td align="left">Monkey's Audio 3.99 (fast)</td><td>10:24.29</td><td bgcolor="#F8F8E8">6:58.46</td><td>11:32.07</td><td bgcolor="#F8F8E8">8:37.81</td><td>400.57 MB</td><td bgcolor="#F8F8E8">53.11%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal -x)</td><td>14:14.54</td><td bgcolor="#E0E0D4">10:13.33</td><td>7:23.14</td><td bgcolor="#E0E0D4">4:24.26</td><td>403.10 MB</td><td bgcolor="#E0E0D4">53.19%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-8)</td><td>26:46.72</td><td bgcolor="#F8F8E8">23:21.85</td><td>5:40.25</td><td bgcolor="#F8F8E8">2:36.47</td><td>404.23 MB</td><td bgcolor="#F8F8E8">53.36%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (normal)</td><td>9:48.59</td><td bgcolor="#E0E0D4">5:46.91</td><td>7:37.26</td><td bgcolor="#E0E0D4">4:30.11</td><td>405.84 MB</td><td bgcolor="#E0E0D4">53.56%</td></tr>
- <tr align="right" bgcolor="#FFFFFF"><td align="left">FLAC 1.2.1 (-5, default)</td><td>10:07.41</td><td bgcolor="#FFFFFF">6:35.68</td><td>5:23.16</td><td bgcolor="#FFFFFF">2:22.41</td><td>406.25 MB</td><td bgcolor="#FFFFFF">53.67%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast -x)</td><td>11:54.47</td><td bgcolor="#E0E0D4">7:50.84</td><td>6:32.50</td><td bgcolor="#E0E0D4">3:25.77</td><td>411.52 MB</td><td bgcolor="#E0E0D4">54.39%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-3)</td><td>7:23.77</td><td bgcolor="#F8F8E8">3:47.42</td><td>5:31.15</td><td bgcolor="#F8F8E8">2:19.07</td><td>412.42 MB</td><td bgcolor="#F8F8E8">54.57%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">WavPack 4.41 (fast)</td><td>8:52.27</td><td bgcolor="#E0E0D4">4:47.74</td><td>6:33.73</td><td bgcolor="#E0E0D4">3:28.19</td><td>415.05 MB</td><td bgcolor="#E0E0D4">54.92%</td></tr>
- <tr align="right"><td align="left">Apple Lossless (iTunes 4.5)</td><td>19:53.27</td><td bgcolor="#F8F8E8">19:53.27</td><td>10:01.86</td><td bgcolor="#F8F8E8">10:01.86</td><td>414.45 MB</td><td bgcolor="#F8F8E8">54.96%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Bonk 0.5</td><td>51:45.58</td><td bgcolor="#E0E0D4">48:32.10</td><td>42:02.76</td><td bgcolor="#E0E0D4">39:05.43</td><td>418.65 MB</td><td bgcolor="#E0E0D4">55.43%</td></tr>
- <tr align="right"><td align="left">FLAC 1.2.1 (-1)</td><td>6:24.51</td><td bgcolor="#F8F8E8">2:42.93</td><td>5:26.87</td><td bgcolor="#F8F8E8">2:17.49</td><td>431.72 MB</td><td bgcolor="#F8F8E8">56.97%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">Shorten 3.2a (-p0 -b256, default)</td><td>10:01.38</td><td bgcolor="#E0E0D4">6:23.40</td><td>6:38.43</td><td bgcolor="#E0E0D4">3:30.66</td><td>433.56 MB</td><td bgcolor="#E0E0D4">57.29%</td></tr>
- <tr align="right"><td align="left">Shorten 3.2a (-p8 -b2048)</td><td>12:09.68</td><td bgcolor="#F8F8E8">8:31.46</td><td>7:34.17</td><td bgcolor="#F8F8E8">4:24.09</td><td>438.86 MB</td><td bgcolor="#F8F8E8">58.11%</td></tr>
- <tr align="right" bgcolor="#D4D4C0"><td align="left">RIFF WAVE</td><td>73:44.94</td><td bgcolor="#E0E0D4"></td><td>73:44.94</td><td bgcolor="#E0E0D4"></td><td>780.56 MB</td><td bgcolor="#E0E0D4">100.00%</td></tr>
- </table>
- </td></tr></table>
- <br />
- <a href="comparison__chopin_prelude_24.html">Frederic Chopin Prelude No.24 in d minor </a><br />
- <a href="comparison__dream_theater_600.html">Dream Theater 6:00 </a><br />
- <a href="comparison__eddie_warner_titus.html">Eddie Warner Titus </a><br />
- <a href="comparison__fanfare_de_l_eventail_de_jeanne.html">Maurice Ravel Fanfare from "L'eventail de Jeanne" </a><br />
- <a href="comparison__gloria_estefan_conga.html">Gloria Estefan Conga </a><br />
- <a href="comparison__hand_in_my_pocket.html">Alanis Morissette Hand In My Pocket </a><br />
- <a href="comparison__l_sub_raga_sivapriya.html">L. Subramaniam Raga Sivapriya </a><br />
- <a href="comparison__laetatus_sum.html">The Benedictine Monks of Santo Domingo de Silos Laetatus Sum </a><br />
- <a href="comparison__mummified_in_barbed_wire.html">Cannibal Corpse Mummified In Barbed Wire </a><br />
- <a href="comparison__prokofiev_pcon3_3.html">Sergei Prokofiev Piano Concerto No.3 (3rd movement) </a><br />
- <a href="comparison__ravel_sq4_4.html">Maurice Ravel String Quartet (4th movement) </a><br />
- <a href="comparison__scarlatti_k42.html">Domenico Scarlatti Sonata K.42 (arr.Yepes for guitar) </a><br />
- <a href="comparison__tool_forty_six_and_2.html">Tool Forty-six &amp; 2 </a><br />
- <a href="comparison__white_room.html">Cream White Room </a><br />
-
- </div> <!-- box_body -->
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/developers.html b/3rdparty/libflac/doc/html/developers.html
deleted file mode 100644
index 00f2eae6e6d..00000000000
--- a/3rdparty/libflac/doc/html/developers.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - developers</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;developers&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/developers.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- developers
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- FLAC is an open source project and we are happy to enlist the help of anyone who wants to contribute, or to help with FLAC support in other programs and devices. The preferred method of communication is the <a href="http://lists.xiph.org/mailman/listinfo/flac-dev">developer mailing list</a> (you must subscribe to post).<br />
- <br />
- FLAC is open to third-party developers who want to add support for FLAC into their programs. All the necessary functionality is contained the libFLAC libraries which are licensed under <a href="license.html">Xiph.org's BSD license</a>.<br />
- <br />
- Some pointers to developer documentation and code:<br />
- <ul>
- <li><a href="license.html">License</a> - The license under which the official tools are distributed.</li>
- <li><a href="api/index.html">libFLAC and libFLAC++ APIs</a> - Complete library documentation.</li>
- <li><a href="documentation_example_code.html">Example Code</a> - Some simple example programs demonstrating the use of libFLAC and libFLAC++.</li>
- <li><a href="format.html">FLAC Format Specification</a> - The formal specification.</li>
- <li><a href="ogg_mapping.html">Ogg FLAC Mapping</a> - How FLAC should be embedded in an Ogg container.</li>
- <li><a href="id.html">ID Registration</a> - Register an ID if you need to write custom metadata.</li>
- <li><a href="http://sourceforge.net/cvs/?group_id=13478">CVS Access</a> - instructions for checking out the source code.</li>
- <li><a href="http://flac.cvs.sourceforge.net/flac">Browse the CVS repository</a> from your web browser.</li>
- </ul>
- More resources are available on the <a href="http://sourceforge.net/projects/flac">FLAC project page</a> on Sourceforge.net.
- </div>
- <div class="box_footer"></div>
-</div>
-
-<br />
-
-<div class="box">
- <div class="box_title">
- goals
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- Since FLAC is an open-source project, it's important to have a set of goals that everyone works to. They may change slightly from time to time but they're a good guideline. Changes should be in line with the goals and should not attempt to embrace any of the anti-goals.<br />
- <br />
- <b>Goals</b>
- <ul>
- <li>
- FLAC should be and stay an open format with an open-source reference implementation.
- </li>
- <li>
- FLAC should be lossless. This seems obvious but lossy compression seems to creep into every audio codec. This goal also means that <span class="commandname">flac</span> should stay archival quality and be truly lossless for all input. Testing of releases should be thorough.
- </li>
- <li>
- FLAC should yield respectable compression, on par or better than other lossless codecs.
- </li>
- <li>
- FLAC should allow at least realtime decoding on even modest hardware.
- </li>
- <li>
- FLAC should support fast sample-accurate seeking.
- </li>
- <li>
- FLAC should allow gapless playback of consecutive streams. This follows from the lossless goal.
- </li>
- <li>
- The FLAC project owes a lot to the many people who have advanced the audio compression field so freely, and aims also to contribute through the open-source development of new ideas.
- </li>
- </ul>
- <b>Anti-goals</b><br />
- <ul>
- <li>
- Lossy compression. There are already many suitable lossy formats (<a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a>, <a href="http://www.mp3-tech.org/">MP3</a>, etc.).
- </li>
- <li>
- Copy prevention, DRM, etc. There is no intention to add any copy prevention methods. Of course, we can't stop someone from encrypting a FLAC stream in another container (e.g. the way Apple encrypts AAC in MP4 with FairPlay), that is the choice of the user.
- </li>
- </ul>
- </div>
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/documentation.html b/3rdparty/libflac/doc/html/documentation.html
deleted file mode 100644
index 2b40f170e54..00000000000
--- a/3rdparty/libflac/doc/html/documentation.html
+++ /dev/null
@@ -1,105 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - documentation</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;documentation&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/documentation.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- documentation
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- FLAC is a general purpose audio format supported by many programs. Most of the documentation here is about the FLAC format itself and the tools we provide, but there is also information on using other programs that support FLAC.
- <ul>
- <li><a href="features.html">Introduction</a> - What is FLAC?</li>
- <li><a href="download.html">Getting FLAC</a> - How to download what you need to play or make FLAC files.</li>
- <li><a href="documentation_tasks.html">Using FLAC</a> - If you have some FLAC files and want to do something with them, or want to create FLAC files, look here.</li>
- <li><a href="faq.html">FAQ</a> - Frequently Asked Questions</li>
- </ul>
- In more detail:
- <ul>
- <li><a href="documentation_format_overview.html">About the FLAC Format</a> - An overview of the FLAC format for power users.</li>
- <li><a href="documentation_tools.html">Official Tools</a> - How to use the <span class="commandname">flac</span> and <span class="commandname">metaflac</span> command-line tools.</li>
- <li><a href="comparison.html">Comparison</a> - A comparison of FLAC with other lossless codecs.</li>
- <li><a href="documentation_bugs.html">Bugs</a> - How to report bugs and request features, and a list of known bugs in the FLAC tools.</li>
- <li><a href="http://sourceforge.net/tracker/?group_id=13478&amp;atid=213478">Request Support</a> - Support for the official FLAC tools. For other programs, use <a href="http://www.hydrogenaudio.org/">hydrogenaudio.org</a>
- <li><a href="http://lists.xiph.org/mailman/listinfo/flac">FLAC Mailing List</a> - General discussion about FLAC, tools, releases, etc. (You must subscribe to post.)</li>
- </ul>
- For developers who want to add FLAC support to their programs:
- <ul>
- <li><a href="documentation_format_overview.html">About the FLAC Format</a> - An overview of the FLAC format for power users.</li>
- <li><a href="format.html">FLAC Format Specification</a> - The formal specification.</li>
- <li><a href="ogg_mapping.html">Ogg FLAC Mapping</a> - How FLAC should be embedded in an Ogg container.</li>
- <li><a href="api/index.html">libFLAC and libFLAC++ APIs</a> - Complete library documentation.</li>
- <li><a href="documentation_example_code.html">Example Code</a> - Some simple example programs demonstrating the use of libFLAC and libFLAC++.</li>
- <li><a href="license.html">License</a> - The license under which the official tools are distributed.</li>
- <li>(see also the <a href="developer.html">developer page</a>)</li>
- </ul>
- Keep in mind that the online version of the documentation will always apply to the latest release. For older releases, check the documentation included with the release package.
- </div>
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/documentation_bugs.html b/3rdparty/libflac/doc/html/documentation_bugs.html
deleted file mode 100644
index 8900bef0ca3..00000000000
--- a/3rdparty/libflac/doc/html/documentation_bugs.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - documentation</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/documentation.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- <a name="bugs">known bugs</a>
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- The following are major known bugs in the current (1.1.4) release:
- <ul>
- <li>
- When encoding to Ogg FLAC, if there are too many seek points (&gt;240), the seek table will not have the offsets written back properly after encoding.
- </li>
- </ul>
- </div>
- <div class="box_footer"></div>
-</div>
-
-<br />
-
-<div class="box">
- <div class="box_title">
- <a name="bug_reporting">reporting bugs</a>
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- To report a bug, please go to the <a href="http://sourceforge.net/tracker/?group_id=13478&amp;atid=113478">FLAC bug tracker</a> (or appropriately the <a href="http://sourceforge.net/tracker/?group_id=13478&amp;atid=363478">feature request tracker</a>, <a href="http://sourceforge.net/tracker/?group_id=13478&amp;atid=313478">patch page</a>, or <a href="http://sourceforge.net/tracker/?group_id=13478&amp;atid=213478">support page</a>).<br />
- <br />
- First check that there is not already an existing request. If you do submit a new request, make sure and provide an email contact <b>and</b> use the Monitor feature.<br />
- <br />
- Note that we get many false bug reports from people with faulty hardware or who overclock their machines that FLAC is not working. Please do due diligence if you are getting FLAC encoding or decoding errors that it is not the fault of the hardware. FLAC encoding tends to highlight problems with bad RAM, corrupted files, and excessive overclocking.
- </div>
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/documentation_example_code.html b/3rdparty/libflac/doc/html/documentation_example_code.html
deleted file mode 100644
index 041b7aea000..00000000000
--- a/3rdparty/libflac/doc/html/documentation_example_code.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - developers</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/documentation.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- example code
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- The FLAC source code has several small example programs that demonstrate how to use the libraries. The source is available on the <a href="download.html">download page</a>, or can be <a href="http://sourceforge.net/cvs/?group_id=13478">checked out from CVS</a> or <a href="http://flac.cvs.sourceforge.net/flac/flac/examples/">browsed online</a>. The examples complement the <a href="api/index.html">API documentation</a>.<br />
- <br />
- Currently the examples show how to encode WAV files to FLAC and vice-versa using both libFLAC and libFLAC++. Over time we'll be adding more examples.
- </div>
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/documentation_format_overview.html b/3rdparty/libflac/doc/html/documentation_format_overview.html
deleted file mode 100644
index fe5e256cd40..00000000000
--- a/3rdparty/libflac/doc/html/documentation_format_overview.html
+++ /dev/null
@@ -1,130 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - documentation</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/documentation.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- <a name="format">format</a>
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- The basic structure of a FLAC stream is:
- <ul>
- <li>The four byte string "<span class="code">fLaC</span>"</li>
- <li>The <a href="format.html#def_STREAMINFO"><span class="code">STREAMINFO</span></a> metadata block</li>
- <li>Zero or more other metadata blocks</li>
- <li>One or more audio frames</li>
- </ul>
- The first four bytes are to identify the FLAC stream. The metadata that follows contains all the information about the stream except for the audio data itself. After the metadata comes the encoded audio data.<br />
- <br />
- <b>METADATA</b><br />
- <br />
- FLAC defines several types of metadata blocks (see the <a href="format.html">format</a> page for the complete list). Metadata blocks can be any length and new ones can be defined. A decoder is allowed to skip any metadata types it does not understand. Only one is mandatory: the <span class="code">STREAMINFO</span> block. This block has information like the sample rate, number of channels, etc., and data that can help the decoder manage its buffers, like the minimum and maximum data rate and minimum and maximum block size. Also included in the <span class="code">STREAMINFO</span> block is the MD5 signature of the <i>unencoded</i> audio data. This is useful for checking an entire stream for transmission errors.<br />
- <br />
- Other blocks allow for padding, seek tables, tags, cuesheets, and application-specific data. There are <a href="documentation_tools_flac.html"><span class="commandname">flac</span> options</a> for adding <span class="code">PADDING</span> blocks or specifying seek points. FLAC does not require seek points for seeking but they can speed up seeks, or be used for cueing in editing applications.<br />
- <br />
- Also, if you have a need of a custom metadata block, you can define your own and request an ID <a href="id.html">here</a>. Then you can reserve a <span class="code">PADDING</span> block of the correct size when encoding, and overwrite the padding block with your <span class="code">APPLICATION</span> block after encoding. The resulting stream will be FLAC compatible; decoders that are aware of your metadata can use it and the rest will safely ignore it.<br />
- <br />
- <b>AUDIO DATA</b><br />
- <br />
- After the metadata comes the encoded audio data. Audio data and metadata are not interleaved. Like most audio codecs, FLAC splits the unencoded audio data into blocks, and encodes each block separately. The encoded block is packed into a frame and appended to the stream. The reference encoder uses a single block size for the whole stream but the FLAC format does not require it.<br />
- <br />
- <b>BLOCKING</b><br />
- <br />
- The block size is an important parameter to encoding. If it is too small, the frame overhead will lower the compression. If it is too large, the modeling stage of the compressor will not be able to generate an efficient model. Understanding FLAC's modeling will help you to improve compression for some kinds of input by varying the block size. In the most general case, using linear prediction on 44.1kHz audio, the optimal block size will be between 2-6 ksamples. <span class="commandname">flac</span> defaults to a block size of 4096 in this case. Using the fast fixed predictors, a smaller block size is usually preferable because of the smaller frame header.<br />
- <br />
- <b>INTER-CHANNEL DECORRELATION</b><br />
- <br />
- In the case of stereo input, once the data is blocked it is optionally passed through an inter-channel decorrelation stage. The left and right channels are converted to center and side channels through the following transformation: mid = (left + right) / 2, side = left - right. This is a lossless process, unlike joint stereo. For normal CD audio this can result in significant extra compression. <span class="commandname">flac</span> has two options for this: <span class="argument">-m</span> always compresses both the left-right and mid-side versions of the block and takes the smallest frame, and <span class="argument">-M</span>, which adaptively switches between left-right and mid-side.<br />
- <br />
- <b>MODELING</b><br />
- <br />
- In the next stage, the encoder tries to approximate the signal with a function in such a way that when the approximation is subracted, the result (called the <i>residual</i>, <i>residue</i>, or <i>error</i>) requires fewer bits-per-sample to encode. The function's parameters also have to be transmitted so they should not be so complex as to eat up the savings. FLAC has two methods of forming approximations: 1) fitting a simple polynomial to the signal; and 2) general linear predictive coding (LPC). I will not go into the details here, only some generalities that involve the encoding options.<br />
- <br />
- First, fixed polynomial prediction (specified with <span class="argument">-l 0</span>) is much faster, but less accurate than LPC. The higher the maximum LPC order, the slower, but more accurate, the model will be. However, there are diminishing returns with increasing orders. Also, at some point (usually around order 9) the part of the encoder that guesses what is the best order to use will start to get it wrong and the compression will actually decrease slightly; at that point you will have to you will have to use the exhaustive search option <span class="argument">-e</span> to overcome this, which is significantly slower.<br />
- <br />
- Second, the parameters for the fixed predictors can be transmitted in 3 bits whereas the parameters for the LPC model depend on the bits-per-sample and LPC order. This means the frame header length varies depending on the method and order you choose and can affect the optimal block size.<br />
- <br />
- <b>RESIDUAL CODING</b><br />
- <br />
- Once the model is generated, the encoder subracts the approximation from the original signal to get the residual (error) signal. The error signal is then losslessly coded. To do this, FLAC takes advantage of the fact that the error signal generally has a Laplacian (two-sided geometric) distribution, and that there are a set of special Huffman codes called Rice codes that can be used to efficiently encode these kind of signals quickly and without needing a dictionary.<br />
- <br />
- Rice coding involves finding a single parameter that matches a signal's distribution, then using that parameter to generate the codes. As the distribution changes, the optimal parameter changes, so FLAC supports a method that allows the parameter to change as needed. The residual can be broken into several <i>contexts</i> or <i>partitions</i>, each with it's own Rice parameter. <span class="commandname">flac</span> allows you to specify how the partitioning is done with the <span class="argument">-r</span> option. The residual can be broken into 2^<i>n</i> partitions, by using the option <span class="argument">-r n,n</span>. The parameter <i>n</i> is called the <i>partition order</i>. Furthermore, the encoder can be made to search through <i>m</i> to <i>n</i> partition orders, taking the best one, by specifying <span class="argument">-r m,n</span>. Generally, the choice of n does not affect encoding speed but m,n does. The larger the difference between m and n, the more time it will take the encoder to search for the best order. The block size will also affect the optimal order.<br />
- <br />
- <b>FRAMING</b><br />
- <br />
- An audio frame is preceded by a frame header and trailed by a frame footer. The header starts with a sync code, and contains the minimum information necessary for a decoder to play the stream, like sample rate, bits per sample, etc. It also contains the block or sample number and an 8-bit CRC of the frame header. The sync code, frame header CRC, and block/sample number allow resynchronization and seeking even in the absence of seek points. The frame footer contains a 16-bit CRC of the entire encoded frame for error detection. If the reference decoder detects a CRC error it will generate a silent block.<br />
- <br />
- <b>MISCELLANEOUS</b><br />
- <br />
- As a convenience, the reference decoder knows how to skip <a href="http://www.id3.org/">ID3v1 and ID3v2 tags</a>. Note however that the FLAC specification does not require compliant implementations to support ID3 in any form and their use is strongly discouraged.<br />
- <br />
- <span class="commandname">flac</span> has a verify option <span class="argument">-V</span> that verifies the output while encoding. With this option, a decoder is run in parallel to the encoder and its output is compared against the original input. If a difference is found <span class="commandname">flac</span> will stop with an error.
- </div>
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/documentation_tasks.html b/3rdparty/libflac/doc/html/documentation_tasks.html
deleted file mode 100644
index 7d3d9ae2b20..00000000000
--- a/3rdparty/libflac/doc/html/documentation_tasks.html
+++ /dev/null
@@ -1,226 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - documentation</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/documentation.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- using flac
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- Since FLAC is supported by so many different programs, it can be a daunting task for the new user to choose a suitable program. This page will walk you through the steps. First, choose your operating system:
- <ul>
- <li><a href="#windows">Windows</a></li>
- <li><a href="#osx">Mac OS X</a></li>
- <li><a href="#unix">Linux, *BSD, and other Unixes</a></li>
- </ul>
- </div>
- <div class="box_footer"></div>
-</div>
-
-<br />
-
-<div class="box">
- <div class="box_title">
- <a name="windows">windows</a>
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- <br />
- <b>Using iTunes</b>? Sorry, due to iTunes' design we can't add FLAC support; <a href="itunes.html">ask Apple to support FLAC!</a><br />
- <br />
- <b>If you want to play FLAC files</b>, here is how with some popular players:
- <ul>
- <li><b>Windows Media Player (WMP)</b> - Microsoft does not make it easy, but it is possible if you follow this guide: <a href="http://www.losslessaudioblog.com/wmpmce-lossless-guide/">How to add FLAC support to Windows Media Player</a></li>
- <li><a href="http://winamp.com/"><b>Winamp</b></a> - Winamp plays FLAC out of the box since version 5.31 if you download the Full version (not Lite).</li>
- <li><a href="http://dbpoweramp.com/dbpoweramp.htm"><b>dbPowerAMP Audio Player</b></a> - Install the <a href="http://www.dbpoweramp.com/codec-central-flac.htm">FLAC plugin</a>.</li>
- <li><a href="http://www.jrmediacenter.com/"><b>Media Center</b></a>/<a href="http://www.mediajukebox.com/"><b>Media Jukebox</b></a> - Install the <a href="http://mcplugins.sourceforge.net/in_flac.html">in_FLAC plugin</a>.</li>
- <li><a href="http://mediamonkey.com/"><b>MediaMonkey</b></a> - Plays FLAC out of the box.</li>
- <li>(<a href="download.html#extras_players_windows">more</a>)</li>
- </ul>
- <b>If you want to rip CDs to FLAC</b>, here is a short list of the most popular programs. Experts generally prefer EAC for the most accurate ripping. dbPowerAMP also does a fine job and is easier to set up.
- <ul>
- <li><b>Windows Media Player (WMP)</b> - Sorry, Microsoft has made it impossible to rip to FLAC in WMP; hopefully this will change eventually.</li>
- <li><a href="http://winamp.com/"><b>Winamp</b></a> - Winamp can rip to FLAC out of the box since version 5.31 if you download the Full version (not Lite).</li>
- <li><a href="http://dbpoweramp.com/dmc.htm"><b>dbPowerAMP Music Converter</b></a> - Install the <a href="http://www.dbpoweramp.com/codec-central-flac.htm">FLAC plugin</a>.</li>
- <li><a href="http://www.jrmediacenter.com/"><b>Media Center</b></a>/<a href="http://www.mediajukebox.com/"><b>Media Jukebox</b></a> - Install the <a href="http://mcplugins.sourceforge.net/enc_flac.html">Enc_FLAC plugin</a>.</li>
- <li><a href="http://www.exactaudiocopy.de/"><b>Exact Audio Copy (EAC)</b></a> - First <a href="http://cyberial.com/flacinstaller.asp">install the official FLAC tools</a>, then follow <a href="http://wiki.hydrogenaudio.org/index.php?title=EAC_and_Flac">this guide</a>. EAC is notoriously complex so here are some other guides: <a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=30959">guide</a> <a href="http://wiki.slimdevices.com/index.cgi?EACBeginners">guide</a> <a href="http://www.saunalahti.fi/cse/EAC/index.html">guide</a> <a href="http://www.teqnilogik.com/tutorials/eac.htm">guide</a>. EAC can also be set up with <a href="http://www.legroom.net/modules.php?op=modload&name=Open_Source&file=index&page=software&app=autoflac">AutoFLAC</a>, <a href="http://omniencoder.autobotcity.net/">Omni Encoder</a>, or <a href="http://mareo.netfirms.com/">MAREO</a> to rip to FLAC or multiple formats at once.</li>
- <li><a href="http://cdexos.sourceforge.net/"><b>CDex</b></a> - First <a href="http://cyberial.com/flacinstaller.asp">install the official FLAC tools</a>, then follow <a href="http://www.pfarrell.com/music/slimserver/cdextip.html">this guide</a>.</li>
- <li>(<a href="download.html#extras_gui_windows">more</a>)</li>
- </ul>
- <b>If you want to burn FLAC files to CD</b>, here is a short list of the most popular programs:
- <ul>
- <li><b>Windows Media Player (WMP)</b> - Sorry, Microsoft has made it impossible to burn FLAC to CD in WMP; hopefully this will change eventually.</li>
- <!-- works?
- <li><a href="http://winamp.com/"><b>Winamp</b></a> - Winamp can rip to FLAC out of the box since version 5.31 if you download the Full version (not Lite).</li>
- -->
- <li><a href="http://dbpoweramp.com/cdwriter.htm"><b>dbPowerAMP CD Writer</b></a> - Install the <a href="http://www.dbpoweramp.com/codec-central-flac.htm">FLAC plugin</a>.</li>
- <li><a href="http://www.burrrn.net/?page_id=4"><b>Burrrn</b></a> - Supports burning from FLAC out of the box.</li>
- <li>(<a href="download.html#extras_burning_windows">more</a>)</li>
- </ul>
- <b>If you want to convert audio files to/from FLAC</b>, there are quite a few programs:
- <ul>
- <!--
- <li><b>Windows Media Player (WMP)</b> - Sorry, Microsoft has made it impossible to burn FLAC to CD in WMP; hopefully this will change eventually.</li>
- -->
- <li><a href="http://winamp.com/"><b>Winamp</b></a> - Winamp can convert to/from FLAC out of the box since version 5.31 if you download the Full version (not Lite).</li>
- <li><a href="http://dbpoweramp.com/dmc.htm"><b>dbPowerAMP Music Converter</b></a> - Install the <a href="http://www.dbpoweramp.com/codec-central-flac.htm">FLAC plugin</a>.</li>
- <li>FLAC Frontend - A simple GUI that comes in our <a href="http://cyberial.com/flacinstaller.asp">FLAC Installer</a> for Windows. Also includes our <a href="documentation_tools.html">command-line programs</a> for converting FLAC files and editing metadata.</li>
- <li><a href="http://foobar2000.org/"><b>foobar2000</b></a> - A swiss army knife that supports FLAC out of the box.</li>
- <li><a href="http://mediamonkey.com/"><b>MediaMonkey</b></a></li>
- <li>(<a href="download.html#extras_gui_windows">more</a>)</li>
- </ul>
- <b>If you want to edit the tags in FLAC files</b>:
- <ul>
- <li><a href="http://www.mp3tag.de/en/index.html"><b>mp3tag</b></a> - A free tag editor which supports editing tags, autotagging from online databases, cover art, and more.</li>
- </ul>
- </div>
- <div class="box_footer"></div>
-</div>
-
-<br />
-
-<div class="box">
- <div class="box_title">
- <a name="osx">mac os x</a>
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- <br />
- <b>Using iTunes</b>? Sorry, due to iTunes' design we can't add FLAC support; <a href="itunes.html">ask Apple to support FLAC!</a><br />
- <br />
- <b>If you want to play FLAC files</b>, here is how with some popular players:
- <ul>
- <li><a href="http://cogosx.sourceforge.net/">Cog</a></li>
- <li><a href="http://arcticlounge.com/maltx/">MacAmp Lite X</a></li>
- <li><a href="http://www.songbirdnest.com/">Songbird</a></li>
- <li><a href="http://www.videolan.org/vlc/index.html">VLC</a></li>
- <li>(<a href="download.html#extras_players_osx">more</a>)</li>
- </ul>
- <b>If you want to rip CDs to FLAC</b>, there are a few options:
- <ul>
- <li>Roxio's <a href="http://www.roxio.com/en/products/toast/index.jhtml">Toast 7 Titanium</a>.</li>
- <li><a href="http://sbooth.org/Max/">Max</a>.</li>
- </ul>
- <b>If you want to burn FLAC files to CD</b>:
- <ul>
- <li>Roxio's <a href="http://www.roxio.com/en/products/toast/index.jhtml">Toast 7 Titanium</a>.</li>
- </ul>
- <b>If you want to convert audio files to/from FLAC</b>:
- <ul>
- <li>Roxio's <a href="http://www.roxio.com/en/products/toast/index.jhtml">Toast 7 Titanium</a>.</li>
- <li><a href="http://mac.softpedia.com/get/Audio/MacFLAC.shtml">MacFLAC</a>. Also includes our <a href="documentation_tools.html">command-line programs</a> for converting FLAC files and editing metadata.</li>
- <li><a href="http://www.chaoticsoftware.com/ProductPages/MediaRage.html">MediaRage</a> can edit FLAC tags.</li>
- </ul>
- </div>
- <div class="box_footer"></div>
-</div>
-
-<br />
-
-<div class="box">
- <div class="box_title">
- <a name="unix">*nix</a>
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- In the Unix world, FLAC support is quite widespread and it's usually only a matter of installing packages, so here are a few pointers. See the <a href="links.html#software">software links section</a> for many more.<br />
- <br />
- <b>To play FLAC files</b>:
- <ul>
- <li><a href="http://alsaplayer.org/">AlsaPlayer</a></li>
- <li><a href="http://www.giantdisc.org/">GiantDisc</a>: Linux jukebox + Palm remote</li>
- <li><a href="http://www.mplayerhq.hu/">MPlayer</a></li>
- <li><a href="http://muine.gooeylinux.org/">Muine</a>: a music player for GNOME</li>
- <li><a href="http://musik.berlios.de/">Musik</a>: an open-source, cross-platform multimedia player and library</li>
- <li><a href="http://www.videolan.org/">VideoLAN</a> client</li>
- <li><a href="http://xine.sourceforge.net/">Xine</a> multimedia player</li>
- <li><a href="http://www.amb.org/xmcd/">xmcd</a>: X CD player</li>
- <li><a href="http://www.xmms.org/">XMMS</a>: X MultiMedia System</li>
- <li>(<a href="links.html#software">more</a>)</li>
- </ul>
- <b>To rip CDs to FLAC</b>:
- <ul>
- <li><a href="http://www.nostatic.org/grip/">Grip</a> is a great ripping and encoding front end and can be easily configured to use flac. See <a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=45939">this thread</a> on how to configure Grip for FLAC.</li>
- <li><a href="http://www.amb.org/xmcd/">xmcd</a> is a CD ripper with CDDB support as well as a player.</li>
- <li>(<a href="links.html#software">more</a>)</li>
- </ul>
- <b>To burn FLAC files to CD</b>, here is a short list of the most popular programs:
- <ul>
- <li><a href="http://arson.sourceforge.net/">Arson</a>: KDE ripper/burner</li>
- <li><a href="http://www.k3b.org/">K3B</a>: CD/DVD creator for Linux</li>
- <li>(<a href="links.html#software">more</a>)</li>
- </ul>
- <b>To convert audio files to/from FLAC</b>, there are quite a few programs:
- <ul>
- <li>Official <a href="download.html">FLAC tools</a> have the command-line programs.</li>
- <li>(<a href="links.html#software">more</a>)</li>
- </ul>
- </div>
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/documentation_tools.html b/3rdparty/libflac/doc/html/documentation_tools.html
deleted file mode 100644
index 88593ec55ca..00000000000
--- a/3rdparty/libflac/doc/html/documentation_tools.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - documentation</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/documentation.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- tools
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- FLAC is a general purpose audio format supported by many programs, but in this section we are concentrating on just the official tools provided by the FLAC project:
- <ul>
- <li><a href="documentation_tools_flac.html">flac</a> - The command-line encoder and decoder.</li>
- <li><a href="documentation_tools_metaflac.html">metaflac</a> - The command-line metadata editor.</li>
- <li><a href="documentation_tools_plugins.html">plugins</a> - Setting up the Winamp and XMMS plugins.</li>
- </ul>
- Other resources:
- <ul>
- <li><a href="documentation_bugs.html">Bugs</a> - How to report bugs and request features, and a list of known bugs in the FLAC tools.</li>
- <li><a href="http://sourceforge.net/tracker/?group_id=13478&amp;atid=213478">Request Support</a> - Support for the official FLAC tools. For other programs, use <a href="http://www.hydrogenaudio.org/">hydrogenaudio.org</a>
- <li><a href="http://lists.xiph.org/mailman/listinfo/flac">FLAC Mailing List</a> - General discussion about FLAC, tools, releases, etc. (You must subscribe to post.)</li>
- </ul>
- <br />
- See <a href="download.html">Getting FLAC</a> for instructions on downloading and installing the official FLAC tools, or <a href="documentation_tasks.html">Using FLAC</a> for instructions and guides on playing FLAC files, ripping CDs to FLAC, etc.
- </div>
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/documentation_tools_flac.html b/3rdparty/libflac/doc/html/documentation_tools_flac.html
deleted file mode 100644
index 4720b53d92d..00000000000
--- a/3rdparty/libflac/doc/html/documentation_tools_flac.html
+++ /dev/null
@@ -1,1135 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - documentation</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/documentation.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- <a name="flac">flac</a>
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- <a name="toc"><font size="+1"><b><u>Table of Contents</u></b></font></a>
- <ul>
- <li><a href="#usage">General Usage</a></li>
- <li><a href="#tutorial">Tutorial</a></li>
- <li><a href="#general_options">General Options</a></li>
- <li><a href="#analysis_options">Analysis Options</a></li>
- <li><a href="#decoding_options">Decoding Options</a></li>
- <li><a href="#encoding_options">Encoding Options</a></li>
- <li><a href="#format_options">Format Options</a></li>
- <li><a href="#negative_options">Negative Options</a></li>
- <li><a href="#option_index">Option Index</a></li>
- </ul>
- <a name="usage"><font size="+1"><b><u>General Usage</u></b></font></a><br />
- <br />
- <span class="commandname">flac</span> is the command-line file encoder/decoder. The encoder currently supports as input RIFF WAVE, AIFF, FLAC or Ogg FLAC format, or raw interleaved samples. The decoder currently can output to RIFF WAVE or AIFF format, or raw interleaved samples. <span class="commandname">flac</span> only supports linear PCM samples (in other words, no A-LAW, uLAW, etc.), and the input must be between 4 and 24 bits per sample. This is not a limitation of the FLAC format, just the reference encoder/decoder.<br />
- <br />
- <span class="commandname">flac</span> assumes that files ending in ".wav" or that have the RIFF WAVE header present are WAVE files, files ending in ".aif" or ".aiff" or have the AIFF header present are AIFF files, and files ending in ".flac" or have the FLAC header present are FLAC files. This assumption may be overridden with a command-line option. It also assumes that files ending in ".oga" or ".ogg" or have the Ogg FLAC header present are Ogg FLAC files. Other than this, <span class="commandname">flac</span> makes no assumptions about file extensions, though the convention is that FLAC files have the extension ".flac" (or ".fla" on ancient "8.3" file systems like FAT-16).<br />
- <br />
- Before going into the full command-line description, a few other things help to sort it out: 1) <span class="commandname">flac</span> encodes by default, so you must use <b>-d</b> to decode; 2) the options <span class="argument">-0</span> .. <span class="argument">-8</span> (or <span class="argument">--fast</span> and <span class="argument">--best</span>) that control the compression level actually are just synonyms for different groups of specific encoding options (described later) and you can get the same effect by using the same options; 3) <span class="commandname">flac</span> behaves similarly to gzip in the way it handles input and output files.<br />
- <br />
- Skip to the <a href="#tutorial">tutorial</a> below for examples of some common tasks.<br />
- <br />
- <span class="commandname">flac</span> will be invoked one of four ways, depending on whether you are encoding, decoding, testing, or analyzing:
- <ul>
- <li>
- Encoding: flac [<i><a href="#general_options">&lt;general-options&gt;</a></i>] [<i><a href="#format_options">&lt;format-options&gt;</a></i>] [<i><a href="#encoding_options">&lt;encoding options&gt;</a></i>] [inputfile [...]]
- </li>
- <li>
- Decoding: flac -d [<i><a href="#general_options">&lt;general-options&gt;</a></i>] [<i><a href="#format_options">&lt;format-options&gt;</a></i>] [<i><a href="#decoding_options">&lt;decoding options&gt;</a></i>] [FLACfile [...]]
- </li>
- <li>
- Testing: flac -t [<i><a href="#general_options">&lt;general-options&gt;</a></i>] [FLACfile [...]]
- </li>
- <li>
- Analyzing: flac -a [<i><a href="#general_options">&lt;general-options&gt;</a></i>] [<i><a href="#analysis_options">&lt;analysis-options&gt;</a></i>] [FLACfile [...]]
- </li>
- </ul>
- In any case, if no <span class="argument">inputfile</span> is specified, stdin is assumed. If only one inputfile is specified, it may be "-" for stdin. When stdin is used as input, <span class="commandname">flac</span> will write to stdout. Otherwise <span class="commandname">flac</span> will perform the desired operation on each input file to similarly named output files (meaning for encoding, the extension will be replaced with ".flac", or appended with ".flac" if the input file has no extension, and for decoding, the extension will be ".wav" for WAVE output and ".raw" for raw output). The original file is not deleted unless --delete-input-file is specified.<br />
- <br />
- If you are encoding/decoding from stdin to a file, you should use the -o option like so:
- <ul>
- <li>
- flac [options] -o outputfile
- </li>
- <li>
- flac -d [options] -o outputfile
- </li>
- </ul>
- which are better than:
- <ul>
- <li>
- flac [options] &gt; outputfile
- </li>
- <li>
- flac -d [options] &gt; outputfile
- </li>
- </ul>
- since the former allows flac to seek backwards to write the <span class="code">STREAMINFO</span> or RIFF WAVE header contents when necessary.<br />
- <br />
- Also, you can force output data to go to stdout using <span class="argument">-c</span>.<br />
- <br />
- To encode or decode files that start with a dash, use <span class="argument">--</span> to signal the end of options, to keep the filenames themselves from being treated as options:
- <ul>
- <li>
- <span class="code">flac -V -- -01-filename.wav</span>
- </li>
- </ul>
- The encoding options affect the compression ratio and encoding speed. The format options are used to tell <span class="commandname">flac</span> the arrangement of samples if the input file (or output file when decoding) is a raw file. If it is a RIFF WAVE or AIFF file the format options are not needed since they are read from the AIFF/WAVE header.<br />
- <br />
- In test mode, <span class="commandname">flac</span> acts just like in decode mode, except no output file is written. Both decode and test modes detect errors in the stream, but they also detect when the MD5 signature of the decoded audio does not match the stored MD5 signature, even when the bitstream is valid.<br />
- <br />
- <span class="commandname">flac</span> can also re-encode FLAC files. In other words, you can specify a FLAC or Ogg FLAC file as an input to the encoder and it will decoder it and re-encode it according to the options you specify. It will also preserve all the metadata unless you override it with other options (e.g. specifying new tags, seekpoints, cuesheet, padding, etc.).<br />
- <br />
- <span class="commandname">flac</span> has been tuned so that the default settings yield a good speed vs. compression tradeoff for many kinds of input. However, if you are looking to maximize the compression rate or speed, or want to use the full power of FLAC's metadata system, see <a href="documentation_format_overview.html">About the FLAC Format</a>.<br />
- <br />
-
- <a name="tutorial"><font size="+1"><b><u>Tutorial</u></b></font></a><br />
- <br />
- Some common <b>encoding</b> tasks using <span class="commandname">flac</span>:<br />
- <br />
- <tt><b>flac abc.wav</b></tt><br />
- Encode <tt>abc.wav</tt> to <tt>abc.flac</tt> using the default compression setting. <tt>abc.wav</tt> is not deleted.<br />
- <br />
- <tt><b>flac <a href="#flac_options_delete_input_file">--delete-input-file</a> abc.wav</b></tt><br />
- Like above, except <tt>abc.wav</tt> is deleted if there were no errors.<br />
- <br />
- <tt><b>flac <a href="#flac_options_delete_input_file">--delete-input-file</a> <a href="#flac_options_warnings_as_errors">-w</a> abc.wav</b></tt><br />
- Like above, except <tt>abc.wav</tt> is deleted if there were no errors or warnings.<br />
- <br />
- <tt><b>flac <a href="#flac_options_best">--best</a> abc.wav</b></tt><br />
- Encode <tt>abc.wav</tt> to <tt>abc.flac</tt> using the highest compression setting.<br />
- <br />
- <tt><b>flac <a href="#flac_options_verify">--verify</a> abc.wav</b></tt><br />
- Encode <tt>abc.wav</tt> to <tt>abc.flac</tt> and internally decode <tt>abc.flac</tt> to make sure it matches <tt>abc.wav</tt>.<br />
- <br />
- <tt><b>flac <a href="#flac_options_output_name">-o</a> my.flac abc.wav</b></tt><br />
- Encode <tt>abc.wav</tt> to <tt>my.flac</tt>.<br />
- <br />
- <tt><b>flac <a href="#flac_options_tag">-T</a> "TITLE=Bohemian Rhapsody" -T "ARTIST=Queen" abc.wav</b></tt><br />
- Encode <tt>abc.wav</tt> and add some tags at the same time to <tt>abc.flac</tt>.<br />
- <br />
- <tt><b>flac *.wav</b></tt><br />
- Encode all .wav files in the current directory. NOTE: <a href="faq.html#tools__wildcards_on_windows">Wildcards on Windows</a><br />
- <br />
- <tt><b>flac abc.aiff</b></tt><br />
- Encode <tt>abc.aiff</tt> to <tt>abc.flac</tt>.<br />
- <br />
- <tt><b>flac abc.flac <a href="#flac_options_force">--force</a></b></tt><br />
- This one's a little tricky: notice that <span class="commandname">flac</span> is in encode mode by default (you have to specify <span class="argument">-d</span> to decode) so this command actually recompresses <tt>abc.flac</tt> back to <tt>abc.flac</tt>. <span class="argument"><a href="#flac_options_force">--force</a></span> is needed to make sure you really want to overwrite <tt>abc.flac</tt> with a new version. Why would you want to do this? It allows you to recompress an existing FLAC file with (usually) higher compression options or a newer version of FLAC and preserve all the metadata like tags too.<br />
- <br />
-
- Some common <b>decoding</b> tasks using <span class="commandname">flac</span>:<br />
- <br />
- <tt><b>flac <a href="#flac_options_decode">-d</a> abc.flac</b></tt><br />
- Decode <tt>abc.flac</tt> to <tt>abc.wav</tt>. <tt>abc.flac</tt> is not deleted. NOTE: Without <span class="argument"><a href="#flac_options_decode">-d</a></span> it means re-encode <tt>abc.flac</tt> to <tt>abc.flac</tt> (see above).<br />
- <br />
- <tt><b>flac <a href="#flac_options_decode">-d</a> <a href="#flac_options_force_aiff_format">--force-aiff-format</a> abc.flac</b></tt><br />
- <tt><b>flac <a href="#flac_options_decode">-d</a> <a href="#flac_options_output_name">-o</a> abc.aiff abc.flac</b></tt><br />
- Two different ways of decoding <tt>abc.flac</tt> to <tt>abc.aiff</tt> (AIFF format). <tt>abc.flac</tt> is not deleted.<br />
- <br />
- <tt><b>flac <a href="#flac_options_decode">-d</a> <a href="#flac_options_decode_through_errors">-F</a> abc.flac</b></tt><br />
- Decode <tt>abc.flac</tt> to <tt>abc.wav</tt> and don't abort if errors are found (useful for recovering as much as possible from corrupted files).<br />
- <br />
- <span class="commandname">flac</span> has many other useful options, described below.<br />
- <br />
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="general_options"><font size="+1"><b>General Options</b></font></a>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_version" />
- <span class="argument">-v</span>, <span class="argument">--version</span>
- </td>
- <td>
- Show the <span class="commandname">flac</span> version number.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_help" />
- <span class="argument">-h</span>, <span class="argument">--help</span>
- </td>
- <td>
- Show basic usage and a list of all options. Running <span class="commandname">flac</span> without arguments shows the short help screen by default.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_explain" />
- <span class="argument">-H</span>, <span class="argument">--explain</span>
- </td>
- <td>
- Show detailed explanation of usage and all options. Running <span class="commandname">flac</span> without arguments shows the short help screen by default.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_decode" />
- <span class="argument">-d</span>, <span class="argument">--decode</span>
- </td>
- <td>
- Decode (<span class="commandname">flac</span> encodes by default). <span class="commandname">flac</span> will exit with an exit code of <span class="argument">1</span> (and print a message, even in silent mode) if there were any errors during decoding, including when the MD5 checksum does not match the decoded output. Otherwise the exit code will be <span class="argument">0</span>.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_test" />
- <span class="argument">-t</span>, <span class="argument">--test</span>
- </td>
- <td>
- Test (same as <span class="argument">-d</span> except no decoded file is written). The exit codes are the same as in decode mode.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_analyze" />
- <span class="argument">-a</span>, <span class="argument">--analyze</span>
- </td>
- <td>
- Analyze (same as <span class="argument">-d</span> except an analysis file is written). The exit codes are the same as in decode mode. This option is mainly for developers; the output will be a text file that has data about each frame and subframe.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_stdout" />
- <span class="argument">-c</span>, <span class="argument">--stdout</span>
- </td>
- <td>
- Write output to stdout.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_silent" />
- <span class="argument">-s</span>, <span class="argument">--silent</span>
- </td>
- <td>
- Silent: do not show encoding/decoding statistics.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_totally_silent" />
- <span class="argument">--totally-silent</span>
- </td>
- <td>
- Do not print anything of any kind, including warnings or errors. The exit code will be the only way to determine successful completion.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_no_utf8_convert" />
- <span class="argument">--no-utf8-convert</span>
- </td>
- <td>
- Do not convert tags from local charset to UTF-8. This is useful for scripts, and setting tags in situations where the locale is wrong. This option must appear before any tag options!
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_warnings_as_errors" />
- <span class="argument">-w</span>, <span class="argument">--warnings-as-errors</span>
- </td>
- <td>
- Treat all warnings as errors (which cause <span class="commandname">flac</span> to terminate with a non-zero exit code).
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_force" />
- <span class="argument">-f</span>, <span class="argument">--force</span>
- </td>
- <td>
- Force overwriting of output files. By default, <span class="commandname">flac</span> warns that the output file already exists and continues to the next file.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_output_name" />
- <span class="argument">-o filename</span>,<br /><span class="argument">--output-name=filename</span>
- </td>
- <td>
- Force the output file name (usually <span class="commandname">flac</span> just changes the extension). May only be used when encoding a single file. May not be used in conjunction with <a href="#flac_options_output_prefix"><span class="argument">--output-prefix</span></a>.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_output_prefix" />
- <span class="argument">--output-prefix=string</span>
- </td>
- <td>
- Prefix each output file name with the given string. This can be useful for encoding/decoding files to a different directory. Make sure if your string is a path name that it ends with a trailing '<span class="argument">/</span>' slash.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_delete_input_file" />
- <span class="argument">--delete-input-file</span>
- </td>
- <td>
- Automatically delete the input file after a successful encode or decode. If there was an error (including a verify error) the input file is left intact.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_keep_foreign_metadata" />
- <span class="argument">--keep-foreign-metadata</span>
- </td>
- <td>
- If encoding, save WAVE or AIFF non-audio chunks in FLAC metadata. If decoding, restore any saved non-audio chunks from FLAC metadata when writing the decoded file. Foreign metadata cannot be transcoded, e.g. WAVE chunks saved in a FLAC file cannot be restored when decoding to AIFF. Input and output must be regular files (not stdin or stdout).<br />
-<!--
- <br />
- Using this option for both encoding then decoding in most cases will yield the exact same WAVE file as the original, metadata and all. Because there are multiple ways to represent the same data in WAVE and AIFF, there are currently a few corner cases where the restoration process may not match exactly (but could with some improvement). The cases are:<br />
- <ul>
- <li>The original WAVE had more than 2 channels and needed remapping to FLAC order</li>
- <li>The original WAVE is not spec compliant, e.g. 20 bps in WAVEFORMATEX; restored file will still be a compliant WAVEFORMATEXTENSIBLE</li>
- <li>Other wierd corner cases where the "fmt" chunk is not exactly identical due to there being multiple ways to represent the same thing</li>
- <li>The original WAIV is in AIFF-C form with compression type "sowt" or "NONE"; currently the restored file will always be in AIFF (uncompressed) form</li>
- </ul>
--->
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_skip" />
- <span class="argument">--skip={#|mm:ss.ss}</span>
- </td>
- <td>
- Skip over the first # of samples of the input. This works for both encoding and decoding, but not testing. The alternative form <span class="argument">mm:ss.ss</span> can be used to specify minutes, seconds, and fractions of a second.<br />
- <br />
- Examples:<br />
- <br />
- <span class="argument">--skip=123</span> : skip the first 123 samples of the input<br />
- <span class="argument">--skip=1:23.45</span> : skip the first 1 minute and 23.45 seconds of the input
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_until" />
- <span class="argument">--until={#|[+|-]mm:ss.ss}</span>
- </td>
- <td>
- Stop at the given sample number for each input file. This works for both encoding and decoding, but not testing. The given sample number is not included in the decoded output. The alternative form <span class="argument">mm:ss.ss</span> can be used to specify minutes, seconds, and fractions of a second. If a <span class="argument">+</span> sign is at the beginning, the <span class="argument">--until</span> point is relative to the <span class="argument">--skip</span> point. If a <span class="argument">-</span> sign is at the beginning, the <span class="argument">--until</span> point is relative to end of the audio.<br />
- <br />
- Examples:<br />
- <br />
- <span class="argument">--until=123</span> : decode only the first 123 samples of the input (samples 0-122, stopping at 123)<br />
- <span class="argument">--until=1:23.45</span> : decode only the first 1 minute and 23.45 seconds of the input<br />
- <span class="argument">--skip=1:00 --until=+1:23.45</span> : decode 1:00.00 to 2:23.45<br />
- <span class="argument">--until=-1:23.45</span> : decode everything except the last 1 minute and 23.45 seconds<br />
- <span class="argument">--until=-0:00</span> : decode until the end of the input (the same as not specifying <span class="argument">--until</span>)
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_ogg" />
- <span class="argument">--ogg</span>
- </td>
- <td>
- When encoding, generate Ogg FLAC output instead of native FLAC. Ogg FLAC streams are FLAC streams wrapped in an Ogg transport layer. The resulting file should have an '.oga' extension and will still be decodable by <span class="commandname">flac</span>.<br />
- <br />
- When decoding, force the input to be treated as Ogg FLAC. This is useful when piping input from stdin or when the filename does not end in '.oga' or '.ogg'.<br />
- <br />
- <b>NOTE:</b> Ogg FLAC files created prior to <span class="commandname">flac</span> 1.1.1 used an ad-hoc mapping and do not support seeking. They should be decoded and re-encoded with <span class="commandname">flac</span> 1.1.1 or later.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_serial_number" />
- <span class="argument">--serial-number=#</span>
- </td>
- <td>
- When used with --ogg, specifies the serial number to use for the first Ogg FLAC stream, which is then incremented for each additional stream. When encoding and no serial number is given, <span class="commandname">flac</span> uses a random number for the first stream, then increments it for each additional stream. When decoding and no number is given, <span class="commandname">flac</span> uses the serial number of the first page.
- </td>
- </tr>
- </table>
- </td></tr></table>
-
- <br />
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="analysis_options"><font size="+1"><b>Analysis Options</b></font></a>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_residual_text" />
- <span class="argument">--residual-text</span>
- </td>
- <td>
- Includes the residual signal in the analysis file. This will make the file <b>very</b> big, much larger than even the decoded file.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_residual_gnuplot" />
- <span class="argument">--residual-gnuplot</span>
- </td>
- <td>
- Generates a gnuplot file for every subframe; each file will contain the residual distribution of the subframe. This will create a <b>lot</b> of files.
- </td>
- </tr>
- </table>
- </td></tr></table>
-
- <br />
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="decoding_options"><font size="+1"><b>Decoding Options</b></font></a>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_cue" />
- <span class="argument">--cue=[#.#][-[#.#]]</span>
- </td>
- <td>
- Set the beginning and ending cuepoints to decode. The optional first <span class="argument">#.#</span> is the track and index point at which decoding will start; the default is the beginning of the stream. The optional second <span class="argument">#.#</span> is the track and index point at which decoding will end; the default is the end of the stream. If the cuepoint does not exist, the closest one before it (for the start point) or after it (for the end point) will be used. If those don't exist, the start of the stream (for the start point) or end of the stream (for the end point) will be used. The cuepoints are merely translated into sample numbers then used as --skip and --until.<br />
- <br />
- Examples:<br />
- <br />
- <span class="argument">--cue=-</span> : decode the entire stream<br />
- <span class="argument">--cue=4.1</span> : decode from track 4, index 1 to the end of the stream<br />
- <span class="argument">--cue=4.1-</span> : decode from track 4, index 1 to the end of the stream<br />
- <span class="argument">--cue=-4.1</span> : decode from the beginning of the stream up to, but not including, track 4, index 1<br />
- <span class="argument">--cue=2.1-2.4</span> : decode from track 2, index 1, up to, but not including, track 2, index 4<br />
- <span class="argument">--cue=9.1-10.1</span> : decode from track 9 the way it would be played on a CD player; this works even if the CD has no 10th track.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_decode_through_errors" />
- <span class="argument">-F</span>,<br /><span class="argument">--decode-through-errors</span>
- </td>
- <td>
- By default <span class="commandname">flac</span> stops decoding with an error and removes the partially decoded file if it encounters a bitstream error. With <span class="argument">-F</span>, errors are still printed but <span class="commandname">flac</span> will continue decoding to completion. Note that errors may cause the decoded audio to be missing some samples or have silent sections.
- </td>
- </tr>
- <!-- @@@ undocumented, also not in the man page yet
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_apply_replaygain_which_is_not_lossless" />
- <span class="argument">-@@@-apply-replaygain-which-is-not-lossless[=&lt;specification&gt;]</span>
- </td>
- <td>
- Applies ReplayGain values while decoding.<br />
- <br />
- <b>WARNING: THIS IS NOT LOSSLESS. DECODED AUDIO WILL NOT BE IDENTICAL TO THE ORIGINAL WITH THIS OPTION</b>.<br />
- <br />
- The equals sign and &lt;specification&gt; is optional. If omitted, the default is <span class="argument">0aLn1</span>.<br />
- <br />
- The <span class="argument">&lt;specification&gt;</span> is a shorthand notation for describing how to apply ReplayGain. All components are optional but order is important. '<span class="argument">[]</span>' means 'optional'. '<span class="argument">|</span>' means 'or'. '<span class="argument">{}</span>' means required. The format is:<br />
- <br />
- &nbsp;&nbsp;<span class="argument">[&lt;preamp&gt;][a|t][l|L][n{0|1|2|3}]</span>
- <ul>
- <li>
- <span class="argument">&lt;preamp&gt;</span><br />
- &nbsp;&nbsp;A floating point number in dB. This is added to the existing gain value.
- </li>
- <li>
- <span class="argument">a|t</span><br />
- &nbsp;&nbsp;Specify '<span class="argument">a</span>' to use the album gain, or '<span class="argument">t</span>' to use the track gain. If tags for the preferred kind (album/track) do not exist but tags for the other (track/album) do, those will be used instead.
- </li>
- <li>
- <span class="argument">l|L</span><br />
- &nbsp;&nbsp;Specify '<span class="argument">l</span>' to peak-limit the output, so that the ReplayGain peak value is full-scale. Specify '<span class="argument">L</span>' to use a 6dB hard limiter that kicks in when the signal approaches full-scale.
- </li>
- <li>
- <span class="argument">n{0|1|2|3}</span><br />
- &nbsp;&nbsp;Specify the amount of noise shaping. ReplayGain synthesis happens in floating point; the result is dithered before converting back to integer. This quantization adds noise. Noise shaping tries to move the noise where you won't hear it as much. <span class="argument">0</span> means no noise shaping, <span class="argument">1</span> means 'low', <span class="argument">2</span> means 'medium', <span class="argument">3</span> means 'high'.
- </li>
- </ul>
- For example, the default of <span class="argument">0aLn1</span> means 0dB preamp, use album gain, 6dB hard limit, low noise shaping.<br />
- <br />
- <span class="argument">-@@@-apply-replaygain-which-is-not-lossless=3</span> means 3dB preamp, use album gain, no limiting, no noise shaping.<br />
- <br />
- <span class="commandname">flac</span> uses the ReplayGain tags for the calculation. If a stream does not have the required tags or they can't be parsed, decoding will continue with a warning, and no ReplayGain is applied to that stream.
- </td>
- </tr>
- -->
- </table>
- </td></tr></table>
-
- <br />
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="encoding_options"><font size="+1"><b>Encoding Options</b></font></a>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_verify" />
- <span class="argument">-V</span>, <span class="argument">--verify</span>
- </td>
- <td>
- Verify the encoding process. With this option, <span class="commandname">flac</span> will create a parallel decoder that decodes the output of the encoder and compares the result against the original. It will abort immediately with an error if a mismatch occurs. <span class="argument">-V</span> increases the total encoding time but is guaranteed to catch any unforseen bug in the encoding process.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_lax" />
- <span class="argument">--lax</span>
- </td>
- <td>
- Allow encoder to generate non-<a href="format.html#subset">Subset</a> files. The resulting FLAC file may not be streamable or might have trouble being played in all players (especially hardware devices), so you should only use this option in combination with custom encoding options meant for archival.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_replay_gain" />
- <span class="argument">--replay-gain</span>
- </td>
- <td>
- Calculate <a href="http://www.replaygain.org/">ReplayGain</a> values and store them as FLAC tags, similar to <a href="http://packages.qa.debian.org/v/vorbisgain.html">VorbisGain</a>. Title gains/peaks will be computed for each input file, and an album gain/peak will be computed for all files. All input files must have the same resolution, sample rate, and number of channels. Only mono and stereo files are allowed, and the sample rate must be one of 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, or 48 kHz. Also note that this option may leave a few extra bytes in a <span class="code">PADDING</span> block as the exact size of the tags is not known until all files are processed.<br />
- <br />
- Note that this option cannot be used when encoding to standard output (stdout).
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_cuesheet" />
- <span class="argument">--cuesheet=FILENAME</span>
- </td>
- <td>
- Import the given cuesheet file and store it in a <a href="format.html#def_CUESHEET"><span class="code">CUESHEET</span></a> metadata block. This option may only be used when encoding a single file. A seekpoint will be added for each index point in the cuesheet to the <a href="format.html#def_SEEKTABLE"><span class="code">SEEKTABLE</span></a> unless <span class="argument">--no-cued-seekpoints</span> is specified.<br />
- <br />
- The cuesheet file must be of the sort written by <a href="http://www.goldenhawk.com/cdrwin.htm">CDRwin</a>, <a href="http://www.dcsoft.com/prod03.htm">CDRcue</a>, <a href="http://www.exactaudiocopy.de/">EAC</a>, etc. See also <a href="http://digitalx.org/cuesheetsyntax.php">cuesheet syntax</a>.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_picture" />
- <span class="argument">--picture={FILENAME|SPECIFICATION}</span>
- </td>
- <td>
- Import a picture and store it in a <a href="format.html#def_PICTURE"><span class="code">PICTURE</span></a> metadata block. More than one <span class="argument">--picture</span> command can be specified. Either a filename for the picture file or a more complete specification form can be used. The <span class="argument">SPECIFICATION</span> is a string whose parts are separated by | (pipe) characters. Some parts may be left empty to invoke default values. <span class="argument">FILENAME</span> is just shorthand for <span class="argument">||||FILENAME</span>. The format of <span class="argument">SPECIFICATION</span> is<br />
- <br />
- <tt>&nbsp;&nbsp;[TYPE]|[MIME-TYPE]|[DESCRIPTION]|[WIDTHxHEIGHTxDEPTH[/COLORS]]|FILE</tt><br />
- <br />
- <span class="argument">TYPE</span> is optional; it is a number from one of:<br />
- <ul>
- <li><tt>0: Other</tt></li>
- <li><tt>1: 32x32 pixels 'file icon' (PNG only)</tt></li>
- <li><tt>2: Other file icon</tt></li>
- <li><tt>3: Cover (front)</tt></li>
- <li><tt>4: Cover (back)</tt></li>
- <li><tt>5: Leaflet page</tt></li>
- <li><tt>6: Media (e.g. label side of CD)</tt></li>
- <li><tt>7: Lead artist/lead performer/soloist</tt></li>
- <li><tt>8: Artist/performer</tt></li>
- <li><tt>9: Conductor</tt></li>
- <li><tt>10: Band/Orchestra</tt></li>
- <li><tt>11: Composer</tt></li>
- <li><tt>12: Lyricist/text writer</tt></li>
- <li><tt>13: Recording Location</tt></li>
- <li><tt>14: During recording</tt></li>
- <li><tt>15: During performance</tt></li>
- <li><tt>16: Movie/video screen capture</tt></li>
- <li><tt>17: A bright coloured fish</tt></li>
- <li><tt>18: Illustration</tt></li>
- <li><tt>19: Band/artist logotype</tt></li>
- <li><tt>20: Publisher/Studio logotype</tt></li>
- </ul>
- The default is 3 (front cover). There may only be one picture each of type 1 and 2 in a file.<br/>
- <br />
- <span class="argument">MIME-TYPE</span> is optional; if left blank, it will be detected from the file. For best compatibility with players, use pictures with MIME type <tt>image/jpeg</tt> or <tt>image/png</tt>. The MIME type can also be --&gt; to mean that <span class="argument">FILE</span> is actually a URL to an image, though this use is discouraged.<br />
- <br />
- <span class="argument">DESCRIPTION</span> is optional; the default is an empty string.<br />
- <br />
- The next part specfies the resolution and color information. If the <span class="argument">MIME-TYPE</span> is <tt>image/jpeg</tt>, <tt>image/png</tt>, or <tt>image/gif</tt>, you can usually leave this empty and they can be detected from the file. Otherwise, you must specify the width in pixels, height in pixels, and color depth in bits-per-pixel. If the image has indexed colors you should also specify the number of colors used. When manually specified, it is not checked against the file for accuracy.<br />
- <br />
- <span class="argument">FILE</span> is the path to the picture file to be imported, or the URL if MIME type is --&gt;<br />
- <br />
- For example, the specification <span class="argument">|image/jpeg|||../cover.jpg</span> will embed the JPEG file at <tt>../cover.jpg</tt>, defaulting to type 3 (front cover) and an empty description. The resolution and color info will be retrieved from the file itself.<br />
- <br />
- The specification <span class="argument">4|--&gt;|CD|320x300x24/173|http://blah.blah/backcover.tiff</span> will embed the given URL, with type 4 (back cover), description "CD", and a manually specified resolution of 320x300, 24 bits-per-pixel, and 173 colors. The file at the URL will not be fetched; the URL itself is stored in the PICTURE metadata block.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_sector_align" />
- <span class="argument">--sector-align</span>
- </td>
- <td>
- Align encoding of multiple CD format files on sector boundaries. This option is only allowed when encoding files all of which have a 44.1kHz sample rate and 2 channels. With <span class="argument">--sector-align</span>, the encoder will align the resulting .flac streams so that their lengths are even multiples of a CD sector (1/75th of a second, or 588 samples). It does this by carrying over any partial sector at the end of each file to the next stream. The last stream will be padded to alignment with zeroes.<br />
- <br />
- This option will have no effect if the files are already aligned (as is the normally the case with WAVE files ripped from a CD). <span class="commandname">flac</span> can only align a set of files given in one invocation of <span class="commandname">flac</span>.<br />
- <br />
- <b>WARNING:</b> The ordering of files is important! If you give a command like '<span class="code">flac --sector-align *.wav</span>' the shell may not expand the wildcard to the order you expect. To be safe you should '<span class="code">echo *.wav</span>' first to confirm the order, or be explicit like '<span class="code">flac --sector-align 8.wav 9.wav 10.wav</span>'.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_seekpoint" />
- <span class="argument">-S {#|X|#x|#s}</span>,<br /><span class="argument">--seekpoint={#|X|#x|#s}</span>
- </td>
- <td>
- Include a point or points in a <span class="code">SEEKTABLE</span>:<br />
- <ul>
- <li>
- <span class="argument">#&nbsp;</span> : a specific sample number for a seek point
- </li>
- <li>
- <span class="argument">X&nbsp;</span> : a placeholder point (always goes at the end of the <span class="code">SEEKTABLE</span>)
- </li>
- <li>
- <span class="argument">#x</span> : # evenly spaced seekpoints, the first being at sample 0
- </li>
- <li>
- <span class="argument">#s</span> : a seekpoint every # seconds; # does not have to be a whole number, it can be, for example, <span class="argument">9.5</span>, meaning a seekpoint every 9.5 seconds
- </li>
- </ul>
- You may use many -S options; the resulting <span class="code">SEEKTABLE</span> will be the unique-ified union of all such values.<br />
- With no -S options, flac defaults to '-S 10s'. Use --no-seektable for no <span class="code">SEEKTABLE</span>.<br />
- <b>NOTE:</b> -S #x and -S #s will not work if the encoder can't determine the input size before starting.<br />
- <b>NOTE:</b> if you use -S # and # is &gt;= samples in the input, there will be either no seek point entered (if the input size is determinable before encoding starts) or a placeholder point (if input size is not determinable).<br />
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_padding" />
- <span class="argument">-P #</span>, <span class="argument">--padding=#</span>
- </td>
- <td>
- Tell the encoder to write a <span class="code">PADDING</span> metadata block of the given length (in bytes) after the <span class="code">STREAMINFO</span> block. This is useful if you plan to tag the file later with an <span class="code">APPLICATION</span> block; instead of having to rewrite the entire file later just to insert your block, you can write directly over the <span class="code">PADDING</span> block. Note that the total length of the <span class="code">PADDING</span> block will be 4 bytes longer than the length given because of the 4 metadata block header bytes. You can force no <span class="code">PADDING</span> block at all to be written with <span class="argument">--no-padding</span>. The encoder writes a <span class="code">PADDING</span> block of 8192 bytes by default (or 65536 bytes if the input audio stream is more than 20 minutes long).
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_tag" />
- <span class="argument">-T FIELD=VALUE</span>,<br /><span class="argument">--tag=FIELD=VALUE</span>
- </td>
- <td>
- Add a FLAC tag. The comment must adhere to the Vorbis comment spec (which FLAC tags implement), i.e. the FIELD must contain only legal characters, terminated by an 'equals' sign. Make sure to quote the comment if necessary. This option may appear more than once to add several comments. NOTE: all tags will be added to all encoded files.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_tag_from_file" />
- <span class="argument">--tag-from-file=FIELD=FILENAME</span>
- </td>
- <td>
- Like <a href="#flac_options_tag"><span class="argument">--tag</span></a>, except FILENAME is a file whose contents will be read verbatim to set the tag value. The contents will be converted to UTF-8 from the local charset. This can be used to store a cuesheet in a tag (e.g. <span class="argument">--tag-from-file="CUESHEET=image.cue"</span>). Do not try to store binary data in tag fields! Use APPLICATION blocks for that.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_blocksize" />
- <span class="argument">-b #</span>, <span class="argument">--blocksize=#</span>
- </td>
- <td>
- Specify the block size in samples. Subset streams must use one of 192/576/1152/2304/4608/256/512/1024/2048/4096 (and 8192/16384 if the sample rate is &gt;48kHz). The reference encoder uses the same block size for the entire stream.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_mid_side" />
- <span class="argument">-m</span>, <span class="argument">--mid-side</span>
- </td>
- <td>
- Enable mid-side coding (only for stereo streams). Tends to increase compression by a few percent on average. For each block both the stereo pair and mid-side versions of the block will be encoded, and smallest resulting frame will be stored.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_adaptive_mid_side" />
- <span class="argument">-M</span>, <span class="argument">--adaptive-mid-side</span>
- </td>
- <td>
- Enable adaptive mid-side coding (only for stereo streams). Like <span class="argument">-m</span> but the encoder adaptively switches between independent and mid-side coding, which is faster but yields less compression than <span class="argument">-m</span> (which does an exhaustive search).
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_levels" />
- <span class="argument">-0 .. -8</span>
- </td>
- <td>
- Fastest compression .. highest compression. The default is <span class="argument">-5</span>.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_level_0" />
- <span class="argument">-0</span>, <span class="argument">--compression-level-0</span>
- </td>
- <td>
- Synonymous with <span class="argument">-l 0 -b 1152 -r 3</span>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_level_1" />
- <span class="argument">-1</span>, <span class="argument">--compression-level-1</span>
- </td>
- <td>
- Synonymous with <span class="argument">-l 0 -b 1152 -M -r 3</span>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_level_2" />
- <span class="argument">-2</span>, <span class="argument">--compression-level-2</span>
- </td>
- <td>
- Synonymous with <span class="argument">-l 0 -b 1152 -m -r 3</span>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_level_3" />
- <span class="argument">-3</span>, <span class="argument">--compression-level-3</span>
- </td>
- <td>
- Synonymous with <span class="argument">-l 6 -b 4096 -r 4</span>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_level_4" />
- <span class="argument">-4</span>, <span class="argument">--compression-level-4</span>
- </td>
- <td>
- Synonymous with <span class="argument">-l 8 -b 4096 -M -r 4</span>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_level_5" />
- <span class="argument">-5</span>, <span class="argument">--compression-level-5</span>
- </td>
- <td>
- Synonymous with <span class="argument">-l 8 -b 4096 -m -r 5</span>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_level_6" />
- <span class="argument">-6</span>, <span class="argument">--compression-level-6</span>
- </td>
- <td>
- Synonymous with <span class="argument">-l 8 -b 4096 -m -r 6</span>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_level_7" />
- <span class="argument">-7</span>, <span class="argument">--compression-level-7</span>
- </td>
- <td>
- Synonymous with <span class="argument">-l 8 -b 4096 -m -e -r 6</span>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_level_8" />
- <span class="argument">-8</span>, <span class="argument">--compression-level-8</span>
- </td>
- <td>
- Synonymous with <span class="argument">-l 12 -b 4096 -m -e -r 6</span>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_fast" />
- <span class="argument">--fast</span>
- </td>
- <td>
- Fastest compression. Currently synonymous with <span class="argument">-0</span>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_best" />
- <span class="argument">--best</span>
- </td>
- <td>
- Highest compression. Currently synonymous with <span class="argument">-8</span>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_exhaustive_model_search" />
- <span class="argument">-e</span>,<br /><span class="argument">--exhaustive-model-search</span>
- </td>
- <td>
- Exhaustive model search (expensive!). Normally the encoder estimates the best model to use and encodes once based on the estimate. With an exhaustive model search, the encoder will generate subframes for every order and use the smallest. If the max LPC order is high this can significantly increase the encode time but can shave off another 0.5%.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_apodization" />
- <span class="argument">-A "function"</span>, <span class="argument">--apodization="function"</span>
- </td>
- <td>
- Window audio data with given the apodization function. The functions are: bartlett, bartlett_hann, blackman, blackman_harris_4term_92db, connes, flattop, gauss(STDDEV), hamming, hann, kaiser_bessel, nuttall, rectangle, triangle, tukey(P), welch.<br />
- For gauss(STDDEV), STDDEV is the standard deviation (0&lt;STDDEV&lt;=0.5).<br />
- For tukey(P), P specifies the fraction of the window that is tapered (0&lt;=P&lt;=1; P=0 corresponds to "rectangle" and P=1 corresponds to "hann").<br />
- More than one -A option (up to 32) may be used. Any function that is specified erroneously is silently dropped. The encoder chooses suitable defaults in the absence of any -A options; any -A option specified replaces the default(s).<br />
- When more than one function is specified, then for every subframe the encoder will try each of them separately and choose the window that results in the smallest compressed subframe. Multiple functions can greatly increase the encoding time.<br />
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_max_lpc_order" />
- <span class="argument">-l #</span>, <span class="argument">--max-lpc-order=#</span>
- </td>
- <td>
- Specifies the maximum LPC order. This number must be &lt;= 32. For Subset streams, it must be &lt;=12 if the sample rate is &lt;=48kHz. If 0, the encoder will not attempt generic linear prediction, and use only fixed predictors. Using fixed predictors is faster but usually results in files being 5-10% larger.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_qlp_coeff_precision" />
- <span class="argument">-q #</span>,<br /><span class="argument">--qlp-coeff-precision=#</span>
- </td>
- <td>
- Specifies the precision of the quantized LP coefficients, in bits. The default is <span class="argument">-q 0</span>, which means let the encoder decide based on the signal. Unless you really know your input file it's best to leave this up to the encoder.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_qlp_coeff_precision_search" />
- <span class="argument">-p</span>,<br /><span class="argument">--qlp-coeff-precision-search</span>
- </td>
- <td>
- Do exhaustive LP coefficient quantization optimization. This option overrides any <span class="argument">-q</span> option. It is expensive and typically will only improve the compression a tiny fraction of a percent. <span class="argument">-q</span> has no effect when <span class="argument">-l 0</span> is used.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_rice_partition_order" />
- <span class="argument">-r [#,]#</span>,<br /><span class="argument">--rice-partition-order=[#,]#</span>
- </td>
- <td>
- Set the [min,]max residual partition order. The min value defaults to 0 if unspecified.<br />
- <br />
- By default the encoder uses a single Rice parameter for the subframe's entire residual. With this option, the residual is iteratively partitioned into 2^min# .. 2^max# pieces, each with its own Rice parameter. Higher values of max# yield diminishing returns. The most bang for the buck is usually with <span class="argument">-r 2,2</span> (more for higher block sizes). This usually shaves off about 1.5%. The technique tends to peak out about when blocksize/(2^n)=128. Use <span class="argument">-r 0,16</span> to force the highest degree of optimization.
- </td>
- </tr>
- </table>
- </td></tr></table>
-
- <br />
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="format_options"><font size="+1"><b>Format Options</b></font></a>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_endian" />
- <span class="argument">--endian={big|little}</span>
- </td>
- <td>
- Specify big-endian or little-endian byte order in the raw file.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_channels" />
- <span class="argument">--channels=#</span>
- </td>
- <td>
- Specify the number of channels in the raw file.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_bps" />
- <span class="argument">--bps=#</span>
- </td>
- <td>
- Specify the number of bits per sample in the raw file.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_sample_rate" />
- <span class="argument">--sample-rate=#</span>
- </td>
- <td>
- Specify the sample rate of the raw file.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_sign" />
- <span class="argument">--sign={signed|unsigned}</span>
- </td>
- <td>
- Specify that the samples in the raw file are signed or unsigned (the default is signed).
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_input_size" />
- <span class="argument">--input-size=#</span>
- </td>
- <td>
- Specify the size of the raw input in bytes. If you are encoding raw samples from stdin, you must set this option in order to be able to use --skip, --until, --cue-sheet, or other options that need to know the size of the input beforehand. If the size given is greater than what is found in the input stream, the encoder will complain about an unexpected end-of-file. If the size given is less, samples will be truncated.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_force_aiff_format" />
- <span class="argument">--force-aiff-format</span>
- </td>
- <td>
- Force the decoder to output AIFF format. This option is not needed if the output filename (as set by -o) ends with .aiff. Also, this option has no effect when encoding since input AIFF is auto-detected.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="flac_options_force_raw_format" />
- <span class="argument">--force-raw-format</span>
- </td>
- <td>
- Treat the input file (or output file if decoding) as a raw file, regardless of the extension.
- </td>
- </tr>
- </table>
- </td></tr></table>
-
- <br />
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="negative_options"><font size="+1"><b>Negative Options</b></font></a>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <span class="argument">--no-adaptive-mid-side</span><br />
- <span class="argument">--no-decode-through-errors</span><br />
- <span class="argument">--no-delete-input-file</span><br />
- <span class="argument">--no-escape-coding</span><br />
- <span class="argument">--no-exhaustive-model-search</span><br />
- <span class="argument">--no-lax</span><br />
- <span class="argument">--no-mid-side</span><br />
- <span class="argument">--no-ogg</span><br />
- <span class="argument">--no-padding</span><br />
- <span class="argument">--no-qlp-coeff-precision-search</span><br />
- <span class="argument">--no-residual-gnuplot</span><br />
- <span class="argument">--no-residual-text</span><br />
- <span class="argument">--no-sector-align</span><br />
- <span class="argument">--no-seektable</span><br />
- <span class="argument">--no-silent</span><br />
- <span class="argument">--no-verify</span>
- <span class="argument">--no-warnings-as-errors</span>
- </td>
- <td>
- Can all be used to turn off a particular option.
- </td>
- </tr>
- </table>
- </td></tr></table>
-
- <br />
- <a name="option_index"><font size="+1"><b><u>Option Index</u></b></font></a><br />
- <br />
- <a href="#flac_options_level_0" /><span class="argument">-0</span></a><br />
- <a href="#flac_options_level_1" /><span class="argument">-1</span></a><br />
- <a href="#flac_options_level_2" /><span class="argument">-2</span></a><br />
- <a href="#flac_options_level_3" /><span class="argument">-3</span></a><br />
- <a href="#flac_options_level_4" /><span class="argument">-4</span></a><br />
- <a href="#flac_options_level_5" /><span class="argument">-5</span></a><br />
- <a href="#flac_options_level_6" /><span class="argument">-6</span></a><br />
- <a href="#flac_options_level_7" /><span class="argument">-7</span></a><br />
- <a href="#flac_options_level_8" /><span class="argument">-8</span></a><br />
- <a href="#flac_options_apodization" /><span class="argument">-A</span></a><br />
- <a href="#flac_options_analyze" /><span class="argument">-a</span></a><br />
- <a href="#flac_options_adaptive_mid_side" /><span class="argument">--adaptive-mid-side</span></a><br />
- <a href="#flac_options_analyze" /><span class="argument">--analyze</span></a><br />
- <a href="#flac_options_apodization" /><span class="argument">--apodization</span></a><br />
- <!-- @@@ undocumented, also not in the man page yet
- <a href="#flac_options_apply_replaygain_which_is_not_lossless" /><span class="argument">-@@@-apply-replaygain-which-is-not-lossless</span></a><br />
- -->
- <a href="#flac_options_blocksize" /><span class="argument">-b</span></a><br />
- <a href="#flac_options_best" /><span class="argument">--best</span></a><br />
- <a href="#flac_options_blocksize" /><span class="argument">--blocksize</span></a><br />
- <a href="#flac_options_bps" /><span class="argument">--bps</span></a><br />
- <a href="#flac_options_stdout" /><span class="argument">-c</span></a><br />
- <a href="#flac_options_channels" /><span class="argument">--channels</span></a><br />
- <a href="#flac_options_level_0" /><span class="argument">--compression-level-0</span></a><br />
- <a href="#flac_options_level_1" /><span class="argument">--compression-level-1</span></a><br />
- <a href="#flac_options_level_2" /><span class="argument">--compression-level-2</span></a><br />
- <a href="#flac_options_level_3" /><span class="argument">--compression-level-3</span></a><br />
- <a href="#flac_options_level_4" /><span class="argument">--compression-level-4</span></a><br />
- <a href="#flac_options_level_5" /><span class="argument">--compression-level-5</span></a><br />
- <a href="#flac_options_level_6" /><span class="argument">--compression-level-6</span></a><br />
- <a href="#flac_options_level_7" /><span class="argument">--compression-level-7</span></a><br />
- <a href="#flac_options_level_8" /><span class="argument">--compression-level-8</span></a><br />
- <a href="#flac_options_cue" /><span class="argument">--cue</span></a><br />
- <a href="#flac_options_cuesheet" /><span class="argument">--cuesheet</span></a><br />
- <a href="#flac_options_decode" /><span class="argument">-d</span></a><br />
- <a href="#flac_options_decode" /><span class="argument">--decode</span></a><br />
- <a href="#flac_options_decode_through_errors" /><span class="argument">--decode-through-errors</span></a><br />
- <a href="#flac_options_delete_input_file" /><span class="argument">--delete-input-file</span></a><br />
- <a href="#flac_options_exhaustive_model_search" /><span class="argument">-e</span></a><br />
- <a href="#flac_options_endian" /><span class="argument">--endian</span></a><br />
- <a href="#flac_options_exhaustive_model_search" /><span class="argument">--exhaustive-model-search</span></a><br />
- <a href="#flac_options_explain" /><span class="argument">--explain</span></a><br />
- <a href="#flac_options_decode_through_errors" /><span class="argument">-F</span></a><br />
- <a href="#flac_options_force" /><span class="argument">-f</span></a><br />
- <a href="#flac_options_fast" /><span class="argument">--fast</span></a><br />
- <a href="#flac_options_force_aiff_format" /><span class="argument">--force-aiff-format</span></a><br />
- <a href="#flac_options_force_raw_format" /><span class="argument">--force-raw-format</span></a><br />
- <a href="#flac_options_force" /><span class="argument">--force</span></a><br />
- <a href="#flac_options_explain" /><span class="argument">-H</span></a><br />
- <a href="#flac_options_help" /><span class="argument">-h</span></a><br />
- <a href="#flac_options_help" /><span class="argument">--help</span></a><br />
- <a href="#flac_options_input_size" /><span class="argument">--input-size</span></a><br />
- <a href="#flac_options_keep_foreign_metadata" /><span class="argument">--keep-foreign-metadata</span></a><br />
- <a href="#flac_options_max_lpc_order" /><span class="argument">-l</span></a><br />
- <a href="#flac_options_lax" /><span class="argument">--lax</span></a><br />
- <a href="#flac_options_adaptive_mid_side" /><span class="argument">-M</span></a><br />
- <a href="#flac_options_mid_side" /><span class="argument">-m</span></a><br />
- <a href="#flac_options_max_lpc_order" /><span class="argument">--max-lpc-order</span></a><br />
- <a href="#flac_options_mid_side" /><span class="argument">--mid-side</span></a><br />
- <a href="#negative_options" /><span class="argument">--no-adaptive-mid-side</span></a><br />
- <a href="#negative_options" /><span class="argument">--no-decode-through-errors</span></a><br />
- <a href="#negative_options" /><span class="argument">--no-delete-input-file</span></a><br />
- <a href="#negative_options" /><span class="argument">--no-escape-coding</span></a><br />
- <a href="#negative_options" /><span class="argument">--no-exhaustive-model-search</span></a><br />
- <a href="#negative_options" /><span class="argument">--no-lax</span></a><br />
- <a href="#negative_options" /><span class="argument">--no-mid-side</span></a><br />
- <a href="#negative_options" /><span class="argument">--no-ogg</span></a><br />
- <a href="#negative_options" /><span class="argument">--no-padding</span></a><br />
- <a href="#negative_options" /><span class="argument">--no-qlp-coeff-precision-search</span></a><br />
- <a href="#negative_options" /><span class="argument">--no-residual-gnuplot</span></a><br />
- <a href="#negative_options" /><span class="argument">--no-residual-text</span></a><br />
- <a href="#negative_options" /><span class="argument">--no-sector-align</span></a><br />
- <a href="#negative_options" /><span class="argument">--no-seektable</span></a><br />
- <a href="#negative_options" /><span class="argument">--no-silent</span></a><br />
- <a href="#negative_options" /><span class="argument">--no-verify</span></a><br />
- <a href="#negative_options" /><span class="argument">--no-warnings-as-errors</span></a><br />
- <a href="#flac_options_no_utf8_convert" /><span class="argument">--no-utf8-convert</span></a><br />
- <a href="#flac_options_output_name" /><span class="argument">-o</span></a><br />
- <a href="#flac_options_ogg" /><span class="argument">--ogg</span></a><br />
- <a href="#flac_options_output_name" /><span class="argument">--output-name</span></a><br />
- <a href="#flac_options_output_prefix" /><span class="argument">--output-prefix</span></a><br />
- <a href="#flac_options_padding" /><span class="argument">-P</span></a><br />
- <a href="#flac_options_qlp_coeff_precision_search" /><span class="argument">-p</span></a><br />
- <a href="#flac_options_padding" /><span class="argument">--padding</span></a><br />
- <a href="#flac_options_picture" /><span class="argument">--picture</span></a><br />
- <a href="#flac_options_qlp_coeff_precision" /><span class="argument">-q</span></a><br />
- <a href="#flac_options_qlp_coeff_precision" /><span class="argument">--qlp-coeff-precision</span></a><br />
- <a href="#flac_options_qlp_coeff_precision_search" /><span class="argument">--qlp-coeff-precision-search</span></a><br />
- <a href="#flac_options_rice_partition_order" /><span class="argument">-r</span></a><br />
- <a href="#flac_options_replay_gain" /><span class="argument">--replay-gain</span></a><br />
- <a href="#flac_options_residual_gnuplot" /><span class="argument">--residual-gnuplot</span></a><br />
- <a href="#flac_options_residual_text" /><span class="argument">--residual-text</span></a><br />
- <a href="#flac_options_rice_partition_order" /><span class="argument">--rice-partition-order</span></a><br />
- <a href="#flac_options_seekpoint" /><span class="argument">-S</span></a><br />
- <a href="#flac_options_silent" /><span class="argument">-s</span></a><br />
- <a href="#flac_options_sample_rate" /><span class="argument">--sample-rate</span></a><br />
- <a href="#flac_options_sector_align" /><span class="argument">--sector-align</span></a><br />
- <a href="#flac_options_seekpoint" /><span class="argument">--seekpoint</span></a><br />
- <a href="#flac_options_serial_number" /><span class="argument">--serial-number</span></a><br />
- <a href="#flac_options_sign" /><span class="argument">--sign</span></a><br />
- <a href="#flac_options_silent" /><span class="argument">--silent</span></a><br />
- <a href="#flac_options_skip" /><span class="argument">--skip</span></a><br />
- <a href="#flac_options_stdout" /><span class="argument">--stdout</span></a><br />
- <a href="#flac_options_tag" /><span class="argument">-T</span></a><br />
- <a href="#flac_options_test" /><span class="argument">-t</span></a><br />
- <a href="#flac_options_tag" /><span class="argument">--tag</span></a><br />
- <a href="#flac_options_tag_from_file" /><span class="argument">--tag-from-file</span></a><br />
- <a href="#flac_options_test" /><span class="argument">--test</span></a><br />
- <a href="#flac_options_totally_silent" /><span class="argument">--totally-silent</span></a><br />
- <a href="#flac_options_until" /><span class="argument">--until</span></a><br />
- <a href="#flac_options_verify" /><span class="argument">-V</span></a><br />
- <a href="#flac_options_version" /><span class="argument">-v</span></a><br />
- <a href="#flac_options_verify" /><span class="argument">--verify</span></a><br />
- <a href="#flac_options_warnings_as_errors" /><span class="argument">-w</span></a><br />
- <a href="#flac_options_warnings_as_errors" /><span class="argument">--warnings-as-errors</span></a><br />
- <a href="#flac_options_version" /><span class="argument">--version</span></a><br />
-
- </div>
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/documentation_tools_metaflac.html b/3rdparty/libflac/doc/html/documentation_tools_metaflac.html
deleted file mode 100644
index 27c6dcc4097..00000000000
--- a/3rdparty/libflac/doc/html/documentation_tools_metaflac.html
+++ /dev/null
@@ -1,570 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - documentation</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/documentation.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- <a name="metaflac">metaflac</a>
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- <a name="toc"><font size="+1"><b><u>Table of Contents</u></b></font></a>
- <ul>
- <li><a href="#usage">General Usage</a></li>
- <li><a href="#global_options">Global Options</a></li>
- <li><a href="#shorthand_operations">Shorthand Operations</a></li>
- <li><a href="#major_operations">Major Operations</a></li>
- <li><a href="#option_index">Option Index</a></li>
- </ul>
- <a name="usage"><font size="+1"><b><u>General Usage</u></b></font></a><br />
- <br />
- <span class="commandname">metaflac</span> is the command-line <span class="code">.flac</span> file metadata editor. You can use it to list the contents of metadata blocks, edit, delete or insert blocks, and manage padding.<br />
- <br />
- <span class="commandname">metaflac</span> takes a set of "options" (though some are not optional) and a set of FLAC files to operate on. There are three kinds of "options":
- <ul>
- <li>
- Major operations, which specify a mode of operation like listing blocks, removing blocks, etc. These will have sub-operations describing exactly what is to be done.
- </li>
- <li>
- Shorthand operations, which are convenient synonyms for major operations. For example, there is a shorthand operation <span class="argument">--show-sample-rate</span> that shows just the sample rate field from the <span class="code">STREAMINFO</span> metadata block.
- </li>
- <li>
- Global options, which affect all the operations.
- </li>
- </ul>
- All of these are described in the tables below. At least one shorthand or major operation must be supplied. You can use multiple shorthand operations to do more than one thing to a file or set of files. Most of the common things to do to metadata have shorthand operations. As an example, here is how to show the MD5 signatures for a set of three FLAC files:<br />
- <br />
- <span class="code">metaflac --show-md5sum file1.flac file2.flac file3.flac</span><br />
- <br />
- Another example; this removes all DESCRIPTION and COMMENT tags in a set of FLAC files, and uses the <span class="argument">--preserve-modtime</span> global option to keep the FLAC file modification times the same (usually when files are edited the modification time is set to the current time):<br />
- <br />
- <span class="code">metaflac --preserve-modtime --remove-tag=DESCRIPTION --remove-tag=COMMENT file1.flac file2.flac file3.flac</span><br />
- <br />
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="global_options"><font size="+1"><b>Global Options</b></font></a>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_options_preserve_modtime" />
- <span class="argument">--preserve-modtime</span>
- </td>
- <td>
- Preserve the original modification time in spite of edits.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_options_with_filename" />
- <span class="argument">--with-filename</span>
- </td>
- <td>
- Prefix each output line with the FLAC file name (the default if more than one FLAC file is specified).
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_options_no_filename" />
- <span class="argument">--no-filename</span>
- </td>
- <td>
- Do not prefix each output line with the FLAC file name (the default if only one FLAC file is specified)
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_options_no_utf8_convert" />
- <span class="argument">--no-utf8-convert</span>
- </td>
- <td>
- Do not convert tags from UTF-8 to local charset, or vice versa. This is useful for scripts, and setting tags in situations where the locale is wrong.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_options_dont_use_padding" />
- <span class="argument">--dont-use-padding</span>
- </td>
- <td>
- By default <span class="commandname">metaflac</span> tries to use padding where possible to avoid rewriting the entire file if the metadata size changes. Use this option to tell metaflac to not take advantage of padding this way.
- </td>
- </tr>
- </table>
- </td></tr></table>
-
- <br />
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="shorthand_operations"><font size="+1"><b>Shorthand Operations</b></font></a>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_show_md5sum" />
- <span class="argument">--show-md5sum</span>
- </td>
- <td>
- Show the MD5 signature from the <span class="code">STREAMINFO</span> block.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_show_min_blocksize" />
- <span class="argument">--show-min-blocksize</span>
- </td>
- <td>
- Show the minimum block size from the <span class="code">STREAMINFO</span> block.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_show_max_blocksize" />
- <span class="argument">--show-max-blocksize</span>
- </td>
- <td>
- Show the maximum block size from the <span class="code">STREAMINFO</span> block.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_show_min_framesize" />
- <span class="argument">--show-min-framesize</span>
- </td>
- <td>
- Show the minimum frame size from the <span class="code">STREAMINFO</span> block.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_show_max_framesize" />
- <span class="argument">--show-max-framesize</span>
- </td>
- <td>
- Show the maximum frame size from the <span class="code">STREAMINFO</span> block.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_show_sample_rate" />
- <span class="argument">--show-sample-rate</span>
- </td>
- <td>
- Show the sample rate from the <span class="code">STREAMINFO</span> block.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_show_channels" />
- <span class="argument">--show-channels</span>
- </td>
- <td>
- Show the number of channels from the <span class="code">STREAMINFO</span> block.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_show_bps" />
- <span class="argument">--show-bps</span>
- </td>
- <td>
- Show the # of bits per sample from the <span class="code">STREAMINFO</span> block.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_show_total_samples" />
- <span class="argument">--show-total-samples</span>
- </td>
- <td>
- Show the total # of samples from the <span class="code">STREAMINFO</span> block.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_show_vendor_tag" />
- <span class="argument">--show-vendor-tag</span>
- </td>
- <td>
- Show the vendor string from the <span class="code">VORBIS_COMMENT</span> block.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_show_tag" />
- <span class="argument">--show-tag=NAME</span>
- </td>
- <td>
- Show all tags where the the field name matches <span class="argument">NAME</span>.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_remove_tag" />
- <span class="argument">--remove-tag=NAME</span>
- </td>
- <td>
- Remove all tags whose field name is <span class="argument">NAME</span>.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_remove_first_tag" />
- <span class="argument">--remove-first-tag=NAME</span>
- </td>
- <td>
- Remove first tag whose field name is <span class="argument">NAME</span>.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_remove_all_tags" />
- <span class="argument">--remove-all-tags</span>
- </td>
- <td>
- Remove all tags, leaving only the vendor string.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_set_tag" />
- <span class="argument">--set-tag=FIELD</span>
- </td>
- <td>
- Add a tag. The <span class="argument">FIELD</span> must comply with the Vorbis comment spec, of the form <span class="argument">NAME=VALUE</span>. If there is currently no tag block, one will be created.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_set_tag_from_file" />
- <span class="argument">--set-tag-from-file=FIELD</span>
- </td>
- <td>
- Like <a href="#metaflac_shorthand_set_tag"><span class="argument">--set-tag</span></a>, except the VALUE is a filename whose contents will be read verbatim to set the tag value. Unless <a href="#metaflac_options_no_utf8_convert"><span class="argument">--no-utf8-convert</span></a> is specified, the contents will be converted to UTF-8 from the local charset. This can be used to store a cuesheet in a tag (e.g. <span class="argument">--set-tag-from-file="CUESHEET=image.cue"</span>). Do not try to store binary data in tag fields! Use APPLICATION blocks for that.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_import_tags_from" />
- <span class="argument">--import-tags-from=FILE</span>
- </td>
- <td>
- Import tags from a file. Use <span class="argument">-</span> for stdin. Each line should be of the form <span class="argument">NAME=VALUE</span>. Multi-line comments are currently not supported. Specify <span class="argument">--remove-all-tags</span> and/or <a href="#metaflac_options_no_utf8_convert"><span class="argument">--no-utf8-convert</span></a> before <span class="argument">--import-tags-from</span> if necessary. If <span class="argument">FILE</span> is <span class="argument">-</span> (stdin), only one FLAC file may be specified.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_export_tags_to" />
- <span class="argument">--export-tags-to=FILE</span>
- </td>
- <td>
- Export tags to a file. Use <span class="argument">-</span> for stdin. Each line will be of the form <span class="argument">NAME=VALUE</span>. Specify <a href="#metaflac_options_no_utf8_convert"><span class="argument">--no-utf8-convert</span></a> if necessary.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_import_cuesheet_from" />
- <span class="argument">--import-cuesheet-from=FILE</span>
- </td>
- <td>
- Import a cuesheet from a file. Use <span class="argument">-</span> for stdin. Only one FLAC file may be specified. A seekpoint will be added for each index point in the cuesheet to the <span class="code">SEEKTABLE</span> unless <span class="argument">--no-cued-seekpoints</span> is specified.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_export_cuesheet_to" />
- <span class="argument">--export-cuesheet-to=FILE</span>
- </td>
- <td>
- Export <span class="code">CUESHEET</span> block to a cuesheet file, suitable for use by CD authoring software. Use <span class="argument">-</span> for stdout. Only one FLAC file may be specified on the command line.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_import_picture_from" />
- <span class="argument">--import-picture-from={FILENAME|SPECIFICATION}</span>
- </td>
- <td>
- Import a picture and store it in a <a href="format.html#def_PICTURE"><span class="code">PICTURE</span></a> metadata block. See the <span class="commandname">flac</span> option <span class="argument"><a href="documentation_tools_flac.html#flac_options_picture">--picture</a></span> for an explanation of the <span class="argument">SPECIFICATION</span> syntax.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_export_picture_to" />
- <span class="argument">--export-picture-to=FILE</span>
- </td>
- <td>
- Export <span class="code">PICTURE</span> block to a file. Use <span class="argument">-</span> for stdout. Only one FLAC file may be specified on the command line. The first <span class="code">PICTURE</span> block will be exported unless <span class="argument">--export-picture-to</span> is preceded by a <span class="argument">--block-number=#</span> option to specify the exact metadata block to extract. Note that the block number is the one shown by --list.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_add_replay_gain" />
- <span class="argument">--add-replay-gain</span>
- </td>
- <td>
- Calculates the title and album gains/peaks of the given FLAC files as if all the files were part of one album, then stores them as FLAC tags. The tags are the same as those used by <span class="commandname">vorbisgain</span>. Existing ReplayGain tags will be replaced. If only one FLAC file is given, the album and title gains will be the same. Since this operation requires two passes, it is always executed last, after all other operations have been completed and written to disk. All FLAC files specified must have the same resolution, sample rate, and number of channels. The sample rate must be one of 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, or 48 kHz.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_remove_replay_gain" />
- <span class="argument">--remove-replay-gain</span>
- </td>
- <td>
- Removes the ReplayGain tags.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_add_seekpoint" />
- <span class="argument">--add-seekpoint={#|X|#x|#s}</span>
- </td>
- <td>
- Add seek points to a <span class="code">SEEKTABLE</span> block:<br />
- <ul>
- <li>
- <span class="argument">#&nbsp;</span> : a specific sample number for a seek point
- </li>
- <li>
- <span class="argument">X&nbsp;</span> : a placeholder point (always goes at the end of the <span class="code">SEEKTABLE</span>)
- </li>
- <li>
- <span class="argument">#x</span> : # evenly spaced seekpoints, the first being at sample 0
- </li>
- <li>
- <span class="argument">#s</span> : a seekpoint every # seconds; # does not have to be a whole number, it can be, for example, <span class="argument">9.5</span>, meaning a seekpoint every 9.5 seconds
- </li>
- </ul>
- If no <span class="code">SEEKTABLE</span> block exists, one will be created. If one already exists, points will be added to the existing table, and any duplicates will be turned into placeholder points.<br />
- You may use many <span class="argument">--add-seekpoint</span> options; the resulting <span class="code">SEEKTABLE</span> will be the unique-ified union of all such values. Example: <span class="argument">--add-seekpoint=100x --add-seekpoint=3.5s</span> will add 100 evenly spaced seekpoints and a seekpoint every 3.5 seconds.<br />
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_shorthand_add_padding" />
- <span class="argument">--add-padding=#</span>
- </td>
- <td>
- Add a padding block of the given length (in bytes). The overall length of the new block will be 4 + length; the extra 4 bytes is for the metadata block header.
- </td>
- </tr>
- </table>
- </td></tr></table>
-
- <br />
-
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="major_operations"><font size="+1"><b>Major Operations</b></font></a>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_operations_version" />
- <span class="argument">--version</span>
- </td>
- <td>
- Show the metaflac version number.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_operations_list" />
- <span class="argument">--list</span>
- </td>
- <td>
- List the contents of one or more metadata blocks to stdout. By default, all metadata blocks are listed in text format. Use the following options to change this behavior:<br />
- <br />
-
- <span class="argument">--block-number=#[,#[...]]</span><br />
- An optional comma-separated list of block numbers to display. The first block, the <span class="code">STREAMINFO</span> block, is block 0.<br />
- <br />
-
- <span class="argument">--block-type=type[,type[...]]</span><br />
- <span class="argument">--except-block-type=type[,type[...]]</span><br />
- An optional comma-separated list of block types to be included or ignored with this option. Use only one of <span class="argument">--block-type</span> or <span class="argument">--except-block-type</span>. The valid block types are: <span class="code">STREAMINFO</span>, <span class="code">PADDING</span>, <span class="code">APPLICATION</span>, <span class="code">SEEKTABLE</span>, <span class="code">VORBIS_COMMENT</span>. You may narrow down the types of <span class="code">APPLICATION</span> blocks displayed as follows:<br />
- <table border="1">
- <tr>
- <td><span class="argument">APPLICATION:abcd</span></td>
- <td>The <span class="code">APPLICATION</span> block(s) whose textual representation of the 4-byte ID is "abcd"</td>
- </tr>
- <tr>
- <td><span class="argument">APPLICATION:0xXXXXXXXX</span></td>
- <td>The <span class="code">APPLICATION</span> block(s) whose hexadecimal big- endian representation of the 4-byte ID is "0xXXXXXXXX". For the example "abcd" above the hexadecimal equivalalent is 0x61626364</td>
- </tr>
- </table>
- <br />
-
- NOTE: if both <span class="argument">--block-number</span> and <span class="argument">--[except-]block-type</span> are specified, the result is the logical AND of both arguments.<br />
- <br />
-
- <span class="argument">--application-data-format=hexdump|text</span><br />
- If the application block you are displaying contains binary data but your <span class="argument">--data-format=text</span>, you can display a hex dump of the application data contents instead using <span class="argument">--application-data-format=hexdump</span>.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_operations_remove" />
- <span class="argument">--remove</span>
- </td>
- <td>
- Remove one or more metadata blocks from the metadata. Unless <span class="argument">--dont-use-padding</span> is specified, the blocks will be replaced with padding. You may not remove the <span class="code">STREAMINFO</span> block.<br />
- <br />
-
- <span class="argument">--block-number=#[,#[...]]</span><br />
- <span class="argument">--block-type=type[,type[...]]</span><br />
- <span class="argument">--except-block-type=type[,type[...]]</span><br />
- See <a href="#metaflac_operations_list"><span class="argument">--list</span></a> above for usage.<br />
- <br />
-
- NOTE: if both <span class="argument">--block-number</span> and <span class="argument">--[except-]block-type</span> are specified, the result is the logical AND of both arguments.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_operations_remove_all" />
- <span class="argument">--remove-all</span>
- </td>
- <td>
- Remove all metadata blocks (except the <span class="code">STREAMINFO</span> block) from the metadata. Unless <span class="argument">--dont-use-padding</span> is specified, the blocks will be replaced with padding.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_operations_merge_padding" />
- <span class="argument">--merge-padding</span>
- </td>
- <td>
- Merge adjacent <span class="code">PADDING</span> blocks into single blocks.
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <a name="metaflac_operations_sort_padding" />
- <span class="argument">--sort-padding</span>
- </td>
- <td>
- Move all <span class="code">PADDING</span> blocks to the end of the metadata and merge them into a single block.
- </td>
- </tr>
- </table>
- </td></tr></table>
-
- <br />
- <a name="option_index"><font size="+1"><b><u>Option Index</u></b></font></a><br />
- <br />
- <a href="#metaflac_shorthand_add_padding" /><span class="argument">--add-padding</span></a><br />
- <a href="#metaflac_shorthand_add_replay_gain" /><span class="argument">--add-replay-gain</span></a><br />
- <a href="#metaflac_shorthand_add_seekpoint" /><span class="argument">--add-seekpoint</span></a><br />
- <a href="#metaflac_options_dont_use_padding" /><span class="argument">--dont-use-padding</span></a><br />
- <a href="#metaflac_shorthand_export_cuesheet_to" /><span class="argument">--export-cuesheet-to</span></a><br />
- <a href="#metaflac_shorthand_export_picture_to" /><span class="argument">--export-picture-to</span></a><br />
- <a href="#metaflac_shorthand_export_tags_to" /><span class="argument">--export-tags-to</span></a><br />
- <a href="#metaflac_shorthand_import_cuesheet_from" /><span class="argument">--import-cuesheet-from</span></a><br />
- <a href="#metaflac_shorthand_import_picture_from" /><span class="argument">--import-picture-from</span></a><br />
- <a href="#metaflac_shorthand_import_tags_from" /><span class="argument">--import-tags-from</span></a><br />
- <a href="#metaflac_operations_list" /><span class="argument">--list</span></a><br />
- <a href="#metaflac_operations_merge_padding" /><span class="argument">--merge-padding</span></a><br />
- <a href="#metaflac_options_no_filename" /><span class="argument">--no-filename</span></a><br />
- <a href="#metaflac_options_no_utf8_convert" /><span class="argument">--no-utf8-convert</span></a><br />
- <a href="#metaflac_options_preserve_modtime" /><span class="argument">--preserve-modtime</span></a><br />
- <a href="#metaflac_shorthand_remove_all_tags" /><span class="argument">--remove-all-tags</span></a><br />
- <a href="#metaflac_operations_remove_all" /><span class="argument">--remove-all</span></a><br />
- <a href="#metaflac_shorthand_remove_first_tag" /><span class="argument">--remove-first-tag</span></a><br />
- <a href="#metaflac_shorthand_remove_replay_gain" /><span class="argument">--remove-replay-gain</span></a><br />
- <a href="#metaflac_shorthand_remove_tag" /><span class="argument">--remove-tag</span></a><br />
- <a href="#metaflac_operations_remove" /><span class="argument">--remove</span></a><br />
- <a href="#metaflac_shorthand_set_tag_from_file" /><span class="argument">--set-tag-from-file</span></a><br />
- <a href="#metaflac_shorthand_set_tag" /><span class="argument">--set-tag</span></a><br />
- <a href="#metaflac_shorthand_show_bps" /><span class="argument">--show-bps</span></a><br />
- <a href="#metaflac_shorthand_show_channels" /><span class="argument">--show-channels</span></a><br />
- <a href="#metaflac_shorthand_show_max_blocksize" /><span class="argument">--show-max-blocksize</span></a><br />
- <a href="#metaflac_shorthand_show_max_framesize" /><span class="argument">--show-max-framesize</span></a><br />
- <a href="#metaflac_shorthand_show_md5sum" /><span class="argument">--show-md5sum</span></a><br />
- <a href="#metaflac_shorthand_show_min_blocksize" /><span class="argument">--show-min-blocksize</span></a><br />
- <a href="#metaflac_shorthand_show_min_framesize" /><span class="argument">--show-min-framesize</span></a><br />
- <a href="#metaflac_shorthand_show_sample_rate" /><span class="argument">--show-sample-rate</span></a><br />
- <a href="#metaflac_shorthand_show_tag" /><span class="argument">--show-tag</span></a><br />
- <a href="#metaflac_shorthand_show_total_samples" /><span class="argument">--show-total-samples</span></a><br />
- <a href="#metaflac_shorthand_show_vendor_tag" /><span class="argument">--show-vendor-tag</span></a><br />
- <a href="#metaflac_operations_sort_padding" /><span class="argument">--sort-padding</span></a><br />
- <a href="#metaflac_operations_version" /><span class="argument">--version</span></a><br />
- <a href="#metaflac_options_with_filename" /><span class="argument">--with-filename</span></a><br />
-
- </div>
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/documentation_tools_plugins.html b/3rdparty/libflac/doc/html/documentation_tools_plugins.html
deleted file mode 100644
index 0605c347a63..00000000000
--- a/3rdparty/libflac/doc/html/documentation_tools_plugins.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - documentation</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/documentation.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- <a name="plugins"></a><a name="xmms_plugin">xmms plugin</a>
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- Normally the FLAC plugin for XMMS is installed with a package, but some of the <a href="download.html">binary builds</a> have a compiled plugin. All that is necessary is to copy <span class="code">libxmms-flac.so</span> to the directory where XMMS looks for input plugins (usually <span class="code">/usr/lib/xmms/Input</span> or <span class="code">$HOME/.xmms/Input</span>). There is nothing else to configure. Make sure to restart XMMS before trying to play any <span class="code">.flac</span> files.
- </div>
- <div class="box_footer"></div>
-</div>
-
-<br />
-
-<div class="box">
- <div class="box_title">
- <a name="winamp_plugin">winamp plugin</a>
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- Since Winamp 5.31, Nullsoft has supplied a FLAC plugin with their Full install; nothing else is needed to get FLAC to play in Wnamp.<br />
- <br />
- Before Winamp 5.31 it was necessary to use our FLAC plugin. If you have an older version of Winamp, our plugin is still available in the <a href="http://cyberial.com/flacinstaller.asp">FLAC Installer for Windows</a>. The Winamp plugin should work for both Winamp2 and Winamp5. All that is necessary is to copy <span class="code">in_flac.dll</span> to the <span class="code">Plugins/</span> directory of your Winamp installation. There is nothing else to configure. Make sure to restart Winamp before trying to play any <span class="code">.flac</span> files.
- </div>
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/download.html b/3rdparty/libflac/doc/html/download.html
deleted file mode 100644
index cdc7768ba83..00000000000
--- a/3rdparty/libflac/doc/html/download.html
+++ /dev/null
@@ -1,284 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - download</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;download&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/download.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- download
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- Many different programs support FLAC. If you are not sure what to download, see <a href="documentation_tasks.html">Using FLAC</a> for instructions and guides on playing FLAC files, ripping CDs to FLAC, etc.<br />
- <br />
- This section is for the <a href="documentation_tools.html">official FLAC tools</a>. See the <a href="#extras">extras section</a> below for other third-party tools.<br />
- <br />
- All source code and binaries are freely available and distributed under <a href="http://www.opensource.org/docs/definition.php">Open Source</a> licenses. The codec libraries are distributed under Xiph.org's BSD license, and the plugins and command-line utilites (<span class="commandname">flac</span> and <span class="commandname">metaflac</span>) are distributed under the <a href="http://www.opensource.org/licenses/gpl-license.html">GPL</a>. If you would like to redistribute parts or all of FLAC under different terms, <a href="mailto:jcoalson@users.sourceforge.net">contact Josh Coalson</a>. (For more information, see the <a href="license.html">license page</a>.)
- <ul>
- <li>
- <b>Linux</b>
- <ul>
- <li><a href="http://sourceforge.net/project/showfiles.php?group_id=13478&amp;package_id=12676">FLAC for Fedora Core 4</a></li>
- <li><a href="http://packages.debian.org/cgi-bin/search_packages.pl?keywords=flac&amp;searchon=names&amp;subword=1&amp;version=all&amp;release=all">FLAC 1.x Debian packages</a></li>
- <li>RPMs can be found on <a href="http://ccrma-www.stanford.edu/planetccrma/software/soundapps.html">Planet CCRMA</a> and <a href="http://rpmfind.net/linux/rpm2html/search.php?query=flac">rpmfind.net</a></li>
- </ul>
- </li>
- <li>
- <b>Mac OS X</b>
- <ul>
- <li><!-- <a href="http://www.danrules.com/macflac/"><a href="http://www.versiontracker.com/dyn/moreinfo/macosx/15883"> --><a href="http://mac.softpedia.com/get/Audio/MacFLAC.shtml">MacFLAC with installer and GUI front-end</a> (source code not available)</li>
- <li><a href="http://www.macupdate.com/info.php/id/16458">FLACer</a> (source code not available)</li>
- <li><a href="http://www.versiontracker.com/dyn/moreinfo/macosx/21952">xACT with installer and GUI front-end</a> (source code included)</li>
- <li><a href="http://fink.sourceforge.net/pdb/package.php/flac">FLAC Fink package</a> for use with <a href="http://fink.sourceforge.net/">Fink</a></li>
- <li><a href="http://sourceforge.net/project/showfiles.php?group_id=13478&amp;package_id=32318">FLAC tools for OS X</a>. The .dmg file is an installer and the .tar.gz file is a tarball.</li>
- </ul>
- </li>
- <li>
- <b>Windows</b>
- <ul>
- <!-- <li><a href="http://cyberial.com/flacinstaller.asp">FLAC for Windows with installer</a> (<a href="http://downloads.sourceforge.net/flac/flac113b.exe?use_mirror=superb-west">alternate link</a>) <b>NOTE FOR VISTA USERS:</b> if the installer is getting stuck, try <a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=52353">this workaround</a></li> -->
- <li><a href="http://downloads.sourceforge.net/flac/flac-1.2.1a.exe">FLAC for Windows with installer</a> (If this does not work, download <tt>flac-1.2.1a.exe</tt> from <a href="http://sourceforge.net/project/showfiles.php?group_id=13478&amp;package_id=12675">here</a>) <b>NOTE FOR VISTA USERS:</b> if the installer is getting stuck, try <a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=52353">this workaround</a></li>
- <li><a href="http://sourceforge.net/project/showfiles.php?group_id=13478&amp;package_id=12675">FLAC for Windows (command-line tools only)</a></li>
- </ul>
- </li>
- <li>
- <b>Other</b>
- <ul>
- <li><a href="http://amiga.sourceforge.net/">FLAC package for Amiga</a></li>
- <li><a href="http://freeware.sgi.com/">FLAC packages for IRIX</a>.</li>
- <li><a href="http://sourceforge.net/project/showfiles.php?group_id=13478&amp;package_id=12841">FLAC for Solaris 2.7</a></li>
- <li>Unofficial port of the <a href="http://arisme.free.fr/ports/flac.php">FLAC libraries to Windows CE (WinCE)</a></li>
- </ul>
- </li>
- <li>
- <b>Source code</b>
- <ul>
- <li><a href="http://sourceforge.net/project/showfiles.php?group_id=13478&amp;package_id=12677">FLAC full source code</a>; also includes documentation and build systems for Windows (MSVC++) and *nix,*BSD,OS/2,OS X (autotools)</li>
- <li><a href="http://cvs.sourceforge.net/cvstarballs/flac-cvsroot.tar.bz2">Nightly CVS tarball</a>; this is the actual CVS repository used for development</li>
- </ul>
- </li>
- <li>
- <b>Older versions</b>
- <ul>
- <li><a href="http://sourceforge.net/project/showfiles.php?group_id=13478">Older versions of FLAC</a> available from SourceForge</li>
- </ul>
- </li>
- </ul>
- </div>
- <div class="box_footer"></div>
-</div>
-
-<br />
-
-<div class="box">
- <div class="box_title">
- <a name="extras">extras</a>
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- <b>NOTE: </b> these extras are not part of the FLAC project. Most (except those marked [$]) are freely available but distributed under their authors' own terms.<br />
- <br />
- <b>NOTE: </b> make sure to check out the <a href="links.html">links page</a> for a large list of open-source software supporting FLAC.<br />
- <br />
- <a name="extras_gui"><b>GUI encoding/decoding front-ends:</b></a>
- <ul>
- <li>
- <a name="extras_gui_windows"><b>Windows</b></a>
- <ul>
- <li><a href="http://www.legroom.net/modules.php?op=modload&amp;name=Open_Source&amp;file=index&amp;page=software&amp;app=autoflac">AutoFLAC</a> for automated ripping and encoding to FLAC with EAC (ExactAudioCopy); also has a write mode for burning back to CD for an exact copy</li>
- <li><a href="http://www.dbpoweramp.com/">dBpowerAMP</a>, a swiss army knife that can convert and play many formats, including FLAC.</li>
- <li><a href="http://www.uninformative.com/flacattack/">Flacattack</a>: an all-in-one tool that works with ExactAudioCopy to encode a CD image to FLAC, embed the cuesheet, add ReplayGain, create lossy files, etc. all in a customizable directory structure.</li>
- <li><a href="http://www.rarewares.org/lossless.html">FLACdrop</a>, an Oggdrop-like frontend for Windows.</li>
- <li><a href="http://members.home.nl/w.speek/flac.htm">FLAC frontend</a>, a Windows GUI, or the even more versatile <a href="http://members.home.nl/w.speek/multi.htm">Multi frontend</a>.</li>
- <li><a href="http://www.vuplayer.com/other.htm">FLACTester</a>, can test a whole tree of FLAC files for errors and generate a report.</li>
- <li><a href="http://home.vxu.se/mdati00/frontah/">Frontah</a>, a new frontend to many codecs, including FLAC. Still in beta but has good reviews.</li>
- <li><a href="http://www.germanixsoft.de/">GX::Transcoder</a></li>
- <li><a href="http://mareo.netfirms.com/">MAREO</a> is a "virtual" encoder that can be used with ExactAudioCopy to encode to multiple formats (including FLAC) at once while ripping.</li>
- <li><a href="http://mediacoder.sourceforge.net/">MediaCoder</a> converts between many audio and video formats.</li>
- <li><a href="http://www.mediamonkey.com">MediaMonkey</a> can organize, encode, decode, edit tags, and rip to FLAC and other formats.</li>
- <li><a href="http://music.yahoo.com/musicengine/">Yahoo! Music Engine</a></li>
- </ul>
- </li>
- <li>
- <a name="extras_gui_osx"><b>Mac OS X</b></a>
- <ul>
- <li><a href="http://www.lexial.ca/alex/applescripts/iTunes_to_flac.html">iTunes-to-FLAC</a>, an AppleScript for converting between FLAC and WAVE/AIFF with tagging via iTunes.</li>
- <li><!-- <a href="http://www.danrules.com/macflac/"><a href="http://www.versiontracker.com/dyn/moreinfo/macosx/15883"> --><a href="http://mac.softpedia.com/get/Audio/MacFLAC.shtml">MacFLAC</a>, a FLAC distribution which also includes nice graphical front-end.</li>
- <li><a href="http://sbooth.org/Max/">Max</a>, a CD ripper and encoder that supports several formats including FLAC.</li>
- <li><a href="http://www.chaoticsoftware.com/ProductPages/MediaRage.html">MediaRage</a>, for editing FLAC metadata (also supports Vorbis and other formats).</li>
- <li><a href="http://members.rogers.com/beamsplitter/">RipBeak</a> is a nice GUI encoding frond-end that supports FLAC as well as Vorbis and MP3.</li>
- <li><a href="http://www.versiontracker.com/dyn/moreinfo/macosx/21952">xACT</a>, another FLAC distribution with a graphical front-end to FLAC and other formats.</li>
- </ul>
- </li>
- <li>
- <a name="extras_gui_unix"><b>Unix</b></a>
- <ul>
- <li><a href="http://www.nostatic.org/grip/">Grip</a> is a great ripping and encoding front end and can be easily configured to use flac. See <a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=45939">this thread</a> on how to configure Grip for FLAC.</li>
- <li><a href="http://www.amb.org/xmcd/">xmcd</a> is a CD ripper with CDDB support as well as a player.</li>
- <li>(<a href="links.html#software">many more</a>)</li>
- </ul>
- </li>
- <li>
- <a name="extras_gui_pocketpc"><b>Pocket PC</b></a>
- <ul>
- <li>[$] <a href="http://www.gidluckmastering.com/live2496.html">Live2496</a>, a program that can record 24-bit audio up to 96kHz on a Pocket PC (using <a href="http://www.core-sound.com/">Core Sound's PDAudio interface</a>) can record directly to FLAC.</li>
- </ul>
- </li>
- </ul>
- <a name="extras_burning"><b>CD burning:</b></a>
- <ul>
- <li>
- <a name="extras_burning_windows"><b>Windows</b></a>
- <ul>
- <li><a href="http://www.burnatonce.com/">burnatonce</a>, a CD burning GUI that wraps around <a href="http://sourceforge.net/projects/cdrdao/">cdrdao</a> and <a href="http://freshmeat.net/projects/cdrecord/">mkisofs</a>.</li>
- <li><a href="http://www.burrrn.net/?page_id=4">Burrrn</a> supports burning CDs from cuesheets directly from many formats, including FLAC, and supports most tag formats.</li>
- <li><a href="http://www.cdwave.com/">CD Wave</a>, a CD authoring tool that can read and write FLAC.</li>
- <li><a href="http://dbpoweramp.com/cdwriter.htm">dBpowerAMP CD Writer</a>.</li>
- <li>[$] <a href="http://www.poikosoft.com/">Easy CD-DA Extractor</a>.</li>
- <li>[$] <a href="http://www.roxio.com/enu/products/creator/suite/features.html">Easy Media Creator 9 Suite</a> from Roxio.</li>
- </ul>
- </li>
- <li>
- <a name="extras_burning_osx"><b>Mac OS X</b></a>
- <ul>
- <li>[$] Roxio's <a href="http://www.roxio.com/en/products/toast/index.jhtml">Toast 7 Titanium</a> supports encoding to FLAC and CD/DVD burning from FLAC.</li>
- </ul>
- </li>
- <li>
- <a name="extras_burning_unix"><b>Unix</b></a>
- <ul>
- <li><a href="http://arson.sourceforge.net/">Arson</a>: KDE ripper/burner</li>
- <li><a href="http://www.k3b.org/">K3B</a>: CD/DVD creator for Linux</li>
- <li>(<a href="links.html#software">more</a>)</li>
- </ul>
- </li>
- </ul>
- <a name="extras_players"><b>Players and plugins:</b></a>
- <ul>
- <li>
- <a name="extras_players_windows"><b>Windows</b></a>
- <ul>
- <!-- case's page disappeared, use temporary links
- <li><a href="http://www.saunalahti.fi/~cse/files/cool_flac.zip">Cooledit FLAC filter</a> (source code <a href="http://www.saunalahti.fi/cse/files/cool_flac_src.zip">here</a>).</li>
- -->
- <li>[$] <a href="http://www.adobe.com/products/audition/main.html">Adobe Audition a.k.a. CoolEdit</a> (as a <a href="http://www.vuplayer.com/audition.php">plugin</a>, alternate plugin by Case <a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=20145">here</a>)</li>
- <li><a href="http://koti.welho.com/hylinen/apollo/">Apollo</a> (as a <a href="http://koti.welho.com/hylinen/apollo/Plug-ins.html">plugin</a>)</li>
- <li><a href="http://www.dbpoweramp.com/dbpoweramp.htm">dbPowerAMP</a> (as a <a href="http://www.dbpoweramp.com/codec-central-flac.htm">plugin</a>)</li>
- <li>DirectShow: <a href="http://www.illiminable.com/ogg/">Illiminable's DirectShow filters</a> for encoding to/decoding from FLAC and Ogg FLAC (as well as Ogg Vorbis/Speex/Theora).</li>
- <li>DirectShow: <a href="http://corecodec.org/projects/coreflac">CoreFLAC</a>: DirectShow filters for encoding to/decoding from FLAC.</li>
- <li><a href="http://www.foobar2000.org/">foobar2000</a> (as a <a href="http://www.foobar2000.org/components.html#foo_flac">plugin</a>)</li>
- <li>[$] <a href="http://www.jrmediacenter.com/">Media Center</a>/<a href="http://www.mediajukebox.com/">Media Jukebox</a> (as <a href="http://mcplugins.sourceforge.net/">plugins</a>). Source code is available.</li>
- <li>[$] <a href="http://www.mediamonkey.com/">MediaMonkey</a>: organizes, plays, and rips to FLAC.</li>
- <li><a href="http://www.phsoft.nl/">Mp3CoolPlay-X</a> (as a <a href="http://www.phsoft.nl/?id=flacplginf">plugin</a>)</li>
- <li><a href="http://www.quinnware.com/">Quintessential Player</a> (as a <a href="http://www.quinnware.com/list_plugins.php?plugin=126">plugin</a>)</li>
- <li><a href="http://www.songbirdnest.com/">Songbird</a></li>
- <li><a href="http://www.videolan.org/vlc/index.html">VLC</a></li>
- <li><a href="http://www.vuplayer.com/vuplayer.php">VUPlayer</a></li>
- <li><a href="http://www.winamp.com/">Winamp</a> has native FLAC support</li>
- <li>Windows Media Player, using either the <a href="http://www.illiminable.com/ogg/">Illiminable</a> or <a href="http://corecodec.org/projects/coreflac">CoreFLAC</a> DirectShow filters, and FLAC tag support with <a href="http://wmptagext.sourceforge.net/">WMP Tag Support Extender</a> (<a href="http://www.losslessaudioblog.com/?p=40">guide</a>)</li>
- <li><a href="http://un4seen.com/xmplay.html">XMPlay</a> (as a <a href="http://un4seen.com/download.cgi?xmp-flac">plugin</a>)</li>
- <li><a href="http://music.yahoo.com/musicengine/">Yahoo! Music Engine</a></li>
- </ul>
- </li>
- <li>
- <a name="extras_players_osx"><b>Mac OS X</b></a>
- <ul>
- <li><a href="http://cogosx.sourceforge.net/">Cog</a></li>
- <li><a href="http://freshmeat.net/projects/cynthiune/">Cynthiune</a> music player</li>
- <li><a href="http://arcticlounge.com/maltx/">MacAmp Lite X</a></li>
- <li><a href="http://homepage.mac.com/steve_bryan/Personal12.html">PureMusic Audio Player</a></li>
- <li><a href="http://www.songbirdnest.com/">Songbird</a></li>
- <li><a href="http://www.videolan.org/vlc/index.html">VLC</a></li>
- <li><a href="http://www.xiph.org/quicktime/">XiphQT</a> component for Quicktime/iTunes that supports Ogg FLAC playback</li>
- </ul>
- </li>
- <li>
- <a name="extras_players_unix"><b>Unix</b></a>
- <ul>
- <li><a href="http://alsaplayer.org/">AlsaPlayer</a></li>
- <li><a href="http://www.giantdisc.org/">GiantDisc</a>: Linux jukebox + Palm remote</li>
- <li><a href="http://www.mplayerhq.hu/">MPlayer</a></li>
- <li><a href="http://muine.gooeylinux.org/">Muine</a>: a music player for GNOME</li>
- <li><a href="http://musik.berlios.de/">Musik</a>: an open-source, cross-platform multimedia player and library</li>
- <li><a href="http://www.videolan.org/">VideoLAN</a> client</li>
- <li><a href="http://xine.sourceforge.net/">Xine</a> multimedia player</li>
- <li><a href="http://www.amb.org/xmcd/">xmcd</a>: X CD player</li>
- <li><a href="http://www.xmms.org/">XMMS</a>: X MultiMedia System</li>
- <li>(<a href="links.html#software">many more</a>)</li>
- </ul>
- </li>
- <li>
- <a name="extras_players_java"><b>Java</b></a>
- <ul>
- <li><a href="http://jflac.sourceforge.net/">jFLAC</a>: a Java native-FLAC decoder library and player application.</li>
- <li><a href="http://www.j-ogg.de/">J-Ogg</a>: Java libraries for Ogg decoding, including Ogg FLAC.</li>
- </ul>
- </li>
- </ul>
- </div>
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/faq.html b/3rdparty/libflac/doc/html/faq.html
deleted file mode 100644
index e110c124b34..00000000000
--- a/3rdparty/libflac/doc/html/faq.html
+++ /dev/null
@@ -1,402 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - faq</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;faq&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/faq.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- faq
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- <b>General</b>
- <ul>
- <li>
- <a href="#general__what_is"><b>What is FLAC?</b></a>
- </li>
- <li>
- <a href="#general__how_to"><b>I have a FLAC file, how do I play it?</b></a>
- </li>
- <li>
- <a href="#general__how_to"><b>How can I create FLAC files?</b></a>
- </li>
- <li>
- <a href="#general__license"><b>What licensing applies to the FLAC format and software?</b></a>
- </li>
- <li>
- <a href="#general__tagging"><b>What kinds of tags does FLAC support?</b></a>
- </li>
- <li>
- <a href="#general__software"><b>What software support FLAC?</b></a>
- </li>
- <li>
- <a href="#general__software_wmp"><b>How can I play FLAC in Windows Media Player?</b></a>
- </li>
- <li>
- <a href="#general__hardware"><b>What hardware products support FLAC?</b></a>
- </li>
- <li>
- <a href="#general__native_vs_ogg"><b>What is the difference between (native) FLAC and Ogg FLAC?</b></a>
- </li>
- <li>
- <a href="#general__native_or_ogg"><b>Which should I use, (native) FLAC or Ogg FLAC?</b></a>
- </li>
- <li>
- <a href="#general__no_cuesheet_tags"><b>Why aren't PERFORMER/TITLE/etc tags stored in the FLAC CUESHEET block?</b></a>
- </li>
- <li>
- <a href="#general__no_wave_metadata"><b>Why doesn't FLAC store all WAVE metadata?</b></a>
- </li>
- <li>
- <a href="#general__not_wave_compressor"><b>If flac compresses WAVE files, why isn't it technically a WAVE file compressor?</b></a>
- </li>
- <li>
- <a href="#general__no_riff_subchunks"><b>Why do some lossless comparisons say FLAC does not support RIFF chunks?</b></a>
- </li>
- <li>
- <a href="#general__asymmetry"><b>Why do the encoder settings have a big effect on the encoding time but not the decoding time?</b></a>
- </li>
- <li>
- <a href="#general__alternatives"><b>Why use FLAC instead of other codecs that compress more?</b></a>
- </li>
- <li>
- <a href="#general__encode_faster"><b>Why can't you make FLAC encode faster?</b></a>
- </li>
- <li>
- <a href="#general__lossless_trust"><b>How can I be sure FLAC is lossless?</b></a>
- </li>
- <li>
- <a href="#general__testing"><b>How much testing has been done on FLAC?</b></a>
- </li>
- <li>
- <a href="#general__lowest_bitrate"><b>What is the lowest bitrate (or highest compression) achievable with FLAC?</b></a>
- </li>
- <li>
- <a href="#general__channels"><b>How many channels does FLAC support?</b></a>
- </li>
- <li>
- <a href="#general__samples"><b>What kind of audio samples does FLAC support?</b></a>
- </li>
- </ul>
- <b>Tools</b>
- <ul>
- <li>
- <a href="#tools__eac_and_flac"><b>How do I set up EAC to rip directly to FLAC?</b></a>
- </li>
- <li>
- <a href="#tools__runtime75"><b>Why am I getting "Run-time error '75': Path/File access error" with FLAC Frontend?</b></a>
- </li>
- <li>
- <a href="#tools__option_blocking"><b>How do I encode a file that starts with a dash?</b></a>
- </li>
- <li>
- <a href="#tools__long_meta_edits"><b>Why does it take so long to edit some FLAC files with metaflac?</b></a>
- </li>
- <li>
- <a href="#tools__unicode_filenames_windows"><b>Why don't Unicode file names work with <span class="commandname">flac/<span class="commandname">metaflac</span></span> on Windows?</b></a>
- </li>
- <li>
- <a href="#tools__wildcards_on_windows"><b>Why don't wildcards for file names like *.flac or *.wav work with <span class="commandname">flac</span>/<span class="commandname">metaflac</span> on Windows?</b></a>
- </li>
- <li>
- <a href="#tools__hardware_prob"><b>I compressed a file to FLAC with verify on, and flac said "Verify FAILED!" Why?</b></a>
- </li>
- <li>
- <a href="#tools__wave_flac_wave"><b>I compressed a WAVE file to FLAC, then decompressed to WAVE, and the two weren't identical. Why?</b></a>
- </li>
- <li>
- <a href="#tools__skipped_subchunk"><b>I compressed a WAVE file to FLAC and it said "warning: skipping unknown sub-chunk LIST". Why?</b></a>
- </li>
- <li>
- <a href="#tools__two_bytes_short"><b>I decoded a FLAC file and the WAVE is 2 bytes shorter than the original. Why?</b></a>
- </li>
- <li>
- <a href="#tools__not_streamable"><b>Why did I get "ERROR initializing encoder, state = FLAC__STREAM_ENCODER_NOT_STREAMABLE"?</b></a>
- </li>
- <li>
- <a href="#tools__different_sizes"><b>Why doesn't the same file compressed on different machines with the same options yield the same FLAC file?</b></a>
- </li>
- </ul>
- <b>API</b>
- <ul>
- <li>
- <a href="#api__release_versioning"><b>Why does your API change for point releases?</b></a>
- </li>
- <li>
- <a href="#api__frame_length"><b>How can I determine the encoded frame length?</b></a>
- </li>
- </ul>
- <b>Project</b>
- <ul>
- <li>
- <a href="#project__lists"><b>Where are the mailing lists, forums, discussion areas, etc.?</b></a>
- </li>
- <li>
- <a href="#project__submit_bug"><b>How do I submit a bug report?</b></a>
- </li>
- </ul>
-
- <h2>
- <b>General</b>
- </h2>
-
- <a name="general__what_is"><b>What is FLAC?</b></a><br />
- <br />
- FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, but lossless, meaning that audio is compressed in FLAC without any loss in quality. This is similar to how Zip works, except with FLAC you will get much better compression because it is designed specifically for audio, and you can play back compressed FLAC files in your favorite player (or your car or home stereo, see <a href="links.html#hardware">supported devices</a>) just like you would an MP3 file.<br />
- <br />
- For more details, see <a href="features.html">What is FLAC?</a><br />
- <br />
- <a name="general__how_to"><b>I have a FLAC file, how do I play it?</b></a><br />
- <b>How can I create FLAC files?</b></a><br />
- <br />
- See <a href="documentation_tasks.html">Using FLAC</a>.<br />
- <br />
- <a name="general__license"><b>What licensing applies to the FLAC format and software?</b></a><br />
- <br />
- See the <a href="license.html">license page</a>.<br />
- <br />
- <a name="general__tagging"><b>What kinds of tags does FLAC support?</b></a><br />
- <br />
- FLAC has it's own native tagging system which is identical to that of Vorbis. They are called alternately "FLAC tags" and "Vorbis comments". It is the only tagging system required and guaranteed to be supported by FLAC implementations.<br />
- <br />
- Out of convenience, the reference decoder knows how to skip ID3 tags so that they don't interfere with decoding. But you should not expect any tags beside FLAC tags to be supported in applications; some implementations may not even be able to decode a FLAC file with ID3 tags.<br />
- <br />
- <a name="general__software"><b>What software support FLAC?</b></a><br />
- <br />
- This list is so large now it is difficult to maintain and keep up-to-date. For a partial list of open-source software that supports FLAC, see the <a href="links.html#software">software section</a> of the links page. For a partial list of the most popular software used to encode, decode, play, tag, and rip FLAC files, see the <a href="download.html">download page</a>.<br />
- <br />
- <a name="general__software_wmp"><b>How can I play FLAC in Windows Media Player?</b></a><br />
- <br />
- See <a href="http://www.losslessaudioblog.com/wmpmce-lossless-guide/">this guide</a>.<br />
- <br />
- <a name="general__hardware"><b>What hardware products support FLAC?</b></a><br />
- <br />
- See the <a href="links.html#hardware">hardware section</a> of the links page.<br />
- <br />
- <a name="general__native_vs_ogg"><b>What is the difference between (native) FLAC and Ogg FLAC?</b></a><br />
- <br />
- You can think of an audio codec as having two layers. The inside layer is the raw compressed data, and the outside layer is the "container" or "transport layer" that splits and arranges the compressed data in pieces so it can be seeked through, edited, etc.<br />
- <br />
- "Native" FLAC is the compressed FLAC data stored in a very minimalist container, designed to be very efficient at storing single audio streams.<br />
- <br />
- Ogg FLAC is the compressed FLAC data stored in an <a href="http://xiph.org/ogg/vorbis/doc/oggstream.html">Ogg container</a>. Ogg is a much more powerful transport layer that enables mixing several kinds of different streams (audio, data, metadata, etc). The overhead is slightly higher than with native FLAC.<br />
- <br />
- In either case, the compressed FLAC data is the same and one can be converted to the other without re-encoding.<br />
- <br />
- <a name="general__native_or_ogg"><b>Which should I use, (native) FLAC or Ogg FLAC?</b></a><br />
- <br />
- The short answer right now is probably "native FLAC". If all you are doing is compressing audio to be played back later, native FLAC will do everything you need, is more widely supported, and will yield smaller files. If you plan to edit the compressed audio, or want to multiplex the audio with video later in an Ogg container, Ogg FLAC is a better choice.<br />
- <br />
- <a name="general__no_cuesheet_tags"><b>Why aren't PERFORMER/TITLE/etc tags stored in the FLAC CUESHEET block?</b></a><br />
- <br />
- This has turned out to be a pretty polarizing issue and requires a long explanation.<br />
- <br />
- The original purpose of a cue sheet in CD authoring software was to lay out the disc, essentially specifying how the audio will be organized on the disc; some of the information ends up as the CD table of contents: the track numbers and locations, and the index points. Later CD-TEXT was added. But CD-TEXT is a very complex spec, and actually goes in the CD subcode data. It is internationalized, not through Unicode, but with several different character sets, some of them multi-byte. It even allows for graphics. In cue sheets, the TITLE/PERFORMER/etc tags are just a limited shorthand for authoring CD-TEXT, but when you rip, you almost never parse the CD-TEXT, you get it from another database, and it doesn't really belong in the FLAC CUESHEET block.<br />
- <br />
- For FLAC the intention is that applications can calculate the CDDB or CDindex ID from the CUESHEET block and look it up in an online or local database just like CD rippers and players do. But if you really want it in the file itself, the track metadata should be stored separate from the CUESHEET, and already can be because of FLAC's metadata system. There just isn't a method specified yet because as soon as it is, people will say that it's not flexible enough. From experience (and you can see this come up time and time again in many lists), anyone who is going to the trouble of keeping a lossless collection in the first place will already be picky about metadata, and it is hard to come up with a standard that will please even the majority. That is the big problem with metadata and is why Xiph has deferred on it, waiting for someone to come up with a good metadata spec that can be multiplexed together with data.<br />
- <br />
- Some players (for example Foobar2000) allow you to store the CDDB data as FLAC tags and can parse that.<br />
- <br />
- <a name="general__no_wave_metadata"><b>Why doesn't FLAC store all WAVE metadata?</b></a><br />
- <a name="general__not_wave_compressor"><b>If flac compresses WAVE files, why isn't it technically a WAVE file compressor?</b></a><br />
- <br />
- (By default, <span class="commandname">flac</span> does not store WAVE metadata, but it can with the <span class="argument"><a href="documentation_tools_flac.html#flac_options_keep_foreign_metadata">--keep-foreign-metadata</a></span> option described below.)<br />
- <br />
- FLAC is a general-purpose audio format, not just a compressed WAVE file format. There's a subtle difference. WAVE is a complicated standard; many kinds of data besides audio data can be put in it. FLAC's purpose is not to reproduce a WAVE file, including all the non-audio data that is in it, it is to losslessly compress the audio.<br />
- <br />
- However, if you really need to store the non-audio parts of a WAVE or AIFF file, you can use the <span class="argument"><a href="documentation_tools_flac.html#flac_options_keep_foreign_metadata">--keep-foreign-metadata</a></span> option to <span class="commandname">flac</span> when encoding to store it in FLAC metadata, then use the option again when decoding to restore in to the decoded WAVE/AIFF file.<br />
- <br />
- <a name="general__no_riff_subchunks"><b>Why do some lossless comparisons say FLAC does not support RIFF chunks?</b></a><br />
- <br />
- This is a limitation that no longer exists with FLAC (<a href="#general__no_wave_metadata">see above</a>).<br />
- <br />
- <a name="general__asymmetry"><b>Why do the encoder settings have a big effect on the encoding time but not the decoding time?</b></a><br />
- <br />
- It's hard to explain without going into the codec design, but to oversimplify, the encoder is looking for functions that approximate the signal. Higher settings make the encoder search more to find better approximations. The functions are themselves encoded in the FLAC file. Decoding only requires computing the one chosen function, and the complexity of the function is very stable. This is by design, to make decoding easier, and is one of the things that makes FLAC easy to implement in hardware.<br />
- <br />
- <a name="general__alternatives"><b>Why use FLAC instead of other codecs that compress more?</b></a><br />
- <br />
- For most users, a small difference in filesize is usually far outweighed by FLAC's advantages: open patent free codec, portable open source (BSD) reference implementation, documented API, multi-platform support, hardware support, multi-channel support, etc. Improving FLAC to get a little more compression is not worth making it more complex and more compute-intensive to decode, and hence, less likely to be supported in hardware.<br />
- <br />
- <a name="general__encode_faster"><b>Why can't you make FLAC encode faster?</b></a><br />
- <br />
- FLAC already encodes pretty fast. It is faster than real-time even on weak systems and is not much slower than even the fastest codecs. And it is faster than the CD ripping process with which it is usually paired, meaning even if it went faster, it would not speed up the ripping-encoding process anyway.<br />
- <br />
- Part of the reason is that FLAC is asymmetric <a href="#general__asymmetry">(see also)</a>. That means that it is optimized for decoding speed at the expense of encoding speed, because it makes it easier to decode on low-powered hardware, and because you only encode once but you decode many times. <br />
- <br />
- <a name="general__lossless_trust"><b>How can I be sure FLAC is lossless?</b></a><br />
- <a name="general__testing"><b>How much testing has been done on FLAC?</b></a><br />
- <br />
- First, FLAC is probably the only lossless compressor that has a published and comprehensive test suite. With the others you rely on the author's personal testing or the longevity of the program. But with FLAC you can download the whole test suite and run it on any version you like, or alter it to test your own data. The test suite checks every function in the API, as well as running many thousands of streams through an encode-decode-verify process, to test every nook and cranny of the system. Even on a fast machine the full test suite takes hours. The full test suite must pass on several platforms before a release is made.<br />
- <br />
- Second, you can always use the <span class="argument">-V</span> option with <span class="commandname">flac</span> (also supported by most GUI frontends) to verify while encoding. With this option, a decoder is run in parallel to the encoder and its output is compared against the original input. If a difference is found <span class="commandname">flac</span> will stop with an error.<br />
- <br />
- Finally, FLAC is used by many people and has been judged stable enough by many software and hardware makers to be incorporated into their products.<br />
- <br />
- <a name="general__lowest_bitrate"><b>What is the lowest bitrate (or highest compression) achievable with FLAC?</b></a><br />
- <br />
- With FLAC you do not specify a bitrate like with some lossy codecs. It's more like specifying a quality with Vorbis or MPC, except with FLAC the quality is always "lossless" and the resulting bitrate is roughly proportional to the amount of information in the original signal. You cannot control the bitrate much and the result can be from around 100% of the input rate (if you are encoding noise), down to almost 0 (encoding silence).<br />
- <br />
- <a name="general__channels"><b>How many channels does FLAC support?</b></a><br />
- <br />
- FLAC supports from 1 to 8 channels per stream. Channels are only grouped in FLAC to take advantage of interchannel correlation and to define common channel assignments (like stereo L/R, 5.1 surround, et cetera). When encoding a large number of independent channels it is expected that they are coded separately and if required, multiplexed together in a suitable container like Ogg or Matroska.<br />
- <br />
- <a name="general__samples"><b>What kind of audio samples does FLAC support?</b></a><br />
- <br />
- FLAC supports linear PCM samples with a resolution between 4 and 32 bits per sample. FLAC does not support floating point samples. In some cases it is possible to losslessly transform samples from an incompatible range to a FLAC-compatible range before encoding.<br />
- <br />
- FLAC supports linear sample rates from 1Hz - 655350Hz in 1Hz increments.
-
- <h2>
- <b>Tools</b>
- </h2>
-
- <a name="tools__eac_and_flac"><b>How do I set up EAC to rip directly to FLAC?</b></a><br />
- <br />
- See Case's excellent <a href="http://www.saunalahti.fi/cse/EAC/index.html">EAC configuration page</a>. Or use <a href="http://www.legroom.net/modules.php?op=modload&name=Open_Source&file=index&page=software&app=autoflac">AutoFLAC</a>, <a href="http://omniencoder.autobotcity.net/">Omni Encoder</a>, or <a href="http://mareo.netfirms.com/">MAREO</a> to rip to FLAC or multiple formats at once.<br />
- <br />
- <a name="tools__runtime75"><b>Why am I getting "Run-time error '75': Path/File access error" with FLAC Frontend?</b></a><br />
- <br />
- Depending on how FLAC Frontend is installed, it could be one of two things: 1) you are trying to encode to file to a directory where you do not have write permission; 2) the FLAC Frontend program must be set to run as Administrator by opening Windows Explorer, navigating to <span class="command">C:\Program Files\FLAC</span> (or wherever FLAC was installed), then right-clicking on <span class="command">FLAC Frontend.exe</span> and checking "Run this program as an administrator".<br />
- <br />
- <a name="tools__option_blocking"><b>How do I encode a file that starts with a dash?</b></a><br />
- <br />
- When using <span class="commandname">flac</span> to encode on the command-line, a file that starts with a dash will be treated as an option, but there is a simple workaround. Use <span class="argument">--</span> to signal the end of options and the beginning of filenames, like so:<br />
- <br />
- <span class="code">flac -V -- -01-name.wav</span><br />
- <br />
- <a name="tools__long_meta_edits"><b>Why does it take so long to edit some FLAC files with metaflac?</b></a><br />
- <br />
- Since metadata is stored at the beginning of a FLAC file, changing the length of it can sometimes cause the whole file to be rewritten. You can avoid this by adding padding with <span class="commandname">flac</span> when you encode, or with <span class="commandname">metaflac</span> after encoding. By default, <span class="commandname">flac</span> adds 8k of padding; you can change this amount if you need more or less.<br />
- <br />
- <a name="tools__unicode_filenames_windows"><b>Why don't Unicode file names work with <span class="commandname">flac</span>/<span class="commandname">metaflac</span> on Windows?</b></a><br />
- <br />
- Windows implements Unicode filenames differently than all other operating systems, and can only be supported via Windows APIs (non-portable). Also the method is different for different versions of Windows. It's so hard to get right that most programs that have to work for other operating systems also do not support it. A workaround can be found <a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=48131">here</a>.<br />
- <br />
- <a name="tools__wildcards_on_windows"><b>Why don't wildcards for file names like *.flac or *.wav work with <span class="commandname">flac</span>/<span class="commandname">metaflac</span> on Windows?</b></a><br />
- <br />
- The Windows command shells (cmd.exe, command.com) implement wildcard handling differently than most other shells, leaving it up to the program to do everything including difficult and ambiguous cases. For an explanation of why wildcards on cmd.exe/command.com are dangerous, see <a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=50667&st=75&p=466078&#entry466078">here</a>. Better command shells for Windows exist, e.g. from <a href="http://cygwin.com/">Cygwin</a>. A workaround with the Windows shells is to do something like:<br />
- <br />
- <tt>for %F in (*.wav) do flac "%F"</tt><br />
- <br />
- but care must still be taken that the command will execute as intended.<br />
- <br />
- <a name="tools__hardware_prob"><b>I compressed a file to FLAC with verify on, and flac said "Verify FAILED!" Why?</b></a><br />
- <br />
- The only known cause of verify errors is faulty hardware. The dead giveaway is that if you repeat the exact same command, the error occurs in a different place or not at all. This can also happen when decoding or testing a FLAC file. If this is happening it is your hardware and not a FLAC bug.<br />
- <br />
- The problem is usually caused by overclocking/overheating the CPU or bad RAM. Try one of the many free programs available for testing hardware (e.g. <a href="http://www.memtest86.org/">Memtest86+</a>). We have had reports of a few cases where a system is passing with flying colors and still getting unrepeatable FLAC errors, and the one thing many (all?) of these systems have in common is an ASUS motherboard (A7V133 or P3V4X) which we suspect is buggy in some way. (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=884401&amp;group_id=13478&amp;atid=113478">See also</a>)<br />
- <br />
- If you ever have a verify error that fails at the same place every time, please <a href="#project__submit_bug">file a bug</a>, uploading a sample according to <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=585158&amp;group_id=13478&amp;atid=113478">the instructions found at the bottom of this bug report</a>.<br />
- <br />
- <a name="tools__wave_flac_wave"><b>I compressed a WAVE file to FLAC, then decompressed to WAVE, and the two weren't identical. Why?</b></a><br />
- <a name="tools__skipped_subchunk"><b>I compressed a WAVE file to FLAC and it said "warning: skipping unknown sub-chunk LIST". Why?</b></a><br />
- <br />
- WAVE is a complicated standard; many kinds of data besides audio data can be put in it. Most likely what has happened is that the application that created the original WAVE file also added some extra information for it's own use, which FLAC does not store or recreate by default (but can with the <span class="argument"><a href="documentation_tools_flac.html#flac_options_keep_foreign_metadata">--keep-foreign-metadata</a></span> option) (<a href="#tools__two_bytes_short">see also</a>). The audio data in the two WAVE files will be identical. There are other tools to compare just the audio content of two WAVE files; <a href="http://www.exactaudiocopy.de/">ExactAudioCopy</a> has such a feature.<br />
- <br />
- For the more technically inclined, by default FLAC only stores what is in the 'fmt ' and 'data' sub-chunks of a WAVE file. <a href="#general__no_wave_metadata">(see also)</a><br />
- <br />
- <a name="tools__two_bytes_short"><b>I decoded a FLAC file and the WAVE is 2 bytes shorter than the original. Why?</b></a><br />
- <br />
- The difference is probably that between an 18-byte 'fmt ' subchunk in the original WAVE vs. a 16-byte one in the decoded WAVE. With WAVE there is more than one way to write identical formatting information, but FLAC always writes the most common legal form. <a href="#tools__wave_flac_wave">(see also)</a><br />
- <br />
- <a name="tools__not_streamable"><b>Why did I get "ERROR initializing encoder, state = FLAC__STREAM_ENCODER_NOT_STREAMABLE"?</b></a><br />
- <br />
- You specified encoding options that are outside the <a href="format.html#subset">Streamable subset</a>. If that is what you really wanted and you understand the consequences, you can use <span class="code">flac --lax</span> to generate a non-Subset stream. The resulting file may not be streamable or play in all players.<br />
- <br />
- <a name="tools__different_sizes"><b>Why doesn't the same file compressed on different machines with the same options yield the same FLAC file?</b></a><br />
- <br />
- It's not supposed to, and neither does it mean either encoding was bad. There are many variations between different machines or even different builds of <span class="commandname">flac</span> on the same machine that can lead to small differences in the FLAC file, even if they have the exact same final size. This is normal.
-
- <h2>
- <b>API</b>
- </h2>
-
- <a name="api__release_versioning"><b>Why does your API change for point releases?</b></a><br />
- <br />
- The FLAC release numbering scheme of MAJOR.MINOR.MICRO reflects the state of the FLAC format, not the API. This is most intuitive for users, at the expense of flustering developers. The shared library number (derived from the libtool current:revision:age number) is the indicator of binary API compatibility. As of FLAC 1.1.3, the current, revision, and age numbers are also <tt>#define</tt>d in the library headers to make porting easier; see the <a href="api/group__porting.html">porting guide</a>.<br />
- <br />
- <a name="api__frame_length"><b>How can I determine the encoded frame length?</b></a><br />
- <br />
- With native FLAC, it is not possible to determine the frame length without decoding. Probably if I had it all to do again I would have constrained the possible block sizes, which would have made it more practical to put the frame length in the frame header. For an example of how to find the frame boundaries in a stream, see the source code to <span class="commandname">metaflac</span>, in the functionality that adds seek points.<br />
- <br />
- With Ogg FLAC, it can be calculated from the Ogg page header.
-
- <h2>
- <b>Project</b>
- </h2>
-
- <a name="project__lists"><b>Where are the mailing lists, forums, discussion areas, etc.?</b></a><br />
- <br />
- There are a few places. The main discussions happen on <a href="http://lists.xiph.org/mailman/listinfo">the official FLAC mailing lists</a> (you must subscribe to post). Also, there is a lot of discussion relating to FLAC on <a href="http://www.hydrogenaudio.org/">Hydrogen Audio</a>.<br />
- <br />
- <a name="project__submit_bug"><b>How do I submit a bug report?</b></a><br />
- <br />
- First, <a href="http://sourceforge.net/tracker/?group_id=13478&amp;atid=113478">visit the bug tracking page</a> and do a little searching of both open and closed bugs to see if yours is already there. If you have something truly new, <a href="http://sourceforge.net/bugs/?func=addbug&amp;group_id=13478">submit a new bug</a>. <b>Make sure</b> to monitor the bug or include your email address in the description. Include as much information as possible: the version of FLAC that you are running, the name and version of any frontend you are running, your operating system and version, your CPU type and speed, the amount of memory you have, where you downloaded FLAC from, the exact error message (if any) copied from the console, and anything else you may think will help.
- </div>
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/features.html b/3rdparty/libflac/doc/html/features.html
deleted file mode 100644
index 75a8b03db3c..00000000000
--- a/3rdparty/libflac/doc/html/features.html
+++ /dev/null
@@ -1,127 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - features</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/features.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- <a name="introduction">introduction</a>
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, but lossless, meaning that audio is compressed in FLAC without any loss in quality. This is similar to how Zip works, except with FLAC you will get much better compression because it is designed specifically for audio, and you can play back compressed FLAC files in your favorite player (or your car or home stereo, see <a href="links.html#hardware">supported devices</a>) just like you would an MP3 file.<br />
- <br />
- FLAC stands out as the <a href="comparison.html">fastest and most widely supported lossless audio codec</a>, and the only one that at once is non-proprietary, is unencumbered by patents, has an open-source reference implementation, has a well documented format and API, and has several other independent implementations.<br />
- <br />
- FLAC supports tagging, cover art, and fast seeking. FLAC is freely available and supported on most operating systems, including Windows, "unix" (Linux, *BSD, Solaris, OS X, IRIX), BeOS, OS/2, and Amiga.<br />
- <br />
- There are <a href="links.html">many programs and devices that support FLAC</a>, but the core FLAC project here maintains the format and provides <a href="documentation_tools.html">programs</a> and <a href="developers.html">libraries</a> for working with FLAC files. See <a href="download.html">Getting FLAC</a> for instructions on downloading and installing the official FLAC tools, or <a href="documentation_tasks.html">Using FLAC</a> for instructions and guides on playing FLAC files, ripping CDs to FLAC, etc.<br />
- <br />
- When we say that FLAC is "Free" it means more than just that it is available at no cost. It means that the specification of the format is fully open to the public to be used for any purpose (the FLAC project reserves the right to set the FLAC specification and certify compliance), and that neither the FLAC format nor any of the implemented encoding/decoding methods are covered by any known patent. It also means that all the source code is available under open-source licenses. It is the first truly open and free lossless audio format. (For more information, see the <a href="license.html">license page</a>.)<br />
- <br />
- Notable features of FLAC:
- <ul>
- <li>
- <b>Lossless</b>: The encoding of audio (PCM) data incurs no loss of information, and the decoded audio is bit-for-bit identical to what went into the encoder. Each frame contains a 16-bit CRC of the frame data for detecting transmission errors. The integrity of the audio data is further insured by storing an <a href="http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html">MD5 signature</a> of the original unencoded audio data in the file header, which can be compared against later during decoding or testing.
- </li>
- <li>
- <b>Fast</b>: FLAC is asymmetric in favor of decode speed. Decoding requires only integer arithmetic, and is much less compute-intensive than for most perceptual codecs. Real-time decode performance is easily achievable on even modest hardware.
- </li>
- <li>
- <b>Hardware support</b>: FLAC is supported by <a href="links.html#hardware">dozens of consumer electronic devices</a>, from portable players, to home stereo equipment, to car stereo.
- </li>
- <li>
- <b>Flexible metadata</b>: FLAC's metadata system supports tags, cover art, seek tables, and cue sheets. Applications can write their own <a href="format.html#def_APPLICATION">APPLICATION</a> metadata once they <a href="id.html">register an ID</a>. New metadata blocks can be defined and implemented in future versions of FLAC without breaking older streams or decoders.
- </li>
- <li>
- <b>Seekable</b>: FLAC supports fast sample-accurate seeking. Not only is this useful for playback, it makes FLAC files suitable for use in editing applications.
- </li>
- <li>
- <b>Streamable</b>: Each FLAC frame contains enough data to decode that frame. FLAC does not even rely on previous or following frames. FLAC uses sync codes and CRCs (similar to MPEG and other formats), which, along with framing, allow decoders to pick up in the middle of a stream with a minimum of delay.
- </li>
- <li>
- <b>Suitable for archiving</b>: FLAC is an open format, and there is no generation loss if you need to convert your data to another format in the future. In addition to the frame CRCs and MD5 signature, <span class="commandname">flac</span> has a verify option that decodes the encoded stream in parallel with the encoding process and compares the result to the original, aborting with an error if there is a mismatch.
- </li>
- <li>
- <b>Convenient CD archiving</b>: FLAC has a <a href="format.html#def_CUESHEET">"cue sheet"</a> metadata block for storing a CD table of contents and all track and index points. For instance, you can rip a CD to a single file, then import the CD's extracted cue sheet while encoding to yield a single file representation of the entire CD. If your original CD is damaged, the cue sheet can be exported later in order to burn an exact copy.
- </li>
- <li>
- <b>Error resistant</b>: Because of FLAC's framing, stream errors limit the damage to the frame in which the error occurred, typically a small fraction of a second worth of data. Contrast this with some other lossless codecs, in which a single error destroys the remainder of the stream.
- </li>
- </ul>
- What FLAC is <b>not</b>:
- <ul>
- <li>
- Lossy. FLAC is intended for lossless compression only, as there are many good lossy formats already, such as <a href="http://www.xiph.org/ogg/vorbis/index.html">Vorbis</a>, <a href="http://www.musepack.net/">MPC</a>, and <a href="http://www.mp3-tech.org/">MP3</a> (see <a href="http://www.mp3dev.org/mp3/">LAME</a> for an excellent open-source implementation).
- </li>
- <li>
- DRM. There is no intention to add any copy prevention methods. Of course, we can't stop someone from encrypting a FLAC stream in another container (e.g. the way Apple encrypts AAC in MP4 with FairPlay), that is the choice of the user.
- </li>
- </ul>
- </div>
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/flac.css b/3rdparty/libflac/doc/html/flac.css
deleted file mode 100644
index 41e499f9921..00000000000
--- a/3rdparty/libflac/doc/html/flac.css
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * Copyright (c) 2005,2006,2007 Josh Coalson
- * Permission is granted to copy, distribute and/or modify this document
- * under the terms of the GNU Free Documentation License, Version 1.1
- * or any later version published by the Free Software Foundation;
- * with no invariant sections.
- * A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html
- */
-
-body
-{
- background-color: #99CC99;
- color: black;
- margin: 0px;
- padding: 0px;
-}
-
-div
-{
- background-color: #99CC99;
- margin: 0px;
- padding: 0px;
-}
-
-div.logo
-{
- background-color: black;
- padding: 1px;
- text-align: center;
-}
-
-div.navbar
-{
- border-width: 2px 0px 2px 0px;
- border-style: solid;
- border-color: black;
- background-color: #D3D4C5;
- padding: 3px;
- text-align: center;
-}
-
-div.langbar
-{
- border-width: 0px 0px 2px 0px;
- border-style: solid;
- border-color: black;
- background-color: #EEEED4;
- padding: 3px;
- text-align: center;
-}
-
-div.above_nav
-{
- height: 25px;
-}
-
-div.below_nav
-{
- height: 25px;
-}
-
-div.body_with_sidebar
-{
-/* text-align: left; */
-}
-
-div.box
-{
- text-align: left;
- margin: 0px 8px 0px 8px;
- background-color: #EEEED4;
-}
-
-div.box_title
-{
- border-width: 1px 0px 0px 0px;
- border-style: solid;
- border-color: black;
- background-color: #D3D4C5;
- padding: 3px;
- font-family: lucida, verdana, helvetica, arial, sans-serif;
- font-weight: bold;
- font-size: 150%;
-}
-
-div.box_header
-{
- border-width: 1px 0px 0px 0px;
- border-style: solid;
- border-color: black;
- background-color: #EEEED4;
- padding: 3px;
-}
-
-div.box_footer
-{
- border-width: 0px 0px 1px 0px;
- border-style: solid;
- border-color: black;
- background-color: #EEEED4;
- padding: 3px;
-}
-
-div.box_body
-{
- background-color: #EEEED4;
- padding: 0px 3px 0px 3px;
- font-family: lucida, verdana, helvetica, arial, sans-serif;
- font-weight: normal;
- font-size: 100%;
-}
-
-div.smallbox
-{
- text-align: left;
- margin: 0px 8px 0px 0px;
- background-color: #EEEED4;
-}
-
-div.smallbox_title
-{
- text-align: center;
- border-width: 1px 0px 0px 0px;
- border-style: solid;
- border-color: black;
- background-color: #D3D4C5;
- padding: 3px;
- font-family: lucida, verdana, helvetica, arial, sans-serif;
- font-weight: bold;
- font-size: 100%;
-}
-
-div.smallbox_header
-{
- border-width: 1px 0px 0px 0px;
- border-style: solid;
- border-color: black;
- background-color: #EEEED4;
- padding: 3px;
-}
-
-div.smallbox_footer
-{
- border-width: 0px 0px 1px 0px;
- border-style: solid;
- border-color: black;
- background-color: #EEEED4;
- padding: 3px;
-}
-
-div.smallbox_body
-{
- background-color: #EEEED4;
- padding: 0px 3px 0px 3px;
- font-family: lucida, verdana, helvetica, arial, sans-serif;
- font-weight: normal;
- font-size: 80%;
-}
-
-div.copyright
-{
- text-align: left;
- margin: 10px;
-}
-
-span.commandname
-{
- font-family: monospace;
- font-weight: bold;
-}
-
-span.command
-{
- font-family: monospace;
- font-weight: bold;
-}
-
-span.argument
-{
- font-family: monospace;
-}
-
-span.code
-{
- font-family: monospace;
-}
-
-a:link {color:#336699; background-color:transparent}
-a:visited {color:#336699; background-color:transparent}
-a:active {color:#336699; background-color:transparent}
-a:hover {color:#336699; background-color:transparent}
diff --git a/3rdparty/libflac/doc/html/format.html b/3rdparty/libflac/doc/html/format.html
deleted file mode 100644
index 641c0e1559a..00000000000
--- a/3rdparty/libflac/doc/html/format.html
+++ /dev/null
@@ -1,1852 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - format</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/format.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- format
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- This is a detailed description of the FLAC format. There is also a companion document that describes <a href="ogg_mapping.html">FLAC-to-Ogg mapping</a>.<br />
- <br />
- For a user-oriented overview, see <a href="documentation_format_overview.html">About the FLAC Format</a>.<br />
- <br />
- <a name="toc"><font size="+1"><b><u>Table of Contents</u></b></font></a>
- <ul>
- <li><a href="#acknowledgments">Acknowledgments</a></li>
- <li><a href="#scope">Scope</a></li>
- <li><a href="#architecture">Architecture</a></li>
- <li><a href="#definitions">Definitions</a></li>
- <li><a href="#blocking">Blocking</a></li>
- <li><a href="#interchannel">Interchannel Decorrelation</a></li>
- <li><a href="#prediction">Prediction</a></li>
- <li><a href="#residualcoding">Residual Coding</a></li>
- <li><a href="#format_overview">Format</a></li>
- <li><a href="#subset">FLAC Subset</a></li>
- <li>Specification
- <ul>
- <li><a href="#stream">STREAM</a>
- <ul>
- <li><a href="#metadata_block">METADATA_BLOCK</a>
- <ul>
- <li><a href="#metadata_block_header">METADATA_BLOCK_HEADER</a></li>
- <li><a href="#metadata_block_data">METADATA_BLOCK_DATA</a>
- <ul>
- <li><a href="#metadata_block_streaminfo">METADATA_BLOCK_STREAMINFO</a></li>
- <li><a href="#metadata_block_padding">METADATA_BLOCK_PADDING</a></li>
- <li><a href="#metadata_block_application">METADATA_BLOCK_APPLICATION</a></li>
- <li><a href="#metadata_block_seektable">METADATA_BLOCK_SEEKTABLE</a>
- <ul>
- <li><a href="#seekpoint">SEEKPOINT</a></li>
- </ul>
- </li>
- <li><a href="#metadata_block_vorbis_comment">METADATA_BLOCK_VORBIS_COMMENT</a></li>
- <li><a href="#metadata_block_cuesheet">METADATA_BLOCK_CUESHEET</a>
- <ul>
- <li><a href="#cuesheet_track">CUESHEET_TRACK</a>
- <ul>
- <li><a href="#cuesheet_track_index">CUESHEET_TRACK_INDEX</a></li>
- </ul>
- </li>
- </ul>
- </li>
- <li><a href="#metadata_block_picture">METADATA_BLOCK_PICTURE</a></li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- <li>
- <ul>
- <li><a href="#frame">FRAME</a>
- <ul>
- <li><a href="#frame_header">FRAME_HEADER</a></li>
- <li><a href="#frame_footer">FRAME_FOOTER</a></li>
- <li><a href="#subframe">SUBFRAME</a>
- <ul>
- <li><a href="#subframe_header">SUBFRAME_HEADER</a></li>
- <li><a href="#subframe_constant">SUBFRAME_CONSTANT</a></li>
- <li><a href="#subframe_fixed">SUBFRAME_FIXED</a></li>
- <li><a href="#subframe_lpc">SUBFRAME_LPC</a></li>
- <li><a href="#subframe_verbatim">SUBFRAME_VERBATIM</a>
- <ul>
- <li><a href="#residual">RESIDUAL</a>
- <ul>
- <li><a href="#partitioned_rice">RESIDUAL_CODING_METHOD_PARTITIONED_RICE</a>
- <ul>
- <li><a href="#rice_partition">RICE_PARTITION</a></li>
- </ul>
- </li>
- <li><a href="#partitioned_rice2">RESIDUAL_CODING_METHOD_PARTITIONED_RICE2</a>
- <ul>
- <li><a href="#rice2_partition">RICE2_PARTITION</a></li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- <a name="acknowledgments"><font size="+1"><b><u>Acknowledgments</u></b></font></a><br />
- <br />
- FLAC owes much to the many people who have advanced the audio compression field so freely. For instance:
- <ul>
- <li>
- <a href="http://svr-www.eng.cam.ac.uk/~ajr/">A. J. Robinson</a> for his work on <a href="http://www-svr.eng.cam.ac.uk/reports/abstracts/robinson_tr156.html">Shorten</a>; his paper is a good starting point on some of the basic methods used by FLAC. FLAC trivially extends and improves the fixed predictors, LPC coefficient quantization, and Rice coding used in Shorten.
- </li>
- <li>
- <a href="http://commsci.usc.edu/faculty/golomb.html">S. W. Golomb</a> and Robert F. Rice; their universal codes are used by FLAC's entropy coder.
- </li>
- <li>
- N. Levinson and J. Durbin; the reference encoder uses an algorithm developed and refined by them for determining the LPC coefficients from the autocorrelation coefficients.
- </li>
- <li>
- And of course, <a href="http://en.wikipedia.org/wiki/Claude_Shannon">Claude Shannon</a>
- </li>
- </ul>
- <a name="scope"><font size="+1"><b><u>Scope</u></b></font></a><br />
- <br />
- It is a known fact that no algorithm can losslessly compress all possible input, so most compressors restrict themselves to a useful domain and try to work as well as possible within that domain. FLAC's domain is audio data. Though it can losslessly <b>code</b> any input, only certain kinds of input will get smaller. FLAC exploits the fact that audio data typically has a high degree of sample-to-sample correlation.<br />
- <br />
- Within the audio domain, there are many possible subdomains. For example: low bitrate speech, high-bitrate multi-channel music, etc. FLAC itself does not target a specific subdomain but many of the default parameters of the reference encoder are tuned to CD-quality music data (i.e. 44.1kHz, 2 channel, 16 bits per sample). The effect of the encoding parameters on different kinds of audio data will be examined later.<br />
- <br />
- <a name="architecture"><font size="+1"><b><u>Architecture</u></b></font></a><br />
- <br />
- Similar to many audio coders, a FLAC encoder has the following stages:
- <ul>
- <li>
- <a href="#blocking">Blocking</a>. The input is broken up into many contiguous blocks. With FLAC, the blocks may vary in size. The optimal size of the block is usually affected by many factors, including the sample rate, spectral characteristics over time, etc. Though FLAC allows the block size to vary within a stream, the reference encoder uses a fixed block size.
- </li>
- <li>
- <a href="#interchannel">Interchannel Decorrelation</a>. In the case of stereo streams, the encoder will create mid and side signals based on the average and difference (respectively) of the left and right channels. The encoder will then pass the best form of the signal to the next stage.
- </li>
- <li>
- <a href="#prediction">Prediction</a>. The block is passed through a prediction stage where the encoder tries to find a mathematical description (usually an approximate one) of the signal. This description is typically much smaller than the raw signal itself. Since the methods of prediction are known to both the encoder and decoder, only the parameters of the predictor need be included in the compressed stream. FLAC currently uses four different classes of predictors (described in the <a href="#prediction">prediction</a> section), but the format has reserved space for additional methods. FLAC allows the class of predictor to change from block to block, or even within the channels of a block.
- </li>
- <li>
- <a href="#residualcoding">Residual coding</a>. If the predictor does not describe the signal exactly, the difference between the original signal and the predicted signal (called the error or residual signal) must be coded losslessy. If the predictor is effective, the residual signal will require fewer bits per sample than the original signal. FLAC currently uses only one method for encoding the residual (see the <a href="#residualcoding">Residual coding</a> section), but the format has reserved space for additional methods. FLAC allows the residual coding method to change from block to block, or even within the channels of a block.
- </li>
- </ul>
- In addition, FLAC specifies a metadata system, which allows arbitrary information about the stream to be included at the beginning of the stream.<br />
- <br />
- <a name="definitions"><font size="+1"><b><u>Definitions</u></b></font></a><br />
- <br />
- Many terms like "block" and "frame" are used to mean different things in differenct encoding schemes. For example, a frame in MP3 corresponds to many samples across several channels, whereas an S/PDIF frame represents just one sample for each channel. The definitions we use for FLAC follow. Note that when we talk about blocks and subblocks we are referring to the raw unencoded audio data that is the input to the encoder, and when we talk about frames and subframes, we are referring to the FLAC-encoded data.
- <ul>
- <li>
- <b>Block</b>: One or more audio samples that span several channels.
- </li>
- <li>
- <b>Subblock</b>: One or more audio samples within a channel. So a block contains one subblock for each channel, and all subblocks contain the same number of samples.
- </li>
- <li>
- <b>Blocksize</b>: The number of samples in any of a block's subblocks. For example, a one second block sampled at 44.1KHz has a blocksize of 44100, regardless of the number of channels.
- </li>
- <li>
- <b>Frame</b>: A frame header plus one or more subframes.
- </li>
- <li>
- <b>Subframe</b>: A subframe header plus one or more encoded samples from a given channel. All subframes within a frame will contain the same number of samples.
- </li>
- </ul>
- <a name="blocking"><font size="+1"><b><u>Blocking</u></b></font></a><br />
- <br />
- The size used for blocking the audio data has a direct effect on the compression ratio. If the block size is too small, the resulting large number of frames mean that excess bits will be wasted on frame headers. If the block size is too large, the characteristics of the signal may vary so much that the encoder will be unable to find a good predictor. In order to simplify encoder/decoder design, FLAC imposes a minimum block size of 16 samples, and a maximum block size of 65535 samples. This range covers the optimal size for all of the audio data FLAC supports.<br />
- <br />
- Currently the reference encoder uses a fixed block size, optimized on the sample rate of the input. Future versions may vary the block size depending on the characteristics of the signal.<br />
- <br />
- Blocked data is passed to the predictor stage one subblock (channel) at a time. Each subblock is independently coded into a subframe, and the subframes are concatenated into a frame. Because each channel is coded separately, it means that one channel of a stereo frame may be encoded as a constant subframe, and the other an LPC subframe.<br />
- <br />
- <a name="interchannel"><font size="+1"><b><u>Interchannel Decorrelation</u></b></font></a><br />
- <br />
- In stereo streams, many times there is an exploitable amount of correlation between the left and right channels. FLAC allows the frames of stereo streams to have different channel assignments, and an encoder may choose to use the best representation on a frame-by-frame basis.
- <ul>
- <li>
- <b>Independent</b>. The left and right channels are coded independently.
- </li>
- <li>
- <b>Mid-side</b>. The left and right channels are transformed into mid and side channels. The mid channel is the midpoint (average) of the left and right signals, and the side is the difference signal (left minus right).
- </li>
- <li>
- <b>Left-side</b>. The left channel and side channel are coded.
- </li>
- <li>
- <b>Right-side</b>. The right channel and side channel are coded
- </li>
- </ul>
- Surprisingly, the left-side and right-side forms can be the most efficient in many frames, even though the raw number of bits per sample needed for the original signal is slightly more than that needed for independent or mid-side coding.<br />
- <br />
- <a name="prediction"><font size="+1"><b><u>Prediction</u></b></font></a><br />
- <br />
- FLAC uses four methods for modeling the input signal:
- <ul>
- <li>
- <b>Verbatim</b>. This is essentially a zero-order predictor of the signal. The predicted signal is zero, meaning the residual is the signal itself, and the compression is zero. This is the baseline against which the other predictors are measured. If you feed random data to the encoder, the verbatim predictor will probably be used for every subblock. Since the raw signal is not actually passed through the residual coding stage (it is added to the stream 'verbatim'), the encoding results will not be the same as a zero-order linear predictor.
- </li>
- <li>
- <b>Constant</b>. This predictor is used whenever the subblock is pure DC ("digital silence"), i.e. a constant value throughout. The signal is run-length encoded and added to the stream.
- </li>
- <li>
- <b>Fixed linear predictor</b>. FLAC uses a class of computationally-efficient fixed linear predictors (for a good description, see <a href="http://www.hpl.hp.com/techreports/1999/HPL-1999-144.pdf">audiopak</a> and <a href="http://svr-www.eng.cam.ac.uk/~ajr/GroupPubs/Robinson94-tr156/index.html">shorten</a>). FLAC adds a fourth-order predictor to the zero-to-third-order predictors used by Shorten. Since the predictors are fixed, the predictor order is the only parameter that needs to be stored in the compressed stream. The error signal is then passed to the residual coder.
- </li>
- <li>
- <b>FIR Linear prediction</b>. For more accurate modeling (at a cost of slower encoding), FLAC supports up to 32nd order FIR linear prediction (again, for information on linear prediction, see <a href="http://www.hpl.hp.com/techreports/1999/HPL-1999-144.pdf">audiopak</a> and <a href="http://svr-www.eng.cam.ac.uk/~ajr/GroupPubs/Robinson94-tr156/index.html">shorten</a>). The reference encoder uses the Levinson-Durbin method for calculating the LPC coefficients from the autocorrelation coefficients, and the coefficients are quantized before computing the residual. Whereas encoders such as Shorten used a fixed quantization for the entire input, FLAC allows the quantized coefficient precision to vary from subframe to subframe. The FLAC reference encoder estimates the optimal precision to use based on the block size and dynamic range of the original signal.
- </li>
- </ul>
- <a name="residualcoding"><font size="+1"><b><u>Residual Coding</u></b></font></a><br />
- <br />
- FLAC currently defines two similar methods for the coding of the error signal from the prediction stage. The error signal is coded using Rice codes in one of two ways: 1) the encoder estimates a single Rice parameter based on the variance of the residual and Rice codes the entire residual using this parameter; 2) the residual is partitioned into several equal-length regions of contiguous samples, and each region is coded with its own Rice parameter based on the region's mean. (Note that the first method is a special case of the second method with one partition, except the Rice parameter is based on the residual variance instead of the mean.)<br />
- <br />
- The FLAC format has reserved space for other coding methods. Some possiblities for volunteers would be to explore better context-modeling of the Rice parameter, or Huffman coding. See <a href="http://www.hpl.hp.com/techreports/98/HPL-98-193.html">LOCO-I</a> and <a href="http://www.cs.tut.fi/~albert/Dev/pucrunch/packing.html">pucrunch</a> for descriptions of several universal codes.<br />
- <br />
- <a name="format_overview"><font size="+1"><b><u>Format</u></b></font></a><br />
- <br />
- This section specifies the FLAC bitstream format. FLAC has no format version information, but it does contain reserved space in several places. Future versions of the format may use this reserved space safely without breaking the format of older streams. Older decoders may choose to abort decoding or skip data encoded with newer methods. Apart from reserved patterns, in places the format specifies invalid patterns, meaning that the patterns may never appear in any valid bitstream, in any prior, present, or future versions of the format. These invalid patterns are usually used to make the synchronization mechanism more robust.<br />
- <br />
- All numbers used in a FLAC bitstream are integers; there are no floating-point representations. All numbers are big-endian coded. All numbers are unsigned unless otherwise specified.<br />
- <br />
- Before the formal description of the stream, an overview might be helpful.
- <ul>
- <li>
- A FLAC bitstream consists of the "fLaC" marker at the beginning of the stream, followed by a mandatory metadata block (called the STREAMINFO block), any number of other metadata blocks, then the audio frames.
- </li>
- <li>
- FLAC supports up to 128 kinds of metadata blocks; currently the following are defined:
- <ul>
- <li><a name="def_STREAMINFO"><b>STREAMINFO</b></a>: This block has information about the whole stream, like sample rate, number of channels, total number of samples, etc. It must be present as the first metadata block in the stream. Other metadata blocks may follow, and ones that the decoder doesn't understand, it will skip.</li>
- <li><a name="def_APPLICATION"><b>APPLICATION</b></a>: This block is for use by third-party applications. The only mandatory field is a 32-bit identifier. This ID is granted upon request to an application by the FLAC maintainers. The remainder is of the block is defined by the registered application. Visit the <a href="id.html">registration page</a> if you would like to register an ID for your application with FLAC.</li>
- <li><a name="def_PADDING"><b>PADDING</b></a>: This block allows for an arbitrary amount of padding. The contents of a PADDING block have no meaning. This block is useful when it is known that metadata will be edited after encoding; the user can instruct the encoder to reserve a PADDING block of sufficient size so that when metadata is added, it will simply overwrite the padding (which is relatively quick) instead of having to insert it into the right place in the existing file (which would normally require rewriting the entire file).</li>
- <li><a name="def_SEEKTABLE"><b>SEEKTABLE</b></a>: This is an optional block for storing seek points. It is possible to seek to any given sample in a FLAC stream without a seek table, but the delay can be unpredictable since the bitrate may vary widely within a stream. By adding seek points to a stream, this delay can be significantly reduced. Each seek point takes 18 bytes, so 1% resolution within a stream adds less than 2k. There can be only one SEEKTABLE in a stream, but the table can have any number of seek points. There is also a special 'placeholder' seekpoint which will be ignored by decoders but which can be used to reserve space for future seek point insertion.</li>
- <li><a name="def_VORBIS_COMMENT"><b>VORBIS_COMMENT</b></a>: This block is for storing a list of human-readable name/value pairs. Values are encoded using UTF-8. It is an implementation of the <a href="http://xiph.org/vorbis/doc/v-comment.html">Vorbis comment specification</a> (without the framing bit). This is the only officially supported tagging mechanism in FLAC. There may be only one VORBIS_COMMENT block in a stream. In some external documentation, Vorbis comments are called FLAC tags to lessen confusion.</li>
- <li><a name="def_CUESHEET"><b>CUESHEET</b></a>: This block is for storing various information that can be used in a cue sheet. It supports track and index points, compatible with Red Book CD digital audio discs, as well as other CD-DA metadata such as media catalog number and track ISRCs. The CUESHEET block is especially useful for backing up CD-DA discs, but it can be used as a general purpose cueing mechanism for playback.</li>
- <li><a name="def_PICTURE"><b>PICTURE</b></a>: This block is for storing pictures associated with the file, most commonly cover art from CDs. There may be more than one PICTURE block in a file. The picture format is similar to the <a href="http://www.id3.org/id3v2.4.0-frames.txt">APIC frame in ID3v2</a>. The PICTURE block has a type, MIME type, and UTF-8 description like ID3v2, and supports external linking via URL (though this is discouraged). The differences are that there is no uniqueness constraint on the description field, and the MIME type is mandatory. The FLAC PICTURE block also includes the resolution, color depth, and palette size so that the client can search for a suitable picture without having to scan them all.</li>
- </ul>
- </li>
- <li>
- The audio data is composed of one or more audio frames. Each frame consists of a frame header, which contains a sync code, information about the frame like the block size, sample rate, number of channels, et cetera, and an 8-bit CRC. The frame header also contains either the sample number of the first sample in the frame (for variable-blocksize streams), or the frame number (for fixed-blocksize streams). This allows for fast, sample-accurate seeking to be performed. Following the frame header are encoded subframes, one for each channel, and finally, the frame is zero-padded to a byte boundary. Each subframe has its own header that specifies how the subframe is encoded.
- </li>
- <li>
- Since a decoder may start decoding in the middle of a stream, there must be a method to determine the start of a frame. A 14-bit sync code begins each frame. The sync code will not appear anywhere else in the frame header. However, since it may appear in the subframes, the decoder has two other ways of ensuring a correct sync. The first is to check that the rest of the frame header contains no invalid data. Even this is not foolproof since valid header patterns can still occur within the subframes. The decoder's final check is to generate an 8-bit CRC of the frame header and compare this to the CRC stored at the end of the frame header.
- </li>
- <li>
- Again, since a decoder may start decoding at an arbitrary frame in the stream, each frame header must contain some basic information about the stream because the decoder may not have access to the STREAMINFO metadata block at the start of the stream. This information includes sample rate, bits per sample, number of channels, etc. Since the frame header is pure overhead, it has a direct effect on the compression ratio. To keep the frame header as small as possible, FLAC uses lookup tables for the most commonly used values for frame parameters. For instance, the sample rate part of the frame header is specified using 4 bits. Eight of the bit patterns correspond to the commonly used sample rates of 8/16/22.05/24/32/44.1/48/96 kHz. However, odd sample rates can be specified by using one of the 'hint' bit patterns, directing the decoder to find the exact sample rate at the end of the frame header. The same method is used for specifying the block size and bits per sample. In this way, the frame header size stays small for all of the most common forms of audio data.
- </li>
- <li>
- Individual subframes (one for each channel) are coded separately within a frame, and appear serially in the stream. In other words, the encoded audio data is NOT channel-interleaved. This reduces decoder complexity at the cost of requiring larger decode buffers. Each subframe has its own header specifying the attributes of the subframe, like prediction method and order, residual coding parameters, etc. The header is followed by the encoded audio data for that channel.
- </li>
- <li>
- <a name="subset">FLAC</a> specifies a subset of itself as the Subset format. The purpose of this is to ensure that any streams encoded according to the Subset are truly "streamable", meaning that a decoder that cannot seek within the stream can still pick up in the middle of the stream and start decoding. It also makes hardware decoder implementations more practical by limiting the encoding parameters such that decoder buffer sizes and other resource requirements can be easily determined. <span class="commandname">flac</span> generates Subset streams by default unless the "--lax" command-line option is used. The Subset makes the following limitations on what may be used in the stream:
- <ul>
- <li>
- The blocksize bits in the <a href="#frame_header">frame header</a> must be 0001-1110. The blocksize must be &lt;=16384; if the sample rate is &lt;= 48000Hz, the blocksize must be &lt;=4608.
- </li>
- <li>
- The sample rate bits in the <a href="#frame_header">frame header</a> must be 0001-1110.
- </li>
- <li>
- The bits-per-sample bits in the <a href="#frame_header">frame header</a> must be 001-111.
- </li>
- <li>
- If the sample rate is &lt;= 48000Hz, the filter order in <a href="#subframe_lpc">LPC subframes</a> must be less than or equal to 12, i.e. the subframe type bits in the <a href="#subframe_header">subframe header</a> may not be 101100-111111.
- </li>
- <li>
- The Rice partition order in a <a href="#partitioned_rice">Rice-coded residual section</a> must be less than or equal to 8.
- </li>
- </ul>
- </li>
- </ul>
-
- The following tables constitute a formal description of the FLAC format. Numbers in angle brackets indicate how many bits are used for a given field.<br />
- </div>
- <div class="box_footer"></div>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="stream"><font size="+1"><b>STREAM</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;32&gt;
- </td>
- <td>
- "fLaC", the FLAC stream marker in ASCII, meaning byte 0 of the stream is 0x66, followed by 0x4C 0x61 0x43
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- <a href="#metadata_block_streaminfo"><i>METADATA_BLOCK</i></a>
- </td>
- <td>
- This is the mandatory STREAMINFO metadata block that has the basic properties of the stream
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- <a href="#metadata_block"><i>METADATA_BLOCK</i></a>*
- </td>
- <td>
- Zero or more metadata blocks
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- <a href="#frame"><i>FRAME</i></a>+
- </td>
- <td>
- One or more audio frames
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="metadata_block"><font size="+1"><b>METADATA_BLOCK</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- <a href="#metadata_block_header"><i>METADATA_BLOCK_HEADER</i></a>
- </td>
- <td>
- A block header that specifies the type and size of the metadata block data.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- <a href="#metadata_block_data"><i>METADATA_BLOCK_DATA</i></a>
- </td>
- <td>
- &nbsp;
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="metadata_block_header"><font size="+1"><b>METADATA_BLOCK_HEADER</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;1&gt;
- </td>
- <td>
- Last-metadata-block flag: '1' if this block is the last metadata block before the audio blocks, '0' otherwise.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;7&gt;
- </td>
- <td>
- BLOCK_TYPE<br />
- <ul>
- <li>
- <tt>0</tt> : STREAMINFO
- </li>
- <li>
- <tt>1</tt> : PADDING
- </li>
- <li>
- <tt>2</tt> : APPLICATION
- </li>
- <li>
- <tt>3</tt> : SEEKTABLE
- </li>
- <li>
- <tt>4</tt> : VORBIS_COMMENT
- </li>
- <li>
- <tt>5</tt> : CUESHEET
- </li>
- <li>
- <tt>6</tt> : PICTURE
- </li>
- <li>
- <tt>7-126</tt> : reserved
- </li>
- <li>
- <tt>127</tt> : invalid, to avoid confusion with a frame sync code
- </li>
- </ul>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;24&gt;
- </td>
- <td>
- Length (in bytes) of metadata to follow (does not include the size of the METADATA_BLOCK_HEADER)
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="metadata_block_data"><font size="+1"><b>METADATA_BLOCK_DATA</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- <a href="#metadata_block_streaminfo"><i>METADATA_BLOCK_STREAMINFO</i></a><br />
- || <a href="#metadata_block_padding"><i>METADATA_BLOCK_PADDING</i></a><br />
- || <a href="#metadata_block_application"><i>METADATA_BLOCK_APPLICATION</i></a><br />
- || <a href="#metadata_block_seektable"><i>METADATA_BLOCK_SEEKTABLE</i></a><br />
- || <a href="#metadata_block_vorbis_comment"><i>METADATA_BLOCK_VORBIS_COMMENT</i></a><br />
- || <a href="#metadata_block_cuesheet"><i>METADATA_BLOCK_CUESHEET</i></a><br />
- || <a href="#metadata_block_picture"><i>METADATA_BLOCK_PICTURE</i></a>
- </td>
- <td>
- The block data must match the block type in the block header.
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="metadata_block_streaminfo"><font size="+1"><b>METADATA_BLOCK_STREAMINFO</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;16&gt;
- </td>
- <td>
- The minimum block size (in samples) used in the stream.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;16&gt;
- </td>
- <td>
- The maximum block size (in samples) used in the stream. (Minimum blocksize == maximum blocksize) implies a fixed-blocksize stream.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;24&gt;
- </td>
- <td>
- The minimum frame size (in bytes) used in the stream. May be 0 to imply the value is not known.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;24&gt;
- </td>
- <td>
- The maximum frame size (in bytes) used in the stream. May be 0 to imply the value is not known.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;20&gt;
- </td>
- <td>
- Sample rate in Hz. Though 20 bits are available, the maximum sample rate is limited by the structure of frame headers to 655350Hz. Also, a value of 0 is invalid.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;3&gt;
- </td>
- <td>
- (number of channels)-1. FLAC supports from 1 to 8 channels
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;5&gt;
- </td>
- <td>
- (bits per sample)-1. FLAC supports from 4 to 32 bits per sample. Currently the reference encoder and decoders only support up to 24 bits per sample.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;36&gt;
- </td>
- <td>
- Total samples in stream. 'Samples' means inter-channel sample, i.e. one second of 44.1Khz audio will have 44100 samples regardless of the number of channels. A value of zero here means the number of total samples is unknown.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;128&gt;
- </td>
- <td>
- MD5 signature of the unencoded audio data. This allows the decoder to determine if an error exists in the audio data even when the error does not result in an invalid bitstream.
- </td>
- </tr>
- <tr>
- <td>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">NOTES</font><br />
- <ul>
- <li>
- FLAC specifies a minimum block size of 16 and a maximum block size of 65535, meaning the bit patterns corresponding to the numbers 0-15 in the minimum blocksize and maximum blocksize fields are invalid.
- </li>
- </ul>
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="metadata_block_padding"><font size="+1"><b>METADATA_BLOCK_PADDING</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;n&gt;
- </td>
- <td>
- n '0' bits (n must be a multiple of 8)
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="metadata_block_application"><font size="+1"><b>METADATA_BLOCK_APPLICATION</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;32&gt;
- </td>
- <td>
- Registered application ID. (Visit the <a href="id.html">registration page</a> to register an ID with FLAC.)
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;n&gt;
- </td>
- <td>
- Application data (n must be a multiple of 8)
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="metadata_block_seektable"><font size="+1"><b>METADATA_BLOCK_SEEKTABLE</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- <a href="#seekpoint"><i>SEEKPOINT</i></a>+
- </td>
- <td>
- One or more seek points.
- </td>
- </tr>
- <tr>
- <td>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">NOTE</font><br />
- <ul>
- <li>
- The number of seek points is implied by the metadata header 'length' field, i.e. equal to length / 18.
- </li>
- </ul>
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="seekpoint"><font size="+1"><b>SEEKPOINT</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;64&gt;
- </td>
- <td>
- Sample number of first sample in the target frame, or 0xFFFFFFFFFFFFFFFF for a placeholder point.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;64&gt;
- </td>
- <td>
- Offset (in bytes) from the first byte of the first frame header to the first byte of the target frame's header.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;16&gt;
- </td>
- <td>
- Number of samples in the target frame.
- </td>
- </tr>
- <tr>
- <td>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">NOTES</font><br />
- <ul>
- <li>
- For placeholder points, the second and third field values are undefined.
- </li>
- <li>
- Seek points within a table must be sorted in ascending order by sample number.
- </li>
- <li>
- Seek points within a table must be unique by sample number, with the exception of placeholder points.
- </li>
- <li>
- The previous two notes imply that there may be any number of placeholder points, but they must all occur at the end of the table.
- </li>
- </ul>
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="metadata_block_vorbis_comment"><font size="+1"><b>METADATA_BLOCK_VORBIS_COMMENT</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;n&gt;
- </td>
- <td>
- Also known as FLAC tags, the contents of a vorbis comment packet as specified <a href="http://www.xiph.org/vorbis/doc/v-comment.html">here</a> (without the framing bit). Note that the vorbis comment spec allows for on the order of 2 ^ 64 bytes of data where as the FLAC metadata block is limited to 2 ^ 24 bytes. Given the stated purpose of vorbis comments, i.e. human-readable textual information, this limit is unlikely to be restrictive. Also note that the 32-bit field lengths are little-endian coded according to the vorbis spec, as opposed to the usual big-endian coding of fixed-length integers in the rest of FLAC.
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="metadata_block_cuesheet"><font size="+1"><b>METADATA_BLOCK_CUESHEET</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;128*8&gt;
- </td>
- <td>
- Media catalog number, in ASCII printable characters 0x20-0x7e. In general, the media catalog number may be 0 to 128 bytes long; any unused characters should be right-padded with NUL characters. For CD-DA, this is a thirteen digit number, followed by 115 NUL bytes.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;64&gt;
- </td>
- <td>
- The number of lead-in samples. This field has meaning only for CD-DA cuesheets; for other uses it should be 0. For CD-DA, the lead-in is the TRACK 00 area where the table of contents is stored; more precisely, it is the number of samples from the first sample of the media to the first sample of the first index point of the first track. According to the Red Book, the lead-in must be silence and CD grabbing software does not usually store it; additionally, the lead-in must be at least two seconds but may be longer. For these reasons the lead-in length is stored here so that the absolute position of the first track can be computed. Note that the lead-in stored here is the number of samples up to the first index point of the first track, not necessarily to INDEX 01 of the first track; even the first track may have INDEX 00 data.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;1&gt;
- </td>
- <td>
- <tt>1</tt> if the CUESHEET corresponds to a Compact Disc, else <tt>0</tt>.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;7+258*8&gt;
- </td>
- <td>
- Reserved. All bits must be set to zero.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;8&gt;
- </td>
- <td>
- The number of tracks. Must be at least 1 (because of the requisite lead-out track). For CD-DA, this number must be no more than 100 (99 regular tracks and one lead-out track).
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- <a href="#cuesheet_track"><i>CUESHEET_TRACK</i></a>+
- </td>
- <td>
- One or more tracks. A CUESHEET block is required to have a lead-out track; it is always the last track in the CUESHEET. For CD-DA, the lead-out track number must be 170 as specified by the Red Book, otherwise is must be 255.
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="cuesheet_track"><font size="+1"><b>CUESHEET_TRACK</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;64&gt;
- </td>
- <td>
- Track offset in samples, relative to the beginning of the FLAC audio stream. It is the offset to the first index point of the track. (Note how this differs from CD-DA, where the track's offset in the TOC is that of the track's INDEX 01 even if there is an INDEX 00.) For CD-DA, the offset must be evenly divisible by 588 samples (588 samples = 44100 samples/sec * 1/75th of a sec).
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;8&gt;
- </td>
- <td>
- Track number. A track number of 0 is not allowed to avoid conflicting with the CD-DA spec, which reserves this for the lead-in. For CD-DA the number must be 1-99, or 170 for the lead-out; for non-CD-DA, the track number must for 255 for the lead-out. It is not required but encouraged to start with track 1 and increase sequentially. Track numbers must be unique within a CUESHEET.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;12*8&gt;
- </td>
- <td>
- Track ISRC. This is a 12-digit alphanumeric code; see <a href="http://www.ifpi.org/isrc/isrc_handbook.html">here</a> and <a href="http://www.disctronics.co.uk/technology/cdaudio/cdaud_isrc.htm">here</a>. A value of 12 ASCII NUL characters may be used to denote absence of an ISRC.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;1&gt;
- </td>
- <td>
- The track type: 0 for audio, 1 for non-audio. This corresponds to the CD-DA Q-channel control bit 3.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;1&gt;
- </td>
- <td>
- The pre-emphasis flag: 0 for no pre-emphasis, 1 for pre-emphasis. This corresponds to the CD-DA Q-channel control bit 5; see <a href="http://www.chipchapin.com/CDMedia/cdda9.php3">here</a>.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;6+13*8&gt;
- </td>
- <td>
- Reserved. All bits must be set to zero.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;8&gt;
- </td>
- <td>
- The number of track index points. There must be at least one index in every track in a CUESHEET except for the lead-out track, which must have zero. For CD-DA, this number may be no more than 100.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- <a href="#cuesheet_track_index"><i>CUESHEET_TRACK_INDEX</i></a>+
- </td>
- <td>
- For all tracks except the lead-out track, one or more track index points.
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="cuesheet_track_index"><font size="+1"><b>CUESHEET_TRACK_INDEX</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;64&gt;
- </td>
- <td>
- Offset in samples, relative to the track offset, of the index point. For CD-DA, the offset must be evenly divisible by 588 samples (588 samples = 44100 samples/sec * 1/75th of a sec). Note that the offset is from the beginning of the track, not the beginning of the audio data.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;8&gt;
- </td>
- <td>
- The index point number. For CD-DA, an index number of 0 corresponds to the track pre-gap. The first index in a track must have a number of 0 or 1, and subsequently, index numbers must increase by 1. Index numbers must be unique within a track.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;3*8&gt;
- </td>
- <td>
- Reserved. All bits must be set to zero.
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="metadata_block_picture"><font size="+1"><b>METADATA_BLOCK_PICTURE</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;32&gt;
- </td>
- <td>
- The picture type according to the ID3v2 APIC frame:<br />
- <ul>
- <li>0 - Other</li>
- <li>1 - 32x32 pixels 'file icon' (PNG only)</li>
- <li>2 - Other file icon</li>
- <li>3 - Cover (front)</li>
- <li>4 - Cover (back)</li>
- <li>5 - Leaflet page</li>
- <li>6 - Media (e.g. label side of CD)</li>
- <li>7 - Lead artist/lead performer/soloist</li>
- <li>8 - Artist/performer</li>
- <li>9 - Conductor</li>
- <li>10 - Band/Orchestra</li>
- <li>11 - Composer</li>
- <li>12 - Lyricist/text writer</li>
- <li>13 - Recording Location</li>
- <li>14 - During recording</li>
- <li>15 - During performance</li>
- <li>16 - Movie/video screen capture</li>
- <li>17 - A bright coloured fish</li>
- <li>18 - Illustration</li>
- <li>19 - Band/artist logotype</li>
- <li>20 - Publisher/Studio logotype</li>
- </ul>
- Others are reserved and should not be used. There may only be one each of picture type 1 and 2 in a file.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;32&gt;
- </td>
- <td>
- The length of the MIME type string in bytes.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;n*8&gt;
- </td>
- <td>
- The MIME type string, in printable ASCII characters 0x20-0x7e. The MIME type may also be <tt>--&gt;</tt> to signify that the data part is a URL of the picture instead of the picture data itself.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;32&gt;
- </td>
- <td>
- The length of the description string in bytes.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;n*8&gt;
- </td>
- <td>
- The description of the picture, in UTF-8.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;32&gt;
- </td>
- <td>
- The width of the picture in pixels.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;32&gt;
- </td>
- <td>
- The height of the picture in pixels.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;32&gt;
- </td>
- <td>
- The color depth of the picture in bits-per-pixel.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;32&gt;
- </td>
- <td>
- For indexed-color pictures (e.g. GIF), the number of colors used, or <tt>0</tt> for non-indexed pictures.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;32&gt;
- </td>
- <td>
- The length of the picture data in bytes.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;n*8&gt;
- </td>
- <td>
- The binary picture data.
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="frame"><font size="+1"><b>FRAME</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- <a href="#frame_header"><i>FRAME_HEADER</i></a>
- </td>
- <td>
- &nbsp;
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- <a href="#subframe"><i>SUBFRAME</i></a>+
- </td>
- <td>
- One SUBFRAME per channel.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;?&gt;
- </td>
- <td>
- Zero-padding to byte alignment.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- <a href="#frame_footer"><i>FRAME_FOOTER</i></a>
- </td>
- <td>
- &nbsp;
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="frame_header"><font size="+1"><b>FRAME_HEADER</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;14&gt;
- </td>
- <td>
- Sync code '<tt>11111111111110</tt>'
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;1&gt;
- </td>
- <td>
- Reserved:<br />
- <ul>
- <li>
- <tt>0</tt> : mandatory value
- </li>
- <li>
- <tt>1</tt> : reserved for future use
- </li>
- </ul>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;1&gt;
- </td>
- <td>
- Blocking strategy:<br />
- <ul>
- <li>
- <tt>0</tt> : fixed-blocksize stream; frame header encodes the frame number
- </li>
- <li>
- <tt>1</tt> : variable-blocksize stream; frame header encodes the sample number
- </li>
- </ul>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;4&gt;
- </td>
- <td>
- Block size in inter-channel samples:<br />
- <ul>
- <li>
- <tt>0000</tt> : reserved
- </li>
- <li>
- <tt>0001</tt> : 192 samples
- </li>
- <li>
- <tt>0010-0101</tt> : 576 * (2^(n-2)) samples, i.e. 576/1152/2304/4608
- </li>
- <li>
- <tt>0110</tt> : get 8 bit (blocksize-1) from end of header
- </li>
- <li>
- <tt>0111</tt> : get 16 bit (blocksize-1) from end of header
- </li>
- <li>
- <tt>1000-1111</tt> : 256 * (2^(n-8)) samples, i.e. 256/512/1024/2048/4096/8192/16384/32768
- </li>
- </ul>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;4&gt;
- </td>
- <td>
- Sample rate:<br />
- <ul>
- <li>
- <tt>0000</tt> : get from STREAMINFO metadata block
- </li>
- <li>
- <tt>0001</tt> : 88.2kHz
- </li>
- <li>
- <tt>0010</tt> : 176.4kHz
- </li>
- <li>
- <tt>0011</tt> : 192kHz
- </li>
- <li>
- <tt>0100</tt> : 8kHz
- </li>
- <li>
- <tt>0101</tt> : 16kHz
- </li>
- <li>
- <tt>0110</tt> : 22.05kHz
- </li>
- <li>
- <tt>0111</tt> : 24kHz
- </li>
- <li>
- <tt>1000</tt> : 32kHz
- </li>
- <li>
- <tt>1001</tt> : 44.1kHz
- </li>
- <li>
- <tt>1010</tt> : 48kHz
- </li>
- <li>
- <tt>1011</tt> : 96kHz
- </li>
- <li>
- <tt>1100</tt> : get 8 bit sample rate (in kHz) from end of header
- </li>
- <li>
- <tt>1101</tt> : get 16 bit sample rate (in Hz) from end of header
- </li>
- <li>
- <tt>1110</tt> : get 16 bit sample rate (in tens of Hz) from end of header
- </li>
- <li>
- <tt>1111</tt> : invalid, to prevent sync-fooling string of 1s
- </li>
- </ul>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;4&gt;
- </td>
- <td>
- Channel assignment
- <ul>
- <li>
- <tt>0000-0111</tt> : (number of independent channels)-1. Where defined, the channel order follows SMPTE/ITU-R recommendations. The assignments are as follows:
- <ul>
- <li>1 channel: mono</li>
- <li>2 channels: left, right</li>
- <li>3 channels: left, right, center</li>
- <li>4 channels: left, right, back left, back right</li>
- <li>5 channels: left, right, center, back/surround left, back/surround right</li>
- <li>6 channels: left, right, center, LFE, back/surround left, back/surround right</li>
- <li>7 channels: not defined</li>
- <li>8 channels: not defined</li>
- </ul>
- </li>
- <li>
- <tt>1000</tt> : left/side stereo: channel 0 is the left channel, channel 1 is the side(difference) channel
- </li>
- <li>
- <tt>1001</tt> : right/side stereo: channel 0 is the side(difference) channel, channel 1 is the right channel
- </li>
- <li>
- <tt>1010</tt> : mid/side stereo: channel 0 is the mid(average) channel, channel 1 is the side(difference) channel
- </li>
- <li>
- <tt>1011-1111</tt> : reserved
- </li>
- </ul>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;3&gt;
- </td>
- <td>
- Sample size in bits:<br />
- <ul>
- <li>
- <tt>000</tt> : get from STREAMINFO metadata block
- </li>
- <li>
- <tt>001</tt> : 8 bits per sample
- </li>
- <li>
- <tt>010</tt> : 12 bits per sample
- </li>
- <li>
- <tt>011</tt> : reserved
- </li>
- <li>
- <tt>100</tt> : 16 bits per sample
- </li>
- <li>
- <tt>101</tt> : 20 bits per sample
- </li>
- <li>
- <tt>110</tt> : 24 bits per sample
- </li>
- <li>
- <tt>111</tt> : reserved
- </li>
- </ul>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;1&gt;
- </td>
- <td>
- Reserved:<br />
- <ul>
- <li>
- <tt>0</tt> : mandatory value
- </li>
- <li>
- <tt>1</tt> : reserved for future use
- </li>
- </ul>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;?&gt;
- </td>
- <td>
- if(variable blocksize)<br />
- &nbsp;&nbsp;&nbsp;&lt;8-56&gt;:"UTF-8" coded sample number (decoded number is 36 bits)<br />
- else<br />
- &nbsp;&nbsp;&nbsp;&lt;8-48&gt;:"UTF-8" coded frame number (decoded number is 31 bits)
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;?&gt;
- </td>
- <td>
- if(blocksize bits == 011x)<br />
- &nbsp;&nbsp;&nbsp;8/16 bit (blocksize-1)
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;?&gt;
- </td>
- <td>
- if(sample rate bits == 11xx)<br />
- &nbsp;&nbsp;&nbsp;8/16 bit sample rate
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;8&gt;
- </td>
- <td>
- CRC-8 (polynomial = x^8 + x^2 + x^1 + x^0, initialized with 0) of everything before the crc, including the sync code
- </td>
- </tr>
- <tr>
- <td>
- </td>
- <td bgcolor="#F4F4CC">
- <font size="+1">NOTES</font><br />
- <ul>
- <li>
- The "blocking strategy" bit must be the same throughout the entire stream.
- </li>
- <li>
- The "blocking strategy" bit determines how to calculate the sample number of the first sample in the frame. If the bit is <tt>0</tt> (fixed-blocksize), the frame header encodes the frame number as above, and the frame's starting sample number will be the frame number times the blocksize. If it is <tt>1</tt> (variable-blocksize), the frame header encodes the frame's starting sample number itself. (In the case of a fixed-blocksize stream, only the last block may be shorter than the stream blocksize; its starting sample number will be calculated as the frame number times the previous frame's blocksize, or zero if it is the first frame).
- </li>
- <li>
- The "UTF-8" coding used for the sample/frame number is the same variable length code used to store compressed UCS-2, extended to handle larger input.
- </li>
- </ul>
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="frame_footer"><font size="+1"><b>FRAME_FOOTER</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;16&gt;
- </td>
- <td>
- CRC-16 (polynomial = x^16 + x^15 + x^2 + x^0, initialized with 0) of everything before the crc, back to and including the frame header sync code
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="subframe"><font size="+1"><b>SUBFRAME</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- <a href="#subframe_header"><i>SUBFRAME_HEADER</i></a>
- </td>
- <td>
- &nbsp;
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- <a href="#subframe_constant"><i>SUBFRAME_CONSTANT</i></a><br />|| <a href="#subframe_fixed"><i>SUBFRAME_FIXED</i></a><br />|| <a href="#subframe_lpc"><i>SUBFRAME_LPC</i></a><br />|| <a href="#subframe_verbatim"><i>SUBFRAME_VERBATIM</i></a>
- </td>
- <td valign="top">
- The SUBFRAME_HEADER specifies which one.
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="subframe_header"><font size="+1"><b>SUBFRAME_HEADER</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;1&gt;
- </td>
- <td>
- Zero bit padding, to prevent sync-fooling string of 1s
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;6&gt;
- </td>
- <td>
- Subframe type:
- <ul>
- <li>
- <tt>000000</tt> : <a href="#subframe_constant">SUBFRAME_CONSTANT</a>
- </li>
- <li>
- <tt>000001</tt> : <a href="#subframe_verbatim">SUBFRAME_VERBATIM</a>
- </li>
- <li>
- <tt>00001x</tt> : reserved
- </li>
- <li>
- <tt>0001xx</tt> : reserved
- </li>
- <li>
- <tt>001xxx</tt> : if(xxx &lt;= 4) <a href="#subframe_fixed">SUBFRAME_FIXED</a>, xxx=order ; else reserved
- </li>
- <li>
- <tt>01xxxx</tt> : reserved
- </li>
- <li>
- <tt>1xxxxx</tt> : <a href="#subframe_lpc">SUBFRAME_LPC</a>, xxxxx=order-1
- </li>
- </ul>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;1+k&gt;
- </td>
- <td>
- 'Wasted bits-per-sample' flag:
- <ul>
- <li>
- <tt>0</tt> : no wasted bits-per-sample in source subblock, k=0
- </li>
- <li>
- <tt>1</tt> : k wasted bits-per-sample in source subblock, k-1 follows, unary coded; e.g. k=3 =&gt; 001 follows, k=7 =&gt; 0000001 follows.
- </li>
- </ul>
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="subframe_constant"><font size="+1"><b>SUBFRAME_CONSTANT</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;n&gt;
- </td>
- <td>
- Unencoded constant value of the subblock, n = frame's bits-per-sample.
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="subframe_fixed"><font size="+1"><b>SUBFRAME_FIXED</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;n&gt;
- </td>
- <td>
- Unencoded warm-up samples (n = frame's bits-per-sample * predictor order).
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- <a href="#residual"><i>RESIDUAL</i></a>
- </td>
- <td>
- Encoded residual
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="subframe_lpc"><font size="+1"><b>SUBFRAME_LPC</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;n&gt;
- </td>
- <td>
- Unencoded warm-up samples (n = frame's bits-per-sample * lpc order).
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;4&gt;
- </td>
- <td>
- (Quantized linear predictor coefficients' precision in bits)-1 (1111 = invalid).
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;5&gt;
- </td>
- <td>
- Quantized linear predictor coefficient shift needed in bits (NOTE: this number is signed two's-complement).
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;n&gt;
- </td>
- <td>
- Unencoded predictor coefficients (n = qlp coeff precision * lpc order) (NOTE: the coefficients are signed two's-complement).
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- <a href="#residual"><i>RESIDUAL</i></a>
- </td>
- <td>
- Encoded residual
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="subframe_verbatim"><font size="+1"><b>SUBFRAME_VERBATIM</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;n*i&gt;
- </td>
- <td>
- Unencoded subblock; n = frame's bits-per-sample, i = frame's blocksize.
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="residual"><font size="+1"><b>RESIDUAL</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;2&gt;
- </td>
- <td>
- Residual coding method:<br />
- <ul>
- <li>
- <tt>00</tt> : partitioned Rice coding with 4-bit Rice parameter; RESIDUAL_CODING_METHOD_PARTITIONED_RICE follows
- </li>
- <li>
- <tt>01</tt> : partitioned Rice coding with 5-bit Rice parameter; RESIDUAL_CODING_METHOD_PARTITIONED_RICE2 follows
- </li>
- <li>
- <tt>10-11</tt> : reserved
- </li>
- </ul>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- <a href="#partitioned_rice"><i>RESIDUAL_CODING_METHOD_PARTITIONED_RICE</i></a>&nbsp;||<br />
- <a href="#partitioned_rice2"><i>RESIDUAL_CODING_METHOD_PARTITIONED_RICE2</i></a>
- </td>
- <td>
- &nbsp;
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="partitioned_rice"><font size="+1"><b>RESIDUAL_CODING_METHOD_PARTITIONED_RICE</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;4&gt;
- </td>
- <td>
- Partition order.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- <a href="#rice_partition"><i>RICE_PARTITION</i></a>+
- </td>
- <td>
- There will be 2^order partitions.
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="rice_partition"><font size="+1"><b>RICE_PARTITION</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;4(+5)&gt;
- </td>
- <td>
- Encoding parameter:<br />
- <ul>
- <li>
- <tt>0000-1110</tt> : Rice parameter.
- </li>
- <li>
- <tt>1111</tt> : Escape code, meaning the partition is in unencoded binary form using n bits per sample; n follows as a 5-bit number.
- </li>
- </ul>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;?&gt;
- </td>
- <td>
- Encoded residual. The number of samples (n) in the partition is determined as follows:<br />
- <ul>
- <li>
- if the partition order is zero, n = frame's blocksize - predictor order
- </li>
- <li>
- else if this is not the first partition of the subframe, n = (frame's blocksize / (2^partition order))
- </li>
- <li>
- else n = (frame's blocksize / (2^partition order)) - predictor order
- </li>
- </ul>
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="partitioned_rice2"><font size="+1"><b>RESIDUAL_CODING_METHOD_PARTITIONED_RICE2</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;4&gt;
- </td>
- <td>
- Partition order.
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- <a href="#rice2_partition"><i>RICE2_PARTITION</i></a>+
- </td>
- <td>
- There will be 2^order partitions.
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-<br />
-
-<div class="box">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td colspan="2" bgcolor="#D3D4C5">
- <a name="rice2_partition"><font size="+1"><b>RICE2_PARTITION</b></font></a>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;5(+5)&gt;
- </td>
- <td>
- Encoding parameter:<br />
- <ul>
- <li>
- <tt>0000-11110</tt> : Rice parameter.
- </li>
- <li>
- <tt>11111</tt> : Escape code, meaning the partition is in unencoded binary form using n bits per sample; n follows as a 5-bit number.
- </li>
- </ul>
- </td>
- </tr>
- <tr>
- <td align="right" valign="top" bgcolor="#F4F4CC">
- &lt;?&gt;
- </td>
- <td>
- Encoded residual. The number of samples (n) in the partition is determined as follows:<br />
- <ul>
- <li>
- if the partition order is zero, n = frame's blocksize - predictor order
- </li>
- <li>
- else if this is not the first partition of the subframe, n = (frame's blocksize / (2^partition order))
- </li>
- <li>
- else n = (frame's blocksize / (2^partition order)) - predictor order
- </li>
- </ul>
- </td>
- </tr>
- </table>
- </td></tr></table>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/id.html b/3rdparty/libflac/doc/html/id.html
deleted file mode 100644
index 2aa39ab6ad0..00000000000
--- a/3rdparty/libflac/doc/html/id.html
+++ /dev/null
@@ -1,289 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - id</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/id.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- register
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- FLAC allows third-party applications to register an ID for use with FLAC <a href="format.html#def_APPLICATION">APPLICATION metadata blocks</a>. Use the following form to request an ID, or to submit a change to an existing ID.<br />
- <br />
- <form name="register" method="get" enctype="text/plain" action="mailto:jcoalson@users.sourceforge.net">
- <center>
- <table border="0" width="90%">
- <tr>
- <td>* Application ID: <input type="text" name="id" size="8" maxlength="8" /></td>
- </tr>
- <tr>
- <td>* Application name: <input type="text" name="name" size="40" /></td>
- </tr>
- <tr>
- <td>* Contact e-mail: <input type="text" name="email" size="40" /></td>
- </tr>
- <tr>
- <td>Application URL: <input type="text" name="appurl" size="40" /></td>
- </tr>
- <tr>
- <td>Specification URL: <input type="text" name="specurl" size="40" /></td>
- </tr>
- <tr>
- <td>Comment:</td>
- </tr>
- <tr>
- <td><textarea name="comment" cols="72" rows="5"></textarea></td>
- </tr>
- <tr>
- <td>(* = mandatory)</td>
- </tr>
- </table>
- </center>
- <br />
- The ID request should be 8 hexadecimal digits and not conflict with any existing IDs (see the table below for all currently registered IDs). This 32-bit number will be stored big-endian in the block.<br />
- <br />
- Information about your application (but not your e-mail address) will show up on this page in the ID directory. You can also provide a URL to your application and a URL reference to the specification of your application's APPLICATION block.<br />
- <br />
- You will be notified via e-mail about your submission.
- <center><input type="submit" value="Submit request" /></center>
- </form>
- </div>
- <div class="box_footer"></div>
-</div>
-
-<br />
-
-<div class="box">
- <div class="box_title">
- <a name="directory">id directory</a>
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- Here is a list of all registered IDs and their applications:<br />
- <br />
- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
- <table width="100%" border="1" bgcolor="#EEEED4">
- <tr>
- <td bgcolor="#D3D4C5">
- <font size="+1"><b>ID</b></font>
- </td>
- <td bgcolor="#D3D4C5">
- <font size="+1"><b>Application</b></font>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <tt>41544348 - "ATCH"</tt>
- </td>
- <td>
- <a href="http://firestuff.org/flacfile/">FlacFile</a>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <tt>43756573 - "Cues"</tt>
- </td>
- <td>
- <a href="http://www.goldwave.com">GoldWave</a> cue points (<a href="http://www.goldwave.com/developer.php">specification</a>)
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <tt>4D754D4C - "MuML"</tt>
- </td>
- <td>
- MusicML: Music Metadata Language
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <tt>46696361 - "Fica"</tt>
- </td>
- <td>
- <a href="http://www.enfis.it/details.php?id=24">CUE Splitter</a>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <tt>46746F6C - "Ftol"</tt>
- </td>
- <td>
- <a href="http://flac-tools.sourceforge.net/">flac-tools</a>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <tt>4D505345 - "MPSE"</tt>
- </td>
- <td>
- <a href="http://www.3delite.hu/MP3SE/index.html">MP3 Stream Editor</a>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <tt>52494646 - "RIFF"</tt>
- </td>
- <td>
- Sound Devices RIFF chunk storage
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <tt>5346464C - "SFFL"</tt>
- </td>
- <td>
- Sound Font FLAC
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <tt>534F4E59 - "SONY"</tt>
- </td>
- <td>
- <a href="http://www.sonycreativesoftware.com/">Sony Creative Software</a>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <tt>5351455A - "SQEZ"</tt>
- </td>
- <td>
- flacsqueeze
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <tt>61696666 - "aiff"</tt>
- </td>
- <td>
- FLAC AIFF chunk storage
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <tt>7065656D - "peem"</tt>
- </td>
- <td>
- <a href="http://peem.iconoclast.net/">Parseable Embedded Extensible Metadata</a> (<a href="http://peem.iconoclast.net/1.0/">specification</a>)
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <tt>71667374 - "qfst"</tt>
- </td>
- <td>
- <a href="http://qflacstudio.sourceforge.net/">QFLAC Studio</a>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <tt>72696666 - "riff"</tt>
- </td>
- <td>
- FLAC RIFF chunk storage
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <tt>74756E65 - "tune"</tt>
- </td>
- <td>
- <a href="http://www.tagtuner.com/">TagTuner</a>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <tt>78626174 - "xbat"</tt>
- </td>
- <td>
- <a href="http://xbat.org/">XBAT</a>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- <tt>786D6364 - "xmcd"</tt>
- </td>
- <td>
- <a href="http://www.amb.org/xmcd">xmcd</a>
- </td>
- </tr>
- <!--
- <tr>
- <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
- deadbeef
- </td>
- <td>
- <a href="x">Application1</a> (<a href="y">specification</a>)
- </td>
- </tr>
- -->
- </table>
- </td></tr></table>
- </div>
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/images/1x1.gif b/3rdparty/libflac/doc/html/images/1x1.gif
deleted file mode 100644
index f14ea135474..00000000000
--- a/3rdparty/libflac/doc/html/images/1x1.gif
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/Makefile.in b/3rdparty/libflac/doc/html/images/Makefile.in
deleted file mode 100644
index 63db4d12c5e..00000000000
--- a/3rdparty/libflac/doc/html/images/Makefile.in
+++ /dev/null
@@ -1,554 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-AUTOMAKE_OPTIONS = foreign
-
-SUBDIRS = hw
-
-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html/images
-
-doc_DATA = \
- 1x1.gif \
- cafebug.gif \
- logo100.gif \
- logo130.gif
-
-
-EXTRA_DIST = $(doc_DATA)
-subdir = doc/html/images
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DATA = $(doc_DATA)
-
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign doc/html/images/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-docDATA_INSTALL = $(INSTALL_DATA)
-install-docDATA: $(doc_DATA)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(docdir)
- @list='$(doc_DATA)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(docDATA_INSTALL) $$d$$p $(DESTDIR)$(docdir)/$$f"; \
- $(docDATA_INSTALL) $$d$$p $(DESTDIR)$(docdir)/$$f; \
- done
-
-uninstall-docDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(doc_DATA)'; for p in $$list; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(docdir)/$$f"; \
- rm -f $(DESTDIR)$(docdir)/$$f; \
- done
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- else \
- include_option=--include; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(DATA)
-installdirs: installdirs-recursive
-installdirs-am:
- $(mkinstalldirs) $(DESTDIR)$(docdir)
-
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-docDATA
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-docDATA uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-docDATA install-exec install-exec-am \
- install-exec-recursive install-info install-info-am \
- install-info-recursive install-man install-recursive \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am installdirs-recursive maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive mostlyclean \
- mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
- pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \
- tags-recursive uninstall uninstall-am uninstall-docDATA \
- uninstall-info-am uninstall-info-recursive uninstall-recursive
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/doc/html/images/cafebug.gif b/3rdparty/libflac/doc/html/images/cafebug.gif
deleted file mode 100644
index 3d0c90fd9b9..00000000000
--- a/3rdparty/libflac/doc/html/images/cafebug.gif
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/Blackbird_Front_low3_325x87.jpg b/3rdparty/libflac/doc/html/images/hw/Blackbird_Front_low3_325x87.jpg
deleted file mode 100644
index ac8e17e3b3d..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/Blackbird_Front_low3_325x87.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/MS300frontsmall_270x108.jpg b/3rdparty/libflac/doc/html/images/hw/MS300frontsmall_270x108.jpg
deleted file mode 100644
index e713335aea4..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/MS300frontsmall_270x108.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/Makefile.am b/3rdparty/libflac/doc/html/images/hw/Makefile.am
deleted file mode 100644
index 8900735ffbb..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/Makefile.am
+++ /dev/null
@@ -1,52 +0,0 @@
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-AUTOMAKE_OPTIONS = foreign
-
-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html/images/hw
-
-doc_DATA = \
- Blackbird_Front_low3_325x87.jpg \
- MS300frontsmall_270x108.jpg \
- MediaBox_Frt_170x325.jpg \
- SB_Hero_Black_325x182.jpg \
- Sooloos-ControlOne_325x328.jpg \
- Z500_front_325x94.jpg \
- a2_01_325x252.jpg \
- arcus_325x135.jpg \
- bmp-1430_325x241.jpg \
- cs505_front_lrg_325x113.jpg \
- enus_3-4lft-hires_product_eva8000_325x127.jpg \
- escient_ProductLine_325x163.jpg \
- hifidelio_bl_front_Z_RGB_325x163.jpg \
- i-station-mini-dx_325x237.jpg \
- iwod-g10_325x257.jpg \
- knc_hr-2800_325x209.jpg \
- mediaready_prodmain_MRMCa_325x232.jpg \
- meizu_m6_325x206.jpg \
- musica_artwork_325x90.jpg \
- neodigits_x5000_325x124.jpg \
- onda-vx737_325x240.jpg \
- request_n_front_325x103.jpg \
- rio_karma_279x254.jpg \
- sonos_family_RGB_325x200.jpg \
- teclast-tl29_325x244.jpg \
- transporter_hero_grey_325x208.jpg \
- tvix-4000_325x204.jpg \
- vibez_nofm_combi_black_b_325x220.jpg
-
-EXTRA_DIST = $(doc_DATA)
diff --git a/3rdparty/libflac/doc/html/images/hw/Makefile.in b/3rdparty/libflac/doc/html/images/hw/Makefile.in
deleted file mode 100644
index 88c212086b9..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/Makefile.in
+++ /dev/null
@@ -1,427 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-AUTOMAKE_OPTIONS = foreign
-
-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html/images/hw
-
-doc_DATA = \
- Blackbird_Front_low3_325x87.jpg \
- MS300frontsmall_270x108.jpg \
- MediaBox_Frt_170x325.jpg \
- SB_Hero_Black_325x182.jpg \
- Sooloos-ControlOne_325x328.jpg \
- Z500_front_325x94.jpg \
- a2_01_325x252.jpg \
- arcus_325x135.jpg \
- bmp-1430_325x241.jpg \
- cs505_front_lrg_325x113.jpg \
- enus_3-4lft-hires_product_eva8000_325x127.jpg \
- escient_ProductLine_325x163.jpg \
- hifidelio_bl_front_Z_RGB_325x163.jpg \
- i-station-mini-dx_325x237.jpg \
- iwod-g10_325x257.jpg \
- knc_hr-2800_325x209.jpg \
- mediaready_prodmain_MRMCa_325x232.jpg \
- meizu_m6_325x206.jpg \
- musica_artwork_325x90.jpg \
- neodigits_x5000_325x124.jpg \
- onda-vx737_325x240.jpg \
- request_n_front_325x103.jpg \
- rio_karma_279x254.jpg \
- sonos_family_RGB_325x200.jpg \
- teclast-tl29_325x244.jpg \
- transporter_hero_grey_325x208.jpg \
- tvix-4000_325x204.jpg \
- vibez_nofm_combi_black_b_325x220.jpg
-
-
-EXTRA_DIST = $(doc_DATA)
-subdir = doc/html/images/hw
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DATA = $(doc_DATA)
-
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign doc/html/images/hw/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-docDATA_INSTALL = $(INSTALL_DATA)
-install-docDATA: $(doc_DATA)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(docdir)
- @list='$(doc_DATA)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(docDATA_INSTALL) $$d$$p $(DESTDIR)$(docdir)/$$f"; \
- $(docDATA_INSTALL) $$d$$p $(DESTDIR)$(docdir)/$$f; \
- done
-
-uninstall-docDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(doc_DATA)'; for p in $$list; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(docdir)/$$f"; \
- rm -f $(DESTDIR)$(docdir)/$$f; \
- done
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(DATA)
-
-installdirs:
- $(mkinstalldirs) $(DESTDIR)$(docdir)
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-docDATA
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-docDATA uninstall-info-am
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am info info-am install install-am install-data \
- install-data-am install-docDATA install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-docDATA uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/doc/html/images/hw/MediaBox_Frt_170x325.jpg b/3rdparty/libflac/doc/html/images/hw/MediaBox_Frt_170x325.jpg
deleted file mode 100644
index 6fc2ed47f5c..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/MediaBox_Frt_170x325.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/SB_Hero_Black_325x182.jpg b/3rdparty/libflac/doc/html/images/hw/SB_Hero_Black_325x182.jpg
deleted file mode 100644
index ddaf4438114..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/SB_Hero_Black_325x182.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/Sooloos-ControlOne_325x328.jpg b/3rdparty/libflac/doc/html/images/hw/Sooloos-ControlOne_325x328.jpg
deleted file mode 100644
index 5e173a56099..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/Sooloos-ControlOne_325x328.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/Z500_front_325x94.jpg b/3rdparty/libflac/doc/html/images/hw/Z500_front_325x94.jpg
deleted file mode 100644
index 4b8036e1452..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/Z500_front_325x94.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/a2_01_325x252.jpg b/3rdparty/libflac/doc/html/images/hw/a2_01_325x252.jpg
deleted file mode 100644
index 10d7170d226..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/a2_01_325x252.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/arcus_325x135.jpg b/3rdparty/libflac/doc/html/images/hw/arcus_325x135.jpg
deleted file mode 100644
index b3dc9febce7..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/arcus_325x135.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/bmp-1430_325x241.jpg b/3rdparty/libflac/doc/html/images/hw/bmp-1430_325x241.jpg
deleted file mode 100644
index 1d91b95c030..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/bmp-1430_325x241.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/cs505_front_lrg_325x113.jpg b/3rdparty/libflac/doc/html/images/hw/cs505_front_lrg_325x113.jpg
deleted file mode 100644
index 34123d2ce15..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/cs505_front_lrg_325x113.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/enus_3-4lft-hires_product_eva8000_325x127.jpg b/3rdparty/libflac/doc/html/images/hw/enus_3-4lft-hires_product_eva8000_325x127.jpg
deleted file mode 100644
index 9f3ad228d26..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/enus_3-4lft-hires_product_eva8000_325x127.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/escient_ProductLine_325x163.jpg b/3rdparty/libflac/doc/html/images/hw/escient_ProductLine_325x163.jpg
deleted file mode 100644
index cc6008ee88e..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/escient_ProductLine_325x163.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/hifidelio_bl_front_Z_RGB_325x163.jpg b/3rdparty/libflac/doc/html/images/hw/hifidelio_bl_front_Z_RGB_325x163.jpg
deleted file mode 100644
index ca98f307a20..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/hifidelio_bl_front_Z_RGB_325x163.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/i-station-mini-dx_325x237.jpg b/3rdparty/libflac/doc/html/images/hw/i-station-mini-dx_325x237.jpg
deleted file mode 100644
index b18b33aaa0c..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/i-station-mini-dx_325x237.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/iwod-g10_325x257.jpg b/3rdparty/libflac/doc/html/images/hw/iwod-g10_325x257.jpg
deleted file mode 100644
index 1baf2f89769..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/iwod-g10_325x257.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/knc_hr-2800_325x209.jpg b/3rdparty/libflac/doc/html/images/hw/knc_hr-2800_325x209.jpg
deleted file mode 100644
index 737236cc157..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/knc_hr-2800_325x209.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/mediaready_prodmain_MRMCa_325x232.jpg b/3rdparty/libflac/doc/html/images/hw/mediaready_prodmain_MRMCa_325x232.jpg
deleted file mode 100644
index 4f1dd2d5bea..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/mediaready_prodmain_MRMCa_325x232.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/meizu_m6_325x206.jpg b/3rdparty/libflac/doc/html/images/hw/meizu_m6_325x206.jpg
deleted file mode 100644
index b915e2e6ef8..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/meizu_m6_325x206.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/musica_artwork_325x90.jpg b/3rdparty/libflac/doc/html/images/hw/musica_artwork_325x90.jpg
deleted file mode 100644
index 03d559c3f42..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/musica_artwork_325x90.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/neodigits_x5000_325x124.jpg b/3rdparty/libflac/doc/html/images/hw/neodigits_x5000_325x124.jpg
deleted file mode 100644
index 0f752f088a6..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/neodigits_x5000_325x124.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/onda-vx737_325x240.jpg b/3rdparty/libflac/doc/html/images/hw/onda-vx737_325x240.jpg
deleted file mode 100644
index e6e399f9a47..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/onda-vx737_325x240.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/request_n_front_325x103.jpg b/3rdparty/libflac/doc/html/images/hw/request_n_front_325x103.jpg
deleted file mode 100644
index bfea9f60d65..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/request_n_front_325x103.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/rio_karma_279x254.jpg b/3rdparty/libflac/doc/html/images/hw/rio_karma_279x254.jpg
deleted file mode 100644
index fb11523d44d..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/rio_karma_279x254.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/sonos_family_RGB_325x200.jpg b/3rdparty/libflac/doc/html/images/hw/sonos_family_RGB_325x200.jpg
deleted file mode 100644
index 8dfa0308ea2..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/sonos_family_RGB_325x200.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/teclast-tl29_325x244.jpg b/3rdparty/libflac/doc/html/images/hw/teclast-tl29_325x244.jpg
deleted file mode 100644
index c7802676465..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/teclast-tl29_325x244.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/transporter_hero_grey_325x208.jpg b/3rdparty/libflac/doc/html/images/hw/transporter_hero_grey_325x208.jpg
deleted file mode 100644
index 558413b706b..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/transporter_hero_grey_325x208.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/tvix-4000_325x204.jpg b/3rdparty/libflac/doc/html/images/hw/tvix-4000_325x204.jpg
deleted file mode 100644
index 576e7b801e1..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/tvix-4000_325x204.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/hw/vibez_nofm_combi_black_b_325x220.jpg b/3rdparty/libflac/doc/html/images/hw/vibez_nofm_combi_black_b_325x220.jpg
deleted file mode 100644
index 2be9e4365db..00000000000
--- a/3rdparty/libflac/doc/html/images/hw/vibez_nofm_combi_black_b_325x220.jpg
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/logo100.gif b/3rdparty/libflac/doc/html/images/logo100.gif
deleted file mode 100644
index a078a4bc5ed..00000000000
--- a/3rdparty/libflac/doc/html/images/logo100.gif
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/images/logo130.gif b/3rdparty/libflac/doc/html/images/logo130.gif
deleted file mode 100644
index 5d0da8b6aef..00000000000
--- a/3rdparty/libflac/doc/html/images/logo130.gif
+++ /dev/null
Binary files differ
diff --git a/3rdparty/libflac/doc/html/index.html b/3rdparty/libflac/doc/html/index.html
deleted file mode 100644
index 6d6f82052ba..00000000000
--- a/3rdparty/libflac/doc/html/index.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - Free Lossless Audio Codec</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;home&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/index.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<table border="0" cellpadding="0" cellspacing="0">
- <tr>
- <td width="75%" align="center" valign="top">
-
- <div class="box">
- <div class="box_title">
- <a name="what_is_flac">what is FLAC?</a>
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, but lossless, meaning that audio is compressed in FLAC without any loss in quality. This is similar to how Zip works, except with FLAC you will get much better compression because it is designed specifically for audio, and you can play back compressed FLAC files in your favorite player (or your car or home stereo, see <a href="links.html#hardware">supported devices</a>) just like you would an MP3 file.<br />
- <br />
- FLAC stands out as the <a href="comparison.html">fastest and most widely supported lossless audio codec</a>, and the only one that at once is non-proprietary, is unencumbered by patents, has an open-source reference implementation, has a well documented format and API, and has several other independent implementations.<br />
- <br />
- See <a href="features.html">About FLAC</a> for more, or <a href="documentation_tasks.html">Using FLAC</a> for how to play FLAC files, rip CDs to FLAC, etc.
- </div>
- <div class="box_footer"></div>
- </div>
-
- <br />
-
- <div class="box">
- <div class="box_title">
- <a name="latest">the latest</a>
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- <b>FLAC 1.2.1 released</b>&nbsp;&nbsp;New in this release is support for all RIFF/AIFF metadata, including <a href="http://en.wikipedia.org/wiki/BWF">Broadcast Wave Format (BWF)</a>. There are many other small improvements and bug fixes; see the <a href="changelog.html#flac_1_2_1">changelog entry</a> for complete details.<br />
- <br />
- The new <a href="http://www.tech.co.uk/home-entertainment/home-cinema/home-cinema-separates/av-amps-and-receivers/news/denon-unleashes-avr-4308dab-monster-movie-amp?articleid=2102358567">Denon AVR-4308DAB</a> receiver supports FLAC.<br />
- <br />
- <a href="http://sony-696.vo.llnwd.net/dspcdn/releasenotes/soundforge90b_readme.htm">Sound Forge 9.0b supports FLAC</a>, for both reading and writing.<br />
- <br />
- An <a href="http://downloads.sourceforge.net/flac/flac-1.1.4.dmg">installer for flac-1.1.4 on OS X</a> is now available. This includes universal binaries that will work on both Intel and PowerPC machines. A 1.2.0 update will be available soon.<br />
- <br />
- Czech Radio has released <a href="http://www.rozhlas.cz/d-dur/download_eng">complete recordings of Bach's Brandenburg concertos in FLAC format</a>, free to download.<br />
- <br />
- A handful of new devices support FLAC: for home stereo, there are Denon's upcoming tabletop players <a href="http://gizmodo.com/gadgets/denon-line-show-2007/denon-launches-four-compact-s+series-21-systems-with-wi+fi-usb-ipod-and-other-options-281952.php">SE-32 and SE-52</a> and Escient's <a href="http://hiddenwires.co.uk/resourcesnews2007/news20070724-03.html">FireBall SE500</a>; for portables, the <a href="http://www.engadget.com/2007/07/25/oppo-blast-pmp-is-blowing-up-your-flvs/">Blast</a> from OPPO, Hyundai's <a href="http://www.losslessaudioblog.com/2007/04/16/hyundai-pmp-with-flac-and-wma-lossless-support/">NH-260</a>, the Zarva <a href="http://www.mobilewhack.com/zarva-announces-m209-portble-media-player/">MV209</a>, this generically-named <a href="http://www.engadget.com/2007/07/14/pmp-console-emulator-breaks-a-whole-bunch-of-laws/">Portable Media Player</a>, and the Gemei <a href="http://www.pmptoday.com/2007/07/16/gemei-x-750-w-sennheiser-mx400-headphones/">X-750</a>.<br />
- <br />
- <i>last updated 2007-Sep-17</i>
- </div>
- <div class="box_footer"></div>
- </div>
-
- </td>
-
-
- <td width="25%" align="center" valign="top">
-
- <div class="smallbox">
- <div class="smallbox_title">
- news
- </div>
- <div class="smallbox_header"></div>
- <div class="smallbox_body">
- <a href="news.html#20070917">17-Sep-2007</a> :<br />FLAC 1.2.1 released<br /><br />
- <a href="news.html#20070816">16-Aug-2007</a> :<br />Sound Forge 9.0b supports FLAC<br /><br />
- <a href="news.html#20070803">03-Aug-2007</a> :<br />Czech Radio releases free FLAC recordings<br /><br />
- <a href="news.html#20070723">23-Jul-2007</a> :<br />FLAC 1.2.0 released<br /><br />
- <a href="news.html#20070213">13-Feb-2007</a> :<br />FLAC 1.1.4 released<br /><br />
- <a href="news.html#20061127">27-Nov-2006</a> :<br />FLAC 1.1.3 released<br /><br />
- <a href="news.html#20061025">25-Oct-2006</a> :<br />Winamp 5.31 ships with FLAC support<br /><br />
- <a href="news.html#20051220">20-Dec-2005</a> :<br />Volvo's Digital Jukebox plays FLAC<br /><br />
- <a href="news.html#20050921">21-Sep-2005</a> :<br />Live2496 now records directly to FLAC<br /><br />
- <a href="news.html#20050810">10-Aug-2005</a> :<br />Olive's new Symphony component supports FLAC<br /><br />
- <a href="news.html#20050511">11-May-2005</a> :<br />YME supports FLAC and Vorbis<br /><br />
- <a href="news.html#20050510">10-May-2005</a> :<br />PONTIS' MS330 supports FLAC and Vorbis<br /><br />
- <a href="news.html#20050502">02-May-2005</a> :<br />Sonos now supports FLAC and Vorbis<br /><br />
- <a href="news.html#20050423">23-Apr-2005</a> :<br />iAUDIO X5 portable supports FLAC and Vorbis<br /><br />
- <a href="news.html#20050309">09-Mar-2005</a> :<br />Squeezebox2 supports FLAC on the box<br /><br />
- <a href="news.html#20050205">05-Feb-2005</a> :<br />Version 1.1.2 released<br /><br />
- <a href="news.html">(all news)</a>
- </div>
- <div class="smallbox_footer"></div>
- </div>
-
- </td>
- </tr>
-</table>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/itunes.html b/3rdparty/libflac/doc/html/itunes.html
deleted file mode 100644
index 2180aceff91..00000000000
--- a/3rdparty/libflac/doc/html/itunes.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - itunes</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;russian&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- flac + itunes
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- Would you like iTunes to support FLAC? So would we!<br />
- <br />
- Due to the design of iTunes, only Apple can add support for FLAC <a href="#footnote1">[1]</a>. And why wouldn't they? FLAC usage is accelerating, <a href="links.html#music">many bands</a> like Pearl Jam, Phish, Dave Matthews Band, Metallica -- the same hip, influential people whose fans Apple courts -- are already distributing music in FLAC format, and users are clamoring for it in the iTunes forums:<br />
- <ul style="list-style-type: none">
- <li><a href="http://discussions.apple.com/thread.jspa?messageID=784174&amp;#784174">[2]</a> <i>"I have seen a lot of people on live music message boards turn away from the iPod because there are other music players that support FLAC. I am on the verge... and I am an Apple die-hard!"</i></li>
- <li><a href="http://discussions.apple.com/thread.jspa?messageID=799873&amp;#799873">[3]</a> <i>"If your source material is FLAC (as many bands have gone this way to distribute online music) your choice is to use another music player ..."</i></li>
- <li><a href="http://discussions.apple.com/search.jspa?threadID=&amp;q=flac&amp;objID=c149&amp;dateRange=all&amp;userID=&amp;numResults=30">[4]</a> (many more requests)</li>
- </ul>
- Make your voice heard! <a href="http://www.apple.com/feedback/itunesapp.html">Fill out the iTunes feedback form</a> (politely!) and let them know. Feel free to also direct them to this page. We at the FLAC project <a href="developers.html">stand ready to help</a> as well.<br />
- <br />
- <br />
- <br />
- <a name="footnote1" />[1] <a href="http://xiph.org/quicktime">XiphQT</a>, through tremendous effort by developers, goes as far as possible in allowing some playback capability via QuickTime. But proper iTunes support -- tag handling, no import delays, etc. -- is not possible without Apple.<br />
- </div>
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/license.html b/3rdparty/libflac/doc/html/license.html
deleted file mode 100644
index 9cc4c75f05c..00000000000
--- a/3rdparty/libflac/doc/html/license.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - license</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/license.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- license
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- FLAC is a free codec in the fullest sense. This page explicitly states all that you may do with the format and software.<br />
- <br />
- The FLAC and Ogg FLAC formats themselves, and their specifications, are fully open to the public to be used for any purpose (the FLAC project reserves the right to set the FLAC specification and certify compliance). They are free for commercial or noncommercial use. That means that commercial developers may independently write FLAC or Ogg FLAC software which is compatible with the specifications for no charge and without restrictions of any kind. There are no licensing fees or royalties of any kind for use of the formats or their specifications, or for distributing, selling, or streaming media in the FLAC or Ogg FLAC formats.<br />
- <br />
- The FLAC project also makes available software that implements the formats, which is distributed according to <a href="http://www.opensource.org/docs/definition.php">Open Source</a> licenses as follows:<br />
- <br />
- The reference implementation libraries are licensed under the New <!-- <a href="http://www.xiph.org/licenses/bsd/"> --><a href="http://flac.cvs.sourceforge.net/*checkout*/flac/flac/COPYING.Xiph">BSD License</a>. In simple terms, these libraries may be used by any application, Open or proprietary, linked or incorporated in whole, so long as acknowledgement is made to Xiph.org Foundation when using the source code in whole or in derived works. The Xiph License is free enough that the libraries have been used in commercial products to implement FLAC, including in the firmware of hardware devices where other Open Source licenses can be problematic. In the source code these libraries are called <span class="commandname">libFLAC</span> and <span class="commandname">libFLAC++</span>.<br />
- <br />
- The rest of the software that the FLAC project provides is licensed under the <a href="http://www.gnu.org/licenses/licenses.html#GPL">GNU General Public License</a> (GPL). This software includes various utilities for converting files to and from FLAC format, plugins for audio players, et cetera. In general, the GPL allows redistribution as long as derived works are also made available in source code form according to compatible terms.<br />
- <br />
- Neither the FLAC nor Ogg FLAC formats nor any of the implemented encoding/decoding methods are covered by any known patent.<br />
- <br />
- FLAC is one of a family of codecs of the Xiph.org Foundation, all created according to the same free ideals. For some other codecs' descriptions of the Xiph License see the <a href="http://speex.org/fsos.html">Speex</a> and <a href="http://www.vorbis.com/faq.psp#flic">Vorbis</a> license pages.<br />
- <br />
- If you would like to redistribute parts or all of FLAC under different terms, <a href="mailto:jcoalson@users.sourceforge.net">contact Josh Coalson</a>.
- </div>
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/links.html b/3rdparty/libflac/doc/html/links.html
deleted file mode 100644
index 2e4c4479002..00000000000
--- a/3rdparty/libflac/doc/html/links.html
+++ /dev/null
@@ -1,485 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - links</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;links&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/links.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- links
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- The links page is the place for all things FLAC. The <a href="#hardware">hardware</a> section lists the home stereo, car stereo, and portable devices that support the FLAC format. The <a href="#music">music</a> section has links to artists, labels, and legal trading/sharing sites that offer works encoded in FLAC. The <a href="#software">software</a> section is a loosely categorized list of <a href="http://www.opensource.org/docs/definition.php">open-source software</a> that supports the FLAC format. Some of the most popular (some non-free) software can be found on the download page in the <a href="download.html#extras">extras section</a>.
- </div>
- <div class="box_footer"></div>
-</div>
-
-<br />
-
-<div class="box">
- <div class="box_title">
- <a name="hardware">hardware</a>
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- Below are some devices that support the FLAC format. For the ones we have hands-on experience with, there is a linked review (<a href="#review">see all reviews</a>). Manufacturers, if you would like your product reviewed here, please <a href="mailto:jcoalson@users.sourceforge.net">contact us</a>.<br />
- <br />
- <table align="center" border="0" cellpadding="0" cellspacing="0">
- <tr align="left" valign="middle"><td colspan="3"><b>Home stereo:</b></td/></tr>
- <tr align="center" valign="middle">
- <td bgcolor="white"><a href="http://www.slimdevices.com/pi_squeezebox.html"><img src="images/hw/SB_Hero_Black_325x182.jpg" border="0" /></a></td>
- <td bgcolor="white"><a href="http://www.slimdevices.com/pi_transporter.html"><img src="images/hw/transporter_hero_grey_325x208.jpg" border="0" /></a></td>
- <td bgcolor="white"><a href="http://www.sonos.com/"><img src="images/hw/sonos_family_RGB_325x200.jpg" border="0" /></a></td>
- </tr>
- <tr align="center" valign="middle">
- <td bgcolor="white">Squeezebox<br />(<a href="#review_squeezebox">our review</a>)</td>
- <td bgcolor="white">Transporter<br />(<a href="#review_transporter">our review</a>)</td>
- <td bgcolor="white">Sonos<br />(<a href="#review_sonos">our review</a>)</td>
- </tr>
- <tr bgcolor="black"><td><img src="images/1x1.gif" /></td><td><img src="images/1x1.gif" /></td><td><img src="images/1x1.gif" /></td></tr>
- <tr align="center" valign="middle">
- <td bgcolor="white"><a href="http://www.escient.com/"><img src="images/hw/escient_ProductLine_325x163.jpg" border="0" /></a></td>
- <td bgcolor="white"><a href="http://www.hermstedt.com/english/hifidelio/hifidelio.html"><img src="images/hw/hifidelio_bl_front_Z_RGB_325x163.jpg" border="0" /></a></td>
- <td bgcolor="white"><a href="http://www.olive.us/"><img src="images/hw/musica_artwork_325x90.jpg" border="0" /></a></td>
- </tr>
- <tr align="center" valign="middle">
- <td bgcolor="white">Escient</td>
- <td bgcolor="white">Hifidelio</td>
- <td bgcolor="white">Olive</td>
- </tr>
- <tr bgcolor="black"><td><img src="images/1x1.gif" /></td><td><img src="images/1x1.gif" /></td><td><img src="images/1x1.gif" /></td></tr>
- <tr align="center" valign="middle">
- <td bgcolor="white"><a href="http://www.pontis.de/EN/1643/ProduktearcusPremiumDAR300.php"><img src="images/hw/arcus_325x135.jpg" border="0" /></a></td>
- <td bgcolor="white"><a href="http://www.digitaltechniques.com/Products.html"><img src="images/hw/Blackbird_Front_low3_325x87.jpg" border="0" /></a></td>
- <td bgcolor="white"><a href="http://www.mcintoshlabs.com/mcprod/shopdisplayproducts.asp?id=19&amp;cat=Sources&amp;prodid=1113&amp;product=MS300"><img src="images/hw/MS300frontsmall_270x108.jpg" border="0" /></a></td>
- </tr>
- <tr align="center" valign="middle">
- <td bgcolor="white">Arcus DAR300</td>
- <td bgcolor="white">Blackbird</td>
- <td bgcolor="white">McIntosh MS300</td>
- </tr>
- <tr bgcolor="black"><td><img src="images/1x1.gif" /></td><td><img src="images/1x1.gif" /></td><td><img src="images/1x1.gif" /></td></tr>
- <tr align="center" valign="middle">
- <td bgcolor="white"><a href="http://www.neodigits.com/new/body/products/Xline/x5000.asp"><img src="images/hw/neodigits_x5000_325x124.jpg" border="0" /></a></td>
- <td bgcolor="white"><a href="http://www.netgear.com/Products/Entertainment/DigitalMediaPlayers/EVA8000.aspx"><img src="images/hw/enus_3-4lft-hires_product_eva8000_325x127.jpg" border="0" /></a></td>
- <td bgcolor="white"><a href="http://www.request.com/"><img src="images/hw/request_n_front_325x103.jpg" border="0" /></a></td>
- </tr>
- <tr align="center" valign="middle">
- <td bgcolor="white">Helios X5000</td>
- <td bgcolor="white">Netgear EVA8000</td>
- <td bgcolor="white">ReQuest</td>
- </tr>
- <tr bgcolor="black"><td><img src="images/1x1.gif" /></td><td><img src="images/1x1.gif" /></td><td><img src="images/1x1.gif" /></td></tr>
- <tr align="center" valign="middle">
- <td bgcolor="white"><a href="http://www.mediareadyinc.com/products_MRMC.php"><img src="images/hw/mediaready_prodmain_MRMCa_325x232.jpg" border="0" /></a></td>
- <td bgcolor="white"><a href="http://www.z500series.com/"><img src="images/hw/Z500_front_325x94.jpg" border="0" /></a></td>
- <td bgcolor="white"><a href="http://www.ziova.com/cs510.php"><img src="images/hw/cs505_front_lrg_325x113.jpg" border="0" /></a></td>
- </tr>
- <tr align="center" valign="middle">
- <td bgcolor="white">MediaREADY MC</td>
- <td bgcolor="white">Zensonic Z500</td>
- <td bgcolor="white">Ziova</td>
- </tr>
- <tr bgcolor="black"><td><img src="images/1x1.gif" /></td><td><img src="images/1x1.gif" /></td><td><img src="images/1x1.gif" /></td></tr>
- <tr align="center" valign="middle">
- <td bgcolor="white"><a href="http://sooloos.com/www/home.html"><img src="images/hw/Sooloos-ControlOne_325x328.jpg" border="0" /></a></td>
- <td bgcolor="white"><a href="http://www.pixelmagicsystems.com/products/media_players/hd_mediabox.htm"><img src="images/hw/MediaBox_Frt_170x325.jpg" border="0" /></a></td>
- <td bgcolor="white"><a href="http://www.tvix.co.kr/Eng/products/"><img src="images/hw/tvix-4000_325x204.jpg" border="0" /></a></td>
- </tr>
- <tr align="center" valign="middle">
- <td bgcolor="white">Sooloos</td>
- <td bgcolor="white">HD MediaBox</td>
- <td bgcolor="white">TViX 4/5000 Series</td>
- </tr>
- <tr><td colspan="3">
- <br />
- <b>Other home stereo:</b>
- <ul>
- <li><a href="http://www.avegasystems.com/">Avega Systems'</a> wireless Oyster loudspeakers</li>
- <li>Denon's <a href="http://gizmodo.com/gadgets/denon-line-show-2007/denon-launches-four-compact-s+series-21-systems-with-wi+fi-usb-ipod-and-other-options-281952.php">SE-32 and SE-52</a> tabletop players</li>
- <li>Denon's <a href="http://crave.cnet.com/8301-1_105-9749863-1.html">AVR-3808CI</a> and <a href="http://www.tech.co.uk/home-entertainment/home-cinema/home-cinema-separates/av-amps-and-receivers/news/denon-unleashes-avr-4308dab-monster-movie-amp?articleid=2102358567">AVR-4308DAB</a> receivers</li>
- <li><a href="http://www.imuse.us/">iMuse</a> audio/video media servers</li>
- <li>Meda Systems' Bravo servers</li>
- <!--
- <li><a href="http://www.phatnoise.com/products/homeplayer/index.php">PhatNoise Home Digital Media Player</a></li>
- -->
- <!--
- <li><a href="http://www.mock.com/receiver/">Rio Reciever</a> and Dell Digital Audio Receiver via <a href="http://sourceforge.net/projects/rioplay/">RioPlay</a>, <a href="http://www.reza.net/rio/rrr.html">RRR</a>, <a href="http://sourceforge.net/projects/triot/">tRio</a>, or <a href="http://www.xplhal.com/xplrionet.htm">xPLRio.net</a> clients</li>
- -->
- <li><a href="http://www.rokulabs.com/products/photobridge/features.php">Roku Photobridge HD</a> via <a href="http://homepage.ntlworld.ie/p.mc.quillan/FLAC_V0.7.zip">plugin</a></li>
- <li><a href="http://www.rokulabs.com/">Roku Soundbridge(*)</a></li>
- <li>Turtle Beach's <a href="http://www.turtlebeach.com/site/products/audiotron/producthome.asp">AudioTron(*)</a> via Bery Rinaldo's <a href="http://file-ext-map.sourceforge.net/">Samba VFS Module</a></li>
- <li>(*) <i>device decodes FLAC to WAVE/PCM on server-side</i></li>
- <li>(**) <i>device decodes FLAC to MP3 on server-side</i></li>
- </ul>
- </td></tr>
-
- <tr><td colspan="3">
- <br />
- <b>Car stereo:</b>
- <ul>
- <!--
- <li><a href="http://www.phatnoise.com/products/digitalmediaplayers/kenwood_music_keg.php">Kenwood Music Keg</a></li>
- -->
- <li><a href="http://www.phatnoise.com/">PhatBox</a></li>
- <li><a href="http://www.cdd.ru/">URAL ConceRt CDD</a></li>
- <!--
- <li>Volvo's <a href="http://www.volvocars.com/DigitalJukebox/product_information/">Digital Jukebox</a></li>
- -->
- </ul>
- </td></tr>
-
- <tr align="left" valign="middle"><td colspan="3"><b>Portable/Handheld:</b></td/></tr>
- <tr align="center" valign="middle">
- <td bgcolor="white"><a href="http://www.cowonamerica.com/products/"><img src="images/hw/a2_01_325x252.jpg" border="0" /></a></td>
- <td bgcolor="white"><a href="http://dapreview.net/comment.php?comment.news.3815"><img src="images/hw/i-station-mini-dx_325x237.jpg" border="0" /></a></td>
- <td bgcolor="white"><a href="http://gaming.engadget.com/2006/01/22/iwod-g10-pmp-with-nes-emulator/"><img src="images/hw/iwod-g10_325x257.jpg" border="0" /></a></td>
- </tr>
- <tr align="center" valign="middle">
- <td bgcolor="white">Cowon iAUDIO</td>
- <td bgcolor="white">i-Station mini DX</td>
- <td bgcolor="white">Iwod G10</td>
- </tr>
- <tr bgcolor="black"><td><img src="images/1x1.gif" /></td><td><img src="images/1x1.gif" /></td><td><img src="images/1x1.gif" /></td></tr>
- <tr align="center" valign="middle">
- <td bgcolor="white"><a href="http://www.losslessaudioblog.com/2006/10/16/knc-hr-2800-budget-pmp-w-flac/"><img src="images/hw/knc_hr-2800_325x209.jpg" border="0" /></a></td>
- <td bgcolor="white"><a href="http://www.miniplayer.info/miniplayer_specifications.asp"><img src="images/hw/meizu_m6_325x206.jpg" border="0" /></a></td>
- <td bgcolor="white"><a href="http://www.anythingbutipod.com/archives/2006/09/onda-vx737-gaming-pmp.php"><img src="images/hw/onda-vx737_325x240.jpg" border="0" /></a></td>
- </tr>
- <tr align="center" valign="middle">
- <td bgcolor="white">KNC HR-2800</td>
- <td bgcolor="white">Meizu M6 Miniplayer</td>
- <td bgcolor="white">Onda VX737</td>
- </tr>
- <tr bgcolor="black"><td><img src="images/1x1.gif" /></td><td><img src="images/1x1.gif" /></td><td><img src="images/1x1.gif" /></td></tr>
- <tr align="center" valign="middle">
- <td bgcolor="white"><a href="http://www.digitalnetworksna.com/shop/_templates/item_main_Rio.asp?model=220&amp;cat=53"><img src="images/hw/rio_karma_279x254.jpg" border="0" /></a></td>
- <td bgcolor="white"><a href="http://www.gizmodo.com/gadgets/portable-media/teclast-tl29-pmp-pretty-face-pure-of-heart-198859.php"><img src="images/hw/teclast-tl29_325x244.jpg" border="0" /></a></td>
- <td bgcolor="white"><a href="http://www.trekstor.de/en/products/detail_mp3.php?pid=66"><img src="images/hw/vibez_nofm_combi_black_b_325x220.jpg" border="0" /></a></td>
- </tr>
- <tr align="center" valign="middle">
- <td bgcolor="white">Rio Karma</td>
- <td bgcolor="white">Teclast TL-29</td>
- <td bgcolor="white">TrekStor Vibez</td>
- </tr>
- <tr bgcolor="black"><td><img src="images/1x1.gif" /></td><td><img src="images/1x1.gif" /></td><td><img src="images/1x1.gif" /></td></tr>
- <tr align="center" valign="middle">
- <td bgcolor="white"><a href="http://www.digitalworldtokyo.com/2006/07/bluedot_pmp_runs_linux_loves.php"><img src="images/hw/bmp-1430_325x241.jpg" border="0" /></a></td>
- <td bgcolor="white"></td>
- <td bgcolor="white"></td>
- </tr>
- <tr align="center" valign="middle">
- <td bgcolor="white">Bluedot BMP-1430</td>
- <td bgcolor="white"></td>
- <td bgcolor="white"></td>
- </tr>
- <tr><td colspan="3">
- <br />
- <b>Other Portable/Handheld:</b>
- <ul>
- <!--
- <li>Green Apple's portable media player: <a href="http://www.apod.com.cn/show_products.asp?photoID=437">AP3000</a></li>
- -->
- <li>Gemei <a href="http://www.pmptoday.com/2007/07/16/gemei-x-750-w-sennheiser-mx400-headphones/">X-750</a> and <a href="http://www.engadget.com/2007/07/30/gemei-intros-x-760-portable-media-player/">X-760</a></li>
- <li>Hyundai <a href="http://www.losslessaudioblog.com/2007/04/16/hyundai-pmp-with-flac-and-wma-lossless-support/">NH-260</a></li>
- <li>iPod via the <a href="http://www.rockbox.org/">Rockbox</a> firmware replacement</li>
- <li>iRiver iHP-120/iHP-140/H320/H340 via the <a href="http://www.rockbox.org/">Rockbox</a> firmware replacement</li>
- <li>Maxian <a href="http://www.losslessaudioblog.com/2006/11/11/maxian-d900-plays-flac-ape-formats/">D900</a></li>
- <li>OPPO <a href="http://www.engadget.com/2007/07/25/oppo-blast-pmp-is-blowing-up-your-flvs/">Blast</a></li>
- <li><a href="http://www.engadget.com/2007/07/14/pmp-console-emulator-breaks-a-whole-bunch-of-laws/">Portable Media Player</a></li>
- <li>Shearer <a href="http://techdigest.tv/2007/07/shearer_v2000_p.html">V2000</a></li>
- <li>Zarva <a href="http://www.mobilewhack.com/zarva-announces-m209-portble-media-player/">MV209</a>
- </ul>
- </td></tr>
- <tr><td colspan="3">
- <br />
- <b>Other:</b>
- <ul>
- <li><a href="http://www.numark.com/">Numark</a>'s DJ equipment like the HDX and CDX turntables with integrated hard drive and CD player, and the HDMIX mixer</li>
- <li>The <a href="http://www.discmakers.com/duplicators/products/automated/pico.asp">Pico CD/DVD Duplicator</a></li>
- </ul>
- </td></tr>
- </table>
- <a name="review"><b>Reviews:</b></a><br />
- The main purpose of these reviews is to give an idea of how well particular devices support FLAC. Other subjective comments here are based on our general impressions and are not meant to be thorough or authoritative. We only review devices we have tested directly ourselves.<br />
- <a name="review_sonos" /><br />
- <a href="http://www.sonos.com/"><b>Sonos</b></a>: A very slick networked audio system. Each ZonePlayer connects to an amplifier or speakers, accessing music over the network. ZonePlayers are controlled by a wireless remote with color LCD and clickwheel; they can network together wired or wireless and play in sync or independently. FLAC support is excellent; nearly the full <a href="format.html#subset">subset</a> (i.e. mono and stereo files, sample rates from 16kHz-48kHz, 16-bits per sample) including all standard encoding modes are supported. Also supported: gapless playback, FLAC tags, and ReplayGain.<br />
- <a name="review_squeezebox" /><a name="review_transporter" /><br />
- <a href="http://slimdevices.com/pi_squeezebox.html"><b>Squeezebox</b></a>: A fantastic networked audio player from Slim Devices with analog and digital outputs for connecting to an amplifier/receiver. Has an easy-to-read vacuum fluorescent display, wired or wireless networking, multi-room synchronization, and a bunch of other features. The server-side software, SlimServer, is open-source, runs on Windows, Mac OS X, Linux, etc. and has an active community. FLAC support is excellent; nearly the full <a href="format.html#subset">subset</a> (i.e. mono and stereo files, sample rates from 8kHz-48kHz, 16- and 24-bits per sample) including all standard encoding modes are supported. Also supported: gapless playback, FLAC tags, ReplayGain, automatic transcoding on the server of many audio formats to FLAC for transmission to the box, and external cuesheet support (internal cuesheet support is in the works).<br />
- <br />
- <a href="http://slimdevices.com/pi_transporter.html"><b>Transporter</b></a>: Top-of-the-line networked audio player from Slim Devices. Offers all the features of the Squeezebox (see <a href="#review_squeezebox">just above</a>), but loaded with pro-grade connectors (including balanced analog outputs and optical/coax/BNC/XLR digital ins and outs), top-end components, and a larger display. FLAC support is also excellent; all standard FLAC encoding modes and tags are supported, as are gapless playback, ReplayGain, cuesheets ... everything the Squeezebox supports, plus support for sample rates up to 96kHz.<br />
- <br />
- <table width="100%" border="1">
- <tr align="center"><th></th><th>Compression<br />modes</th><th>Channels</th><th>Sample<br />rates</th><th>Sample<br />resolution</th><th>Gapless</th><th>FLAC tags</th><th>Cover art</th><th>ReplayGain</th><th>Cuesheets</th></tr>
- <tr align="center"><th align="right"><a href="http://www.sonos.com/">Sonos</a></th><td>0-8</td><td>stereo,mono</td><td>16kHz-48kHz</td><td>16bps</td><td>Y</td><td>Y</td><td>N</td><td>Y</td><td>N</td></tr>
- <tr align="center"><th align="right"><a href="http://slimdevices.com/pi_squeezebox.html">Squeezebox</a></th><td>0-8</td><td>stereo,mono</td><td>8kHz-48kHz</td><td>16bps, 24bps</td><td>Y</td><td>Y</td><td>N</td><td>Y</td><td>Y (external)</td></tr>
- <tr align="center"><th align="right"><a href="http://slimdevices.com/pi_transporter.html">Transporter</a></th><td>0-8</td><td>stereo,mono</td><td>8kHz-96kHz</td><td>16bps, 24bps</td><td>Y</td><td>Y</td><td>N</td><td>Y</td><td>Y (external)</td></tr>
- </table>
- </div>
- <div class="box_footer"></div>
-</div>
-
-<br />
-
-<div class="box">
- <div class="box_title">
- <a name="music">music</a>
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- Several labels and artists have adopted FLAC as a distribution format for their works, offering them for sale or free download online. And many online trading communities that share legal, band-sanctioned recordings of live shows distribute them in FLAC format. These are just some of them.<br />
- <br />
- <b>Artists</b>
- <ul>
- <li><a href="http://www.bleep.com/?label=Autechre">Autechre</a></li>
- <li><a href="http://www.bucketheadslivewedges.com/">Buckethead</a></li>
- <li><a href="http://www.charliehunter.com/news/main.htm">Charlie Hunter</a></li>
- <li><a href="http://www.c2b3live.com/">Colonel Claypool's Bucket of Bernie Brains</a></li>
- <li><a href="http://stores.musictoday.com/store/dept.asp?band_id=1&amp;dept_id=2640">Dave Matthews Band</a></li>
- <li><a href="http://stores.musictoday.com/store/dept.asp?band_id=171&amp;dept_id=6764">The Grateful Dead</a></li>
- <li><a href="http://www.dgmlive.com/">King Crimson</a></li>
- <li><a href="http://www.livemetallica.com/">Metallica</a></li>
- <li><a href="https://bootlegs2.pearljam.com/">Pearl Jam</a></li>
- <li><a href="http://www.livephish.com/">Phish</a></li>
- <li><a href="http://www.primuslive.com/">Primus</a></li>
- <li><a href="http://www.theymightbegiants.com/">They Might Be Giants</a></li>
- <!--
- <li><a href="http://quinlanroad.com/">Loreena McKennitt</a></li>
- -->
- </ul>
- <b>Labels and Stores</b>
- <ul>
- <li><a href="http://www.aliveaudio.net/">AliveAudio</a></li>
- <li><a href="http://www.atorecords.com/">ATO Records</a> (<a href="http://stores.musictoday.com/store/dept.asp?dept_id=2654&amp;band_id=154">Store</a>)</li>
- <li><a href="http://www.bleep.com/">Bleep.com</a></li>
- <li><a href="http://www.burningshed.com/">Burning Shed</a></li>
- <li><a href="http://digitalsoundboard.net/">DigitalSoundboard.net</a></li>
- <li><a href="http://www.digital-tunes.net/">digital-tunes</a></li>
- <li><a href="http://www.disclogic.com/">DiscLogic</a></li>
- <li><a href="http://www.experimedia.net/">Experimedia</a></li>
- <li><a href="http://fastatmosphere.com/">Fast Atmosphere</a></li>
- <li><a href="http://festivalink.net/">FestivaLink.net</a></li>
- <li><a href="http://www.frettunes.com/">FretTunes</a></li>
- <li><a href="http://www.linnrecords.com/">Linn Records</a></li>
- <li><a href="http://magnatune.com/">Magnatune</a></li>
- <li><a href="http://www.mindawn.com/">Mindawn</a></li>
- <li><a href="http://morganleahrecords.com/">morgan leah records</a></li>
- <li><a href="http://musicishere.com/">Music is Here!</a></li>
- <li><a href="http://stores.musictoday.com/">Musictoday</a></li>
- <li><a href="http://www.thephiladelphiaorchestra.com/">The Philadelphia Orchestra</a></li>
- <li><a href="http://www.psymbolic.com/shop/music">Psymbolic</a></li>
- <li><a href="http://www.globalsound.si.edu/">Smithsonian Global Sound</a></li>
- <li><a href="http://www.opsound.org/">Opsound</a></li>
- <li><a href="http://www.zunior.com/">Zunior.com</a></li>
- </ul>
- <b>Venues:</b>
- <ul>
- <li>The <a href="http://www.livebonnaroo.com/catalog.html">Bonnaroo Music Festival</a></li>
- </ul>
- <b>Communities:</b>
- <ul>
- <li><a href="http://www.archive.org/">archive.org</a>, the Internet Archive:
- <ul>
- <li><a href="http://www.archive.org/audio/etree.php">Live Music Archive</a></li>
- <li><a href="http://www.archive.org/audio/netlabels.php">Net Labels</a></li>
- <li><a href="http://www.archive.org/audio/collection.php?collection=opensource_audio">Open Source Audio</a></li>
- </ul>
- </li>
- <li><a href="http://www.dimeadozen.org/">dimeadozen.org</a></li>
- <li><a href="http://www.dxdt.org/archive/">dxdt.org</a></li>
- <li><a href="http://wiki.etree.org/">etree.org</a></li>
- <li>The <a href="http://www.furthurnet.org/">Furthur Network</a></li>
- <li><a href="http://nugs.net/">nugs.net</a>: live music downloads</li>
- <li><a href="http://splicemusic.com/">Splice.net</a></li>
- </ul>
- </div>
- <div class="box_footer"></div>
-</div>
-
-<br />
-
-<div class="box">
- <div class="box_title">
- <a name="software">software</a>
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- A large and growing list of software supports the FLAC format. This list is a sample of <a href="http://www.opensource.org/docs/definition.php">open-source software</a> supporting FLAC. Some of the most popular non-free software can be found on the download page in the <a href="download.html#extras">extras section</a>.<br />
- <br />
- <b>Audio encoders/decoders/converters/taggers:</b>
- <ul>
- <li><a href="http://www.bonkenc.org/">BonkEnc</a>: Windows CD ripper, audio encoder and converter</li>
- <li><a href="http://easytag.sourceforge.net/">EasyTAG</a> versatile tagger</li>
- <li><a href="http://entagged.sourceforge.net/">Entagged</a>, a Java audio file tagger</li>
- <li><a href="http://etree-scripts.sourceforge.net/">etree-scripts</a>: command-line tools for verifying, tagging, converting, and burning lossless audio files</li>
- <li><a href="http://members.home.nl/w.speek/flac.htm">FLAC frontend</a> (Windows GUI)</li>
- <li><a href="http://www.linux1.ca/">Flac-Jacket</a>: a set of scripts for creating FLAC files and an HTML index</li>
- <li><a href="http://www.gently.org.uk/flactag/">FLACTAG</a>: tags single album FLAC files with embedded CUE sheets using data from the MusicBrainz service</li>
-<!--
- <li><a href="http://lufs.sourceforge.net/lufs/">LUFS</a>: a virtual file system that, via <a href="@@@">this plugin</a> can make FLAC files look like WAVE files and thus be used by any app that supports WAVE</li>
--->
- <li><!-- <a href="http://www.danrules.com/macflac/"><a href="http://www.versiontracker.com/dyn/moreinfo/macosx/15883"> --><a href="http://mac.softpedia.com/get/Audio/MacFLAC.shtml">MacFLAC</a> Mac OS X FLAC distribution</li>
- <li><a href="http://mediacoder.sourceforge.net/">MediaCoder</a> converts between many audio and video formats.</li>
- <li><a href="http://mp3fs.sourceforge.net/">MP3FS</a>, a read-only FUSE filesystem which can transcode FLAC to MP3 on the fly</li>
- <li><a href="http://rawrec.sourceforge.net/">rawrec/rawplay</a> recording/playback tools</li>
- <li><a href="http://www.cyclooctane.com/sonice/">sonice</a> FLAC to Vorbis transcoder</li>
- <li><a href="http://www.lameb.fsnet.co.uk/">Split_wav</a> WAV+CUE splitter</li>
- <li><a href="http://www.saunalahti.fi/~cse/html/tag.html">Tag</a> comprehensive tagger (<a href="http://home.wanadoo.nl/~w.speek/tag.htm">frontend</a> available)</li>
- <li><a href="http://tmkk.hp.infoseek.co.jp/xld/index_e.html">XLD</a> (X Lossless Decoder), a Universal Binary command-line decoder for Mac OS X</li>
- </ul>
- <b>Audio editors:</b>
- <ul>
- <!-- case's page disappeared, use temporary links
- <li><a href="http://www.saunalahti.fi/~cse/files/cool_flac.zip">Cooledit FLAC filter</a> (source code <a href="http://www.saunalahti.fi/~cse/files/cool_flac_src.zip">here</a>)</li>
- -->
- <li><a href="http://www.hydrogenaudio.org/index.php?showtopic=20145">Cooledit FLAC filter</a></li>
- <li><a href="http://www.etree.org/shnutils/shntool/">shntool</a></li>
- </ul>
- <b>Audio players/servers:</b>
- <ul>
- <li><a href="http://www.hispalinux.es/~data/abcde.php">abcde</a> (A Better CD Encoder)</li>
- <li><a href="http://alsaplayer.org/">AlsaPlayer</a></li>
- <li><a href="http://aqualung.sourceforge.net/">Aqualung</a>, a Linux player</li>
- <li><a href="http://bossogg.sourceforge.net/">Boss Ogg</a>: Audio client/server</li>
- <li><a href="http://freshmeat.net/projects/cynthiune/">Cynthiune</a>: a music player for Mac OS X and GNUstep</li>
- <li><a href="http://flac-tools.sourceforge.net/">flac-tools</a>: includes flac123 player</li>
- <li><a href="http://www.giantdisc.org/">GiantDisc</a>: Linux jukebox + Palm remote</li>
- <li><a href="http://jreceiver.sourceforge.net/">JReceiver</a> servlet-based audio server</li>
- <li><a href="http://mcplugins.sourceforge.net/">Media Center FLAC plugins</a></li>
- <li><a href="http://musicpd.sourceforge.net/">MPD</a>, Music Player Daemon</li>
- <li><a href="http://www.mplayerhq.hu/">MPlayer</a></li>
- <li><a href="http://www.freewebtown.com/mpxplay/">Mpxplay</a>, a DOS player</li>
- <li><a href="http://muine.gooeylinux.org/">Muine</a>: a music player for GNOME</li>
- <li><a href="http://musik.berlios.de/">Musik</a>: an open-source, cross-platform multimedia player and library</li>
- <li><a href="http://www.mythtv.org/">MythTV</a>: Linux PVR and more</li>
- <li><a href="http://ripperx.sourceforge.net/">ripperX</a>: X-based ripper/encoder</li>
- <li><a href="http://www.lammerts.org/software/soepkiptng/">Soepkip TNG</a> music playing daemon + web interface</li>
- <li><a href="http://www.thomer.com/musicvault/">Thomer's Music Vault</a>: a Linux music server</li>
- <li><a href="http://www.videolan.org/">VideoLAN</a> client</li>
- <li><a href="http://xine.sourceforge.net/">Xine</a> multimedia player</li>
- <li><a href="http://www.amb.org/xmcd/">xmcd</a>: X CD player</li>
- <li><a href="http://www.xmms.org/">XMMS</a>: X MultiMedia System</li>
- </ul>
- <b>CD ripping/burning:</b>
- <ul>
- <li><a href="http://arson.sourceforge.net/">Arson</a>: KDE ripper/burner</li>
- <li><a href="http://www.legroom.net/modules.php?op=modload&amp;name=Open_Source&amp;file=index&amp;page=software&amp;app=autoflac">AutoFLAC</a>: automated ripping and encoding to FLAC with EAC (ExactAudioCopy); also has a write mode for burning back to CD for an exact copy</li>
- <li><a href="http://cdexos.sourceforge.net/">CDex</a>: ripper for Windows can rip to FLAC via external command</li>
- <li><a href="http://bach.dynet.com/crip/index.html">crip</a>: console ripper/encoder/tagger</li>
- <li><a href="http://www.uninformative.com/flacattack/">Flacattack</a>: an all-in-one tool that works with EAC (ExactAudioCopy) to encode a CD image to FLAC, embed the cuesheet, add ReplayGain, create lossy files, etc. all in a customizable directory structure</li>
- <li><a href="http://nostatic.org/grip/">grip</a>: ripper for Linux can rip to FLAC via external command</li>
- <li><a href="http://www.k3b.org/">K3B</a>: CD/DVD creator for Linux</li>
- <li><a href="http://mareo.netfirms.com/">MAREO</a> multi-format encoder for EAC</li>
- <li><a href="http://sbooth.org/Max/">Max</a>, a CD ripper and encoder for OS X</li>
- <li><a href="http://omniencoder.autobotcity.net/">Omni Encoder</a>, a graphical multi-format encoder for EAC</li>
- <li><a href="http://rip.sourceforge.net/">rip</a> command-line ripper/encoder</li>
- <li><a href="http://www.suwald.com/ripit/ripit.html">RipIT</a>, a console-based front-end to several ripping and encoding tools</li>
- <li><a href="http://www.uninformative.com/wack/">Wack</a>, the successor to <a href="http://www.uninformative.com/flacattack/">Flacattack</a> which can encode to multiple formats at once</li>
- </ul>
- <b>Organizers:</b>
- <ul>
- <li><a href="http://www.ampache.org/">Ampache</a>, a PHP-based tool for managing, updating and playing files via a web interface</li>
- <li><a href="http://www.blinkenlights.ch/cgi-bin/fm.pl?get=ipod">GNUpod</a> includes on-the-fly FLAC conversion to iPod</li>
- <li><a href="http://mac.sourceforge.net/">MPEG Audio Collection</a></li>
- <li><a href="http://prokyon3.sourceforge.net/">prokyon3</a>, a Qt-based music manager and tag editor</li>
- <li><a href="http://www.rhythmbox.org/">Rhythmbox</a>, music management application for GNOME</li>
- </ul>
- <b>Plugins, developer tools and libraries:</b>
- <ul>
- <li><a href="http://audiere.sourceforge.net/">audiere</a>, a high-level audio API</li>
- <li><a href="http://search.cpan.org/~daniel/Audio-FLAC-0.8/FLAC.pm">Audio::FLAC</a> perl module</li>
- <li><a href="http://search.cpan.org/author/DANIEL/Audio-FLAC-Decoder-0.2/Decoder.pm">Audio::FLAC::Decoder</a> perl module</li>
- <li><a href="http://corecodec.org/projects/coreflac">CoreFLAC</a>: FLAC DirectShow filters</li>
- <li><a href="http://www.illiminable.com/ogg/">DirectShow filters</a> for encoding to/decoding from FLAC and Ogg FLAC (as well as Ogg Vorbis/Speex/Theora).</li>
- <li><a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=41476&amp;st=75&amp;p=368174&amp;#entry368174">FLACDotNet</a>, a .NET wrapper around libFLAC</li>
- <li><a href="http://getid3.sourceforge.net/">getID3()</a>: a PHP4 script for extracting metadata</li>
- <li><a href="http://www.gstreamer.net/">GStreamer</a> streaming media framework</li>
- <li><a href="http://jflac.sourceforge.net/">jFLAC</a>: Java native FLAC decoder</li>
- <li><a href="http://www.j-ogg.de/">J-Ogg</a> Java libraries for Ogg decoding</li>
- <li><a href="http://mediaxw.sourceforge.net/">MediaXW</a> includes FLAC DirectShow filter</li>
- <li><a href="http://math.berkeley.edu/~roconnor/MMIOMP3/">MMIOFLAC</a>, Multimedia IOProc for OS/2</li>
- <li><a href="http://ptarmigan.sourceforge.net/">Ptarmigan</a> media parser for XML</li>
- <li><a href="http://www.icculus.org/SDL_sound/">SDL_sound</a> audio add-on to SDL</li>
- <li><a href="http://wmptagext.sourceforge.net/">WMP Tag Support Extender</a> plugs in to Windows Media Player to allow access to FLAC tags</li>
- <li><a href="http://www.xiph.org/quicktime/">XiphQT</a> component for Quicktime/iTunes that supports Ogg FLAC playback</li>
- </ul>
- <b>Scientific, Audio Analysis:</b>
- <ul>
- <!-- not open source yet...
- <li><a href="http://www.baudline.com/">Baudline</a> signal analyzer</li>
- -->
- <li><a href="http://hasas.sourceforge.net/">HASAS</a> HydroAcoustical Signal Analysis System</li>
- </ul>
- <!-- no official FLAC support yet...
- <li><a href="http://audacity.sourceforge.net/">Audacity</a> Cross-Platform Audio Editor</li>
- <li><a href="http://swami.sourceforge.net/">Swami</a>: Sound font editor</li>
- <li><a href="http://www.rm-r.net/~meff/otto2/">otto2</a></li>
- <li><a href="http://cdwave.com/">CD Wave</a></li>
- -->
- </div>
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/news.html b/3rdparty/libflac/doc/html/news.html
deleted file mode 100644
index 0d84c3289a1..00000000000
--- a/3rdparty/libflac/doc/html/news.html
+++ /dev/null
@@ -1,697 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - news</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;news&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/news.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- news
- </div>
- <div class="box_header"></div>
- <div class="box_body">
-
- <a name="20070917">17-Sep-2007:</a>
- <ul>
- <li>
- <b>FLAC 1.2.1 released</b>&nbsp;&nbsp;New in this release is support for all RIFF/AIFF metadata, including <a href="http://en.wikipedia.org/wiki/BWF">Broadcast Wave Format (BWF)</a>. There are many other small improvements and bug fixes; see the <a href="changelog.html#flac_1_2_1">changelog entry</a> for complete details.
- </li>
- </ul>
-
- <a name="20070816">16-Aug-2007:</a>
- <ul>
- <li>
- <a href="http://sony-696.vo.llnwd.net/dspcdn/releasenotes/soundforge90b_readme.htm">Sound Forge 9.0b supports FLAC</a>, for both reading and writing.<br />
- </li>
- </ul>
-
- <a name="20070803">03-Aug-2007:</a>
- <ul>
- <li>
- Czech Radio has released <a href="http://www.rozhlas.cz/d-dur/download_eng">complete recordings of Bach's Brandenburg concertos in FLAC format</a>, free to download.
- </li>
- </ul>
-
- <a name="20070723">23-Jul-2007:</a>
- <ul>
- <li>
- <b>FLAC 1.2.0 released</b>&nbsp;&nbsp;New in this release are small speed improvements, and some new options and bug fixes. Also the decoder has been updated to pave the way for some format improvements, so if your software supports FLAC be sure to check it out. See the <a href="changelog.html#flac_1_2_0">changelog entry</a> for complete details.
- </li>
- </ul>
-
- <a name="20070213">13-Feb-2007:</a>
- <ul>
- <li>
- <b>FLAC 1.1.4 released</b>&nbsp;&nbsp;Increased compression and dramatic speedups for both encoding and decoding are the big improvements in FLAC 1.1.4. There are also several new options and bugfixes. See the <a href="changelog.html#flac_1_1_4">changelog entry</a> for complete details.
- </li>
- </ul>
-
- <a name="20061127">27-Nov-2006:</a>
- <ul>
- <li>
- <b>FLAC 1.1.3 released</b>&nbsp;&nbsp;Almost 2 years in the making, FLAC 1.1.3 is a <a href="faq.html#api__release_versioning">major release</a> with improved compression, improved cover art and multichannel support, better recovery for corrupted files, many new features and options in the command-line tools, and several bug fixes. For developers, the decoder and encoder APIs have also been simplified and there is a new <a href="api/group__porting.html">porting guide</a>. See the <a href="changelog.html#flac_1_1_3">changelog entry</a> for complete details.
- </li>
- </ul>
-
- <a name="20061025">25-Oct-2006:</a>
- <ul>
- <li>
- <b>Winamp 5.31 ships with FLAC support</b><br />
- <br />
- <a href="http://winamp.com/player/">Winamp 5.31</a> now includes Nullsoft FLAC plugins for encoding and decoding. The decoder is based on our reference decoder plugin. However the current encoder plugin is based on a pre-release of <a href="http://flake-enc.sourceforge.net/">flake</a> and we <a href="http://www.hydrogenaudio.org/forums/index.php?s=&amp;showtopic=45013&amp;view=findpost&amp;p=443961">recommend to not use it for archival</a> yet.
- </li>
- </ul>
-
- <a name="20051220">20-Dec-2005:</a>
- <ul>
- <li>
- <b>Volvo's Digital Jukebox plays FLAC</b><br />
- <br />
- Want some FLAC with your Volvo? Volvo's <a href="http://www.volvocars.com/DigitalJukebox/product_information/">Digital Jukebox</a>, developed with <a href="http://www.phatnoise.com/">PhatNoise</a>, is fully integrated with the car's audio system and available for the S60, V70, XC70, and S80. PhatNoise's PhatBox in 2002 was the <a href="#20020213">first device</a> to support FLAC natively and has gained a loyal following. The Digital Jukebox and PhatBox also support Ogg Vorbis.
- </li>
- </ul>
-
- <a name="20050921">21-Sep-2005:</a>
- <ul>
- <li>
- <b>Live2496 now records directly to FLAC</b><br />
- <br />
- <a href="http://www.gidluckmastering.com/live2496.html">Live2496</a>, a program that can record 24-bit audio up to 96kHz on a Pocket PC (using <a href="http://www.core-sound.com/">Core Sound's PDAudio interface</a>) now supports recording directly to FLAC.
- </li>
- </ul>
-
- <a name="20050810">10-Aug-2005:</a>
- <ul>
- <li>
- <b>Olive's new Symphony component supports FLAC</b><br />
- <br />
- The new <a href="http://www.olive.us/">Symphony</a> wireless digital music center by Olive <a href="http://www.theregister.com/2005/07/29/olive_symphony/">supports FLAC</a>.
- </li>
- </ul>
-
- <a name="20050511">11-May-2005:</a>
- <ul>
- <li>
- <b>YME supports FLAC and Vorbis</b><br />
- <br />
- <a href="http://music.yahoo.com/musicengine/">Yahoo! Music Engine</a> supports FLAC and Ogg Vorbis, for playback and ripping/encoding.
- </li>
- </ul>
-
- <a name="20050510">10-May-2005:</a>
- <ul>
- <li>
- <b>PONTIS' MS330 supports FLAC and Vorbis</b><br />
- <br />
- The new <a href="http://www.pontis.de/site_e/produkte/ms_330_e.htm">MS330 Media Server</a> from <a href="http://www.pontis.de/">PONTIS</a> supports FLAC and Ogg Vorbis. In addition to playing from the internal hard disk, CD drive, and 6-in-1 flash card slot, it can also be connected to a network, and even a TV for graphical navigation, cover art, photo viewing, etc.
- </li>
- </ul>
-
- <a name="20050502">02-May-2005:</a>
- <ul>
- <li>
- <b>Sonos now supports FLAC and Vorbis</b><br />
- <br />
- The <a href="http://www.sonos.com/">Sonos Digital Music System</a> now <a href="http://www.sonos.com/news_and_reviews/press_releases/2005/pr_042605_rhap.htm">supports FLAC and Ogg Vorbis</a>.
- </li>
- </ul>
-
- <a name="20050423">23-Apr-2005:</a>
- <ul>
- <li>
- <b>iAUDIO X5 portable supports FLAC and Vorbis</b><br />
- <br />
- The new portable <a href="http://www.cowonamerica.com/products/iaudio/x5/">iAUDIO X5</a> from COWON supports FLAC and Ogg Vorbis.
- </li>
- </ul>
-
- <a name="20050309">09-Mar-2005:</a>
- <ul>
- <li>
- <b>Squeezebox2 supports FLAC on the box</b><br />
- <br />
- Slim Devices' new <a href="http://www.slimdevices.com/">Squeezebox2</a> supports FLAC decoding on the box, reducing the amount of precious wireless bandwidth required for FLAC playback.
- </li>
- </ul>
-
- <a name="20050205">05-Feb-2005:</a>
- <ul>
- <li>
- <b>FLAC 1.1.2 released</b>&nbsp;&nbsp;New in this release are small decoding speedups for all platforms, small encoding speedups in fast (non-LPC) mode, streaming support in the XMMS plugin, and several bug fixes. For developers there are also a few additions and changes to the metadata API to make working with tags easier. See the <a href="changelog.html#flac_1_1_2">changelog entry</a> for complete details. This release actually wasn't supposed to happen so soon, but needed to be made to fix library naming and build problems in FLAC 1.1.1 that caused trouble for package maintainers, so unless you are having trouble with one of the particular bugs that got fixed in 1.1.2 then there is not much of a need to upgrade.
- </li>
- </ul>
-
- <a name="20050117">17-Jan-2005:</a>
- <ul>
- <li>
- <b>Several new devices support FLAC</b><br />
- <br />
- Another handful of devices that support FLAC are out or announced: <!--the a href="http://www.planetminidisc.com/chroma-20gb.html"@Rio Chroma@/A, -->the <a href="http://www.zensonic.com/press_z500.php">Zensonic Z500 Networked DVD Media Player</a>, Escient's <a href="http://www.escient.com/releases/escient_jan0605_2.html">new FireBall E2-40, E2-160, and DVDM-300</a>, the <a href="http://www.digitaltechniques.com/M300A_Overview.html">M300A Digital Music Player</a> from Digital Techniques (see <a href="http://www.digitaltechniques.com/QuickStart.html">manual</a>), Meda Systems' <a href="http://www.medainc.com/">Bravo servers</a> (<a href="http://www.stereophile.com/news/092704medasystems/">more info</a>), and the <a href="http://www.cesweb.org/attendees/show_floor/product_locator/product_details.asp?prodid=5181">MS300 Music Server</a> by McIntosh Laboratory.
- </li>
- </ul>
-
- <a name="20041112">12-Nov-2004:</a>
- <ul>
- <li>
- <b>Escient's new FireBall E2-300 supports FLAC</b><br />
- <br />
- <a href="http://www.escient.com/">Escient</a> has a new home stereo component that supports FLAC, the <a href="http://www.escient.com/fireballe2300.html">FireBall E2-300</a>.
- </li>
- </ul>
-
- <a name="20041102">02-Nov-2004:</a>
- <ul>
- <li>
- <b>New Mindawn music store offers FLAC and Vorbis</b><br />
- <br />
- <a href="http://www.mindawn.com/">Mindawn</a>, a new online music service offering FLAC and Ogg Vorbis, is now open. They also have a multi-platform (Windows, Linux, Mac OS X) CD ripper/encoder and are finishing up a multi-platform player.
- </li>
- </ul>
-
- <a name="20041001">01-Oct-2004:</a>
- <ul>
- <li>
- <b>FLAC 1.1.1 released</b>&nbsp;&nbsp;There is a new <a href="changelog.html#flac_1_1_1">changelog</a> with a complete list of changes/fixes/improvements, but here is a summary of some of the main ones:
- <ul>
- <li>Better Ogg FLAC support including seeking and an official <a href="ogg_mapping.html">Ogg FLAC mapping</a>.</li>
- <li>Significant decoding speedup (almost 2x) on PowerPC (includes Macs with G4/G5).</li>
- <li>Speedups in the plugins.</li>
- <li>Several new options to <span class="commandname">flac</span> and <span class="commandname">metaflac</span> by popular demand.</li>
- <li>Several API additions requested by developers.</li>
- <li>Many bugfixes.</li>
- </ul>
- </li>
- </ul>
-
- <a name="20040727">27-Jul-2004:</a>
- <ul>
- <li>
- <b>The Furthur Network now supports FLAC</b><br />
- <br />
- The <a href="http://www.furthurnet.org/">Furthur Network</a>, a legal-live music sharing P2P network, <a href="http://www.furthurnet.org/presspit/">now supports FLAC</a>.
- </li>
- </ul>
-
- <a name="20040621">21-Jun-2004:</a>
- <ul>
- <li>
- <b>Bonnaroo soundboard recordings available in FLAC</b><br />
- <br />
- <a href="http://www.livebonnaroo.com/catalog.html">Several sets</a> from the Bonnaroo Music Festival are available in FLAC, including <a href="http://stores.musictoday.com/store/product.asp?dept%5Fid=3045&amp;pf%5Fid=FEDD17&amp;band%5Fid=741&amp;sfid=2">Dave Matthews &amp; Friends</a> and <a href="http://stores.musictoday.com/store/product.asp?dept%5Fid=3045&amp;pf%5Fid=FEDD67&amp;band%5Fid=741&amp;sfid=2">String Cheese Incident</a>, with more to follow as the soundboard recordings are approved by the bands.
- </li>
- </ul>
-
- <a name="20040303">03-Mar-2004:</a>
- <ul>
- <li>
- <b>Metallica offers live shows in FLAC</b><br />
- <br />
- Metallica is offering <a href="http://www.livemetallica.com/">soundboard recordings of live shows in FLAC format</a>.
- </li>
- </ul>
-
- <a name="20040203">03-Feb-2004:</a>
- <ul>
- <li>
- <b>Charlie Hunter makes select albums available in FLAC</b><br />
- <br />
- <a href="http://www.charliehunter.com/">Charlie Hunter</a> is making select albums <a href="http://www.charliehunter.com/news/main.htm#Solo8">available for download in FLAC</a> and MP3 formats.
- </li>
- </ul>
-
- <a name="20031119">19-Nov-2003:</a>
- <ul>
- <li>
- <b>PhatNoise's new Home Digital Media Player supports FLAC</b><br />
- <br />
- <a href="http://www.phatnoise.com/">PhatNoise</a> (makers of the <a href="http://www.phatnoise.com/products/digitalmediaplayers/index.php">PhatBox</a>, which also plays FLAC) just released their <a href="http://www.phatnoise.com/products/homeplayer/index.php">Home Digital Media Player</a>. It includes a DMS cartridge slot so you can pop out your FLAC tunes and pop 'em in your car.
- </li>
- </ul>
-
- <a name="20031118">18-Nov-2003:</a>
- <ul>
- <li>
- <b>Slim's new 'Squeezebox' supports FLAC</b><br />
- <br />
- Slim Devices' new <a href="http://www.slimdevices.com/index.html">Squeezebox</a>, the wireless follow-on to the SliMP3 networked audio player, is available and supports FLAC and Ogg Vorbis.
- </li>
- </ul>
-
- <a name="20031111">11-Nov-2003:</a>
- <ul>
- <li>
- <b>Primus offers live shows in FLAC</b><br />
- <br />
- <a href="http://www.primussucks.com/">Primus</a> is offering soundboard recordings from 2003 Tour de Fromage in FLAC and MP3 on <a href="http://www.primuslive.com/">primuslive.com</a>. More info <a href="http://blogcritics.org/archives/2003/10/23/135952.php">here</a> and <a href="http://www.billboard.com/bb/daily/article_display.jsp?vnu_content_id=2005669">here</a>.
- </li>
- </ul>
-
- <a name="20031013">13-Oct-2003:</a>
- <ul>
- <li>
- <b>Magnatune catalog available in FLAC</b><br />
- <br />
- Independent record label <a href="http://magnatune.com/">Magnatune</a> is now <a href="http://forums.magnatune.com/read/messages?id=559079">offering their catalog in FLAC and Vorbis</a> in addition to MP3.
- </li>
- </ul>
-
- <a name="20030811">11-Aug-2003:</a>
- <ul>
- <li>
- <b>New Rio Karma supports FLAC</b><br />
- <br />
- Rio has announced a new portable, the <a href="http://www.digitalnetworksna.com/shop/_templates/item_main_Rio.asp?model=220&amp;cat=53">Rio Karma</a>, which supports FLAC and Ogg Vorbis.
- </li>
- </ul>
-
- <a name="20030623">23-Jun-2003:</a>
- <ul>
- <li>
- <b>livephish.com offers FLAC shows</b><br />
- <br />
- <a href="http://www.livephish.com/">livephish.com</a> is now offering soundboard recordings of live shows in FLAC format in addition to MP3.
- </li>
- </ul>
-
- <a name="20030209">09-Feb-2003:</a>
- <ul>
- <li>
- <b>ReQuest adds FLAC support</b><br />
- <br />
- <a href="http://www.request.com/us/">ReQuest Multimedia's</a> AudioReQuest music servers <a href="http://www.request.com/us/whatsnew.html">now support FLAC</a>.
- </li>
- </ul>
-
- <a name="20030129">29-Jan-2003:</a>
- <ul>
- <li>
- <b>FLAC has joined the Xiph project</b>&nbsp;&nbsp;See <a href="http://xiph.org/ogg/flac.html">here</a> for the press release.<br />
- <br />
- <a href="http://xiph.org/">Xiph.org</a> is behind other free codecs such as <a href="http://www.vorbis.com/">Vorbis</a>, <a href="http://www.theora.org/">Theora</a>, and <a href="http://www.speex.org/">Speex</a>. Our merger with Xiph will bring FLAC into the ranks and lead to better integration with the <a href="http://www.xiph.org/ogg/">Ogg multimedia framework</a>.<br />
- <br />
- Note that the FLAC format is not changing, native FLAC will continue to exist, and the command-line tools and plugins will continue to work as before. The codec libraries will now be available under Xiph's BSD-like license.<br />
- <br />
- Over the next few days we will be transitioning normal operations off SourceForge and over to Xiph.org; first will be CVS and the web pages, followed by the mailing lists, bug tracker, and file release area. We will keep a mirror here until the transition is complete. It's OK to send patches to the flac-dev list but they won't be able to be integrated until CVS is fully moved over.
- </li>
- </ul>
-
- <a name="20030126">26-Jan-2003:</a>
- <ul>
- <li>
- <b>FLAC 1.1.0 released</b>&nbsp;&nbsp;I didn't get everything in that I wanted, but it's high time for a release.<br />
- <br />
- Note that the minor version has incremented, meaning forward compatibility was broken (forward compatibility means an earlier decoder can play all streams made by a later decoder). This is only because of a bug in 1.0.4 and prior where the decoder could not properly skip unknown metadata. The stream format itself has not changed and FLAC is still fully backward-compatible. All it means is that a FLAC file containing cue sheet metadata will not decode in older decoders. This bug is fixed in 1.1.0.<br />
- <br />
- Here's what's new:<br />
- <br />
- General:
- <ul>
- <li>All code is now <a href="http://valgrind.kde.org/">Valgrind</a>-clean!</li>
- <li>New <a href="format.html#def_CUESHEET">CUESHEET</a> metadata block for storing CD TOC and index point information. Now a CD can be completely backed up to a single FLAC file for archival.</li>
- <li><a href="http://www.replaygain.org/">ReplayGain</a> support.</li>
- <li>Better compression of 24-bit files.</li>
- <li>More complete AIFF support.</li>
- <li>3DNow! optimizations enabled by default.</li>
- <li>Complete MSVC build system with .dsp projects for everything, which can build both static libs and DLLs, and in debug or release mode, all in the same source tree.</li>
- </ul>
- <span class="commandname">flac</span>:
- <ul>
- <li>Can now decode FLAC to AIFF; new <span class="argument">--force-aiff-format</span> option.</li>
- <li>New <span class="argument">--cuesheet</span> option for reading and storing a cuesheet when encoding a whole CD. Automatically creates seek points for track and index points unless <span class="argument">--no-cued-seekpoints</span> is used.</li>
- <li>New <span class="argument">--replay-gain</span> option for calculating ReplayGain values and storing them as tags.</li>
- <li>New <span class="argument">--until</span> option complements <span class="argument">--skip</span> to stop decoding at a specified point in the stream.</li>
- <li><span class="argument">--skip</span> and <span class="argument">--until</span> now also accept mm:ss.ss format.</li>
- <li>New <span class="argument">-S #s</span> flavor to specify seekpoints every '#' number of seconds.</li>
- <li><span class="commandname">flac</span> now defaults to <span class="argument">-S 10s</span> instead of <span class="argument">-S 100x</span> for the seek table.</li>
- <li><span class="commandname">flac</span> now adds a 4k PADDING block by default (turn off with <span class="argument">--no-padding</span>).</li>
- <li>Fixed a bug with --skip and AIFF-to-FLAC encoding.</li>
- <li>Fixed a bug where decoding a FLAC file whose total_samples==0 in the STREAMINFO would corrupt the WAVE header.</li>
- </ul>
- <span class="commandname">metaflac</span>:
- <ul>
- <li>New <span class="argument">--import-cuesheet-from</span> option for reading and storing a cuesheet to a FLAC-encoded CD. Automatically creates seek points for track and index points unless <span class="argument">--no-cued-seekpoints</span> is used.</li>
- <li>New <span class="argument">--export-cuesheet-to</span> option for writing a cuesheet from a FLAC file for use with CD authoring software.</li>
- <li>New <span class="argument">--add-replay-gain</span> option for calculating ReplayGain values and storing them as tags.</li>
- <li>New <span class="argument">--add-seekpoint</span> option to add seekpoints to an existing FLAC file. Includes new <span class="argument">--add-seekpoint=#s</span> flavor to add seekpoints every '#' number of seconds.</li>
- </ul>
- XMMS plugin:
- <ul>
- <li>Configurable sample resolution conversion with dither.</li>
- <li>ReplayGain support with customizable noise shaping, pre-amp, and optional hard limiter.</li>
- <li>New Vorbis comment editor.</li>
- <li>File info now works.</li>
- <li>Bitrate now shows the smoothed instantaneous bitrate.</li>
- <li>Uses the ARTIST tag if there is no PERFORMER tag.</li>
- </ul>
- Winamp2 plugin:
- <ul>
- <li>Configurable sample resolution conversion with dither.</li>
- <li>ReplayGain support with customizable noise shaping, pre-amp, and optional hard limiter.</li>
- <li>File info now works.</li>
- <li>Uses the ARTIST tag if there is no PERFORMER tag.</li>
- </ul>
- Libraries (developers take note!):
- <ul>
- <li>All code and tests are instrumented for Valgrind. All tests run Valgrind-clean, meaning no memory leaks or buffer over/under-runs.</li>
- <li>Separate 64-bit datapath through the filter in <span class="commandname">libFLAC</span> for better compression of &gt;16 bps files.</li>
- <li><span class="code">FLAC__metadata_object_new(FLAC__METADATA_TYPE_VORBIS_COMMENT)</span> now sets the vendor string.</li>
- <li>The documentation on the usage of <span class="code">FLAC::Iterator::get_block()</span> in <span class="commandname">libFLAC++</span> has an important correction. If you use this class make sure to read <a href="api/group__flacpp__metadata__level2.html">this</a>.</li>
- </ul>
- </li>
- </ul>
-
- <a name="20020924">24-Sep-2002:</a>
- <ul>
- <li>
- <b>FLAC 1.0.4 released</b>&nbsp;&nbsp;There are a lot of improvements since 1.0.3; let's get right to it:<br />
- <br />
- Plugins:
- <ul>
- <li>Support for Vorbis comments, ID3 v1 and v2 tags.</li>
- <li>Configurable title formatting and charset conversion in XMMS plugin.</li>
- <li>Support for 8- and 24-bit FLAC files. There is a compile-time option for raw 24-bit output or 24bps-to-16bps linear dithering (the default).</li>
- </ul>
- <span class="commandname">flac</span>:
- <ul>
- <li>Improved option parser (now uses getopt).</li>
- <li>AIFF input support (thanks to Brady Patterson).</li>
- <li>Small decoder speedup.</li>
- <li><span class="argument">--sector-align</span> now supported for raw input files.</li>
- <li>New -T, --tag options for adding Vorbis comments while encoding.</li>
- <li>New --serial-number option for use with --ogg.</li>
- <li>Automatically writes vendor string in Vorbis comments.</li>
- <li>Drastically reduced memory requirements.</li>
- <li>Fixed bug where extra fmt/data chunks that were supposed to be skipped were not getting skipped.</li>
- <li>Fixed bug in granulepos setting for Ogg FLAC streams.</li>
- <li>Fixed memory leak when encoding multiple files with -V.</li>
- </ul>
- <span class="commandname">metaflac</span>:
- <ul>
- <li>UTF-8 support in Vorbis comments.</li>
- <li>New --import-vc-from and --export-vc-to commands for importing/exporting Vorbis comments from/to a file. For example, the following can be used to copy tags back and forth:<br />
- <span class="code">
- metaflac --export-vc-to=- --no-utf8-convert file.flac | vorbiscomment --raw -w file.ogg<br />
- vorbiscomment --raw -l file.ogg | metaflac --import-vc-from=- --no-utf8-convert file.flac<br />
- </span>
- </li>
- <li>Fixed <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=606796&amp;group_id=13478&amp;atid=113478">bug #606796</a> where <span class="commandname">metaflac</span> was failing on read-only files.</li>
- </ul>
- Libraries:
- <ul>
- <li>All APIs now meticulously documented via Doxygen. <a href="api/index.html">See here</a>.</li>
- <li>New <span class="commandname">libOggFLAC</span> and <span class="commandname">libOggFLAC++</span> libraries. These wrap around <span class="commandname">libFLAC</span> to provide encoding and decoding of Ogg FLAC streams, providing interfaces similar to the ones of the native FLAC libraries. These are also documented via Doxygen.</li>
- <li>New FLAC__SeekableStreamEncoder and FLAC__FileEncoder in <span class="commandname">libFLAC</span> simplify common encoding tasks.</li>
- <li>New verify mode in all encoders.</li>
- <li>FLAC__stream_encoder_finish() now resets the defaults just like the stream decoders.</li>
- <li>Drastically reduced memory requirements of encoders and decoders.</li>
- <li>Encoder now automatically writes vendor string in VORBIS_COMMENT block.</li>
- <li>Encoding speedup of fixed predictors and MD5 speedup for 16bps mono/stereo signals on x86 (thanks to Miroslav Lichvar).</li>
- <li>Fixed bug in metadata interface where a bps in STREAMINFO > 16 was incorrectly parsed.</li>
- <li>Fixed bug where aborting stream decoder could cause infinite loop.</li>
- <li>Behavior change: simplified decoder *_process() commands.</li>
- <li>Behavior change: calling FLAC__stream_encoder_init() calls write callback once for "fLaC" signature and once for each metadata block.</li>
- <li>Behavior change: deprecated do_escape_coding and rice_parameter_search_distance in encoder.</li>
- </ul>
- </li>
- </ul>
-
- <a name="20020822">22-Aug-2002:</a>
- <ul>
- <li>
- <b>Rio Receiver</b>&nbsp;&nbsp;FLAC support has been added to the Rio Receiver and Dell Digital Audio Receiver via David Flowerday's <a href="http://sourceforge.net/projects/rioplay/">RioPlay</a> client. See <a href="http://rioreceiver.comms.net/php/showflat.php?Cat=&amp;Board=Technical&amp;Number=2262&amp;page=0&amp;view=collapsed&amp;sb=5&amp;o=0&amp;fpart=">here</a> for the announcement.
- </li>
- </ul>
-
- <a name="20020703">03-Jul-2002:</a>
- <ul>
- <li>
- <b>FLAC 1.0.3 released</b>&nbsp;&nbsp;Although by version number only a 0.0.1 increment, this release is significant. Remember, micro-revisions mean the FLAC format remains both forward and backward compatible, however, the libFLAC API has changed for the better.<br />
- <br />
- New features:
- <ul>
- <li>24-bit input support restored in <span class="commandname">flac</span>.</li>
- <li>Decoder speedup in <span class="commandname">libFLAC</span>, which is directly passed on to the command-line decoder and plugins.</li>
- <li>New <span class="argument">-F</span> option to <span class="commandname">flac</span> to continue decoding in spite of errors.</li>
- <li>Correctly set granulepos in Ogg packets so seeking Ogg FLAC streams will be easier.</li>
- <li>New <a href="format.html#metadata_block_vorbis_comment">VORBIS_COMMENT</a> metadata block for tagging with Vorbis-style comments.</li>
- <li>Vastly improved <span class="commandname">metaflac</span>, now with many editing and tagging options.</li>
- <li>Partial id3v1 support in Winamp plugins.</li>
- <li>Updated Winamp 3 plugin.</li>
- <li>Note: new semantics for -P option in <span class="commandname">flac</span>.</li>
- <li>Note: removed -R option in <span class="commandname">flac</span>.</li>
- </ul>
- New library features:
- <ul>
- <li>Previously mentioned decoder speedup in <span class="commandname">libFLAC</span>.</li>
- <li>New metadata interface to <span class="commandname">libFLAC</span> for manipulating metadata in FLAC files.</li>
- <li>New <span class="commandname">libFLAC++</span> API, an object wrapper around <span class="commandname">libFLAC</span>.</li>
- <li>New <a href="format.html#metadata_block_vorbis_comment">VORBIS_COMMENT</a> metadata block for tagging with Vorbis-style comments.</li>
- <li>Customizable metadata filtering by type in decoders.</li>
- <li>Stream encoder can take an arbitrary list of metadata blocks, instead of just one SEEKTABLE and/or PADDING block.</li>
- </ul>
- Bugs fixed:
- <ul>
- <li>Fixed bug with using pipes under Windows.</li>
- <li>Fixed several bugs in the plugins and made them more robust in general.</li>
- <li>Fixed bug in <span class="commandname">flac</span> where decoding to WAVE of a FLAC file with 0 for total_samples in the STREAMINFO block yielded a WAVE chunk of 0 size.</li>
- <li>Fixed bug in Ogg packet numbering.</li>
- </ul>
- </li>
- </ul>
-
- <a name="20020213">13-Feb-2002:</a>
- <ul>
- <li>
- <b>FLAC goes hardware!</b>&nbsp;&nbsp;<a href="http://www.phatnoise.com/">PhatNoise</a> has become the first commercial hardware platform to support FLAC. Firmware is now available for the Phatbox player to play FLAC files. See <a href="http://www.phatnoise.com/technology/encoding.php">here</a> for details.
- </li>
- </ul>
-
- <a name="20011203">03-Dec-2001:</a>
- <ul>
- <li>
- <b>FLAC 1.0.2 released</b>&nbsp;&nbsp;This release is only to fix a bug that was causing some of the plugins to crash sporadically. It can also affect <span class="commandname">libFLAC</span> users that reuse one file decoder instance for multiple files; see <a href="http://www.geocrawler.com/lists/3/SourceForge/7206/0/7231340">here</a> for more.
- </li>
- </ul>
-
- <a name="20011114">14-Nov-2001:</a>
- <ul>
- <li>
- <b>FLAC 1.0.1 released</b>&nbsp;&nbsp;The core codec is unchanged but there have been some features added and some bugs fixed:<br />
- <br />
- New features for users:
- <ul>
- <li>Support for Ogg-FLAC, i.e. <span class="commandname">flac</span> can now read and write FLAC streams using Ogg as the transport layer.</li>
- <li>New Winamp 3 plugin based on the Wasabi Beta 1 SDK.</li>
- <li>New utilities for adding FLAC support to the Monkey's Audio GUI (see <a href="documentation_tasks.html#monkey">how</a>).</li>
- <li>Mac OS X support. The download area now contains an OS X binary release.</li>
- <li>Mingw32 support.</li>
- <li>Better handling of MS-specific 'fmt' chunks in WAVE files.</li>
- </ul>
- New features for developers:
- <ul>
- <li>Added a SeekableStreamDecoder layer between StreamDecoder and FileDecoder. This makes it easier to use libFLAC in situations where files have been abstracted away. See the latest <a href="api/index.html">documentation</a> for more. The interface for the StreamDecoder and FileDecoder remain the same and are still binary-compatible with libFLAC 1.0.</li>
- <li>Drastically reduced the stack requirements of the encoder.</li>
- </ul>
- Bug fixes:
- <ul>
- <li>Fixed a serious bug with <span class="commandname">flac</span> and raw input where the encoder was trying to rewind when it shouldn't, which would add 12 junk samples to the encoded file. This was not present in WAVE encoding.</li>
- <li>Fixed a minor bug in <span class="commandname">libFLAC</span> with setting the file name to stdin on a file decoder.</li>
- <li>Fixed a minor bug in <span class="commandname">libFLAC</span> where multiple calls to setting the file name on a file decoder caused leaked memory.</li>
- <li>Fixed a minor bug in <span class="commandname">metaflac</span>, now correctly skips an id3v2 tag if present.</li>
- <li>Fixed a minor bug in <span class="commandname">metaflac</span>, now correctly skips long metadata blocks.</li>
- </ul>
- </li>
- </ul>
-
- <a name="20010720">20-Jul-2001:</a>
- <ul>
- <li>
- <b>FLAC 1.0 is out!</b>&nbsp;&nbsp;It's finally here. There are a few new features but mostly it is minor bug fixes since 0.10:
- <ul>
- <li>New '--sector-align' option to <span class="commandname">flac</span> which aligns a group of encoded files on CD audio sector boundaries.</li>
- <li>New '--output-prefix' option to <span class="commandname">flac</span> to allow the user to prepend a prefix to all output filenames (useful, for example, for encoding/decoding to a different directory).</li>
- <li>Better WAVE autodetection (doesn't rely on ungetc() anymore).</li>
- <li>Cleaner one-line encoding/decoding stats.</li>
- <li>Changes to the libFLAC interface and type names to make binary compatibility easier to maintain in the future.</li>
- <li>New '--sse-os' option to 'configure' to enable faster SSE-based routines.</li>
- <li>Another (hopefully last) fix to the Winamp 2 plugin.</li>
- <li>Slightly improved Rice parameter estimation.</li>
- <li>Bug fixes for some very rare corner cases when encoding.</li>
- </ul>
- </li>
- </ul>
-
- <a name="20010607">07-Jun-2001:</a>
- <ul>
- <li>
- <b>FLAC 0.10 released.</b>&nbsp;&nbsp;This is probably the final beta. There have been many improvements in the last two months:
- <ul>
- <li>Both the encoder and decoder have been significantly sped up. Aside from C improvements, the code base now has an assembly infrastructure that allows assembly routines for different architectures to be easily integrated. Many key routines have now have faster IA-32 implementations (thanks to Miroslav).</li>
- <li>A new metadata block <a href="format.html#def_SEEKTABLE">SEEKTABLE</a> has been defined to hold an arbitrary number of seek points, which speeds up seeking within a stream.</li>
- <li><span class="commandname">flac</span> now has a command-line usage similar to 'gzip'; make sure to see the latest <a href="documentation.html">documentation</a> for the new usage. It also attempts to preserve the input file's timestamp and permissions.</li>
- <li>The -# options in <span class="commandname">flac</span> have been tweaked to yield the best compression-to-encode-time ratios. The new default is -5.</li>
- <li><span class="commandname">flac</span> can now usually autodetect WAVE files when encoding so that -fw is usually not needed when encoding from stdin.</li>
- <li>The WAVE reader in <span class="commandname">flac</span> now just ignores (with a warning) unsupported sub-chunks instead of aborting with an error.</li>
- <li>Added an option '--delete-input-file' to <span class="commandname">flac</span> which automatically deletes the input after a successful encode/decode.</li>
- <li>Added an option '-o' to <span class="commandname">flac</span> to force the output file name (the old usage of "flac - outputfilename" is no longer supported).</li>
- <li>Changed the XMMS plugin to send smaller chunks of samples (now 512) so that visualization is not slow.</li>
- <li>Fixed a bug in the stream decoder where the decoded samples counter got corrupted after a seek.</li>
- </ul>
- It should be a short hop to 1.0.
- </li>
- </ul>
-
- <a name="20010331">31-Mar-2001:</a>
- <ul>
- <li>
- <b>FLAC 0.9 released.</b>&nbsp;&nbsp;There were some format changes that broke backwards compatibility but these should be the last (see below). Also, there have been several bug fixes and some new features:
- <ul>
- <li>FLAC's sync code has been lengthened to 14 bits from 9 bits. This should enable a faster and more robust synchronization mechanism.</li>
- <li>Two reserved bits were added to the frame header.</li>
- <li>A CRC-16 was added to the FLAC frame footer, and the decoder now does frame integrity checking based on the CRC.</li>
- <li>The format now includes a new subframe field to indicate when a subblock has one or more 0 LSBs for all samples. This increases compression on some kinds of data.</li>
- <li>Added two options to the analysis mode, one for including the residual signal in the analysis file, and one for generating gnuplot files of each subframe's residual distribution with some statistics. See the latest <a href="documentation.html#analysis_options">documentation</a>.</li>
- <li>XMMS plugin now supports 8-bit files.</li>
- <li>Fixed a bug in the Winamp2 plugin where the audio sounded garbled.</li>
- <li>Fixed a bug in the Winamp2 plugin where Winamp would hang sporadically at the end of a track (c.f. <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=231197&amp;group_id=13478&amp;atid=113478">bug #231197</a>).</li>
- </ul>
- FLAC is on track for an official 1.0 release soon.
- </li>
- </ul>
-
- <a name="20010305">05-Mar-2001:</a>
- <ul>
- <li>
- <b>FLAC 0.8 released.</b>&nbsp;&nbsp;This release is a result of extensive testing and fixes several bugs encountered when pushing the encoder to the limit. I'm pretty confident in the stability of the encoder/decoder now for all kinds of input. There have also been several features added. Here is a complete list of the changes since 0.7:
- <ul>
- <li>Created a new utility called <span class="commandname">metaflac</span>. It is a metadata editor for .flac files. Right now it just lists the contents of the metadata blocks but eventually it will allow update/insertion/deletion.</li>
- <li>Added two new metadata blocks: PADDING which has an obvious function, and APPLICATION, which is meant to be open to third party applications. See the <a href="format.html#def_APPLICATION">latest format docs</a> for more info, or the new <a href="id.html">id registration page</a>.</li>
- <li>Added a <span class="argument">-P</span> option to <span class="commandname">flac</span> to reserve a PADDING block when encoding.</li>
- <li>Added support for 24-bit files to <span class="commandname">flac</span> (the FLAC format always supported it).</li>
- <li>Started the Winamp3 plugin.</li>
- <li>Greatly expanded the test suite, adding more streams (24-bit streams, noise streams, non-audio streams, more patterns) and more option combinations to the encoder. The test suite runs about 30 streams and over 5000 encodings now.</li>
- <li>Fixed a bug in <span class="commandname">libFLAC</span> that happened when using an exhaustive LPC coefficient quantization search with 8 bps input.</li>
- <li>Fixed a bug in <span class="commandname">libFLAC</span> where the error estimation in the fixed predictor could overflow.</li>
- <li>Fixed a bug in <span class="commandname">libFLAC</span> where LPC was attempted even when the autocorrelation coefficients implied it wouldn't help.</li>
- <li>Reworked the LPC coefficient quantizer, which also fixed another bug that might occur in rare cases.</li>
- <li>Really fixed the '-V overflow' bug (c.f. <a href="http://sourceforge.net/tracker/?group_id=13478&amp;atid=113478&amp;aid=231976&amp;func=detail">bug #231976</a>).</li>
- <li>Fixed a bug in <span class="commandname">flac</span> related to the decode buffer sizing.</li>
- </ul>
- FLAC is very close to being ready for an official release. The only known problems left are with the Winamp plugins, which should be fixed soon, and pipes with MSVC.
- </li>
- </ul>
-
- <a name="20010212">12-Feb-2001:</a>
- <ul>
- <li>
- <b>FLAC 0.7 released.</b>&nbsp;&nbsp;This is mainly a bug fix release, specifically:
- <ul>
- <li>Fixed a bug that happened when both -fr and --seek were used at the same time.</li>
- <li>Fixed a bug with -p (c.f. <a href="http://sourceforge.net/tracker/?group_id=13478&amp;atid=113478&amp;aid=230992&amp;func=detail">bug #230992</a>).</li>
- <li>Fixed a bug that happened when using large (&gt;32K) blocksizes and -V (c.f. <a href="http://sourceforge.net/tracker/?group_id=13478&amp;atid=113478&amp;aid=231976&amp;func=detail">bug #231976</a>).</li>
- <li>Fixed a bug where encoder was double-closing a file.</li>
- <li>Expanded the test suite.</li>
- <li>Added more optimization flags for gcc, which should speed up flac.</li>
- </ul>
- </li>
- </ul>
-
- <a name="20010128">28-Jan-2001:</a>
- <ul>
- <li>
- <b>FLAC 0.6 released.</b>&nbsp;&nbsp;The encoder is now much faster. The -m option has been sped up by 4x and -r improved, meaning that in the default compression mode (-6), encoding should be at least 3 times faster. Other changes:
- <ul>
- <li>Some bugs related to <span class="commandname">flac</span> and pipes were fixed (see <a href="http://www.geocrawler.com/lists/3/SourceForge/7206/0/5013495/">here</a> for the discussion).</li>
- <li>A "loose mid-side" (<span class="argument">-M</span>) option to the encoder has been added, which adaptively switches between independent and mid-side coding, instead of the exhaustive search that <span class="argument">-m</span> does.</li>
- <li>An analyze mode (<span class="argument">-a</span>) has been added to <span class="commandname">flac</span>. This is useful mainly for developers; currently it will dump info about each frame and subframe to a file. It's a text file in a format that can be easily processed by scripts; a separate analysis program is in the works.</li>
- <li>The source now has an autoconf/libtool-based build system. This should allow the source to build "out-of-the-box" on many more platforms.</li>
- </ul>
- </li>
- </ul>
-
- <a name="20010115">15-Jan-2001:</a>
- <ul>
- <li>
- <b>FLAC 0.5 released.</b>&nbsp;&nbsp;This is the first beta version of FLAC. Being beta, there will be no changes to the format that will break older streams, unless a serious bug involving the format is found. What this means is that, barring such a bug, streams created with 0.5 will be decodable by future versions. This version also includes some new features:
- <ul>
- <li>An <a href="http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html">MD5 signature</a> of the unencoded audio is computed during encoding, and stored in the Encoding metadata block in the stream header. When decoding, <span class="commandname">flac</span> will now compute the MD5 signature of the decoded data and compare it against the signature in the stream header.</li>
- <li>A test mode (<span class="argument">-t</span>) has been added to <span class="commandname">flac</span>. It works like decode mode but doesn't write an output file.</li>
- </ul>
- </li>
- </ul>
-
- <a name="20001223">23-Dec-2000:</a>
- <ul>
- <li><b>FLAC 0.4 released.</b>&nbsp;&nbsp;This version fixes a bug in the constant subframe detection. More importantly, a verify option (-V) has been added to <span class="commandname">flac</span> that verifies the encoding process. With this option turned on, <span class="commandname">flac</span> will create a parallel decoder while encoding to make sure that the encoded output decodes to exactly match the original input. In this way, any unknown bug in the encoder will be caught and <span class="commandname">flac</span> will abort with an error message.</li>
- </ul>
-
- <a name="20001210">10-Dec-2000:</a>
- <ul>
- <li><b>FLAC debuts on SourceForge.</b>&nbsp;&nbsp;The FLAC project is now being hosted on SourceForge. Visit the <a href="http://www.sourceforge.net/projects/flac/">FLAC project page</a> to join the mailing list or sign up as a developer.</li>
- </ul>
- </div>
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/ogg_mapping.html b/3rdparty/libflac/doc/html/ogg_mapping.html
deleted file mode 100644
index 587d512f5a2..00000000000
--- a/3rdparty/libflac/doc/html/ogg_mapping.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Copyright (c) 2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <meta name="author" content="Josh Coalson" />
- <meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
- <meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
- <link rel="stylesheet" type="text/css" href="flac.css" />
- <title>FLAC - ogg mapping</title>
-</head>
-
-<body>
-
-<div class="logo">
- <a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
-</div>
-
-<div class="above_nav"></div>
-
-<div class="navbar">
- &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
- &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
- &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
- &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
- &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
- &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
- &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
- &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
- &nbsp;<a href="developers.html">developers</a>&nbsp;
-</div>
-
-<div class="langbar">
- &nbsp;english&nbsp;&nbsp;|
- &nbsp;<a href="ru/ogg_mapping.html">russian</a>&nbsp;
-</div>
-
-<div class="below_nav"></div>
-
-<div class="box">
- <div class="box_title">
- ogg mapping
- </div>
- <div class="box_header"></div>
- <div class="box_body">
- This page specifies the way in which compressed FLAC data is encapsulated in an Ogg transport layer. It assumes basic knowledge of the <a href="format.html">FLAC format</a> and <a href="http://www.xiph.org/ogg/vorbis/doc/oggstream.html">Ogg structure</a> and <a href="http://www.xiph.org/ogg/vorbis/doc/framing.html">framing</a>.<br />
- <br />
- The original FLAC format includes a very thin transport system. This system of compressed FLAC audio data mixed with a thin transport has come to be known as 'native FLAC'. The transport consists of audio frame headers and footers which contain synchronization patterns, timecodes, and checksums (but notably not frame lengths), and a metadata system. It is very lightweight and does not support more elaborate transport mechanisms such as multiple logical streams, but it has served its purpose well.<br />
- <br />
- The native FLAC transport is not a transport "layer" in the way of standard codec design because it cannot be entirely separated from the payload. Though the metadata system can be separated, the frame header includes both data that belongs in the transport (sync pattern, timecode, checksum) and data that belongs in the compressed packets (audio parameters like channel assignments, sample rate, etc).<br />
- <br />
- This presents a problem when trying to encapsulate FLAC in other true transport layers; the choice has to be made between redundancy and complexity. In pursuit of correctness, a mapping could be created that removed from native FLAC the transport data, and merged the remaining frame header information into the audio packets. The disadvantage is that current native FLAC decoder software could not be used to decode because of the tight coupling with the transport. Either a separate decoding implementation would have to be created and maintained, or an Ogg FLAC decoder would have to synthesize native FLAC frames from Ogg FLAC packets and feed them to a native FLAC decoder.<br />
- <br />
- The alternative is to treat native FLAC frames as Ogg packets and accept the transport redundancy. It turns out that this is not much of a penalty; a maximum of 12 bytes per frame will be wasted. Given the common case of stereo CD audio encoded with a blocksize of 4096 samples, a compressed frame will be 4-16 Kbytes. The redundancy amounts to a fraction of a percent.<br />
- <br />
- In the interest of simplicity and expediency, the second method was chosen for the first official FLAC-&gt;Ogg mapping. A mapping version is included in the first packet so that a less redundant mapping can be defined in the future.<br />
- <br />
- It should also be noted that support for encapsulating FLAC in Ogg has been present in the FLAC tools since version 1.0.1. However, the mappings used were never formalized and have insurmountable problems. For that reason, Ogg FLAC streams created with <span class="commandname">flac</span> versions before 1.1.1 should be decoded and re-encoded with <span class="commandname">flac</span> 1.1.1 or later (<span class="commandname">flac</span> 1.1.1 can decode all previous Ogg FLAC files, but files made prior to 1.1.0 don't support seeking). Since the support for Ogg FLAC before FLAC 1.1.1 was limited, we hope this will not result in too much inconvenience.<br />
- <br />
- Version 1.0 of the FLAC-to-Ogg mapping then is a simple identifying header followed by pure native FLAC data, as follows:
- <ul>
- <li>
- The first packet of a stream consists of:
- <ul>
- <li>The one-byte packet type 0x7F</li>
- <li>The four-byte ASCII signature "FLAC", i.e. 0x46, 0x4C, 0x41, 0x43</li>
- <li>A one-byte binary major version number for the mapping, e.g. 0x01 for mapping version 1.0</li>
- <li>A one-byte binary minor version number for the mapping, e.g. 0x00 for mapping version 1.0</li>
- <li>A two-byte, big-endian binary number signifying the number of header (non-audio) packets, not including this one. This number may be zero (0x0000) to signify 'unknown' but be aware that some decoders may not be able to handle such streams.</li>
- <li>The four-byte ASCII native FLAC signature "fLaC" according to the <a href="format.html#stream">FLAC format specification</a></li>
- <li>The <a href="format.html#metadata_block">STREAMINFO</a> metadata block for the stream.</li>
- </ul>
- This first packet is the only packet in the first page of the stream. This results in a first Ogg page of exactly 79 bytes at the very beginning of the logical stream.
- </li>
- <li>
- This first page is marked 'beginning of stream' in the page flags.
- </li>
- <li>
- The first packet is followed by one or more header packets. Each such packet will contain a single <a href="format.html#metadata_block">native FLAC metadata block</a>. The first of these must be a VORBIS_COMMENT block. These packets may span page boundaries but the last will finish the page on which it ends, so that the first audio packet begins a page. The first byte of these metadata packets serves also as the packet type, and has a legal range of (0x01-0x7E,0x81-0xFE).
- </li>
- <li>
- The granule position of these first pages containing only headers is zero.
- </li>
- <li>
- The first audio packet of the logical stream begins a fresh Ogg page.
- </li>
- <li>
- Native FLAC audio frames appear as subsequent packets in the stream. Each packet corresponds to one FLAC audio frame. The first byte of each packet serves as the packet type. Since audio packets are native FLAC frames, this first byte will be always 0xFF according to the <a href="format.html#frame_header">native FLAC format specification</a>.
- </li>
- <li>
- The last page is marked 'end of stream' in the page flags.
- </li>
- <li>
- FLAC packets may span page boundaries.
- </li>
- <li>
- The granule position of pages containing FLAC audio follows the same semantics as that for Ogg-encapsulated Vorbis as described <a href="http://www.xiph.org/ogg/vorbis/doc/vorbis-ogg.html">here</a>.
- </li>
- <li>
- Redundant fields in the STREAMINFO packet may be set to zero (indicating "unknown" in native FLAC), which also facilitates single-pass encoding. These fields are: the minimum and maximum frame sizes, the total samples count, and the MD5 signature. "Unknown" values for these fields will not prevent a compliant native FLAC or Ogg FLAC decoder from decoding the stream.
- </li>
- </ul>
- It is intended that the first six bytes of any version of FLAC-to-Ogg mapping will share the same structure, namely, the four-byte signature and two-byte version number.<br />
- <br />
- There is an implicit hint to the decoder in the mapping version number; mapping versions which share the same major version number should be decodable by decoders of the same major version number, e.g. a 1.x Ogg FLAC decoder should be able to decode any 1.y Ogg FLAC stream, even when x&lt;y. If a mapping breaks this forward compatibility the major version number will be incremented.
- </div>
- <div class="box_footer"></div>
-</div>
-
-
-<div class="copyright">
- <!-- @@@ oh so hacky -->
- <table>
- <tr>
- <td align="left">
- Copyright (c) 2004,2005,2006,2007 Josh Coalson
- </td>
- <td width="1%" align="right">
- <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
- </td>
- <td width="1%" align="right">
- <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
- </td>
- <td width="1%" align="right">
- <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
- </td>
- </tr>
- </table>
-</div>
-
-</body>
-</html>
diff --git a/3rdparty/libflac/doc/html/ru/Makefile.am b/3rdparty/libflac/doc/html/ru/Makefile.am
deleted file mode 100644
index 1eaaef281bc..00000000000
--- a/3rdparty/libflac/doc/html/ru/Makefile.am
+++ /dev/null
@@ -1,36 +0,0 @@
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-AUTOMAKE_OPTIONS = foreign
-
-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html/ru
-
-doc_DATA = \
- authors.html \
- comparison.html \
- developers.html \
- documentation.html \
- download.html \
- features.html \
- format.html \
- goals.html \
- id.html \
- index.html \
- links.html \
- news.html
-
-EXTRA_DIST = $(doc_DATA)
diff --git a/3rdparty/libflac/doc/html/ru/Makefile.in b/3rdparty/libflac/doc/html/ru/Makefile.in
deleted file mode 100644
index fcca596dcef..00000000000
--- a/3rdparty/libflac/doc/html/ru/Makefile.in
+++ /dev/null
@@ -1,411 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-AUTOMAKE_OPTIONS = foreign
-
-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html/ru
-
-doc_DATA = \
- authors.html \
- comparison.html \
- developers.html \
- documentation.html \
- download.html \
- features.html \
- format.html \
- goals.html \
- id.html \
- index.html \
- links.html \
- news.html
-
-
-EXTRA_DIST = $(doc_DATA)
-subdir = doc/html/ru
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DATA = $(doc_DATA)
-
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign doc/html/ru/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-docDATA_INSTALL = $(INSTALL_DATA)
-install-docDATA: $(doc_DATA)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(docdir)
- @list='$(doc_DATA)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(docDATA_INSTALL) $$d$$p $(DESTDIR)$(docdir)/$$f"; \
- $(docDATA_INSTALL) $$d$$p $(DESTDIR)$(docdir)/$$f; \
- done
-
-uninstall-docDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(doc_DATA)'; for p in $$list; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(docdir)/$$f"; \
- rm -f $(DESTDIR)$(docdir)/$$f; \
- done
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(DATA)
-
-installdirs:
- $(mkinstalldirs) $(DESTDIR)$(docdir)
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-docDATA
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-docDATA uninstall-info-am
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am info info-am install install-am install-data \
- install-data-am install-docDATA install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-docDATA uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/doc/html/ru/authors.html b/3rdparty/libflac/doc/html/ru/authors.html
deleted file mode 100644
index 43835f4fe40..00000000000
--- a/3rdparty/libflac/doc/html/ru/authors.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<HTML>
-<HEAD>
-<META CHARSET="windows-1251">
-<TITLE>FLAC: àâòîðû</TITLE>
-</HEAD>
-
-<BODY>
-<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR>
-<TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="index.html">íà÷àëî</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="news.html">íîâîñòè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="download.html">ôàéëû</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="features.html">õàðàêòåðèñòèêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="goals.html">öåëè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="format.html">ôîðìàò</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-
-<TR>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="id.html">id</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="comparison.html">ñðàâíåíèå</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="developers.html">ðàçðàáîòêà</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="documentation.html">äîêóìåíòàöèÿ</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="links.html">ññûëêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;àâòîðû&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER>
-
-<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR><TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="../index.html">english</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;ðóññêèé</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER></P>
-
-
-<CENTER><H2>FLAC: àâòîðû</H2></CENTER>
-
-<P>FLAC <A HREF="http://flac.sourceforge.net/">(http://flac.sourceforge.net/)</A> - ñâîáîäíûé àóäèî êîäåê, ñæèìàþùèé áåç ïîòåðü, ðàçðàáîòàííûé Äæîøåì Êîëñîíîì (Josh Coalson).</P>
-
-<P>Äðóãèå ó÷àñòíèêè ïðîåêòà:</P>
-
-<BLOCKQUOTE>
-
- <P>Ìèðîñëàâ Ëè÷âàð (Miroslav Lichvar)
- <BLOCKQUOTE>
- <LI>Íåñêîëüêî âåðñèé ïðîöåäóð èç áèáëèîòåêè <B><TT>libFLAC</TT></B> íà àññåìáëåðå äëÿ àðõèòåêòóðû IA-32.</LI>
- </BLOCKQUOTE></P>
-
- <P>Ìýò Öèììåðìàíí (Matt Zimmerman)
- <BLOCKQUOTE>
- <LI>Ñèñòåìà ñáîðêè libtool/autoconf/automake.</LI>
- </BLOCKQUOTE></P>
-
- <P>Àíäðåé Àñòàôüåâ (Andrey Astafiev)
- <BLOCKQUOTE>
- <LI>Ïåðåâîä äîêóìåíòàöèè íà ðóññêèé ÿçûê.</LI>
- </BLOCKQUOTE></P>
-
- <P>Áðýäè Ïàòòåðñîí (Brady Patterson)
- <BLOCKQUOTE>
- <LI>Ïîääåðæêà ôîðìàòà AIFF.</LI>
- </BLOCKQUOTE></P>
-
- <P>Äàéñóêå Øèìàìóðà (Daisuke Shimamura)
- <BLOCKQUOTE>
- <LI>Ïîääåðæêà id3 v1/v2 è i18n â ïëàãèíå XMMS.</LI>
- </BLOCKQUOTE></P>
-
- <P>X-Fixer</P>
- <BLOCKQUOTE>
- <LI>Ñèñòåìà íàñòðîéêè, ðåäàêòèðîâàíèå òåãîâ è èíôîðìàöèÿ î ôàéëå â ïëàãèíå äëÿ Winamp2.</P>
- </BLOCKQUOTE>
-</BLOCKQUOTE>
-
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</P>
-
-</BODY>
-</HTML>
diff --git a/3rdparty/libflac/doc/html/ru/comparison.html b/3rdparty/libflac/doc/html/ru/comparison.html
deleted file mode 100644
index c8d1abe5422..00000000000
--- a/3rdparty/libflac/doc/html/ru/comparison.html
+++ /dev/null
@@ -1,864 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<HTML>
-<HEAD>
-<META CHARSET="windows-1251">
-<TITLE>FLAC: ñðàâíåíèå</TITLE>
-</HEAD>
-
-<BODY>
-<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR>
-<TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="index.html">íà÷àëî</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="news.html">íîâîñòè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="download.html">ôàéëû</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="features.html">õàðàêòåðèñòèêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="goals.html">öåëè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="format.html">ôîðìàò</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-
-<TR>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="id.html">id</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;ñðàâíåíèå&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="developers.html">ðàçðàáîòêà</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="documentation.html">äîêóìåíòàöèÿ</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="links.html">ññûëêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="authors.html">àâòîðû</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER>
-
-<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR><TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="../comparison.html">english</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;ðóññêèé</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER></P>
-
-
-<CENTER><H2>FLAC: ñðàâíåíèå</H2></CENTER>
-
-<P>Öåëüþ ýòîé ñòðàíèöû ÿâëÿåòñÿ ñðàâíåíèå FLAC ñ äðóãèìè àíàëîãè÷íûìè êîäåêàìè. Èññëåäîâàíèå çàòðàãèâàåò íå òîëüêî óðîâåíü è âðåìÿ êîäèðîâàíèÿ/äåêîäèðîâàíèÿ, íî è äðóãèå âàæíûå äëÿ ïîëüçîâàòåëÿ âîçìîæíîñòè êîäåêîâ. Âûáèðàÿ äëÿ ñåáÿ êîäåê, ïîìíèòå î ñëåäóþùåì:</P>
-
-<P><BLOCKQUOTE>
-<LI>Íàñêîëüêî ÿ çíàþ, òîëüêî äâà êîäåêà (FLAC è WavPack) ïîëíîñòüþ ñâîáîäíû è àêòèâíî ïîääåðæèâàþòñÿ (èñõîäíûå òåêñòû Shorten è Monket's Audio äîñòóïíû, íî ëèöåíçèÿ áîëåå îãðàíè÷åíà). Áîëüøèíñòâî ïðåäîñòàâëÿþò áåñïëàòíûå ñêîìïèëèðîâàííûå ïðîãðàììû áåç äîñòóïà ê èñõîäíûì êîäàì, ñëåäîâàòåëüíî, âûáèðàÿ èõ, âû ïîïàäàåòå â çàâèñèìîñòü îò ïðîèçâîäèòåëÿ. Ó âàñ óæå íå áóäåò øàíñà ïîðòèðîâàòü ïðîãðàììó íà äðóãóþ îïåðàöèîííóþ ñèñòåìó èëè èñïðàâèòü îøèáêó, åñëè îíà ïîÿâèòñÿ è ýòîãî íå çàõî÷åò ñäåëàòü àâòîð. Ýòî ìîæåò îêàçàòüñÿ ñåðüåçíûì íåäîñòàòêîì, åñëè ôîðìàò íå ÿâëÿåòñÿ âñåìèðíî ïðèçíàíûì.</LI>
-
-<LI>Óðîâåíü è âðåìÿ ñæàòèÿ äëÿ <B><TT>flac</TT></B> õàðàêòåðèçóþò òîëüêî êîíêðåòíóþ âåðñèþ êîäåðà. Îíè íå âûÿâëÿþò ïðåäåëà äëÿ âñåõ êîäåðîâ è ôîðìàòà FLAC, òàê êàê ôîðìàò îòêðûòûé è ðàñøèðÿåìûé è êàæäûé ìîæåò íàïèñàòü óëó÷øåííóþ âåðñèþ. Ìîæíî ñ áîëüøîé äîëåé óâåðåííîñòè ñêàçàòü, ÷òî êîäåê áóäåò óëó÷øàòüñÿ.</LI>
-
-<LI>Ïîääåðæêà ïîòîêîâîãî ôîðìàòà ó FLAC äàåò åìó äîïîëíèòåëüíîå ïðåèìóùåñòâî íàä òåìè êîäåêàìè, êîòîðûå òàêîé âîçìîæíîñòè íå èìåþò.</LI>
-</BLOCKQUOTE></P>
-
-<P>ß ïîñòàðàþñü îáíîâëÿòü èíôîðìàöèþ íà ýòîé ñòðàíèöå êàê ìîæíî ÷àùå, îäíàêî, åñëè âû çàìåòèòå êàêóþ-ëèáî íåòî÷íîñòü, <A HREF="mailto:andrei@altlinux.ru">ñîîáùèòå ìíå</A> è ÿ èñïðàâëþ åå.</P>
-
-<H4>Ðàññìàòðèâàåìûå êîäåðû (êðîìå flac):</H4>
-
-<P><BLOCKQUOTE>
-<LI><A HREF="http://yoyo.cc.monash.edu.au/~pfh/bonk/">Bonk</A> - îòêðûòûé êîäåê. Íåò îòäåëüíîé áèáëèîòåêè è ïîääåðæêè ïëåéåðà.</LI>
-
-<LI><A HREF="http://sourceforge.net/projects/kexis/">Kexis</A> - îòêðûòûé êîäåê. Ïîõîæå, ÷òî ïðîåêò ïðåêðàòèëñÿ íà íà÷àëüíîé ñòàäèè ðàçðàáîòêè. Íåò ïîääåðæêè ïëåéåðà.</LI>
-
-<LI><A HREF="http://www.lossless-audio.com">La</A> - çàêðûòûé ñèììåòðè÷åñêèé, àäàïòèâíûé êîäåê. Ïðåäîñòàâëÿþòñÿ ñêîìïèëèðîâàííûå âåðñèè äëÿ Windows è Linux. Äàåò ìàêñèìàëüíûé óðîâåíü ñæàòèÿ, íî ðàáîòàåò î÷åíü ìåäëåííî.</LI>
-
-<LI><A HREF="http://www.nue.tu-berlin.de/wer/liebchen/lpac.html">LPAC</A> - ïîñòàâëÿåòñÿ òîëüêî ñêîìïèëèðîâàííûì. Äîñòóïíû âåðñèè íå òîëüêî äëÿ Windows, õîòÿ ïëàãèí åñòü òîëüêî äëÿ Winamp.</LI>
-
-<LI><A HREF="http://www.monkeysaudio.com/">Monkey's Audio</A> - ñèììåòðè÷åñêèé, àäàïòèâíûé êîäåê ñ õîðîøèì óðîâíåì ñæàòèÿ. Èñõîäíûå òåêñòû äîñòóïíû ïî îãðàíè÷åííîé ëèöåçèè. Äîñòóïíû äâå âåðñèè: îò ñîçäàòåëÿ ïðîåêòà Ìýòòà Îøëåíäà è îò Ôðàíêà Êëåììà.  òåñòàõ èñïîëüçîâàëàñü îðèãèíàëüíàÿ âåðñèÿ.</LI>
-
-<LI>Ogg Squish - îòêðûòûé êîäåê, íî áîëåå íåïîääåðæèâàåìûé. Òåñòèðóåìàÿ âåðñèÿ 0.98 áûëà ïîñëåäíåé, êîòîðóþ ìîæíî íàéòè. Âåðñèè äëÿ Windows íå áûëî, íî ñóäÿ ïî ðåçóëüòàòàì, ïîëó÷åííûì ïîä Unix, ýòî "áûñòðûé" êîäåê.</LI>
-
-<LI><A HREF="http://ghido.shelter.ro/">optimFROG</A> - çàêðûòûé êîäåê äëÿ Windows è Linux ñ ïëàãèíàìè äëÿ Winamp è XMMS. Ìåäëåííûé, íî èìååò âûñîêèé óðîâåíü ñæàòèÿ.</LI>
-
-<LI><A HREF="http://www.jpg.com/products/sound.html">Pegasus-SPS</A> - çàêðûòûé êîäåê òîëüêî äëÿ Windows.</LI>
-
-<LI><A HREF="http://rksoft.virtualave.net/">RKAU</A> - çàêðûòûé êîäåê òîëüêî äëÿ Windows. Íå îáíîâëÿëñÿ â òå÷åíèå 2 ëåò.</LI>
-
-<LI><A HREF="http://www.softsound.com/Shorten.html">Shorten</A> - íàèáîëåå ðàñïðîñòðàíåííûé êîäåê ñ äîñòóïíûìè èñõîäíûìè òåêñòàìè.</LI>
-
-<LI>WaveZIP - çàêðûòûé àðõèâàòîð òîëüêî äëÿ Windows. Èñïîëüçóåò äâèæîê <A HREF="http://members.aol.com/_ht_a/sndspace/index.html"> MUSICompress[tm]</A>, êîòîðûé, ïðåäïîëîæèòåëüíî, çàïàòåíòîâàí. ß õîòåë ñäåëàòü ññûëêó íà êîìïàíèþ, íàïèñàâøóþ WaveZIP (GadgetLabs), íî îíè çàâåðøèëè ñâîþ äåÿòåëüíîñòü (ìîæåò, ïîòîìó ÷òî ïûòàëèñü ïðîäàòü òî, íå äîëæíî íè÷åãî ñòîèòü).</LI>
-
-<LI><A HREF="http://www.wavpack.com/">WavPack</A> - îòêðûòûé êîäåê òîëüêî äëÿ Windows, âûïóùåííûé ïîä ëèöåíçèåé BSD. Èìååò õîðîøåå ñîîòíîøåíèå ìåæäó óðîâíåì è âðåìåíåì ñæàòèÿ.</LI>
-</BLOCKQUOTE></P>
-
-<P>ß íå ñìîã äîñòàòü êîïèè êîäåêîâ AudioPack è WavARC.</P>
-
-<P>Åñëè íå ïðèíèìàòü âî âíèìàíèå óðîâåíü è ñêîðîñòü ñæàòèÿ (êàê âû óâèäèòå ïîçæå, áîëüøèíñòâî êîäåêîâ èìåþò ñõîäíóþ ïðîèçâîäèòåëüíîñòü), òî ñóáúåêòèâíàÿ êàðòèíà, îñíîâàííàÿ íà áàçîâûõ âîçìîæíîñòÿõ áóäåò âûãëÿäåòü ñëåäóþùèì îáðàçîì. Îñíîâíîå ïðåèìóùåñòâî èìåþò ñâîáîäíûå êîäåêè, òàê êàê ýòî ïðåäîñòàâëÿåò Âàì âîçìîæíîñòü äîáàâëÿòü âñå, ÷òî íåîáõîäèìî. Êðîìå òîãî, ïðîåêòû ñ îòêðûòûìè èñõîäíèêàìè îáû÷íî ðàçâèâàþòñÿ è óëó÷øàþòñÿ áûñòðåå. Âòîðîé âàæíûé äëÿ ïîëüçîâàòåëÿ ôàêòîð - ýòî ïîääåðæêà ðàçíûõ îïåðàöèîííûõ ñèñòåì è/èëè âîçìîæíîñòü èñïîëüçîâàíèÿ ïëàãèíîâ äëÿ ïëåéåðîâ.</P>
-
-<P><I>Òàáëèöà 1. Ñðàâíåíèå âîçìîæíîñòåé êîäåêîâ</I>.</P>
-<P><TABLE WIDTH="100%" BORDER="1">
-<TR>
-<TD ALIGN="RIGHT">
-<FONT SIZE="+1"><B>Êîäåê</B></FONT></TD>
-<TD BGCOLOR="#F0F0F0">
-<FONT SIZE="+1"><B>Äîñòóïíû òåêñòû?</B></FONT></TD>
-<TD BGCOLOR="#F0F0F0">
-<FONT SIZE="+1"><B>Äîñòóïíû ïëàãèíû?</B></FONT></TD>
-<TD BGCOLOR="#F0F0F0">
-<FONT SIZE="+1"><B>Àïïàðàòíàÿ ïîääåðæêà?</B></FONT></TD>
-<TD BGCOLOR="#F0F0F0">
-<FONT SIZE="+1"><B>Ïîòî÷íîñòü?</B></FONT></TD>
-<TD BGCOLOR="#F0F0F0">
-<FONT SIZE="+1"><B>Ïîèñê?</B></FONT></TD>
-<TD BGCOLOR="#F0F0F0">
-<FONT SIZE="+1"><B>Öåíà</B></FONT></TD>
-<TD BGCOLOR="#F0F0F0">
-<FONT SIZE="+1"><B>Ïîääåðæêà ÎÑ</B></FONT></TD>
-</TR>
-
-<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">flac v1.1.0</TD>
-<TD>äà (<A HREF="http://www.opensource.org/licenses/index.html">OSI</A>)</TD>
-<TD>äà (<A HREF="http://www.xmms.org/">XMMS</A>, <A HREF="http://alsaplayer.org/">AlsaPlayer</A>, <A HREF="http://www.winamp.com/">Winamp</A>, <A HREF="http://www.macamplite.com/addons/plugins.php">MacAmp Lite</A>, <A HREF="http://www.dbpoweramp.com/">dBpowerAMP</A>, <A HREF="http://www.saunalahti.fi/~cse/foobar2000/index.html">Foobar2000</A>, <A HREF="http://www.hut.fi/~hylinen/apollo/Plug-ins.html">Apollo</A>)</TD>
-<TD>äà (<A HREF="http://www.phatnoise.com/technology/encoding.php">PhatBox</A>, Kenwood MusicKeg, <A HREF="http://sourceforge.net/projects/rioplay/">Rio Receiver</A>, Dell Digital Audio Receiver, <A HREF="http://file-ext-map.sourceforge.net/">Turtle Beach AudioTron</A>)</TD>
-<TD>äà</TD>
-<TD>äà</TD>
-<TD>ñâîá.</TD>
-<TD>Linux, Windows, Mac OS X, *BSD, Solaris, OS/2, BeOS è äðóãèå</TD>
-</TR>
-
-<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">Shorten v3.2</TD>
-<TD>äà (îãðàíè÷.)</TD>
-<TD>äà (Winamp, XMMS)</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD>äà (òîëüêî v3)</TD>
-<TD>ñâîá.</TD>
-<TD>Linux, Windows, Mac OS 9, Mac OS X, *BSD, Solaris è äðóãèå</TD>
-</TR>
-
-<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">WavPack v3.97a</TD>
-<TD BGCOLOR="#E0E0E0">äà</TD>
-<TD>äà (Winamp)</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD>äà</TD>
-<TD>ñâîá.</TD>
-<TD BGCOLOR="#E0E0E0">Windows</TD>
-</TR>
-
-<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">Monkey's Audio v3.96</TD>
-<TD>äà (îãðàíè÷.)</TD>
-<TD>äà (Winamp, MediaJukebox, dBpowerAMP)</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD>äà</TD>
-<TD>áåñïë.</TD>
-<TD>Windows, Linux</TD>
-</TR>
-
-<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">Ogg Squish 0.98</TD>
-<TD>äà</TD>
-<TD BGCOLOR="#E0E0E0">íåò?</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD>äà</TD>
-<TD>äà</TD>
-<TD>ñâîá.</TD>
-<TD>Linux, Windows, äðóãèå UNIX</TD>
-</TR>
-
-<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">Bonk 0.5</TD>
-<TD>äà</TD>
-<TD>äà (XMMS)</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD>ñâîá.</TD>
-<TD>Linux, Windows, äðóãèå UNIX</TD>
-</TR>
-
-<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">La 0.3c</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD>äà (Winamp, XMMS)</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD>äà</TD>
-<TD>áåñïë.</TD>
-<TD BGCOLOR="#E0E0E0">Windows, Linux</TD>
-</TR>
-
-<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">optimFrog 4.21</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD>äà (Winamp, XMMS)</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD>äà</TD>
-<TD>áåñïë.</TD>
-<TD BGCOLOR="#E0E0E0">Windows, Linux</TD>
-</TR>
-
-<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">LPAC v1.31 (codec 3.0)</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD>äà (Winamp)</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">íåò?</TD>
-<TD>äà</TD>
-<TD>áåñïë.</TD>
-<TD BGCOLOR="#E0E0E0">Windows, Linux, Solaris</TD>
-</TR>
-
-<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">RKAU v1.07</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD>äà (Winamp)</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD>äà</TD>
-<TD>áåñïë.</TD>
-<TD BGCOLOR="#E0E0E0">Windows</TD>
-</TR>
-
-<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">Kexis 0.2.2</TD>
-<TD>äà</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD>ñâîá.</TD>
-<TD>Linux, Windows, äðóãèå UNIX</TD>
-</TR>
-
-<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">WaveZIP v2</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD>áåñïë. (24-áèò çà $)</TD>
-<TD BGCOLOR="#E0E0E0">Windows</TD>
-</TR>
-
-<TR><TD ALIGN="RIGHT" BGCOLOR="#F0F0F0">Pegasus-SPS</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">íåò</TD>
-<TD BGCOLOR="#E0E0E0">$39 (trial)</TD>
-<TD BGCOLOR="#E0E0E0">Windows</TD>
-</TR>
-</TABLE></P>
-
-<P>Äëÿ òåñòèðîâàíèÿ èñïîëüçîâàëñÿ PII-333 ñ 256Má è ÎÑ Windows NT SP5. Ê ñîæàëåíèþ, èìåííî Windows ÿâëåòñÿ åäèíñòâåííîé îïåðàöèîííîé ñèñòåìîé, ïîä êîòîðîé ìîãóò ðàáîòàòü âñå êîäåêè è ãäå ìîæíî äîáèòüñÿ ðàâíûõ óñëîâèé ðàáîòû.</P>
-
-<P>Âõîäíûìè äàííûìè ÿâëÿþòñÿ òîëüêî ôàéëû, çàïèñàííûå ñ àóäèî-CD.  áóäóùåì ìîãóò ïîÿâèòüñÿ òåñòû äëÿ äðóãèõ âèäîâ èíôîðìàöèè (íàïðèìåð, ðå÷ü, äðóãèå ÷àñòîòû äèñêðåòèçàöèè è ò.ä.). Ïðåäñòàâëåíû 14 òðåêîâ ðàçëè÷íûõ ñòèëåé.</P>
-
-<P> ïåðâîé òàáëèöå ïðèâåäåíû îáùèå ðåçóëüòàòû ïî âñåì òðåêàì.  îñòàëüíûõ òàáëèöàõ ïðèâåäåíû ðåçóëüòàòû äëÿ êàæäîãî òðåêà.  îáùåé òàáëèöå ïðèâåäåíî áîëüøîå êîëè÷åñòâî ðåæèìîâ, à íà îñòàëüûõ ëèøü ñàìûå èíòåðåñíûå</P>
-
-<P> îáùåé òàáëèöå ðåçóëüòàòû îòñîðòèðîâàíû ïî óðîâíþ ñæàòèÿ, êîòîðîå âû÷èñëÿåòñÿ êàê ñðåäíåå èç óðîâíåé äëÿ âñåõ òðåêîâ, ÷òîáû äëèííûå òðåêè íå èìåëè áîëüøåãî âåñà ïðè òåñòèðîâàíèè.  òàáëèöàõ äëÿ îòäåëüíûõ òðåêîâ ïðèâåäåí óðîâåíü ñæàòèÿ ( = ðàçìåð ñæàòîãî ôàéëà / ðàçìåð íåñæàòîãî ôàéëà).</P>
-
-<P>Íåîáõîäèìî ñäåëàòü íåñêîëüêî çàìå÷àíèé:</P>
-<UL>
-<LI><B><TT>flac -5</TT></B> ÿâëÿåòñÿ "çîëîòîé ñåðåäèíîé", îáåñïå÷èâàÿ çà ìàëîå âðåìÿ äîñòàòî÷íûé óðîâåíü ñæàòèÿ. Äåêîäèðîâàíèå òàêèõ ôàéëîâ òàêæå ïðîõîäèò áûñòðî. Ýòî îáúÿñíÿåòñÿ òåì, ÷òî FLAC ïðîèçâîäèò îñíîâíóþ îáðàáîòêó íà ñòàäèè êîäèðîâàíèÿ, êîòîðàÿ èñïîëüçóåòñÿ îäíîêðàòíî, â òî âðåìÿ êàê ïðè àäàïòèâíîé ñõåìå êîäåðó è äåêîäåðó íóæíî îäèíàêîâîå êîëè÷åñòâî ðåñóðñîâ. Ïîýòîìó FLAC ëó÷øå ïðèñïîñîáëåí äëÿ âîñïðîèçâåäåíèÿ íà ìåíåå ìîùíûõ óñòðîéñòâàõ è ýòî îäíà èç ïðè÷èí, ïî êîòîðîé òîëüêî FLAC ïîääåðæèâàåòñÿ íà àïïàðàòíîì óðîâíå.</LI>
-<LI>Íàñòðîêè êà÷åñòâà LPAC ñòàíîâÿòñÿ íåñòàáèëüíûìè ïðè èñïîëüçîâàíèè êëþ÷à -r (äîáàâëÿåò âîçìîæíîñòü ïîèñêà ïðè âîñïðîèçâåäåíèè).</LI>
-<LI>Ó RKAU ðàçìåð ôàéëà òàêæå ìîæåò âîçðàñòàòü â ðåæèìå 'high' (âûñîêàÿ ñòåïåíü ñæàòèÿ).</LI>
-<LI>Ñëåäóþùèé ôàêò îáðàòèâøèé íà ñåáÿ âíèìàíèå ñîñòîèò â òîì, ÷òî ïàòåíòîâàííûå è ïëàòíûå êîäåêè îêàçûâàþòñÿ õóäøèìè ïî áîëüøèíñòâó ïîêàçàòåëåé. SPS âûãëÿäèò íàñòîëüêî óñòàðåâøèì è êîðÿâûì, ÷òî ÿ çàáðîñèë åãî òåñòèðîâàíèå ïîñëå êîäèðîâàíèÿ îäíîãî ôàéëà.</LI>
-
-<P> òàáëèöå ñ îáùèìè ðåçóëüòàòàìè ïðèâåäåíû òîëüêî ñàìûå "ýêîíîìè÷íûå" ðåæèìû (êîòîðûå äàþò âûñîêèé óðîâåíü ñæàòèÿ çà ïðèåìëåìûé îòðåçîê âðåìåíè).</P>
-
-<P><I>Òàáëèöà 2. Îáùèå ðåçóëüòàòû</I>.</P>
-<P><TABLE WIDTH="100%" BORDER="1">
-<TR BGCOLOR="#F0F0F0">
-<TD><FONT SIZE="+1">Êîäåê</FONT></TD>
-<TD><FONT SIZE="+1">Âðåìÿ<BR>ñæàòèÿ</FONT></TD>
-<TD><FONT SIZE="+1">Âðåìÿ<BR>ðàñïàêîâêè</FONT></TD>
-<TD><FONT SIZE="+1">Ñæàòûé<BR>ðàçìåð</FONT></TD>
-<TD><FONT SIZE="+1">Îáùèé<BR>óðîâåíü<BR>ñæàòèÿ</FONT></TD>
-<TD><FONT SIZE="+1">Ñðåäíèé<BR>óðîâåíü<BR>ñæàòèÿ</FONT></TD></TR>
-
- <TR><TD>La 0.3c</TD><TD>151:13.16</TD><TD>145:49.78</TD><TD>375.76 MB</TD><TD>0.4814</TD><TD>0.4986</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (extra high)</TD><TD>26:52.07</TD><TD>28:44.55</TD><TD>386.96 MB</TD><TD>0.4958</TD><TD>0.5119</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>24:19.58</TD><TD>25:37.44</TD><TD>389.04 MB</TD><TD>0.4984</TD><TD>0.5151</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (high)</TD><TD>13:59.07</TD><TD>15:30.69</TD><TD>391.76 MB</TD><TD>0.5019</TD><TD>0.5179</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>16:34.96</TD><TD>17:57.28</TD><TD>394.69 MB</TD><TD>0.5056</TD><TD>0.5223</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (normal)</TD><TD>11:42.34</TD><TD>13:11.29</TD><TD>395.04 MB</TD><TD>0.5061</TD><TD>0.5223</TD></TR>
- <TR><TD>RKAU 1.07 (normal)</TD><TD>53:46.74</TD><TD>23:31.10</TD><TD>395.71 MB</TD><TD>0.5070</TD><TD>0.5229</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RKAU 1.07 (fast)</TD><TD>26:35.34</TD><TD>20:13.22</TD><TD>399.25 MB</TD><TD>0.5115</TD><TD>0.5262</TD></TR>
- <TR><TD>WavPack 3.97a (high)</TD><TD>13:32.02</TD><TD>14:39.12</TD><TD>399.60 MB</TD><TD>0.5119</TD><TD>0.5278</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>LPAC 1.40 (-r, medium)</TD><TD>18:52.79</TD><TD>10:43.32</TD><TD>403.52 MB</TD><TD>0.5170</TD><TD>0.5319</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (fast)</TD><TD>9:05.59</TD><TD>10:51.09</TD><TD>401.63 MB</TD><TD>0.5145</TD><TD>0.5327</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (normal)</TD><TD>6:50.12</TD><TD>8:13.41</TD><TD>409.33 MB</TD><TD>0.5244</TD><TD>0.5424</TD></TR>
- <TR BGCOLOR="#C0C0C0"><TD>flac 1.1.0 (-5, default)</TD><TD>12:54.19</TD><TD>7:08.80</TD><TD>413.46 MB</TD><TD>0.5297</TD><TD>0.5459</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Bonk 0.5</TD><TD>36:56.36</TD><TD>27:09.35</TD><TD>418.65 MB</TD><TD>0.5364</TD><TD>0.5543</TD></TR>
- <TR><TD>flac 1.1.0 (-3)</TD><TD>9:51.58</TD><TD>7:00.92</TD><TD>419.29 MB</TD><TD>0.5372</TD><TD>0.5544</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>431.08 MB</TD><TD>0.5522</TD><TD>0.5714</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>9:44.48</TD><TD>6:31.74</TD><TD>433.56 MB</TD><TD>0.5555</TD><TD>0.5729</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Kexis 0.2.2</TD><TD>17:49.06</TD><TD>14:53.90</TD><TD>434.33 MB</TD><TD>0.5564</TD><TD>0.5750</TD></TR>
- <TR><TD>WavPack 3.97a (fast)</TD><TD>5:20.17</TD><TD>5:12.38</TD><TD>441.88 MB</TD><TD>0.5661</TD><TD>0.5857</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WaveZIP</TD><TD>8:41.72</TD><TD>?</TD><TD>452.95 MB</TD><TD>0.5802</TD><TD>0.5986</TD></TR>
- <TR><TD>RIFF WAVE</TD><TD>70:11.90</TD><TD>70:11.90</TD><TD>780.56 MB</TD><TD>1.0000</TD><TD>1.0000</TD></TR>
-
-</TABLE></P>
-
-
-<P>Ðåçóëüòàòû òåñòèðîâàíèÿ äëÿ âñåõ êîäåêîâ âî âñåõ ðåæèìàõ.</P>
-
-<P><I>Òàáëèöà 3. Îáùèå ðåçóëüòàòû</I>.</P>
-<P><TABLE WIDTH="100%" BORDER="1">
-<TR BGCOLOR="#F0F0F0">
-<TD><FONT SIZE="+1">Êîäåê</FONT></TD>
-<TD><FONT SIZE="+1">Âðåìÿ<BR>ñæàòèÿ</FONT></TD>
-<TD><FONT SIZE="+1">Âðåìÿ<BR>ðàñïàêîâêè</FONT></TD>
-<TD><FONT SIZE="+1">Ñæàòûé<BR>ðàçìåð</FONT></TD>
-<TD><FONT SIZE="+1">Îáùèé<BR>óðîâåíü<BR>ñæàòèÿ</FONT></TD>
-<TD><FONT SIZE="+1">Ñðåäíèé<BR>óðîâåíü<BR>ñæàòèÿ</FONT></TD></TR>
-
- <TR><TD>La 0.3c</TD><TD>151:13.16</TD><TD>145:49.78</TD><TD>375.76 MB</TD><TD>0.4814</TD><TD>0.4986</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 4 @ 2x)</TD><TD>183:05.29</TD><TD>184:13.42</TD><TD>386.13 MB</TD><TD>0.4947</TD><TD>0.5105</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>338:34.96</TD><TD>339:23.24</TD><TD>386.22 MB</TD><TD>0.4948</TD><TD>0.5105</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 4 @ 4x)</TD><TD>105:15.85</TD><TD>106:36.23</TD><TD>386.21 MB</TD><TD>0.4948</TD><TD>0.5107</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 3 @ 2x)</TD><TD>92:48.79</TD><TD>93:49.75</TD><TD>386.52 MB</TD><TD>0.4952</TD><TD>0.5110</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 3 @ 1x)</TD><TD>161:51.00</TD><TD>162:10.62</TD><TD>386.55 MB</TD><TD>0.4952</TD><TD>0.5110</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 3 @ 4x)</TD><TD>58:18.40</TD><TD>59:30.51</TD><TD>386.71 MB</TD><TD>0.4954</TD><TD>0.5114</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (extra high)</TD><TD>26:52.07</TD><TD>28:44.55</TD><TD>386.96 MB</TD><TD>0.4958</TD><TD>0.5119</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 2 @ 1x)</TD><TD>68:22.58</TD><TD>69:29.50</TD><TD>387.71 MB</TD><TD>0.4967</TD><TD>0.5128</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 2 @ 2x)</TD><TD>44:17.55</TD><TD>45:31.33</TD><TD>387.72 MB</TD><TD>0.4967</TD><TD>0.5129</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 2 @ 4x)</TD><TD>32:16.85</TD><TD>33:30.92</TD><TD>387.93 MB</TD><TD>0.4970</TD><TD>0.5133</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 1 @ 1x)</TD><TD>43:00.91</TD><TD>44:13.07</TD><TD>388.71 MB</TD><TD>0.4980</TD><TD>0.5146</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 1 @ 2x)</TD><TD>30:35.00</TD><TD>31:50.50</TD><TD>388.81 MB</TD><TD>0.4981</TD><TD>0.5147</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>24:19.58</TD><TD>25:37.44</TD><TD>389.04 MB</TD><TD>0.4984</TD><TD>0.5151</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (high)</TD><TD>13:59.07</TD><TD>15:30.69</TD><TD>391.76 MB</TD><TD>0.5019</TD><TD>0.5179</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 0 @ 1x)</TD><TD>20:51.21</TD><TD>22:08.44</TD><TD>394.35 MB</TD><TD>0.5052</TD><TD>0.5218</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 0 @ 2x)</TD><TD>17:59.86</TD><TD>19:20.53</TD><TD>394.48 MB</TD><TD>0.5054</TD><TD>0.5220</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>16:34.96</TD><TD>17:57.28</TD><TD>394.69 MB</TD><TD>0.5056</TD><TD>0.5223</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (normal)</TD><TD>11:42.34</TD><TD>13:11.29</TD><TD>395.04 MB</TD><TD>0.5061</TD><TD>0.5223</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RKAU 1.07 (normal)</TD><TD>53:46.74</TD><TD>23:31.10</TD><TD>395.71 MB</TD><TD>0.5070</TD><TD>0.5229</TD></TR>
- <TR><TD>RKAU 1.07 (high)</TD><TD>136:56.62</TD><TD>27:55.98</TD><TD>395.89 MB</TD><TD>0.5072</TD><TD>0.5235</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RKAU 1.07 (fast)</TD><TD>26:35.34</TD><TD>20:13.22</TD><TD>399.25 MB</TD><TD>0.5115</TD><TD>0.5262</TD></TR>
- <TR><TD>WavPack 3.97a (high)</TD><TD>13:32.02</TD><TD>14:39.12</TD><TD>399.60 MB</TD><TD>0.5119</TD><TD>0.5278</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>LPAC 1.40 (-r, medium)</TD><TD>18:52.79</TD><TD>10:43.32</TD><TD>403.52 MB</TD><TD>0.5170</TD><TD>0.5319</TD></TR>
- <TR><TD>LPAC 1.40 (-r, extra high)</TD><TD>30:30.93</TD><TD>12:20.26</TD><TD>404.08 MB</TD><TD>0.5177</TD><TD>0.5322</TR>
- <TR BGCOLOR="#E0E0E0"><TD>LPAC 1.40 (-r, high)</TD><TD>24:56.56</TD><TD>11:51.64</TD><TD>404.03 MB</TD><TD>0.5176</TD><TD>0.5323</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (fast)</TD><TD>9:05.59</TD><TD>10:51.09</TD><TD>401.63 MB</TD><TD>0.5145</TD><TD>0.5327</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (normal)</TD><TD>6:50.12</TD><TD>8:13.41</TD><TD>409.33 MB</TD><TD>0.5244</TD><TD>0.5424</TD></TR>
- <TR><TD>flac 1.1.0 (-8)</TD><TD>55:02.38</TD><TD>7:07.59</TD><TD>411.88 MB</TD><TD>0.5277</TD><TD>0.5437</TD></TR>
- <TR BGCOLOR="#C0C0C0"><TD>flac 1.1.0 (-5, default)</TD><TD>12:54.19</TD><TD>7:08.80</TD><TD>413.46 MB</TD><TD>0.5297</TD><TD>0.5459</TD></TR>
- <TR><TD>Bonk 0.5</TD><TD>36:56.36</TD><TD>27:09.35</TD><TD>418.65 MB</TD><TD>0.5364</TD><TD>0.5543</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>flac 1.1.0 (-3)</TD><TD>9:51.58</TD><TD>7:00.92</TD><TD>419.29 MB</TD><TD>0.5372</TD><TD>0.5544</TD></TR>
- <TR><TD>flac 1.1.0 (-1)</TD><TD>8:37.94</TD><TD>7:15.87</TD><TD>432.32 MB</TD><TD>0.5539</TD><TD>0.5706</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>431.08 MB</TD><TD>0.5522</TD><TD>0.5714</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>9:44.48</TD><TD>6:31.74</TD><TD>433.56 MB</TD><TD>0.5555</TD><TD>0.5729</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Kexis 0.2.2</TD><TD>17:49.06</TD><TD>14:53.90</TD><TD>434.33 MB</TD><TD>0.5564</TD><TD>0.5750</TD></TR>
- <TR><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>12:00.04</TD><TD>7:25.12</TD><TD>438.86 MB</TD><TD>0.5622</TD><TD>0.5810</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (fast)</TD><TD>5:20.17</TD><TD>5:12.38</TD><TD>441.88 MB</TD><TD>0.5661</TD><TD>0.5857</TD></TR>
- <TR><TD>WaveZIP</TD><TD>8:41.72</TD><TD>?</TD><TD>452.95 MB</TD><TD>0.5802</TD><TD>0.5986</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RIFF WAVE</TD><TD>70:11.90</TD><TD>70:11.90</TD><TD>780.56 MB</TD><TD>1.0000</TD><TD>1.0000</TD></TR>
-
-
-</TABLE>
-
-
-<P><I>Òàáëèöà 4. Ðåçóëüòàòû äëÿ îòäåëüíûõ òðåêîâ</I>.</P>
-
-<P>
-<TABLE WIDTH="100%" BORDER="1">
-<TR><TD ALIGN="RIGHT">
-<FONT SIZE="+1">Òðåê</FONT></TD>
-<TD BGCOLOR="#F0F0F0">
-<FONT SIZE="+1">Êîäåê</FONT></TD>
-<TD BGCOLOR="#F0F0F0">
-<FONT SIZE="+1">Âðåìÿ<BR>ñæàòèÿ</FONT></TD>
-<TD BGCOLOR="#F0F0F0">
-<FONT SIZE="+1">Âðåìÿ<BR>ðàñïàêîâêè</FONT></TD>
-<TD BGCOLOR="#F0F0F0">
-<FONT SIZE="+1">Ñæàòûé<BR>ðàçìåð</FONT></TD>
-<TD BGCOLOR="#F0F0F0">
-<FONT SIZE="+1">Óðîâåíü<BR>ñæàòèÿ</FONT></TD></TR>
-
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="26">
- Dream Theater<BR><I>6:00</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#E0E0E0" -->
- <TR><TD>La 0.3c</TD><TD>11:37.69</TD><TD>11:15.37</TD><TD>42.72 MB</TD><TD>0.7306</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (extra high)</TD><TD>2:05.36</TD><TD>2:13.44</TD><TD>43.24 MB</TD><TD>0.7395</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>1:53.28</TD><TD>2:00.45</TD><TD>43.26 MB</TD><TD>0.7398</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>25:32.41</TD><TD>25:38.15</TD><TD>43.26 MB</TD><TD>0.7398</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (high)</TD><TD>1:07.92</TD><TD>1:13.20</TD><TD>43.39 MB</TD><TD>0.7421</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>1:17.95</TD><TD>1:25.67</TD><TD>43.42 MB</TD><TD>0.7426</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (normal)</TD><TD>0:57.04</TD><TD>1:03.37</TD><TD>43.48 MB</TD><TD>0.7436</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (high)</TD><TD>1:10.34</TD><TD>1:08.61</TD><TD>43.49 MB</TD><TD>0.7438</TD></TR>
- <TR><TD>RKAU 1.07 (normal)</TD><TD>1:57.68</TD><TD>1:33.38</TD><TD>43.81 MB</TD><TD>0.7493</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (fast)</TD><TD>0:44.33</TD><TD>0:51.22</TD><TD>43.97 MB</TD><TD>0.7520</TD></TR>
- <TR><TD>LPAC 1.40 (-r, normal)</TD><TD>1:27.61</TD><TD>0:56.18</TD><TD>44.12 MB</TD><TD>0.7545</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>flac 1.1.0 (-8)</TD><TD>4:18.72</TD><TD>0:37.28</TD><TD>44.33 MB</TD><TD>0.7582</TD></TR>
- <TR><TD>WavPack 3.97a (normal)</TD><TD>0:40.24</TD><TD>0:40.70</TD><TD>44.34 MB</TD><TD>0.7583</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Bonk 0.5</TD><TD>2:56.03</TD><TD>2:11.58</TD><TD>44.35 MB</TD><TD>0.7585</TD></TR>
- <TR BGCOLOR="#C0C0C0"><TD>flac 1.1.0 (-5, default)</TD><TD>1:01.31</TD><TD>0:37.01</TD><TD>44.41 MB</TD><TD>0.7595</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:58.81</TD><TD>0:37.63</TD><TD>44.75 MB</TD><TD>0.7654</TD></TR>
- <TR><TD>flac 1.1.0 (-3)</TD><TD>0:49.05</TD><TD>0:36.44</TD><TD>44.78 MB</TD><TD>0.7659</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>45.17 MB</TD><TD>0.7725</TD></TR>
- <TR><TD>Pegasus-SPS</TD><TD>4:45.00</TD><TD>?</TD><TD>45.40 MB</TD><TD>0.7765</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (fast)</TD><TD>0:18.66</TD><TD>0:18.59</TD><TD>46.31 MB</TD><TD>0.7920</TD></TR>
- <TR><TD>Kexis 0.2.2</TD><TD>1:24.83</TD><TD>1:10.93</TD><TD>46.52 MB</TD><TD>0.7956</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>flac 1.1.0 (-1)</TD><TD>0:44.00</TD><TD>0:36.91</TD><TD>46.65 MB</TD><TD>0.7978</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:47.75</TD><TD>0:32.56</TD><TD>46.68 MB</TD><TD>0.7984</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WaveZIP</TD><TD>0:38.99</TD><TD>?</TD><TD>47.22 MB</TD><TD>0.8077</TD></TR>
- <TR><TD>RIFF WAVE</TD><TD>5:47.56</TD><TD>5:47.56</TD><TD>58.47 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="25">
- Eddie Warner<BR><I>Titus</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#E0E0E0" -->
- <TR><TD>La 0.3c</TD><TD>5:24.56</TD><TD>5:13.29</TD><TD>14.76 MB</TD><TD>0.5298</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>LPAC 1.40 (-r, normal)</TD><TD>0:40.76</TD><TD>0:21.21</TD><TD>14.77 MB</TD><TD>0.5298</TD></TR>
- <TR><TD>flac 1.1.0 (-8)</TD><TD>1:57.87</TD><TD>0:15.05</TD><TD>15.01 MB</TD><TD>0.5385</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>0:53.39</TD><TD>0:55.52</TD><TD>15.01 MB</TD><TD>0.5385</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>12:02.54</TD><TD>12:03.76</TD><TD>15.02 MB</TD><TD>0.5390</TD></TR>
- <TR BGCOLOR="#C0C0C0"><TD>flac 1.1.0 (-5, default)</TD><TD>0:28.17</TD><TD>0:15.05</TD><TD>15.12 MB</TD><TD>0.5424</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>0:36.81</TD><TD>0:39.19</TD><TD>15.13 MB</TD><TD>0.5429</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RKAU 1.07 (normal)</TD><TD>0:54.82</TD><TD>0:42.71</TD><TD>15.15 MB</TD><TD>0.5435</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (extra high)</TD><TD>0:58.52</TD><TD>1:01.81</TD><TD>15.25 MB</TD><TD>0.5471</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (high)</TD><TD>0:30.88</TD><TD>0:33.55</TD><TD>15.34 MB</TD><TD>0.5505</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (normal)</TD><TD>0:25.45</TD><TD>0:28.37</TD><TD>15.35 MB</TD><TD>0.5509</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>flac 1.1.0 (-3)</TD><TD>0:22.21</TD><TD>0:14.72</TD><TD>15.43 MB</TD><TD>0.5538</TD></TR>
- <TR><TD>WavPack 3.97a (high)</TD><TD>0:32.15</TD><TD>0:31.18</TD><TD>15.57 MB</TD><TD>0.5585</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (fast)</TD><TD>0:19.85</TD><TD>0:22.90</TD><TD>15.58 MB</TD><TD>0.5592</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:21.16</TD><TD>0:13.55</TD><TD>15.78 MB</TD><TD>0.5662</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (normal)</TD><TD>0:18.25</TD><TD>0:17.67</TD><TD>15.86 MB</TD><TD>0.5692</TD></TR>
- <TR><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:26.82</TD><TD>0:16.75</TD><TD>16.21 MB</TD><TD>0.5818</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>flac 1.1.0 (-1)</TD><TD>0:19.75</TD><TD>0:15.76</TD><TD>16.39 MB</TD><TD>0.5880</TD></TR>
- <TR><TD>Bonk 0.5</TD><TD>1:22.01</TD><TD>1:00.12</TD><TD>16.73 MB</TD><TD>0.6003</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>17.03 MB</TD><TD>0.6112</TD></TR>
- <TR><TD>Kexis 0.2.2</TD><TD>0:38.72</TD><TD>0:32.25</TD><TD>17.40 MB</TD><TD>0.6242</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (fast)</TD><TD>0:08.19</TD><TD>0:08.79</TD><TD>17.49 MB</TD><TD>0.6275</TD></TR>
- <TR><TD>WaveZIP</TD><TD>0:17.55</TD><TD>?</TD><TD>17.89 MB</TD><TD>0.6420</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RIFF WAVE</TD><TD>2:35.67</TD><TD>2:35.67</TD><TD>27.87 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="25">
- Tool<BR><I>Forty-six & 2</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#E0E0E0" -->
- <TR><TD>La 0.3c</TD><TD>12:34.97</TD><TD>12:09.08</TD><TD>37.42 MB</TD><TD>0.5824</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>27:58.28</TD><TD>28:01.87</TD><TD>37.96 MB</TD><TD>0.5907</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>2:03.43</TD><TD>2:09.27</TD><TD>38.15 MB</TD><TD>0.5937</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (extra high)</TD><TD>2:14.70</TD><TD>2:24.30</TD><TD>38.23 MB</TD><TD>0.5950</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (high)</TD><TD>1:09.82</TD><TD>1:18.09</TD><TD>38.42 MB</TD><TD>0.5979</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (normal)</TD><TD>0:58.69</TD><TD>1:07.02</TD><TD>38.59 MB</TD><TD>0.6005</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>1:24.44</TD><TD>1:30.97</TD><TD>38.68 MB</TD><TD>0.6020</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (high)</TD><TD>1:02.47</TD><TD>1:14.54</TD><TD>38.86 MB</TD><TD>0.6048</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (fast)</TD><TD>0:46.50</TD><TD>0:55.41</TD><TD>39.18 MB</TD><TD>0.6098</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RKAU 1.07 (normal)</TD><TD>2:16.00</TD><TD>1:41.84</TD><TD>39.42 MB</TD><TD>0.6135</TD></TR>
- <TR><TD>WavPack 3.97a (normal)</TD><TD>0:29.07</TD><TD>0:42.87</TD><TD>39.92 MB</TD><TD>0.6213</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>LPAC 1.40 (-r, normal)</TD><TD>1:38.01</TD><TD>0:57.56</TD><TD>40.25 MB</TD><TD>0.6263</TD></TR>
- <TR><TD>flac 1.1.0 (-8)</TD><TD>4:35.08</TD><TD>0:39.40</TD><TD>40.89 MB</TD><TD>0.6363</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Bonk 0.5</TD><TD>3:07.20</TD><TD>2:21.28</TD><TD>40.98 MB</TD><TD>0.6378</TD></TR>
- <TR BGCOLOR="#C0C0C0"><TD>flac 1.1.0 (-5, default)</TD><TD>1:05.54</TD><TD>0:39.65</TD><TD>41.04 MB</TD><TD>0.6388</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>flac 1.1.0 (-3)</TD><TD>0:50.18</TD><TD>0:38.92</TD><TD>41.74 MB</TD><TD>0.6496</TD></TR>
- <TR><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>42.27 MB</TD><TD>0.6578</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>flac 1.1.0 (-1)</TD><TD>0:45.83</TD><TD>0:40.89</TD><TD>42.70 MB</TD><TD>0.6646</TD></TR>
- <TR><TD>Kexis 0.2.2</TD><TD>1:30.09</TD><TD>1:16.29</TD><TD>42.75 MB</TD><TD>0.6652</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>1:02.42</TD><TD>0:37.84</TD><TD>43.06 MB</TD><TD>0.6701</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:51.29</TD><TD>0:34.59</TD><TD>43.18 MB</TD><TD>0.6721</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (fast)</TD><TD>0:31.26</TD><TD>0:28.79</TD><TD>43.65 MB</TD><TD>0.6794</TD></TR>
- <TR><TD>WaveZIP</TD><TD>0:42.84</TD><TD>?</TD><TD>44.52 MB</TD><TD>0.6930</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RIFF WAVE</TD><TD>6:21.92</TD><TD>6:21.92</TD><TD>64.25 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="25">
- Cannibal Corpse<BR><I>Mummified In Barbed Wire</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#E0E0E0" -->
- <TR><TD>La 0.3c</TD><TD>6:35.94</TD><TD>6:23.57</TD><TD>22.69 MB</TD><TD>0.6798</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (extra high)</TD><TD>1:10.94</TD><TD>1:15.92</TD><TD>22.95 MB</TD><TD>0.6876</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>14:34.28</TD><TD>14:37.69</TD><TD>22.95 MB</TD><TD>0.6877</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (high)</TD><TD>0:37.63</TD><TD>0:41.34</TD><TD>23.19 MB</TD><TD>0.6948</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (normal)</TD><TD>0:31.71</TD><TD>0:34.87</TD><TD>23.26 MB</TD><TD>0.6968</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>1:03.96</TD><TD>1:08.85</TD><TD>23.31 MB</TD><TD>0.6984</TD></TR>
- <TR><TD>RKAU 1.07 (normal)</TD><TD>1:09.71</TD><TD>0:56.66</TD><TD>23.34 MB</TD><TD>0.6993</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>LPAC 1.40 (-r, normal)</TD><TD>1:05.38</TD><TD>0:36.20</TD><TD>23.53 MB</TD><TD>0.7050</TD></TR>
- <TR><TD>WavPack 3.97a (high)</TD><TD>0:32.99</TD><TD>0:40.05</TD><TD>23.57 MB</TD><TD>0.7062</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>0:44.14</TD><TD>0:48.71</TD><TD>23.95 MB</TD><TD>0.7176</TD></TR>
- <TR><TD>flac 1.1.0 (-8)</TD><TD>2:25.59</TD><TD>0:20.85</TD><TD>24.18 MB</TD><TD>0.7245</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (fast)</TD><TD>0:25.05</TD><TD>0:28.99</TD><TD>24.20 MB</TD><TD>0.7250</TD></TR>
- <TR BGCOLOR="#C0C0C0"><TD>flac 1.1.0 (-5, default)</TD><TD>0:34.66</TD><TD>0:21.42</TD><TD>24.30 MB</TD><TD>0.7282</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Bonk 0.5</TD><TD>1:40.38</TD><TD>1:14.58</TD><TD>24.36 MB</TD><TD>0.7297</TD></TR>
- <TR><TD>WavPack 3.97a (normal)</TD><TD>0:15.99</TD><TD>0:23.50</TD><TD>24.76 MB</TD><TD>0.7418</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:33.74</TD><TD>0:22.47</TD><TD>25.12 MB</TD><TD>0.7526</TD></TR>
- <TR><TD>flac 1.1.0 (-3)</TD><TD>0:27.40</TD><TD>0:20.11</TD><TD>25.16 MB</TD><TD>0.7539</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>25.23 MB</TD><TD>0.7558</TD></TR>
- <TR><TD>Kexis 0.2.2</TD><TD>0:47.13</TD><TD>0:40.67</TD><TD>26.03 MB</TD><TD>0.7799</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>flac 1.1.0 (-1)</TD><TD>0:24.04</TD><TD>0:21.68</TD><TD>26.10 MB</TD><TD>0.7819</TD></TR>
- <TR><TD>WavPack 3.97a (fast)</TD><TD>0:16.79</TD><TD>0:21.64</TD><TD>26.17 MB</TD><TD>0.7841</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:28.20</TD><TD>0:20.46</TD><TD>26.61 MB</TD><TD>0.7972</TD></TR>
- <TR><TD>WaveZIP</TD><TD>0:22.25</TD><TD>?</TD><TD>26.89 MB</TD><TD>0.8058</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RIFF WAVE</TD><TD>3:18.36</TD><TD>3:18.36</TD><TD>33.37 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="25">
- Alanis Morisette<BR><I>Hand In My Pocket</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#E0E0E0" -->
- <TR><TD>La 0.3c</TD><TD>7:35.21</TD><TD>7:20.19</TD><TD>20.77 MB</TD><TD>0.5312</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>16:51.82</TD><TD>16:54.34</TD><TD>21.24 MB</TD><TD>0.5433</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>1:14.29</TD><TD>1:18.06</TD><TD>21.36 MB</TD><TD>0.5464</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (extra high)</TD><TD>1:21.38</TD><TD>1:27.28</TD><TD>21.54 MB</TD><TD>0.5509</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (high)</TD><TD>0:42.54</TD><TD>0:47.41</TD><TD>21.75 MB</TD><TD>0.5563</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (normal)</TD><TD>0:35.45</TD><TD>0:39.65</TD><TD>21.84 MB</TD><TD>0.5586</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>0:51.39</TD><TD>0:54.97</TD><TD>21.89 MB</TD><TD>0.5598</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (fast)</TD><TD>0:28.23</TD><TD>0:33.21</TD><TD>22.16 MB</TD><TD>0.5668</TD></TR>
- <TR><TD>WavPack 3.97a (high)</TD><TD>0:45.07</TD><TD>0:43.88</TD><TD>22.28 MB</TD><TD>0.5699</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (normal)</TD><TD>0:25.40</TD><TD>0:24.80</TD><TD>22.80 MB</TD><TD>0.5832</TD></TR>
- <TR><TD>RKAU 1.07 (normal)</TD><TD>1:21.18</TD><TD>1:01.60</TD><TD>22.80 MB</TD><TD>0.5833</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>LPAC 1.40 (-r, normal)</TD><TD>1:01.11</TD><TD>0:33.79</TD><TD>23.25 MB</TD><TD>0.5948</TD></TR>
- <TR><TD>Bonk 0.5</TD><TD>1:53.41</TD><TD>1:23.52</TD><TD>23.35 MB</TD><TD>0.5972</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>flac 1.1.0 (-8)</TD><TD>2:46.09</TD><TD>0:23.14</TD><TD>23.45 MB</TD><TD>0.5998</TD></TR>
- <TR BGCOLOR="#C0C0C0"><TD>flac 1.1.0 (-5, default)</TD><TD>0:39.82</TD><TD>0:21.81</TD><TD>23.56 MB</TD><TD>0.6026</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>24.11 MB</TD><TD>0.6167</TD></TR>
- <TR><TD>flac 1.1.0 (-3)</TD><TD>0:30.58</TD><TD>0:22.05</TD><TD>24.32 MB</TD><TD>0.6221</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:37.49</TD><TD>0:22.93</TD><TD>24.72 MB</TD><TD>0.6323</TD></TR>
- <TR><TD>Kexis 0.2.2</TD><TD>0:54.26</TD><TD>0:45.64</TD><TD>24.80 MB</TD><TD>0.6345</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>flac 1.1.0 (-1)</TD><TD>0:26.46</TD><TD>0:22.14</TD><TD>24.82 MB</TD><TD>0.6348</TD></TR>
- <TR><TD>WavPack 3.97a (fast)</TD><TD>0:16.67</TD><TD>0:17.02</TD><TD>24.94 MB</TD><TD>0.6381</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:29.71</TD><TD>0:18.92</TD><TD>25.34 MB</TD><TD>0.6481</TD></TR>
- <TR><TD>WaveZIP</TD><TD>0:28.05</TD><TD>?</TD><TD>25.95 MB</TD><TD>0.6638</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RIFF WAVE</TD><TD>3:52.36</TD><TD>3:52.36</TD><TD>39.09 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="25">
- Gloria Estefan<BR><I>Conga</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#E0E0E0" -->
- <TR><TD>La 0.3c</TD><TD>8:52.93</TD><TD>8:34.81</TD><TD>28.98 MB</TD><TD>0.6419</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>19:40.53</TD><TD>19:44.47</TD><TD>29.43 MB</TD><TD>0.6517</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>1:26.64</TD><TD>1:32.23</TD><TD>29.58 MB</TD><TD>0.6550</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (extra high)</TD><TD>1:35.65</TD><TD>1:42.11</TD><TD>29.65 MB</TD><TD>0.6567</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>0:59.59</TD><TD>1:05.29</TD><TD>29.78 MB</TD><TD>0.6595</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (high)</TD><TD>0:50.17</TD><TD>0:56.40</TD><TD>29.85 MB</TD><TD>0.6610</TD></TR>
- <TR><TD>WavPack 3.97a (high)</TD><TD>0:53.50</TD><TD>0:51.90</TD><TD>29.92 MB</TD><TD>0.6625</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (normal)</TD><TD>0:42.27</TD><TD>0:47.74</TD><TD>29.97 MB</TD><TD>0.6637</TD></TR>
- <TR><TD>WavPack 3.97a (normal)</TD><TD>0:29.84</TD><TD>0:29.92</TD><TD>30.28 MB</TD><TD>0.6706</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (fast)</TD><TD>0:33.46</TD><TD>0:39.22</TD><TD>30.30 MB</TD><TD>0.6710</TD></TR>
- <TR><TD>RKAU 1.07 (normal)</TD><TD>1:37.85</TD><TD>1:12.15</TD><TD>30.34 MB</TD><TD>0.6719</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Bonk 0.5</TD><TD>2:13.34</TD><TD>1:39.44</TD><TD>30.64 MB</TD><TD>0.6785</TD></TR>
- <TR><TD>flac 1.1.0 (-8)</TD><TD>3:16.07</TD><TD>0:27.53</TD><TD>30.76 MB</TD><TD>0.6811</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>LPAC 1.40 (-r, normal)</TD><TD>1:14.08</TD><TD>0:44.64</TD><TD>30.81 MB</TD><TD>0.6823</TD></TR>
- <TR BGCOLOR="#C0C0C0"><TD>flac 1.1.0 (-5, default)</TD><TD>0:46.30</TD><TD>0:26.74</TD><TD>30.86 MB</TD><TD>0.6834</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>31.06 MB</TD><TD>0.6879</TD></TR>
- <TR><TD>WavPack 3.97a (fast)</TD><TD>0:13.31</TD><TD>0:14.15</TD><TD>31.61 MB</TD><TD>0.7000</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>flac 1.1.0 (-3)</TD><TD>0:35.88</TD><TD>0:27.65</TD><TD>31.63 MB</TD><TD>0.7006</TD></TR>
- <TR><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:44.76</TD><TD>0:27.48</TD><TD>31.76 MB</TD><TD>0.7034</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Kexis 0.2.2</TD><TD>1:03.91</TD><TD>0:53.54</TD><TD>31.86 MB</TD><TD>0.7056</TD></TR>
- <TR><TD>flac 1.1.0 (-1)</TD><TD>0:32.51</TD><TD>0:27.30</TD><TD>31.99 MB</TD><TD>0.7085</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:35.74</TD><TD>0:23.64</TD><TD>32.47 MB</TD><TD>0.7191</TD></TR>
- <TR><TD>WaveZIP</TD><TD>0:29.42</TD><TD>?</TD><TD>33.02 MB</TD><TD>0.7313</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RIFF WAVE</TD><TD>4:28.39</TD><TD>4:28.39</TD><TD>45.15 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="25">
- Cream<BR><I>White Room</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#E0E0E0" -->
- <TR><TD>La 0.3c</TD><TD>10:24.08</TD><TD>10:03.16</TD><TD>33.44 MB</TD><TD>0.6309</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>22:59.05</TD><TD>23:02.98</TD><TD>33.93 MB</TD><TD>0.6399</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>1:42.28</TD><TD>1:47.55</TD><TD>33.96 MB</TD><TD>0.6405</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (extra high)</TD><TD>1:51.77</TD><TD>2:00.37</TD><TD>34.14 MB</TD><TD>0.6441</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (high)</TD><TD>0:58.45</TD><TD>1:04.59</TD><TD>34.29 MB</TD><TD>0.6468</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>1:10.30</TD><TD>1:15.99</TD><TD>34.29 MB</TD><TD>0.6468</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (normal)</TD><TD>0:49.32</TD><TD>0:56.89</TD><TD>34.42 MB</TD><TD>0.6493</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (high)</TD><TD>0:51.50</TD><TD>1:02.71</TD><TD>34.55 MB</TD><TD>0.6516</TD></TR>
- <TR><TD>RKAU 1.07 (normal)</TD><TD>1:50.80</TD><TD>1:24.98</TD><TD>34.60 MB</TD><TD>0.6527</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>LPAC 1.40 (-r, normal)</TD><TD>1:25.16</TD><TD>0:48.67</TD><TD>34.84 MB</TD><TD>0.6572</TD></TR>
- <TR><TD>Bonk 0.5</TD><TD>2:35.36</TD><TD>1:56.20</TD><TD>34.96 MB</TD><TD>0.6595</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (fast)</TD><TD>0:38.75</TD><TD>0:46.80</TD><TD>34.99 MB</TD><TD>0.6601</TD></TR>
- <TR><TD>flac 1.1.0 (-8)</TD><TD>3:48.73</TD><TD>0:31.91</TD><TD>34.99 MB</TD><TD>0.6601</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (normal)</TD><TD>0:24.43</TD><TD>0:36.09</TD><TD>35.08 MB</TD><TD>0.6617</TD></TR>
- <TR BGCOLOR="#C0C0C0"><TD>flac 1.1.0 (-5, default)</TD><TD>0:54.89</TD><TD>0:33.82</TD><TD>35.16 MB</TD><TD>0.6633</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>flac 1.1.0 (-3)</TD><TD>0:41.38</TD><TD>0:32.00</TD><TD>35.36 MB</TD><TD>0.6671</TD></TR>
- <TR><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:51.44</TD><TD>0:33.02</TD><TD>35.40 MB</TD><TD>0.6677</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>35.74 MB</TD><TD>0.6742</TD></TR>
- <TR><TD>WavPack 3.97a (fast)</TD><TD>0:26.00</TD><TD>0:24.83</TD><TD>36.32 MB</TD><TD>0.6852</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:41.14</TD><TD>0:28.91</TD><TD>36.42 MB</TD><TD>0.6870</TD></TR>
- <TR><TD>flac 1.1.0 (-1)</TD><TD>0:36.87</TD><TD>0:33.39</TD><TD>36.56 MB</TD><TD>0.6897</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Kexis 0.2.2</TD><TD>1:13.87</TD><TD>1:02.90</TD><TD>36.64 MB</TD><TD>0.6911</TD></TR>
- <TR><TD>WaveZIP</TD><TD>0:35.77</TD><TD>?</TD><TD>37.13 MB</TD><TD>0.7004</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RIFF WAVE</TD><TD>5:15.11</TD><TD>5:15.11</TD><TD>53.01 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="25">
- Maurice Ravel<BR><I>Fanfare from "L'eventail de Jeanne"</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#E0E0E0" -->
- <TR><TD>La 0.3c</TD><TD>3:55.40</TD><TD>3:47.60</TD><TD>6.46 MB</TD><TD>0.3104</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>8:22.42</TD><TD>8:23.32</TD><TD>6.82 MB</TD><TD>0.3274</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (extra high)</TD><TD>0:39.93</TD><TD>0:41.69</TD><TD>6.85 MB</TD><TD>0.3289</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>0:36.57</TD><TD>0:38.26</TD><TD>7.09 MB</TD><TD>0.3406</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (high)</TD><TD>0:21.22</TD><TD>0:23.04</TD><TD>7.16 MB</TD><TD>0.3437</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RKAU 1.07 (normal)</TD><TD>0:40.67</TD><TD>0:28.52</TD><TD>7.18 MB</TD><TD>0.3451</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>0:24.98</TD><TD>0:26.37</TD><TD>7.21 MB</TD><TD>0.3462</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>LPAC 1.40 (-r, normal)</TD><TD>0:29.01</TD><TD>0:15.11</TD><TD>7.33 MB</TD><TD>0.3520</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (normal)</TD><TD>0:18.19</TD><TD>0:19.54</TD><TD>7.44 MB</TD><TD>0.3575</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (high)</TD><TD>0:22.63</TD><TD>0:21.86</TD><TD>7.45 MB</TD><TD>0.3577</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (fast)</TD><TD>0:13.70</TD><TD>0:15.72</TD><TD>7.64 MB</TD><TD>0.3671</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>flac 1.1.0 (-8)</TD><TD>1:20.73</TD><TD>0:09.51</TD><TD>7.69 MB</TD><TD>0.3692</TD></TR>
- <TR BGCOLOR="#C0C0C0"><TD>flac 1.1.0 (-5, default)</TD><TD>0:18.95</TD><TD>0:09.45</TD><TD>7.71 MB</TD><TD>0.3703</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>flac 1.1.0 (-3)</TD><TD>0:14.98</TD><TD>0:09.19</TD><TD>7.77 MB</TD><TD>0.3734</TD></TR>
- <TR><TD>WavPack 3.97a (normal)</TD><TD>0:12.56</TD><TD>0:11.95</TD><TD>7.83 MB</TD><TD>0.3760</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Bonk 0.5</TD><TD>0:55.92</TD><TD>0:40.23</TD><TD>7.83 MB</TD><TD>0.3762</TD></TR>
- <TR><TD>flac 1.1.0 (-1)</TD><TD>0:12.97</TD><TD>0:10.39</TD><TD>8.12 MB</TD><TD>0.3902</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>8.15 MB</TD><TD>0.3914</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:13.81</TD><TD>0:08.88</TD><TD>8.19 MB</TD><TD>0.3932</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:17.45</TD><TD>0:10.30</TD><TD>8.29 MB</TD><TD>0.3983</TD></TR>
- <TR><TD>Kexis 0.2.2</TD><TD>0:26.78</TD><TD>0:21.90</TD><TD>8.52 MB</TD><TD>0.4091</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WaveZIP</TD><TD>0:13.11</TD><TD>?</TD><TD>8.72 MB</TD><TD>0.4193</TD></TR>
- <TR><TD>WavPack 3.97a (fast)</TD><TD>0:05.35</TD><TD>0:06.33</TD><TD>8.87 MB</TD><TD>0.4259</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RIFF WAVE</TD><TD>2:03.76</TD><TD>2:03.76</TD><TD>20.82 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="25">
- Maurice Ravel<BR><I>String Quartet (4th movement)</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#E0E0E0" -->
- <TR><TD>La 0.3c</TD><TD>10:45.80</TD><TD>10:21.44</TD><TD>19.94 MB</TD><TD>0.3550</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (extra high)</TD><TD>1:54.09</TD><TD>2:01.72</TD><TD>20.47 MB</TD><TD>0.3642</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>24:26.99</TD><TD>24:29.36</TD><TD>20.62 MB</TD><TD>0.3671</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (high)</TD><TD>0:58.14</TD><TD>1:06.45</TD><TD>20.80 MB</TD><TD>0.3702</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>1:42.57</TD><TD>1:47.48</TD><TD>20.93 MB</TD><TD>0.3725</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (normal)</TD><TD>0:48.61</TD><TD>0:54.73</TD><TD>21.14 MB</TD><TD>0.3763</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>1:09.17</TD><TD>1:13.14</TD><TD>21.23 MB</TD><TD>0.3779</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RKAU 1.07 (normal)</TD><TD>1:52.65</TD><TD>1:25.39</TD><TD>21.30 MB</TD><TD>0.3791</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (fast)</TD><TD>0:37.30</TD><TD>0:44.79</TD><TD>21.54 MB</TD><TD>0.3835</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (high)</TD><TD>0:52.48</TD><TD>1:02.26</TD><TD>21.55 MB</TD><TD>0.3835</TD></TR>
- <TR><TD>LPAC 1.40 (-r, normal)</TD><TD>1:20.84</TD><TD>0:42.73</TD><TD>21.96 MB</TD><TD>0.3909</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (normal)</TD><TD>0:23.29</TD><TD>0:34.28</TD><TD>22.11 MB</TD><TD>0.3935</TD></TR>
- <TR><TD>flac 1.1.0 (-8)</TD><TD>3:53.93</TD><TD>0:28.02</TD><TD>22.61 MB</TD><TD>0.4025</TD></TR>
- <TR BGCOLOR="#C0C0C0"><TD>flac 1.1.0 (-5, default)</TD><TD>0:54.34</TD><TD>0:27.92</TD><TD>22.68 MB</TD><TD>0.4036</TD></TR>
- <TR><TD>Bonk 0.5</TD><TD>2:33.53</TD><TD>1:51.94</TD><TD>23.18 MB</TD><TD>0.4125</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>flac 1.1.0 (-3)</TD><TD>0:40.00</TD><TD>0:28.15</TD><TD>23.21 MB</TD><TD>0.4132</TD></TR>
- <TR><TD>flac 1.1.0 (-1)</TD><TD>0:34.99</TD><TD>0:27.73</TD><TD>23.36 MB</TD><TD>0.4158</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Kexis 0.2.2</TD><TD>1:15.05</TD><TD>1:03.86</TD><TD>23.42 MB</TD><TD>0.4168</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:39.96</TD><TD>0:27.36</TD><TD>23.71 MB</TD><TD>0.4221</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>24.12 MB</TD><TD>0.4293</TD></TR>
- <TR><TD>WavPack 3.97a (fast)</TD><TD>0:24.34</TD><TD>0:22.17</TD><TD>25.08 MB</TD><TD>0.4463</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:49.06</TD><TD>0:29.94</TD><TD>25.59 MB</TD><TD>0.4554</TD></TR>
- <TR><TD>WaveZIP</TD><TD>0:36.60</TD><TD>?</TD><TD>25.84 MB</TD><TD>0.4600</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RIFF WAVE</TD><TD>5:33.95</TD><TD>5:33.95</TD><TD>56.18 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="25">
- Sergei Prokofiev<BR><I>Piano Concerto No.3 (3rd movement)</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#E0E0E0" -->
- <TR><TD>La 0.3c</TD><TD>19:11.61</TD><TD>18:28.80</TD><TD>32.65 MB</TD><TD>0.3243</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>43:21.88</TD><TD>43:26.18</TD><TD>33.58 MB</TD><TD>0.3335</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (extra high)</TD><TD>3:21.33</TD><TD>3:35.91</TD><TD>33.72 MB</TD><TD>0.3349</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>3:00.57</TD><TD>3:08.19</TD><TD>33.83 MB</TD><TD>0.3360</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>2:00.85</TD><TD>2:09.52</TD><TD>34.14 MB</TD><TD>0.3390</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (high)</TD><TD>1:43.17</TD><TD>1:55.31</TD><TD>34.23 MB</TD><TD>0.3400</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (normal)</TD><TD>1:26.19</TD><TD>1:35.90</TD><TD>34.66 MB</TD><TD>0.3442</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RKAU 1.07 (normal)</TD><TD>3:08.70</TD><TD>2:26.17</TD><TD>35.21 MB</TD><TD>0.3496</TD></TR>
- <TR><TD>LPAC 1.40 (-r, normal)</TD><TD>2:06.21</TD><TD>1:11.92</TD><TD>35.27 MB</TD><TD>0.3502</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (high)</TD><TD>1:32.78</TD><TD>1:50.74</TD><TD>35.35 MB</TD><TD>0.3510</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (fast)</TD><TD>1:06.28</TD><TD>1:18.56</TD><TD>35.43 MB</TD><TD>0.3518</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (normal)</TD><TD>0:40.68</TD><TD>1:00.29</TD><TD>36.99 MB</TD><TD>0.3673</TD></TR>
- <TR><TD>flac 1.1.0 (-8)</TD><TD>6:51.48</TD><TD>0:49.47</TD><TD>38.07 MB</TD><TD>0.3781</TD></TR>
- <TR BGCOLOR="#C0C0C0"><TD>flac 1.1.0 (-5, default)</TD><TD>1:35.22</TD><TD>0:47.57</TD><TD>38.17 MB</TD><TD>0.3791</TD></TR>
- <TR><TD>flac 1.1.0 (-3)</TD><TD>1:10.67</TD><TD>0:46.40</TD><TD>38.51 MB</TD><TD>0.3824</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>flac 1.1.0 (-1)</TD><TD>1:01.44</TD><TD>0:53.40</TD><TD>39.30 MB</TD><TD>0.3903</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>1:10.57</TD><TD>0:50.00</TD><TD>39.49 MB</TD><TD>0.3921</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Kexis 0.2.2</TD><TD>2:12.39</TD><TD>1:49.00</TD><TD>39.89 MB</TD><TD>0.3962</TD></TR>
- <TR><TD>Bonk 0.5</TD><TD>4:33.71</TD><TD>3:19.38</TD><TD>40.31 MB</TD><TD>0.4003</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>41.86 MB</TD><TD>0.4157</TD></TR>
- <TR><TD>WavPack 3.97a (fast)</TD><TD>0:43.24</TD><TD>0:40.17</TD><TD>43.03 MB</TD><TD>0.4273</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WaveZIP</TD><TD>1:05.60</TD><TD>?</TD><TD>43.67 MB</TD><TD>0.4337</TD></TR>
- <TR><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>1:26.84</TD><TD>0:53.19</TD><TD>45.34 MB</TD><TD>0.4502</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RIFF WAVE</TD><TD>9:58.47</TD><TD>9:58.47</TD><TD>100.68 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="25">
- Frederic Chopin<BR><I>Prelude No.24 in d minor</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#E0E0E0" -->
- <TR><TD>La 0.3c</TD><TD>5:14.83</TD><TD>5:03.08</TD><TD>9.84 MB</TD><TD>0.3582</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (extra high)</TD><TD>0:55.83</TD><TD>0:59.52</TD><TD>10.25 MB</TD><TD>0.3734</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>11:56.24</TD><TD>11:58.77</TD><TD>10.34 MB</TD><TD>0.3764</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>0:50.07</TD><TD>0:53.49</TD><TD>10.41 MB</TD><TD>0.3790</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (high)</TD><TD>0:28.52</TD><TD>0:31.32</TD><TD>10.47 MB</TD><TD>0.3812</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>0:34.06</TD><TD>0:38.70</TD><TD>10.53 MB</TD><TD>0.3833</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (normal)</TD><TD>0:23.70</TD><TD>0:27.61</TD><TD>10.59 MB</TD><TD>0.3854</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>LPAC 1.40 (-r, normal)</TD><TD>0:34.91</TD><TD>0:20.01</TD><TD>10.74 MB</TD><TD>0.3911</TD></TR>
- <TR><TD>WavPack 3.97a (high)</TD><TD>0:31.43</TD><TD>0:28.95</TD><TD>10.76 MB</TD><TD>0.3919</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RKAU 1.07 (normal)</TD><TD>0:54.46</TD><TD>0:41.54</TD><TD>10.88 MB</TD><TD>0.3963</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (fast)</TD><TD>0:18.53</TD><TD>0:21.80</TD><TD>10.94 MB</TD><TD>0.3982</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (normal)</TD><TD>0:16.90</TD><TD>0:15.17</TD><TD>11.34 MB</TD><TD>0.4128</TD></TR>
- <TR><TD>flac 1.1.0 (-8)</TD><TD>1:53.31</TD><TD>0:13.06</TD><TD>11.69 MB</TD><TD>0.4256</TD></TR>
- <TR BGCOLOR="#C0C0C0"><TD>flac 1.1.0 (-5, default)</TD><TD>0:26.05</TD><TD>0:13.50</TD><TD>11.71 MB</TD><TD>0.4265</TD></TR>
- <TR><TD>flac 1.1.0 (-3)</TD><TD>0:19.82</TD><TD>0:13.25</TD><TD>11.74 MB</TD><TD>0.4274</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>flac 1.1.0 (-1)</TD><TD>0:17.61</TD><TD>0:13.80</TD><TD>11.86 MB</TD><TD>0.4319</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:19.20</TD><TD>0:11.89</TD><TD>12.05 MB</TD><TD>0.4386</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Kexis 0.2.2</TD><TD>0:36.70</TD><TD>0:30.26</TD><TD>12.14 MB</TD><TD>0.4419</TD></TR>
- <TR><TD>Bonk 0.5</TD><TD>1:15.45</TD><TD>0:55.07</TD><TD>12.86 MB</TD><TD>0.4684</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WaveZIP</TD><TD>0:18.75</TD><TD>?</TD><TD>13.08 MB</TD><TD>0.4765</TD></TR>
- <TR><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>13.31 MB</TD><TD>0.4845</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (fast)</TD><TD>0:06.74</TD><TD>0:08.51</TD><TD>13.67 MB</TD><TD>0.4978</TD></TR>
- <TR><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:24.43</TD><TD>0:14.32</TD><TD>14.40 MB</TD><TD>0.5242</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RIFF WAVE</TD><TD>2:43.23</TD><TD>2:43.23</TD><TD>27.46 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="25">
- Domenico Scarlatti<BR><I>Sonata K.42 (arr.Yepes for guitar)</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#E0E0E0" -->
- <TR><TD>La 0.3c</TD><TD>3:09.33</TD><TD>3:01.82</TD><TD>6.62 MB</TD><TD>0.4036</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (extra high)</TD><TD>0:33.99</TD><TD>0:35.53</TD><TD>6.80 MB</TD><TD>0.4145</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>7:08.77</TD><TD>7:09.52</TD><TD>6.87 MB</TD><TD>0.4190</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (high)</TD><TD>0:17.47</TD><TD>0:19.11</TD><TD>6.94 MB</TD><TD>0.4230</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>0:30.47</TD><TD>0:31.95</TD><TD>6.98 MB</TD><TD>0.4255</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (normal)</TD><TD>0:14.84</TD><TD>0:16.17</TD><TD>7.02 MB</TD><TD>0.4284</TD></TR>
- <TR><TD>RKAU 1.07 (normal)</TD><TD>0:37.09</TD><TD>0:26.56</TD><TD>7.05 MB</TD><TD>0.4297</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>0:20.68</TD><TD>0:22.06</TD><TD>7.07 MB</TD><TD>0.4310</TD></TR>
- <TR><TD>WavPack 3.97a (high)</TD><TD>0:15.50</TD><TD>0:18.31</TD><TD>7.12 MB</TD><TD>0.4340</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (fast)</TD><TD>0:11.39</TD><TD>0:12.95</TD><TD>7.19 MB</TD><TD>0.4384</TD></TR>
- <TR><TD>LPAC 1.40 (-r, normal)</TD><TD>0:29.99</TD><TD>0:14.33</TD><TD>7.21 MB</TD><TD>0.4397</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (normal)</TD><TD>0:07.01</TD><TD>0:10.27</TD><TD>7.31 MB</TD><TD>0.4460</TD></TR>
- <TR><TD>flac 1.1.0 (-8)</TD><TD>1:08.58</TD><TD>0:07.99</TD><TD>7.37 MB</TD><TD>0.4498</TD></TR>
- <TR BGCOLOR="#C0C0C0"><TD>flac 1.1.0 (-5, default)</TD><TD>0:15.90</TD><TD>0:08.71</TD><TD>7.40 MB</TD><TD>0.4513</TD></TR>
- <TR><TD>flac 1.1.0 (-3)</TD><TD>0:11.84</TD><TD>0:08.26</TD><TD>7.43 MB</TD><TD>0.4530</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Bonk 0.5</TD><TD>0:45.59</TD><TD>0:32.63</TD><TD>7.46 MB</TD><TD>0.4548</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:11.67</TD><TD>0:07.17</TD><TD>7.48 MB</TD><TD>0.4564</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Kexis 0.2.2</TD><TD>0:22.06</TD><TD>0:18.62</TD><TD>7.50 MB</TD><TD>0.4572</TD></TR>
- <TR><TD>flac 1.1.0 (-1)</TD><TD>0:10.17</TD><TD>0:07.85</TD><TD>7.53 MB</TD><TD>0.4591</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (fast)</TD><TD>0:04.11</TD><TD>0:06.57</TD><TD>7.58 MB</TD><TD>0.4624</TD></TR>
- <TR><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>7.74 MB</TD><TD>0.4723</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WaveZIP</TD><TD>0:10.56</TD><TD>?</TD><TD>7.83 MB</TD><TD>0.4781</TD></TR>
- <TR><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:14.29</TD><TD>0:09.07</TD><TD>8.20 MB</TD><TD>0.5004</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RIFF WAVE</TD><TD>1:37.43</TD><TD>1:37.43</TD><TD>16.39 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="25">
- The Benedictine Monks of<BR>Santo Domingo de Silos<BR><I>Laetatus sum</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#E0E0E0" -->
- <TR><TD>La 0.3c</TD><TD>4:40.71</TD><TD>4:32.29</TD><TD>11.94 MB</TD><TD>0.4922</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (extra high)</TD><TD>0:50.72</TD><TD>0:54.20</TD><TD>12.15 MB</TD><TD>0.5006</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>10:34.75</TD><TD>10:36.83</TD><TD>12.17 MB</TD><TD>0.5015</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (high)</TD><TD>0:26.36</TD><TD>0:28.52</TD><TD>12.25 MB</TD><TD>0.5048</TD></TR>
- <TR><TD>RKAU 1.07 (normal)</TD><TD>0:57.64</TD><TD>0:41.39</TD><TD>12.25 MB</TD><TD>0.5049</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>0:45.20</TD><TD>0:48.45</TD><TD>12.43 MB</TD><TD>0.5121</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (normal)</TD><TD>0:21.81</TD><TD>0:24.33</TD><TD>12.47 MB</TD><TD>0.5139</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>LPAC 1.40 (-r, normal)</TD><TD>0:45.66</TD><TD>0:23.29</TD><TD>12.62 MB</TD><TD>0.5200</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>0:31.03</TD><TD>0:33.69</TD><TD>12.63 MB</TD><TD>0.5207</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (high)</TD><TD>0:28.01</TD><TD>0:27.43</TD><TD>12.65 MB</TD><TD>0.5213</TD></TR>
- <TR><TD>Bonk 0.5</TD><TD>1:08.18</TD><TD>0:49.70</TD><TD>12.71 MB</TD><TD>0.5237</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (fast)</TD><TD>0:16.91</TD><TD>0:20.60</TD><TD>12.80 MB</TD><TD>0.5277</TD></TR>
- <TR><TD>flac 1.1.0 (-8)</TD><TD>1:43.74</TD><TD>0:13.23</TD><TD>12.82 MB</TD><TD>0.5286</TD></TR>
- <TR BGCOLOR="#C0C0C0"><TD>flac 1.1.0 (-5, default)</TD><TD>0:24.12</TD><TD>0:13.08</TD><TD>12.92 MB</TD><TD>0.5325</TD></TR>
- <TR><TD>WavPack 3.97a (normal)</TD><TD>0:15.61</TD><TD>0:15.35</TD><TD>12.98 MB</TD><TD>0.5348</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>flac 1.1.0 (-3)</TD><TD>0:18.80</TD><TD>0:13.85</TD><TD>12.98 MB</TD><TD>0.5349</TD></TR>
- <TR><TD>WavPack 3.97a (fast)</TD><TD>0:11.07</TD><TD>0:10.38</TD><TD>13.30 MB</TD><TD>0.5481</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Kexis 0.2.2</TD><TD>0:33.43</TD><TD>0:28.11</TD><TD>13.30 MB</TD><TD>0.5481</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:17.80</TD><TD>0:11.46</TD><TD>13.32 MB</TD><TD>0.5489</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>flac 1.1.0 (-1)</TD><TD>0:15.60</TD><TD>0:12.82</TD><TD>13.34 MB</TD><TD>0.5500</TD></TR>
- <TR><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>13.41 MB</TD><TD>0.5528</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:22.30</TD><TD>0:13.87</TD><TD>13.42 MB</TD><TD>0.5531</TD></TR>
- <TR><TD>WaveZIP</TD><TD>0:16.37</TD><TD>?</TD><TD>13.72 MB</TD><TD>0.5655</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RIFF WAVE</TD><TD>2:24.21</TD><TD>2:24.21</TD><TD>24.26 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="25">
- L. Subramaniam<BR><I>Raga Sivapriya</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#E0E0E0" -->
- <TR><TD>La 0.3c</TD><TD>41:10.10</TD><TD>39:35.28</TD><TD>87.51 MB</TD><TD>0.4097</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (extra high)</TD><TD>7:17.86</TD><TD>7:50.75</TD><TD>91.73 MB</TD><TD>0.4295</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>93:05.00</TD><TD>93:16.00</TD><TD>92.05 MB</TD><TD>0.4310</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>6:36.86</TD><TD>6:57.69</TD><TD>92.76 MB</TD><TD>0.4343</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (high)</TD><TD>3:46.78</TD><TD>4:12.36</TD><TD>93.69 MB</TD><TD>0.4387</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>4:29.57</TD><TD>4:53.01</TD><TD>94.74 MB</TD><TD>0.4436</TD></TR>
- <TR><TD>Monkey's Audio 3.96 (normal)</TD><TD>3:09.07</TD><TD>3:35.10</TD><TD>94.81 MB</TD><TD>0.4439</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Monkey's Audio 3.96 (fast)</TD><TD>2:25.31</TD><TD>2:58.92</TD><TD>95.70 MB</TD><TD>0.4481</TD></TR>
- <TR><TD>RKAU 1.07 (normal)</TD><TD>7:16.09</TD><TD>5:30.33</TD><TD>95.91 MB</TD><TD>0.4490</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (high)</TD><TD>3:41.17</TD><TD>3:56.70</TD><TD>96.51 MB</TD><TD>0.4518</TD></TR>
- <TR><TD>LPAC 1.40 (-r, normal)</TD><TD>4:34.06</TD><TD>2:37.68</TD><TD>96.84 MB</TD><TD>0.4534</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (normal)</TD><TD>1:50.85</TD><TD>2:10.55</TD><TD>97.75 MB</TD><TD>0.4577</TD></TR>
- <TR><TD>flac 1.1.0 (-8)</TD><TD>15:02.46</TD><TD>1:51.15</TD><TD>98.02 MB</TD><TD>0.4589</TD></TR>
- <TR BGCOLOR="#C0C0C0"><TD>flac 1.1.0 (-5, default)</TD><TD>3:28.92</TD><TD>1:53.07</TD><TD>98.42 MB</TD><TD>0.4608</TD></TR>
- <TR><TD>Bonk 0.5</TD><TD>9:56.25</TD><TD>7:13.68</TD><TD>98.94 MB</TD><TD>0.4633</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>flac 1.1.0 (-3)</TD><TD>2:38.79</TD><TD>1:49.93</TD><TD>99.22 MB</TD><TD>0.4645</TD></TR>
- <TR><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>101.88 MB</TD><TD>0.4770</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>3:10.19</TD><TD>1:56.31</TD><TD>102.60 MB</TD><TD>0.4804</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>2:36.48</TD><TD>1:42.35</TD><TD>102.84 MB</TD><TD>0.4815</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>Kexis 0.2.2</TD><TD>4:49.84</TD><TD>3:59.93</TD><TD>103.57 MB</TD><TD>0.4849</TD></TR>
- <TR><TD>flac 1.1.0 (-1)</TD><TD>2:15.70</TD><TD>1:51.81</TD><TD>103.60 MB</TD><TD>0.4851</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>WavPack 3.97a (fast)</TD><TD>1:34.44</TD><TD>1:24.44</TD><TD>103.86 MB</TD><TD>0.4863</TD></TR>
- <TR><TD>WaveZIP</TD><TD>2:25.86</TD><TD>?</TD><TD>107.47 MB</TD><TD>0.5032</TD></TR>
- <TR BGCOLOR="#E0E0E0"><TD>RIFF WAVE</TD><TD>21:09.47</TD><TD>21:09.47</TD><TD>213.56 MB</TD><TD>1.0000</TD></TR>
-
-
-</TABLE>
-
-
-</P>
-
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</P>
-
-</BODY>
-</HTML>
diff --git a/3rdparty/libflac/doc/html/ru/developers.html b/3rdparty/libflac/doc/html/ru/developers.html
deleted file mode 100644
index 1b3b40c1bce..00000000000
--- a/3rdparty/libflac/doc/html/ru/developers.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<HTML>
-<HEAD>
-<META CHARSET="windows-1251">
-<TITLE>FLAC: ðàçðàáîòêà</TITLE>
-</HEAD>
-
-<BODY>
-<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR>
-<TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="index.html">íà÷àëî</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="news.html">íîâîñòè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="download.html">ôàéëû</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="features.html">õàðàêòåðèñòèêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="goals.html">öåëè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="format.html">ôîðìàò</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-
-<TR>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="id.html">id</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="comparison.html">ñðàâíåíèå</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;ðàçðàáîòêà&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="documentation.html">äîêóìåíòàöèÿ</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="links.html">ññûëêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="authors.html">àâòîðû</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER>
-
-<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR><TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="../developers.html">english</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;ðóññêèé</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER></P>
-
-
-<CENTER><H2>FLAC: ðàçðàáîòêà</H2></CENTER>
-
-<H3>Ïðîåêò FLAC</H3>
-
-<P>FLAC - ýòî îòêðûòûé ïðîåêò è íàì áóäåò î÷åíü ïðèÿòíî, åñëè êòî-ëèáî çàõî÷åò ê íàì ïðèñîåäèíèòüñÿ. Ñàìûé óäîáíûé ñïîñîá äëÿ ïåðåäà÷è èçìåíåíèé -- ýòî ôàéëû, ñîçäàííûå êîìàíäîé <B><TT>diff -c</TT></B> è îòïðàâëåííûå â <A HREF="http://sourceforge.net/mail/?group_id=13478">ñïèñîê ðàññûëêè äëÿ ðàçðàáîò÷èêîâ</A> (çàïàêîâàííûå èñõîäíûå òåêñòû òîæå íîðìàëüíûé âàðèàíò). Îáÿçàòåëüíî ïî÷èòàéòå <A HREF="goals.html">ñïèñîê öåëåé</A>, ñòîÿùèõ ïåðåä ïðîåêòîì, ïîòîìó ÷òî íåêîòîðûå âîçìîæíîñòè, òàêèå êàê çàùèòà îò êîïèðîâàíèÿ è ñæàòèå ñ ïîòåðÿìè, ìû äîáàâëÿòü íå õîòèì.</P>
-
-<P>Ñïèñîê îñîáåííî âàæíûõ çàäà÷:</P>
-
-<P><BLOCKQUOTE>
-<LI>Ïðîãðàììà óñòàíîâêè äëÿ Windows.</LI>
-
-<LI>Óëó÷øèòü ìåòîäû ñæàòèÿ.</LI>
-</BLOCKQUOTE></P>
-
-<P>×åãî áû åùå õîòåëîñü:</P>
-
-<P><BLOCKQUOTE>
-<LI>Îáåñïå÷èòü ïîääåðæêó âîñïðîèçâåäåíèÿ ïîòîêîâ â ïëàãèíàõ.</LI>
-
-<LI>Ìîäóëü FLAC äëÿ áèáëèîòåêè <A HREF="http://oss.sgi.com/projects/audiofile/">Audiofile</A>.
-
-<LI>Íàðèñóéòå êëàññíîå ëîãî!</LI>
-</BLOCKQUOTE></P>
-
-<H3>Èñïîëüçîâàíèå â äðóãèõ ïðîãðàììàõ</H3>
-
-<P>FLAC îòêðûò äëÿ ðàçðàáîò÷èêîâ, æåëàþùèõ äîáàâèòü ïîääåðæêó FLAC â ñâîèõ ïðîãðàììàõ. Âñå íåîáõîäèìûå ôóíêöèè íàõîäÿòñÿ â áèáëèîòåêàõ <B><TT>libFLAC</TT></B> è <B><TT>libFLAC++</TT></B>, ðàñïðîñòðàíÿåìûõ ïî ëèöåíçèè LGPL. Ñîîòâåòñòâóþùàÿ äîêóìåíòàöèÿ íàõîäèòñÿ çäåñü:</P>
-
-<UL>
- <LI><A HREF="../api/index.html">API äëÿ libFLAC è libFLAC++</A></LI>
- <LI><A HREF="format.html">îïèñàíèå ôîðìàòà</A> FLAC.</LI>
- <LI><A HREF="id.html">ñòðàíèöà ðåãèñòðàöèè id</A> äëÿ çàïèñè ñâîèõ ìåòàäàííûõ.</LI>
-</UL>
-
-<P> èñõîäíûõ òåêñòàõ ïðîåêòà åñòü íåñêîëüêî ïðèìåðîâ èñïîëüçîâàíèÿ <B><TT>libFLAC</TT></B> è <B><TT>libFLAC++</TT></B>. Íà ñòðàíèöå <A HREF="download.html">ôàéëû</A> íàïèñàíî, êàê ìîæíî èõ ïîëó÷èòü.</P>
-
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</P>
-
-</BODY>
-</HTML>
diff --git a/3rdparty/libflac/doc/html/ru/documentation.html b/3rdparty/libflac/doc/html/ru/documentation.html
deleted file mode 100644
index ea39f61446d..00000000000
--- a/3rdparty/libflac/doc/html/ru/documentation.html
+++ /dev/null
@@ -1,516 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<HTML>
-<HEAD>
-<META CHARSET="windows-1251">
-<TITLE>FLAC: äîêóìåíòàöèÿ</TITLE>
-</HEAD>
-
-<BODY>
-<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR>
-<TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="index.html">íà÷àëî</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="news.html">íîâîñòè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="download.html">ôàéëû</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="features.html">õàðàêòåðèñòèêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="goals.html">öåëè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="format.html">ôîðìàò</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-
-<TR>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="id.html">id</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="comparison.html">ñðàâíåíèå</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="developers.html">ðàçðàáîòêà</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;äîêóìåíòàöèÿ&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="links.html">ññûëêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="authors.html">àâòîðû</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER>
-
-<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR><TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="../documentation.html">english</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;ðóññêèé</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER></P>
-
-
-<CENTER><H2>FLAC: äîêóìåíòàöèÿ</H2></CENTER>
-
-<H3>Äîêóìåíòàöèÿ</H3>
-
-<P>Ýòà ñòðàíèöà ðàçáèòà íà ñëåäóþùèå ðàçäåëû:</P>
-
-<UL>
- <LI><A HREF="#format">ôîðìàò</A> - îïèñàíèå ôîðìàòà FLAC äëÿ ïîëüçîâàòåëÿ (áîëåå äåòàëüíîå îïèñàíèå äëÿ ðàçðàáîò÷èêà ïðèâåäåíî íà <A HREF="format.html">ýòîé</A> ñòðàíèöå).</LI>
- <LI><A HREF="#flac"><B><TT>flac</TT></B></A> - ècïîëüçîâàíèå êîäåêà <B><TT>flac</TT></B>, ðàáîòàþùåãî èç êîìàíäíîé ñòðîêè.</LI>
- <LI><A HREF="#metaflac"><B><TT>metaflac</TT></B></A> - èñïîëüçîâàíèå ðåäàêòîðà ìåòàäàííûõ <B><TT>metaflac</TT></B>, ðàáîòàþùåãî èç êîìàíäíîé ñòðîêè.</LI>
- <LI><A HREF="#plugins">ïëàãèíû</A> - äîêóìåíòàöèÿ äëÿ ðàçëè÷íûõ ïëàãèíîâ.</LI>
- <LI><A HREF="../api/index.html">API</A> äëÿ <B><TT>libFLAC</TT></B> è <B><TT>libFLAC++</TT></B> - äëÿ ðàçðàáîò÷èêîâ, æåëàþùèõ èñïîëüçîâàòü ïîääåðæêó FLAC â ñâîèõ ïðîäóêòàõ.</LI>
- <LI><A HREF="#bugs">îøèáêè</A> - èçâåñòíûå îøèáêè.</LI>
- <LI><A HREF="#monkey">êàê äîáàâèòü ïîääåðæêó FLAC â Monkey's Audio GUI</A></LI>
-</UL>
-
-<P>Ïîìíèòå, ÷òî îíëàéíîâàÿ âåðñèÿ ýòîãî äîêóìåíòà (íà àíãëèéñêîì ÿçûêå) âêëþ÷àåòñÿ â ïîñëåäíèé ðåëèç.</P>
-
-<A NAME="format">
-<H3>Ôîðìàò</H3>
-
-<P>Îïöèè ïî óìîë÷àíèþ äëÿ <B><TT>flac</TT></B> íàñòðîåíû íà ïîëó÷åíèå îïòèìàëüíîãî ñîîòíîøåíèÿ ñêîðîñòü/óðîâåíü ñæàòèÿ äëÿ áîëüøèíñòâà òèïîâ âõîäíûõ ôàéëîâ. Çäåñü îïèñûâàåòñÿ êàê ìîæíî ïîïûòàòüñÿ óâåëè÷èòü óðîâåíü èëè ñêîðîñòü ñæàòèÿ èëè ñ íàèáîëüøèì ýôôåêòîì èñïîëüçîâàòü ñèñòåìó ìåòàäàííûõ.</P>
-
-<P>Îñíîâíûìè ÷àñòÿìè ïîòîêà ÿâëÿþòñÿ:</P>
-
-<P><BLOCKQUOTE><UL>
- <LI>Ñòðîêà èç ÷åòûðåõ áàéòîâ &quot;fLaC&quot;.</LI>
-
- <LI>Áëîê ìåòàäàííûõ <A HREF="format.html#def_STREAMINFO">STREAMINFO</A>.</LI>
-
- <LI>Äðóãèå íåîáÿçàòåëüíûå áëîêè ìåòàäàííûõ.</LI>
-
- <LI>Îäèí èëè áîëåå àóäèî ôðåéìîâ.</LI>
-</UL></BLOCKQUOTE></P>
-
-<P>Ïåðâûå ÷åòûðå áàéòà èäåòèôèöèðóþò ïîòîê FLAC. Ñëåäóþùèå çà íèìè ìåòàäàííûå ñîäåðæàò èíôîðìàöèþ î ïîòîêå, çàòåì èäóò ñæàòûå àóäèîäàííûå.</P>
-
-<A NAME="metadata">
-<H4>Ìåòàäàííûå</H4>
-
-<P>FLAC îïðåäåëÿåò íåñêîëüêî òèïîâ áëîêîâ ìåòàäàííûõ (âñå îíè ïåðå÷èñëåíû íà ñòðàíèöå <A HREF="format.html">ôîðìàò</A>). Áëîêè ìåòàäàííûõ ìîãóò áûòü ëþáîãî ðàçìåðà, íîâûå áëîêè ìîãóò áûòü ëåãêî äîáàâëåíû. Äåêîäåð èìååò âîçìîæíîñòü ïðîïóñêàòü íåèçâåòíûå åìó áëîêè ìåòàäàííûõ. Îáÿçàòåëåí òîëüêî áëîê STREAMINFO.  íåì ñîäåðæèòñÿ ÷àñòîòà äèñêðåòèçàöèÿ, êîëè÷åñòâî êàíàëîâ è ò.ï., à òàêæå äàííûå ïîçâîëÿþùèå äåêîäåðó íàñòðîèòü áóôôåðû. Ñþäà òàêæå çàïèñûâàåòñÿ ïîäïèñü MD5 <I>íåñæàòûõ</I> àóäèîäàííûõ. Ýòî ïîëåçíî äëÿ ïðîâåðêè âñåãî ïîòîêà ïîñëå åãî ïåðåäà÷è.</P>
-
-<P>Äðóãèå áëîêè ïðåäíàçíà÷åíû äëÿ ðåçåðâèðîâàíèÿ ìåñòà, õðàíåíèÿ òàáëèö òî÷åê ïîèñêà, òåãîâ, ñïèñîê ðàçìåòêè àóäèîäèñêîâ à òàêæå äàííûõ äëÿ êîíêðåòíûõ ïðèëîæåíèé. Îïöèè äëÿ äîáàâëåíèÿ áëîêîâ PADDING èëè òî÷åê ïîèñêà ïðèâåäåíû íèæå. FLAC íå íóæäàåòñÿ â òî÷êàõ ïîèñêà, îäíàêî îíè ïîçâîëÿþò çíà÷èòåëüíî óâåëè÷èòü ñêîðîñòü äîñòóïà, à òàêæå ìîãóò áûòü èñïîëüçîâàíèÿ äëÿ ðàññòàíîâêè ìåòîê â àóäèî ðåäàêòîðàõ.</P>
-
-<P>Åñëè Âàì íóæåí ñîáñòâåííûé áëîê ìåòàäàííûõ, Âû ìîæåòå îïðåäåëèòü åãî è çàïðîñèòü èäåíòèôèêàòîð <A HREF="id.html">çäåñü</A>. Âû ìîæåòå çàðåçåðâèðîâàòü áëîê PADDING íåîáõîäèìîãî ðàçìåðà è çàïèñàòü íà åãî ìåñòî ñâîè äàííûå ïîñëå êîäèðîâàíèÿ. Ïîëó÷åíííûé ïîòîê áóäåò îòâå÷àòü ôîðìàòó FLAC, äåêîäåðû ðàñïîçíàþùèå ýòè áëîêè ñìîãóò èõ èñïîëüçîâàòü, îñòàëüíûå áóäóò èõ ïðîïóñêàòü.</P>
-
-
-<H4>Àóäèîäàííûå</H4>
-
-<P>Çà ìåòàäàííûì ñëåäóþò ñæàòûå àóäèîäàííûå. Ìåòàäàííûå è àóäèîäàííûå íå ÷åðåäóþòñÿ. Êàê è áîëüøèíñòâî êîäåêîâ FLAC äåëèò âõîäíîé ïîòîê íà áëîêè è êîäèðóåò èõ íåçàâèñèìî äðóã îò äðóãà. Áëîê óïàêîâûâàòñÿ âî ôðåéì è äîáàâëÿåòñÿ ê ïîòîêó. Áàçîâûé êîäåð èñïîëüçóåò áëîêè ïîñòîÿííîãî ðàçìåðà äëÿ âñåãî ïîòîêà, îäíàêî ôîðìàò ïðåäóñìàòðèâàåò íàëè÷èå áëîêîâ ðàçíîé äëèíû â ïîòîêå.</P>
-
-
-<H4>Ðàçáèåíèå íà áëîêè</H4>
-
-<P>Ðàçìåð áëîêà - î÷åíü âàæíûé ïàðàìåòð äëÿ êîäèðîâàíèÿ. Åñëè îí î÷åíü ìàë, òî â ïîòîêå áóäåò ñëèøêîì çàãîëîâêîâ ôðåéìîâ, ÷òî óìåíüøèò óðîâåíü ñæàòèÿ. Åñëè ðàçìåð áîëüøîé, òî êîäåð íå ñìîæåò ïîäîáðàòü ýôôåêòèâíóþ ìîäåëü ñæàòèÿ. Ïîíèìàíèå ïðîöåññà ìîäåëèðîâàíèÿ ïîìîæåò Âàì óâåëè÷èòü óðîâåíü ñæàòèÿ äëÿ íåêîòîðûõ òèïîâ âõîäíûõ äàííûõ. Îáû÷íî ïðè èñïîëüçîâàíèè ëèíåéíîãî ïðîãíîçèðîâàíèÿ íà àóäèîäàííûõ ñ ÷àñòîòîé äèñêðåòèçàöèè 44.1 êÃö îïòèìàëüíûé ðàçìåð áëîêà ëåæèò â äèàïàçîíå 2-6 òûñÿ÷ ñýìïëîâ.  ýòîì ñëó÷àå çíà÷åíèå ïî óìîë÷àíèþ - 4608. Åñëè èñïîëüçîâàòü áûñòðûå ïîñòîÿííûå ïðåäèêòîðû, ïðåäïî÷òèòåëüíåå ìåíüøèå ðàçìåðû áëîêîâ, òàê êàê â ýòîì ñëó÷àå ðàçìåðû çàãîëîâêîâ ôðåéìîâ ìåíüøå.</P>
-
-
-<H4>Ìåæêàíàëüíàÿ äåêîððåëÿöèÿ</H4>
-
-<P>Åñëè íà âõîä ïîñòóïàþò ñòåðåî àóäèîäàííûå, îíè ìîãóò ïðîéòè ÷åðåç ñòàäèþ ìåæêàíàëüíîé äåêîððåëÿöèè. Ïðàâûé è ëåâûé êàíàë ïðåîáðàçóþòñÿ ê ñðåäíåìó è ðàçíîñòíîìó ïî ôîðìóëàì: <TT>ñðåäíèé = (ëåâûé + ïðàâûé)/2</TT>, <TT>ðàçíîñòíûé = ëåâûé - ïðàâûé</TT>.  îòëè÷èå îò joint stereo ýòîò ïðîöåññ íå ïðèâîäèò ê ïîòåðÿì. Äëÿ äàííûõ ñ àóäèî êîìïàêò-äèñêîâ ýòî îáû÷íî ïðèâîäèò ê çíà÷èòåëüíîìó óâåëè÷åíèþ óðîâíÿ ñæàòèÿ. Äëÿ âêëþ÷åíèÿ èñïîëüçîâàíèÿ ýòîãî ìåòîäà êîäèðîâàíèÿ <B><TT>flac</TT></B> èìååò äâå îïöèè: <TT>-m</TT> âñåãäà äåëàåò ðàçíîñòíóþ è íåçàâèñèìóþ âåðñèþ áëîêà è âûáèðàåò íàèìåíüøèé ôðåéì è <TT>-M</TT>, êîòîðàÿ àäàïòèâíî âûáèðàåò ñõåìó ñæàòèÿ.</P>
-
-
-<H4>Ìîäåëèðîâàíèå</H4>
-
-<P>Íà ñëåäóþùåì ýòàïå êîäåð ïûòàåòñÿ àïïðîêñèìèðîâàòü ñèãíàë òàêîé ôóíêöèåé, ÷òîáû ïîëó÷åííûé ïîñëå åå âû÷èòàíèÿ èç îðèãèíàëà ðåçóëüòàò (íàçûâàåìûé ðàçíîñòüþ, îñòàòêîì, îøèáêîé) ìîæíî áûëî çàêîäèðîâàòü ìèíèìàëüíûì êîëè÷åñòâîì áèòîâ. Ïàðàìåòðû ôóíêöèé òîæå äîëæíû çàïèñûâàòüñÿ, ïîýòîìó îíè íå äîëæíû çàíèìàòü ìíîãî ìåñòà. FLAC èñïîëüçóåò äâà ìåòîäà ôîðìèðîâàíèÿ àïïðîêñèìàöèé: 1) ïîäãîíêà ïðîñòîãî ïîëèíîìà ê ñèãíàëó è 2) îáùåå êîäèðîâàíèå ñ ëèíåéíûìè ïðåäèêòîðàìè (LPC).</P>
-
-<P>Âî-ïåðâûõ, ïîñòîÿííîå ïîëèíîìèàëüíîå ïðåäñêàçàíèå (<TT>-l 0</TT>) ðàáîòàåò çíà÷èòåëüíî áûñòðåå, íî ìåíåå òî÷íî, ÷åì LPC. ×åì âûøå ïîðÿäîê LPC, òåì ìåäëåííåå, íî ëó÷øå áóäåò ìîäåëü. Îäíàêî ñ óâåëè÷åíèåì ïîðÿäêà âûèãðûø áóäåò âñå ìåíåå çíà÷èòåëüíûì.  íåêîòîðîé òî÷êå (îáû÷íî îêîëî 9) ïðîöåäóðà êîäåðà, îïðåäåëÿþùàÿ íàèëó÷øèé ïîðÿäîê, íà÷èíàåò îøèáàòüñÿ è ðàçìåð ïîëó÷àåìûõ ôðåéìîâ âîçðàñòàåò. ×òîáû ïðåîäîëåòü ýòî, ìîæíî èñïîëüçîâàòü ïîëíûé ïåðåáîð (îïöèÿ <TT>-e</TT>), ÷òî ïðèâåäåò ê çíà÷èòåëüíîìó óâåëè÷åíèþ âðåìåíè êîäèðîâàíèÿ.</P>
-
-<P>Âî-âòîðûõ, ïàðàìåòðû äëÿ ïîñòîÿííûõ ïðåäèêòîðîâ ìîãóò áûòü îïèñàíû òðåìÿ áèòàìè, à ïàðàìåòðû äëÿ ìîäåëè LPC çàâèñÿò îò êîëè÷åñòâà áèò íà ñýìïë è ïîðÿäêà LPC. Ýòî çíà÷èò, ÷òî ðàçìåð çàãîëîâêà ôðåéìà çàâèñèò îò âûáðàííîãî ìåòîäà è ïîðÿäêà è ìîæåò ïîâëèÿòü íà îïòèìàëüíûé ðàçìåð áëîêà.</P>
-
-
-<H4>Îñòàòî÷íîå êîäèðîâàíèå</H4>
-
-<P>Êîãäà ìîäåëü ïîäîáðàíà, êîäåð âû÷èòàåò ïðèáëèæåíèå èç îðèãèíàëà, ÷òîáû ïîëó÷èòü îñòàòî÷íûé (îøèáî÷íûé) ñèãíàë, êîòîðûé çàòåì êîäèðóåòñÿ áåç ïîòåðü. Äëÿ ýòîãî èñïîëüçóåòñÿ òî îáñòîÿòåëüñòâî, ÷òî ðàçíîñòíûé ñèãíàë îáû÷íî èìååò ðàñïðåäåëåíèå Ëàïëàñà è åñòü íàáîð ñïåöèàëüíûé êîäîâ Õàôôìàíà, íàçûâàåìûå êîäàìè Ðàéñà, ïîçâîëÿþùèå ýôôåêòèâíî è áûñòðî êîäèðîâàòü ýòè ñèãíàëû áåç èñïîëüçîâàíèÿ ñëîâàðÿ.</P>
-
-<P>Êîäèðîâàíèå Ðàéñà ñîñòîèò èç íàõîæäåíèÿ îäíîãî ïàðàìåòðà, îòâå÷àþùåãî ðàñïðåäåëåíèþ ñèãíàëà, à çàòåì èñïîëüçîâàíèÿ åãî äëÿ ñîñòàâëåíèÿ êîäîâ. Ïðè èçìåíåíèè ðàñïðåäåëåíèÿ ìåíÿåòñÿ è îïòèìàëüíûé ïàðàìåòð, ïîýòîìó èìååòñÿ ìåòîä ïîçâîëÿþùèé ïåðåñ÷èòûâàòü åãî ïî íåîáõîäèìîñòè. Îñòàòîê ìîæåò áûòü ðàçáèò íà <I>êîíòåêñòû</I> èëè <I>ðàçäåëû</I>, ó êàæäîãî èç êîòîðûõ áóäåò ñâîé ïàðàìåòð Ðàéñà. <B><TT>flac</TT></B> ïîçâîëÿåò óêàçàòü, êàê íóæíî ïðîèçâîäèòü ðàçáèåíèå, ñ ïîìîùüþ îïöèè <TT>-r</TT>. Îñòàòîê ìîæåò áûòü ðàçáèò íà <I>2^n</I> ðàçäåëà, åñëè èñïîëüçîâàòü <TT>-r n,n</TT>. Ïàðàìåòð <I>n</I> íàçûâàåòñÿ ïîðÿäêîì ðàçäåëà. Òàêæå êîäåð ìîæåò èñêàòü â ïðåäåëàõ îò <I>m</I> äî <I>n</I> ïîðÿäêà, âûáèðàÿ ëó÷øèé âàðèàíò, åñëè óêàçàòü <TT>-r m,n</TT>. Îáû÷íî âûáîð <I>n</I> íå âëèÿåò íà ñêîðîñòü êîäèðîâàíèÿ. Îò ðàçíèöû ìåæäó <I>m</I> è <I>n</I> ñèëüíî çàâèñèò âðåìÿ ðàáîòû, ÷åì îíà áîëüøå, òåì áîëüøå âðåìåíè áóäåò çàòðà÷èâàòüñÿ íà ïîèñê ëó÷øåãî ïîðÿäêà. Âûáîð ðàçìåðà áëîêà òàêæå âëèÿåò íà îïòèìàëüíûé ïîðÿäîê ðàçäåëà.</P>
-
-
-<H4>Ñîñòàâëåíèå ôðåéìîâ</H4>
-
-<P>Àóäèîôðåéìó ïðåäøåñòâóåò çàãîëîâîê, êîòîðûé íà÷èíàåòñÿ ñ êîäà ñèíõðîíèçàöèè è ñîäåðæèò ìèíèìóì èíôîðìàöèè, íåîáõîäèìîé äåêîäåðó äëÿ âîñïðîèçâåäåíèÿ ïîòîêà. Ñþäà òàêæå çàïèñûâàåòñÿ íîìåð áëîêà èëè ñýìïëà è âîñüìèáèòíàÿ êîíòðîëüíàÿ ñóììà ñàìîãî çàãîëîâêà. Êîä ñèíõðîíèçàöèè, CRC çàãîëîâêà ôðåéìà è íîìåð áëîêà/ñýìïëà ïîçâîëÿþò îñóùåñòâëÿòü ïåðåñèíõðîíèçàöèþ è ïîèñê äàæå â îòñóòñòâèå òî÷åê ïîèñêà.  êîíöå ôðåéìà çàïèñûâàåòñÿ åãî øåñòíàäöàòèáèòíàÿ êîíòðîëüíàÿ ñóììà. Åñëè áàçîâûé äåêîäåð îáíàðóæèò îøèáêó, áóäåò ñãåíåðèðîâàí áëîê òèøèíû.</P>
-
-
-<H4>Ðàçíîå</H4>
-
-<P>×òîáû ïîääåðæèâàòü îñíîâíûå òèïû ìåòàäàííûõ, áàçîâûé äåêîäåð óìååò ïðîïóñêàòü òåãè ID3V1 è ID3V2, ïîýòîìó èõ ìîæíî ñâîáîäíî äîáàâëÿòü. Òåãè ID3V2 äîëæíû ðàñïîëàãàòüñÿ ïåðåä ìàðêåðîì &quot;fLaC&quot;, à òåãè ID3V1 - â êîíöå ôàéëà.</P>
-
-<P>Ó <B><TT>flac</TT></B> åñòü îïöèÿ (<TT>-V</TT>) äëÿ ïðîâåðêè âûõîäíûõ äàííûõ ïðè êîäèðîâàíèè.  ýòîì ñëó÷àå äåêîäåð ðàáîòàåò îäíîâðåìåííî ñ êîäåðîì è åãî âûõîä ñðàâíèâàåòñÿ ñ îðèãèíàëüíûì ââîäîì. Åñëè áóäåò íàéäåíî îòëè÷èå, <B><TT>flac</TT></B> çàêîí÷èò ðàáîòó ñ ñîîáùåíèåì îá îøèáêå.</P>
-
-
-<A NAME="flac">
-<H3><B><TT>flac</TT></B></H3>
-
-<P><B><TT>flac</TT></B> - ýòî êîäåê, ðàáîòàþùèé èç êîìàíäíîé ñòðîêè. Âõîäîì äëÿ êîäåðà è âûõîäîì äëÿ äåêîäåðà äîëæíû áûòü äàííûå â ôîðìàòå RIFF WAVE, AIFF èëè â âèäå ïîòîêà ñýìïëîâ áåç çàãîëîâêà. <B><TT>flac</TT></B> èñïîëüçóåò òîëüêî ëèíåéíûå PCM ñýìïëû (äðóãèìè ñëîâàìè, A-LAW, uLAW, è ò.ï. íå ïîääåðæèâàþòñÿ). Ñëåäóþùèì îãðàíè÷åíèåì ÿâëÿåòñÿ òî, ÷òî âî êîäèðóåìîì ôàéëå ñýìïëû äîëæíû áûòü 8, 16 èëè 24-áèòíûìè. Ýòî íå îãðàíè÷åíèå ôîðìàòà, ïðîñòî òàê ðàáîòàþò áàçîâûé êîäåð è äåêîäåð.</P>
-
-<P><B><TT>flac</TT></B> ïðåäïîëàãàåò, ÷òî ôàéëû RIFF WAVE èìåþò ñóôôèêñ ".wav", à ôàéëû ôîðìàòà AIFF èìåþò ñóôôèêñû ".aif", ".aiff" èëè âñòðå÷åí çàãîëîâîê AIFF; ýòî óìîë÷àíèå ìîæåò áûòü ïåðåîïðåäåëåíî ñïåöèàëüíûì êëþ÷îì. Òàêæå ïðåäïîëàãàåòñÿ, ÷òî ôàéëû ñ ñóôôèêîì ".ogg" èìåþò ôîðìàò Ogg-FLAC.  îñòàëüíûõ ñëó÷àÿõ <B><TT>flac</TT></B> íå äåëàåò ïðåäïîëîæåíèé î ñóôôèêñàõ, õîòÿ ïî ñîãëàøåíèþ ôàéëû FLAC èìåþò ñóôôèêñ ".flac" (èëè ".fla" íà ñòàðûõ ôàéëîâûõ ñèñòåìàõ òàêèõ êàê FAT-16).</P>
-
-<P>Ïåðåä ïîëíûì îïèñàíèåì êëþ÷åé, èñïîëüçóåìûõ <B><TT>flac</TT></B>, îáðàòèì âíèìàíèå íà òî ÷òî: 1) ïî óìîë÷àíèþ <B><TT>flac</TT></B> ñæèìàåò ôàéëû (äëÿ äåêîäèðîâàíèÿ èñïîëüçóéòå êëþ÷ <TT>-d</TT>); 2) êëþ÷è <TT>-0..-8</TT>, à òàêæå <TT>--fast</TT> è <TT>--best</TT>, óïðàâëÿþùèå óðîâíåì ñæàòèÿ, ÿâëÿþòñÿ ñèíîíèìàìè äëÿ ðàçëè÷íûõ ãðóïï íàñòðîåê êîäèðîâàíèÿ. Òîãî æå ýôôåêòà ìîæíî äîáèòüñÿ, èñïîëüçóÿ íàáîðû ñîîòâåòñòâóþùèõ êëþ÷åé; 3) ìîäåëü îáðàáîòêè âõîäíûõ è âûõîäíûõ ôàéëîâ ó <B><TT>flac</TT></B> àíàëîãè÷íà <B><TT>gzip</TT></B>.</P>
-
-<P><B><TT>flac</TT></B> âûçûâàåòñÿ îäíèì èç ÷åòûðåõ ñïîñîáîâ:</P>
-
-<BLOCKQUOTE><UL>
- <LI>Êîäèðîâàíèå:<BR><TT>flac [<I><A HREF="#general_options">&lt;îñíîâíûå_êëþ÷è&gt;</A></I>] [<I><A HREF="#format_options">&lt;íàñòðîéêè_ôîðìàòà&gt;</A></I>] [<I><A HREF="#encoding_options">&lt;îïöèè_êîäèðîâàíèÿ&gt;</A></I>] [âõîäíîé_ôàéë [...]]</TT></LI>
-
- <LI>Äåêîäèðîâàíèå:<BR><TT>flac -d [<I><A HREF="#general_options">&lt;îñíîâíûå_êëþ÷è&gt;</A></I>] [<I><A HREF="#format_options">&lt;íàñòðîéêè_ôîðìàòà&gt;</A></I>] [<I><A HREF="#encoding_options">&lt;îïöèè_êîäèðîâàíèÿ&gt;</A></I>] [ôàéë_FLAC [...]]</TT></LI>
-
- <LI>Òåñòèðîâàíèå:<BR><TT>flac -t [<I><A HREF="#general_options">&lt;îñíîâíûå_êëþ÷è&gt;</A></I>] [ôàéë_FLAC [...]]</TT></LI>
-
- <LI>Àíàëèç:<BR><TT>flac -a [<I><A HREF="#general_options">&lt;îñíîâíûå_êëþ÷è&gt;</A></I>] [<I><A HREF="#analysis_options">&lt;îïöèè_àíàëèçà&gt;</A></I>] [ôàéë_FLAC [...]]</TT></LI>
-</UL></BLOCKQUOTE></P>
-
-<P> ëþáîì ñëó÷àå, åñëè âõîäíîé ôàéë íå óêàçàí, ïîäðàçóìåâàåòñÿ ñòàíäàðòíûé ââîä. Åñëè óêàçàí òîëüêî îäèí âõîäíîé ôàéë, òî ýòî ìîæåò áûòü "-" äëÿ ñòàíäàðòíîãî ââîäà (stdin). Êîãäà èñïîëüçóåòñÿ ñòàíäàðòíûé ââîä, <B><TT>flac</TT></B> ïèøåò â ñòàíäàðòíûé âûâîä (stdout).  îñòàëüíûõ ñëó÷àÿõ <B><TT>flac</TT></B> âûïîëíèò óêàçàííûå äåéñòâèÿ äëÿ êàæäîãî âõîäíîãî ôàéëà è çàïèøåò ðåçóëüòàòû â ôàéëû ñ àíàëîãè÷íûìè èìåíàìè (ïðè êîäèðîâàíèè ñóôôèêñ áóäåò çàìåíåí íà ".flac" èëè, åñëè åãî íå áûëî, áóäåò äîáàâëåí; ïðè äåêîäèðîâàíèè ñóôôèêñû òàêæå èçìåíÿþòñÿ â ñîîòâåòñòâèè ñ òèïîì âûõîäíûõ äàííûõ.) Îðèãèíàë óäàëÿåòñÿ, òîëüêî åñëè óêàçàí êëþ÷ <TT>--delete-input-file</TT>.</P>
-
-<P>Ñóùåñòâóþò îñîáûå ôîðìû âûçîâà ïðîöåäóð êîäèðîâàíèÿ/äåêîäèðîâàíèÿ èç ñòàíäàíäàðòíîãî ââîäà â ôàéë.</P>
-
-<P><BLOCKQUOTE>
-<UL>
- <LI><TT>flac [îïöèè] - âûõîäíîé_ôàéë</TT></LI>
-
- <LI><TT>flac -d [îïöèè] - âûõîäíîé_ôàéë</TT></LI>
-</UL>
-
-<P>êîòîðûå ëó÷øå ÷åì</P>
-
-<UL>
- <LI><TT>flac [îïöèè] &gt; âûõîäíîé_ôàéë</TT></LI>
-
- <LI><TT>flac -d [îïöèè] &gt; âûõîäíîé_ôàéë</TT></LI>
-</UL>
-</BLOCKQUOTE></P>
-
-<P>òàê êàê â ïåðâîì ñëó÷àå ñîõðàíÿåòñÿ âîçìîæíîñòü ïðîèçâåñòè ïðè íåîáõîäèìîñòè ïîñëåäóþùóþ îáðàáîòêó ôàéëà, íàïðèìåð äëÿ çàïèñè çàãîëîâêîâ <TT>RIFF WAVE</TT> èëè <TT>STREAMINFO</TT>.</P>
-
-<P>Äàííûå â ñòàíäàðòíûé âûâîä ìîæíî ïåðåíàïðàâèòü ñ ïîìîùüþ êëþ÷à <TT>-c</TT>.</P>
-
-<P>Îïöèè êîäèðîâàíèÿ âëèÿþò íà ñêîðîñòü ðàáîòû è óðîâåíü ñæàòèÿ. Íàñòðîéêè ôîðìàòà îïðåäåëÿþò ðàñïîëîæåíèå ñýìïëîâ, åñëè íà âõîä ïîñòóïàåò ôàéë áåç çàãîëîâêà. Åñëè ó ôàéëà åñòü çàãîëîâîê RIFF WAVE èëè AIFF, òî íàñòîéêè ôîðìàòà íå íóæíû, òàê êàê îíè áåðóòñÿ èç ôàéëà.</P>
-
-<P> ðåæèìå òåñòèðîâàíèÿ <B><TT>flac</TT></B> ðàáîòàåò êàê è ïðè äåêîäèðîâàíèè, òîëüêî âûõîäíîé ôàéë íå çàïèñûâàåòñÿ. Ðåæèìû äåêîäèðîâàíèÿ è òåñòèðîâàíèÿ ïðîâåðÿþò ïîòîê íà íàëè÷èå îøèáîê, à òàêæå ñðàâíèâàþò ïîäïèñü MD5 äåêîäèðîâàííîãî ïîòîêà ñ ñîõðàíåííîé ïîäïèñüþ, äàæå åñëè ôîðìàò ïîòîêà ïðàâèëüíûé.</P>
-
-<H4><a name="general_options">Îñíîâíûå êëþ÷è</A></H4>
-<TABLE border=1>
-<TR><TD WIDTH=25%><TT>-v</TT>, <TT>--version</TT></TD>
-<TD WIDTH=75%>Íîìåð âåðñèè <B><TT>flac</TT></B>.</TD></TR>
-
-<TR><TD><TT>-h</TT>, <TT>--help</TT></TD>
-<TD>Âûâåñòè îñíîâíûå ìåòîäû èñïîëüçîâàíèÿ è ñïèñîê âñåõ îïöèé. Ïðè çàïóñêå <B><TT>flac</TT></B> áåç àðãóìåíòîâ îòîáðàæàåòñÿ êðàòêàÿ ñïðàâêà.</TD></TR>
-
-<TR><TD><TT>-H</TT>, <TT>--explain</TT></TD>
-<TD>Âûâåñòè ñïðàâêó ïîëíîñòüþ. Ïðè çàïóñêå <B><TT>flac</TT></B> áåç àðãóìåíòîâ îòîáðàæàåòñÿ êðàòêàÿ ñïðàâêà.</TD></TR>
-
-<TR><TD><TT>-d</TT>, <TT>--decode</TT></TD>
-<TD>Äåêîäèðîâàíèå (ïî óìîë÷àíèþ <B><TT>flac</TT></B> êîäèðóåò). <B><TT>flac</TT></B> çàâåðøèò ðàáîòó ñ êîäîì âûõîäà <TT>1</TT>, åñëè áóäåò âñòðå÷åíà îøèáêà èëè êîíòðîëüíàÿ ñóììà MD5 äåêîäèðîâàííîãî ïîòîêà íå ñîâïàäåò ñ ñîõðàíåííîé. Åñëè îøèáîê íå áóäåò, êîä âîçâðàòà áóäåò ðàâåí <TT>0</TT>.</TD></TR>
-
-<TR><TD><TT>-t</TT>, <TT>--test</TT></TD>
-<TD>Òåñòèðîâàíèå (òî æå ñàìîå, ÷òî è äåêîäèðîâàíèå, òîëüêî âûõîä íå çàïèñûâàåòñÿ â ôàéë). Êîäû âîçâðàòà òå æå.</TD></TR>
-
-<TR><TD><TT>-a</TT>, <TT>--analyze</TT></TD>
-<TD>Àíàëèç (òî æå ñàìîå, ÷òî è äåêîäèðîâàíèå, òîëüêî âûõîäîì ÿâëÿåòñÿ ôàéë ñòàòèñòèêè). Êîäû âîçâðàòà òå æå. Ðåæèì ïðåäíàçíà÷åí â îñíîâíîì äëÿ ðàçðàáîò÷èêîâ.  âûõîäíîé òåêñòîâûé ôàéë çàïèñûâàåòñÿ èíôîðìàöèÿ î êàæäîì ôðåéìå è ïîäôðåéìå.</TD></TR>
-
-<TR><TD><TT>-c</TT>, <TT>--stdout</TT></TD>
-<TD>Íàïðàâèòü ðåçóëüòàò â ñòàíäàðòíûé âûâîä (stdout).</TD></TR>
-
-<TR><TD><TT>-s</TT>, <TT>--silent</TT></TD>
-<TD>Íå ïîêàçûâàòü ñòàòèñòèêó ïðè êîäèðîâàíèè/äåêîäèðîâàíèè.</TD></TR>
-
-<TR><TD><TT>-o ôàéë</TT><BR><TT>--output-name=ôàéë</TD>
-<TD>ßâíî óêàçàòü èìÿ âûõîäíîãî ôàéëà, ïî óìîë÷àíèþ <B><TT>flac</TT></B> ïðîñòî çàìåíÿåò ñóôôèêñ.</TD></TR>
-
-<TR><TD><TT>--output-prefix=ñòðîêà</TT></TD>
-<TD>Äîáàâëÿåò ïðåôèêñ ê êàæäîìó èìåíè âûõîäíîìó ôàéëó. Ìîæåò èìñïîëüçîâàòüñÿ äëÿ êîäèðîâàíèÿ/äåêîäèðîâàíèÿ ôàéëîâ â äðóãîé êàòàëîã. Åñëè óêàçàííàÿ ñòðîêà ÿâëÿåòñÿ ÷àñòüþ ïóòè, óáåäèòåñü, ÷òî îíà çàêàí÷èâàåòñÿ ñëýøåì '/'.</TD></TR>
-
-<TR><TD><TT>--delete-input-file</TT></TD>
-<TD>Ïîñëå óñïåøíîãî îêîí÷àíèÿ êîäèðîâàíèÿ/äåêîäèðîâàíèÿ âõîäíîé ôàéë áóäåò óäàëåí. Åñëè ïðîèçîéäåò îøèáêà, èñõîäíûé ôàéë îñòàíåòñÿ.</TD></TR>
-
-<TR><TD><TT>--skip={#|mm:ss.ss}</TT></TD>
-<TD>Ïðîïóñòèòü ïåðâûå <TT>#</TT> ñýìïëîâ âõîäíîãî ôàéëà. Ðàáîòàåò äëÿ êîäèðîâàíèÿ è äåêîäèðîâàíèÿ, íî íå äëÿ òåñòèðîâàíèÿ. Àëüòåðíàòèâíóþ ôîðìó mm:ss.ss ìîæíî èñïîëüçîâàòü, ÷òîáû óêàçàòü ìèíóòû, ñåêóíäû è ñîòûå ñåêóíäû.<BR>
-Íàïðèìåð:<BR>
-<TT>--skip=123</TT> : ïðîïóñòèòü ïåðâûå 123 ñýìïëà âõîäíîãî ôàéëà<BR>
-<TT>--skip=1:23.45</TT> : ïðîïóñòèòü 1 ìèíóòó 23.45 ñåêóíä
-</TD></TR>
-
-<TR><TD><TT>--until={#|[+|-]mm:ss.ss}</TT></TD>
-<TD>Îñòàíîâèòüñÿ íà äàííîì ñýìïëå âõîäíîãî ôàéëà. Ðàáîòàåò äëÿ êîäèðîâàíèÿ è äåêîäèðîâàíèÿ, íî íå äëÿ òåñòèðîâàíèÿ. Ñýìïë ñ óêàçàííûì íîìåðîì íå âêëþ÷àåòñÿ â âûâîä. Àëüòåðíàòèâíóþ ôîðìó mm:ss.ss ìîæíî èñïîëüçîâàòü, ÷òîáû óêàçàòü ìèíóòû, ñåêóíäû è ñîòûå ñåêóíäû. Åñëè âïåðåäè ñòîèò çíàê <TT>+</TT>, òî ïîñëåäíèé ñýìïë áåðåòñÿ îò íà÷àëüíîé òî÷êè âîñïðîèçâåäåíèÿ, åñëè - <TT>-</TT>, òî ïîñëåäíèé ñýìïë âû÷èñëÿåòñÿ îò êîíöà ïîòîêà àóäèî.<BR>
-Íàïðèìåð:<BR>
-<TT>--until=123</TT> : äåêîäèðîâàòü ïåðâûå 123 ñýìïëà âõîäíîãî ôàéëà (ñýìïëû 0-122)<BR>
-<TT>--until=1:23.45</TT> : äåêîäèðîâàòü 1 ìèíóòó 23.45 ñåêóíä<BR>
-<TT>--skip=1:00 --until=+1:23.45</TT> : äåêîäèðîâàòü îò 1:00.00 äî 2:23.45<BR>
-<TT>--until=-1:23.45</TT> : äåêîäèðîâàòü âñå, êðîìå ïîñëåäíåé 1 ìèíóòû è 23.45 ñåêóíä<BR>
-<TT>--until=-0:00</TT> : äåêîäèðîâàòü âåñü ââîä
-</TD></TR>
-
-<TR><TD><TT>--ogg</TT></TD>
-<TD><P>Ïðè êîäèðîâàíèè ãåíåðèðóåòñÿ âûâîä â ôîðìàòå Ogg-FLAC âìåñòî "ðîäíîãî" FLAC. Ïîòîêè Ogg-FLAC ïðåäñòàâëÿþò ñîáîé ïîòîêè FLAC îáåðíóòûå â òðàíñïîðòíûé óðîâåíü Ogg. Ïîëó÷åííûé ôàéë áóäåò èìåòü ñóôôèêñ '.ogg' è áóäåò äåêîäèðîâàòüñÿ óòèëèòîé <TT><B>flac</B></TT>.</P>
-<P>Ïðè äåêîäèðîâàíèè ôîðìàò ââîäà îäíîçíà÷íî îïðåäåëÿåòñÿ êàê Ogg-FLAC. Ýòî ïîëåçíî ïðè ïîëó÷åíèè äàííûõ ñî ñòàíäàðòíîãî ââîäà èëè åñëè ó ôàéëà ñóôôèêñ íå '.ogg'.</P></TD></TR>
-
-<TR><TD><TT>--serial-number=#</TT></TD>
-<TD>Ïðè èñïîëüçîâàíèè ñ êëþ÷îì <TT>--ogg</TT> îïðåäåëÿåò ñåðèéíûé íîìåð äëÿ ïîòîêà FLAC. Ïðè êîäèðîâàíèè áåç ÿâíî óêàçàííîãî ñåðèéíîãî íîìåðà <B><TT>flac</TT></B> èñïîëüçóåò '0'. Ïðè äåêîäèðîâàíèè ïî óìîë÷àíèþ èñïîëüçóåòñÿ ñåðèéíûé íîìåð îïðåäåëåííûé íà ïåðâîé ñòðàíèöå.</TD></TR>
-</TABLE>
-
-
-<H4><a name="analysis_options">Îïöèè àíàëèçà</H4>
-<TABLE border=1>
-<TR><TD width=25%><TT>--residual-text</TT></TD>
-<TD width=75%>Äîáàâëÿåò â ôàéë îñòàòî÷íûé ñèãíàë. Ðåçóëüòèðóþùèé ôàéë ïîëó÷àåòñÿ <B>î÷åíü áîëüøèì</B>.</TD></TR>
-
-<TR><TD><TT>--residual-gnuplot</TT></TD>
-<TD>Ñîçäàåò ôàéëû-äèàãðàììû äëÿ êàæäîãî ïîäôðåéìà.  êàæäîì ôàéëå áóäåò îñòàòî÷íîå ðàñïðåäåëåíèå äëÿ ïîäôðåéìà. Áóäåò ñîçäàíî <B>î÷åíü ìíîãî</B> ôàéëîâ.</TD></TR>
-</TABLE>
-
-
-<H4><a name="decoding_options">Îïöèè äåêîäèðîâàíèÿ</H4>
-<TABLE border=1>
-<TR><TD width=30%><TT>-F</TT>,<BR><TT>--decode-through-errors</TT></TD>
-<TD width=70%>Ïî óìîë÷àíèþ <B><TT>flac</TT></B> ïðåêðàùàåò äåêîäèðîâàíèå â ñëó÷àå îøèáêè â ïîòîêå è óäàëÿåò ÷àñòè÷íî äåêîäèðîâàííûé ôàéë. Èñïîëüçîâàíèå êëþ÷à <TT>-F</TT> âåäåò ê òîìó, ÷òî ñîîáùåíèÿ îá îøèáêàõ âûâîäÿòñÿ, íî <B><TT>flac</TT></B> ïðîäîëæàåò ðàáîòó äî êîíöà. Îáðàòèòå âíèìàíèå, ÷òî â ðåçóëüòàòå òàêîãî äåêîäèðîâàíèÿ â âûõîäíîì ôàéëå ìîãóò áûòü ïðîïóùåíû ñýìïëû èëè ïîÿâèòñÿ áëîêè òèøèíû.</TD></TR>
-</TABLE>
-
-<H4><a name="encoding_options">Îïöèè êîäèðîâàíèÿ</A></H4>
-<TABLE border=1>
-<TR><TD width=30%><TT>-V</TT></TD>
-<TD width=70%>Ïðîâåðÿòü ïðîöåññ ñæàòèÿ.  äàííîì ñëó÷àå <B><TT>flac</TT></B> ñîçäàåò ïàðàëëåëüíûé äåêîäåð, ðàñêîäèðóþùèé âûõîä êîäåðà è ñðàâíèâàåò ðåçóëüòàò ñ îðèãèíàëîì. Åñëè áóäåò íàéäåíî íåñîîòâåòñòâèå, êîäèðîâàíèå ïðåêðàòèòñÿ. Âðåìÿ ðàáîòû ñ ýòîé îïöèåé óâåëè÷èâàåòñÿ, îäíàêî, ïðè ýòîì ãàðàíòèðóåòñÿ, ÷òî ôàéë áóäåò ïðàâèëüíî äåêîäèðîâàí.</TD></TR>
-
-<TR><TD><TT>--lax</TT></TD>
-<TD>Ïîçâîëÿåò êîäåðó ñîçäàâàòü ôàéëû, îòâå÷àþùèå ïîäìíîæåñòâó ôîðìàòà FLAC.  ðåçóëüòàòå ðàáîòû áóäåò ïîëó÷àòüñÿ íåïîòîêîâûé ôàéë, ïîýòîìó ýòîò êëþ÷ ñëåäóåò èñïîëüçîâàòü òîëüêî äëÿ àðõèâèðîâàíèÿ. Äåêîäåð áóäåò ïîääåðæèâàòü âîñïðîèçâåäåíèå è ïîèñê â òàêèõ ôàéëàõ.</TD></TR>
-
-
-<TR><TD><TT>--replay-gain</TT></TD>
-<TD>Âû÷èñëèòü çíà÷åíèÿ <A HREF="http://www.replaygain.org/">ReplayGain</A> è ñîõðàíèòü èç â êîììåíòàðèÿõ Vorbis, àíàëîãè÷íî òîìó, êàê ýòî äåëàåò <A HREF="http://packages.qa.debian.org/v/vorbisgain.html">VorbisGain</A>. Óðîâåíü çàïèñè è ìàêñèìàëüíûå çíà÷åíèÿ àìïëèòóäû áóäóò âû÷èñëåíû äëÿ êàæäîãî âõîäíîãî ôàéëà. Êðîìå òîãî áóäåò ðàññ÷èòàíû çíà÷åíèÿ äëÿ âñåãî àëüáîìà (âñåõ âõîäíûõ ôàéëîâ). Äëÿ ýòîãî âñå ôàéëû äîëæíû èìåòü îäèíàêîûóþ ÷àñòîòó äèñêðåòèçàöèè, ðàçðåøåíèå è ÷èñëî êàíàëîâ. Äîïóñòèìû òîëüêî ìîíî è ñòåðåî ôàéëû, à ÷àñòîòà äèñêðåòèçàöèè äîëæíà áûòü 8, 11.025, 12, 16, 22.05, 24, 32, 44.1 èëè 48 êÃö. Îáðàòèòå âíèìàíèå íà òî, ÷òî äëÿ ýòîé îïöèè ìîæåò ïîíàäîáèòüñÿ íåñêîëüêî äîïîëíèòåëüíûõ áàéòîâ â áëîêå PADDING, òàê êàê òî÷íûé ðàçìåð áëîêà íåëüçÿ âû÷èñëèòü, ïîêà íå áóäóò îáðàáîòàíû âñå ôàéëû.<BR>
-Îáðàòèòå âíèìàíèå íà òî, ÷òî ýòó âîçìîæíîñòü íåëüçÿ èñïîëüçîâàòü ïðè êîäèðîâàíèè â ñòàíäàðòíûé âûâîä.</TD></TR>
-
-<TR><TD><TT>--cuesheet=ÈÌß_ÔÀÉËÀ</TT></TD>
-<TD>Èìïîðòèðîâàòü óêàçàííûé ñïèñîê ðàçáèåíèÿ àóäèîäèñêà è ñîõðàíèòü åãî â áëîêå ìåòàäàííûõ <A HREF="format.html#def_CUESHEET">CUESHEET</A>. Ýòó îïöèþ ìîæíî èñïîëüçîâàòü òîëüêî ïðè êîäèðîâàíèè îäíîãî ôàéëà. Òî÷êè ïîèñêà áóäóò äîáàâëåíû äëÿ êàæäîãî òðåêà èç ñïèñêà â áëîê <A HREF="format.html#def_SEEKTABLE">SEEKTABLE</A>, åñëè íå áóäåò óêàçàíà îïöèÿ <TT>--no-cued-seekpoints</TT>.<BR>
-Ôàéë ñïèñêà ðàçáèåíèÿ àóäèîäèñêà äîëæåí èìåòü òàêîé æå âèä, â êàêîì åãî ñîçäàþò ïðîãðàììû <A HREF="http://www.goldenhawk.com/cdrwin.htm">CDRwin</A>, <A HREF="http://www.dcsoft.com/prod03.htm">CDRcue</A>, <A HREF="http://www.exactaudiocopy.de/">EAC</A> è ò.ä</TD></TR>
-
-
-<TR><TD><TT>--sector-align</TT></TD>
-<TD>
-<P>Ïðè êîäèðîâàíèè íåñêîëüêèõ WAVE ôàéëîâ, ïîëó÷åííûõ ñ àóäèîäèñêà, âûðàâíèâàòü èõ íà ãðàíèöó ñåêòîðà. Ýòà îïöèÿ ïðèìåíèìà òîëüêî äëÿ êîäèðîâàíèÿ íåñêîëüêèõ WAVE ôàéëîâ, êàæäûé èç êîòîðûõ äîëæåí èìåòü ÷àñòîòó äèñêðåòèçàöèè 44.1 êÃö è äâà êàíàëà. Åñëè áóäåò óêàçàíà ýòà îïöèÿ êîäåð âûðîâíÿåò ïîòîêè .flac òàê,
-÷òî èõ äëèíû áóäóò êðàòíû ðàçìåðó ñåêòîðà CD-Audio (ðàâíû 1/75 ñåêóíäàì èëè 588 ñýìïëàì). Ýòî îñóùåñòâëÿåòñÿ ïåðåíîñîì ÷àñòè ñåêòîðà â êîíöå êàæäîãî WAVE ôàéëà â íà÷àëî ñëåäóþùåãî. Ïîñëåäíèé ïîòîê áóäåò äîïîëíåí äî ãðàíèöû âûðàâíèâàíèÿ íóëÿìè.</P>
-<P>Èñïîëüçîâàíèå ýòîé îïöèè íå ïðèâåäåò íè ê ÷åìó, åñëè ôàéëû óæå âûðîâíåíû (íàïðèìåð, åñëè ïðàâèëüíî ñêîïèðîâàíû ñ àóäèîäèñêà). <TT><B>flac</B></TT> ìîæåò âûðîâíÿòü òîëüêî íåñêîëüêî ôàéëîâ çà îäèí âûçîâ.</P>
-
-<P><B>ÂÍÈÌÀÍÈÅ</B>: Ïîðÿäîê ôàéëîâ èìååò çíà÷åíèå! Åñëè âû ñäåëàåòå ñëåäóþùèé âûçîâ '<TT>flac --sector-align *.wav</TT>', êîìàíäíûé ïðîöåññîð ìîæåò îáðàáîòàòü øàáëîí íå â òîì ïîðÿäêå, â êàêîì âû ðàññ÷èòûâàåòå. Ïîýòîìó ëó÷øå âñåãî âûçûâàòü ïðîãðàììó, ÿâíî óêàçàâ ñïèñîê ôàéëîâ, íàïðèìåð, '<TT>flac --sector-align 8.wav 9.wav 10.wav</TT>'.
-</TD></TR>
-
-<TR><TD><TT>-S {#|X|#x|#s}</TT>,<BR><TT>--seekpoint={#|X|#x|#s}</TD>
-<TD>Äîáàâëÿåò òî÷êè äëÿ ïîèñêà â òàáëèöó <TT>SEEKTABLE</TT>.
-
-<UL>
- <LI><TT>#&nbsp;</TT> : ñîçäàåòñÿ òî÷êà ïîèñêà äëÿ ñýìïëà ñ îïðåäåëåííûì íîìåðîì.</LI>
-
- <LI><TT>X&nbsp;</TT> : ðåçåðâèðóåìûå òî÷êè (âñåãäà ïîìåùàþòñÿ â êîíöå <TT>SEEKTABLE</TT>).</LI>
-
- <LI><TT>#x</TT> : # ðàâíîìåðíî ðàñïðåäåëåííûõ òî÷åê ïîèñêà, ïåðâàÿ ñîîòâåòñòâóåò 0 ñýìïëó.</LI>
-
- <LI><TT>#s</TT> : òî÷êè ïîèñêè ðàññòàâëÿþòñÿ äëÿ êàæäûõ # ñåêóíä; íîìåð íå îáÿçàòåëüíî äîëæåí áûòü öåëûì ÷èñëîì, íàïðèìåð, <TT>-S 9.5s</TT> îçí÷àåò, ÷òî òî÷êè áóäóò ïðîñòàâëåíû ñ ïðîìåæóòêîì 9.5 ñåêóíä</LI>
-</UL>
-
-<P>Îïöèþ <TT>-S</TT> ìîæíî èñïîëüçîâàòü íåñêîëüêî ðàç.  ðåçóëüòàòå ïîëó÷èòñÿ îáúåäèíåííàÿ òàáëèöà, â êîòîðîé áóäóò ïðèñóòñòâîâàòü òîëüêî óíèêàëüíûå çíà÷åíèÿ.<BR>
-Ïî óìîë÷àíèþ <B><TT>flac</TT></B> èñïîëüçóåò <TT>-S 10s</TT>. Åñëè òàáëèöà ïîèñêà íå íóæíà, óêàæèòå <TT>-S-</TT>.<BR>
-<B>ÏÐÈÌÅ×ÀÍÈÅ</B>: <TT>-S #x</TT> è <TT>-S #s</TT> íå áóäóò ðàáîòàòü, åñëè êîäåð íå ñìîæåò îïðåäåëèòü ðàçìåð âõîäíîãî ôàéëà â íà÷àëå ðàáîòû.<BR>
-<B>ÏÐÈÌÅ×ÀÍÈÅ</B>: åñëè <I>#</I> áîëüøå èëè ðàâåí êîëè÷åñòâó ñýìïëîâ âî âõîäíîì ôàéëå, òî òî÷êè äîáàâëåíû íå áóäóò, åñëè ðàçìåð ìîæíî îïðåäåëèòü äî êîäèðîâàíèÿ, â ïðîòèâíîì ñëó÷àå áóäóò çàïèñàíû ðåçåðâèðóåìûå òî÷êè.</P>
-</TD></TR>
-
-<TR><TD><TT>-P #</TT>, <TT>--padding</TT></TD>
-<TD>Êîäåð çàïèøåò áëîê ìåòàäàííûõ <TT>PADDING</TT>, óêàçàííîãî ðàçìåðà (â áàéòàõ), ïîñëå áëîêà <TT>STREAMINFO</TT>. Êëþ÷ <TT>--no-padding</TT> óêàçûâàåò, ÷òî áëîê <TT>PADDING</TT> íå íóæåí (çíà÷åíèå ïî óìîë÷àíèþ). Ýòîò áëîê ïîëåçåí, åñëè âû ñîáèðàåòåñü äîáàâèòü òýã â ôàéë ïîçæå. Âìåñòî òîãî, ÷òîáû ïåðåïèñûâàòü ôàéë ïîëíîñòüþ, ìîæíî áóäåò çàïèñàòü èíôîðìàöèþ âìåñòî áëîêà <TT>PADDING</TT>. Îáðàòèòå âíèìàíèå íà òî, ÷òî îáùèé ðàçìåð áëîêà <TT>PADDING</TT> áóäåò íà 4 áàéòà áîëüøå, òàê êàê 4 áàéòà çàíèìàåò çàãîëîâîê.</TD></TR>
-
-<TR><TD><TT>-T ÏÎËÅ=ÇÍÀ×ÅÍÈÅ</TT>, <TT>--tag=ÏÎËÅ=ÇÍÀ×ÅÍÈÅ</TT></TD>
-<TD>Äîáàâëÿåò êîììåíòàðèè Vorbis, êîòîðûé äîëæåí ñîîòâåòñòâîâàòü ñïåöèôèêàöèè, ò.å. ÏÎËÅ äîëæíî ñîäåðæàòü òîëüêî îïðåäåëåííûå ñèìâîëû, çàâåðøàþùèåñÿ çíàêîì ðàâåíñòâà. Ïðè íåîáõîäèìîñòè íå çàáûâàéòå çàêëþ÷àòü êîììåíòàðèé â êàâû÷êè. Ýòó îïöèþ ìîæíî èñïîëüçîâàòü íåîäíîêðàòíî äëÿ çàïîëíåíèÿ ðàçíûõ ïîëåé êîììåíòàðèÿ. Âñå óêàçàííûå çíà÷åíèÿ áóäóò ïðèìåíåíû êî âñåì êîäèðóåìûì ôàéëàì.</TD></TR>
-
-<TR><TD><TT>-b #</TT>, <TT>--blocksize</TT></TD>
-<TD>Óñòàíàâëèâàåò ðàçìåð áëîêà â ñýìïëàõ. Ïî óìîë÷àíèþ <TT>1152</TT> äëÿ <TT>-l 0</TT>, èíà÷å <TT>4608</TT>. Ñòàíäàðòíûå ïîòîêè äîëæíû èñïîëüçîâàòü îäíî èç óêàçàíûõ çíà÷åíèé: <TT>192/576/1152/2304/4608/256/512/1024/2048/4096/8192/16384/32768</TT>. Ñåé÷àñ êîäåð èñïîëüçóåò ïîñòîÿííûé ðàçìåð áëîêà äëÿ âñåãî ôàéëà.</TD></TR>
-
-<TR><TD><TT>-m</TT>, <TT>--mid-side</TT></TD>
-<TD>Âêëþ÷àåò ðàçíîñòíîå êîäèðîâàíèå (òîëüêî äëÿ ñòåðåî ïîòîêîâ). Îáû÷íî óâåëè÷èâàåò óðîâåíü ñæàòèÿ íà íåñêîëüêî ïðîöåíòîâ. Äëÿ êàæäîãî áëîêà ñîçäàåòñÿ óñðåäíåííàÿ è ñòåðåî âåðñèÿ áëîêà, ñîõðàíÿåòñÿ áëîê ìåíüøåãî ðàçìåðà. Ñåé÷àñ ðàçíîñòíîå êîäèðîâàíèå äîñòóïíî äëÿ ôàéëîâ, ãäå ñýìïë èìååò ðàçìåð íå áîëüøå 16 áèò.</TD></TR>
-
-<TR><TD><TT>-M</TT>, <TT>--adaptive-mid-side</TT></TD>
-<TD>Âêëþ÷àåò àäàïòèâíîå ðàçíîñòíîå êîäèðîâàíèå (òîëüêî äëÿ ñòåðåî ïîòîêîâ). Ðàáîòàåò àíàëîãè÷íî <TT>-m</TT>, îäíàêî êîäåð ïåðåêëþ÷àåòñÿ ìåæäó íåçàâèñèìûì è óñðåäíÿþùèì êîäèðîâàíèåì àäàïòèâíî. Ìåòîä ðàáîòàåò áûñòðåå, íî óðîâåíü ñæàòèÿ ìåíüøå, òàê êàê <TT>-m</TT> ïðîèçâîäèò ïîëíûé ïåðåáîð âàðèàíòîâ.</TD></TR>
-
-<TR><TD><TT>-0..-8</TT></TD>
-<TD>Áûñòðåéøåå ñæàòèå ... ìàêñèìàëüíîå ñæàòèå. Ïî óìîë÷àíèþ <TT>-5</TT>.</TD></TR>
-
-<TR><TD><TT>-0</TT>, <TT>--compression-level-0</TT></TD>
-<TD>Àíàëîãè÷íî <TT>-l 0 -b 1152 -r 2,2</TT>.</TD></TR>
-
-<TR><TD><TT>-1</TT>, <TT>--compression-level-1</TT></TD>
-<TD>Àíàëîãè÷íî <TT>-l 0 -b 1152 -r 2,2 -M</TT>.</TD></TR>
-
-<TR><TD><TT>-2</TT>, <TT>--compression-level-2</TT></TD>
-<TD>Àíàëîãè÷íî <TT>-l 0 -b 1152 -r 3 -m</TT>.</TD></TR>
-
-<TR><TD><TT>-3</TT>, <TT>--compression-level-3</TT></TD>
-<TD>Àíàëîãè÷íî <TT>-l 6 -b 4608 -r 3,3</TD></TR>
-
-<TR><TD><TT>-4</TT>, <TT>--compression-level-4</TT></TD>
-<TD>Àíàëîãè÷íî <TT>-l 8 -b 4608 -r 3,3 -M</TT>.</TD></TR>
-
-<TR><TD><TT>-5</TT>, <TT>--compression-level-5</TT></TD>
-<TD>Àíàëîãè÷íî <TT>-l 8 -b 4608 -r 3,3 -m</TT>.</TD></TR>
-
-<TR><TD><TT>-6</TT>, <TT>--compression-level-6</TT></TD>
-<TD>Àíàëîãè÷íî <TT>-l 8 -b 4608 -r 4 -m</TT>.</TD></TR>
-
-<TR><TD><TT>-7</TT>, <TT>--compression-level-7</TT></TD>
-<TD>Àíàëîãè÷íî <TT>-l 8 -b 4608 -r 6 -m -e</TT>.</TD></TR>
-
-<TR><TD><TT>-8</TT>, <TT>--compression-level-8</TT></TD>
-<TD>Àíàëîãè÷íî <TT>-l 12 -b 4608 -r 6 -m -e</TT>.</TD></TR>
-
-<TR><TD><TT>--fast</TT></TD>
-<TD>Áûñòðåéøåå ñæàòèå. Àíàëîãè÷íî <TT>-0</TT>.</TD></TR>
-
-<TR><TD><TT>--best</TT></TD>
-<TD>Ìàêñèìàëüíîå ñæàòèå. Àíàëîãè÷íî <TT>-8</TT>.</TD></TR>
-
-<TR><TD><TT>-e</TT>,<BR><TT>--exhaustive-model-search</TT></TD>
-<TD>Ïîëíûé ïîèñê ìîäåëè (ðàáîòàåò ìåäëåííî!). Îáû÷íî êîäåð îïðåäåëÿåò ëó÷øóþ ìîäåëü è êîäèðóåò äàëåå îïèðàÿñü íà íåå.  äàííîì ðåæèìå êîäåð áóäåò ñîçäàâàòü ïîäôðåéìû âñåõ ïîðÿäêîâ è èñïîëüçîâàòü íàèìåíüøèé. Åñëè ìàêñèìàëüíîå çíà÷åíèå ïîðÿäêà LPC âåëèêî, âðåìÿ êîäèðîâàíèÿ ñóùåñòâåííî âîçðàñòåò. Âûèãðûø îáû÷íî ñîñòàâëÿåò îêîëî 0.5%.</TD></TR>
-
-<TR><TD><TT>-E</TT>,<BR><TT>--escape-coding</TT></TD>
-<TD>Èñïîëüçîâàòü óïðàâëÿþùèå êîäû â êîäåðå ýíòðîïèè. Ýòà îïöèÿ ïîçâîëÿåò çàïèñûâàòü íåçàêîäèðîâàííîå ïðåäñòàâëåíèå îñòàòêà â ðàçäåëå, åñëè åãî ðàçìåð ìåíüøå. Ïðè ýòîì âðåìÿ ðàáîòû óâåëè÷èâàåòñÿ, à óðîâåíü ñæàòèÿ îáû÷íî óëó÷øàåòñÿ ïðèìåðíî íà 1%.</TD></TR>
-
-<TR><TD><TT>-l #</TT>,<BR><TT>--max-lpc-order=#</TT></TD>
-<TD>Îïðåäåëÿåò ìàêñèìàëüíûé ïîðÿäîê LPC (êîýôôèöèåíòîâ ëèíåéíîãî ïðîãíîçèðîâàíèÿ). ×èñëî äîëæíî áûòü ìåíüøå èëè ðàâíî <TT>32</TT>. Åñëè çíà÷åíèå ðàâíî <TT>0</TT>, êîäåð áóäåò èñïîëüçîâàòü âìåñòî îáùåãî ëèíåéíîãî ïðîãíîçèðîâàíèÿ ïîñòîÿííûå êîýôôèöèåíòû. Ýòîò ìåòîä óâåëè÷èâàåò ñêîðîñòü ðàáîòû, íî ôàéëû ïîëó÷àþòñÿ íà 5-10% áîëüøå.</TD></TR>
-
-<TR><TD><TT>-q #</TT>,<BR><TT>--qlp-coeff-precision=#</TD>
-<TD>Îïðåäåëÿåò òî÷íîñòü äèñêðåòíûõ êîýôôèöèåíòîâ ëèíåéíîãî ïðîãíîçèðîâàíèÿ â áèòàõ. Ïî óìîë÷àíèþ <TT>-q 0</TT>, ÷òî ïîçâîëÿåò êîäåðó ïðèíèìàòü ðåøåíèå â çàâèñèìîñòè îò ñèãíàëà. Ëó÷øå îñòàâëÿòü çíà÷åíèå ïî óìîë÷àíèþ.</TD></TR>
-
-<TR><TD><TT>-p</TT>,<BR><TT>--qlp-coeff-precision-search</TT></TD>
-<TD>Ïðîèçâîäèòü îïòèìèçàöèþ LPC. Ïåðåîïðåäåëÿåò ëþáóþ îïöèþ <TT>-q</TT>. Ñèëüíî çàìåäëÿåò ðàáîòó, è óìåíüøàåò ðàçìåð ôàéëà íà äîëþ ïðîöåíòà. <TT>-q</TT> íå ðàáîòàåò, êîãäà èñïîëüçóåòñÿ <TT>-l 0</TT>.</TD></TR>
-
-<TR><TD><TT>-r [#,]#</TT>,<BR><TT>--rice-partition-order=[#,]#</TT></TD>
-<TD>Óñòàíîâèòü <I>[min,]max</I> ïîðÿäîê ðàçäåëà. Åñëè ìèíèìàëüíîå çíà÷åíèå íå óêàçàíî, òî îíî óñòàíàâëèâàåòñÿ ðàâíûì 0. Ïî óìîë÷àíèþ êîäåð îäèí ïàðàìåòð Ðàéñà äëÿ âñåãî îñòàòêà ïîäôðåéìà. Åñëè èñïîëüçîâàòü ýòó îïöèþ, îñòàòîê áóäåò ðàçäåëÿòüñÿ íà <I>2^min#</I> ... <I>2^max</I> ÷àñòåé, äëÿ êàæäîé èç êîòîðûõ áóäåò îïðåäåëåí ñîáñòâåííûé ïàðàìåòð Ðàéñà. Ñ óâåëè÷åíèåì ïàðàìåòðà <I>max</I> âûèãðûø áóäåò âñå ìåíüøå. Íàèáîëåå îïòèìàëüíûé âàðèàíò äîñòèãàåòñÿ ïðè èñïîëüçîâàíèè <TT>-r 2,2</TT> (è áîëüøèõ çíà÷åíèé äëÿ áîëüøèõ ðàçìåðîâ áëîêîâ). Ïðè ýòîì ñæàòèå îáû÷íî óâåëè÷èâàåòñÿ íà 1.5%. Âûáîð îïòèìàëüíîãî çíà÷åíèÿ ìîæíî ïðîèçâåñòè ïî ôîðìóëå <TT>ðàçìåð_áëîêà/(2^n)=128</TT>. Ìàêñèìàëüíûé óðîâåíü ñæàòèÿ äîñòèãàåòñÿ ïðè èñïîëüçîâàíèè <TT>-r 0,16</TT>.</TD></TR>
-</TABLE>
-
-
-<H4>Íàñòðîéêè ôîðìàòà</H4>
-<TABLE border=1>
-<TR><TD width=30%><TT>--endian={big|little}</TT></TD>
-<TD width=70%>Îïðåäåëÿåò ïîðÿäîê áàéòîâ â ôàéëå áåç çàãîëîâêà big-endian | little-endian.</TD></TR>
-
-<TR><TD><TT>--channels=#</TT></TD>
-<TD>Îïðåäåëÿåò êîëè÷åñòâî êàíàëîâ â ôàéëå áåç çàãîëîâêà.</TD></TR>
-
-<TR><TD><TT>--bps=#</TT></TD>
-<TD>Îïðåäåëÿåò êîëè÷åñòâî áèò íà ñýìïë â ôàéëå áåç çàãîëîâêà.</TD></TR>
-
-<TR><TD><TT>--sample-rate=#</TT></TD>
-<TD>Îïðåäåëÿåò êîëè÷åñòâî ñýìïëîâ â ñåêóíäó â ôàéëå áåç çàãîëîâêà.</TD></TR>
-
-<TR><TD><TT>--sign={signed|unsigned}</TT></TD>
-<TD>Îïðåäåëÿåò, äîëæíû ëè áûòü ñýìïëû â ôàéëå áåç çàãîëîâêà áåççíàêîâûå èëè çíàêîâûå (ïî óìîë÷àíèþ çíàêîâûå).</TD></TR>
-
-<TR><TD><TT>--force-aiff-format</TT></TD>
-<TD>Äåêîäåð áóäåò çàïèñûâàòü â ôîðìàò AIFF. Ýòà îïöèÿ íå íóæíà, åñëè èìÿ âûõîäíîãî ôàéëà (óêàçàííîå ñ ïîìîùüþ êëþ÷à <TT>-o</TT>) çàêàí÷èâàòñÿ íà .aiff.</TD></TR>
-
-<TR><TD><TT>--force-raw-format</TT></TD>
-<TD>Âîñïðèíèìàòü âõîäíîé (èëè âûõîäíîé ïðè äåêîäèðîâàíèè) ôàéë êàê ïîòîê ñýìïëîâ áåç çàãîëîâêà âíå çàâèñèìîñòè îò ñóôôèêñà.</TD></TR>
-</TABLE>
-
-
-<H4><a name="format-options">Îòìåíà äåéñòâèÿ îïöèé</H4>
-<TABLE border=1>
-<TR><TD width=40%>
-<TT>--no-adaptive-mid-side</TT><BR>
-<TT>--no-decode-through-errors</TT><BR>
-<TT>--no-delete-input-file</TT><BR>
-<TT>--no-escape-coding</TT><BR>
-<TT>--no-exhaustive-model-search</TT><BR>
-<TT>--no-lax</TT><BR>
-<TT>--no-mid-side</TT><BR>
-<TT>--no-ogg</TT><BR>
-<TT>--no-padding</TT><BR>
-<TT>--no-qlp-coeff-precision-search</TT><BR>
-<TT>--no-residual-gnuplot</TT><BR>
-<TT>--no-residual-text</TT><BR>
-<TT>--no-sector-align</TT><BR>
-<TT>--no-seektable</TT><BR>
-<TT>--no-silent</TT><BR>
-<TT>--no-verify</TT></TD>
-<TD width=60%>Ìîæíî èñïîëüçîâàòü äëÿ îòêëþ÷åíèÿ äåéñòâèÿ êîíêðåòíîé îïöèè.</TD></TR>
-</TABLE>
-
-
-<A NAME="metaflac">
-<H3><B><TT>metaflac</TT></B></H3>
-
-<P><B><TT>metaflac</TT></B> - ýòî ðåäàêòîð ìåòàäàííûõ, ðàáîòàþùèé èç êîìàíäíîé ñòðîêè. Åãî ìîæíî èñïîëüçîâàòü äëÿ óäàëåíèÿ, âñòàâêè è âûâîäà ñîäåðæèìîãî áëîêîâ âî .flac ôàéëå, à òàêæå óïðàâëåíèÿ áëîêîì<TT>PADDING</TT>, ðåçåðâèðóþùèì ìåñòî.</P>
-
-<P>Äîêóìåíòàöèÿ äëÿ <B><TT>metaflac</TT></B> â ôîðìàòå HTML ñåé÷àñ ïåðåïèñûâàåòñÿ, ïîýòîìó ñåé÷àñ î âîçìîæíîñòÿõ ìîæíî óçíàòü, äàâ êîìàíäó <TT>metaflac --help</TT> èëè îçíàêîìèòüñÿ ñî man-ñòðàíèöåé.</P>
-
-<A NAME="plugins"><A NAME="xmms_plugin">
-<H3>Ïëàãèí äëÿ XMMS</H3>
-
-<P>Äëÿ åãî óñòàíîâêè íåîáõîäèìî ñêîïèðîâàòü <TT>libxmms-flac.so</TT> â êàòàëîã, ãäå íàõîäÿòñÿ ïëàãèíû ââîäà XMMS (îáû÷íî <TT>/usr/lib/xmms/Input</TT>). Áîëüøå íè÷åãî íàñòðàèâàòü íå íàäî. Äëÿ âîñïðîèçâåäåíèÿ .flac ôàéëîâ ïåðåçàïóñòèòå XMMS.</P>
-
-<A NAME="winamp_plugin2">
-<H3>Ïëàãèí äëÿ Winamp</H3>
-
-<P>Åñòü äâà ïëàãèíà äëÿ Winamp: îäèí äëÿ âåðñèé 2.x, à âòîðîé äëÿ 3.x. Åñëè âû èñïîëüçóåòå Winamp 2.x, òî äëÿ óñòàíîâêè ïëàãèíà íåîáõîäèìî ñêîïèðîâàòü <TT>in_flac.dll</TT> â êàòàëîã, ãäå íàõîäÿòñÿ ïëàãèíû ââîäà Winamp (îáû÷íî <TT>/Plugins</TT>). Áîëüøå íè÷åãî íàñòðàèâàòü íå íàäî. Äëÿ âîñïðîèçâåäåíèÿ .flac ôàéëîâ ïåðåçàïóñòèòå Winamp.</P>
-
-<A NAME="winamp_plugin3">
-<H3>Ïëàãèí äëÿ Winamp</H3>
-
-<P>Åñòü äâà ïëàãèíà äëÿ Winamp: îäèí äëÿ âåðñèé 2.x, à âòîðîé äëÿ 3.x. Åñëè âû èñïîëüçóåòå Winamp 3.x, òî äëÿ óñòàíîâêè ïëàãèíà íåîáõîäèìî ñêîïèðîâàòü <TT>cnv_flacpcm.wac</TT> â êàòàëîã, ãäå íàõîäÿòñÿ ïëàãèíû ââîäà Winamp (îáû÷íî <TT>/Wacs</TT>). Áîëüøå íè÷åãî íàñòðàèâàòü íå íàäî. Äëÿ âîñïðîèçâåäåíèÿ .flac ôàéëîâ ïåðåçàïóñòèòå Winamp.</P>
-
-<A NAME="bugs">
-<H3>Èçâåñòíûå îøèáêè</H3>
-
-<P>Îòñëåæèâàíèå îøèáîê âåäåòñÿ íà <A HREF="http://sourceforge.net/bugs/?group_id=13478">ýòîé</A> ñòðàíèöå ïðîåêòà, íàõîäÿùåéñÿ íà SourceForge. Åñëè Âû áóäåòå ñîîáùàòü îá îøèáêå, ïîæàëóéñòà, îñòàâüòå e-mail äëÿ êîíòàêòà.</P>
-
-<P>Íèæå ïåðå÷èñëåíû èçâåñòíûå îøèáêè â òåêóùåé âåðñèè (1.1.0):</P>
-
-<BLOCKQUOTE><UL>
- <LI>Íåò èçâåñòíûõ îøèáîê.</LI>
-</UL></BLOCKQUOTE>
-
-<P> âåðñèè 1.0.4 áûëè ñëåäóþùèå çíà÷èìûå îøèáêè:</P>
-
-<BLOCKQUOTE><UL>
- <LI>Âî âñåõ äåêîäåðàõ äî ýòîé âåðñèè âêëþ÷èòåëüíî áûëà îøèáêà íå ïîçâîëÿþùàÿ ïðàâèëüíî ïðîïóñêàòü íåèçâåñòíûå áëîêè ìåòàäàííûõ. Ôàéë FLAC, ñîçäàííûé êîäåðîì flac 1.1.0 è ñîäåðæàùèé áëîê ìåòàäàííûõ CUESHEET, íå áóäåò âîñïðîèçâîäèòüñÿ áîëåå ðàííèìè âåðñèÿìè äåêîäåðîâ.</LI>
- <LI>Â <B><TT>metaflac</TT></B> áûëà îøèáêà, âîçíèêàþùàÿ ïðè èìïîðòèðîâàíèè êîììåòàðèÿ â ôîðìàòå Vorbis, êîòîðàÿ ìîãëà ïðèâåñòè ê ïîâðåæäåíèþ ôàéëà FLAC.</LI>
-</UL></BLOCKQUOTE>
-
-
-<A NAME="monkey">
-<H3>monkey</H3>
-
-<P>Monkey's Audio ïîñòàâëÿåòñÿ ñ óäîáíûì ïîëüçîâàòåëüñêèì èíòåðôåéñîì. Îí ïîääåðæèâàåò íåñêîëüêî âíåøíèõ êîäåðîâ, â ÷èñëî êîòîðûõ íå âõîäèò FLAC. Îäíàêî äèñòðèáóòèâ FLAC äëÿ Windows ïîñòàâëÿåòñÿ ñ óòèëèòîé, ïîçâîëÿþùåé çàìåíèòü îäèí èç ïîääåðæèâàåìûõ âíåøíèõ êîäåêîâ íà FLAC. Ýòî ìîæíî ñäåëàòü òàê:</P>
-
-<UL>
-<LI>Ñêîïèðóéòå <B><TT>flac.exe</TT></B> è <B><TT>flac_ren.exe</TT></B> â êàòàëîã <B><TT>External/</TT></B> óñòàíîâêè Monkey's Audio.</LI>
-
-<LI>Âûáåðèòå, êàêîé ïîääåðæèâàåìûé êîäåð çàìåíèòü:
- <UL>
- <LI>Shorten - ñêîïèðóéòå <B><TT>flac_mac.exe</TT></B> ïîâåðõ <B><TT>External/shortn32.exe</TT></B></LI>
- <LI>WavPack - ñêîïèðóéòå <B><TT>flac_mac.exe</TT></B> ïîâåðõ <B><TT>External/wavpack.exe</TT></B> è <B><TT>External/wvunpack.exe</TT></B></LI>
- <LI>RKAU - ñêîïèðóéòå <B><TT>flac_mac.exe</TT></B> ïîâåðõ <B><TT>External/rkau.exe</TT></B></LI>
- </UL>
-Åñëè âûáðàòü WavPack, òî äëÿ èçìåíåíèÿ îïöèé FLAC áóäåò äîñòóïíî ìåíþ íàñòðîéêè WavPack Configuration.</LI>
-<LI>Òåïåðü ìîæíî êîäèðîâàòü â ôîðìàò FLAC. Ïåðåèìåíîâàííûé ôàéë <B><TT>flac_mac.exe</TT></B> âûçûâàåò <B><TT>flac.exe</TT></B>, à çàòåì <B><TT>flac_ren.exe</TT></B> äëÿ ïðèñâîåíèÿ ïîëó÷àåìîìó ôàéëó ðàñøèðåíèÿ .flac.</LI>
-</UL>
-</P>
-
-<P>Äðóãèå îáîëî÷êè ìîæíî èñïîëüçîâàòü ïðèìåðíî òàêèì æå ñïîñîáîì.</P>
-
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</P>
-
-</BODY>
-</HTML>
diff --git a/3rdparty/libflac/doc/html/ru/download.html b/3rdparty/libflac/doc/html/ru/download.html
deleted file mode 100644
index 7bde25aeab2..00000000000
--- a/3rdparty/libflac/doc/html/ru/download.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<HTML>
-<HEAD>
-<META CHARSET="windows-1251">
-<TITLE>FLAC: ôàéëû</TITLE>
-</HEAD>
-
-<BODY>
-<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR>
-<TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="index.html">íà÷àëî</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="news.html">íîâîñòè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;ôàéëû&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="features.html">õàðàêòåðèñòèêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="goals.html">öåëè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="format.html">ôîðìàò</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-
-<TR>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="id.html">id</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="comparison.html">ñðàâíåíèå</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="developers.html">ðàçðàáîòêà</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="documentation.html">äîêóìåíòàöèÿ</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="links.html">ññûëêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="authors.html">àâòîðû</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER>
-
-<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR><TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="../download.html">english</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;ðóññêèé</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER></P>
-
-
-<CENTER><H2>FLAC: ôàéëû</H2></CENTER>
-
-<P>Âñå èñõîäíûå êîäû è èñïîëíÿåìûå ôàéëû ðàñïðîñòðàíÿþòñÿ ïîä "îòêðûòûìè" ëèöåíçèÿìè. Áèáëèîòåêè -- ïîä LGPL, ïëàãèíû è óòèëèòû (<B><TT>flac</TT></B> è <B><TT>metaflac</TT></B>) -- ïîä GPL. Åñëè âû õîòèòå ðàñïðîñòðàíÿòü FLAC ÷àñòè÷íî èëè ïîëíîñòüþ íà äðóãèõ óñëîâèÿõ, <A HREF="mailto:jcoalson@users.sourceforge.net">ñâÿæèòåñü ñî ìíîé</A>.</P>
-
-
-<P>Âñå ðåëèçû äåëàþòñÿ íà SourceForge è ëåæàò íà <A HREF="http://sourceforge.net/project/showfiles.php?group_id=13478">ýòîé ñòðàíèöå</A>. Äëÿ êàæäîé âåðñèè âûëîæåíû èñõîäíûå òåêñòû, à òàêæå ñêîìïèëèðîâàííûå âåðñèè äëÿ Linux, Windows è Darwin (âêëþ÷àÿ OS X).</P>
-
-<P>Ïàêåòû RPM ìîæíî íàéòè íà <A HREF="http://ccrma-www.stanford.edu/planetccrma/software/soundapps.html">Planet CCRMA</A> è <A HREF="http://rpmfind.net/linux/rpm2html/search.php?query=flac">rpmfind.net</A>.
-
-<P>Ïàêåòû äëÿ äèñòðèáóòèâà Debian ìîæíî âçÿòü <A HREF="http://packages.debian.org/cgi-bin/search_packages.pl?keywords=flac+libflac+1.1&searchon=all&subword=1&version=all&release=all">çäåñü</A>.</P>
-
-<P>Ïîëüçîâàòåëÿì Mac OS X ñòîèò èñïîëüçîâàòü <A HREF="http://www.danrules.com/macflac/">MacFLAC</A> -- äèñòðèáóòèâ FLAC äëÿ OS X, âêëþ÷àþùèé óñòàíîâî÷íûé ïàêåò .pkg è ðàñøèðåíèÿ äëÿ ýòîé îïåðàöèîííîé ñèñòåìû. Åñëè âû èñïîëüçóåòå <A HREF="http://fink.sourceforge.net/">Fink</A>, âû ìîæåòå ïîïðîáîâàòü ïàêåò <A HREF="http://fink.sourceforge.net/pdb/package.php/flac">FLAC Fink</A>.
-
-<P>Âû òàêæå ìîæåòå ñêà÷àòü îáíîâëÿåìûé åæåäíåâíî <A HREF="http://cvs.sourceforge.net/cvstarballs/flac-cvsroot.tar.bz2">àðõèâ CVS</A>.</P>
-
-<H3>Ïîëåçíûå óòèëèòû</H3>
-
-<H4>Ãðàôè÷åñêèå îáîëî÷êè</H4>
-
-<P><BLOCKQUOTE><UL>
-<LI><B>Windows</B>
-<UL>
- <LI><A HREF="http://www.dbpoweramp.com/">dBpowerAMP</A> -- ìîùíàÿ ïðîãðàììà, ïîçâîëÿþùàÿ ïðåîáðàçîâûâàòü è âîñïðîèçâîäèòü ôàéëû.</LI>
- <LI>Ãðàôè÷åñêàÿ îáîëî÷êà äëÿ Windows <A HREF="http://home.wanadoo.nl/~w.speek/flac.htm">FLAC frontend</A>.</LI>
- <LI><A HREF="http://www.inf.ufpr.br/~rja00/lossless.html">FLACdrop</A> îáîëî÷êà äëÿ Windows ïîõîæàÿ íà Oggdrop.</LI>
- <LI>Îáîëî÷êó <A HREF="http://www.monkeysaudio.com/">Monkey's Audio</A> ìîæíî èñïîëüçîâàòü äëÿ ðàáîòû ñ FLAC; ñì. <A HREF="documentation.html#monkey">îïèñàíèå</A>.</LI>
-</UL></LI>
-
-<LI><B>Unix</B></LI>
-<UL>
- <LI><A HREF="http://www.nostatic.org/grip/">Grip</A> - îòëè÷íàÿ îáîëî÷êà äëÿ êîïèðîâàíèÿ àóäèîäèñêîâ è êîäèðîâàíèÿ, êîòîðóþ ìîæíî ëåãêî íàñòðîèòü äëÿ èñïîëüçîâàíèÿ FLAC.</LI>
-</UL></LI>
-
-</UL></BLOCKQUOTE></P>
-
-
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</P>
-
-</BODY>
-</HTML>
diff --git a/3rdparty/libflac/doc/html/ru/features.html b/3rdparty/libflac/doc/html/ru/features.html
deleted file mode 100644
index 5393f109997..00000000000
--- a/3rdparty/libflac/doc/html/ru/features.html
+++ /dev/null
@@ -1,124 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<HTML>
-<HEAD>
-<META CHARSET="windows-1251">
-<TITLE>FLAC: õàðàêòåðèñòèêè</TITLE>
-</HEAD>
-
-<BODY>
-<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR>
-<TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="index.html">íà÷àëî</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="news.html">íîâîñòè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="download.html">ôàéëû</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;õàðàêòåðèñòèêè&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="goals.html">öåëè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="format.html">ôîðìàò</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-
-<TR>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="id.html">id</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>&nbsp;
-<A HREF="comparison.html">ñðàâíåíèå</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>&nbsp;
-<A HREF="developers.html">ðàçðàáîòêà</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="documentation.html">äîêóìåíòàöèÿ</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="links.html">ññûëêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="authors.html">àâòîðû</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER>
-
-<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR><TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="../features.html">english</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;ðóññêèé</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER></P>
-
-
-<CENTER><H2>FLAC: õàðàêòåðèñòèêè</H2></CENTER>
-
-<P>FLAC - ýòî àááðåâèàòóðà îò Free Lossless Audio Codec (ñâîáîäíûé àóäèîêîäåê, ñæèìàþùèé áåç ïîòåðü). Ïðîåêò FLAC âêëþ÷àåò:</P>
-
-<P><BLOCKQUOTE><UL>
- <LI>ïîòîêîâûé ôîðìàò;</LI>
- <LI>áàçîâûå êîäåðû è äåêîäåðû â âèäå áèáëèîòåê;</LI>
- <LI><B><TT>flac</TT></B>, óòèëèòó êîìàíäíîé ñòðîêè, âûïîëíÿþùóþ ñæàòèå è ðàñïàêîâêó ôàéëîâ .flac;</LI>
- <LI><B><TT>metaflac</TT></B>, óòèëèòó êîìàíäíîé ñòðîêè äëÿ ðåäàêòèðîâàíèÿ ìåòàäàííûõ â ôàéëàõ .flac;</LI>
- <LI>ïëàãèíû äëÿ ðàçíûõ ïëåéåðîâ.</LI>
-</UL></BLOCKQUOTE></P>
-
-<P>"Ñâîáîäà" îçíà÷àåò, ÷òî ñïåöèôèêàöèÿ ïîòîêîâîãî ôîðìàòà îòêðûòà äëÿ âñåõ è ìîæåò áûòü èñïîëüçîâàíà äëÿ ëþáûõ öåëåé (ïðîåêò FLAC îñòàâëÿåò çà ñîáîé ïðàâî óñòàíàâëèâàòü ñïåöèôèêàöèè è ñåðòèôèöèðîâàòü îòíîñÿùèåñÿ ê íåìó ïðîäóêòû íà ñîâìåñòèìîñòü), à òàêæå òî, ÷òî íè ôîðìàò, íè îäèí èç ðåàëèçîâàííûõ ìåòîäîâ êîäèðîâàíèÿ/äåêîäèðîâàíèÿ íå çàïàòåíòîâàíû. Ýòî òàêæå çíà÷èò, ÷òî âñå èñõîäíûå òåêñòû äîñòóïíû ïî ëèöåíçèÿì, îáÿçûâàþùèì ïðåäîñòàâëÿòü èñõîäíûå êîäû.</P>
-
-<P>FLAC êîìïèëèðóåòñÿ íà ìíîæåñòâå ïëàòôîðì: Unixes (Linux, *BSD, Solaris, OS X), Windows, BeOS è OS/2. Èìåþòñÿ ñèñòåìû ñáîðêè äëÿ autoconf/automake, MSVC, Watcom C è Project Builder.</P>
-
-<P>Õàðàêòåðèñòèêè FLAC:</P>
-
- <LI>Ôîðìàò FLAC è ìåòîäû êîäèðîâàíèÿ/äåêîäèðîâàíèÿ íå çàùèùåíû ïàòåíòàìè.</LI>
-
-
-<P><BLOCKQUOTE><UL>
- <LI><B>Ñæàòèå áåç ïîòåðü</B>: Êîäèðîâàíèå PCM äàííûõ íå ïðèâîäèò ê ïîòåðå èíôîðìàöèè, ñëåäîâàòåëüíî äåêîäèðóåìûé àóäèîôàéë àáñîëþòíî èäåíòè÷åí òîìó, êîòîðûé áûë ïîäàí íà âõîä êîäåðó. ×òîáû îïðåäåëèòü âîçìîæíûå îøèáêè ïðè ïåðåäà÷å ôàéëà, äëÿ êàæäîãî ôðåéìà âû÷èñëÿåòñÿ 16-áèòíàÿ êîíòðîëüíàÿ ñóììà. Öåëîñòíîñòü íà äàëüíåéøåì ýòàïå ïîäòâåðæäàåòñÿ ïîäïèñüþ <A HREF="http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html">MD5</A> ðàñïàêîâàííûõ äàííûõ, êîòîðàÿ íàõîäèòñÿ â çàãîëîâêå è ìîæåò áûòü ïðîâåðåíà ïðè âîñïðîèçâåäåíèè, äåêîäèðîâàíèè èëè ñ ïîìîùüþ òåñòèðîâàíèÿ.</LI>
-
- <LI><B>Ñêîðîñòü</B>: Ñêîðîñòü ðàáîòû ïðè êîäèðîâàíèè è äåêîäèðîâàíèè íåñèììåòðè÷íû. Äëÿ äåêîäèðîâàíèÿ èñïîëüçóåòñÿ òîëüêî öåëî÷èñëåííàÿ àðèôìåòèêà, êîòîðàÿ òðåáóåò çíà÷èòåëüíî ìåíüøå âû÷èñëåíèé, ÷åì â ïåðöåïöèîííûõ êîäåêàõ. Äåêîäèðîâàíèå â ðåàëüíîì âðåìåíè ëåãêî äîñòèæèìî äàæå íà ñòàðûõ êîìïüþòåðàõ.</LI>
-
- <LI><B>Àïïàðàòíàÿ ïîääåðæêà</B>: Áëàãîäàðÿ ñâîáîäíîé áàçîâîé ðåàëèçàöèè è ïðîñòîìó äåêîäèðîâàíèþ FLAC ÿâëÿåòñÿ åäèíñòâåííûì àóäèîêîäåêîì, ñæèìàþùèì áåç ïîòåðü, êîòîðûé èìååò àïïàðàòíóþ ïîääåðæêó.</LI>
-
- <LI><B>Ïîòî÷íîñòü</B>: Êàæäûé ôðåéì FLAC ñîäåðæèò äîñòàòî÷íî èíôîðìàöèè äëÿ ñîáñòâåííîãî äåêîäèðîâàíèÿ. Òåêóùèé ôðåéì FLAC íå çàâèñèò îò ïðåäûäóùèõ è ïîñëåäóþùèõ. FLAC èñïîëüçóåò êîäû ñèíõðîíèçàöèè è êîíòðîëüíûå ñóììû, ÷òî ïîçâîëÿåò äåêîäåðó áûñòðî âûáèðàòü ïîçèöèþ â òåêóùåì ïîòîêå.</LI>
-
- <LI><B>Ïîèñê</B>: FLAC ïîääåðæèâàåò áûñòðûé è òî÷íûé ïîèñê, ÷òî ïîëåçíî íå òîëüêî ïðè âîñïðîèçâåäåíèè, íî è äàåò âîçìîæíîñòü èñïîëüçîâàòü FLAC â çâóêîâûõ ðåäàêòîðàõ.</LI>
-
- <LI><B>Ìåòàäàííûå</B>: FLAC èìååò ðàñøèðÿåìóþ ñèñòåìó ìåòàäàííûõ. Íîâûå áëîêè ìåòàäàííûõ ìîãóò áûòü îïðåäåëåíû è ðåàëèçîâàíû â áóäóùèõ âåðñèÿõ áåç ïîòåðè îáðàòíîé ñîâìåñòèìîñòè. Ñåé÷àñ îïðåäåëåíû òèïû ìåòàäàííûõ äëÿ òàáëèö ïîèñêà, òåãîâ è ñïèñêîâ ðàçìåòêè àóäèîäèñêîâ. Ïðèëîæåíèå ìîæåò èñïîëüçîâàòü áëîê ìåòàäàííûõ <A HREF="format.html#def_APPLICATION"><TT>APPLICATION</TT></A> ïîñëå ðåãèñòðàöèè äëÿ íåãî <A HREF="id.html">ID</A>.</LI>
-
- <LI><B>Àðõèâèðîâàíèå</B>: FLAC óäîáíî èñïîëüçîâàòü äëÿ àðõèâàöèè, òàê êàê ñæàòèå ñ åãî ïîìîùüþ íå ïðèâîäèò ê ïîòåðå èíôîðìàöèè. Åñëè â áóäóùåì Âû ðåøèòå èñïîëüçîâàòü äðóãîé ôîðìàò, äàííûå áóäóò âîññòàíîâëåíû èç .flac ôàéëà â ïåðâîíà÷àëüíîì âèäå. Êðîìå êîíòðîëüíîé ñóììû ôðåéìà è ïîäïèñè <A HREF="http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html">MD5</A>, óòèëèòà <B><TT>flac</TT></B> èìååò âîçìîæíîñòü ïðîâåðêè, èñïîëüçîâàíèå êîòîðîé ïðèâîäèò ê òîìó, ÷òî êîäèðóåìûé ïîòîê ñðàçó æå äåêîäèðóåòñÿ è ñðàâíèâàåòñÿ ñ èñõîäíûì. Åñëè ïðîèñõîäèò îøèáêà, êîäåð ïðåêðàùàåò ðàáîòó.</LI>
-
- <LI><B>Àðõèâèðîâàíèå àóäèîäèñêîâ</B>: Ó FLAC åñëè áëîê ìåòàäàííûõ <TT>CUESHEET</TT>, â êîòîðîì ñîõðàíÿåòñÿ òàáëèöà ðàçìåòêè àóäèîäèñêà. Íàïðèìåð, ìîæíî çàïèñàòü àóäèîäèñê â îäèí ôàéë, à çàòåì èìïîðòèðîâàòü åãî òàáëèöó ðàçìåòêè ïðè êîäèðîâàíèè, ÷òîáû ïîëó÷åííûé ôàéë èìåë òàêîå æå ïðåäñòàâëåíèå êàê è äèñê. Åñëè îðèãèíàë àóäèîäèñêà áóäåò èñïîð÷åí, òî âû ñìîæåòå âîññòàíîâèòü òàáëèöó ðàçìåòêè, ÷òîáû çàïèñàòü òî÷íóþ êîïèþ äèñêà.</LI>
-
- <LI><B>Óñòîé÷èâîñòü îò îøèáîê</B>: Áëàãîäàðÿ ðàçáèåíèþ íà ôðåéìû, îøèáêè â ïîòîêå ëîêàëèçóþòñÿ äî óðîâíÿ ôðåéìà, â êîòîðîì ïðîèçîøëà îøèáêà (îáû÷íî íåñêîëüêî ñîòûõ ñåêóíäû).  íåêîòîðûõ êîäåêàõ îäíà îøèáêà ìîæåò ïðèâåñòè ê ïîòåðå âñåãî îñòàòêà ïîòîêà.</LI>
-</UL></BLOCKQUOTE></P>
-
-
-<P>×åãî <B>íåò</B> âî FLAC?</P>
-
-<P><BLOCKQUOTE><UL>
- <LI>FLAC íå îñóùåñòâëÿåò ñæàòèå ñ ïîòåðÿìè. Äëÿ ýòîãî ñóùåñòâóåò ìíîãî õîðîøèõ ôîðìàòîâ, òàêèõ êàê <A HREF="http://www.vorbis.com">Vorbis</A>, <A HREF="http://musepack.org/">MPC</A> è <A HREF="http://www.mp3-tech.org/">mp3</A> (îòëè÷íàÿ ðåàëèçàöèÿ ñ îòêðûòèìè èñõîäíûìè òåêñòàìè <A HREF="http://www.mp3dev.org/mp3/">LAME</A>).</LI>
-
- <LI>FLAC íå áóäåò SDMI ñîâìåñòèìûì è ò.ï. Ïåðåä ïðîåêòîì íå ñòîèò öåëè ïîääåðæèâàòü ìåòîäû çàùèòû, êîòîðûå íà ïðàêòèêå ëèøü óâåëè÷èâàþò îáúåì ôàéëà. Êîíå÷íî, ìû íå ñìîæåì ïðåïÿòñòâîâàòü êîìó-ëèáî ñîçäàâàòü íåñâîáîäíûå áëîêè ìåòàäàííûõ, îäíàêî, ñòàíäàðòíûå äåêîäåðû âñå ðàâíî áóäóò èõ ïðîïóñêàòü.</LI>
-
-</UL></BLOCKQUOTE></B>
-
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</P>
-
-</BODY>
-</HTML>
diff --git a/3rdparty/libflac/doc/html/ru/format.html b/3rdparty/libflac/doc/html/ru/format.html
deleted file mode 100644
index 272678298bb..00000000000
--- a/3rdparty/libflac/doc/html/ru/format.html
+++ /dev/null
@@ -1,1006 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<HTML>
-<HEAD>
-<META CHARSET="windows-1251">
-<TITLE>FLAC: ôîðìàò</TITLE>
-</HEAD>
-
-<BODY>
-<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR>
-<TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="index.html">íà÷àëî</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="news.html">íîâîñòè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="download.html">ôàéëû</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="features.html">õàðàêòåðèñòèêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="goals.html">öåëè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;ôîðìàò&nbsp;</TD>
-<TD align=center>|</TD></TR>
-
-<TR>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="id.html">id</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="comparison.html">ñðàâíåíèå</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="developers.html">ðàçðàáîòêà</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="documentation.html">äîêóìåíòàöèÿ</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="links.html">ññûëêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="authors.html">àâòîðû</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER>
-
-<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR><TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="../format.html">english</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;ðóññêèé</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER></P>
-
-
-<CENTER><H2>FLAC: ôîðìàò</H2></CENTER>
-
-
-<H3>Ôîðìàò</H3>
-
-<P>Çäåñü ïðèâåäåíî ïîëíîå îïèñàíèå ôîðìàòà FLAC.</P>
-
-
-<H4>Îò àâòîðà</H4>
-
-<P>Âî-ïåðâûõ, êàê îñíîâíîé ðàçðàáîò÷èê, ÿ äîëæåí îòìåòèòü, ÷òî íå ÿâëÿþñü ýêñïåðòîì â îáëàñòè ñæàòèÿ, ïîýòîìó ÷óâñòâóþ ñåáÿ îáÿçàííûì ïîáëàãîäàðèòü ìíîãèõ ëþäåé, ðàáîòàâøèõ íàä óëó÷øåíèåì àëãîðèòìîâ êîìïðåññèè àóäèîäàííûõ. Îòäåëüíóþ áëàãîäàðíîñòü ÿ âûðàæàþ:</P>
-
-<P><BLOCKQUOTE>
-<LI><A HREF="http://www-svr.eng.cam.ac.uk/reports/abstracts/robinson_tr156.html">Ý. Ðîáèíñîíó</A> çà ðàáîòó íàä Shorten. Åãî ñòàòüÿ ïîñëóæèëà îòïðàâíîé òî÷êîé äëÿ íåñêîëüêèõ îñíîâíûõ ìåòîäîâ, çàëîæåííûõ âî FLAC. FLAC ðàçâèë èäåþ ïîñòîÿííûõ ïðåäèêòîðîâ, èñïîëüçóåìóþ â Shorten.</LI>
-
-<LI><A HREF="http://commsci.usc.edu/faculty/golomb.html">Ñ. Ãîëîìáó</A> è Ðîáåðòó Ðàéñó. Èõ óíèâåðñàëüíûå êîäû èñïîëüçóþòñÿ êîäåðîì ýíòðîïèè.</LI>
-
-<LI>Í. Ëåâèíñîíó è Äæ. Äàðáèíó. Áàçîâûé êîäåð èñïîëüçóåò ðàçðàáîòàííûé è óëó÷øåííûé èìè àëãîðèòì äëÿ îïðåäåëåíèÿ LPC êîýôôèöèåíòîâ èç êîýôôèöèåíòîâ àâòîêîððåëÿöèè.</LI>
-
-<LI>È, êîíå÷íî æå, <A HREF="http://www.digitalcentury.com/encyclo/update/shannon.html">Ê. Øåííîíó.</A></LI>
-</BLOCKQUOTE></P>
-
-<P>--Äæîø Êîëñîí</P>
-
-
-<a name="scope">
-<H4><u>Îáëàñòü ïðèìåíåíèÿ</u></H4>
-
-<P>Îáùåèçâåñòíî, ÷òî íåò àëãîðèòìà, ñïîñîáíîãî ñæàòü áåç ïîòåðü âõîäíûå äàííûå ëþáîãî òèïà. Áîëüøèíñòâî àðõèâàòîðîâ ïîçèöèîíèðóþòñÿ äëÿ ðàáîòû ñ äàííûìè îïðåäåëåííîãî âèäà è îïòèìèçèðóþòñÿ äëÿ ýòîé îáëàñòè. FLAC ïðåäíàçíà÷åí äëÿ ñæàòèÿ àóäèîäàííûõ. Íåñìîòðÿ íà òî, ÷òî îí ìîæåò ñæàòü áåç ïîòåðü äàííûå ëþáîãî òèïà, òîëüêî îïðåäåëåííûé ââîä àðõèâèðóåòñÿ õîðîøî. FLAC èñïîëüçóåò òîò ôàêò, ÷òî îáû÷íî àóäèîäàííûå èìåþò âûñîêèé ïîðÿäîê êîððåëÿöèè ìåæäó ñýìïëàìè.</P>
-
-<P> îáëàñòè àóäèî ñóùåñòâóåò ìíîæåñòâî âîçìîæíûõ ïîäðàçäåëîâ. Íàïðèìåð, ðå÷ü ñ íèçêèì áèòðåéòîì, ìíîãîêàíàëüíàÿ ìóçûêà ñ âûñîêîé ÷àñòîòîé äèñêðåòèçàöèè è ò.ä. FLAC íå íàöåëåí íà êàêîé-ëèáî ïîäðàçäåë, îäíàêî áîëüøèíñòâî ïàðàìåòðîâ ïî óìîë÷àíèþ áàçîâîãî êîäåðà ðàññ÷èòàíû íà CD-àóäèî (ò.å. 44.1êÃö, 2 êàíàëà, 16 áèò íà ñýìïë). Âëèÿíèå ïàðàìåòðîâ êîäèðîâàíèÿ íà ðàçíûå òèïû àóäèî áóäåò ðàññìîòðåíî ïîçæå.</P>
-
-<a name="architecture">
-<H4><u>Àðõèòåêòóðà</u></H4>
-
-<P>Ïîäîáíî áîëüøèíñòâó ïðîãðàìì òàêîãî ðîäà, êîäåð FLAC âûïîëíÿåò ñëåäóþùèå äåéñòâèÿ:</P>
-
-<P><BLOCKQUOTE>
-<LI><A HREF="format.html#blocking">Ðàçáèåíèå íà áëîêè</A>. Ââîä ðàçáèâàåòñÿ íà ìíîæåñòâî ïîñëåäîâàòåëüíûõ áëîêîâ, êîòîðûå ìîãóò èìåòü ðàçëè÷íûé ðàçìåð. Îïòèìàëüíûé ðàçìåð áëîêà îáû÷íî çàâèñèò îò ìíîãèõ ôàêòîðîâ, òàêèõ êàê ÷àñòîòà äèñêåòèçàöèè, ñïåêòðàëüíàÿ õàðàêòåðèñòèêà âî âðåìåíè è ò.ä. Íåñìîòðÿ íà òî, ÷òî ôîðìàò FLAC ïîçâîëÿåò èñïîëüçîâàòü â ïîòîêå áëîêè ðàçëè÷íîãî ðàçìåðà, áàçîâûé êîäåð èñïîëüçóåò ïîñòîÿííûé ðàçìåð.</LI>
-
-<LI><A HREF="format.html#interchannel">Ìåæêàíàëüíàÿ äåêîððåëÿöèÿ</A>.  ñëó÷àå ñòåðåîïîòîêîâ êîäåð ñîçäàåò ñðåäíèé è ðàçíîñòíûé ñèãíàëû, îñíîâàííûå íà ñðåäíåì çíà÷åíèè ìåæäó ëåâûì è ïðàâûì êàíàëàìè è èõ ðàçíîñòè ñîîòâåòñòâåííî. Íà ñëåäóþùèé ýòàï êîäèðîâàíèÿ ïåðåäàåòñÿ ëó÷øèé èç âàðèàíòîâ ñæàòîãî ñèãíàëà.</LI>
-
-<LI><A HREF="format.html#prediction">Ïðîãíîçèðîâàíèå</A>. Äàëåå êîäåð ïûòàåòñÿ íàéòè ìàòåìàòè÷åñêîå îïèñàíèå ñèãíàëà (îáû÷íî ïðèáëèçèòåëüíîå). Çà÷àñòóþ îíî çíà÷èòåëüíî ìåíüøå ñàìîãî ñèãíàëà. Òàê êàê ìåòîäû ïðåäñêàçàíèÿ èçâåñòíû è êîäåðó, è äåêîäåðó â ïîòîêå íóæíî óêàçàòü òîëüêî ïàðàìåòðû ïðåäèêòîðà. Ñåé÷àñ FLAC èñïîëüçóåò ÷åòûðå ðàçëè÷íûõ êëàññà ïðåäèêòîðîâ (îïèñàííûõ â ðàçäåëå <A HREF="format.html#prediction">Ïðîãíîçèðîâàíèå</A>), íî â ôîðìàòå ïðåäóñìîòðåíî ìåñòî äëÿ äîïîëíèòåëüíûõ ìåòîäîâ. FLAC äîïóñêàåò èçìåíåíèå êëàññà ïðåäèêòîðà îò áëîêà ê áëîêó è äàæå â ïðåäåëàõ êàíàëà â áëîêå.</LI>
-
-<LI><A HREF="format.html#residualcoding">Êîäèðîâàíèå îñòàòêîâ</A>. Åñëè ïðåäèêòîð íå îïèñûâàåò ñèãíàë òî÷íî, ðàçíèöà ìåæäó îðèãèíàëüíûì ñèãíàëîì è ñïðîãíîçèðîâàííûì (íàçûâàåìûì åùå îøèáî÷íûì èëè îñòàòî÷íûì) äîëæíà áûòü çàêîäèðîâàíà áåç ïîòåðü. Åñëè ïðåäñêàçàíèå ýôôåêòèâíî, îñòàòî÷íûé ñèãíàë áóäåò çàíèìàòü ìåíüøå áèò íà ñýìïë, ÷åì îðèãèíàëüíûé ñèãíàë. Ñåé÷àñ FLAC èñïîëüçóåò òîëüêî îäèí ìåòîä äëÿ êîäèðîâàíèÿ îñòàòêîâ (ñì. ðàçäåë <A HREF="format.html#residualcoding">Êîäèðîâàíèå îñòàòêîâ</A>), îäíàêî â ôîðìàòå ïðåäóñìîòðåíî ìåñòî äëÿ äîïîëíèòåëüíûõ ìåòîäîâ. FLAC äîïóñêàåò èçìåíåíèå ìåòîäà êîäèðîâàíèÿ îñòàòêîâ îò áëîêà ê áëîêó è äàæå â ïðåäåëàõ êàíàëà â áëîêå.</LI>
-</BLOCKQUOTE></P>
-
-<P> äîïîëíåíèå êî âñåìó îïðåäåëåíà ñèñòåìà ìåòàäàííûõ, ïîçâîëÿþùàÿ äîáàâëÿòü â íà÷àëî ïîòîêà ïðîèçâîëüíóþ èíôîðìàöèþ.</P>
-
-
-<a name="definitions">
-<H4><u>Îïðåäåëåíèÿ</u></H4>
-
-<P>Ìíîãèå òåðìèíû, òàêèå êàê "áëîê" è "ôðåéì", èìåþò ðàçëè÷íîå çíà÷åíèå â ñõåìàõ êîäèðîâàíèÿ. Íàïðèìåð, ôðåéì â mp3 ñîîâåòñòâóåò ìíîãèì ñýìïëàì âî âñåõ êàíàëàõ, â òî âðåìÿ êàê ôðåéì S/PDIF ïðåäñòàâëÿåò òîëüêî îäèí ñýìïë äëÿ êàæäîãî êàíàëà. Îáðàòèòå âíèìàíèå íà òî, ÷òî, ãîâîðÿ î "áëîêàõ" è "ïîäáëîêàõ", ìû ññûëàåìñÿ íà íåçàêîäèðîâàííûå àóäèîäàííûå, à òåðìèíû "ôðåéì" è "ïîäôðåéì" èñïîëüçóåì äëÿ äàííûõ ñæàòûõ FLAC.</P>
-
-<P><BLOCKQUOTE>
-<LI><B>Áëîê</B> - ýòî îäèí èëè áîëåå ñýìïëîâ, íàõîäÿùèõñÿ â íåñêîëüêèõ êàíàëàõ.</LI>
-
-<LI><B>Ïîäáëîê</B> - ýòî îäèí èëè áîëåå ñýìïëîâ èç îäíîãî êàíàëà. Òàêèì îáðàçîì, áëîê ñîäåðæèò ïîäáëîê äëÿ êàæäîãî êàíàëà è âñå ïîäáëîêè â íåì ñîäåðæàò îäèíàêîâîå êîëè÷åñòâî ñýìïëîâ.</LI>
-
-<LI><B>Ðàçìåð áëîêà</B> - ýòî êîëè÷åñòâî ñýìïëîâ â ëþáîì èç ñâîèõ ïîäáëîêîâ. Íàïðèìåð, áëîê äëèíîé â îäíó ñåêóíäó ñ ÷àñòîòîé äåñêðåòèçàöèè 44.1êÃö èìååò ðàçìåð áëîêà 44100 âíå çàâèñèìîñòè îò êîëè÷åñòâà êàíàëîâ.</LI>
-
-<LI><B>Ôðåéì</B> - ýòî çàãîëîâîê è îäèí èëè íåñêîëüêî ïîäôðåéìîâ.</LI>
-
-<LI><B>Ïîäôðåéì</B> - ýòî çàãîëîâîê è îäèí èëè íåñêîëüêî çàêîäèðîâàííûõ ñýìïëîâ èç äàííîãî êàíàëà. Âñå ïîäôðåéìû â äàííîì ôðåéìå ñîäåðæàò îäèíàêîâîå êîëè÷åñòâî ñýìïëîâ.</LI>
-</BLOCKQUOTE></P>
-
-
-<a name="blocking">
-<H4><u>Ðàçáèåíèå íà áëîêè</u></H4>
-
-<P>Ðàçìåð áëîêîâ ñèëüíî âëèÿåò íà óðîâåíü ñæàòèÿ. Åñëè ðàçìåð áëîêà áóäåò ñëèøêîì ìàë, òî â èòîãå ïîëó÷èòñÿ î÷åíü ìíîãî ôðåéìîâ, à ýòî çíà÷èò, ÷òî íà çàãîëîâêè áóäåò ïîòðà÷åíî ìíîãî áèòîâ. Åñëè æå ðàçìåð áëîêà áîëüøîé, à õàðàêòåðèñòèêè ñèãíàëà ñèëüíî âàðüèðóþòñÿ, êîäåð íå ñìîæåò íàéòè õîðîøèé ïðåäèêòîð. ×òîáû óïðîñòèòü êîäåê, FLAC îïðåäåëÿåò ìèíèìàëüíûé ðàçìåð áëîêà â 16 ñýìïëîâ, à ìàêñèìàëüíûé â 65535 ñýìïëîâ. Ýòîò èíòåðâàë ïîêðûâàåò îïòèìàëüíûå ðàçìåðû áëîêîâ äëÿ âñåõ àóäèîäàííûõ, ïîääåðæèâàåìûõ FLAC.</P>
-
-<P>Ñåé÷àñ áàçîâûé êîäåð èñïîëüçóåò ïîñòîÿííûé ðàçìåð áëîêà, îïòèìèçèðîâàííûé ïî ÷àñòîòå äèñêðåòèçàöèè ââîäà. Ïîñëåäóþùèå âåðñèè ñìîãóò èçìåíÿòü ðàçìåð áëîêà â çàâèñèìîñòè îò õàðàêòåðèñòèê ñèãíàëà.</P>
-
-<P>Ðàçáèòûå íà áëîêè äàííûå ïåðåäàþòñÿ íà ñòàäèþ ïðîãíîçèðîâàíèÿ ïî îäíîìó ïîäáëîêó. Êàæäûé ïîäáëîê êîäèðóåòñÿ â ïîäôðåéì íåçàâèñèìî, à ïîçæå îíè îáúåíäèíÿþòñÿ âî ôðåéì. Òàê êàê êàæäûé êàíàë êîäèðóåòñÿ îòäåëüíî, ýòî îçíà÷àåò, ÷òî îäèí êàíàë ñòåðåî ôðåéìà ìîæåò ñæèìàòüñÿ êàê ïîñòîÿííûé ïîäôðåéì, à âòîðîé êàê LPC ïîäôðåéì.</P>
-
-
-<a name="interchannel">
-<H4><u>Ìåæêàíàëüíàÿ äåêîððåëÿöèÿ</u></H4>
-
-<P> áîëüøèíñòâå ñëó÷àåâ â ñòåðåî ïîòîêàõ ñóùåñòâóåò äîñòàòî÷íûé óðîâåíü êîððåëÿöèè ìåæäó ëåâûì è ïðàâûì êàíàëàìè. FLAC ïîçâîëÿåò ôðåéìàì â ñòåðåî ïîòîêàõ èìåòü ðàçëè÷íîå ðàñïðåäåëåíèå êàíàëîâ, à êîäåð ìîæåò èñïîëüçîâàòü ëó÷øåå ïðåäñòàâëåíèå.</P>
-
-<P><BLOCKQUOTE>
-<LI><B>Íåçàâèñèìîå</B>. Ëåâûé è ïðàâûé êàíàëû êîäèðóþòñÿ íåçàâèñèìî.</LI>
-
-<LI><B>Ðàçíîñòíîå</B>. Ëåâûé è ïðàâûé êàíàë ïðåîáðàçîâûâàþòñÿ â ñðåäíèé è îñòàòî÷íûé êàíàëû. Ñðåäíèé êàíàë - ýòî ñðåäíåå çíà÷åíèå ëåâîãî è ïðàâîãî ñèãíàëîâ, à îñòàòî÷íûé - ðàçíèöà ìåæäó íèìè (ëåâûé ìèíóñ ïðàâûé).</LI>
-
-<LI><B>Ëåâîñòîðîííåå</B>. Êîäèðóåòñÿ ëåâûé è îñòàòî÷íûé êàíàëû.</LI>
-
-<LI><B>Ïðàâîîñòîðîííåå</B>. Êîäèðóåòñÿ ïðàâûé è îñòàòî÷íûé êàíàëû.</LI>
-</BLOCKQUOTE></P>
-
-<P>Îêàçûâàåòñÿ, ÷òî ëåâîñòîðîííåå è ïðàâîñòîðîííåå êîäèðîâàíèå ìîãóò áûòü áîëåå ýôôåêòèâíûìè âî ìíîãèõ ôðåéìàõ, íåñìîòðÿ íà òî, ÷òî íåîáõîäèìîå äëÿ îðèãèíàëüíîãî ñèãíàëà êîëè÷åñòâî áèòîâ íà ñýìïë íåìíîãî áîëüøå, ÷åì äëÿ íåçàâèñèìîãî èëè óñðåäíåííîãî êîäèðîâàíèÿ.</P>
-
-
-<a name="prediction">
-<H4><u>Ïðîãíîçèðîâàíèå</u></H4>
-
-<P>FLAC èñïîëüçóåò ÷åòûðå ìåòîäà äëÿ ìîäåëèðîâàíèÿ âõîäíîãî ñèãíàëà:</P>
-
-<P><BLOCKQUOTE>
-<LI><B>Äîñëîâíûé</B>. Ïî ñóùåñòâó ýòî ïðîãíîçèðîâàíèå ñèãíàëà íóëåâîãî óðîâíÿ. Ïðåäèêòîðîì ñèãíàëà ÿâëÿåòñÿ ñàì ñèãíàë, ïîòîìó ñæàòèå íå ïðîèñõîäèò. Ýòî îáðàçåö, ñ êîòîðûì ñâåðÿþòñÿ âñå îñòàëüíûå ïðåäèêòîðû. Åñëè ïåðåäàòü êîäåðó ñëó÷àéíûå äàííûå, äëÿ âñåõ ïîäáëîêîâ ñêîðå âñåãî áóäåò èñïîëüçîâàí äîñëîâíûé ïðåäèêòîð. Òàê êàê íåîáðàáîòàííûé ñèãíàë íå ïðîõîäèò ñòàäèþ êîäèðîâàíèÿ îñòàòêîâ, ðåçóëüòàòû íå áóäóò ñîâïàäàòü ñ ëèíåéíûì ïðåäèêòîðîì íóëåâîãî ïîðÿäêà.</LI>
-
-<LI><B>Ïîñòîÿííûé</B>. Ýòîò ïðåäèêòîð èñïîëüçóåòñÿ, êîãäà ïîäáëîê ñîäåðæèò öèôðîâóþ òèøèíó, ò.å. íà âõîä ïîñòóïàåò îäíà êîíñòàíòà. Ñèãíàë êîäèðóåòñÿ ïî âñåé äëèíå è äîáàâëÿåòñÿ ê ïîòîêó.</LI>
-
-<LI><B>Ïîñòîÿííûé ëèíåéíûé ïðåäèêòîð</B>. FLAC èñïîëüçóåò êëàññ ýôôåêòèâíî âû÷èñëÿåìûõ ïîñòîÿííûõ ëèíåéíûõ ïðåäèêòîðîâ (õîðîøåå îïèñàíèå ïðèâåäåíî ó <A HREF="http://svr-www.eng.cam.ac.uk/~ajr/GroupPubs/Robinson94-tr156/index.html">Shorten</A> è <A HREF="http://www.hpl.hp.com/techreports/1999/HPL-1999-144.pdf">AudioPak</A>). FLAC äîáàâëÿåò ïðåäèêòîð ÷åòâåðòîãî óðîâíÿ ê èñïîëüçîâàííûì â Shorten ïðåäèêòîðàì îò íóëåâîãî äî òðåòüåãî óðîâíÿ. Òàê êàê ïðåäèêòîðû ïîñòîÿííû, â ñæàòîì ïîòîêå íåîáõîäèìî ñîõðàíèòü òîëüêî ïîðÿäîê ïðåäèêòîðà. Îñòàòî÷íûé ñèãíàë ïåðåäàåòñÿ êîäåðó îñòàòêîâ.</LI>
-
-<LI><B>Ëèíåéíîå ïðîãíîçèðîâàíèå FIR</B>. Äëÿ áîëåå òî÷íîãî ìîäåëèðîâàíèÿ (çà ñ÷åò ìåäëåííîé ðàáîòû) FLAC ïîääåðæèâàåò ëèíåéíîå ïðîãíîçèðîâàíèå FIR äî 32 ïîðÿäêà (ñì. <A HREF="http://svr-www.eng.cam.ac.uk/~ajr/GroupPubs/Robinson94-tr156/index.html">Shorten</A> è <A HREF="http://www.hpl.hp.com/techreports/1999/HPL-1999-144.pdf">AudioPak</A>). Áàçîâûé êîäåð èñïîëüçóåò ìåòîä Ëåâèíñîíà-Äàðáèíà äëÿ ðàñ÷åòà LPC êîýôôèöèåíòîâ èç êîýôôèöèåíòîâ àâòîêîððåëÿöèè è êîýôôèöèåíòû ðàçáèâàþòñÿ ïåðåä âû÷èñëåíèåì îñòàòêîâ.  òî âðåìÿ êàê òàêèå êîäåðû êàê Shorten èñïîëüçóþò ïîñòîÿííîå ðàçáèåíèå äëÿ âñåãî ââîäà, FLAC ïîçâîëÿåò äëÿ êàæäîãî ôðåéìà ìåíÿòü òî÷íîñòü êîýôôèöèåíòà ðàçáèåíèÿ. Áàçîâûé êîäåð FLAC îöåíèâàåò îïòèìàëüíóþ òî÷íîñòü, îñíîâûâàÿñü íà ðàçìåðå áëîêà è äèàïàçîíå îðèãèíàëüíîãî ñèãíàëà.</LI>
-</BLOCKQUOTE></P>
-
-<a name="residualcoding">
-<H4><u>Êîäèðîâàíèå îñòàòêîâ</u></H4>
-
-<P>Äëÿ êîäèðîâàíèÿ îñòàòî÷íîãî ñèãíàëà îò ñòàäèè ïðîãíîçèðîâàíèÿ FLAC èñïîëüçóåò äâà ïîõîæèõ ìåòîäà. Îñòàòî÷íûé ñèãíàë ñæèìàåòñÿ ñ èñïîëüçîâàíèåì êîäîâ Ðàéñà ñëåäóþùèìè ñïîñîáàìè:</P>
-
-<BLOCKQUOTE><ol>
-<LI>Êîäåð îöåíèâàåò îäèíî÷íûé ïàðàìåòð Ðàéñà, îñíîâàííûé íà ðàçíèöå îñòàòêà è êîäîâ Ðàéñà. Âåñü îñòàòîê êîäèðóåòñÿ ñ èñïîëüçîâàíèåì ýòîãî ïàðàìåòðà.</LI>
-
-<LI>Îñòàòîê äåëèòñÿ íà íåñêîëüêî èíòåðâàëîâ îäèíàêîâîé äëèíû è êàæäûé èç íèõ êîäèðóåòñÿ ñî ñâîèì ïàðàìåòðîì Ðàéñà, îñíîâàííûì íà ñðåäíåì çíà÷åíèè äëÿ äàííîãî èíòåðâàëà.</LI>
-</ol></BLOCKQUOTE>
-
-<P>Îáðàòèòå âíèìàíèå íà òî, ÷òî ïåðâûé ìåòîä ÿâëÿåòñÿ ÷àñòíûì ñëó÷àåì âòîðîãî ñ îäíèì èíòåðâàëîì. Îòëè÷èå ñîñòîèò â òîì, ÷òî â ïåðâîì ìåòîäå ïàðàìåòð Ðàéñà âû÷èñëÿåòñÿ äëÿ ðàçíèöû îñòàòêà, à íå äëÿ ñðåäíåãî çíà÷åíèÿ.</P>
-
-<P>Â ôîðìàòå FLAC çàðåçåðâèðîâàíî ìåñòî äëÿ äðóãèõ ìåòîäîâ êîäèðîâàíèÿ. Êòî-íèáóäü ìîæåò ïîïûòàòüñÿ íàéòè ëó÷øåå êîíòåêñòíîå ìîäåëèðîâàíèå ïàðàìåòðà Ðàéñà èëè êîäèðîâàíèÿ Õàôôìàíà. Îïèñàíèÿ íåñêîëüêèõ óíèâåðñàëüíûõ êîäîâ ìîæíî íàéòè íà ñòðàíèöàõ <A HREF="http://www.hpl.hp.com/techreports/98/HPL-98-193.html">LOCO-I</A> è <A HREF="http://www.cs.tut.fi/~albert/Dev/pucrunch/packing.html">pucrunch</A>.</P>
-
-
-<a name="prediction">
-<H4><u>Ôîðìàò</u></H4>
-
-<P> ýòîì ðàçäåëå îïèñûâàåòñÿ ôîðìàò ôàéëà. Ôîðìàò FLAC íå ïðåäóñìàòðèâàåò ïîëÿ äëÿ íîìåðà âåðñèè, îäíàêî ñîäåðæèò íåñêîëüêî çàðåçåðâèðîâàííûõ ïîçèöèé. Ïîñëåäóþùèå âåðñèè ñìîãóò èñïîëüçîâàòü ýòî ìåñòî áåç íàðóøåíèÿ ñîâìåñòèìîñòè ñ ïðåäûäóùèìè âåðñèÿìè. Áîëåå ñòàðûå âåðñèè äåêîäåðîâ ìîãóò ëèáî ïðåêðàùàòü ðàáîòó, ëèáî ïðîïóñêàòü äàííûå, çàêîäèðîâàííûå íîâûìè ìåòîäàìè. Êðîìå òîãî çàðåçåðâèðîâàíû íåêîòîðûå ñïåöèàëüíûå çíà÷åíèÿ, êîòîðûå íå ìîãóò ïîÿâèòüñÿ íè â îäíîé èç âåðñèé ôîðìàòà. Ýòî îáû÷íî äåëàåòñÿ äëÿ óëó÷øåíèÿ ìåõàíèçìà ñèíõðîíèçàöèè.</P>
-
-<P>Âñå ÷èñëà â ôîðìàòå FLAC ÿâëÿþòñÿ öåëûìè, ìëàäøèé áàéò êîòîðûõ çàïèñûâàåòñÿ âíà÷àëå (big-endian). ×èñëà ÿâëÿþòñÿ áåççíàêîâûìè, êðîìå òåõ ñëó÷àåâ, ãäå ÿâíî óêàçàíî îáðàòíîå.</P>
-
-<a name="overview">
-<P>Ê ïîòîêó FLAC ìîãóò áûòü äîáàâëåíû òýãè ID3v1 (â êîíöå) è ID3v2 (â íà÷àëå). Ýòè äàííûå íå îòíîñÿòñÿ ê ôîðìàòó, îäíàêî äåêîäåð óìååò ïðîïóñêàòü èõ.</P>
-
-<P>Ïåðåä ïîëíûì îïèñàíèåì ôîðìàòà ïðèâåäåì åãî êðàòêèé îáçîð.</P>
-
-<P><BLOCKQUOTE>
-<LI>Ôîðìàò FLAC ñîñòîèò èç ìàðêåðà "fLaC" â íà÷àëå ïîòîêà, çà êîòîðûì ñëåäóåò îáÿçàòåëüíûé áëîê STREAMINFO, ëþáîå êîëè÷åñòâî äðóãèõ áëîêîâ ìåòàäàííûõ, à çàòåì àóäèîôðåéìû.</LI>
-
-<LI>FLAC ïîääåðæèâàåò äî 128 áëîêîâ ìåòàäàííûõ. Ñåé÷àñ îïðåäåëåíû:</LI>
-
-<UL>
-<A NAME="def_STREAMINFO">
-<LI><TT>STREAMINFO</TT>: Ýòîò áëîê ñîäåðæèò èíôîðìàöèþ îáî âñåì ïîòîêå (÷àñòîòó äèñêðåòèçàöèè, êîëè÷åñòâî êàíàëîâ, êîëè÷åñòâî ñýìïëîâ è ò.ä.). Îí âñåãäà äîëæåí áûòü ïåðâûì áëîêîì ìåòàäàííûõ â ïîòîêå. Ñëåäóþùèå áëîêè äîëæíû ñëåäîâàòü çà íèì, è ìîãóò áûòü ïðîïóùåíû äåêîäåðîì.</LI>
-
-<A NAME="def_APPLICATION">
-<LI><TT>APPLICATION</TT>: Ýòîò áëîê ïðåäíàçíà÷åí äëÿ èñïîëüçîâàíèÿ ïðèëîæåíèÿìè òðåòüèõ ëèö. Åäèíñòâåííûì îáÿçàòåëüíûì ïîëåì ÿâëÿåòñÿ 32-áèòíûé èäåíòèôèêàòîð, êîòîðûé âûäàåòñÿ ðàçðàáîò÷èêàìè FLAC. Ôîðìàò îñòàâøåéñÿ ÷àñòè áëîêà îïðåäåëÿåòñÿ çàðåãèñòðèðîâàííûì ïîä ýòèì íîìåðîì ïðèëîæåíèåì. ×òîáû ïîëó÷èòü id äëÿ ñâîåãî ïðèëîæåíèÿ, ïîñåòèòå <A HREF="id.html">ñòðàíèöó ðåãèñòðàöèè</A>.</LI>
-
-<A NAME="def_PADDING">
-<LI><TT>PADDING</TT>: Ýòîò áëîê ïðåäíàçíà÷åí äëÿ ðåçåðâèðîâàíèÿ ìåñòà. Ñîäåðæèìîå áëîêà <TT>PADDING</TT> íå èìååò çíà÷åíèÿ. Îí ïîëåçåí â òîì ñëó÷àå, åñëè èçâåñòíî, ÷òî áëîê ïîñëå êîäèðîâàíèÿ áóäåò äîáàâëåí áëîê <TT>APPLICATION</TT>. Ïîëüçîâàòåëü ìîæåò çàðåçåðâèðîâàòü íåîáõîäèìîå ïðîñòðàíñòâî ñ ïîìîùüþ áëîêà <TT>PADDING</TT>, ÷òîáû ïðèëîæåíèå ñìîãëî çàïèñàòü íà åãî ìåñòî áëîê <TT>APPLICATION</TT>. Ýòà îïåðàöèÿ çàéìåò íàìíîãî ìåíüøå âðåìåíè, ÷åì âñòàâêà áëîêà â íà÷àëî ôàéëà, òàê êàê â âòîðîì ñëó÷àå ïîòðåáóåòñÿ åãî ïîëíàÿ ïåðåçàïèñü.</LI>
-
-<A NAME="def_SEEKTABLE">
-<LI><TT>SEEKTABLE</TT>: Ýòî íåîáÿçàòåëüíûé áëîê äëÿ õðàíåíèÿ òî÷åê ïîèñêà.  ïîòîêå FLAC ìîæíî íàéòè ëþáîé ñýìïë áåç ýòîé òàáëèöû, îäíàêî çàäåðæêà ìîæåò áûòü íåïðåäñêàçóåìîé, òàê êàê áèòðåéò â ïîòîêå ìîæåò ñóùåñòâåííî ìåíÿòüñÿ. Ñ ïîìîùüþ òàáëèöû òî÷åê ïîèñêà ïàóçà ìîæåò áûòü ñóùåñòâåííî ñîêðàùåíà. Êàæäàÿ òî÷êà çàíèìàåò 18 áàéòîâ, ïîýòîìó äëÿ áûñòðîãî ïîèñêà ñ òî÷íîñòüþ äî 1% íåîáõîäèìî âñåãî 2êá.  ïîòîêå ìîæåò áûòü òîëüêî îäíè áëîê <TT>SEEKTABLE</TT>, íî â íåì ìîæåò áûòü ëþáîå êîëè÷åñòâî òî÷åê ïîèñêà. Òàêæå ñóùåñòâóþò ðåçåðâèðóåìûå òî÷êè, êîòîðûå ïðîïóñêàþòñÿ äåêîäåðîì, íî ìîãóò èñïîëüçîâàòüñÿ äëÿ ïîñëåäóþùèõ âñòàâîê ðåàëüíûõ òî÷åê ïîèñêà.</LI>
-
-<A NAME="def_VORBIS_COMMENT">
-<LI><TT>VORBIS_COMMENT</TT>: Ýòîò áëîê ïðåäíàçíà÷åí äëÿ õðàíåíèÿ ñïèñêà â óäîáíîì äëÿ ÷òåíèÿ ôîðìàòå (ïàðàìåòð=çíà÷åíèå). Çíà÷åíèÿ çàïèñûâàþòñÿ â êîäèðîâêå UTF-8. Èñïîëüçóåòñÿ ðåàëèçàöèÿ <A HREF="http://xiph.org/ogg/vorbis/doc/v-comment.html">ñïåöèôèêàöèè êîììåíòàðèÿ Vorbis</A>. Ýòî åäèíñòâåííûé îôèöèàëüíî ïîääåðæèâàåìûé ìåõàíèçì ðàáîòû ñ òåãàìè â FLAC.  ïîòîêå ìîæåò áûòü òîëüêî îäèí áëîê <TT>VORBIS_COMMENT</TT>.</LI>
-
-<A NAME="def_CUESHEET">
-<LI><TT>CUESHEET</TT>: Â ýòîì áëîêå çàïèñûâàåòñÿ èíôîðìàöèÿ èç ñïèñêà ðàçáèåíèÿ àóäèîäèñêà. Ñäåëàíà ïîääåðæêà òðåêîâ è èíäåêñà, ñîâìåñòèìàÿ ñî ñòàíäàðòîì Red Book CD äëÿ àóäèîäèñêîâ, à òàêæå äðóãèõ ìåòàäàííûõ, òàêèõ êàê íîìåð â êàòàëîãå äèñêîâ. Ýòîò áëîê îñîáåííî ïîëåçåí äëÿ àðõèâèðîâàíèÿ àóäèîäèñêîâ, íî òàêæå ìîæåò èñïîëüçîâàòüñÿ êàê ìåõàíèçì äëÿ ïîèñêà ïðè âîñïðîèçâåäåíèè.</LI>
-</UL>
-
-<LI>Àóäèîïîòîê ñîñòîèò èç îäíîãî èëè íåñêîëüêèõ ôðåéìîâ. Ó êàæäîãî ôðåéìà åñòü çàãîëîâîê, ñîñòîÿùèé èç êîäà ñèíõðîíèçàöèè, èíôîðìàöèè î ôðåéìå (ðàçìåð áëîêà, ÷àñòîòà äèñêðåòèçàöèè, êîëè÷åñòâî êàíàëîâ è ò.ï.) è âîñüìèáèòíîé êîíòðîëüíîé ñóììû. Òàêæå â çàãîëîâêå ñîäåðæèòñÿ ëèáî íîìåð ïåðâîãî ñýìïëà âî ôðåéìå îòíîñèòåëüíî âñåãî ïîòîêà (äëÿ ïîòîêîâ ñ èçìåíÿþùèìñÿ ðàçìåðîì áëîêà) èëè íîìåð ôðåéìà (äëÿ ïîòîêîâ ñ ïîñòîÿííûì ðàçìåðîì áëîêà). Ýòî ïîçâîëÿåò ïðîèçâîäèòü áûñòðûé è òî÷íûé ïîèñê. Äàëåå ñëåäóþò çàêîäèðîâàííûå ïîäôðåéìû (ïî îäíîìó íà êàæäûé êàíàë) è, íàêîíåö, ôðåéì, äîïîëíåííûé íóëÿìè äî ãðàíèöû áàéòà. Êàæäûé ïîäôðåéì èìååò ñâîé çàãîëîâîê, îïðåäåëÿþùèé ñïîñîá åãî äåêîäèðîâàíèÿ.</LI>
-
-<LI>Òàê êàê äåêîäåð ìîæåò íà÷àòü ðàáîòó â ñåðåäèíå ïîòîêà, äîëæåí áûòü ìåòîä îïðåäåëåíèÿ íà÷àëà ôðåéìà. Êàæäûé ôðåéì íà÷èíàåòñÿ ñ 14-áèòíîãî ñèíõðîíèçèðóþùåãî êîäà. Ýòîò êîä íå ìîæåò ïîÿâëÿòüñÿ íè â îäíîì äðóãîì ìåñòå çàãîëîâêà ôðåéìà. Îäíàêî òàê êàê ýòî êîä ìîæåò ïîÿâèòüñÿ â ïîäôðåéìàõ, ó äåêîäåðà åñòü äâà ñïîñîáà îïðåäåëèòü, ÷òî äàííàÿ ïîñëåäîâàòåëüíîñòü ÿâëÿåòñÿ íà÷àëîì ôðåéìà. Ñíà÷àëà ïðîâåðÿåòñÿ êîððåêòíîñòü äàííûõ âî âñåì ôðåéìå. Îäíàêî ýòîò øàã íå ìîæåò ãàðàíòèðîâàòü îòñóòñòâèÿ îøèáîê, ïîýòîìó äîïîëíèòåëüíî ïðîèçâîäèòñÿ ðàñ÷åò âîñüìèáèòíîé êîíòðîëüíîé ñóììû çàãîëîâêà ôðåéìà è ïîëó÷åííûé ðåçóëüòàò ñðàâíèâàåòñÿ ñî çíà÷åíèåì, ïîëó÷åííûì ïðè êîäèðîâàíèè è çàïèñàííûì ïîñëå çàãîëîâêà ôðåéìà.</LI>
-
-<LI>Êàæäûé ôðåéì äîëæåí ñîäåðæàòü îñíîâíóþ èíôîðìàöèþ î ïîòîêå, òàê êàê äåêîäåð ìîæåò íå èìåòü äîñòóïà ê áëîêó ìåòàäàííûõ <TT>STREAMINFO</TT> â íà÷àëå ïîòîêà. Ñþäà âõîäèò ÷àñòîòà äèñêðåòèçàöèè, êîëè÷åñòâî áèò íà ñýìïë, êîëè÷åñòâî êàíàëîâ è ò.ä. Òàê êàê çàãîëîâîêè ôðåéìîâ âíîñÿò äîïîëíèòåëüíûå íàêëàäíûå ðàñõîäû, òî îíè âëèÿþò óðîâåíü ñæàòèÿ. ×òîáû ñäåëàòü çàãîëîâêè ôðåéìîâ ìèíèìàëüíûìè, FLAC èñïîëüçóåò òàáëèöû ïîèñêà äëÿ íàèáîëåå ÷àñòî èñïîëüçóåìûõ çíà÷åíèé ïàðàìåòðîâ ôðåìîâ. Íàïðèìåð, ÷àñòü, îòâå÷àþùàÿ çà ÷àñòîòó äèñêðåòèçàöèè, çàíèìàåò 4 áèòà. Âîñåìü ïðåäîïðåäåëåííûõ çíà÷åíèé ñîîòâåòñòâóþò íàèáîëåå ñàìûì ðàñïðîñòðàíåííûì ÷àñòîòàì (8/16/22.05/24/32/44.1/48/96 êÃö). Îäíàêî äîïîëíèòåëüíûå ÷àñòîòû ìîãóò áûòü èñïîëüçîâàíû ñ ïîìîùüþ ñïåöèàëüíîãî íàáîðà áèòîâ, óêàçûâàþùåãî äåêîäåðó, ÷òî íåîáõîäèìîå çíà÷åíèå íàõîäèòñÿ â êîíöå çàãîëîâêà. Òàêîé æå ìåòîä èñïîëüçóåòñÿ äëÿ óêàçàíèÿ ðàçìåðà áëîêà è êîëè÷åñòâà áèòîâ íà ñýìïë.  ýòîì ñëó÷àå çàãîëîâîê îñòàåòñÿ äîñòàòî÷íî ìàëûì äëÿ íàèáîëåå ðàñïðîñòðàíåííûõ òèïîâ àóäèîäàííûõ.</LI>
-
-<LI>Ïîäôðåéìû (ïî îäíîìó äëÿ êàæäîãî êàíàëà) êîäèðóþòñÿ âî ôðåéìå îòäåëüíî è õðàíÿòñÿ â ïîòîêå ïîñëåäîâàòåëüíî. Ýòî âåäåò ê óïðîùåíèþ äåêîäåðà, îäíàêî öåíîé ýòîìó ÿâëÿåòñÿ óâåëè÷åíèå ðàçìåðîâ áóôôåðà. Ó êàæäîãî ïîäôðåéìà åñòü ñâîé çàãîëîâîê, îïðåäåëÿþùèé åãî àòòðèáóòû (ìåòîä è ïîðÿäîê ïðîãíîçèðîâàíèÿ, ïàðàìåòðû êîäèðîâàíèÿ îñòàòêîâ è ò.ä.). Çà çàãîëîâêîì ñëåäóþò àóäèîäàííûå äëÿ ýòîãî êàíàëà.</LI>
-
-<A NAME="subset">
-<LI>Âî FLAC îïðåäåëåíî ñïåöèàëüíîå ïîäìíîæåñòâî ôîðìàòà (Subset format). Âñå ïîòîêè ñæàòûå ýòèì ìåòîäîì íà ñàìîì äåëå ÿâëÿþòñÿ ïîòîêîâûìè, òî åñòü äåêîäåð, êîòîðûé íå ìîæåò èñêàòü â ïîòîêå, èìååò âîçìîæíîñòü ïåðåéòè ê ëþáîé åãî òî÷êå è íà÷àòü âîñïðîèçâåäåíèå. Äëÿ ôàéëîâ, îòâå÷àþùèõ ýòîìó ïîäìíîæåñòâó ôîðìàòà, çíà÷èòåëüíî ïðîùå ñäåëàòü àïïàðàòíûé äåêîäåð. <B><TT>flac</TT></B> ïî óìîë÷àíèþ ñîçäàåò ïîòîêè, îòâå÷àþùèå ýòîìó ïîäìíîæåñòâó ôîðìàòà. Êëþ÷ <TT>--lax</TT> çàïðåùàåò ñîçäàíèå òàêèõ ïîòîêîâ. ×òîáû ôàéë îòâå÷àë äàííîìó ïîäìíîæåñòâó, äëÿ íåãî äîëæíû âûïîëíÿòüñÿ ñëåäóþùèå îãðàíè÷åíèÿ:</LI>
-
- <UL>
- <LI>Çíà÷åíèå áèòîâ, îòâå÷àþùèõ çà ðàçìåð áëîêà, äîëæíî áûòü â ïðåäåëàõ 0001-0101 èëè 1000-1110. Ïîòîê äîëæåí ñîñòîÿòü èç áëîêîâ îäèíàêîâîãî íåáîëüøîãî ðàçìåðà (çà èñêëþ÷åíèåì ïîñëåäíåãî), à â áëîêå ìåòàäàííûõ <TT>STREAMINFO</TT> äîëæíû áûòü óêàçàíû ðàâíûå çíà÷åíèÿ äëÿ ìèíèìàëüíîãî è ìàêñèìàëüíîãî ðàçìåðà áëîêà.</LI>
- <LI>×àñòîòà äèñêðåòèçàöèè â çàãîëîâêå ôðåéìà äîëæíà îïèñûâàòüñÿ ñëåäóþùèì äèàïàçîíîì áèòîâ 0001-1011.</LI>
- <LI>Êîëè÷åñòâî áèò íà ñýìïë â çàãîëîâêå ôðåéìà äîëæíî îïèñûâàòüñÿ ñëåäóþùèì äèàïàçîíîì áèòîâ 001-111.</LI>
- </UL>
-</BLOCKQUOTE></P>
-
-<P> òàáëèöå ïðèâåäåíî ôîðìàëüíîå îïèñàíèå ôîðìàòà FLAC. ×èñëà â óãëîâûõ ñêîáêàõ ïîêàçûâàþò êîëè÷åñòâî áèòîâ, èñïîëüçóåìûõ äàííûì ïîëåì.</P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="stream"><FONT SIZE="+2"><B><TT>ÏÎÒÎÊ</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;32&gt;</TD>
- <TD>"fLaC", ìàðêåð ïîòîêà FLAC â êîäèðîâêå ASCII, îçíà÷àþùèé, ÷òî ïåðâûìè ÷åòûðüìÿ áàéòàìè ïîòîêà ÿâëÿþòñÿ 0x66, 0x4C, 0x61, 0x43</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP"><A HREF="format.html#metadata_block_streaminfo"><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ</TT></A></TD>
- <TD>Îáÿçàòåëüíûé áëîê ìåòàäàííûõ <TT>STREAMINFO</TT>, ñîäåðæàùèé îñíîâíûå ñâîéñòâà ïîòîêà</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP"><A HREF="format.html#metadata_block"><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ</TT></A>*</TD>
- <TD>Íîëü èëè áîëüøå áëîêîâ ìåòàäàííûõ</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP"><A HREF="format.html#frame"><TT>ÔÐÅÉÌ</TT></A>+</TD>
- <TD>Îäèí èëè áîëüøå àóäèîôðåéìîâ</TD>
-</TR>
-
-</TABLE></P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block"><FONT SIZE="+2"><B><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP"><A HREF="format.html#metadata_block_header"><TT>ÇÀÃÎËÎÂÎÊ_ÁËÎÊÀ_ÌÅÒÀÄÀÍÍÛÕ</TT></A></TD>
- <TD>Çàãîëîâîê, îïðåäåëÿþùèé òèï è ðàçìåð áëîêà ìåòàäàííûõ</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP"><A HREF="format.html#metadata_block_data"><TT>ÑÎÄÅÐÆÈÌÎÅ_ÁËÎÊÀ_ÌÅÒÀÄÀÍÍÛÕ</TT></A></TD>
- <TD>&nbsp;</TD>
-</TR>
-
-</TABLE></P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_header"><FONT SIZE="+2"><B><TT>ÇÀÃÎËÎÂÎÊ_ÁËÎÊÀ_ÌÅÒÀÄÀÍÍÛÕ</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;1&gt;</TD><TD>Ôëàã ðàâíûé <TT>1</TT>, åñëè äàííûé áëîê ìåòàäàííûõ ÿâëÿåòñÿ ïîñëåäíèì ïåðåä àóäèîáëîêàìè, <TT>0</TT> â ïðîòèâíîì ñëó÷àå</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;7&gt;</TD>
- <TD>Òèï áëîêà:
- <UL>
- <LI>0 : <TT>STREAMINFO</TT></LI>
- <LI>1 : <TT>PADDING</TT></LI>
- <LI>2 : <TT>APPLICATION</TT></LI>
- <LI>3 : <TT>SEEKTABLE</TT></LI>
- <LI>4 : <TT>VORBIS_COMMENT</TT></LI>
- <LI>5 : <TT>CUESHEET</TT></LI>
- <LI>6-127 : çàðåçåðâèðîâàíû</LI>
- </UL>
- </TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;24&gt;</TD>
- <TD>Äëèíà â áàéòàõ ñîîòâåòñòâóþùåãî áëîêà ìåòàäàííûõ (íå âêëþ÷àåò ðàçìåð <TT>ÇÀÃÎËÎÂÊÀ_ÁËÎÊÀ_ÌÅÒÀÄÀÍÍÛÕ</TT>)</TD>
-</TR>
-
-</TABLE></P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_data"><FONT SIZE="+2"><B><TT>ÑÎÄÅÐÆÈÌÎÅ_ÁËÎÊÀ_ÌÅÒÀÄÀÍÍÛÕ</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP"><A HREF="format.html#metadata_block_streaminfo"><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_STREAMINFO</TT></A> || <A HREF="format.html#metadata_block_padding"><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_PADDING</TT></A> || <A HREF="format.html#metadata_block_application"><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_APPLICATION</TT></A> || <A HREF="format.html#metadata_block_seektable"><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_SEEKTABLE</TT></A> || <A HREF="#metadata_block_vorbis_comment"><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_VORBIS_COMMENT</TT></A> || <A HREF="#metadata_block_cuesheet"><TT>METADATA_BLOCK_CUESHEET</TT></A></TD>
- <TD>Ñîäåðæèìîå áëîêà äîëæíî ñîîòâåòñòâîâàòü òèïó áëîêà, óêàçàííîìó â çàãîëîâêå</TD>
-</TR>
-
-</TABLE></P>
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_streaminfo"><FONT SIZE="+2"><B><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_STREAMINFO</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;16&gt;</TD>
- <TD>Ìèíèìàëüíûé ðàçìåð áëîêà â ñýìïëàõ â äàííîì ïîòîêå.</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;16&gt;</TD>
- <TD>Ìàêñèìàëüíûé ðàçìåð áëîêà â ñýìïëàõ â äàííîì ïîòîêå.</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;24&gt;</TD>
- <TD>Ìèíèìàëüíûé ðàçìåð ôðåéìà â áàéòàõ â äàííîì ïîòîêå. Åñëè çíà÷åíèå íå èçâåñòíî, òî <TT>0</TT></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;24&gt;</TD>
- <TD>Ìàêñèìàëüíûé ðàçìåð ôðåéìà â áàéòàõ â äàííîì ïîòîêå. Åñëè çíà÷åíèå íå èçâåñòíî, òî <TT>0</TT></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;20&gt;</TD>
- <TD>×àñòîòà äèñêðåòèçàöèè â Ãö.</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;3&gt;</TD>
- <TD><TT>(Êîëè÷åñòâî êàíàëîâ) - 1</TT>. FLAC ïîääåðæèâàåò îò 1 äî 8 êàíàëîâ.</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;5&gt;</TD>
- <TD><TT>(Êîëè÷åñòâî áèòîâ íà ñýìïë) - 1</TT>. FLAC ïîääåðæèâàåò îò 1 äî 32 áèòîâ íà ñýìïë. Ñåé÷àñ áàçîâûå äåêîäåð è êîäåð ïîääåðæèâàþò äî 24 áèò íà ñýìïë.</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;36&gt;</TD>
- <TD>Êîëè÷åñòâî ñýìïëîâ â ïîòîêå. Åñëè çäåñü óêàçàí <TT>0</TT>, òî êîëè÷åñòâî ñýìïëîâ íå èçâåñòíî.</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;128&gt;</TD>
- <TD>Ïîäïèñü MD5 íåñæàòûõ àóäèîäàííûõ, êîòîðàÿ ïîçâîëÿåò äåêîäåðó îáíàðóæèòü îøèáêó, äàæå åñëè åå íàëè÷èå íå íàðóøàåò ñòðóêòóðó ïîòîêà.</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&nbsp;</TD>
- <TD><B>Ïðèìå÷àíèÿ</B>:
- <UL>
- <LI>Âî FLAC îïðåäåëåí ìèíèìàëüíûé ðàçìåð áëîêà â <TT>16</TT> ñýìïëîâ è ìàêñèìàëüíûé ðàçìåð - <TT>65535</TT>. Ýòî çíà÷èò, ÷òî çíà÷åíèÿ îò <TT>0</TT> äî <TT>15</TT> â ñîîòâåòñòâóþùèõ ïîëÿõ ÿâëÿþòñÿ îøèáî÷íûìè.</LI>
- </UL>
- </TD>
-</TR>
-
-</TABLE></P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_padding"><FONT SIZE="+2"><B><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_PADDING</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;n&gt;</TD>
- <TD><TT>n</TT> áèò ñî çíà÷åíèåì <TT>0</TT>. <TT>n</TT> äîëæíî áûòü êðàòíî 8.</TD>
-</TR>
-
-</TABLE></P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_application"><FONT SIZE="+2"><B><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_APPLICATION</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;32&gt;</TD>
- <TD>Çàðåãèñòðèðîâàííûé id ïðèëîæåíèÿ (ñì. ñòðàíèöó <A HREF="id.html">ðåãèñòðàöèè</A>)</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;n&gt;</TD>
- <TD>Äàííûå ïðèëîæåíèÿ. <TT>n</TT> äîëæíî áûòü êðàòíî 8.</TD>
-</TR>
-
-</TABLE></P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_seektable"><FONT SIZE="+2"><B><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_SEEKTABLE</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP"><A HREF="format.html#metadata_block_seekpoint"><TT>SEEKPOINT</TT></A>+</TD>
- <TD>Îäíà èëè áîëüøå òî÷åê ïîèñêà.</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&nbsp;</TD>
- <TD><B>Ïðèìå÷àíèÿ</B>:
- <UL>
- <LI>Êîëè÷åñòâî òî÷åê ïîèñêà îïðåäåëÿåòñÿ â ïîëå çàãîëîâêà áëîêà ìåòàäàííûõ &quot;äëèíà&quot; è ðàâíî <TT>äëèíà / 18</TT>.</LI>
- </UL>
- </TD>
-</TR>
-
-</TABLE></P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_seekpoint"><FONT SIZE="+2"><B><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_SEEKPOINT</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;64&gt;</TD>
- <TD>Íîìåð ñýìïëà â ïîòîêå ïåðâîãî ñýìïëà öåëåâîãî ôðåéìà èëè 0xFFFFFFFFFFFFFFFF äëÿ çàðåçåðâèðîâàííîé òî÷êè.</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;64&gt;</TD>
- <TD>Ñìåùåíèå â áàéòàõ îò ïåðâîãî áàéòà ïåðâîãî çàãîëîâêà ôðåéìà äî ïåðâîãî áàéòà çàãîëîâêà öåëåâîãî ôðåéìà.</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;16&gt;</TD>
- <TD>Êîëè÷åñòâî ñýìïëîâ â öåëåâîì ôðåéìå.</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&nbsp;</TD>
- <TD><B>Ïðèìå÷àíèÿ</B>:
- <UL>
- <LI>Äëÿ çàðåçåðâèðîâàííûõ òî÷åê çíà÷åíèÿ âòîðîãî è òðåòüåãî ïîëÿ íå îïðåäåëåíû.</LI>
- <LI>Òî÷êè ïîèñêà äîëæíû áûòü îòñîðòèðîâàíû â òàáëèöå ïî âîçðàñòàíèþ íîìåðà ñýìïëà.</LI>
- <LI>Ïîëÿ, ñîäåðæàùèå íîìåðà ïåðâûõ ñýìïëîâ â öåëåâîì ôðåéìå, äîëæíû áûòü óíèêàëüíû äëÿ âñåõ òî÷åê, çà èñêëþ÷åíèåì çàðåçåðâèðîâàííûõ.</LI>
- <LI>Èç äâóõ ïðåäûäóùèõ çàìå÷àíèé ñëåäóåò, ÷òî çàðåçåðâèðîâàííûõ òî÷åê ìîæåò áûòü ëþáîå êîëè÷åñòâî, íî îíè äîëæíû ðàñïîëàãàòüñÿ â êîíöå òàáëèöû.</LI>
- </UL>
- </TD>
-</TR>
-</TABLE></P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_vorbis_comment"><FONT SIZE="+2"><B><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_VORBIS_COMMENT</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;n&gt;</TD>
- <TD>Ñîäåðæèìîå êîììåòàðèÿ â ôîðìàòå Vorbis, êàê îíî îïèñàíî <A HREF="http://www.xiph.org/ogg/vorbis/doc/v-comment.html">çäåñü</A>. Îáðàòèòå âíèìàíèå íà òî, ÷òî ñïåöèôèêàöèÿ Vorbis îãðàíè÷èâàåò ðàçìåð ýòîãî áëîêà 2 ^ 64 áàéòàìè, â òî âðåìÿ êàê áëîê ìåòàäàííûõ FLAC ìîæåò èìåòü ðàçìåð íå áîëüøå 2 ^ 24 áàéòîâ.  ñîîòâåòñòâèè ñî ñïåöèôèêàöèåé Vorbis 32-áèòíûå äàííûå, çàïèñàííûå â ïðÿìîì ïîðÿäêå, â îòëè÷èå îò öåëûõ, çàïèñàííûõ â îáðàòíîì ïîðÿäêå, èñïîëüçóåìûõ â îñòàëüíûõ ÷àñòÿõ FLAC.</TD>
-</TR>
-</TABLE></P>
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
-<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="metadata_block_cuesheet"><FONT SIZE="+2"><B><TT>ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_CUESHEET</TT></B></FONT></A></TD>
-</TR>
-
-
-<TR>
-<TD>&lt;128*8&gt;</TD>
-<TD>Íîìåð â ìóëüòèìåäèéíîì êàòàëîãå, â êîòîðîì èñïîëüçóþòñÿ òîëüêî ñèìâîëû ASCII èç äèàïàçîíà 0x20-0x7e.  îáùåì ñëó÷àå ýòîò íîìåð ìîæåò èìåòü ðàçìåð îò 0 äî 128 áàéòîâ, à ñèìâîëû ñïðàâà, îñòàâøèåñÿ íåèñïîëüçîâàííûìè, äîëæíû áûòü çàïîëíåíû áàéòîì 0x00. Íà àóäèîäèñêàõ íîìåð ñîñòîèò èç 13 öèôð, çà êîòîðûìè ñëåäóþò 115 ïóñòûõ ñèìâîëîâ.</TD></TR>
-
-<TR>
-<TD>&lt;64&gt;</TD>
-<TD>Êîëè÷åñòâî íà÷àëüíûõ ñýìïëîâ. Ýòî ïîëå èìååò çíà÷åíèå òîëüêî äëÿ îãëàâëåíèé àóäèîäèñêîâ, äëÿ îñòàëüíûõ öåëåé äîëæíî áûòü óñòàíîâëåíî çíà÷åíèå 0. Äëÿ àóäèîäèñêîâ íà÷àëüíîé ÿâëÿåòñÿ çîíà ïîìå÷åííàÿ êàê TRACK 00, ãäå õðàíèòñÿ îãëàâëåíèå. Áîëåå òî÷íî îïðåäåëåíèå äëÿ äàííîãî ïîëÿ âûãëÿäåëî áû òàê: ýòî ÷èñëî ñýìïëîâ îò ïåðâîãî ñýìïëà íà äèñêå äî ïåðâîãî ñýìïëà ïðåâîé èíäåêñíîé òî÷êè ïåðâîãî òðåêà.  ñîîòâåòñòâèè ñî ñòàíäàðòîì Red Book íà÷àëüíàÿ çîíà äîëæíà ñîäåðæàòü òèøèíó, ïîýòîìó ïðîãðàììû äëÿ êîïèðîâàíèÿ ñ àóäèîäèñêà îáû÷íî íå ñîõðàíÿþò åå. Êðîìå òîãî íà÷àëüíàÿ çîíà äîëæíà çàíèìàòü íå ìåíüøå äâóõ ñåêóíä. Ïîýòîìó çäåñü õðàíèòñÿ äëèíà íà÷àëüíîé çîíû, ÷òîáû ïîòîì ìîäæíî áûëî âû÷èñëèòü àáñîëþòíóþ ïîçèöèþ ïåðâîãî òðåêà. Îáðàòèòå âíèìàíèå íà òî, ÷òî ÷èñëî ñýìïëîâ óêàçûâàåòñÿ äî ïåðâîé èíäåêñíîé òî÷êè ïåðâîãî òðåêà, à íå îáÿçàòåëüíî äî òî÷êè INDEX 01 ïåðâîãî òðåêà, òàê êàê íà ïåðâîì òðåêå ìîãóò áûòü äàííûå ñ èíäåêñîì INDEX 00.</TD></TR>
-
-<TR>
-<TD>&lt;1&gt;</TD>
-<TD><TT>1</TT>, åñëè CUESHEET ñîîòâåòñòâóåò êîìïàêò äèñêó, èíà÷å <TT>0</TT>.</TD></TR>
-
-<TR>
-<TD>&lt;7+258*8&gt;</TD>
-<TD>Çàðåçåðâèðîâàíî. Âñå áèòû äîëæíû áûòü ðàâíû 0.</TD></TR>
-
-<TR>
-<TD>&lt;8&gt;</TD>
-<TD>Êîëè÷åñòâî òðåêîâ. Äëÿ àóäèîäèñêîâ ýòî ÷èñëî äîëæíî áûòü íå áîëüøå, ÷åì 100 (99 îáû÷íûõ òðåêîâ è çàâåðøàþùèé òðåê).</TD></TR>
-
-<TR>
-<TD><A HREF="#cuesheet_track"><TT>CUESHEET_TRACK</TT></A>+</TD>
-<TD>Îäèí èëè áîëüøå òðåêîâ. Â áëîêå CUESHEET îáÿçàòåëüíî äîëæåí áûòü çàâåðøàþùèé òðåê@@@@. Ïî ñïåöèôèêàöèè Red Book íà àóäèîäèñêàõ íîìåð çàâåðøàþùåãî òðåêà äîëæåí ðàâíÿòüñÿ 170.</TD></TR>
-</TABLE></P>
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
-<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="cuesheet_track"><FONT SIZE="+1"><B><TT>CUESHEET_TRACK</TT></B></FONT></A></TD>
-</TR>
-
-
-<TR>
-<TD>&lt;64&gt;</TD>
-<TD>Ñìåùåíèå òðåêà â ñýìïëàõ îòíîñèòåëüíî íà÷àëà àóäèîïîòîêà FLAC. Ýòî ñìåùåíèå äëÿ ïåðâîé èíäåêñíîé òî÷êè òðåêà. (Îáðàòèòå âíèìàíèå íà îòëè÷èå îò àóäèîäèñêà, ãäå ñìåùåíèå òðåêà â ñîäåðæàíèè õðàíèòñÿ â INDEX 01, äàæå åñëè åñòü INDEX 00.)  àóäèîäèñêå ñìåùåíèå âñåãäà êðàòíî 588 (588 ñýìïëîâ = 44100 ñýìïëîâ/ñåê. * 1/75 ñåê.).</TD></TR>
-
-<TR>
-<TD>&lt;8&gt;</TD>
-<TD>Íîìåð òðåêà. Íîìåð òðåêà 0 íåäîïóñòèì, ÷òîáû èçáåæàòü êîíôëèêòà ñî ñïåöèôèêàöèåé àóäèîäèñêà, êîòîðàÿ ðåçåðâèðóåò ýòîò íîìåð äëÿ íà÷àëüíîãî òðåêà. Äëÿ àóäèîäèñêà íîìåð äîëæåí áûòü îò 1 äî 99 èëè 170 äëÿ çàâåðøàþùåãî òðåêà. Íå ÿâëÿåòñÿ íåîáõîäèìûì, íî ðåêîìåíäóåòñÿ íà÷èíàòü íóìåðàöèþ ñ 1 è óâåëè÷èâàòü íîìåðà ïîñëåäîâàòåëüíî. Íîìåðà òðåêîâ â ñïèñêå äîëæíû áûòü óíèêàëüíûìè.</TD></TR>
-
-<TR>
-<TD>&lt;12*8&gt;</TD>
-<TD>Ìåæäóíàðîäíûé ñòàíäàðòíûé êîä çàïèñè (ISRC) äëÿ òðåêà. Ýòî 12-ñèìâîëüíûé êîä, ñîñòîÿùèé òîëüêî èç öèôð; ñì. <A HREF="http://www.ifpi.org/isrc/isrc_handbook.html">çäåñü</A> è <A HREF="http://www.discusa.com/cdref/cdaudio/isrc.htm">çäåñü</A>. Çíà÷åíèå èç 12 ïóñòûõ ñèìâîëîâ ASCII ìîæíî èñïîëüçîâàòü, ÷òîáû óêàçàòü íà îòñóòñòâèå ISRC.</TD></TR>
-
-<TR>
-<TD>&lt;1&gt;</TD>
-<TD>Òèï òðåêà: 0 - äëÿ àóäèî, 1 - äëÿ îñòàëüíûõ òèïîâ äàííûõ. Ýòî ïîëå ñîîòâåòñòâóåò òðåòüåìó êîíòîëüíîìó áèòó Q-êàíàëà àóäèîäèñêà.</TD></TR>
-
-<TR>
-<TD>&lt;1&gt;</TD>
-<TD>Ôëàã ïðåäâàðèòåëüíîé êîðåëëÿöèè: 0 -- åñëè åå íåò, èíà÷å 1. Ñîîòâåòñòâóåò 5 êîíòðîëüíîìó áèòó Q-êàíàëà àóäèîäèñêà; ñì. <A HREF="http://www.chipchapin.com/CDMedia/cdda9.php3">çäåñü</A>.</TD></TR>
-
-<TR>
-<TD>&lt;6+13*8&gt;</TD>
-<TD>Çàðåçåðâèðîâàíî. Âñå áèòû äîëæíû áûòü ðàâíû 0.</TD></TR>
-
-<TR>
-<TD>&lt;8&gt;</TD>
-<TD>×èñëî èíäåêñíûõ òî÷åê òðåêà. Äëÿ êàæäîãî òðåêà äîëæåí áûòü õîòÿ áû îäèí èíäåêñ, êðîìå çàâåðøàþùåãî, ó êîòîðîãî íåò èíäåêñà. Ó àóäèîäèñêà ýòî ÷èñëî íå äîëæíî áûòü áîëüøå 100.</TD></TR>
-
-<TR>
-<TD><A HREF="#cuesheet_track_index"><TT>ÈÍÄÅÊÑ_ÒÐÅÊÀ_Â_ÑÏÈÑÊÅ</TT></A>+</TD>
-<TD>Îäíà èëè áîëüøå èíäåêñíûõ òî÷åê äëÿ òðåêà.</TD></TR>
-</TABLE></P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-<TR>
-<TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="cuesheet_track_index"><FONT SIZE="+1"><B>ÈÍÄÅÊÑ_ÒÐÅÊÀ_Â_ÑÏÈÑÊÅ</B></FONT></A></TD></TR>
-
-<TR>
-<TD>&lt;64&gt;</TD>
-<TD>Ñìåùåíèå â ñýìïëàõ èíäåêñíîé òî÷êè îòíîñèòåëüíî ñìåùåíèÿ òðåêà. Äëÿ àóäèîäèñêà ñìåùåíèå äîëæíî áûòü êðàòíî 588 (588 ñýìïëîâ = 44100 ñýìïëîâ/ñåê. * 1/75 ñåê.). Îáðàòèòå âíèìàíèå íà òî, ÷òî ñìåùåíèå áåðåòñÿ îò íà÷àëà òðåêà, à íå îò íà÷àëà àóäèîäàííûõ.</TD></TR>
-
-<TR>
-<TD>&lt;8&gt;</TD>
-<TD>Íîìåð èíäåêñíîé òî÷êè. Ïåðâûé èíäåêñ òðåêà äîëæåí èìåòü íîìåð 0 èëè 1, à äàëåå íîìåðà èíäåêñîâ äîëæíû ïîñëåäîâàòåëüíî óâåëè÷èâàòüñÿ íà 1. Íîìåðà èíäåêñîâ äëÿ òðåêà äîëæíû áûòü óíèêàëüíû.</TD></TR>
-
-<TR>
-<TD>&lt;3*8&gt;</TD>
-<TD>Çàðåçåðâèðîâàíî. Âñå áèòû äîëæíû áûòü ðàâíû 0.</TD></TR>
-</TABLE></P>
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="frame"><FONT SIZE="+2"><B><TT>ÔÐÅÉÌ</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP"><A HREF="format.html#frame_header"><TT>ÇÀÃÎËÎÂÎÊ_ÔÐÅÉÌÀ</TT></A></TD>
- <TD>&nbsp;</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP"><A HREF="format.html#subframe"><TT>ÏÎÄÔÐÅÉÌ</TT></A>+</TD>
- <TD>Îäèí ïîäôðåéì íà êàíàë</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;?&gt;</TD>
- <TD>Âûðàâíèâàíèå íóëÿìè íà ãðàíèöó áàéòà</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP"><A HREF="format.html#frame_footer"><TT>ÇÀÂÅÐØÅÍÈÅ_ÔÐÅÉÌÀ</TT></A></TD>
- <TD>&nbsp;</TD>1</TR>
-
-</TABLE></P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="frame_header"><FONT SIZE="+2"><B><TT>ÇÀÃÎËÎÂÎÊ_ÔÐÅÉÌÀ</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;14&gt;</TD>
- <TD>êîä ñèíõðîíèçàöèè <TT>11111111111110</TT></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;2&gt;</TD>
- <TD>Çàðåçåðâèðîâàíî:
- <UL>
- <LI>00 : îáÿçàòåëüíîå çíà÷åíèå</LI>
- <LI>01-11 : çàðåçåðâèðîâàíî äëÿ ïîñëåäóþùåãî èñïîëüçîâàíèÿ</LI>
- </UL>
- </TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;4&gt;</TD>
- <TD>Ðàçìåð áëîêà â ñýìïëàõ:
- <UL>
- <LI>0000 : ïîëó÷èòü èç áëîêà ìåòàäàííûõ <TT>STREAMINFO</TT></LI>
- <LI>0001 : <TT>192</TT> ñýìïëà</LI>
- <LI>0010-0101 : <TT>576 * (2^(2-n))</TT> ñýìïëîâ, ò.å. <TT>576/1152/2304/4608</TT></LI>
- <LI>0110 : ïîëó÷èòü 8 áèòîâ (ðàçìåð áëîêà-1) èç êîíöà çàãîëîâêà</LI>
- <LI>0111 : ïîëó÷èòü 16 áèòîâ (ðàçìåð áëîêà-1) èç êîíöà çàãîëîâêà</LI>
- <LI>1000-1111 : <TT>256 * (2^(n-8))</TT> ñýìïëîâ, ò.å. <TT>256/512/1024/2048/4096/8192/16384/32768</TT></LI>
- </UL>
- </TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;4&gt;</TD>
- <TD>×àñòîòà äèñêðåòèçàöèè:
- <UL>
- <LI><TT>0000</TT> : ïîëó÷èòü èç áëîêà ìåòàäàííûõ <TT>STREAMINFO</TT></LI>
- <LI><TT>0001-0011</TT> : çàðåçåðâèðîâàíû</LI>
- <LI><TT>0100</TT> : 8êÃö</LI>
- <LI><TT>0101</TT> : 16êÃö</LI>
- <LI><TT>0110</TT> : 22.05êÃö</LI>
- <LI><TT>0111</TT> : 24êÃö</LI>
- <LI><TT>1000</TT> : 32êÃö</LI>
- <LI><TT>1001</TT> : 44.1êÃö</LI>
- <LI><TT>1010</TT> : 48êÃö</LI>
- <LI><TT>1011</TT> : 96êÃö</LI>
- <LI><TT>1100</TT> : ïîëó÷èòü 8-áèòíîå çíà÷åíèå ÷àñòîòû äèñêðåòèçàöèè (â êÃö) èç êîíöà çàãîëîâêà</LI>
- <LI><TT>1101</TT> : ïîëó÷èòü 16-áèòíîå çíà÷åíèå ÷àñòîòû äèñêðåòèçàöèè (â Ãö) èç êîíöà çàãîëîâêà</LI>
- <LI><TT>1110</TT> : ïîëó÷èòü 16-áèòíîå çíà÷åíèå ÷àñòîòû äèñêðåòèçàöèè (â äÃö) èç êîíöà çàãîëîâêà</LI>
- <LI><TT>1111</TT> : îøèáî÷íîå çíà÷åíèå, ÷òîáû íå äîïóñòèòü ñîâïàäåíèå ñ êîäîì ñèíõðîíèçàöèè</LI>
- </UL>
- </TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;4&gt;</TD>
- <TD>Ðàñïîëîæåíèå êàíàëîâ:
- <UL>
- <LI><TT>0000-0111</TT> : <TT>(êîëè÷åñòâî íåçàâèñèìûõ êàíàëîâ)-1</TT>. Êîãäà == <TT>0001</TT>, êàíàë <TT>0</TT> ÿâëÿåòñÿ ëåâûì, <TT>1</TT> - ïðàâûì</LI>
- <LI><TT>1000</TT> : ëåâîñòîðîííåå ñòåðåî: êàíàë <TT>0</TT> ÿâëÿåòñÿ ëåâûì, <TT>1</TT> - ðàçíîñòíûì</LI>
- <LI><TT>1001</TT> : ïðàâîñòîðîííåå ñòåðåî: êàíàë <TT>0</TT> ÿâëÿåòñÿ ðàçíîñòíûì, <TT>1</TT> - ïðàâûì</LI>
- <LI><TT>1010</TT> : óñðåäíåííîå ñòåðåî: êàíàë <TT>0</TT> ÿâëÿåòñÿ óñðåäíåííûì, <TT>1</TT> - ðàçíîñòíûì
- <LI><TT>1011-1111</TT> : çàðåçåðâèðîâàíû</LI>
- </UL>
- </TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;3&gt;</TD>
- <TD>Êîëè÷åñòâî áèòîâ íà ñýìïë:
- <UL>
- <LI><TT>000</TT> : ïîëó÷èòü èç áëîêà ìåòàäàííûõ <TT>STREAMINFO</TT></LI>
- <LI><TT>001</TT> : 8 áèò íà ñýìïë</LI>
- <LI><TT>010</TT> : 12 áèò íà ñýìïë</LI>
- <LI><TT>011</TT> : çàðåçåðâèðîâàíî</LI>
- <LI><TT>100</TT> : 16 áèò íà ñýìïë</LI>
- <LI><TT>101</TT> : 20 áèò íà ñýìïë</LI>
- <LI><TT>110</TT> : 24 áèò íà ñýìïë</LI>
- <LI><TT>111</TT> : çàðåçåðâèðîâàíî</LI>
- </UL>
- </TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;1&gt;</TD>
- <TD>Äîïîëíåíèå íóëåì äî ãðàíèöû áèòà, ÷òîáû íå äîïóñòèòü îøèáêó ñèíõðîíèçàöèè</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;?&gt;</TD>
- <TD>Åñëè <TT>(ïåðåìåííûé ðàçìåð áëîêà)</TT><BR>
- &nbsp;&nbsp;&nbsp;<8-56> : íîìåð ñýìïëà â ôîðìàòå UTF-8 (ðàçìåð äåêîäèðóåìîãî ÷èñëà 36 áèò)<BR>
- èíà÷å<BR>
- &nbsp;&nbsp;&nbsp;<8-48> : íîìåð ôðåéìà â ôîðìàòå UTF-8 (ðàçìåð äåêîäèðóåìîãî ÷èñëà 31 áèò)</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;?&gt;</TD>
- <TD>Åñëè <TT>(áèòîâàÿ ìàñêà ðàçìåðà áëîêà == 11x)</TT><BR>
- &nbsp;&nbsp;&nbsp;8/16 áèò <TT>(ðàçìåð áëîêà - 1)</TT></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;?&gt;</TD>
- <TD>Åñëè <TT>(áèòîâàÿ ìàñêà ÷àñòîòû äèñêðåòèçàöèè == 11xx)</TT><BR>
- &nbsp;&nbsp;&nbsp;÷àñòîòà äèñêðåòèçàöèè 8/16 áèò</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;8&gt;</TD>
- <TD>8-áèòíàÿ ïîëèíîìàëüíàÿ êîíòðîëüíàÿ ñóììà <TT>(x^8 + x^2 + x^1 + x^0)</TT> äàííûõ çàãîëîâêà, âêëþ÷àÿ êîä ñèíõðîíèçàöèè (<TT>x</TT> èíèöèàëèçèðóåòñÿ íóëåì).</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&nbsp;</TD>
- <TD><B>Ïðèìå÷àíèÿ</B>:
- <UL>
- <LI>Áèòû ðàçìåðà áëîêà <TT>0000-0101</TT> ìîãóò áûòü èñïîëüçîâàíû òîëüêî ïðè ïîñòîÿííîì èõ çíà÷åíèè âî âñåì áëîêå. Áèòû <TT>0110-0111</TT> ìîãóò èñïîëüçîâàòüñÿ â ëþáîì ñëó÷àå, äåêîäåð áóäåò ñ÷èòàòü, ÷òî ïîòîê èìååò ïåðåìåííóþ äëèíó áëîêà. Ñóùåñòâóåò îäíî èñêëþ÷åíèå: êîäåð ìîæåò èñïîëüçîâàòü áèòû <TT>0110-0111</TT> â ïîñëåäíåì ôðåéìå ïîòîêà ñ ïîñòîÿííûì ðàçìåðîì áëîêà â òîì ñëó÷àå, åñëè åãî äëèíà íå áîëüøå, ÷åì èñïîëüçóåìàÿ â âñåì ïîòîêå.</LI>
- </UL>
- </TD>
-</TR>
-
-</TABLE></P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="frame_footer"><FONT SIZE="+2"><B><TT>ÇÀÂÅÐØÅÍÈÅ_ÔÐÅÉÌÀ</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;16&gt;</TD>
- <TD>16-áèòíàÿ ïîëèíîìàëüíàÿ êîíòðîëüíàÿ ñóììà <TT>(x^16 + x^15 + x^2 + x^0)</TT> âñåãî ôðåéìà (<TT>x</TT> èíèöèàëèçèðóåòñÿ íóëåì).</TD>
-</TR>
-
-</TABLE></P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="subframe"><FONT SIZE="+2"><B><TT>ÏÎÄÔÐÅÉÌ</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP"><A HREF="format.html#subframe_header"><TT>ÇÀÃÎËÎÂÎÊ_ÏÎÄÔÐÅÉÌÀ</TT></A></TD>
- <TD>&nbsp;</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP"><A HREF="format.html#subframe_constant"><TT>ÏÎÄÔÐÅÉÌ_CONSTANT</TT></A> || <A HREF="format.html#subframe_fixed"><TT>ÏÎÄÔÐÅÉÌ_FIXED</TT></A> ||<BR><A HREF="format.html#subframe_lpc"><TT>ÏÎÄÔÐÅÉÌ_LPC</TT></A> || <A HREF="format.html#subframe_verbatim"><TT>ÏÎÄÔÐÅÉÌ_VERBATIM</TT></A></TD>
- <TD>Òèï ïîäôðåéìà, îïðåäåëÿåìûé â çàãîëîâêå</TD>
-</TR>
-
-</TABLE></P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="subframe_header"><FONT SIZE="+2"><B><TT>ÇÀÃÎËÎÂÎÊ_ÏÎÄÔÐÅÉÌÀ</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;1&gt;</TD>
- <TD>Áèò ðàâíûé <TT>0</TT>, ÷òîáû ïðåäîòâðàòèòü îøèáêó ñèíõðîíèçàöèè.</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;6&gt;</TD>
- <TD>Òèï ïîäôðåéìà:
- <UL>
- <LI><TT>000000</TT> : <A HREF="format.html#subframe_constant"><TT>ÏÎÄÔÐÅÉÌ_CONSTANT</TT></A></LI>
- <LI><TT>000001</TT> : <A HREF="format.html#subframe_verbatim"><TT>ÏÎÄÔÐÅÉÌ_VERBATIM</TT></A></LI>
- <LI><TT>00001x</TT> : çàðåçåðâèðîâàíî</LI>
- <LI><TT>0001xx</TT> : çàðåçåðâèðîâàíî</LI>
- <LI><TT>001xxx</TT> : Åñëè (<TT>xxx</TT> <= 4) <A HREF="format.html#subframe_fixed"><TT>ÏÎÄÔÐÅÉÌ_FIXED</TT></A>, <TT>xxx</TT> = ïîðÿäîê; èíà÷å çàðåçåðâèðîâàíî</LI>
- <LI><TT>01xxxx</TT> : çàðåçåðâèðîâàíî</LI>
- <LI><TT>1xxxxx</TT> : <A HREF="format.html#subframe_lpc"><TT>ÏÎÄÔÐÅÉÌ_LPC</TT></A>, <TT>xxxxx = ïîðÿäîê-1</TT></LI>
- </UL>
- </TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;1+k&gt;</TD>
- <TD>Ôëàã 'íåèñïîëüçóåìûå áèòû íà ñýìïë':
- <UL>
- <LI>0 : â èñõîäíîì ïîäáëîêå íåò 'íåèñïîëüçóåìûõ áèòîâ', <TT>k=0</TT></LI>
- <LI>1 : <TT>k</TT> 'íåèñïîëüçóåìûõ áèòîâ' â èñõîäíîì ïîäáëîêå, ÷èñëî çàïèñûâàåòñÿ â óíàðíîì ôîðìàòå; ò.å. äëÿ <TT>k=3</TT> ïîñëåäîâàòåëüíîñòü áèòîâ áóäåò âûãëÿäåòü òàê <TT>001</TT>, äëÿ <TT>k=7</TT> - <TT>0000001</TT>.</LI>
- </UL>
- </TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&nbsp;</TD>
- <TD><B>Ïðèìå÷àíèÿ</B>:
- <UL>
- <LI>'Íåèñïîëüçóåìûå áèòû' âñòðå÷àþòñÿ â áëîêå äàííûõ, åñëè ïðè çàÿâëåííûõ <TT>n</TT> áèòàõ çíà÷èìûìè ÿâëÿþòñÿ òîëüêî <TT>m</TT>. ×èñëî <TT>k = n - m</TT> è áóäåò îïðåäåëÿòü êîëè÷åñòâî 'íåèñïîëüçóåìûõ áèòîâ'. Íàïðèìåð, åñëè âñå 16-áèòíûå ñýìïëû â èñõîäíîì ïîäáëîêå âûãëÿäÿò êàê 'xxxxxxxxxxxxx000', òî êîäåð êîäèðóåò òîëüêî 13 áèò, è çàïîìèíàåò, ÷òî 3 áèòà ÿâëÿþòñÿ 'íåèñïîëüçóåìûìè'.</LI>
- </UL>
- </TD>
-</TR>
-
-</TABLE></P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR><TD COLSPAN="2" BGCOLOR="#E0E0E0">
-<A NAME="subframe_constant"><FONT SIZE="+2"><B><TT>
-ÏÎÄÔÐÅÉÌ_CONSTANT</TT></B></FONT></A></TD></TR>
-
-<TR><TD VALIGN="TOP">
-&lt;n&gt;</TD>
-<TD>Íåñæàòîå ïîñòîÿííîå çíà÷åíèå ïîäáëîêà, <TT>n</TT> ðàâíî êîëè÷åñòâó áèòîâ íà ñýìïë âî ôðåéìå</TD><TR>
-</TABLE></P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="subframe_fixed"><FONT SIZE="+2"><B><TT>ÏÎÄÔÐÅÉÌ_FIXED</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;n&gt;</TD>
- <TD>Íåêîäèðóåìûå íà÷àëüíûå ñýìïëû (<TT>n</TT> ðàâíî êîëè÷åñòâó áèòîâ íà ñýìïë âî ôðåéìå, óìíîæåííîìó íà ïîðÿäîê ïðåäèêòîðà).</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP"><A HREF="format.html#residual"><TT>ÎÑÒÀÒÎÊ</TT></A></TD>
- <TD>Çàêîäèðîâàííûé îñòàòîê</TD>
-</TR>
-
-</TABLE></P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="subframe_lpc"><FONT SIZE="+2"><B><TT>ÏÎÄÔÐÅÉÌ_LPC</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;n&gt;</TD>
- <TD>Íåêîäèðóåìûå íà÷àëüíûå ñýìïëû (<TT>n</TT> ðàâíî êîëè÷åñòâó áèòîâ íà ñýìïë âî ôðåéìå, óìíîæåííîìó íà ïîðÿäîê ïðåäèêòîðà).</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;4&gt;</TD>
- <TD><TT>(òî÷íîñòü äèñêðåòíîãî êîýôôèöèåòà ëèíåéíîãî ïðîãíîçèðîâàíèÿ (QLP)) - 1</TT>. Çíà÷åíèå <TT>1111</TT> íåäîïóñòèìî.</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;5&gt;</TD>
- <TD>Íåîáõîäèìûé ñäâèã äèñêðåòíîãî êîýôôèöèåòà ëèíåéíîãî ïðîãíîçèðîâàíèÿ â áèòàõ. (<B>Ïðèìå÷àíèå</B>: ýòî ÷èñëî - çíàêîâîå äîïîëíåíèå äî äâóõ).</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;n&gt;</TD>
- <TD>Íåñæàòûå êîýôôèöèåíòû ïðîãíîçèðîâàíèÿ <TT>(n = òî÷íîñòü QLP * ïîðÿäîê LPC)</TT> (<B>Ïðèìå÷àíèå</B>: ýòè ÷èñëà ÿâëÿþòñÿ çíàêîâûìè äîïîëíåíèÿìè äî äâóõ).</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP"><A HREF="format.html#residual"><TT>ÎÑÒÀÒÎÊ</TT></A></TD>
- <TD>Çàêîäèðîâàííûé îñòàòîê</TD>
-</TR>
-
-</TABLE></P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="subframe_verbatim"><FONT SIZE="+2"><B><TT>ÏÎÄÔÐÅÉÌ_VERBATIM</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;n*i&gt;</TD>
- <TD>Íåñæàòûé ïîäáëîê, <TT>n</TT> ðàâíî êîëè÷åñòâó áèòîâ íà ñýìïë âî ôðåéìå, <TT>i</TT> - ðàçìåðó áëîêà</TD>
-</TR>
-
-</TABLE></P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="residual"><FONT SIZE="+2"><B><TT>ÎÑÒÀÒÎÊ</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;2&gt;</TD>
- <TD>Ìåòîä êîäèðîâàíèÿ îñòàòêîâ:
- <UL>
- <LI><TT>00</TT> : êîäèðîâàíèå Ðàéñà</LI>
- <LI><TT>01-11</TT> : çàðåçåðâèðîâàíî</LI>
- </UL>
- </TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP"><A HREF="format.html#partitioned_rice"><TT>ÎÑÒÀÒÊÈ_ÑÆÀÒÛÅ_ÌÅÒÎÄÎÌ_ÐÀÉÑÀ</TT></A></TD>
- <TD>&nbsp;</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&nbsp;</TD>
- <TD><B>Ïðèìå÷àíèÿ:</B>
- <UL>
- <LI>Ñåé÷àñ FLAC èñïîëüçóåò òîëüêî îäèí ìåòîä êîäèðîâàíèÿ îñòàòêîâ</LI>
- </UL>
- </TD>
-</TR>
-
-</TABLE></P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="partitioned_rice"><FONT SIZE="+2"><B><TT>ÎÑÒÀÒÊÈ_ÑÆÀÒÛÅ_ÌÅÒÎÄÎÌ_ÐÀÉÑÀ</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;4&gt;</TD>
- <TD>Ïîðÿäîê ðàçäåëà</TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP"><A HREF="format.html#rice_partition"><TT>ÐÀÇÄÅË_ÐÀÉÑÀ</TT></A>+</TD>
- <TD>Äàëåå ñëåäóþò 2^ïîðÿäîê ðàçäåëîâ</TD>
-</TR>
-
-</TABLE></P>
-
-
-<P><TABLE WIDTH="100%" BORDER="1">
-
-<TR>
- <TD COLSPAN="2" BGCOLOR="#E0E0E0"><A NAME="rice_partition"><FONT SIZE="+2"><B><TT>ÐÀÇÄÅË_ÐÀÉÑÀ</TT></B></FONT></A></TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;4(+5)&gt;</TD>
- <TD>Ïàðàìåòð êîäèðîâàíèÿ:
- <UL>
- <LI><TT>0000-1110</TT> : Ïàðàìåòð Ðàéñà.</LI>
- <LI><TT>1111</TT> : Êîä, îçíà÷àþùèé, ÷òî ðàçäåë ÿâëÿåòñÿ íåñæàòûì è â íåì èñïîëüçóþòñÿ <TT>n</TT> áèòîâ íà ñýìïë. <TT>n</TT> ïðåäñòàâëåíî 5-áèòíûì ÷èñëîì.
- </UL>
- </TD>
-</TR>
-
-<TR>
- <TD VALIGN="TOP">&lt;?&gt;</TD>
- <TD>Çàêîäèðîâàííûé îñòàòîê. Êîëè÷åñòâî ñýìïëîâ <TT>n</TT> â ðàçäåëå îïðåäåëÿåòñÿ ñëåäóþùèì îáðàçîì:
- <UL>
- <LI>Åñëè ïîðÿäîê ðàçäåëà ðàâåí <TT>0</TT>, <TT>n</TT> ðàâíî ðàçìåðó áëîêà äëÿ ôðåéìà.</LI>
- <LI>èíà÷å åñëè ýòî íå ïåðâûé ðàçäåë ïîäôðåéìà, <TT>n = (ðàçìåð áëîêà äëÿ ôðåéìà / (2^ïîðÿäîê ðàçäåëà))</TT></LI>
- <LI>èíà÷å <TT>n = (ðàçìåð áëîêà äëÿ ôðåéìà / (2^ïîðÿäîê ðàçäåëà)) - ïîðÿäîê ïðåäèêòîðà</TT></LI>
- </UL>
- </TD>
-</TR>
-
-</TABLE></P>
-
-
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</P>
-
-</BODY>
-</HTML>
diff --git a/3rdparty/libflac/doc/html/ru/goals.html b/3rdparty/libflac/doc/html/ru/goals.html
deleted file mode 100644
index a08a2689357..00000000000
--- a/3rdparty/libflac/doc/html/ru/goals.html
+++ /dev/null
@@ -1,104 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<HTML>
-<HEAD>
-<META CHARSET="windows-1251">
-<TITLE>FLAC: öåëè</TITLE>
-</HEAD>
-
-<BODY>
-<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR>
-<TD align=center>|</TD>
-<TD height=22 align=center nowrap>&nbsp;
-<A HREF="index.html">íà÷àëî</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="news.html">íîâîñòè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="download.html">ôàéëû</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="features.html">õàðàêòåðèñòèêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;öåëè&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="format.html">ôîðìàò</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-
-<TR>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="id.html">id</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="comparison.html">ñðàâíåíèå</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="developers.html">ðàçðàáîòêà</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="documentation.html">äîêóìåíòàöèÿ</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="links.html">ññûëêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="authors.html">àâòîðû</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER>
-
-<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR><TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="../goals.html">english</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;ðóññêèé</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER></P>
-
-<CENTER><H2>FLAC: öåëè</H2></CENTER>
-
-<P>Òàê êàê FLAC - ýòî îòêðûòûé ïðîåêò, âàæíî îïðåäåëèòü ñïèñîê öåëåé, ê ÷åìó íóæíî ñòðåìèòüñÿ. Âðåìÿ îò âðåìåíè îíè ìîãóò íåìíîãî èçìåíÿòüñÿ, íî âñåãäà äîëæíû îïðåäåëÿòü íàïðàâëåíèå ðàçâèòèÿ. èçìåíåíèÿ äîëæíû ñîãëàñîâûâàòüñÿ ñ òåêóùèìè öåëÿìè è íå ïûòàòüñÿ âêëþ÷èòü â ñåáÿ àíòèöåëè.</P>
-
-
-<H3>Öåëè</H3>
-
-<P><BLOCKQUOTE><UL>
- <LI>FLAC äîëæåí îñòàâàòüñÿ îòêðûòûì ôîðìàòîì. Âñå èñõîäíûå òåêñòû ëèáî ïîä LGPL, ëèáî ïîä GPL.</LI>
-
- <LI>FLAC äîëæåí ïðîèçâîäèòü òîëüêî ñæàòèå áåç ïîòåðü. Âðîäå áû ýòî î÷åâèäíî, îäíàêî, êîäèðîâàíèå ñ ïîòåðÿìè ïûòàåòñÿ ïðîíèêíóòü âî âñå àóäèî êîäåêè. Ýòà öåëü òàêæå îçíà÷àåò, ÷òî FLAC äîëæåí ïðèäåðæèâàòüñÿ òîëüêî ïðèíöèïîâ àðõèâèðîâàíèÿ è ñæèìàòü áåç ïîòåðü àáñîëþòíî âñå òèïû âõîäíûõ äàííûõ. Ðåëèçû äîëæíû òùàòåëüíî òåñòèðîâàòüñÿ.</LI>
-
- <LI>FLAC äîëæåí äîñòè÷ü ïðèåìëèìîãî óðîâíÿ ñæàòèÿ ôàéëîâ.</LI>
-
- <LI>FLAC äîëæåí èìåòü íèçêèå àïïàðàòíûå òðåáîâàíèÿ è îáåñïå÷èòü äåêîäèðîâàíèå â ðåàëüíîì âðåìåíè äàæå íà ñòàðûõ êîìïüþòåðàõ.</LI>
-
- <LI>FLAC äîëæåí ïîääåðæèâàòü áûñòðûé è òî÷íûé ïîèñê.</LI>
-
- <LI>FLAC äîëæåí ïîääåðæèâàòü âîñïðîèçâåäåíèå áåç ïàóç äëÿ ñëåäóþùèõ äðóã çà äðóãîì ïîòîêîâ.</LI>
-
- <LI>Ïðîåêò FLAC íàõîäèòñÿ â äîëãó ïåðåä ìíîãèìè ëþäüìè, êòî óëó÷øàë ìåòîäû ñæàòèÿ çâóêà, è íàöåëåí íà ïîääåðæêó íîâûõ èäåé ñ ïîìîùüþ îòêðûòîé ðàçðàáîòêè.</LI>
-</UL></BLOCKQUOTE></P>
-
-
-<H3>Àíòèöåëè</H3>
-
-<P><BLOCKQUOTE><UL>
- <LI>Ñæàòèå ñ ïîòåðÿìè. Ñóùåñòâóåò äîñòàòî÷íî ìíîãî õîðîøèõ ôîðìàòîâ, ïðåäíàçíà÷åííûõ èìåííî äëÿ ýòîãî (<A HREF="http://www.vorbis.com">Ogg Vorbis</A>, <A HREF="http://www.mp3-tech.org">mp3</A>, è ò.ä.).</LI>
-
- <LI>Çàùèòà îò êîïèðîâàíèÿ â ëþáîì âèäå.</LI>
-</UL></BLOCKQUOTE></P>
-
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</P>
-
-</BODY>
-</HTML>
diff --git a/3rdparty/libflac/doc/html/ru/id.html b/3rdparty/libflac/doc/html/ru/id.html
deleted file mode 100644
index e27d29c2e18..00000000000
--- a/3rdparty/libflac/doc/html/ru/id.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<HTML>
-<HEAD>
-<META CHARSET="windows-1251">
-<TITLE>FLAC: ðåãèñòðàöèÿ id</TITLE>
-</HEAD>
-
-<BODY>
-<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR>
-<TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="index.html">íà÷àëî</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="news.html">íîâîñòè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="download.html">ôàéëû</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="features.html">õàðàêòåðèñòèêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="goals.html">öåëè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="format.html">ôîðìàò</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-
-<TR>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;id&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="comparison.html">ñðàâíåíèå</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="developers.html">ðàçðàáîòêà</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="documentation.html">äîêóìåíòàöèÿ</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="links.html">ññûëêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="authors.html">àâòîðû</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER>
-
-<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR><TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="../id.html">english</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;ðóññêèé</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER></P>
-
-
-<CENTER><H2>FLAC: ðåãèñòðàöèÿ id</H2></CENTER>
-
-<P>FLAC ïîçâîëÿåò ïðèëîæåíèÿì òðåòüèõ ëèö çàðåãèñòðèðîâàòü id äëÿ èñïîëüçîâàíèÿ áëîêîâ ìåòàäàííûõ <A HREF="format.html#def_APPLICATION"><TT>APPLICATION</TT></A>. ×òîáû ïîëó÷èòü id èëè âíåñòè èçìåíåíèå â ñóùåñòâóþùèé id, èñïîëüçóéòå ôîðìó íà ýòîé ñòðàíèöå (ïèøèòå íà àíãëèéñêîì ÿçûêå).</P>
-
-<FORM NAME="register" METHOD="GET" ENCTYPE="text/plain" ACTION="mailto:jcoalson@users.sourceforge.net">
-
-<CENTER><TABLE BORDER="0" WIDTH=90%>
-<TR><TD WIDTH=30%>* id ïðèëîæåíèÿ:</TD>
-<TD><INPUT TYPE=TEXT NAME="id" SIZE="8" MAXLENGTH="8"></TD></TR>
-<TR><TD>* íàçâàíèå ïðèëîæåíèÿ:</TD>
-<TD><INPUT TYPE=TEXT NAME="name" SIZE="40"></TD></TR>
-<TR><TD>* êîíòàêòíûé e-mail:</TD>
-<TD><INPUT TYPE=TEXT NAME="email" SIZE="40"></TD></TR>
-<TR><TD>url ïðèëîæåíèÿ:</TD>
-<TD><INPUT TYPE=TEXT NAME="appurl" SIZE="40"></TD></TR>
-<TR><TD>url ñïåöèôèêàöèè:</TD>
-<TD><INPUT TYPE=TEXT NAME="specurl" SIZE="40"></TD></TR></TABLE>
-
-<P>Êîììåíòàðèé:</P>
-<TEXTAREA NAME="comment" COLS="72" ROWS="8" WRAP="OFF"></TEXTAREA>
-
-<P>(* - îáÿçàòåëüíîå ïîëå)</P>
-</CENTER>
-
-<P>id äîëæåí ñîñòîÿòü èç âîñüìè ñèìâîëîâ <TT>[0..F]</TT> è íå êîíôëèêòîâàòü ñ ñóùåñòâóþùèìè èäåíòèôèêàòîðàìè (âíèçó ïðèâåäåíà òàáëèöà çàðåãèñòðèðîâàííûõ id). Ýòî 32-áèòíîå ÷èñëî áóäåò ñîõðàíåíî â áëîêå ñ îáðàòíûì ïîðÿäêîì áàéòîâ.</P>
-
-<P>Èíôîðìàöèÿ î ïðèëîæåíèè (íî íå e-mail) áóäåò ïðèâåäåíà â êàòàëîãå id. Âû ìîæåòå ïðåäîñòàâèòü òàêæå ññûëêó íà ñòðàíèöó ïðèëîæåíèÿ è íà ñïåöèôèêàöèþ áëîêà <TT>APPLICATION</TT> äëÿ âàøåãî ïðèëîæåíèÿ.</P>
-
-<P>Ïîäòâåðæäåíèå ðåãèñòðàöèè áóäåò âûñëàíî Âàì ïî ïî÷òå.</P>
-
-<P><CENTER><INPUT TYPE=SUBMIT VALUE="Ïîäòâåðäèòü çàïðîñ"></CENTER></P>
-</FORM>
-
-<H3>Êàòàëîã id</H3>
-<P>Ñïèñîê çàðåãèñòðèðîâàííûõ ïðèëîæåíèé è èõ id.</P>
-
-<P><TABLE WIDTH="100%" BORDER="1">
-<TR BGCOLOR="#F0F0F0">
- <TD><FONT SIZE="+1"><B>ID</B></FONT></TD>
- <TD><FONT SIZE="+1"><B>Ïðèëîæåíèå</B></FONT></TD>
-</TR>
-
-<TR>
- <TD><TT>5346464C - "SFFL"</TT></TD>
- <TD>Sound Font FLAC</TD>
-</TR>
-
-<TR>
- <TD><TT>46746F6C - "Ftol"</TT></TD>
- <TD><A HREF="http://flac-tools.sourceforge.net/">flac-tools</A></TD>
-</TR>
-
-</TABLE>
-
-
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</P>
-
-</BODY>
-</HTML>
diff --git a/3rdparty/libflac/doc/html/ru/index.html b/3rdparty/libflac/doc/html/ru/index.html
deleted file mode 100644
index 87a5fc2c350..00000000000
--- a/3rdparty/libflac/doc/html/ru/index.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<HTML>
-<HEAD>
-<META CHARSET="windows-1251">
-<META NAME="author" CONTENT="Josh Coalson">
-<META NAME="description" CONTENT="An open source codec for lossless audio compression and decompression">
-<META NAME="keywords" CONTENT="lossless,audio,codec,encoder,decoder,compression,compressor,archive,archiving,backup">
-<TITLE>FLAC: íà÷àëî</TITLE>
-</HEAD>
-
-<BODY>
-<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR>
-<TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;íà÷àëî&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="news.html">íîâîñòè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="download.html">ôàéëû</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="features.html">õàðàêòåðèñòèêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="goals.html">öåëè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="format.html">ôîðìàò</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-
-<TR>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="id.html">id</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="comparison.html">ñðàâíåíèå</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="developers.html">ðàçðàáîòêà</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="documentation.html">äîêóìåíòàöèÿ</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="links.html">ññûëêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="authors.html">àâòîðû</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER>
-
-<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR><TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="../index.html">english</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;ðóññêèé</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER></P>
-
-
-<CENTER><H2>FLAC: íà÷àëî</H2></CENTER>
-
-<H3>Ñòàòóñ</H3>
-
-<P>26 ÿíâàðÿ 2003: <B>FLAC 1.1.0</B></P>
-
-<P>Âûøëà âåðñèÿ FLAC 1.1.0. Ñðåäè íîâûõ âîçìîæíîñòåé ïîääåðæêà ReplayGain è ñïèñêîâ ðàçìåòêè àóäèîäèñêîâ. Êðîìå òîãî óëó÷øåíî ñæàòèå 24-áèòíûõ ôàéëîâ è äîáàâëåíèà ïîääåðæêà ðåäàêòèðîâàíèÿ òåãîâ â ïëàãèíàõ. Ïîäðîáíåå îá ýòîì íà ñòðàíèöå <A HREF="news.html">íîâîñòåé</A>.</P>
-
-<P>Îáðàòèòå âíèìàíèå íà òî, ÷òî áûë óâåëè÷åí ìëàäøèé íîìåð âåðñèè, à çíà÷èò ñîâìåñòèìîñòü ñíèçó ââåðõ áûëà íàðóøåíà (ò.å. áîëåå ðàííèå âåðñèè äåêîäåðîâ íå ñìîãóò âîñïðîèçâîäèòü ôàéëû, ñîçäàííûå áîëåå ïîçäíèìè âåðñèÿìè êîäåðà). Ýòî ïðîèçîøëî èç-çà îøèáêè â äåêîäåðàõ â âåðñèÿõ äî 1.0.4 âêëþ÷èòåëüíî, èç-çà êîòîðîé äåêîäåðû íåïðàâèëüíî ïðîïóñêàëè íåèçâåñòíûå áëîêè ìåòàäàííûõ. Ïîòîêîâûé ôîðìàò íå èçìåíèëñÿ, ïîýòîìó îáðàòíàÿ ñîâìåñòèìîñòü íå íàðóøåíà. Ýòî çíà÷èò, ÷òî ôàéë FLAC ñî ñïèñêîì ðàçìåòêè àóäèîäèñêà íå áóäåò äåêîäèðîâàòüñÿ âåðñèÿìè äî 1.1.0, â êîòîðîé áûëà èñïðàâëåíà óïîìÿíóòàÿ âûøå îøèáêà.</P>
-
-<P>Åñëè âû èñïîëüçóåòå FLAC è ó âàñ åñòü ïðåäîëîæåíèÿ èëè ïàò÷è, ïîæàëóéñòà, ïðèñîäèíÿéòåñü ê <A HREF="http://sourceforge.net/mail/?group_id=13478">ñïèñêó ðàññûëêè</A> èëè <A HREF="http://sourceforge.net/project/memberlist.php?group_id=13478">ãðóïïå ðàçðàáîò÷èêîâ</A>. Ñîîáùèòü îá îøèáêå ìîæíî <A HREF="http://sourceforge.net/bugs/?func=addbug&group_id=13478">çäåñü</A>.</P>
-
-<H3>×òî òàêîå FLAC?</H3>
-
-<P>FLAC - ýòî àááðåâèàòóðà îò Free Lossless Audio Codec (ñâîáîäíûé àóäèîêîäåê, ñæèìàþùèé áåç ïîòåðü). Ïðîåêò FLAC âêëþ÷àåò:</P>
-
-<P><BLOCKQUOTE><UL>
- <LI>ïîòîêîâûé ôîðìàò;</LI>
- <LI>áàçîâûå êîäåðû è äåêîäåðû â âèäå áèáëèîòåê;</LI>
- <LI><B><TT>flac</TT></B>, óòèëèòó êîìàíäíîé ñòðîêè, âûïîëíÿþùóþ ñæàòèå è ðàñïàêîâêó ôàéëîâ .flac;</LI>
- <LI><B><TT>metaflac</TT></B>, óòèëèòó êîìàíäíîé ñòðîêè äëÿ ðåäàêòèðîâàíèÿ ìåòàäàííûõ â ôàéëàõ .flac;</LI>
- <LI>ïëàãèíû äëÿ ðàçíûõ ïëåéåðîâ.</LI>
-</UL></BLOCKQUOTE></P>
-
-<P>"Ñâîáîäà" îçíà÷àåò, ÷òî ñïåöèôèêàöèÿ ïîòîêîâîãî ôîðìàòà îòêðûòà äëÿ âñåõ è ìîæåò áûòü èñïîëüçîâàíà äëÿ ëþáûõ öåëåé (ïðîåêò FLAC îñòàâëÿåò çà ñîáîé ïðàâî óñòàíàâëèâàòü ñïåöèôèêàöèè è ñåðòèôèöèðîâàòü îòíîñÿùèåñÿ ê íåìó ïðîäóêòû íà ñîâìåñòèìîñòü), à òàêæå òî, ÷òî íè ôîðìàò, íè îäèí èç ðåàëèçîâàííûõ ìåòîäîâ êîäèðîâàíèÿ/äåêîäèðîâàíèÿ íå çàïàòåíòîâàíû. Ýòî òàêæå çíà÷èò, ÷òî âñå èñõîäíûå òåêñòû äîñòóïíû ïî ëèöåíçèÿì, îáÿçûâàþùèì ïðåäîñòàâëÿòü èñõîäíûå êîäû.</P>
-
-<P>FLAC êîìïèëèðóåòñÿ íà ìíîæåñòâå ïëàòôîðì: Unixes (Linux, *BSD, Solaris, OS X), Windows, BeOS è OS/2. Èìåþòñÿ ñèñòåìû ñáîðêè äëÿ autoconf/automake, MSVC, Watcom C è Project Builder.</P>
-
-<P>×òîáû óçíàòü áîëüøå î ïðîåêòå FLAC, ñìîòðèòå ñòðàíèöû <A HREF="features.html">õàðàêòåðèñòèêè</A>, <A HREF="documentation.html">äîêóìåíòàöèÿ</A> è <A HREF="format.html">ôîðìàò</A>. Òàêæå ïðèâåäåíî <A HREF="comparison.html">ñðàâíåíèå</A> êîäåðîâ, ñæèìàþùèõ áåç ïîòåðü, è ñïèñîê <A HREF="goals.html">öåëåé</A>, ñòîÿùèõ ïåðåä ó÷àñòíèêàìè ïðîåêòà.</P>
-
-
-<H3>Ôàéëû</H3>
-
-<P>Íà <A HREF="download.html">ýòîé</A> ñòðàíèöå íàõîäÿòñÿ ññûëêè íà èñõîäíûå òåêñòû, à òàêæå ñêîïèëèðîâàííûå âåðñèè äëÿ ðàçëè÷íûõ îïåðàöèîííûõ ñèñòåì, êðîìå òîãî èõ ìîæíî ïîëó÷èòü ïðÿìî íà <A HREF="http://www.sourceforge.net/projects/flac/">SourceForge</A>.</P>
-
-
-<H3>Äîêóìåíòàöèÿ</H3>
-
-<P>Äîêóìåíòàöèÿ äîñòóïíà â ðåæèìå îíëàéí è â äèñòðèáóòèâàõ. Èíôîðìàöèÿ ïî óñòàíîâêå è èñïîëüçîâàíèþ <B><TT>flac</TT></B> è ïëàãèíîâ íàõîäèòñÿ <A HREF="documentation.html">çäåñü</A>. Áîëåå äåòàëüíàÿ èíôîðìàöèÿ î ôîðìàòå FLAC è áàçîâîì êîäåðå ïðèâåäåíà íà <A HREF="format.html">ýòîé ñòðàíèöå</A>.</P>
-
-
-<H3>Ðåãèñòðàöèÿ id</H3>
-
-<P>Åñëè ó âàñ åñòü ïðèëîæåíèå, èñïîëüçóþùåå FLAC, è âû õîòèòå, ÷òîáû îíî ðàáîòàëî ñ äîáàâëÿåìûìè â ôàéë ìåòàäàííûìè, çàéäèòå íà <A HREF="id.html">ñòðàíèöó</A> ðåãèñòðàöèè è çàðåçåðâèðóéòå äëÿ íåãî èäåíòèôèêàòîð.</P>
-
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</P>
-
-</BODY>
-</HTML>
diff --git a/3rdparty/libflac/doc/html/ru/links.html b/3rdparty/libflac/doc/html/ru/links.html
deleted file mode 100644
index 7887ca6d3c4..00000000000
--- a/3rdparty/libflac/doc/html/ru/links.html
+++ /dev/null
@@ -1,124 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
-<!-- Copyright (c) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<HTML>
-<HEAD>
-<META CHARSET="windows-1251">
-<TITLE>FLAC: íà÷àëî</TITLE>
-</HEAD>
-
-<BODY>
-<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR>
-<TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="index.html">íà÷àëî</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="news.html">íîâîñòè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="download.html">ôàéëû</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="features.html">õàðàêòåðèñòèêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="goals.html">öåëè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="format.html">ôîðìàò</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-
-<TR>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="id.html">id</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="comparison.html">ñðàâíåíèå</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="developers.html">ðàçðàáîòêà</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="documentation.html">äîêóìåíòàöèÿ</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;ññûëêè&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="authors.html">àâòîðû</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER>
-
-<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR><TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="../index.html">english</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;ðóññêèé</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER></P>
-
-
-<CENTER><H2>FLAC: ññûëêè</H2></CENTER>
-
-<P><B>Îñíîâíûå ññûëêè:</B></P>
-<P><BLOCKQUOTE><UL>
-<LI><A HREF="http://flac.sourceforge.net/">Äîêóìåíòàöèÿ FLAC íà àíãëèéñêîì ÿçûêå</A></LI>
-<LI><A HREF="http://www.sourceforge.net/projects/flac/">Ñòðàíèöà ïðîåêòà FLAC íà SourceForge</A></LI>
-<LI><A HREF="http://freshmeat.net/projects/flac">Ñòðàíèöà íà Freshmeat</A></LI>
-<LI><A HREF="http://www.firstpr.com.au/audiocomp/lossless/">Îñíîâíûå ïðèíöèïû ñæàòèÿ áåç ïîòåðü</A></LI>
-<LI><A HREF="http://dkutsanov.chat.ru/">Óòèëèòû äëÿ ñæàòèÿ àóäèî</A></LI>
-</UL></BLOCKQUOTE></P>
-
-
-<P><B>Àïïàðàòóðà, ïîääåðæèâàþùàÿ FLAC:</B></P>
-<P><BLOCKQUOTE><UL>
-<LI><A HREF="http://www.phatnoise.com/">Phatnoise</A> àâòîìîáèëüíàÿ àóäèîñèñòåìà: <A HREF="http://www.phatnoise.com/technology/encoding.php">Phatbox + FLAC</A></LI>
-<LI><A HREF="http://www.sonicblue.com/audio/rio/rio_receiver.asp">Rio Reciever</A> è Dell Digital Audio Receiver ñ ïîìîùüþ êëèåíòà <A HREF="http://sourceforge.net/projects/rioplay/">RioPlay</A></LI>
-<LI>Turtle Beach <A HREF="http://www.turtlebeach.com/site/products/audiotron/producthome.asp">AudioTron</A> ñ èñïîëüçîâàíèåì ìîäóëÿ Áåðè Ðèíàëäî <A HREF="http://file-ext-map.sourceforge.net/">Samba VFS</A></LI>
-
-</UL></BLOCKQUOTE></P>
-
-
-<P><B>Ïðîãðàììû, èñïîëüçóþùèå FLAC:</B></P>
-<P><BLOCKQUOTE><UL>
-<LI><A HREF="http://www.bagu.dhs.org/flac.html">Ïàò÷</A> äëÿ <A HREF="http://lly.org/~rcw/abcde/page/">abcde</A> (A Better CD Encoder)</LI>
-<LI><A HREF="http://arson.sourceforge.net/">Arson</A>: Óòèëèòà äëÿ ïðîæèãà CD è ïîëó÷åíèÿ äàííûõ ñ àóäèîäèñêîâ äëÿ KDE</LI>
-<LI><A HREF="http://bossogg.sourceforge.net/">Boss Ogg</A>: àóäèî êëèåíò/ñåðâåð</LI>
-<LI>Ðåäàêòîð òåãîâ <A HREF="http://easytag.sourceforge.net/">EasyTAG</A></LI>
-<LI><A HREF="http://home.wanadoo.nl/~w.speek/flac.htm">îáîëî÷êà äëÿ FLAC</A> (Windows GUI)</LI>
-<LI><A HREF="http://flac-tools.sourceforge.net/">flac-tools</A></LI>
-<LI><A HREF="http://www.gstreamer.net/">GStreamer</A> ñèñòåìà äëÿ ïîòîêîâîé ïåðåäà÷è ìåäèà-ôàéëîâ</LI>
-<LI><A HREF="http://jreceiver.sourceforge.net/">JReceiver</A> àóäèî-ñåðâåð, èñïîëüçóþùèé òåõíîëîãèþ ñåðâëåòîâ</LI>
-<LI><A HREF="http://www.danrules.com/macflac/">MacFLAC</A> äèñòðèáóòèâ äëÿ Mac OS X</LI>
-<LI><A HREF="http://mediaxw.sourceforge.net/">MediaXW</A> âêëþ÷àåò ôèëüòð FLAC DirectShow</LI>
-<LI><A HREF="http://math.berkeley.edu/~roconnor/MMIOMP3/">MMIOFLAC</A>, ìóëüòèìåäèéíûé ïðîöåññîð äëÿ OS/2</TR>
-<LI><A HREF="http://ptarmigan.sourceforge.net/">Ptarmigan</A> àíàëèçàòîð ìåäèàôàéëîâ äëÿ XML</LI>
-<LI><A HREF="http://rawrec.sourceforge.net/">rawrec/rawplay</A> óòèëèòû äëÿ çàïèñè è âîñïðîèçâåäåíèÿ</LI>
-<LI><A HREF="http://rip.sourceforge.net/">rip</A> êîíñîëüíàÿ óòèëèòà äëÿ ïîëó÷åíèÿ äàííûõ ñ àóäèîäèñêîâ è ñæàòèÿ ôàéëîâ</LI>
-<LI><A HREF="http://www.icculus.org/SDL_sound/">SDL_sound</A> àóäèî ìîäóëü äëÿ SDL</LI>
-<LI><A HREF="http://shnutils.etree.org/shntool/">shntool</A></LI>
-<LI><A HREF="http://www.lammerts.org/software/soepkiptng/">Soepkip TNG</A> ïëåéåð, óïðàâëÿåìûé ÷åðåç web-èíòåðôåéñ</LI>
-<LI><A HREF="http://www.cyclooctane.com/sonice/">sonice</A>: ïðåîáðàçîâàíèå FLAC â Vorbis</LI>
-<LI><A HREF="http://www.lameb.fsnet.co.uk/">Split_wav</A> WAV+CUE splitter</A></LI>
-<LI><A HREF="http://www.saunalahti.fi/~cse/html/tag.html">Tag</A> ðåäàêòîð òåãîâ (äîñòóïíà <A HREF="http://home.wanadoo.nl/~w.speek/tag.htm">ãðàôè÷åñêàÿ îáîëî÷êà</A>)</LI>
-</UL></BLOCKQUOTE></P>
-
-<P><B>Ñîîáùåñòâà, èñïîëüçóþùèå FLAC:</B></P>
-<P><BLOCKQUOTE><UL>
-<LI><A HREF="http://wiki.etree.org/">etree.org</A></LI>
-</UL></BLOCKQUOTE></P>
-
-
-<P>&nbsp;Copyright (c) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson</P>
-
-</BODY>
-</HTML>
diff --git a/3rdparty/libflac/doc/html/ru/news.html b/3rdparty/libflac/doc/html/ru/news.html
deleted file mode 100644
index ebaf3d24aa8..00000000000
--- a/3rdparty/libflac/doc/html/ru/news.html
+++ /dev/null
@@ -1,304 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//RU">
-<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson -->
-<!-- Permission is granted to copy, distribute and/or modify this document -->
-<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
-<!-- or any later version published by the Free Software Foundation; -->
-<!-- with no invariant sections. -->
-<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
-<HTML>
-<HEAD>
-<META CHARSET="windows-1251">
-<TITLE>FLAC: íîâîñòè</TITLE>
-</HEAD>
-
-<BODY>
-<CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR>
-<TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="index.html">íà÷àëî</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;íîâîñòè&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="download.html">ôàéëû</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="features.html">õàðàêòåðèñòèêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="goals.html">öåëè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="format.html">ôîðìàò</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-
-<TR>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="id.html">id</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="comparison.html">ñðàâíåíèå</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="developers.html">ðàçðàáîòêà</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="documentation.html">äîêóìåíòàöèÿ</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="links.html">ññûëêè</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;<A HREF="authors.html">àâòîðû</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER>
-
-<P><CENTER><TABLE cellpadding=0 cellspacing=0 border=0>
-<TR><TD align=center>|</TD>
-<TD height=22 align=center nowrap>
-&nbsp;<A HREF="../news.html">english</A>&nbsp;</TD>
-<TD align=center>|</TD>
-<TD align=center nowrap>
-&nbsp;ðóññêèé</A>&nbsp;</TD>
-<TD align=center>|</TD></TR>
-</TABLE></CENTER></P>
-
-<CENTER><H2>FLAC: íîâîñòè</H2></CENTER>
-
-<P><LI><B>26.01.2003</B><BR>
-Âûøëà âåðñèÿ <B>FLAC 1.1.0</B>, â êîòîðîé ñäåëàíî íå âñå, ÷òî õîòåëîñü, íî âðåìÿ ðåëèçà ïîäîøëî.</P>
-
-<P>Îáðàòèòå âíèìàíèå íà òî, ÷òî áûë óâåëè÷åí ìëàäøèé íîìåð âåðñèè, à çíà÷èò ñîâìåñòèìîñòü ñíèçó ââåðõ áûëà íàðóøåíà (ò.å. áîëåå ðàííèå âåðñèè äåêîäåðîâ íå ñìîãóò âîñïðîèçâîäèòü ôàéëû ñîçäàííûå áîëåå ïîçäíèìè âåðñèÿìè êîäåðà). Ýòî ïðîèçîøëî èç-çà îøèáêè â äåêîäåðàõ â âåðñèÿõ äî 1.0.4 âêëþ÷èòåëüíî, èç-çà êîòîðîé äåêîäåðû íåïðàâèëüíî ïðîïóñêàëè íåèçâåñòíûå áëîêè ìåòàäàííûõ. Ïîòîêîâûé ôîðìàò íå èçìåíèëñÿ, ïîýòîìó îáðàòíàÿ ñîâìåñòèìîñòü íå íàðóøåíà. Ýòî çíà÷èò, ÷òî ôàéë FLAC ñî ñïèñêîì ðàçáèåíèÿ àóäèîäèñêà íå áóäåò äåêîäèðîâàòüñÿ âåðñèÿìè äî 1.1.0, â êîòîðîé áûëà èñïðàâëåíà óïîìÿíóòàÿ âûøå îøèáêà.</P>
-
-<P>Ñïèñîê èçìåíåíèé:</P>
-
-<P><BLOCKQUOTE><UL>
-<LI><B>Îñíîâíîå:</B></LI>
-
-<UL>
- <LI>Âåñü êîä ïðîâåðåí ïðîãðàììîé <A HREF="http://developer.kde.org/~sewardj/">Valgrind</A>!</LI>
- <LI>Íîâûé áëîê ìåòàäàííûõ <A HREF="format.html#def_CUESHEET">CUESHEET</A> äëÿ õðàíåíèÿ ñîäåðæàíèÿ CD è èíôîðìàöèè îá èíäåêñíûõ òî÷êàõ. Òåïåðü àóäèîäèñê ìîæåò áûòü ïîëíîñòüþ ñîõðàíåí â îäèí ôàéë.</LI>
- <LI>Ïîääåðæêà <A HREF="http://www.replaygain.org/">ReplayGain</A>.</LI>
- <LI>Óëó÷øåí óðîâåíü ñæàòèÿ äëÿ 24-áèòíûõ ôàéëîâ.</LI>
- <LI>Áîëåå ïîëíàÿ ïîääåðæêà ôîðìàòà AIFF.</LI>
- <LI>Îïòèìèçàöèÿ äëÿ 3DNow! òåïåðü âêëþ÷åíà ïî óìîë÷àíèþ.</LI>
- <LI>Ïîëíàÿ ñèñòåìà ñáîðêè äëÿ MSVC ñ ôàéëîì ïðîåêòà .dsp, ñ ïîìîùüþ êîòîðîé ìîæíî ñîçäàòü ñòàòèòåñêèå è äèíàìè÷åñêèå áèáëèîòåêè â ðåæèìå îòëàäêè èëè ðåëèçà.</LI>
-</UL>
-
-<LI><B><TT>flac</TT>:</B></LI>
-<UL>
- <LI>Ìîæåò äåêîäèðîâàòü FLAC â AIFF; íîâûé êëþ÷ <TT>--force-aiff-format</TT>.</LI>
- <LI>Íîâàÿ âîçìîæíîñòü <TT>--cuesheet</TT> ïîçâîëÿåò ÷èòàòü è ñîõðàíÿòü ñïèñêè ðàçáèåíèÿ àóäèîäèñêà ïðè êîäèðîâàíèÿ äèñêà ïîëíîñòüþ. Àâòîìàòè÷åñêè ñîçäàþòñÿ òî÷êè ïîèñêà äëÿ òðåêîâ è èíäåêñíûå òî÷êè, êðîìå òåõ ñëó÷àåâ, êîãäà èñïîëüçóåòñÿ êëþ÷ <TT>--no-cued-seekpoints</TT>.</LI>
- <LI>Íîâàÿ îïöèÿ <TT>--replay-gain</TT> äëÿ âû÷èñëåíèÿ è ñîõðàíåíèÿ çíà÷åíèé ReplayGain.</LI>
- <LI>Íîâàÿ îïöèÿ <TT>--until</TT> äîïîëíÿåò <TT>--skip</TT> äëÿ îñòàíîâêè äåêîäèðîâàíèÿ â îïðåäåëåííîì ìåñòå ïîòîêà.</LI>
- <LI><TT>--skip</TT> è <TT>--until</TT> ìîãóò ïîëó÷àòü çíà÷åíèÿ â ôîðìàòå ìì:ññ.ññ.</LI>
- <LI>Íîâûé êëþ÷ <TT>-S #s</TT> óêàçûâàåò, ÷òî òî÷êè äëÿ ïîèñêà íóæíî ðàññòàâëÿòü ñ èíòåðâàëîì â '#' ñåêóíä.</LI>
- <LI><B><TT>flac</TT></B> ñîçäàåò òàáëèöó ïîèñêà ïî óìîë÷àíèþ ïàðàìåòðîì <TT>-S 10s</TT> âìåñòî <TT>-S 100x</TT>.</LI>
- <LI><B><TT>flac</TT></B> äîáàâëÿåò áëîê PADDING ðàçìåðîì 4Êá ïî óìîë÷àíèþ (îòêëþ÷àåòñÿ îïöèåé <TT>--no-padding</TT>).</LI>
- <LI>Èñïðàâëåíà îøèáêà ñ êëþ÷îì <TT>--skip</TT> è êîäèðîâàíèåì èç AIFF â FLAC.</LI>
- <LI>Èñïðàâëåíà îøèáêà, ïðèâîäÿùàÿ ê ïîð÷å çàãîëîâêà WAVE ôàéëà, ñîçäàâàåìîãî ïðè äåêîäèðîâàíèè ôàéëà FLAC, ó êîòîðîãî â áëîêå STREAMINFO áûëî çíà÷åíèå total_samples==0.</LI>
-</UL>
-
-<LI><B><TT>metaflac</TT>:</B></LI>
-<UL>
- <LI>Íîâûé êëþ÷ <TT>--import-cuesheet-from</TT> äëÿ ÷òåíèÿ è ñîõðàíåíèÿ ñïèñêà ðàçìåòêè àóäèîäèñêà ïðè êîäèðîâàíèÿ äèñêà ïîëíîñòüþ. Òàêæå àâòîìàòè÷åñêè ñîçäàþòñÿ òî÷êè ïîèñêà äëÿ òðåêà è èíäåêñíûå òî÷êè, êðîìå òåõ ñëó÷àåâ, êîãäà èñïîëüçóåòñÿ êëþ÷ <TT>--no-cued-seekpoints</TT>.</LI>
- <LI>Íîâûé êëþ÷ <TT>--export-cuesheet-to</TT> äëÿ çàïèñè ñïèñêà ðàçìåòêè àóäèîäèñêà èç ôàéëà FLAC.</LI>
- <LI>Íîâûé êëþ÷ <TT>--add-replay-gain</TT> äëÿ âû÷èñëåíèÿ çíà÷åíèé ReplayGain è ñîõðàíåíèÿ èõ â âèäå òåãîâ.</LI>
- <LI>Íîâûé êëþ÷ <TT>--add-seekpoint</TT> äëÿ äîáàâëåíèÿ òî÷åê ïîèñêà â ñóùåñòâóþùèé ôàéë FLAC.</LI>
-</UL>
-
-<LI><B>Ïëàãèí äëÿ XMMS:</B></LI>
-<UL>
- <LI>Íàñòðàèâàåìîå ïðîåáðàçîâàíèå ÷àñòîòû äèñêðåòèçàöèè ñî ñãëàæèâàíèåì ñèãíàëà.</LI>
- <LI>Ïîääåðæêà ReplayGain äëÿ íàñòðîéêè îãðàíè÷åíèÿ øóìà, ïðåäâàðèòåëüíîãî óñèëåíèÿ è îïöèîíàëüíîãî æåñòêîãî îãðàíè÷èòåëÿ.</LI>
- <LI>Íîâûé ðåäàêòîð êîììåíòàðèåâ Vorbis.</LI>
- <LI>Ðàáîòàåò îêíî èíôîðìàöèè î ôàéëå.</LI>
- <LI>Èñïîëüçóåòñÿ òåã ARTIST, åñëè íåò òåãà PERFORMER.</LI>
-</UL>
-
-<LI><B>Áèáëèîòåêè (äëÿ ðàçðàáîò÷èêîâ):</B></LI>
-<UL>
- <LI>Âåñü êîä è òåñòû îòëàæåíû äëÿ Valgrind. Âñå òåñòû ïðîøëè ïðîâåðêó Valgrind, à ýòî çíà÷èò, ÷òî â ïðîãðàììå íåò óòå÷åê ïàìÿòè èëè ïåðåïîëíåíèé áóôåðà.</LI>
- <LI>Ïðîöåäóðà <TT>FLAC__metadata_object_new(FLAC__METADATA_TYPE_VORBIS_COMMENT)</TT> òåïåðü çàïèñûâàåò èíôîðìàöèþ î êîäåðå.</LI>
-</UL>
-</UL></BLOCKQUOTE></P>
-
-<P><LI><B>24.09.2002</B><BR>
-Âûøëà âåðñèÿ <B>FLAC 1.0.4</B>, â êîòîðîé ñäåëàíî áîëüøîå êîëè÷åñòâî óëó÷øåíèé:</P>
-
-<P><BLOCKQUOTE><UL>
-<LI><B>Ïëàãèíû:</B></LI>
-
-<UL>
-
- <LI>Ïîääåðæêà êîììåíòàðèåâ Vorbis, ID3 v1 è v2.</LI>
- <LI>Êîíôèãóðóåìîå ôîðìàòèðîâàíèå çàãîëîâêà è ïðåîáðàçîâàíèå êîäèðîâîê â ïëàãèíå äëÿ XMMS.</LI>
- <LI>Ïîääåðæêà 8- è 24-áèòíûõ ôàéëîâ. Íà ñòàäèè êîìïèëÿöèè ìîæíî âûáðàòü ëèáî 24-áèòíûé âûâîä, ëèáî ëèíåéíîå ïðåîáðàçîâàíèå ê 16-áèòíîìó âûâîäó (ïî óìîë÷àíèþ).</LI>
-</UL>
-
-<LI><B><TT>flac</TT></B></LI>
-
-<UL>
- <LI>Óëó÷øåí àíàëèç îïöèé êîìàíäíîé ñòðîêè (ñ ïîìîùüþ getopt).</LI>
- <LI>Ïîääåðæêà ôîðìàòà AIFF (ñïàñèáî Áðýäè Ïàòòåðñîíó).</LI>
- <LI>Íåáîëüøîå óâåëè÷åíèå ñêîðîñòè ðàáîòû äåêîäåðà.</LI>
- <LI><TT>--sector-align</TT> òåïåðü ïîääåðæèâàåò â êà÷åñòâå ââîäà ôàéëû áåç çàãîëîâêà.</LI>
- <LI>Íîâàÿ îïöèÿ <TT>-T</TT>, <TT>--tag</TT> äëÿ äîáàâëåíèÿ êîììåíòàðèåâ Vorbis ïðè êîäèðîâàíèè.</LI>
- <LI>Íîâàÿ îïöèÿ <TT>--serial-number</TT>, êîòîðàÿ ìîæåò èñïîëüçîâàòüñÿ âìåñòå ñ êëþ÷îì <TT>--ogg</TT>.</LI>
- <LI>Àâòîìàòè÷åñêè çàïèñûâàåòñÿ èíôîðìàöèÿ î êîäåðå â êîììåíòàðèè Vorbis.</LI>
- <LI>Çíà÷èòåëüíî óìåíüøåíû òðåáîâàíèÿ ê ïàìÿòè.</LI>
- <LI>Èñïðàâëåíà îøèáêà, èç-çà êîòîðîé íåïîääåðæèâàåìûå äîïîëíèòåëüíûå òåãè ôîðìàòà RIFF WAVE íå ïðîïóñêàëèñü.</LI>
- <LI>Èñïðàâëåíà îøèáêà ñ îïðåäåëåíèåì çíà÷åíèÿ granulepos â ïîòîêàõ Ogg FLAC.</LI>
- <LI>Èñïðàâëåíà óòå÷êà ïàìÿòè ïðè êîäèðîâàíèè íåñêîëüêèõ ôàéëîâ ñ îïöèåé <TT>-V</TT>.</LI>
-</UL>
-
-<LI><B><TT>metaflac</TT></B></LI>
-<UL>
- <LI>Ïîääåðæêà UTF-8 â êîììåíòàðèÿõ Vorbis.</LI>
- <LI>Íîâûå êîìàíäû <TT>--import-vc-from</TT> è <TT>--export-vc-to commands</TT> äëÿ èìïîðòà/ýêñïîðòà êîììåíòàðèåâ Vorbis. Íàïðèìåð, òàê ìîæíî ñêîïèðîâàòü òåã èç ôàéëà è çàïèñàòü â íåãî:<BR>
- <TT>$ metaflac --export-vc-to=- --no-utf8-convert file.flac | vorbiscomment --raw -w file.ogg
- <BR>$ vorbiscomment --raw -l file.ogg | metaflac --import-vc-from=- --no-utf8-convert file.flac</TT></LI>
- <LI>Èñïðàâëåíà îøèáêà, âîçíèêàâøàÿ ïðè îáðàáîòêå ôàéëîâ, äîñòóïíûõ òîëüêî äëÿ ÷òåíèÿ</LI>
-</UL>
-
-<LI><B>Áèáëèîòåêè:</B></LI>
-
-<UL>
- <LI>Âñå API òåïåðü äîêóìåòèðóþòñÿ ñ ïîìîùüþ cbcntvs Doxygen. Ñì. <A HREF="../api/index.html">çäåñü</A>.</LI>
- <LI>Íîâûå áèáëèîòåêè libOggFLAC è libOggFLAC++, êîòîðûå ÿâëÿþòñÿ îáîëî÷êàìè äëÿ libFLAC è libFLAC++, äëÿ êîäèðîâàíèÿ è äåêîäèðîâàíèÿ ïîòîêîâ Ogg FLAC.</LI>
- <LI>Íîâûå <TT>FLAC__SeekableStreamEncoder</TT> è <TT>FLAC__FileEncoder</TT> èç áèáëèîòåêè libFLAC óïðîùàþò îñíîâíûå çàäà÷è, âîçíèêàþùèå ïðè êîäèðîâàíèè.</LI>
- <LI>Íîâûé ðåæèì ïðîâåðêè âî âñåõ êîäåðàõ.</LI>
- <LI>Çíà÷èòåëüíî óìåíüøåíî êîëè÷åñòâî ïàìÿòè, òðåáóåìîé äëÿ êîäåðîâ è äåêîäåðîâ.</LI>
- <LI>Êîäåð àâòîìàòè÷åñêè çàïèñûâàåò èíôîðìàöèþ â áëîê <TT>VORBIS_COMMENT</TT>.</LI>
- <LI>Óâåëè÷åíà ñêîðîñòü êîäèðîâàíèÿ ñ ïîñòîÿííûìè ïðåäèêòîðàìè, à òàêæå ñêîðîñòü âû÷èñëåíèÿ MD5 äëÿ 16-áèòíûõ ìîíî- è ñòåðåîñèãíàëîâ íà àðõèòåêòóðå x86 (ñïàñèáî Ìèðîñëàâó Ëè÷âàðó).</LI>
- <LI>Èñïðàâëåíà îøèáêà â èíòåðôåéñå ìåòàäàííûõ, èç-çà êîòîðîé èíôîðìàöèÿ î êîëè÷åñòâå áèòîâ íà ñýìïë â áëîêå STREAMINFO ñ÷èòûâàëàñü íåâåðíî.</LI>
- <LI>Èñïðàâëåíà îøèáêà, èç-çà êîòîðîé äåêîäåð ìîã âîéòè â áåñêîíå÷íûé öèêë ïðè îáðûâå ïîòîêà.</LI>
-</UL>
-
-</UL></BLOCKQUOTE></P>
-
-<P><LI><B>22.08.2002</B><BR>
-Ïîääåðæêà FLAC áûëà äîáàâëåíà â Rio Receiver è Dell Digital Audio Receiver ñ ïîìîùüþ êëèåíòà <A HREF="http://sourceforge.net/projects/rioplay/">RioPlay</A> Äýâèäà Ôëàóåðäýÿ. Ñì. <A HREF="http://rioreceiver.comms.net/php/showflat.php?Cat=&Board=Technical&Number=2262&page=0&view=collapsed&sb=5&o=0&fpart=">àíîíñ ïîëíîñòüþ</A>.</P>
-
-<P><LI><B>13.02.2002</B><BR>
-Ïåðâàÿ àïïàðàòíàÿ ðåàëèçàöèÿ FLAC. <A HREF="http://www.phatnoise.com/">Phatnoise</A> ñòàëà ïåðâîé êîììåð÷åñêîé àïïàðàòíîé ïëàòôîðìîé, ïîääåðæèâàþùåé FLAC. Äëÿ âîñïðîèçâåäåíèÿ FLAC ôàéëîâ ïëåéåðîì Phatbox âûïóùåíà ïðîøèâêà. Ïîäðîáíåå îá ýòîì ñìîòðèòå <A HREF="http://www.phatnoise.com/technology/encoding.php">çäåñü</A>.</P>
-
-<P><LI><B>03.12.2001</B><BR>
-Âûøëà âåðñèÿ <B>FLAC 1.0.2</B>. Ðåëèç ñäåëàí äëÿ èñïðàâëåíèÿ ïðîáëåìû, ïðèâîäÿùåé ê "ïàäåíèþ" ïëàãèíîâ. Îøèáêà òàêæå ìîãëà êàñàòüñÿ ïîëüçîâàòåëåé <B><TT>libFLAC</B></TT>, êîòîðûå èñïîëüçîâàëè îäèí ýêçåìïëÿð äåêîäåðà ôàéëîâ äëÿ íåñêîëüêèõ ôàéëîâ. Ïîäðîáíåå ñì. <A HREF="http://www.geocrawler.com/lists/3/SourceForge/7206/0/7231340">çäåñü</A>.</P>
-
-<P><LI><B>14.11.2001</B><BR>
-Âûøëà âåðñèÿ <B>FLAC 1.0.1</B>. Îñíîâíîé êîäåê íå áûë èçìåíåí, íî áûëè äîáàâëåíû íåñêîëüêî íîâûõ âîçìîæíîñòåé è èñïðàâëåíî íåñêîëüêî îøèáîê.</P>
-
-<P><BLOCKQUOTE><UL>
-
-<LI>Íîâûå âîçìîæíîñòè äëÿ ïîëüçîâàòåëåé:</LI>
-
-<UL>
-<LI>Ïîääåðæêà Ogg-FLAC, ò.å. <B><TT>flac</TT></B> òåïåðü ìîæåò ÷èòàòü è ñîçäàâàòü ïîòîêè ñ èñïîëüçîâàíèåì òðàíñïîðòíîãî óðîâíÿ Ogg.</LI>
-
-<LI>Íîâûé ïëàãèí äëÿ Winamp 3, îñíîâàííûé íà Wasabi Beta 1 SDK.</LI>
-
-<LI>Íîâûå óòèëèòû äëÿ ïîääåðæêè FLAC â Monkey Audio GUI; ñì. <A HREF="documentation.html#monkey">îïèñàíèå</A>.</LI>
-
-<LI>Ïîääåðæêà Mac OS X. Â ðàçäåëå <A HREF="download.html">ôàéëû</A> òåïåðü åñòü ñêîìïèëèðîâàííàÿ âåðñèÿ äëÿ OS X.</LI>
-
-<LI>Ïîääåðæêà Mingw32.</LI>
-
-<LI>Óëó÷øåíà îáðàáîòêà ñïåöèôè÷íûõ äëÿ MS 'fmt' çàãîëîâêîâ ôàéëîâ WAVE.</LI>
-</UL>
-
-<LI>Íîâûå âîçìîæíîñòè äëÿ ðàçðàáîò÷èêîâ:</LI>
-
-<UL>
-<LI>
-Äîáàâëåí óðîâåíü SeekableStreamDecoder ìåæäó StreamDecoder è FileDecoder. Ñ åãî ïîìîùüþ óäîáíåå èñïîëüçîâàòü áèáëèîòåêó <TT>libFLAC</TT> â ñèòóàöèÿõ, êîãäà íåîäîñòà÷íî èíôîðìàöèè î äåêîäèðóåìîì ôàéëå. Áîëëå ïîäðîáíî âñå îïèñàíî â ðàçäåëå <A HREF="../api/index.html">äîêóìåíòàöèÿ</A>. Èíòåðôåéñ äëÿ StreamDecoder è FileDecoder îñòàëñÿ ïðåæíèì è, ñîîòâåòñòâåííî, ñîõðàíèëàñü áèíàðíàÿ ñîâìåñòèìîñòü ñ libFLAC 1.0.</LI>
-
-<LI>Óìåíüøåí ðàçìåð ñòåêà íåîáõîäèìûé êîäåðó.</LI>
-</UL>
-
-<LI>Èñïðàâëåííûå îøèáêè:</LI>
-
-<UL>
-<LI>Ñóùåñòâåííàÿ îøèáêà ïðè êîäèðîâàíèè raw ââîäà, ïðèâîäÿùàÿ ê äîáàâëåíèþ 12 ëèøíèõ ñýìïëîâ ê ïîëó÷àåìîìó ôàéëó. Êîäèðîâàíèå èç WAVE ôàéëîâ ðàáîòàëî ïðàâèëüíî.</LI>
-
-<LI>Îøèáêà â <TT>libFLAC</TT>, ñâÿçàííàÿ ñ óñòàíîâêîé èìåíè ôàéëà â stdin â äåêîäåðå ôàéëîâ.</LI>
-
-<LI>Îøèáêà â <TT>libFLAC</TT>, âîçíèêàþùàÿ ïðè ìíîæåñòâåííûõ âûçîâàõ äëÿ óñòàíîâêè èìåíè ôàéëà è ïðèâîäÿùàÿ ê óòå÷êå ïàìÿòè.</LI>
-
-<LI><B><TT>metaflac</TT></B> ïðàâèëüíî ïðîïóñêàåò òåã id3v2.</LI>
-
-<LI><B><TT>metaflac</TT></B> ïðàâèëüíî ïðîïóñêàåò áîëüøèå áëîêè ìåòàäàííûõ.</LI>
-</UL>
-
-</UL></BLOCKQUOTE></P>
-
-
-<P><LI><B>20.07.2001</B><BR>
-Âûøëà âåðñèÿ <B>FLAC 1.0</B>! Äîáàâëåíî íåñêîëüêî íîâûõ âîçìîæíîñòåé, íî â îñíîâíîì èñïðàâëåíèÿ îøèáîê.</P>
-
-<P><BLOCKQUOTE><UL>
-
-<LI>Íîâàÿ îïöèÿ '<TT>--sector-align</TT>' ïîçâîëÿåò âûðàâíèâàòü ãðóïïó êîäèðóåìûõ àóäèîôàéëîâ íà ãðàíèöó ñåêòîðà â ôîðìàòå Audio-CD.</LI>
-
-<LI>Íîâàÿ îïöèÿ '<TT>--output-prefix</TT>' äîáàâëÿåò ïðåôèêñ êî âñåì âûõîäíûì èìåíàì ôàéëîâ (ïîëåçíî, íàïðèìåð, äëÿ ñîõðàíåíèÿ ðåçóëüòàòîâ ðàáîòû â äðóãîé êàòàëîã).</LI>
-
-<LI>Óëó÷øåííîå àâòîîïðåäåëåíèå WAVE (áîëüøå íå ïîëàãàåòñÿ íà ungetc()).</LI>
-
-<LI>Áîëåå ïîíÿòíàÿ ñòàòèñòèêà ïðè êîäèðîâàíèè/äåêîäèðîâàíèè.</LI>
-
-<LI>Èçìåíåíèÿ â èíòåðåôåéñå áèáëèîòåêè <TT>libFLAC</TT> äëÿ áîëåå ïðîñòîé ïîääåðæêè áèíàðíîé ñîâìåñòèìîñòè â áóäóùåì.</LI>
-
-<LI>Íîâàÿ îïöèÿ '<LI>--sse-os</LI>' â êîíôèãóðàöèîííîì ñêðèïòå äëÿ èñïîëüçîâàíèÿ áîëåå áûñòðûõ ïðîöåäóð, îñíîâàííûõ íà SSE.</LI>
-
-<LI>Åùå îäíî (íàäåþñü ïîñëåäíåå) èñïðàâëåíèå â ïëàãèíå äëÿ Winamp 2.</LI>
-
-<LI>Íåìíîãî óëó÷øåíà îöåíêà ïàðàìåòðà Ðàéñà.</LI>
-
-<LI>Èñïðàâëåíèå îøèáîê, âîçíèêàþùèõ â î÷åíü ðåäêèõ ñèòóàöèÿõ ïðè êîäèðîâàíèè.</LI>
-</UL></BLOCKQUOTE></P>
-
-
-<P><LI><B>07.06.2001</B></LI><BR>
-Âûøëà âåðñèÿ FLAC 0.10. Ñêîðåå âñåãî ýòî ïîñëåäíÿÿ áåòà âåðñèÿ. Çà ïîñëåäíèå äâà ìåñÿöà áûëî ñäåëàíî ìíîãî óëó÷øåíèé.</P>
-
-<P><BLOCKQUOTE><UL>
- <LI>Ñêîðîñòü ðàáîòû êîäåðà è äåêîäåðà çíà÷èòåëüíî âîçðîñëà. Îñíîâíûå ïðîöåäóðû íàïèñàíû íà àññåìáëåðå äëÿ IA-32.</LI>
-
- <LI>Äîáàâëåí áëîê ìåòàäàííûõ SEEKTABLE, ñîäåðæàùèé èíôîðìàöèþ, ïîçâîëÿþùóþ óñêîðèòü çíà÷èòåëüíî óñêîðèòü ïîèñê â ïîòîêå.</LI>
-
- <LI>Ìîäåëü ïîâåäåíèÿ <B><TT>flac</TT></B> òåïåðü àíàëîãè÷íà <B><TT>gzip</TT></B>.</LI>
-
- <LI>Îïöèè -# íàñòðîåíû äëÿ ïîëó÷åíèÿ íàèëó÷øåãî ñîîòíîøåíèÿ óðîâåíü/âðåìÿ ñæàòèÿ. Ïî óìîë÷åíèþ óñòàíîâëåíî çíà÷åíèå -5.</LI>
-
- <LI>Íåïîääåðæèâàåìûå áëîêè â WAVE-ôàéëå òåïåðü ïðîïóñêàþòñÿ ñ ïðåäóïðåæäåíèåì.</LI>
-
- <LI>Äîáàâëåíà îïöèÿ <TT>--delete-input-file</TT>, ïîçâîëÿþùàÿ óäàëÿòü âõîäíîé ôàéë ïîñëå óäà÷íîãî êîäèðîâàíèÿ/äåêîäèðîâàíèÿ.</LI>
-
- <LI>Èçìåíåí ïëàãèí äëÿ XMMS, ÷òîáû íîðìàëüíî ðàáîòàëà âèçóàëèçàöèÿ.</LI>
-
- <LI>Èñïðàâëåíà îøèáêà, âîçíèêàþùàÿ â ïîòîêîâîì äåêîäåðå ïîñëå ïîèñêà.</LI>
-</UL></BLOCKQUOTE></P>
-
-
-<P><LI><B>31.03.2001</B></LI><BR>
-Âûøëà âåðñèÿ 0.9. Èñïðàâëåíû ïëàãèíû äëÿ Winamp è XMMS. Èçìåíåí ôîðìàò (íàäåþñü, ïîñëåäíèé ðàç). Ïîòåðÿíà ñîâìåñòèìîñòü ñî âñåìè ïðåäûäóùèìè âåðñèÿìè.</P>
-
-
-<P><LI><B>24.03.2001</B></LI><BR>
-Áëèçèòñÿ âûõîä âåðñèè 0.9, â êîòîðîé äîëæåí áûòü èñïðàâëåí ïëàãèí äëÿ Winamp. Äæîø îáðàòèëñÿ ÷åðåç ñïèñîê ðàññûëêè, ÷òîáû ïîñëå âûõîäà ýòîé âåðñèè ê íåìó îáðàòèëèñü ñ ïîæåëàíèÿìè (îñîáåííî ðàäèêàëüíûìè, êîòîðûå ìîãóò êîñíóòüñÿ ôîðìàòà).</P>
-
-
-<P><LI><B>21.03.2001</B></LI><BR>
-Òåêóùàÿ âåðñèÿ FLAC - 0.8. Íà÷àò ïåðåâîä äîêóìåíòàöèè.</P>
-
-
-<P><LI><B>10.12.2000</B></LI><BR>
-FLAC âûëîæåí íà SourceForge. Ïîñåòèòå <A HREF="http://www.sourceforge.net/projects/flac/">ñòðàíèöó</A> ïðîåêòà, ÷òîáû ïîäïèñàòüñÿ íà ñïèñîê ðàñûëêè èëè ñòàòü ðàçðàáîò÷èêîì.</P>
-
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson</P>
-
-</BODY>
-</HTML>
diff --git a/3rdparty/libflac/examples/CMakeLists.txt b/3rdparty/libflac/examples/CMakeLists.txt
new file mode 100644
index 00000000000..ed18e3b1a23
--- /dev/null
+++ b/3rdparty/libflac/examples/CMakeLists.txt
@@ -0,0 +1,7 @@
+add_subdirectory("c/decode/file")
+add_subdirectory("c/encode/file")
+
+if(BUILD_CXXLIBS)
+ add_subdirectory("cpp/decode/file")
+ add_subdirectory("cpp/encode/file")
+endif()
diff --git a/3rdparty/libflac/examples/Makefile.am b/3rdparty/libflac/examples/Makefile.am
index 64a49f3c06a..18b844fa4a2 100644
--- a/3rdparty/libflac/examples/Makefile.am
+++ b/3rdparty/libflac/examples/Makefile.am
@@ -1,8 +1,9 @@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -22,6 +23,5 @@ endif
SUBDIRS = c $(CPPLIBS_DIRS)
EXTRA_DIST = \
- examples.dsp \
- Makefile.lite \
+ CMakeLists.txt \
README
diff --git a/3rdparty/libflac/examples/Makefile.in b/3rdparty/libflac/examples/Makefile.in
index 103a33387f4..8a09eb269b2 100644
--- a/3rdparty/libflac/examples/Makefile.in
+++ b/3rdparty/libflac/examples/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,10 +15,11 @@
@SET_MAKE@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -30,17 +31,67 @@
# it may be distributed under the Xiph.Org license, which is the least
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,114 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = examples
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+DIST_SUBDIRS = c cpp
+am__DIST_COMMON = $(srcdir)/Makefile.in README
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,190 +219,181 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
@FLaC__WITH_CPPLIBS_TRUE@CPPLIBS_DIRS = cpp
-
SUBDIRS = c $(CPPLIBS_DIRS)
-
EXTRA_DIST = \
- examples.dsp \
- Makefile.lite \
+ CMakeLists.txt \
README
-subdir = examples
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = README $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = c cpp
all: all-recursive
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign examples/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -257,21 +401,26 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -279,152 +428,131 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
+ empty_fix=.; \
else \
include_option=--include; \
+ empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -434,7 +562,6 @@ check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
-
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@@ -445,16 +572,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -465,25 +598,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
+html: html-recursive
+
+html-am:
+
info: info-recursive
info-am:
install-data-am:
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-recursive
+
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -502,26 +656,25 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/examples/Makefile.lite b/3rdparty/libflac/examples/Makefile.lite
deleted file mode 100644
index abfe657e37a..00000000000
--- a/3rdparty/libflac/examples/Makefile.lite
+++ /dev/null
@@ -1,49 +0,0 @@
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-.PHONY: all example_c_decode_file example_c_encode_file example_cpp_decode_file example_cpp_encode_file
-all: example_c_decode_file example_c_encode_file example_cpp_decode_file example_cpp_encode_file
-
-DEFAULT_CONFIG = release
-
-CONFIG = $(DEFAULT_CONFIG)
-
-debug : CONFIG = debug
-valgrind: CONFIG = valgrind
-release : CONFIG = release
-
-debug : all
-valgrind: all
-release : all
-
-example_c_decode_file:
- (cd c/decode/file && $(MAKE) -f Makefile.lite $(CONFIG))
-
-example_c_encode_file:
- (cd c/encode/file && $(MAKE) -f Makefile.lite $(CONFIG))
-
-example_cpp_decode_file:
- (cd cpp/decode/file && $(MAKE) -f Makefile.lite $(CONFIG))
-
-example_cpp_encode_file:
- (cd cpp/encode/file && $(MAKE) -f Makefile.lite $(CONFIG))
-
-clean:
- -(cd c/decode/file && $(MAKE) -f Makefile.lite clean)
- -(cd c/encode/file && $(MAKE) -f Makefile.lite clean)
- -(cd cpp/decode/file && $(MAKE) -f Makefile.lite clean)
- -(cd cpp/encode/file && $(MAKE) -f Makefile.lite clean)
diff --git a/3rdparty/libflac/examples/README b/3rdparty/libflac/examples/README
index 0c51ff9755c..2da7bd6ded5 100644
--- a/3rdparty/libflac/examples/README
+++ b/3rdparty/libflac/examples/README
@@ -3,7 +3,7 @@ ways.
The "c" directory has programs that are all in C and use libFLAC.
-The "cpp" directory has analogous programs that are all in C++ and use libFLAC++.
+The "cpp" directory has analogous programs that are all in C++ and use libFLAC++.
The programs are:
c/decode/file/ - example_c_decode_file - Simple FLAC file decoder using libFLAC
diff --git a/3rdparty/libflac/examples/c/Makefile.am b/3rdparty/libflac/examples/c/Makefile.am
index b88dca6890e..ced8f8ede57 100644
--- a/3rdparty/libflac/examples/c/Makefile.am
+++ b/3rdparty/libflac/examples/c/Makefile.am
@@ -1,8 +1,9 @@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
diff --git a/3rdparty/libflac/examples/c/Makefile.in b/3rdparty/libflac/examples/c/Makefile.in
index 46ffc6a9208..a3f4f310ca2 100644
--- a/3rdparty/libflac/examples/c/Makefile.in
+++ b/3rdparty/libflac/examples/c/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,10 +15,11 @@
@SET_MAKE@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -30,17 +31,67 @@
# it may be distributed under the Xiph.Org license, which is the least
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,114 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = examples/c
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,182 +219,176 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
SUBDIRS = decode encode
-subdir = examples/c
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/c/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/c/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign examples/c/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -249,21 +396,26 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -271,152 +423,131 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
+ empty_fix=.; \
else \
include_option=--include; \
+ empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -426,7 +557,6 @@ check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
-
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@@ -437,16 +567,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -457,25 +593,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
+html: html-recursive
+
+html-am:
+
info: info-recursive
info-am:
install-data-am:
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-recursive
+
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -494,26 +651,25 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/examples/c/decode/Makefile.am b/3rdparty/libflac/examples/c/decode/Makefile.am
index 35bb987b0c7..3c9499cbca9 100644
--- a/3rdparty/libflac/examples/c/decode/Makefile.am
+++ b/3rdparty/libflac/examples/c/decode/Makefile.am
@@ -1,8 +1,9 @@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
diff --git a/3rdparty/libflac/examples/c/decode/Makefile.in b/3rdparty/libflac/examples/c/decode/Makefile.in
index 0d730a79faa..e5c24f69092 100644
--- a/3rdparty/libflac/examples/c/decode/Makefile.in
+++ b/3rdparty/libflac/examples/c/decode/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,10 +15,11 @@
@SET_MAKE@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -30,17 +31,67 @@
# it may be distributed under the Xiph.Org license, which is the least
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,114 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = examples/c/decode
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,182 +219,176 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
SUBDIRS = file
-subdir = examples/c/decode
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/c/decode/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/c/decode/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign examples/c/decode/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -249,21 +396,26 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -271,152 +423,131 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
+ empty_fix=.; \
else \
include_option=--include; \
+ empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -426,7 +557,6 @@ check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
-
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@@ -437,16 +567,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -457,25 +593,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
+html: html-recursive
+
+html-am:
+
info: info-recursive
info-am:
install-data-am:
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-recursive
+
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -494,26 +651,25 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/examples/c/decode/file/CMakeLists.txt b/3rdparty/libflac/examples/c/decode/file/CMakeLists.txt
new file mode 100644
index 00000000000..53a299182d2
--- /dev/null
+++ b/3rdparty/libflac/examples/c/decode/file/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_executable(decode_file main.c)
+target_link_libraries(decode_file FLAC)
diff --git a/3rdparty/libflac/examples/c/decode/file/Makefile.am b/3rdparty/libflac/examples/c/decode/file/Makefile.am
index eb18ceb5412..b74a782bcaa 100644
--- a/3rdparty/libflac/examples/c/decode/file/Makefile.am
+++ b/3rdparty/libflac/examples/c/decode/file/Makefile.am
@@ -1,29 +1,29 @@
# example_c_decode_file - Simple FLAC file decoder using libFLAC
-# Copyright (C) 2007 Josh Coalson
-#
+# Copyright (C) 2007-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
+#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
-#
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
EXTRA_DIST = \
- Makefile.lite \
- example_c_decode_file.dsp \
- example_c_decode_file.vcproj
+ CMakeLists.txt
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
noinst_PROGRAMS = example_c_decode_file
example_c_decode_file_LDADD = \
- $(top_builddir)/src/libFLAC/libFLAC.la \
- @OGG_LIBS@ \
- @MINGW_WINSOCK_LIBS@ \
- -lm
+ $(top_builddir)/src/libFLAC/libFLAC.la
+
example_c_decode_file_SOURCES = main.c
+
+CLEANFILES = example_c_decode_file.exe
diff --git a/3rdparty/libflac/examples/c/decode/file/Makefile.in b/3rdparty/libflac/examples/c/decode/file/Makefile.in
index 07b26cefe9c..2e801628f0b 100644
--- a/3rdparty/libflac/examples/c/decode/file/Makefile.in
+++ b/3rdparty/libflac/examples/c/decode/file/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,32 +15,84 @@
@SET_MAKE@
# example_c_decode_file - Simple FLAC file decoder using libFLAC
-# Copyright (C) 2007 Josh Coalson
-#
+# Copyright (C) 2007-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
+#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
-#
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +104,105 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+noinst_PROGRAMS = example_c_decode_file$(EXEEXT)
+subdir = examples/c/decode/file
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_example_c_decode_file_OBJECTS = main.$(OBJEXT)
+example_c_decode_file_OBJECTS = $(am_example_c_decode_file_OBJECTS)
+example_c_decode_file_DEPENDENCIES = \
+ $(top_builddir)/src/libFLAC/libFLAC.la
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/main.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(example_c_decode_file_SOURCES)
+DIST_SOURCES = $(example_c_decode_file_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,262 +211,236 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
EXTRA_DIST = \
- Makefile.lite \
- example_c_decode_file.dsp \
- example_c_decode_file.vcproj
+ CMakeLists.txt
-
-noinst_PROGRAMS = example_c_decode_file
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
example_c_decode_file_LDADD = \
- $(top_builddir)/src/libFLAC/libFLAC.la \
- @OGG_LIBS@ \
- @MINGW_WINSOCK_LIBS@ \
- -lm
-
-example_c_decode_file_SOURCES = main.c
-subdir = examples/c/decode/file
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-noinst_PROGRAMS = example_c_decode_file$(EXEEXT)
-PROGRAMS = $(noinst_PROGRAMS)
-
-am_example_c_decode_file_OBJECTS = main.$(OBJEXT)
-example_c_decode_file_OBJECTS = $(am_example_c_decode_file_OBJECTS)
-example_c_decode_file_DEPENDENCIES = \
$(top_builddir)/src/libFLAC/libFLAC.la
-example_c_decode_file_LDFLAGS =
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/main.Po
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(example_c_decode_file_SOURCES)
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(example_c_decode_file_SOURCES)
+example_c_decode_file_SOURCES = main.c
+CLEANFILES = example_c_decode_file.exe
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/c/decode/file/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/c/decode/file/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign examples/c/decode/file/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-example_c_decode_file$(EXEEXT): $(example_c_decode_file_OBJECTS) $(example_c_decode_file_DEPENDENCIES)
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+example_c_decode_file$(EXEEXT): $(example_c_decode_file_OBJECTS) $(example_c_decode_file_DEPENDENCIES) $(EXTRA_example_c_decode_file_DEPENDENCIES)
@rm -f example_c_decode_file$(EXEEXT)
- $(LINK) $(example_c_decode_file_LDFLAGS) $(example_c_decode_file_OBJECTS) $(example_c_decode_file_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(example_c_decode_file_OBJECTS) $(example_c_decode_file_LDADD) $(LIBS)
mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
+ -rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -329,99 +448,93 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
-
installdirs:
install: install-am
install-exec: install-exec-am
@@ -433,16 +546,23 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -453,31 +573,53 @@ clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/main.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/main.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -494,18 +636,26 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
- pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/examples/c/decode/file/Makefile.lite b/3rdparty/libflac/examples/c/decode/file/Makefile.lite
deleted file mode 100644
index e5070c12d66..00000000000
--- a/3rdparty/libflac/examples/c/decode/file/Makefile.lite
+++ /dev/null
@@ -1,39 +0,0 @@
-# example_c_decode_file - Simple FLAC file decoder using libFLAC
-# Copyright (C) 2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#
-# GNU makefile
-#
-
-topdir = ../../../..
-libdir = $(topdir)/obj/$(BUILD)/lib
-
-PROGRAM_NAME = example_c_decode_file
-
-INCLUDES = -I$(topdir)/include
-
-ifeq ($(DARWIN_BUILD),yes)
-EXPLICIT_LIBS = $(libdir)/libFLAC.a $(OGG_LIB_DIR)/libogg.a -lm
-else
-LIBS = -lFLAC -L$(OGG_LIB_DIR) -logg -lm
-endif
-
-SRCS_C = main.c
-
-include $(topdir)/build/exe.mk
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/examples/c/decode/file/example_c_decode_file.dsp b/3rdparty/libflac/examples/c/decode/file/example_c_decode_file.dsp
deleted file mode 100644
index d4c4d284216..00000000000
--- a/3rdparty/libflac/examples/c/decode/file/example_c_decode_file.dsp
+++ /dev/null
@@ -1,100 +0,0 @@
-# Microsoft Developer Studio Project File - Name="example_c_decode_file" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=example_c_decode_file - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "example_c_decode_file.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "example_c_decode_file.mak" CFG="example_c_decode_file - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "example_c_decode_file - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "example_c_decode_file - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "example_c_decode_file - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\obj\release\bin"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\..\..\include" /D "NDEBUG" /D "FLAC__NO_DLL" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\obj\release\lib\libFLAC_static.lib ..\..\..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "example_c_decode_file - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\obj\debug\bin"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\..\include" /D "_DEBUG" /D "DEBUG" /D "FLAC__NO_DLL" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\obj\debug\lib\libFLAC_static.lib ..\..\..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "example_c_decode_file - Win32 Release"
-# Name "example_c_decode_file - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\main.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/examples/c/decode/file/example_c_decode_file.vcproj b/3rdparty/libflac/examples/c/decode/file/example_c_decode_file.vcproj
deleted file mode 100644
index dc338fc27a1..00000000000
--- a/3rdparty/libflac/examples/c/decode/file/example_c_decode_file.vcproj
+++ /dev/null
@@ -1,204 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="example_c_decode_file"
- ProjectGUID="{4cefbd00-c215-11db-8314-0800200c9a66}"
- RootNamespace="example_c_decode_file"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\..\..\obj\debug\bin"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="2"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\..\..\obj\release\bin"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="..\..\..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="1"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{39992580-89DB-4b41-8E8B-625F9E28BEBF}"
- >
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC727F1-C7A5-1376-A061-2AF2D742A2F0}"
- >
- <File
- RelativePath=".\main.c"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/examples/c/decode/file/main.c b/3rdparty/libflac/examples/c/decode/file/main.c
index 20fafa2071c..009b0d721d2 100644
--- a/3rdparty/libflac/examples/c/decode/file/main.c
+++ b/3rdparty/libflac/examples/c/decode/file/main.c
@@ -1,5 +1,6 @@
/* example_c_decode_file - Simple FLAC file decoder using libFLAC
- * Copyright (C) 2007 Josh Coalson
+ * Copyright (C) 2007-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/*
@@ -21,15 +22,16 @@
* file. It only supports 16-bit stereo files.
*
* Complete API documentation can be found at:
- * http://flac.sourceforge.net/api/
+ * http://xiph.org/flac/api/
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdio.h>
#include <stdlib.h>
+#include "share/compat.h"
#include "FLAC/stream_decoder.h"
static FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data);
@@ -123,6 +125,18 @@ FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder
fprintf(stderr, "ERROR: this example only supports 16bit stereo streams\n");
return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
}
+ if(frame->header.channels != 2) {
+ fprintf(stderr, "ERROR: This frame contains %u channels (should be 2)\n", frame->header.channels);
+ return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
+ }
+ if(buffer [0] == NULL) {
+ fprintf(stderr, "ERROR: buffer [0] is NULL\n");
+ return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
+ }
+ if(buffer [1] == NULL) {
+ fprintf(stderr, "ERROR: buffer [1] is NULL\n");
+ return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
+ }
/* write WAVE header before we write the first frame */
if(frame->header.number.sample_number == 0) {
@@ -174,11 +188,7 @@ void metadata_callback(const FLAC__StreamDecoder *decoder, const FLAC__StreamMet
fprintf(stderr, "sample rate : %u Hz\n", sample_rate);
fprintf(stderr, "channels : %u\n", channels);
fprintf(stderr, "bits per sample: %u\n", bps);
-#ifdef _MSC_VER
- fprintf(stderr, "total samples : %I64u\n", total_samples);
-#else
- fprintf(stderr, "total samples : %llu\n", total_samples);
-#endif
+ fprintf(stderr, "total samples : %" PRIu64 "\n", total_samples);
}
}
diff --git a/3rdparty/libflac/examples/c/encode/Makefile.am b/3rdparty/libflac/examples/c/encode/Makefile.am
index 35bb987b0c7..3c9499cbca9 100644
--- a/3rdparty/libflac/examples/c/encode/Makefile.am
+++ b/3rdparty/libflac/examples/c/encode/Makefile.am
@@ -1,8 +1,9 @@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
diff --git a/3rdparty/libflac/examples/c/encode/Makefile.in b/3rdparty/libflac/examples/c/encode/Makefile.in
index b7a3383387d..bc7ce7d0fad 100644
--- a/3rdparty/libflac/examples/c/encode/Makefile.in
+++ b/3rdparty/libflac/examples/c/encode/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,10 +15,11 @@
@SET_MAKE@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -30,17 +31,67 @@
# it may be distributed under the Xiph.Org license, which is the least
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,114 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = examples/c/encode
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,182 +219,176 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
SUBDIRS = file
-subdir = examples/c/encode
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/c/encode/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/c/encode/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign examples/c/encode/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -249,21 +396,26 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -271,152 +423,131 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
+ empty_fix=.; \
else \
include_option=--include; \
+ empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -426,7 +557,6 @@ check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
-
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@@ -437,16 +567,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -457,25 +593,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
+html: html-recursive
+
+html-am:
+
info: info-recursive
info-am:
install-data-am:
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-recursive
+
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -494,26 +651,25 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/examples/c/encode/file/CMakeLists.txt b/3rdparty/libflac/examples/c/encode/file/CMakeLists.txt
new file mode 100644
index 00000000000..4b7d4c2cad7
--- /dev/null
+++ b/3rdparty/libflac/examples/c/encode/file/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_executable(encode_file main.c)
+target_link_libraries(encode_file FLAC)
diff --git a/3rdparty/libflac/examples/c/encode/file/Makefile.am b/3rdparty/libflac/examples/c/encode/file/Makefile.am
index be98e85598f..1771f7c1213 100644
--- a/3rdparty/libflac/examples/c/encode/file/Makefile.am
+++ b/3rdparty/libflac/examples/c/encode/file/Makefile.am
@@ -1,29 +1,31 @@
# example_c_encode_file - Simple FLAC file encoder using libFLAC
-# Copyright (C) 2007 Josh Coalson
-#
+# Copyright (C) 2007-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
+#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
-#
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
EXTRA_DIST = \
- Makefile.lite \
- example_c_encode_file.dsp \
- example_c_encode_file.vcproj
+ CMakeLists.txt
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
noinst_PROGRAMS = example_c_encode_file
example_c_encode_file_LDADD = \
$(top_builddir)/src/libFLAC/libFLAC.la \
@OGG_LIBS@ \
- @MINGW_WINSOCK_LIBS@ \
-lm
+
example_c_encode_file_SOURCES = main.c
+
+CLEANFILES = example_c_encode_file.exe
diff --git a/3rdparty/libflac/examples/c/encode/file/Makefile.in b/3rdparty/libflac/examples/c/encode/file/Makefile.in
index b2a870d4f9b..2cd7674dcd4 100644
--- a/3rdparty/libflac/examples/c/encode/file/Makefile.in
+++ b/3rdparty/libflac/examples/c/encode/file/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,32 +15,84 @@
@SET_MAKE@
# example_c_encode_file - Simple FLAC file encoder using libFLAC
-# Copyright (C) 2007 Josh Coalson
-#
+# Copyright (C) 2007-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
+#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
-#
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +104,105 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+noinst_PROGRAMS = example_c_encode_file$(EXEEXT)
+subdir = examples/c/encode/file
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_example_c_encode_file_OBJECTS = main.$(OBJEXT)
+example_c_encode_file_OBJECTS = $(am_example_c_encode_file_OBJECTS)
+example_c_encode_file_DEPENDENCIES = \
+ $(top_builddir)/src/libFLAC/libFLAC.la
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/main.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(example_c_encode_file_SOURCES)
+DIST_SOURCES = $(example_c_encode_file_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,262 +211,238 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
EXTRA_DIST = \
- Makefile.lite \
- example_c_encode_file.dsp \
- example_c_encode_file.vcproj
+ CMakeLists.txt
-
-noinst_PROGRAMS = example_c_encode_file
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
example_c_encode_file_LDADD = \
$(top_builddir)/src/libFLAC/libFLAC.la \
@OGG_LIBS@ \
- @MINGW_WINSOCK_LIBS@ \
-lm
example_c_encode_file_SOURCES = main.c
-subdir = examples/c/encode/file
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-noinst_PROGRAMS = example_c_encode_file$(EXEEXT)
-PROGRAMS = $(noinst_PROGRAMS)
-
-am_example_c_encode_file_OBJECTS = main.$(OBJEXT)
-example_c_encode_file_OBJECTS = $(am_example_c_encode_file_OBJECTS)
-example_c_encode_file_DEPENDENCIES = \
- $(top_builddir)/src/libFLAC/libFLAC.la
-example_c_encode_file_LDFLAGS =
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/main.Po
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(example_c_encode_file_SOURCES)
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(example_c_encode_file_SOURCES)
-
+CLEANFILES = example_c_encode_file.exe
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/c/encode/file/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/c/encode/file/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign examples/c/encode/file/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-example_c_encode_file$(EXEEXT): $(example_c_encode_file_OBJECTS) $(example_c_encode_file_DEPENDENCIES)
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+example_c_encode_file$(EXEEXT): $(example_c_encode_file_OBJECTS) $(example_c_encode_file_DEPENDENCIES) $(EXTRA_example_c_encode_file_DEPENDENCIES)
@rm -f example_c_encode_file$(EXEEXT)
- $(LINK) $(example_c_encode_file_LDFLAGS) $(example_c_encode_file_OBJECTS) $(example_c_encode_file_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(example_c_encode_file_OBJECTS) $(example_c_encode_file_LDADD) $(LIBS)
mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
+ -rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -329,99 +450,93 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
-
installdirs:
install: install-am
install-exec: install-exec-am
@@ -433,16 +548,23 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -453,31 +575,53 @@ clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/main.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/main.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -494,18 +638,26 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
- pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/examples/c/encode/file/Makefile.lite b/3rdparty/libflac/examples/c/encode/file/Makefile.lite
deleted file mode 100644
index d8be3269ae5..00000000000
--- a/3rdparty/libflac/examples/c/encode/file/Makefile.lite
+++ /dev/null
@@ -1,39 +0,0 @@
-# example_c_encode_file - Simple FLAC file encoder using libFLAC
-# Copyright (C) 2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#
-# GNU makefile
-#
-
-topdir = ../../../..
-libdir = $(topdir)/obj/$(BUILD)/lib
-
-PROGRAM_NAME = example_c_encode_file
-
-INCLUDES = -I$(topdir)/include
-
-ifeq ($(DARWIN_BUILD),yes)
-EXPLICIT_LIBS = $(libdir)/libFLAC.a $(OGG_LIB_DIR)/libogg.a -lm
-else
-LIBS = -lFLAC -L$(OGG_LIB_DIR) -logg -lm
-endif
-
-SRCS_C = main.c
-
-include $(topdir)/build/exe.mk
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/examples/c/encode/file/example_c_encode_file.dsp b/3rdparty/libflac/examples/c/encode/file/example_c_encode_file.dsp
deleted file mode 100644
index 6d31a947e01..00000000000
--- a/3rdparty/libflac/examples/c/encode/file/example_c_encode_file.dsp
+++ /dev/null
@@ -1,100 +0,0 @@
-# Microsoft Developer Studio Project File - Name="example_c_encode_file" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=example_c_encode_file - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "example_c_encode_file.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "example_c_encode_file.mak" CFG="example_c_encode_file - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "example_c_encode_file - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "example_c_encode_file - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "example_c_encode_file - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\obj\release\bin"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\..\..\include" /D "NDEBUG" /D "FLAC__NO_DLL" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\obj\release\lib\libFLAC_static.lib ..\..\..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "example_c_encode_file - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\obj\debug\bin"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\..\include" /D "_DEBUG" /D "DEBUG" /D "FLAC__NO_DLL" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\obj\debug\lib\libFLAC_static.lib ..\..\..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "example_c_encode_file - Win32 Release"
-# Name "example_c_encode_file - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\main.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/examples/c/encode/file/example_c_encode_file.vcproj b/3rdparty/libflac/examples/c/encode/file/example_c_encode_file.vcproj
deleted file mode 100644
index 8a45a4dab2d..00000000000
--- a/3rdparty/libflac/examples/c/encode/file/example_c_encode_file.vcproj
+++ /dev/null
@@ -1,204 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="example_c_encode_file"
- ProjectGUID="{4cefbd01-c215-11db-8314-0800200c9a66}"
- RootNamespace="example_c_encode_file"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\..\..\obj\debug\bin"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="2"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\..\..\obj\release\bin"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="..\..\..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="1"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{39992580-89DB-4b41-8E8B-625F9E28BEBF}"
- >
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC727F1-C7A5-1376-A061-2AF2D742A2F0}"
- >
- <File
- RelativePath=".\main.c"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/examples/c/encode/file/main.c b/3rdparty/libflac/examples/c/encode/file/main.c
index d1037e3e894..22532aba624 100644
--- a/3rdparty/libflac/examples/c/encode/file/main.c
+++ b/3rdparty/libflac/examples/c/encode/file/main.c
@@ -1,5 +1,6 @@
/* example_c_encode_file - Simple FLAC file encoder using libFLAC
- * Copyright (C) 2007 Josh Coalson
+ * Copyright (C) 2007-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/*
@@ -21,16 +22,17 @@
* file. It only supports 16-bit stereo files in canonical WAVE format.
*
* Complete API documentation can be found at:
- * http://flac.sourceforge.net/api/
+ * http://xiph.org/flac/api/
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include "share/compat.h"
#include "FLAC/metadata.h"
#include "FLAC/stream_encoder.h"
@@ -79,7 +81,7 @@ int main(int argc, char *argv[])
channels = 2;
bps = 16;
total_samples = (((((((unsigned)buffer[43] << 8) | buffer[42]) << 8) | buffer[41]) << 8) | buffer[40]) / 4;
-
+
/* allocate the encoder */
if((encoder = FLAC__stream_encoder_new()) == NULL) {
fprintf(stderr, "ERROR: allocating encoder\n");
@@ -107,11 +109,13 @@ int main(int argc, char *argv[])
) {
fprintf(stderr, "ERROR: out of memory or tag error\n");
ok = false;
- }
+ } else {
- metadata[1]->length = 1234; /* set the padding length */
+ metadata[1]->length = 1234; /* set the padding length */
- ok = FLAC__stream_encoder_set_metadata(encoder, metadata, 2);
+ ok = FLAC__stream_encoder_set_metadata(encoder, metadata, 2);
+
+ }
}
/* initialize encoder */
@@ -165,9 +169,5 @@ void progress_callback(const FLAC__StreamEncoder *encoder, FLAC__uint64 bytes_wr
{
(void)encoder, (void)client_data;
-#ifdef _MSC_VER
- fprintf(stderr, "wrote %I64u bytes, %I64u/%u samples, %u/%u frames\n", bytes_written, samples_written, total_samples, frames_written, total_frames_estimate);
-#else
- fprintf(stderr, "wrote %llu bytes, %llu/%u samples, %u/%u frames\n", bytes_written, samples_written, total_samples, frames_written, total_frames_estimate);
-#endif
+ fprintf(stderr, "wrote %" PRIu64 " bytes, %" PRIu64 "/%u samples, %u/%u frames\n", bytes_written, samples_written, total_samples, frames_written, total_frames_estimate);
}
diff --git a/3rdparty/libflac/examples/cpp/Makefile.am b/3rdparty/libflac/examples/cpp/Makefile.am
index b88dca6890e..ced8f8ede57 100644
--- a/3rdparty/libflac/examples/cpp/Makefile.am
+++ b/3rdparty/libflac/examples/cpp/Makefile.am
@@ -1,8 +1,9 @@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
diff --git a/3rdparty/libflac/examples/cpp/Makefile.in b/3rdparty/libflac/examples/cpp/Makefile.in
index 3e104e8bbff..290613c814a 100644
--- a/3rdparty/libflac/examples/cpp/Makefile.in
+++ b/3rdparty/libflac/examples/cpp/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,10 +15,11 @@
@SET_MAKE@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -30,17 +31,67 @@
# it may be distributed under the Xiph.Org license, which is the least
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,114 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = examples/cpp
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,182 +219,176 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
SUBDIRS = decode encode
-subdir = examples/cpp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/cpp/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/cpp/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign examples/cpp/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -249,21 +396,26 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -271,152 +423,131 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
+ empty_fix=.; \
else \
include_option=--include; \
+ empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -426,7 +557,6 @@ check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
-
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@@ -437,16 +567,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -457,25 +593,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
+html: html-recursive
+
+html-am:
+
info: info-recursive
info-am:
install-data-am:
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-recursive
+
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -494,26 +651,25 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/examples/cpp/decode/Makefile.am b/3rdparty/libflac/examples/cpp/decode/Makefile.am
index 35bb987b0c7..3c9499cbca9 100644
--- a/3rdparty/libflac/examples/cpp/decode/Makefile.am
+++ b/3rdparty/libflac/examples/cpp/decode/Makefile.am
@@ -1,8 +1,9 @@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
diff --git a/3rdparty/libflac/examples/cpp/decode/Makefile.in b/3rdparty/libflac/examples/cpp/decode/Makefile.in
index 16c5cee7b7f..8e4b7619260 100644
--- a/3rdparty/libflac/examples/cpp/decode/Makefile.in
+++ b/3rdparty/libflac/examples/cpp/decode/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,10 +15,11 @@
@SET_MAKE@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -30,17 +31,67 @@
# it may be distributed under the Xiph.Org license, which is the least
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,114 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = examples/cpp/decode
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,182 +219,176 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
SUBDIRS = file
-subdir = examples/cpp/decode
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/cpp/decode/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/cpp/decode/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign examples/cpp/decode/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -249,21 +396,26 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -271,152 +423,131 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
+ empty_fix=.; \
else \
include_option=--include; \
+ empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -426,7 +557,6 @@ check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
-
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@@ -437,16 +567,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -457,25 +593,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
+html: html-recursive
+
+html-am:
+
info: info-recursive
info-am:
install-data-am:
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-recursive
+
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -494,26 +651,25 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/examples/cpp/decode/file/CMakeLists.txt b/3rdparty/libflac/examples/cpp/decode/file/CMakeLists.txt
new file mode 100644
index 00000000000..2ce420d72bc
--- /dev/null
+++ b/3rdparty/libflac/examples/cpp/decode/file/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_executable(decode_file_cxx main.cpp)
+target_link_libraries(decode_file_cxx FLAC++)
diff --git a/3rdparty/libflac/examples/cpp/decode/file/Makefile.am b/3rdparty/libflac/examples/cpp/decode/file/Makefile.am
index a0d3dbf95ea..ff608530899 100644
--- a/3rdparty/libflac/examples/cpp/decode/file/Makefile.am
+++ b/3rdparty/libflac/examples/cpp/decode/file/Makefile.am
@@ -1,30 +1,32 @@
# example_cpp_decode_file - Simple FLAC file decoder using libFLAC
-# Copyright (C) 2007 Josh Coalson
-#
+# Copyright (C) 2007-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
+#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
-#
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
EXTRA_DIST = \
- Makefile.lite \
- example_cpp_decode_file.dsp \
- example_cpp_decode_file.vcproj
+ CMakeLists.txt
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
noinst_PROGRAMS = example_cpp_decode_file
example_cpp_decode_file_LDADD = \
$(top_builddir)/src/libFLAC++/libFLAC++.la \
$(top_builddir)/src/libFLAC/libFLAC.la \
@OGG_LIBS@ \
- @MINGW_WINSOCK_LIBS@ \
-lm
+
example_cpp_decode_file_SOURCES = main.cpp
+
+CLEANFILES = example_cpp_decode_file.exe
diff --git a/3rdparty/libflac/examples/cpp/decode/file/Makefile.in b/3rdparty/libflac/examples/cpp/decode/file/Makefile.in
index 4c768cec7b5..083d8416a7d 100644
--- a/3rdparty/libflac/examples/cpp/decode/file/Makefile.in
+++ b/3rdparty/libflac/examples/cpp/decode/file/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,32 +15,84 @@
@SET_MAKE@
# example_cpp_decode_file - Simple FLAC file decoder using libFLAC
-# Copyright (C) 2007 Josh Coalson
-#
+# Copyright (C) 2007-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
+#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
-#
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +104,107 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+noinst_PROGRAMS = example_cpp_decode_file$(EXEEXT)
+subdir = examples/cpp/decode/file
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_example_cpp_decode_file_OBJECTS = main.$(OBJEXT)
+example_cpp_decode_file_OBJECTS = \
+ $(am_example_cpp_decode_file_OBJECTS)
+example_cpp_decode_file_DEPENDENCIES = \
+ $(top_builddir)/src/libFLAC++/libFLAC++.la \
+ $(top_builddir)/src/libFLAC/libFLAC.la
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/main.Po
+am__mv = mv -f
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_@AM_V@)
+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
+am__v_CXX_0 = @echo " CXX " $@;
+am__v_CXX_1 =
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo " CXXLD " $@;
+am__v_CXXLD_1 =
+SOURCES = $(example_cpp_decode_file_SOURCES)
+DIST_SOURCES = $(example_cpp_decode_file_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,265 +213,239 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
EXTRA_DIST = \
- Makefile.lite \
- example_cpp_decode_file.dsp \
- example_cpp_decode_file.vcproj
-
+ CMakeLists.txt
-noinst_PROGRAMS = example_cpp_decode_file
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
example_cpp_decode_file_LDADD = \
$(top_builddir)/src/libFLAC++/libFLAC++.la \
$(top_builddir)/src/libFLAC/libFLAC.la \
@OGG_LIBS@ \
- @MINGW_WINSOCK_LIBS@ \
-lm
example_cpp_decode_file_SOURCES = main.cpp
-subdir = examples/cpp/decode/file
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-noinst_PROGRAMS = example_cpp_decode_file$(EXEEXT)
-PROGRAMS = $(noinst_PROGRAMS)
-
-am_example_cpp_decode_file_OBJECTS = main.$(OBJEXT)
-example_cpp_decode_file_OBJECTS = $(am_example_cpp_decode_file_OBJECTS)
-example_cpp_decode_file_DEPENDENCIES = \
- $(top_builddir)/src/libFLAC++/libFLAC++.la \
- $(top_builddir)/src/libFLAC/libFLAC.la
-example_cpp_decode_file_LDFLAGS =
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/main.Po
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(example_cpp_decode_file_SOURCES)
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(example_cpp_decode_file_SOURCES)
-
+CLEANFILES = example_cpp_decode_file.exe
all: all-am
.SUFFIXES:
.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/cpp/decode/file/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/cpp/decode/file/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign examples/cpp/decode/file/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-example_cpp_decode_file$(EXEEXT): $(example_cpp_decode_file_OBJECTS) $(example_cpp_decode_file_DEPENDENCIES)
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+example_cpp_decode_file$(EXEEXT): $(example_cpp_decode_file_OBJECTS) $(example_cpp_decode_file_DEPENDENCIES) $(EXTRA_example_cpp_decode_file_DEPENDENCIES)
@rm -f example_cpp_decode_file$(EXEEXT)
- $(CXXLINK) $(example_cpp_decode_file_LDFLAGS) $(example_cpp_decode_file_OBJECTS) $(example_cpp_decode_file_LDADD) $(LIBS)
+ $(AM_V_CXXLD)$(CXXLINK) $(example_cpp_decode_file_OBJECTS) $(example_cpp_decode_file_LDADD) $(LIBS)
mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
+ -rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.cpp.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCXX_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
.cpp.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCXX_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cpp.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCXX_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -332,99 +453,93 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
-
installdirs:
install: install-am
install-exec: install-exec-am
@@ -436,16 +551,23 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -456,31 +578,53 @@ clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/main.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/main.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -497,18 +641,26 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
- pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/examples/cpp/decode/file/Makefile.lite b/3rdparty/libflac/examples/cpp/decode/file/Makefile.lite
deleted file mode 100644
index abc93e813ad..00000000000
--- a/3rdparty/libflac/examples/cpp/decode/file/Makefile.lite
+++ /dev/null
@@ -1,41 +0,0 @@
-# example_cpp_decode_file - Simple FLAC file decoder using libFLAC
-# Copyright (C) 2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#
-# GNU makefile
-#
-
-topdir = ../../../..
-libdir = $(topdir)/obj/$(BUILD)/lib
-
-PROGRAM_NAME = example_cpp_decode_file
-
-INCLUDES = -I$(topdir)/include
-
-ifeq ($(DARWIN_BUILD),yes)
-EXPLICIT_LIBS = $(libdir)/libFLAC++.a $(libdir)/libFLAC.a $(OGG_LIB_DIR)/libogg.a -lm
-else
-LIBS = -lFLAC++ -lFLAC -L$(OGG_LIB_DIR) -logg -lm
-endif
-
-SRCS_CPP = main.cpp
-
-include $(topdir)/build/exe.mk
-
-LINK = $(CCC) $(LINKAGE)
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/examples/cpp/decode/file/example_cpp_decode_file.dsp b/3rdparty/libflac/examples/cpp/decode/file/example_cpp_decode_file.dsp
deleted file mode 100644
index dc04c5a214d..00000000000
--- a/3rdparty/libflac/examples/cpp/decode/file/example_cpp_decode_file.dsp
+++ /dev/null
@@ -1,100 +0,0 @@
-# Microsoft Developer Studio Project File - Name="example_cpp_decode_file" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=example_cpp_decode_file - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "example_cpp_decode_file.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "example_cpp_decode_file.mak" CFG="example_cpp_decode_file - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "example_cpp_decode_file - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "example_cpp_decode_file - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "example_cpp_decode_file - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\obj\release\bin"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\..\..\include" /D "NDEBUG" /D "FLAC__NO_DLL" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\obj\release\lib\libFLAC++_static.lib ..\..\..\..\obj\release\lib\libFLAC_static.lib ..\..\..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "example_cpp_decode_file - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\obj\debug\bin"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\..\include" /D "_DEBUG" /D "DEBUG" /D "FLAC__NO_DLL" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\obj\debug\lib\libFLAC++_static.lib ..\..\..\..\obj\debug\lib\libFLAC_static.lib ..\..\..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "example_cpp_decode_file - Win32 Release"
-# Name "example_cpp_decode_file - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\main.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/examples/cpp/decode/file/example_cpp_decode_file.vcproj b/3rdparty/libflac/examples/cpp/decode/file/example_cpp_decode_file.vcproj
deleted file mode 100644
index cace46ffb4f..00000000000
--- a/3rdparty/libflac/examples/cpp/decode/file/example_cpp_decode_file.vcproj
+++ /dev/null
@@ -1,204 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="example_cpp_decode_file"
- ProjectGUID="{4cefbe00-c215-11db-8314-0800200c9a66}"
- RootNamespace="example_cpp_decode_file"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\..\..\obj\debug\bin"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="2"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\..\..\obj\release\bin"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="..\..\..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="1"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93292580-829B-b441-E8B8-65A95828BEB0}"
- >
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{9C7247F1-CA27-1761-A016-0F27452AD2F0}"
- >
- <File
- RelativePath=".\main.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/examples/cpp/decode/file/main.cpp b/3rdparty/libflac/examples/cpp/decode/file/main.cpp
index 56140503fcf..d1c29958d69 100644
--- a/3rdparty/libflac/examples/cpp/decode/file/main.cpp
+++ b/3rdparty/libflac/examples/cpp/decode/file/main.cpp
@@ -1,5 +1,6 @@
/* example_cpp_decode_file - Simple FLAC file decoder using libFLAC
- * Copyright (C) 2007 Josh Coalson
+ * Copyright (C) 2007-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/*
@@ -21,21 +22,23 @@
* file. It only supports 16-bit stereo files.
*
* Complete API documentation can be found at:
- * http://flac.sourceforge.net/api/
+ * http://xiph.org/flac/api/
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdio.h>
#include <stdlib.h>
+
#include "FLAC++/decoder.h"
+#include "share/compat.h"
static FLAC__uint64 total_samples = 0;
-static unsigned sample_rate = 0;
-static unsigned channels = 0;
-static unsigned bps = 0;
+static uint32_t sample_rate = 0;
+static uint32_t channels = 0;
+static uint32_t bps = 0;
static bool write_little_endian_uint16(FILE *f, FLAC__uint16 x)
{
@@ -69,6 +72,9 @@ protected:
virtual ::FLAC__StreamDecoderWriteStatus write_callback(const ::FLAC__Frame *frame, const FLAC__int32 * const buffer[]);
virtual void metadata_callback(const ::FLAC__StreamMetadata *metadata);
virtual void error_callback(::FLAC__StreamDecoderErrorStatus status);
+private:
+ OurDecoder(const OurDecoder&);
+ OurDecoder&operator=(const OurDecoder&);
};
int main(int argc, char *argv[])
@@ -118,6 +124,10 @@ int main(int argc, char *argv[])
const FLAC__uint32 total_size = (FLAC__uint32)(total_samples * channels * (bps/8));
size_t i;
+ // Update data
+ channels = OurDecoder::get_channels();
+ bps = OurDecoder::get_bits_per_sample();
+
if(total_samples == 0) {
fprintf(stderr, "ERROR: this example only works for FLAC files that have a total_samples count in STREAMINFO\n");
return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
@@ -175,11 +185,7 @@ void OurDecoder::metadata_callback(const ::FLAC__StreamMetadata *metadata)
fprintf(stderr, "sample rate : %u Hz\n", sample_rate);
fprintf(stderr, "channels : %u\n", channels);
fprintf(stderr, "bits per sample: %u\n", bps);
-#ifdef _MSC_VER
- fprintf(stderr, "total samples : %I64u\n", total_samples);
-#else
- fprintf(stderr, "total samples : %llu\n", total_samples);
-#endif
+ fprintf(stderr, "total samples : %" PRIu64 "\n", total_samples);
}
}
diff --git a/3rdparty/libflac/examples/cpp/encode/Makefile.am b/3rdparty/libflac/examples/cpp/encode/Makefile.am
index 35bb987b0c7..3c9499cbca9 100644
--- a/3rdparty/libflac/examples/cpp/encode/Makefile.am
+++ b/3rdparty/libflac/examples/cpp/encode/Makefile.am
@@ -1,8 +1,9 @@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
diff --git a/3rdparty/libflac/examples/cpp/encode/Makefile.in b/3rdparty/libflac/examples/cpp/encode/Makefile.in
index e446eca516d..e8f4170d887 100644
--- a/3rdparty/libflac/examples/cpp/encode/Makefile.in
+++ b/3rdparty/libflac/examples/cpp/encode/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,10 +15,11 @@
@SET_MAKE@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -30,17 +31,67 @@
# it may be distributed under the Xiph.Org license, which is the least
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,114 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = examples/cpp/encode
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,182 +219,176 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
SUBDIRS = file
-subdir = examples/cpp/encode
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/cpp/encode/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/cpp/encode/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign examples/cpp/encode/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -249,21 +396,26 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -271,152 +423,131 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
+ empty_fix=.; \
else \
include_option=--include; \
+ empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -426,7 +557,6 @@ check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
-
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@@ -437,16 +567,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -457,25 +593,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
+html: html-recursive
+
+html-am:
+
info: info-recursive
info-am:
install-data-am:
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-recursive
+
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -494,26 +651,25 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/examples/cpp/encode/file/CMakeLists.txt b/3rdparty/libflac/examples/cpp/encode/file/CMakeLists.txt
new file mode 100644
index 00000000000..26178763c4e
--- /dev/null
+++ b/3rdparty/libflac/examples/cpp/encode/file/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_executable(encode_file_cxx main.cpp)
+target_link_libraries(encode_file_cxx FLAC++)
diff --git a/3rdparty/libflac/examples/cpp/encode/file/Makefile.am b/3rdparty/libflac/examples/cpp/encode/file/Makefile.am
index 4a0a8af6ccc..f293d615e0b 100644
--- a/3rdparty/libflac/examples/cpp/encode/file/Makefile.am
+++ b/3rdparty/libflac/examples/cpp/encode/file/Makefile.am
@@ -1,30 +1,32 @@
# example_cpp_encode_file - Simple FLAC file encoder using libFLAC
-# Copyright (C) 2007 Josh Coalson
-#
+# Copyright (C) 2007-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
+#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
-#
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
EXTRA_DIST = \
- Makefile.lite \
- example_cpp_encode_file.dsp \
- example_cpp_encode_file.vcproj
+ CMakeLists.txt
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
noinst_PROGRAMS = example_cpp_encode_file
example_cpp_encode_file_LDADD = \
$(top_builddir)/src/libFLAC++/libFLAC++.la \
$(top_builddir)/src/libFLAC/libFLAC.la \
@OGG_LIBS@ \
- @MINGW_WINSOCK_LIBS@ \
-lm
+
example_cpp_encode_file_SOURCES = main.cpp
+
+CLEANFILES = example_cpp_encode_file.exe
diff --git a/3rdparty/libflac/examples/cpp/encode/file/Makefile.in b/3rdparty/libflac/examples/cpp/encode/file/Makefile.in
index 87a9be01088..5410ea6c698 100644
--- a/3rdparty/libflac/examples/cpp/encode/file/Makefile.in
+++ b/3rdparty/libflac/examples/cpp/encode/file/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,32 +15,84 @@
@SET_MAKE@
# example_cpp_encode_file - Simple FLAC file encoder using libFLAC
-# Copyright (C) 2007 Josh Coalson
-#
+# Copyright (C) 2007-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
+#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
-#
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +104,107 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+noinst_PROGRAMS = example_cpp_encode_file$(EXEEXT)
+subdir = examples/cpp/encode/file
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_example_cpp_encode_file_OBJECTS = main.$(OBJEXT)
+example_cpp_encode_file_OBJECTS = \
+ $(am_example_cpp_encode_file_OBJECTS)
+example_cpp_encode_file_DEPENDENCIES = \
+ $(top_builddir)/src/libFLAC++/libFLAC++.la \
+ $(top_builddir)/src/libFLAC/libFLAC.la
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/main.Po
+am__mv = mv -f
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_@AM_V@)
+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
+am__v_CXX_0 = @echo " CXX " $@;
+am__v_CXX_1 =
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo " CXXLD " $@;
+am__v_CXXLD_1 =
+SOURCES = $(example_cpp_encode_file_SOURCES)
+DIST_SOURCES = $(example_cpp_encode_file_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,265 +213,239 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
EXTRA_DIST = \
- Makefile.lite \
- example_cpp_encode_file.dsp \
- example_cpp_encode_file.vcproj
-
+ CMakeLists.txt
-noinst_PROGRAMS = example_cpp_encode_file
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
example_cpp_encode_file_LDADD = \
$(top_builddir)/src/libFLAC++/libFLAC++.la \
$(top_builddir)/src/libFLAC/libFLAC.la \
@OGG_LIBS@ \
- @MINGW_WINSOCK_LIBS@ \
-lm
example_cpp_encode_file_SOURCES = main.cpp
-subdir = examples/cpp/encode/file
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-noinst_PROGRAMS = example_cpp_encode_file$(EXEEXT)
-PROGRAMS = $(noinst_PROGRAMS)
-
-am_example_cpp_encode_file_OBJECTS = main.$(OBJEXT)
-example_cpp_encode_file_OBJECTS = $(am_example_cpp_encode_file_OBJECTS)
-example_cpp_encode_file_DEPENDENCIES = \
- $(top_builddir)/src/libFLAC++/libFLAC++.la \
- $(top_builddir)/src/libFLAC/libFLAC.la
-example_cpp_encode_file_LDFLAGS =
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/main.Po
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(example_cpp_encode_file_SOURCES)
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(example_cpp_encode_file_SOURCES)
-
+CLEANFILES = example_cpp_encode_file.exe
all: all-am
.SUFFIXES:
.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/cpp/encode/file/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/cpp/encode/file/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign examples/cpp/encode/file/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-example_cpp_encode_file$(EXEEXT): $(example_cpp_encode_file_OBJECTS) $(example_cpp_encode_file_DEPENDENCIES)
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+example_cpp_encode_file$(EXEEXT): $(example_cpp_encode_file_OBJECTS) $(example_cpp_encode_file_DEPENDENCIES) $(EXTRA_example_cpp_encode_file_DEPENDENCIES)
@rm -f example_cpp_encode_file$(EXEEXT)
- $(CXXLINK) $(example_cpp_encode_file_LDFLAGS) $(example_cpp_encode_file_OBJECTS) $(example_cpp_encode_file_LDADD) $(LIBS)
+ $(AM_V_CXXLD)$(CXXLINK) $(example_cpp_encode_file_OBJECTS) $(example_cpp_encode_file_LDADD) $(LIBS)
mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
+ -rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.cpp.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCXX_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
.cpp.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCXX_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cpp.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCXX_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -332,99 +453,93 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
-
installdirs:
install: install-am
install-exec: install-exec-am
@@ -436,16 +551,23 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -456,31 +578,53 @@ clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/main.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/main.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -497,18 +641,26 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
- pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/examples/cpp/encode/file/Makefile.lite b/3rdparty/libflac/examples/cpp/encode/file/Makefile.lite
deleted file mode 100644
index 9ae1b12916a..00000000000
--- a/3rdparty/libflac/examples/cpp/encode/file/Makefile.lite
+++ /dev/null
@@ -1,41 +0,0 @@
-# example_cpp_encode_file - Simple FLAC file encoder using libFLAC
-# Copyright (C) 2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#
-# GNU makefile
-#
-
-topdir = ../../../..
-libdir = $(topdir)/obj/$(BUILD)/lib
-
-PROGRAM_NAME = example_cpp_encode_file
-
-INCLUDES = -I$(topdir)/include
-
-ifeq ($(DARWIN_BUILD),yes)
-EXPLICIT_LIBS = $(libdir)/libFLAC++.a $(libdir)/libFLAC.a $(OGG_LIB_DIR)/libogg.a -lm
-else
-LIBS = -lFLAC++ -lFLAC -L$(OGG_LIB_DIR) -logg -lm
-endif
-
-SRCS_CPP = main.cpp
-
-include $(topdir)/build/exe.mk
-
-LINK = $(CCC) $(LINKAGE)
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/examples/cpp/encode/file/example_cpp_encode_file.dsp b/3rdparty/libflac/examples/cpp/encode/file/example_cpp_encode_file.dsp
deleted file mode 100644
index 9a6a19c0256..00000000000
--- a/3rdparty/libflac/examples/cpp/encode/file/example_cpp_encode_file.dsp
+++ /dev/null
@@ -1,100 +0,0 @@
-# Microsoft Developer Studio Project File - Name="example_cpp_encode_file" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=example_cpp_encode_file - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "example_cpp_encode_file.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "example_cpp_encode_file.mak" CFG="example_cpp_encode_file - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "example_cpp_encode_file - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "example_cpp_encode_file - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "example_cpp_encode_file - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\..\obj\release\bin"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\..\..\include" /D "NDEBUG" /D "FLAC__NO_DLL" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\..\obj\release\lib\libFLAC++_static.lib ..\..\..\..\obj\release\lib\libFLAC_static.lib ..\..\..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "example_cpp_encode_file - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\..\obj\debug\bin"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\..\include" /D "_DEBUG" /D "DEBUG" /D "FLAC__NO_DLL" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\..\obj\debug\lib\libFLAC++_static.lib ..\..\..\..\obj\debug\lib\libFLAC_static.lib ..\..\..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "example_cpp_encode_file - Win32 Release"
-# Name "example_cpp_encode_file - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\main.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/examples/cpp/encode/file/example_cpp_encode_file.vcproj b/3rdparty/libflac/examples/cpp/encode/file/example_cpp_encode_file.vcproj
deleted file mode 100644
index 7efab704313..00000000000
--- a/3rdparty/libflac/examples/cpp/encode/file/example_cpp_encode_file.vcproj
+++ /dev/null
@@ -1,204 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="example_cpp_encode_file"
- ProjectGUID="{4cefbe01-c215-11db-8314-0800200c9a66}"
- RootNamespace="example_cpp_encode_file"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\..\..\obj\debug\bin"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="2"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\..\..\obj\release\bin"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories="..\..\..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="1"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93292580-829B-b441-E8B8-65A95828BEB0}"
- >
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{9C7247F1-CA27-1761-A016-0F27452AD2F0}"
- >
- <File
- RelativePath=".\main.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/examples/cpp/encode/file/main.cpp b/3rdparty/libflac/examples/cpp/encode/file/main.cpp
index 22448bbb550..c420d230d86 100644
--- a/3rdparty/libflac/examples/cpp/encode/file/main.cpp
+++ b/3rdparty/libflac/examples/cpp/encode/file/main.cpp
@@ -1,5 +1,6 @@
/* example_cpp_encode_file - Simple FLAC file encoder using libFLAC
- * Copyright (C) 2007 Josh Coalson
+ * Copyright (C) 2007-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/*
@@ -21,31 +22,35 @@
* file. It only supports 16-bit stereo files in canonical WAVE format.
*
* Complete API documentation can be found at:
- * http://flac.sourceforge.net/api/
+ * http://xiph.org/flac/api/
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
+
#include "FLAC++/metadata.h"
#include "FLAC++/encoder.h"
+#include "share/compat.h"
+
+#include <cstring>
class OurEncoder: public FLAC::Encoder::File {
public:
OurEncoder(): FLAC::Encoder::File() { }
protected:
- virtual void progress_callback(FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate);
+ virtual void progress_callback(FLAC__uint64 bytes_written, FLAC__uint64 samples_written, uint32_t frames_written, uint32_t total_frames_estimate);
};
#define READSIZE 1024
-static unsigned total_samples = 0; /* can use a 32-bit number due to WAVE size limitations */
+static uint32_t total_samples = 0; /* can use a 32-bit number due to WAVE size limitations */
static FLAC__byte buffer[READSIZE/*samples*/ * 2/*bytes_per_sample*/ * 2/*channels*/]; /* we read the WAVE data into here */
static FLAC__int32 pcm[READSIZE/*samples*/ * 2/*channels*/];
-static FLAC__int32 *pcm_[2] = { pcm, pcm+READSIZE };
int main(int argc, char *argv[])
{
@@ -55,9 +60,9 @@ int main(int argc, char *argv[])
FLAC__StreamMetadata *metadata[2];
FLAC__StreamMetadata_VorbisComment_Entry entry;
FILE *fin;
- unsigned sample_rate = 0;
- unsigned channels = 0;
- unsigned bps = 0;
+ uint32_t sample_rate = 0;
+ uint32_t channels = 0;
+ uint32_t bps = 0;
if(argc != 3) {
fprintf(stderr, "usage: %s infile.wav outfile.flac\n", argv[0]);
@@ -80,11 +85,11 @@ int main(int argc, char *argv[])
fclose(fin);
return 1;
}
- sample_rate = ((((((unsigned)buffer[27] << 8) | buffer[26]) << 8) | buffer[25]) << 8) | buffer[24];
+ sample_rate = ((((((uint32_t)buffer[27] << 8) | buffer[26]) << 8) | buffer[25]) << 8) | buffer[24];
channels = 2;
bps = 16;
- total_samples = (((((((unsigned)buffer[43] << 8) | buffer[42]) << 8) | buffer[41]) << 8) | buffer[40]) / 4;
-
+ total_samples = (((((((uint32_t)buffer[43] << 8) | buffer[42]) << 8) | buffer[41]) << 8) | buffer[40]) / 4;
+
/* check the encoder */
if(!encoder) {
fprintf(stderr, "ERROR: allocating encoder\n");
@@ -112,11 +117,13 @@ int main(int argc, char *argv[])
) {
fprintf(stderr, "ERROR: out of memory or tag error\n");
ok = false;
- }
+ } else {
+
+ metadata[1]->length = 1234; /* set the padding length */
- metadata[1]->length = 1234; /* set the padding length */
+ ok = encoder.set_metadata(metadata, 2);
- ok = encoder.set_metadata(metadata, 2);
+ }
}
/* initialize encoder */
@@ -165,11 +172,7 @@ int main(int argc, char *argv[])
return 0;
}
-void OurEncoder::progress_callback(FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate)
+void OurEncoder::progress_callback(FLAC__uint64 bytes_written, FLAC__uint64 samples_written, uint32_t frames_written, uint32_t total_frames_estimate)
{
-#ifdef _MSC_VER
- fprintf(stderr, "wrote %I64u bytes, %I64u/%u samples, %u/%u frames\n", bytes_written, samples_written, total_samples, frames_written, total_frames_estimate);
-#else
- fprintf(stderr, "wrote %llu bytes, %llu/%u samples, %u/%u frames\n", bytes_written, samples_written, total_samples, frames_written, total_frames_estimate);
-#endif
+ fprintf(stderr, "wrote %" PRIu64 " bytes, %" PRIu64 "/%u samples, %u/%u frames\n", bytes_written, samples_written, total_samples, frames_written, total_frames_estimate);
}
diff --git a/3rdparty/libflac/examples/examples.dsp b/3rdparty/libflac/examples/examples.dsp
deleted file mode 100644
index ffe32dff435..00000000000
--- a/3rdparty/libflac/examples/examples.dsp
+++ /dev/null
@@ -1,67 +0,0 @@
-# Microsoft Developer Studio Project File - Name="examples" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Generic Project" 0x010a
-
-CFG=examples - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "examples.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "examples.mak" CFG="examples - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "examples - Win32 Release" (based on "Win32 (x86) Generic Project")
-!MESSAGE "examples - Win32 Debug" (based on "Win32 (x86) Generic Project")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "all"
-# PROP Scc_LocalPath "."
-MTL=midl.exe
-
-!IF "$(CFG)" == "examples - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\obj\release"
-# PROP Intermediate_Dir "..\obj\release"
-# PROP Target_Dir ""
-
-!ELSEIF "$(CFG)" == "examples - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\obj\debug"
-# PROP Intermediate_Dir "..\obj\debug"
-# PROP Target_Dir ""
-
-!ENDIF
-
-# Begin Target
-
-# Name "examples - Win32 Release"
-# Name "examples - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\README
-# End Source File
-# End Target
-# End Project
diff --git a/3rdparty/libflac/flac-config.cmake.in b/3rdparty/libflac/flac-config.cmake.in
new file mode 100644
index 00000000000..bcafc4c8bf7
--- /dev/null
+++ b/3rdparty/libflac/flac-config.cmake.in
@@ -0,0 +1,17 @@
+@PACKAGE_INIT@
+
+include(CMakeFindDependencyMacro)
+if(NOT TARGET Ogg::ogg)
+ find_dependency(Ogg)
+endif()
+
+include("${CMAKE_CURRENT_LIST_DIR}/targets.cmake")
+
+if(TARGET FLAC::FLAC)
+ set(FLAC_FLAC_FOUND 1)
+endif()
+if(TARGET FLAC::FLAC++)
+ set(FLAC_FLAC++_FOUND 1)
+endif()
+
+check_required_components(FLAC)
diff --git a/3rdparty/libflac/include/FLAC++/Makefile.am b/3rdparty/libflac/include/FLAC++/Makefile.am
index e833c8a232c..ba5daa5b133 100644
--- a/3rdparty/libflac/include/FLAC++/Makefile.am
+++ b/3rdparty/libflac/include/FLAC++/Makefile.am
@@ -1,5 +1,6 @@
# libFLAC++ - Free Lossless Audio Codec library
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2002-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -29,7 +30,7 @@
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
flaccppincludedir = $(includedir)/FLAC++
-
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
flaccppinclude_HEADERS = \
all.h \
decoder.h \
diff --git a/3rdparty/libflac/include/FLAC++/Makefile.in b/3rdparty/libflac/include/FLAC++/Makefile.in
index fd6b1fa68a8..5f3a89ce293 100644
--- a/3rdparty/libflac/include/FLAC++/Makefile.in
+++ b/3rdparty/libflac/include/FLAC++/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,8 @@
@SET_MAKE@
# libFLAC++ - Free Lossless Audio Codec library
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2002-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -44,16 +45,67 @@
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -65,12 +117,102 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = include/FLAC++
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(flaccppinclude_HEADERS) \
+ $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(flaccppincludedir)"
+HEADERS = $(flaccppinclude_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -79,161 +221,145 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
flaccppincludedir = $(includedir)/FLAC++
-
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
flaccppinclude_HEADERS = \
all.h \
decoder.h \
@@ -241,144 +367,157 @@ flaccppinclude_HEADERS = \
export.h \
metadata.h
-subdir = include/FLAC++
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-HEADERS = $(flaccppinclude_HEADERS)
-
-DIST_COMMON = $(flaccppinclude_HEADERS) $(srcdir)/Makefile.in \
- Makefile.am
all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu include/FLAC++/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/FLAC++/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign include/FLAC++/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-flaccppincludeHEADERS_INSTALL = $(INSTALL_HEADER)
install-flaccppincludeHEADERS: $(flaccppinclude_HEADERS)
@$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(flaccppincludedir)
- @list='$(flaccppinclude_HEADERS)'; for p in $$list; do \
+ @list='$(flaccppinclude_HEADERS)'; test -n "$(flaccppincludedir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(flaccppincludedir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(flaccppincludedir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(flaccppincludeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(flaccppincludedir)/$$f"; \
- $(flaccppincludeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(flaccppincludedir)/$$f; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(flaccppincludedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(flaccppincludedir)" || exit $$?; \
done
uninstall-flaccppincludeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(flaccppinclude_HEADERS)'; for p in $$list; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(flaccppincludedir)/$$f"; \
- rm -f $(DESTDIR)$(flaccppincludedir)/$$f; \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
+ @list='$(flaccppinclude_HEADERS)'; test -n "$(flaccppincludedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(flaccppincludedir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(HEADERS)
-
installdirs:
- $(mkinstalldirs) $(DESTDIR)$(flaccppincludedir)
+ for dir in "$(DESTDIR)$(flaccppincludedir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
@@ -389,16 +528,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -409,25 +554,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am: install-flaccppincludeHEADERS
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -446,18 +612,26 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-flaccppincludeHEADERS uninstall-info-am
+uninstall-am: uninstall-flaccppincludeHEADERS
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool ctags distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am info \
- info-am install install-am install-data install-data-am \
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool cscopelist-am ctags ctags-am distclean \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
install-exec install-exec-am install-flaccppincludeHEADERS \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
- uninstall-am uninstall-flaccppincludeHEADERS uninstall-info-am
+ install-html install-html-am install-info install-info-am \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-flaccppincludeHEADERS
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/include/FLAC++/all.h b/3rdparty/libflac/include/FLAC++/all.h
index 140470d8efc..fa5bd4160fb 100644
--- a/3rdparty/libflac/include/FLAC++/all.h
+++ b/3rdparty/libflac/include/FLAC++/all.h
@@ -1,5 +1,6 @@
/* libFLAC++ - Free Lossless Audio Codec library
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/3rdparty/libflac/include/FLAC++/decoder.h b/3rdparty/libflac/include/FLAC++/decoder.h
index 719f66c5be1..6f0bda99a08 100644
--- a/3rdparty/libflac/include/FLAC++/decoder.h
+++ b/3rdparty/libflac/include/FLAC++/decoder.h
@@ -1,5 +1,6 @@
/* libFLAC++ - Free Lossless Audio Codec library
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -93,7 +94,7 @@ namespace FLAC {
* Only the read, write, and error callbacks are mandatory. The
* others are optional; this class provides default
* implementations that do nothing. In order for seeking to work
- * you must overide seek_callback(), tell_callback(),
+ * you must override seek_callback(), tell_callback(),
* length_callback(), and eof_callback().
*/
class FLACPP_API Stream {
@@ -114,7 +115,7 @@ namespace FLAC {
virtual ~Stream();
//@{
- /** Call after construction to check the that the object was created
+ /** Call after construction to check that the object was created
* successfully. If not, use get_state() to find out why not.
*/
virtual bool is_valid() const;
@@ -134,11 +135,11 @@ namespace FLAC {
State get_state() const; ///< See FLAC__stream_decoder_get_state()
virtual bool get_md5_checking() const; ///< See FLAC__stream_decoder_get_md5_checking()
virtual FLAC__uint64 get_total_samples() const; ///< See FLAC__stream_decoder_get_total_samples()
- virtual unsigned get_channels() const; ///< See FLAC__stream_decoder_get_channels()
+ virtual uint32_t get_channels() const; ///< See FLAC__stream_decoder_get_channels()
virtual ::FLAC__ChannelAssignment get_channel_assignment() const; ///< See FLAC__stream_decoder_get_channel_assignment()
- virtual unsigned get_bits_per_sample() const; ///< See FLAC__stream_decoder_get_bits_per_sample()
- virtual unsigned get_sample_rate() const; ///< See FLAC__stream_decoder_get_sample_rate()
- virtual unsigned get_blocksize() const; ///< See FLAC__stream_decoder_get_blocksize()
+ virtual uint32_t get_bits_per_sample() const; ///< See FLAC__stream_decoder_get_bits_per_sample()
+ virtual uint32_t get_sample_rate() const; ///< See FLAC__stream_decoder_get_sample_rate()
+ virtual uint32_t get_blocksize() const; ///< See FLAC__stream_decoder_get_blocksize()
virtual bool get_decode_position(FLAC__uint64 *position) const; ///< See FLAC__stream_decoder_get_decode_position()
virtual ::FLAC__StreamDecoderInitStatus init(); ///< Seek FLAC__stream_decoder_init_stream()
@@ -180,8 +181,8 @@ namespace FLAC {
/// see FLAC__StreamDecoderErrorCallback
virtual void error_callback(::FLAC__StreamDecoderErrorStatus status) = 0;
-#if (defined _MSC_VER) || (defined __BORLANDC__) || (defined __GNUG__ && (__GNUG__ < 2 || (__GNUG__ == 2 && __GNUC_MINOR__ < 96))) || (defined __SUNPRO_CC)
- // lame hack: some MSVC/GCC versions can't see a protected decoder_ from nested State::resolved_as_cstring()
+#if (defined __BORLANDC__) || (defined __GNUG__ && (__GNUG__ < 2 || (__GNUG__ == 2 && __GNUC_MINOR__ < 96))) || (defined __SUNPRO_CC)
+ // lame hack: some compilers can't see a protected decoder_ from nested State::resolved_as_cstring()
friend State;
#endif
::FLAC__StreamDecoder *decoder_;
@@ -224,9 +225,11 @@ namespace FLAC {
File();
virtual ~File();
+ using Stream::init;
virtual ::FLAC__StreamDecoderInitStatus init(FILE *file); ///< See FLAC__stream_decoder_init_FILE()
virtual ::FLAC__StreamDecoderInitStatus init(const char *filename); ///< See FLAC__stream_decoder_init_file()
virtual ::FLAC__StreamDecoderInitStatus init(const std::string &filename); ///< See FLAC__stream_decoder_init_file()
+ using Stream::init_ogg;
virtual ::FLAC__StreamDecoderInitStatus init_ogg(FILE *file); ///< See FLAC__stream_decoder_init_ogg_FILE()
virtual ::FLAC__StreamDecoderInitStatus init_ogg(const char *filename); ///< See FLAC__stream_decoder_init_ogg_file()
virtual ::FLAC__StreamDecoderInitStatus init_ogg(const std::string &filename); ///< See FLAC__stream_decoder_init_ogg_file()
diff --git a/3rdparty/libflac/include/FLAC++/encoder.h b/3rdparty/libflac/include/FLAC++/encoder.h
index b944e997429..2400823d490 100644
--- a/3rdparty/libflac/include/FLAC++/encoder.h
+++ b/3rdparty/libflac/include/FLAC++/encoder.h
@@ -1,5 +1,6 @@
/* libFLAC++ - Free Lossless Audio Codec library
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -94,7 +95,7 @@ namespace FLAC {
* Only the write callback is mandatory. The others are
* optional; this class provides default implementations that do
* nothing. In order for some STREAMINFO and SEEKTABLE data to
- * be written properly, you must overide seek_callback() and
+ * be written properly, you must override seek_callback() and
* tell_callback(); see FLAC__stream_encoder_init_stream() as to
* why.
*/
@@ -116,7 +117,7 @@ namespace FLAC {
virtual ~Stream();
//@{
- /** Call after construction to check the that the object was created
+ /** Call after construction to check that the object was created
* successfully. If not, use get_state() to find out why not.
*
*/
@@ -127,61 +128,63 @@ namespace FLAC {
virtual bool set_ogg_serial_number(long value); ///< See FLAC__stream_encoder_set_ogg_serial_number()
virtual bool set_verify(bool value); ///< See FLAC__stream_encoder_set_verify()
virtual bool set_streamable_subset(bool value); ///< See FLAC__stream_encoder_set_streamable_subset()
- virtual bool set_channels(unsigned value); ///< See FLAC__stream_encoder_set_channels()
- virtual bool set_bits_per_sample(unsigned value); ///< See FLAC__stream_encoder_set_bits_per_sample()
- virtual bool set_sample_rate(unsigned value); ///< See FLAC__stream_encoder_set_sample_rate()
- virtual bool set_compression_level(unsigned value); ///< See FLAC__stream_encoder_set_compression_level()
- virtual bool set_blocksize(unsigned value); ///< See FLAC__stream_encoder_set_blocksize()
+ virtual bool set_channels(uint32_t value); ///< See FLAC__stream_encoder_set_channels()
+ virtual bool set_bits_per_sample(uint32_t value); ///< See FLAC__stream_encoder_set_bits_per_sample()
+ virtual bool set_sample_rate(uint32_t value); ///< See FLAC__stream_encoder_set_sample_rate()
+ virtual bool set_compression_level(uint32_t value); ///< See FLAC__stream_encoder_set_compression_level()
+ virtual bool set_blocksize(uint32_t value); ///< See FLAC__stream_encoder_set_blocksize()
virtual bool set_do_mid_side_stereo(bool value); ///< See FLAC__stream_encoder_set_do_mid_side_stereo()
virtual bool set_loose_mid_side_stereo(bool value); ///< See FLAC__stream_encoder_set_loose_mid_side_stereo()
virtual bool set_apodization(const char *specification); ///< See FLAC__stream_encoder_set_apodization()
- virtual bool set_max_lpc_order(unsigned value); ///< See FLAC__stream_encoder_set_max_lpc_order()
- virtual bool set_qlp_coeff_precision(unsigned value); ///< See FLAC__stream_encoder_set_qlp_coeff_precision()
+ virtual bool set_max_lpc_order(uint32_t value); ///< See FLAC__stream_encoder_set_max_lpc_order()
+ virtual bool set_qlp_coeff_precision(uint32_t value); ///< See FLAC__stream_encoder_set_qlp_coeff_precision()
virtual bool set_do_qlp_coeff_prec_search(bool value); ///< See FLAC__stream_encoder_set_do_qlp_coeff_prec_search()
virtual bool set_do_escape_coding(bool value); ///< See FLAC__stream_encoder_set_do_escape_coding()
virtual bool set_do_exhaustive_model_search(bool value); ///< See FLAC__stream_encoder_set_do_exhaustive_model_search()
- virtual bool set_min_residual_partition_order(unsigned value); ///< See FLAC__stream_encoder_set_min_residual_partition_order()
- virtual bool set_max_residual_partition_order(unsigned value); ///< See FLAC__stream_encoder_set_max_residual_partition_order()
- virtual bool set_rice_parameter_search_dist(unsigned value); ///< See FLAC__stream_encoder_set_rice_parameter_search_dist()
+ virtual bool set_min_residual_partition_order(uint32_t value); ///< See FLAC__stream_encoder_set_min_residual_partition_order()
+ virtual bool set_max_residual_partition_order(uint32_t value); ///< See FLAC__stream_encoder_set_max_residual_partition_order()
+ virtual bool set_rice_parameter_search_dist(uint32_t value); ///< See FLAC__stream_encoder_set_rice_parameter_search_dist()
virtual bool set_total_samples_estimate(FLAC__uint64 value); ///< See FLAC__stream_encoder_set_total_samples_estimate()
- virtual bool set_metadata(::FLAC__StreamMetadata **metadata, unsigned num_blocks); ///< See FLAC__stream_encoder_set_metadata()
- virtual bool set_metadata(FLAC::Metadata::Prototype **metadata, unsigned num_blocks); ///< See FLAC__stream_encoder_set_metadata()
+ virtual bool set_metadata(::FLAC__StreamMetadata **metadata, uint32_t num_blocks); ///< See FLAC__stream_encoder_set_metadata()
+ virtual bool set_metadata(FLAC::Metadata::Prototype **metadata, uint32_t num_blocks); ///< See FLAC__stream_encoder_set_metadata()
+ virtual bool set_limit_min_bitrate(bool value); ///< See FLAC__stream_encoder_set_limit_min_bitrate()
/* get_state() is not virtual since we want subclasses to be able to return their own state */
State get_state() const; ///< See FLAC__stream_encoder_get_state()
virtual Decoder::Stream::State get_verify_decoder_state() const; ///< See FLAC__stream_encoder_get_verify_decoder_state()
- virtual void get_verify_decoder_error_stats(FLAC__uint64 *absolute_sample, unsigned *frame_number, unsigned *channel, unsigned *sample, FLAC__int32 *expected, FLAC__int32 *got); ///< See FLAC__stream_encoder_get_verify_decoder_error_stats()
+ virtual void get_verify_decoder_error_stats(FLAC__uint64 *absolute_sample, uint32_t *frame_number, uint32_t *channel, uint32_t *sample, FLAC__int32 *expected, FLAC__int32 *got); ///< See FLAC__stream_encoder_get_verify_decoder_error_stats()
virtual bool get_verify() const; ///< See FLAC__stream_encoder_get_verify()
virtual bool get_streamable_subset() const; ///< See FLAC__stream_encoder_get_streamable_subset()
virtual bool get_do_mid_side_stereo() const; ///< See FLAC__stream_encoder_get_do_mid_side_stereo()
virtual bool get_loose_mid_side_stereo() const; ///< See FLAC__stream_encoder_get_loose_mid_side_stereo()
- virtual unsigned get_channels() const; ///< See FLAC__stream_encoder_get_channels()
- virtual unsigned get_bits_per_sample() const; ///< See FLAC__stream_encoder_get_bits_per_sample()
- virtual unsigned get_sample_rate() const; ///< See FLAC__stream_encoder_get_sample_rate()
- virtual unsigned get_blocksize() const; ///< See FLAC__stream_encoder_get_blocksize()
- virtual unsigned get_max_lpc_order() const; ///< See FLAC__stream_encoder_get_max_lpc_order()
- virtual unsigned get_qlp_coeff_precision() const; ///< See FLAC__stream_encoder_get_qlp_coeff_precision()
+ virtual uint32_t get_channels() const; ///< See FLAC__stream_encoder_get_channels()
+ virtual uint32_t get_bits_per_sample() const; ///< See FLAC__stream_encoder_get_bits_per_sample()
+ virtual uint32_t get_sample_rate() const; ///< See FLAC__stream_encoder_get_sample_rate()
+ virtual uint32_t get_blocksize() const; ///< See FLAC__stream_encoder_get_blocksize()
+ virtual uint32_t get_max_lpc_order() const; ///< See FLAC__stream_encoder_get_max_lpc_order()
+ virtual uint32_t get_qlp_coeff_precision() const; ///< See FLAC__stream_encoder_get_qlp_coeff_precision()
virtual bool get_do_qlp_coeff_prec_search() const; ///< See FLAC__stream_encoder_get_do_qlp_coeff_prec_search()
virtual bool get_do_escape_coding() const; ///< See FLAC__stream_encoder_get_do_escape_coding()
virtual bool get_do_exhaustive_model_search() const; ///< See FLAC__stream_encoder_get_do_exhaustive_model_search()
- virtual unsigned get_min_residual_partition_order() const; ///< See FLAC__stream_encoder_get_min_residual_partition_order()
- virtual unsigned get_max_residual_partition_order() const; ///< See FLAC__stream_encoder_get_max_residual_partition_order()
- virtual unsigned get_rice_parameter_search_dist() const; ///< See FLAC__stream_encoder_get_rice_parameter_search_dist()
+ virtual uint32_t get_min_residual_partition_order() const; ///< See FLAC__stream_encoder_get_min_residual_partition_order()
+ virtual uint32_t get_max_residual_partition_order() const; ///< See FLAC__stream_encoder_get_max_residual_partition_order()
+ virtual uint32_t get_rice_parameter_search_dist() const; ///< See FLAC__stream_encoder_get_rice_parameter_search_dist()
virtual FLAC__uint64 get_total_samples_estimate() const; ///< See FLAC__stream_encoder_get_total_samples_estimate()
+ virtual bool get_limit_min_bitrate() const; ///< See FLAC__stream_encoder_get_limit_min_bitrate()
virtual ::FLAC__StreamEncoderInitStatus init(); ///< See FLAC__stream_encoder_init_stream()
virtual ::FLAC__StreamEncoderInitStatus init_ogg(); ///< See FLAC__stream_encoder_init_ogg_stream()
virtual bool finish(); ///< See FLAC__stream_encoder_finish()
- virtual bool process(const FLAC__int32 * const buffer[], unsigned samples); ///< See FLAC__stream_encoder_process()
- virtual bool process_interleaved(const FLAC__int32 buffer[], unsigned samples); ///< See FLAC__stream_encoder_process_interleaved()
+ virtual bool process(const FLAC__int32 * const buffer[], uint32_t samples); ///< See FLAC__stream_encoder_process()
+ virtual bool process_interleaved(const FLAC__int32 buffer[], uint32_t samples); ///< See FLAC__stream_encoder_process_interleaved()
protected:
/// See FLAC__StreamEncoderReadCallback
virtual ::FLAC__StreamEncoderReadStatus read_callback(FLAC__byte buffer[], size_t *bytes);
/// See FLAC__StreamEncoderWriteCallback
- virtual ::FLAC__StreamEncoderWriteStatus write_callback(const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame) = 0;
+ virtual ::FLAC__StreamEncoderWriteStatus write_callback(const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame) = 0;
/// See FLAC__StreamEncoderSeekCallback
virtual ::FLAC__StreamEncoderSeekStatus seek_callback(FLAC__uint64 absolute_byte_offset);
@@ -192,14 +195,14 @@ namespace FLAC {
/// See FLAC__StreamEncoderMetadataCallback
virtual void metadata_callback(const ::FLAC__StreamMetadata *metadata);
-#if (defined _MSC_VER) || (defined __BORLANDC__) || (defined __GNUG__ && (__GNUG__ < 2 || (__GNUG__ == 2 && __GNUC_MINOR__ < 96))) || (defined __SUNPRO_CC)
- // lame hack: some MSVC/GCC versions can't see a protected encoder_ from nested State::resolved_as_cstring()
+#if (defined __BORLANDC__) || (defined __GNUG__ && (__GNUG__ < 2 || (__GNUG__ == 2 && __GNUC_MINOR__ < 96))) || (defined __SUNPRO_CC)
+ // lame hack: some compilers can't see a protected encoder_ from nested State::resolved_as_cstring()
friend State;
#endif
::FLAC__StreamEncoder *encoder_;
static ::FLAC__StreamEncoderReadStatus read_callback_(const ::FLAC__StreamEncoder *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data);
- static ::FLAC__StreamEncoderWriteStatus write_callback_(const ::FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data);
+ static ::FLAC__StreamEncoderWriteStatus write_callback_(const ::FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame, void *client_data);
static ::FLAC__StreamEncoderSeekStatus seek_callback_(const FLAC__StreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data);
static ::FLAC__StreamEncoderTellStatus tell_callback_(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data);
static void metadata_callback_(const ::FLAC__StreamEncoder *encoder, const ::FLAC__StreamMetadata *metadata, void *client_data);
@@ -234,20 +237,22 @@ namespace FLAC {
File();
virtual ~File();
+ using Stream::init;
virtual ::FLAC__StreamEncoderInitStatus init(FILE *file); ///< See FLAC__stream_encoder_init_FILE()
virtual ::FLAC__StreamEncoderInitStatus init(const char *filename); ///< See FLAC__stream_encoder_init_file()
virtual ::FLAC__StreamEncoderInitStatus init(const std::string &filename); ///< See FLAC__stream_encoder_init_file()
+ using Stream::init_ogg;
virtual ::FLAC__StreamEncoderInitStatus init_ogg(FILE *file); ///< See FLAC__stream_encoder_init_ogg_FILE()
virtual ::FLAC__StreamEncoderInitStatus init_ogg(const char *filename); ///< See FLAC__stream_encoder_init_ogg_file()
virtual ::FLAC__StreamEncoderInitStatus init_ogg(const std::string &filename); ///< See FLAC__stream_encoder_init_ogg_file()
protected:
/// See FLAC__StreamEncoderProgressCallback
- virtual void progress_callback(FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate);
+ virtual void progress_callback(FLAC__uint64 bytes_written, FLAC__uint64 samples_written, uint32_t frames_written, uint32_t total_frames_estimate);
/// This is a dummy implementation to satisfy the pure virtual in Stream that is actually supplied internally by the C layer
- virtual ::FLAC__StreamEncoderWriteStatus write_callback(const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame);
+ virtual ::FLAC__StreamEncoderWriteStatus write_callback(const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame);
private:
- static void progress_callback_(const ::FLAC__StreamEncoder *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate, void *client_data);
+ static void progress_callback_(const ::FLAC__StreamEncoder *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, uint32_t frames_written, uint32_t total_frames_estimate, void *client_data);
// Private and undefined so you can't use them:
File(const Stream &);
diff --git a/3rdparty/libflac/include/FLAC++/export.h b/3rdparty/libflac/include/FLAC++/export.h
index d2deb7b9ef4..21d9d8b0b99 100644
--- a/3rdparty/libflac/include/FLAC++/export.h
+++ b/3rdparty/libflac/include/FLAC++/export.h
@@ -1,5 +1,6 @@
/* libFLAC++ - Free Lossless Audio Codec library
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -35,7 +36,7 @@
/** \file include/FLAC++/export.h
*
* \brief
- * This module contains #defines and symbols for exporting function
+ * This module contains \#defines and symbols for exporting function
* calls, and providing version information and compiled-in features.
*
* See the \link flacpp_export export \endlink module.
@@ -45,35 +46,54 @@
* \ingroup flacpp
*
* \brief
- * This module contains #defines and symbols for exporting function
+ * This module contains \#defines and symbols for exporting function
* calls, and providing version information and compiled-in features.
*
- * If you are compiling with MSVC and will link to the static library
- * (libFLAC++.lib) you should define FLAC__NO_DLL in your project to
- * make sure the symbols are exported properly.
+ * If you are compiling for Windows (with Visual Studio or MinGW for
+ * example) and will link to the static library (libFLAC++.lib) you
+ * should define FLAC__NO_DLL in your project to make sure the symbols
+ * are exported properly.
*
* \{
*/
-
-#if defined(FLAC__NO_DLL) || !defined(_MSC_VER)
+
+/** This \#define is used internally in libFLAC and its headers to make
+ * sure the correct symbols are exported when working with shared
+ * libraries. On Windows, this \#define is set to __declspec(dllexport)
+ * when compiling libFLAC into a library and to __declspec(dllimport)
+ * when the headers are used to link to that DLL. On non-Windows systems
+ * it is used to set symbol visibility.
+ *
+ * Because of this, the define FLAC__NO_DLL must be defined when linking
+ * to libFLAC statically or linking will fail.
+ */
+/* This has grown quite complicated. FLAC__NO_DLL is used by MSVC sln
+ * files and CMake, which build either static or shared. autotools can
+ * build static, shared or **both**. Therefore, DLL_EXPORT, which is set
+ * by libtool, must override FLAC__NO_DLL on building shared components
+ */
+#if defined(_WIN32)
+#if defined(FLAC__NO_DLL) && !(defined(DLL_EXPORT))
#define FLACPP_API
-
#else
-
#ifdef FLACPP_API_EXPORTS
-#define FLACPP_API _declspec(dllexport)
+#define FLACPP_API __declspec(dllexport)
#else
-#define FLACPP_API _declspec(dllimport)
-
+#define FLACPP_API __declspec(dllimport)
+#endif
#endif
+#elif defined(FLAC__USE_VISIBILITY_ATTR)
+#define FLACPP_API __attribute__ ((visibility ("default")))
+#else
+#define FLACPP_API
#endif
-/* These #defines will mirror the libtool-based library version number, see
- * http://www.gnu.org/software/libtool/manual.html#Libtool-versioning
+/** These \#defines will mirror the libtool-based library version number, see
+ * http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning
*/
-#define FLACPP_API_VERSION_CURRENT 8
-#define FLACPP_API_VERSION_REVISION 0
-#define FLACPP_API_VERSION_AGE 2
+#define FLACPP_API_VERSION_CURRENT 10
+#define FLACPP_API_VERSION_REVISION 1 /**< see above */
+#define FLACPP_API_VERSION_AGE 0 /**< see above */
/* \} */
diff --git a/3rdparty/libflac/include/FLAC++/metadata.h b/3rdparty/libflac/include/FLAC++/metadata.h
index 8c6a015f8d8..26bc4765278 100644
--- a/3rdparty/libflac/include/FLAC++/metadata.h
+++ b/3rdparty/libflac/include/FLAC++/metadata.h
@@ -1,5 +1,6 @@
/* libFLAC++ - Free Lossless Audio Codec library
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -198,7 +199,7 @@ namespace FLAC {
* \assert
* \code is_valid() \endcode
*/
- unsigned get_length() const;
+ uint32_t get_length() const;
/** Sets the "is_last" flag for the block. When using the iterators
* it is not necessary to set this flag; they will do it for you.
@@ -225,6 +226,15 @@ namespace FLAC {
inline void set_reference(bool x) { is_reference_ = x; }
};
+ // local utility routines
+
+ namespace local {
+
+ /** Construct a new object of the type provided in object->type and return it. */
+ Prototype *construct_block(::FLAC__StreamMetadata *object);
+
+ }
+
#ifdef _MSC_VER
// warning C4800: 'int' : forcing to bool 'true' or 'false' (performance warning)
#pragma warning ( disable : 4800 )
@@ -240,8 +250,7 @@ namespace FLAC {
{ return (bool)::FLAC__metadata_object_is_equal(object_, object); }
#ifdef _MSC_VER
-// @@@ how to re-enable? the following doesn't work
-// #pragma warning ( enable : 4800 )
+#pragma warning ( default : 4800 )
#endif
inline bool Prototype::operator!=(const Prototype &object) const
@@ -265,7 +274,7 @@ namespace FLAC {
/** STREAMINFO metadata block.
* See the \link flacpp_metadata_object overview \endlink for more,
- * and the <A HREF="../format.html#metadata_block_streaminfo">format specification</A>.
+ * and the <A HREF="https://xiph.org/flac/format.html#metadata_block_streaminfo">format specification</A>.
*/
class FLACPP_API StreamInfo : public Prototype {
public:
@@ -314,24 +323,24 @@ namespace FLAC {
//@}
//@{
- /** See <A HREF="../format.html#metadata_block_streaminfo">format specification</A>. */
- unsigned get_min_blocksize() const;
- unsigned get_max_blocksize() const;
- unsigned get_min_framesize() const;
- unsigned get_max_framesize() const;
- unsigned get_sample_rate() const;
- unsigned get_channels() const;
- unsigned get_bits_per_sample() const;
+ /** See <A HREF="https://xiph.org/flac/format.html#metadata_block_streaminfo">format specification</A>. */
+ uint32_t get_min_blocksize() const;
+ uint32_t get_max_blocksize() const;
+ uint32_t get_min_framesize() const;
+ uint32_t get_max_framesize() const;
+ uint32_t get_sample_rate() const;
+ uint32_t get_channels() const;
+ uint32_t get_bits_per_sample() const;
FLAC__uint64 get_total_samples() const;
const FLAC__byte *get_md5sum() const;
- void set_min_blocksize(unsigned value);
- void set_max_blocksize(unsigned value);
- void set_min_framesize(unsigned value);
- void set_max_framesize(unsigned value);
- void set_sample_rate(unsigned value);
- void set_channels(unsigned value);
- void set_bits_per_sample(unsigned value);
+ void set_min_blocksize(uint32_t value);
+ void set_max_blocksize(uint32_t value);
+ void set_min_framesize(uint32_t value);
+ void set_max_framesize(uint32_t value);
+ void set_sample_rate(uint32_t value);
+ void set_channels(uint32_t value);
+ void set_bits_per_sample(uint32_t value);
void set_total_samples(FLAC__uint64 value);
void set_md5sum(const FLAC__byte value[16]);
//@}
@@ -339,7 +348,7 @@ namespace FLAC {
/** PADDING metadata block.
* See the \link flacpp_metadata_object overview \endlink for more,
- * and the <A HREF="../format.html#metadata_block_padding">format specification</A>.
+ * and the <A HREF="https://xiph.org/flac/format.html#metadata_block_padding">format specification</A>.
*/
class FLACPP_API Padding : public Prototype {
public:
@@ -359,6 +368,10 @@ namespace FLAC {
*/
inline Padding(::FLAC__StreamMetadata *object, bool copy): Prototype(object, copy) { }
+ /** Constructs an object with the given length.
+ */
+ Padding(uint32_t length);
+
~Padding();
//@{
@@ -387,12 +400,14 @@ namespace FLAC {
inline bool operator!=(const ::FLAC__StreamMetadata *object) const { return Prototype::operator!=(object); }
//@}
- void set_length(unsigned length);
+ /** Sets the length in bytes of the padding block.
+ */
+ void set_length(uint32_t length);
};
/** APPLICATION metadata block.
* See the \link flacpp_metadata_object overview \endlink for more,
- * and the <A HREF="../format.html#metadata_block_application">format specification</A>.
+ * and the <A HREF="https://xiph.org/flac/format.html#metadata_block_application">format specification</A>.
*/
class FLACPP_API Application : public Prototype {
public:
@@ -445,13 +460,13 @@ namespace FLAC {
void set_id(const FLAC__byte value[4]);
//! This form always copies \a data
- bool set_data(const FLAC__byte *data, unsigned length);
- bool set_data(FLAC__byte *data, unsigned length, bool copy);
+ bool set_data(const FLAC__byte *data, uint32_t length);
+ bool set_data(FLAC__byte *data, uint32_t length, bool copy);
};
/** SEEKTABLE metadata block.
* See the \link flacpp_metadata_object overview \endlink for more,
- * and the <A HREF="../format.html#metadata_block_seektable">format specification</A>.
+ * and the <A HREF="https://xiph.org/flac/format.html#metadata_block_seektable">format specification</A>.
*/
class FLACPP_API SeekTable : public Prototype {
public:
@@ -499,25 +514,46 @@ namespace FLAC {
inline bool operator!=(const ::FLAC__StreamMetadata *object) const { return Prototype::operator!=(object); }
//@}
- unsigned get_num_points() const;
- ::FLAC__StreamMetadata_SeekPoint get_point(unsigned index) const;
+ uint32_t get_num_points() const;
+ ::FLAC__StreamMetadata_SeekPoint get_point(uint32_t index) const;
+
+ //! See FLAC__metadata_object_seektable_resize_points()
+ bool resize_points(uint32_t new_num_points);
//! See FLAC__metadata_object_seektable_set_point()
- void set_point(unsigned index, const ::FLAC__StreamMetadata_SeekPoint &point);
+ void set_point(uint32_t index, const ::FLAC__StreamMetadata_SeekPoint &point);
//! See FLAC__metadata_object_seektable_insert_point()
- bool insert_point(unsigned index, const ::FLAC__StreamMetadata_SeekPoint &point);
+ bool insert_point(uint32_t index, const ::FLAC__StreamMetadata_SeekPoint &point);
//! See FLAC__metadata_object_seektable_delete_point()
- bool delete_point(unsigned index);
+ bool delete_point(uint32_t index);
//! See FLAC__metadata_object_seektable_is_legal()
bool is_legal() const;
+
+ //! See FLAC__metadata_object_seektable_template_append_placeholders()
+ bool template_append_placeholders(uint32_t num);
+
+ //! See FLAC__metadata_object_seektable_template_append_point()
+ bool template_append_point(FLAC__uint64 sample_number);
+
+ //! See FLAC__metadata_object_seektable_template_append_points()
+ bool template_append_points(FLAC__uint64 sample_numbers[], uint32_t num);
+
+ //! See FLAC__metadata_object_seektable_template_append_spaced_points()
+ bool template_append_spaced_points(uint32_t num, FLAC__uint64 total_samples);
+
+ //! See FLAC__metadata_object_seektable_template_append_spaced_points_by_samples()
+ bool template_append_spaced_points_by_samples(uint32_t samples, FLAC__uint64 total_samples);
+
+ //! See FLAC__metadata_object_seektable_template_sort()
+ bool template_sort(bool compact);
};
/** VORBIS_COMMENT metadata block.
* See the \link flacpp_metadata_object overview \endlink for more,
- * and the <A HREF="../format.html#metadata_block_vorbis_comment">format specification</A>.
+ * and the <A HREF="https://xiph.org/flac/format.html#metadata_block_vorbis_comment">format specification</A>.
*/
class FLACPP_API VorbisComment : public Prototype {
public:
@@ -554,10 +590,10 @@ namespace FLAC {
public:
Entry();
- Entry(const char *field, unsigned field_length);
+ Entry(const char *field, uint32_t field_length);
Entry(const char *field); // assumes \a field is NUL-terminated
- Entry(const char *field_name, const char *field_value, unsigned field_value_length);
+ Entry(const char *field_name, const char *field_value, uint32_t field_value_length);
Entry(const char *field_name, const char *field_value); // assumes \a field_value is NUL-terminated
Entry(const Entry &entry);
@@ -568,36 +604,36 @@ namespace FLAC {
virtual bool is_valid() const; ///< Returns \c true iff object was properly constructed.
- unsigned get_field_length() const;
- unsigned get_field_name_length() const;
- unsigned get_field_value_length() const;
+ uint32_t get_field_length() const;
+ uint32_t get_field_name_length() const;
+ uint32_t get_field_value_length() const;
::FLAC__StreamMetadata_VorbisComment_Entry get_entry() const;
const char *get_field() const;
const char *get_field_name() const;
const char *get_field_value() const;
- bool set_field(const char *field, unsigned field_length);
+ bool set_field(const char *field, uint32_t field_length);
bool set_field(const char *field); // assumes \a field is NUL-terminated
bool set_field_name(const char *field_name);
- bool set_field_value(const char *field_value, unsigned field_value_length);
+ bool set_field_value(const char *field_value, uint32_t field_value_length);
bool set_field_value(const char *field_value); // assumes \a field_value is NUL-terminated
protected:
bool is_valid_;
::FLAC__StreamMetadata_VorbisComment_Entry entry_;
char *field_name_;
- unsigned field_name_length_;
+ uint32_t field_name_length_;
char *field_value_;
- unsigned field_value_length_;
+ uint32_t field_value_length_;
private:
void zero();
void clear();
void clear_entry();
void clear_field_name();
void clear_field_value();
- void construct(const char *field, unsigned field_length);
+ void construct(const char *field, uint32_t field_length);
void construct(const char *field); // assumes \a field is NUL-terminated
- void construct(const char *field_name, const char *field_value, unsigned field_value_length);
+ void construct(const char *field_name, const char *field_value, uint32_t field_value_length);
void construct(const char *field_name, const char *field_value); // assumes \a field_value is NUL-terminated
void compose_field();
void parse_field();
@@ -647,29 +683,44 @@ namespace FLAC {
inline bool operator!=(const ::FLAC__StreamMetadata *object) const { return Prototype::operator!=(object); }
//@}
- unsigned get_num_comments() const;
+ uint32_t get_num_comments() const;
const FLAC__byte *get_vendor_string() const; // NUL-terminated UTF-8 string
- Entry get_comment(unsigned index) const;
+ Entry get_comment(uint32_t index) const;
//! See FLAC__metadata_object_vorbiscomment_set_vendor_string()
bool set_vendor_string(const FLAC__byte *string); // NUL-terminated UTF-8 string
+ //! See FLAC__metadata_object_vorbiscomment_resize_comments()
+ bool resize_comments(uint32_t new_num_comments);
+
//! See FLAC__metadata_object_vorbiscomment_set_comment()
- bool set_comment(unsigned index, const Entry &entry);
+ bool set_comment(uint32_t index, const Entry &entry);
//! See FLAC__metadata_object_vorbiscomment_insert_comment()
- bool insert_comment(unsigned index, const Entry &entry);
+ bool insert_comment(uint32_t index, const Entry &entry);
//! See FLAC__metadata_object_vorbiscomment_append_comment()
bool append_comment(const Entry &entry);
+ //! See FLAC__metadata_object_vorbiscomment_replace_comment()
+ bool replace_comment(const Entry &entry, bool all);
+
//! See FLAC__metadata_object_vorbiscomment_delete_comment()
- bool delete_comment(unsigned index);
+ bool delete_comment(uint32_t index);
+
+ //! See FLAC__metadata_object_vorbiscomment_find_entry_from()
+ int find_entry_from(uint32_t offset, const char *field_name);
+
+ //! See FLAC__metadata_object_vorbiscomment_remove_entry_matching()
+ int remove_entry_matching(const char *field_name);
+
+ //! See FLAC__metadata_object_vorbiscomment_remove_entries_matching()
+ int remove_entries_matching(const char *field_name);
};
/** CUESHEET metadata block.
* See the \link flacpp_metadata_object overview \endlink for more,
- * and the <A HREF="../format.html#metadata_block_cuesheet">format specification</A>.
+ * and the <A HREF="https://xiph.org/flac/format.html#metadata_block_cuesheet">format specification</A>.
*/
class FLACPP_API CueSheet : public Prototype {
public:
@@ -696,21 +747,21 @@ namespace FLAC {
inline FLAC__uint64 get_offset() const { return object_->offset; }
inline FLAC__byte get_number() const { return object_->number; }
inline const char *get_isrc() const { return object_->isrc; }
- inline unsigned get_type() const { return object_->type; }
+ inline uint32_t get_type() const { return object_->type; }
inline bool get_pre_emphasis() const { return object_->pre_emphasis; }
inline FLAC__byte get_num_indices() const { return object_->num_indices; }
- ::FLAC__StreamMetadata_CueSheet_Index get_index(unsigned i) const;
+ ::FLAC__StreamMetadata_CueSheet_Index get_index(uint32_t i) const;
inline const ::FLAC__StreamMetadata_CueSheet_Track *get_track() const { return object_; }
inline void set_offset(FLAC__uint64 value) { object_->offset = value; }
inline void set_number(FLAC__byte value) { object_->number = value; }
void set_isrc(const char value[12]);
- void set_type(unsigned value);
+ void set_type(uint32_t value);
inline void set_pre_emphasis(bool value) { object_->pre_emphasis = value? 1 : 0; }
- void set_index(unsigned i, const ::FLAC__StreamMetadata_CueSheet_Index &index);
+ void set_index(uint32_t i, const ::FLAC__StreamMetadata_CueSheet_Index &index);
//@@@ It's awkward but to insert/delete index points
//@@@ you must use the routines in the CueSheet class.
};
@@ -763,29 +814,41 @@ namespace FLAC {
FLAC__uint64 get_lead_in() const;
bool get_is_cd() const;
- unsigned get_num_tracks() const;
- Track get_track(unsigned i) const;
+ uint32_t get_num_tracks() const;
+ Track get_track(uint32_t i) const;
void set_media_catalog_number(const char value[128]);
void set_lead_in(FLAC__uint64 value);
void set_is_cd(bool value);
- void set_index(unsigned track_num, unsigned index_num, const ::FLAC__StreamMetadata_CueSheet_Index &index);
+ void set_index(uint32_t track_num, uint32_t index_num, const ::FLAC__StreamMetadata_CueSheet_Index &index);
+
+ //! See FLAC__metadata_object_cuesheet_track_resize_indices()
+ bool resize_indices(uint32_t track_num, uint32_t new_num_indices);
//! See FLAC__metadata_object_cuesheet_track_insert_index()
- bool insert_index(unsigned track_num, unsigned index_num, const ::FLAC__StreamMetadata_CueSheet_Index &index);
+ bool insert_index(uint32_t track_num, uint32_t index_num, const ::FLAC__StreamMetadata_CueSheet_Index &index);
+
+ //! See FLAC__metadata_object_cuesheet_track_insert_blank_index()
+ bool insert_blank_index(uint32_t track_num, uint32_t index_num);
//! See FLAC__metadata_object_cuesheet_track_delete_index()
- bool delete_index(unsigned track_num, unsigned index_num);
+ bool delete_index(uint32_t track_num, uint32_t index_num);
+
+ //! See FLAC__metadata_object_cuesheet_resize_tracks()
+ bool resize_tracks(uint32_t new_num_tracks);
//! See FLAC__metadata_object_cuesheet_set_track()
- bool set_track(unsigned i, const Track &track);
+ bool set_track(uint32_t i, const Track &track);
//! See FLAC__metadata_object_cuesheet_insert_track()
- bool insert_track(unsigned i, const Track &track);
+ bool insert_track(uint32_t i, const Track &track);
+
+ //! See FLAC__metadata_object_cuesheet_insert_blank_track()
+ bool insert_blank_track(uint32_t i);
//! See FLAC__metadata_object_cuesheet_delete_track()
- bool delete_track(unsigned i);
+ bool delete_track(uint32_t i);
//! See FLAC__metadata_object_cuesheet_is_legal()
bool is_legal(bool check_cd_da_subset = false, const char **violation = 0) const;
@@ -796,7 +859,7 @@ namespace FLAC {
/** PICTURE metadata block.
* See the \link flacpp_metadata_object overview \endlink for more,
- * and the <A HREF="../format.html#metadata_block_picture">format specification</A>.
+ * and the <A HREF="https://xiph.org/flac/format.html#metadata_block_picture">format specification</A>.
*/
class FLACPP_API Picture : public Prototype {
public:
@@ -869,6 +932,9 @@ namespace FLAC {
//! See FLAC__metadata_object_picture_set_data()
bool set_data(const FLAC__byte *data, FLAC__uint32 data_length);
+
+ //! See FLAC__metadata_object_picture_is_legal()
+ bool is_legal(const char **violation);
};
/** Opaque metadata block for storing unknown types.
@@ -926,8 +992,8 @@ namespace FLAC {
const FLAC__byte *get_data() const;
//! This form always copies \a data
- bool set_data(const FLAC__byte *data, unsigned length);
- bool set_data(FLAC__byte *data, unsigned length, bool copy);
+ bool set_data(const FLAC__byte *data, uint32_t length);
+ bool set_data(FLAC__byte *data, uint32_t length, bool copy);
};
/* \} */
@@ -953,8 +1019,8 @@ namespace FLAC {
FLACPP_API bool get_cuesheet(const char *filename, CueSheet *&cuesheet); ///< See FLAC__metadata_get_cuesheet().
FLACPP_API bool get_cuesheet(const char *filename, CueSheet &cuesheet); ///< See FLAC__metadata_get_cuesheet().
- FLACPP_API bool get_picture(const char *filename, Picture *&picture, ::FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, unsigned max_width, unsigned max_height, unsigned max_depth, unsigned max_colors); ///< See FLAC__metadata_get_picture().
- FLACPP_API bool get_picture(const char *filename, Picture &picture, ::FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, unsigned max_width, unsigned max_height, unsigned max_depth, unsigned max_colors); ///< See FLAC__metadata_get_picture().
+ FLACPP_API bool get_picture(const char *filename, Picture *&picture, ::FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, uint32_t max_width, uint32_t max_height, uint32_t max_depth, uint32_t max_colors); ///< See FLAC__metadata_get_picture().
+ FLACPP_API bool get_picture(const char *filename, Picture &picture, ::FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, uint32_t max_width, uint32_t max_height, uint32_t max_depth, uint32_t max_colors); ///< See FLAC__metadata_get_picture().
/* \} */
@@ -1022,7 +1088,7 @@ namespace FLAC {
off_t get_block_offset() const; ///< See FLAC__metadata_simple_iterator_get_block_offset().
::FLAC__MetadataType get_block_type() const; ///< See FLAC__metadata_simple_iterator_get_block_type().
- unsigned get_block_length() const; ///< See FLAC__metadata_simple_iterator_get_block_length().
+ uint32_t get_block_length() const; ///< See FLAC__metadata_simple_iterator_get_block_length().
bool get_application_id(FLAC__byte *id); ///< See FLAC__metadata_simple_iterator_get_application_id().
Prototype *get_block(); ///< See FLAC__metadata_simple_iterator_get_block().
bool set_block(Prototype *block, bool use_padding = true); ///< See FLAC__metadata_simple_iterator_set_block().
@@ -1032,6 +1098,10 @@ namespace FLAC {
protected:
::FLAC__Metadata_SimpleIterator *iterator_;
void clear();
+
+ private: // Do not use.
+ SimpleIterator(const SimpleIterator&);
+ SimpleIterator&operator=(const SimpleIterator&);
};
/* \} */
@@ -1116,6 +1186,10 @@ namespace FLAC {
protected:
::FLAC__Metadata_Chain *chain_;
virtual void clear();
+
+ private: // Do not use.
+ Chain(const Chain&);
+ Chain&operator=(const Chain&);
};
/** This class is a wrapper around the FLAC__metadata_iterator
@@ -1146,6 +1220,10 @@ namespace FLAC {
protected:
::FLAC__Metadata_Iterator *iterator_;
virtual void clear();
+
+ private: // Do not use.
+ Iterator(const Iterator&);
+ Iterator&operator=(const Iterator&);
};
/* \} */
diff --git a/3rdparty/libflac/include/FLAC/Makefile.am b/3rdparty/libflac/include/FLAC/Makefile.am
index 19f49b1fd22..80ded6190d6 100644
--- a/3rdparty/libflac/include/FLAC/Makefile.am
+++ b/3rdparty/libflac/include/FLAC/Makefile.am
@@ -1,5 +1,6 @@
# libFLAC - Free Lossless Audio Codec library
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2000-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
diff --git a/3rdparty/libflac/include/FLAC/Makefile.in b/3rdparty/libflac/include/FLAC/Makefile.in
index 2bd4de85ca5..6c22fa90de9 100644
--- a/3rdparty/libflac/include/FLAC/Makefile.in
+++ b/3rdparty/libflac/include/FLAC/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,8 @@
@SET_MAKE@
# libFLAC - Free Lossless Audio Codec library
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2000-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -44,16 +45,67 @@
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -65,12 +117,102 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = include/FLAC
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(flaccinclude_HEADERS) \
+ $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(flaccincludedir)"
+HEADERS = $(flaccinclude_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -79,161 +221,144 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
flaccincludedir = $(includedir)/FLAC
-
flaccinclude_HEADERS = \
all.h \
assert.h \
@@ -245,143 +370,157 @@ flaccinclude_HEADERS = \
stream_decoder.h \
stream_encoder.h
-subdir = include/FLAC
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-HEADERS = $(flaccinclude_HEADERS)
-
-DIST_COMMON = $(flaccinclude_HEADERS) $(srcdir)/Makefile.in Makefile.am
all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu include/FLAC/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/FLAC/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign include/FLAC/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-flaccincludeHEADERS_INSTALL = $(INSTALL_HEADER)
install-flaccincludeHEADERS: $(flaccinclude_HEADERS)
@$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(flaccincludedir)
- @list='$(flaccinclude_HEADERS)'; for p in $$list; do \
+ @list='$(flaccinclude_HEADERS)'; test -n "$(flaccincludedir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(flaccincludedir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(flaccincludedir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(flaccincludeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(flaccincludedir)/$$f"; \
- $(flaccincludeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(flaccincludedir)/$$f; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(flaccincludedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(flaccincludedir)" || exit $$?; \
done
uninstall-flaccincludeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(flaccinclude_HEADERS)'; for p in $$list; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(flaccincludedir)/$$f"; \
- rm -f $(DESTDIR)$(flaccincludedir)/$$f; \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
+ @list='$(flaccinclude_HEADERS)'; test -n "$(flaccincludedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(flaccincludedir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(HEADERS)
-
installdirs:
- $(mkinstalldirs) $(DESTDIR)$(flaccincludedir)
+ for dir in "$(DESTDIR)$(flaccincludedir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
@@ -392,16 +531,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -412,25 +557,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am: install-flaccincludeHEADERS
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -449,18 +615,26 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-flaccincludeHEADERS uninstall-info-am
+uninstall-am: uninstall-flaccincludeHEADERS
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool ctags distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am info \
- info-am install install-am install-data install-data-am \
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool cscopelist-am ctags ctags-am distclean \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
install-exec install-exec-am install-flaccincludeHEADERS \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
- uninstall-am uninstall-flaccincludeHEADERS uninstall-info-am
+ install-html install-html-am install-info install-info-am \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-flaccincludeHEADERS
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/include/FLAC/all.h b/3rdparty/libflac/include/FLAC/all.h
index c542c0d5def..277dcbc520c 100644
--- a/3rdparty/libflac/include/FLAC/all.h
+++ b/3rdparty/libflac/include/FLAC/all.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -51,7 +52,7 @@
* level idea of the structure and how to find the information you
* need. As a prerequisite you should have at least a basic
* knowledge of the FLAC format, documented
- * <A HREF="../format.html">here</A>.
+ * <A HREF="https://xiph.org/flac/format.html">here</A>.
*
* \section c_api FLAC C API
*
@@ -63,7 +64,7 @@
*
* By writing a little code and linking against libFLAC, it is
* relatively easy to add FLAC support to another program. The
- * library is licensed under <A HREF="../license.html">Xiph's BSD license</A>.
+ * library is licensed under <A HREF="https://xiph.org/flac/license.html">Xiph's BSD license</A>.
* Complete source code of libFLAC as well as the command-line
* encoder and plugins is available and is a useful source of
* examples.
@@ -96,7 +97,7 @@
* example /usr/include/FLAC++/...).
*
* libFLAC++ is also licensed under
- * <A HREF="../license.html">Xiph's BSD license</A>.
+ * <A HREF="https://xiph.org/flac/license.html">Xiph's BSD license</A>.
*
* \section getting_started Getting Started
*
@@ -112,7 +113,7 @@
* functions through the links in top bar across this page.
*
* If you prefer a more hands-on approach, you can jump right to some
- * <A HREF="../documentation_example_code.html">example code</A>.
+ * <A HREF="https://xiph.org/flac/documentation_example_code.html">example code</A>.
*
* \section porting_guide Porting Guide
*
@@ -146,7 +147,7 @@
* library.
*
* Also, there are several places in the libFLAC code with comments marked
- * with "OPT:" where a #define can be changed to enable code that might be
+ * with "OPT:" where a \#define can be changed to enable code that might be
* faster on a specific platform. Experimenting with these can yield faster
* binaries.
*/
@@ -158,10 +159,10 @@
* the libraries to newer versions of FLAC.
*
* One simple facility for making porting easier that has been added
- * in FLAC 1.1.3 is a set of \c #defines in \c export.h of each
+ * in FLAC 1.1.3 is a set of \#defines in \c export.h of each
* library's includes (e.g. \c include/FLAC/export.h). The
- * \c #defines mirror the libraries'
- * <A HREF="http://www.gnu.org/software/libtool/manual.html#Libtool-versioning">libtool version numbers</A>,
+ * \#defines mirror the libraries'
+ * <A HREF="http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning">libtool version numbers</A>,
* e.g. in libFLAC there are \c FLAC_API_VERSION_CURRENT,
* \c FLAC_API_VERSION_REVISION, and \c FLAC_API_VERSION_AGE.
* These can be used to support multiple versions of an API during the
@@ -175,7 +176,7 @@
* #endif
* \endcode
*
- * The the source will work for multiple versions and the legacy code can
+ * The source will work for multiple versions and the legacy code can
* easily be removed when the transition is complete.
*
* Another available symbol is FLAC_API_SUPPORTS_OGG_FLAC (defined in
@@ -320,7 +321,7 @@
*
* The \a bytes parameter to FLAC__StreamDecoderReadCallback,
* FLAC__StreamEncoderReadCallback, and FLAC__StreamEncoderWriteCallback
- * is now \c size_t instead of \c unsigned.
+ * is now \c size_t instead of \c uint32_t.
*/
/** \defgroup porting_1_1_3_to_1_1_4 Porting from FLAC 1.1.3 to 1.1.4
@@ -356,6 +357,85 @@
* \c FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN
*/
+/** \defgroup porting_1_3_4_to_1_4_0 Porting from FLAC 1.3.4 to 1.4.0
+ * \ingroup porting
+ *
+ * \brief
+ * This module describes porting from FLAC 1.3.4 to FLAC 1.4.0.
+ *
+ * \section porting_1_3_4_to_1_4_0_summary Summary
+ *
+ * Between FLAC 1.3.4 and FLAC 1.4.0, there have four breaking changes
+ * - the function get_client_data_from_decoder has been renamed to
+ * FLAC__get_decoder_client_data
+ * - some data types in the FLAC__Frame struct have changed
+ * - all functions resizing metadata blocks now return the object
+ * untouched if memory allocation fails, whereas previously the
+ * handling varied and was more or less undefined
+ * - all functions accepting a filename now take UTF-8 encoded filenames
+ * on Windows instead of filenames in the current codepage
+ *
+ * Furthermore, there have been the following additions
+ * - the functions FLAC__stream_encoder_set_limit_min_bitrate,
+ * FLAC__stream_encoder_get_limit_min_bitrate,
+ * FLAC::encoder::file::set_limit_min_bitrate() and
+ * FLAC::encoder::file::get_limit_min_bitrate() have been added
+ * - Added FLAC__STREAM_DECODER_ERROR_STATUS_BAD_METADATA to the
+ * FLAC__StreamDecoderErrorStatus enum
+ *
+ * \section porting_1_3_4_to_1_4_0_breaking Breaking changes
+ *
+ * The function \b get_client_data_from_decoder was added in FLAC 1.3.3
+ * but did not follow the API naming convention and was not properly
+ * exported. The function is now renamed and properly integrated as
+ * FLAC__stream_decoder_get_client_data
+ *
+ * To accomodate encoding and decoding 32-bit int PCM, some data types
+ * in the \b FLAC__frame struct were changed. Specifically, warmup
+ * in both the FLAC__Subframe_Fixed struc and the FLAC__Subframe_LPC
+ * struct is changed from FLAC__int32 to FLAC__int64. Also, value
+ * in the FLAC__Subframe_Constant is changed from FLAC__int32 to
+ * FLAC__int64. Finally, in FLAC__Subframe_Verbatim struct data is
+ * changes from a FLAC__int32 array to a union containing a FLAC__int32
+ * array and a FLAC__int64 array. Also, a new member is added,
+ * data_type, which clarifies whether the FLAC__int32 or FLAC__int64
+ * array is in use.
+ *
+ * Furthermore, the following functions now return the object untouched
+ * if memory allocation fails, whereas previously the handling varied
+ * and was more or less undefined
+ *
+ * - FLAC__metadata_object_seektable_resize_points
+ * - FLAC__metadata_object_vorbiscomment_resize_comments
+ * - FLAC__metadata_object_cuesheet_track_resize_indices
+ * - FLAC__metadata_object_cuesheet_resize_tracks
+ *
+ * The last breaking change is that all API functions taking a filename
+ * as an argument now, on Windows, must be supplied with that filename
+ * in the UTF-8 character encoding instead of using the current code
+ * page. libFLAC internally translates these UTF-8 encoded filenames to
+ * an appropriate representation to use with _wfopen. On all other
+ * systems, filename is passed to fopen without any translation, as it
+ * in libFLAC 1.3.4 and earlier.
+ *
+ * \section porting_1_3_4_to_1_4_0_additions Additions
+ *
+ * To aid in creating properly streamable FLAC files, a set of functions
+ * was added to make it possible to enfore a minimum bitrate to files
+ * created through libFLAC's stream_encoder.h interface. With this
+ * function enabled the resulting FLAC files have a minimum bitrate of
+ * 1bit/sample independent of the number of channels, i.e. 48kbit/s for
+ * 48kHz. This can be beneficial for streaming, as very low bitrates for
+ * silent sections compressed with 'constant' subframes can result in a
+ * bitrate of 1kbit/s, creating problems with clients that aren't aware
+ * of this possibility and buffer too much data.
+ *
+ * Finally, FLAC__STREAM_DECODER_ERROR_STATUS_BAD_METADATA was added to
+ * the FLAC__StreamDecoderErrorStatus enum to signal that the decoder
+ * encountered unreadable metadata.
+ *
+ */
+
/** \defgroup flac FLAC C API
*
* The FLAC C API is the interface to libFLAC, a set of structures
diff --git a/3rdparty/libflac/include/FLAC/assert.h b/3rdparty/libflac/include/FLAC/assert.h
index 3fc03f316a5..ee3ee080b21 100644
--- a/3rdparty/libflac/include/FLAC/assert.h
+++ b/3rdparty/libflac/include/FLAC/assert.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -33,7 +34,11 @@
#define FLAC__ASSERT_H
/* we need this since some compilers (like MSVC) leave assert()s on release code (and we don't want to use their ASSERT) */
-#ifdef DEBUG
+#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+#define FLAC__ASSERT(x) if(!(x)) __builtin_abort();
+#define FLAC__ASSERT_DECLARATION(x) x
+#else
+#ifndef NDEBUG
#include <assert.h>
#define FLAC__ASSERT(x) assert(x)
#define FLAC__ASSERT_DECLARATION(x) x
@@ -41,5 +46,6 @@
#define FLAC__ASSERT(x)
#define FLAC__ASSERT_DECLARATION(x)
#endif
+#endif
#endif
diff --git a/3rdparty/libflac/include/FLAC/callback.h b/3rdparty/libflac/include/FLAC/callback.h
index c9541210b4f..4babcd324e5 100644
--- a/3rdparty/libflac/include/FLAC/callback.h
+++ b/3rdparty/libflac/include/FLAC/callback.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2004-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -89,7 +90,9 @@ typedef void* FLAC__IOHandle;
/** Signature for the read callback.
* The signature and semantics match POSIX fread() implementations
- * and can generally be used interchangeably.
+ * and can generally be used interchangeably. Note that the global
+ * variable errno from errno.h is read by some libFLAC functions to
+ * detect read errors.
*
* \param ptr The address of the read buffer.
* \param size The size of the records to be read.
@@ -164,15 +167,18 @@ typedef int (*FLAC__IOCallback_Close) (FLAC__IOHandle handle);
* required may be set to NULL.
*
* If the seek requirement for an interface is optional, you can signify that
- * a data sorce is not seekable by setting the \a seek field to \c NULL.
+ * a data source is not seekable by setting the \a seek field to \c NULL.
+ *
+ * See the detailed documentation for callbacks in the
+ * \link flac_callbacks callbacks \endlink module.
*/
typedef struct {
- FLAC__IOCallback_Read read;
- FLAC__IOCallback_Write write;
- FLAC__IOCallback_Seek seek;
- FLAC__IOCallback_Tell tell;
- FLAC__IOCallback_Eof eof;
- FLAC__IOCallback_Close close;
+ FLAC__IOCallback_Read read; /**< See FLAC__IOCallbacks */
+ FLAC__IOCallback_Write write; /**< See FLAC__IOCallbacks */
+ FLAC__IOCallback_Seek seek; /**< See FLAC__IOCallbacks */
+ FLAC__IOCallback_Tell tell; /**< See FLAC__IOCallbacks */
+ FLAC__IOCallback_Eof eof; /**< See FLAC__IOCallbacks */
+ FLAC__IOCallback_Close close; /**< See FLAC__IOCallbacks */
} FLAC__IOCallbacks;
/* \} */
diff --git a/3rdparty/libflac/include/FLAC/export.h b/3rdparty/libflac/include/FLAC/export.h
index a525f29c1e5..d14728a5049 100644
--- a/3rdparty/libflac/include/FLAC/export.h
+++ b/3rdparty/libflac/include/FLAC/export.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -35,7 +36,7 @@
/** \file include/FLAC/export.h
*
* \brief
- * This module contains #defines and symbols for exporting function
+ * This module contains \#defines and symbols for exporting function
* calls, and providing version information and compiled-in features.
*
* See the \link flac_export export \endlink module.
@@ -45,35 +46,58 @@
* \ingroup flac
*
* \brief
- * This module contains #defines and symbols for exporting function
+ * This module contains \#defines and symbols for exporting function
* calls, and providing version information and compiled-in features.
*
- * If you are compiling with MSVC and will link to the static library
- * (libFLAC.lib) you should define FLAC__NO_DLL in your project to
- * make sure the symbols are exported properly.
+ * If you are compiling for Windows (with Visual Studio or MinGW for
+ * example) and will link to the static library (libFLAC++.lib) you
+ * should define FLAC__NO_DLL in your project to make sure the symbols
+ * are exported properly.
*
* \{
*/
-#if defined(FLAC__NO_DLL) || !defined(_MSC_VER)
-#define FLAC_API
+/** This \#define is used internally in libFLAC and its headers to make
+ * sure the correct symbols are exported when working with shared
+ * libraries. On Windows, this \#define is set to __declspec(dllexport)
+ * when compiling libFLAC into a library and to __declspec(dllimport)
+ * when the headers are used to link to that DLL. On non-Windows systems
+ * it is used to set symbol visibility.
+ *
+ * Because of this, the define FLAC__NO_DLL must be defined when linking
+ * to libFLAC statically or linking will fail.
+ */
+/* This has grown quite complicated. FLAC__NO_DLL is used by MSVC sln
+ * files and CMake, which build either static or shared. autotools can
+ * build static, shared or **both**. Therefore, DLL_EXPORT, which is set
+ * by libtool, must override FLAC__NO_DLL on building shared components
+ */
+#if defined(_WIN32)
+#if defined(FLAC__NO_DLL) && !(defined(DLL_EXPORT))
+#define FLAC_API
#else
-
#ifdef FLAC_API_EXPORTS
-#define FLAC_API _declspec(dllexport)
+#define FLAC_API __declspec(dllexport)
#else
-#define FLAC_API _declspec(dllimport)
-
+#define FLAC_API __declspec(dllimport)
#endif
#endif
-/** These #defines will mirror the libtool-based library version number, see
- * http://www.gnu.org/software/libtool/manual.html#Libtool-versioning
+#elif defined(FLAC__USE_VISIBILITY_ATTR)
+#define FLAC_API __attribute__ ((visibility ("default")))
+
+#else
+#define FLAC_API
+
+#endif
+
+/** These \#defines will mirror the libtool-based library version number, see
+ * http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning
*/
-#define FLAC_API_VERSION_CURRENT 10
+#define FLAC_API_VERSION_CURRENT 13
#define FLAC_API_VERSION_REVISION 0 /**< see above */
-#define FLAC_API_VERSION_AGE 2 /**< see above */
+#define FLAC_API_VERSION_AGE 1 /**< see above */
#ifdef __cplusplus
extern "C" {
diff --git a/3rdparty/libflac/include/FLAC/format.h b/3rdparty/libflac/include/FLAC/format.h
index 77e2d0130e5..ef7c8b21902 100644
--- a/3rdparty/libflac/include/FLAC/format.h
+++ b/3rdparty/libflac/include/FLAC/format.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -59,7 +60,7 @@ extern "C" {
* structures used by the rest of the interfaces.
*
* First, you should be familiar with the
- * <A HREF="../format.html">FLAC format</A>. Many of the values here
+ * <A HREF="https://xiph.org/flac/format.html">FLAC format</A>. Many of the values here
* follow directly from the specification. As a user of libFLAC, the
* interesting parts really are the structures that describe the frame
* header and metadata blocks.
@@ -112,19 +113,16 @@ extern "C" {
/** The maximum sample resolution permitted by libFLAC.
*
- * \warning
* FLAC__MAX_BITS_PER_SAMPLE is the limit of the FLAC format. However,
- * the reference encoder/decoder is currently limited to 24 bits because
- * of prevalent 32-bit math, so make sure and use this value when
- * appropriate.
+ * the reference encoder/decoder used to be limited to 24 bits. This
+ * value was used to signal that limit.
*/
-#define FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE (24u)
+#define FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE (32u)
/** The maximum sample rate permitted by the format. The value is
- * ((2 ^ 16) - 1) * 10; see <A HREF="../format.html">FLAC format</A>
- * as to why.
+ * ((2 ^ 20) - 1)
*/
-#define FLAC__MAX_SAMPLE_RATE (655350u)
+#define FLAC__MAX_SAMPLE_RATE (1048575u)
/** The maximum LPC order permitted by the format. */
#define FLAC__MAX_LPC_ORDER (32u)
@@ -172,10 +170,10 @@ extern FLAC_API const FLAC__byte FLAC__STREAM_SYNC_STRING[4]; /* = "fLaC" */
/** The 32-bit integer big-endian representation of the beginning of
* a FLAC stream.
*/
-extern FLAC_API const unsigned FLAC__STREAM_SYNC; /* = 0x664C6143 */
+extern FLAC_API const uint32_t FLAC__STREAM_SYNC; /* = 0x664C6143 */
/** The length of the FLAC signature in bits. */
-extern FLAC_API const unsigned FLAC__STREAM_SYNC_LEN; /* = 32 bits */
+extern FLAC_API const uint32_t FLAC__STREAM_SYNC_LEN; /* = 32 bits */
/** The length of the FLAC signature in bytes. */
#define FLAC__STREAM_SYNC_LENGTH (4u)
@@ -212,26 +210,26 @@ extern FLAC_API const char * const FLAC__EntropyCodingMethodTypeString[];
*/
typedef struct {
- unsigned *parameters;
+ uint32_t *parameters;
/**< The Rice parameters for each context. */
- unsigned *raw_bits;
+ uint32_t *raw_bits;
/**< Widths for escape-coded partitions. Will be non-zero for escaped
* partitions and zero for unescaped partitions.
*/
- unsigned capacity_by_order;
+ uint32_t capacity_by_order;
/**< The capacity of the \a parameters and \a raw_bits arrays
* specified as an order, i.e. the number of array elements
* allocated is 2 ^ \a capacity_by_order.
*/
} FLAC__EntropyCodingMethod_PartitionedRiceContents;
-/** Header for a Rice partitioned residual. (c.f. <A HREF="../format.html#partitioned_rice">format specification</A>)
+/** Header for a Rice partitioned residual. (c.f. <A HREF="https://xiph.org/flac/format.html#partitioned_rice">format specification</A>)
*/
typedef struct {
- unsigned order;
+ uint32_t order;
/**< The partition order, i.e. # of contexts = 2 ^ \a order. */
const FLAC__EntropyCodingMethod_PartitionedRiceContents *contents;
@@ -239,17 +237,17 @@ typedef struct {
} FLAC__EntropyCodingMethod_PartitionedRice;
-extern FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN; /**< == 4 (bits) */
-extern FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN; /**< == 4 (bits) */
-extern FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN; /**< == 5 (bits) */
-extern FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN; /**< == 5 (bits) */
+extern FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN; /**< == 4 (bits) */
+extern FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN; /**< == 4 (bits) */
+extern FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN; /**< == 5 (bits) */
+extern FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN; /**< == 5 (bits) */
-extern FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER;
+extern FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER;
/**< == (1<<FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN)-1 */
-extern FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER;
+extern FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER;
/**< == (1<<FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN)-1 */
-/** Header for the entropy coding method. (c.f. <A HREF="../format.html#residual">format specification</A>)
+/** Header for the entropy coding method. (c.f. <A HREF="https://xiph.org/flac/format.html#residual">format specification</A>)
*/
typedef struct {
FLAC__EntropyCodingMethodType type;
@@ -258,7 +256,7 @@ typedef struct {
} data;
} FLAC__EntropyCodingMethod;
-extern FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_TYPE_LEN; /**< == 2 (bits) */
+extern FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_TYPE_LEN; /**< == 2 (bits) */
/*****************************************************************************/
@@ -278,30 +276,40 @@ typedef enum {
extern FLAC_API const char * const FLAC__SubframeTypeString[];
-/** CONSTANT subframe. (c.f. <A HREF="../format.html#subframe_constant">format specification</A>)
+/** CONSTANT subframe. (c.f. <A HREF="https://xiph.org/flac/format.html#subframe_constant">format specification</A>)
*/
typedef struct {
- FLAC__int32 value; /**< The constant signal value. */
+ FLAC__int64 value; /**< The constant signal value. */
} FLAC__Subframe_Constant;
+/** An enumeration of the possible verbatim subframe data types. */
+typedef enum {
+ FLAC__VERBATIM_SUBFRAME_DATA_TYPE_INT32, /**< verbatim subframe has 32-bit int */
+ FLAC__VERBATIM_SUBFRAME_DATA_TYPE_INT64 /**< verbatim subframe has 64-bit int */
+} FLAC__VerbatimSubframeDataType;
+
-/** VERBATIM subframe. (c.f. <A HREF="../format.html#subframe_verbatim">format specification</A>)
+/** VERBATIM subframe. (c.f. <A HREF="https://xiph.org/flac/format.html#subframe_verbatim">format specification</A>)
*/
typedef struct {
- const FLAC__int32 *data; /**< A pointer to verbatim signal. */
+ union {
+ const FLAC__int32 *int32; /**< A FLAC__int32 pointer to verbatim signal. */
+ const FLAC__int64 *int64; /**< A FLAC__int64 pointer to verbatim signal. */
+ } data;
+ FLAC__VerbatimSubframeDataType data_type;
} FLAC__Subframe_Verbatim;
-/** FIXED subframe. (c.f. <A HREF="../format.html#subframe_fixed">format specification</A>)
+/** FIXED subframe. (c.f. <A HREF="https://xiph.org/flac/format.html#subframe_fixed">format specification</A>)
*/
typedef struct {
FLAC__EntropyCodingMethod entropy_coding_method;
/**< The residual coding method. */
- unsigned order;
+ uint32_t order;
/**< The polynomial order. */
- FLAC__int32 warmup[FLAC__MAX_FIXED_ORDER];
+ FLAC__int64 warmup[FLAC__MAX_FIXED_ORDER];
/**< Warmup samples to prime the predictor, length == order. */
const FLAC__int32 *residual;
@@ -309,16 +317,16 @@ typedef struct {
} FLAC__Subframe_Fixed;
-/** LPC subframe. (c.f. <A HREF="../format.html#subframe_lpc">format specification</A>)
+/** LPC subframe. (c.f. <A HREF="https://xiph.org/flac/format.html#subframe_lpc">format specification</A>)
*/
typedef struct {
FLAC__EntropyCodingMethod entropy_coding_method;
/**< The residual coding method. */
- unsigned order;
+ uint32_t order;
/**< The FIR order. */
- unsigned qlp_coeff_precision;
+ uint32_t qlp_coeff_precision;
/**< Quantized FIR filter coefficient precision in bits. */
int quantization_level;
@@ -327,18 +335,18 @@ typedef struct {
FLAC__int32 qlp_coeff[FLAC__MAX_LPC_ORDER];
/**< FIR filter coefficients. */
- FLAC__int32 warmup[FLAC__MAX_LPC_ORDER];
+ FLAC__int64 warmup[FLAC__MAX_LPC_ORDER];
/**< Warmup samples to prime the predictor, length == order. */
const FLAC__int32 *residual;
/**< The residual signal, length == (blocksize minus order) samples. */
} FLAC__Subframe_LPC;
-extern FLAC_API const unsigned FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN; /**< == 4 (bits) */
-extern FLAC_API const unsigned FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN; /**< == 5 (bits) */
+extern FLAC_API const uint32_t FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN; /**< == 4 (bits) */
+extern FLAC_API const uint32_t FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN; /**< == 5 (bits) */
-/** FLAC subframe structure. (c.f. <A HREF="../format.html#subframe">format specification</A>)
+/** FLAC subframe structure. (c.f. <A HREF="https://xiph.org/flac/format.html#subframe">format specification</A>)
*/
typedef struct {
FLAC__SubframeType type;
@@ -348,7 +356,7 @@ typedef struct {
FLAC__Subframe_LPC lpc;
FLAC__Subframe_Verbatim verbatim;
} data;
- unsigned wasted_bits;
+ uint32_t wasted_bits;
} FLAC__Subframe;
/** == 1 (bit)
@@ -358,14 +366,14 @@ typedef struct {
* mandatory value of \c 0 but in the future may take on the value \c 0 or \c 1
* to mean something else.
*/
-extern FLAC_API const unsigned FLAC__SUBFRAME_ZERO_PAD_LEN;
-extern FLAC_API const unsigned FLAC__SUBFRAME_TYPE_LEN; /**< == 6 (bits) */
-extern FLAC_API const unsigned FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN; /**< == 1 (bit) */
+extern FLAC_API const uint32_t FLAC__SUBFRAME_ZERO_PAD_LEN;
+extern FLAC_API const uint32_t FLAC__SUBFRAME_TYPE_LEN; /**< == 6 (bits) */
+extern FLAC_API const uint32_t FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN; /**< == 1 (bit) */
-extern FLAC_API const unsigned FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK; /**< = 0x00 */
-extern FLAC_API const unsigned FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK; /**< = 0x02 */
-extern FLAC_API const unsigned FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK; /**< = 0x10 */
-extern FLAC_API const unsigned FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK; /**< = 0x40 */
+extern FLAC_API const uint32_t FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK; /**< = 0x00 */
+extern FLAC_API const uint32_t FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK; /**< = 0x02 */
+extern FLAC_API const uint32_t FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK; /**< = 0x10 */
+extern FLAC_API const uint32_t FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK; /**< = 0x40 */
/*****************************************************************************/
@@ -405,22 +413,22 @@ typedef enum {
extern FLAC_API const char * const FLAC__FrameNumberTypeString[];
-/** FLAC frame header structure. (c.f. <A HREF="../format.html#frame_header">format specification</A>)
+/** FLAC frame header structure. (c.f. <A HREF="https://xiph.org/flac/format.html#frame_header">format specification</A>)
*/
typedef struct {
- unsigned blocksize;
+ uint32_t blocksize;
/**< The number of samples per subframe. */
- unsigned sample_rate;
+ uint32_t sample_rate;
/**< The sample rate in Hz. */
- unsigned channels;
+ uint32_t channels;
/**< The number of channels (== number of subframes). */
FLAC__ChannelAssignment channel_assignment;
/**< The channel assignment for the frame. */
- unsigned bits_per_sample;
+ uint32_t bits_per_sample;
/**< The sample resolution. */
FLAC__FrameNumberType number_type;
@@ -442,19 +450,19 @@ typedef struct {
*/
} FLAC__FrameHeader;
-extern FLAC_API const unsigned FLAC__FRAME_HEADER_SYNC; /**< == 0x3ffe; the frame header sync code */
-extern FLAC_API const unsigned FLAC__FRAME_HEADER_SYNC_LEN; /**< == 14 (bits) */
-extern FLAC_API const unsigned FLAC__FRAME_HEADER_RESERVED_LEN; /**< == 1 (bits) */
-extern FLAC_API const unsigned FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN; /**< == 1 (bits) */
-extern FLAC_API const unsigned FLAC__FRAME_HEADER_BLOCK_SIZE_LEN; /**< == 4 (bits) */
-extern FLAC_API const unsigned FLAC__FRAME_HEADER_SAMPLE_RATE_LEN; /**< == 4 (bits) */
-extern FLAC_API const unsigned FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN; /**< == 4 (bits) */
-extern FLAC_API const unsigned FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN; /**< == 3 (bits) */
-extern FLAC_API const unsigned FLAC__FRAME_HEADER_ZERO_PAD_LEN; /**< == 1 (bit) */
-extern FLAC_API const unsigned FLAC__FRAME_HEADER_CRC_LEN; /**< == 8 (bits) */
+extern FLAC_API const uint32_t FLAC__FRAME_HEADER_SYNC; /**< == 0x3ffe; the frame header sync code */
+extern FLAC_API const uint32_t FLAC__FRAME_HEADER_SYNC_LEN; /**< == 14 (bits) */
+extern FLAC_API const uint32_t FLAC__FRAME_HEADER_RESERVED_LEN; /**< == 1 (bits) */
+extern FLAC_API const uint32_t FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN; /**< == 1 (bits) */
+extern FLAC_API const uint32_t FLAC__FRAME_HEADER_BLOCK_SIZE_LEN; /**< == 4 (bits) */
+extern FLAC_API const uint32_t FLAC__FRAME_HEADER_SAMPLE_RATE_LEN; /**< == 4 (bits) */
+extern FLAC_API const uint32_t FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN; /**< == 4 (bits) */
+extern FLAC_API const uint32_t FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN; /**< == 3 (bits) */
+extern FLAC_API const uint32_t FLAC__FRAME_HEADER_ZERO_PAD_LEN; /**< == 1 (bit) */
+extern FLAC_API const uint32_t FLAC__FRAME_HEADER_CRC_LEN; /**< == 8 (bits) */
-/** FLAC frame footer structure. (c.f. <A HREF="../format.html#frame_footer">format specification</A>)
+/** FLAC frame footer structure. (c.f. <A HREF="https://xiph.org/flac/format.html#frame_footer">format specification</A>)
*/
typedef struct {
FLAC__uint16 crc;
@@ -464,10 +472,10 @@ typedef struct {
*/
} FLAC__FrameFooter;
-extern FLAC_API const unsigned FLAC__FRAME_FOOTER_CRC_LEN; /**< == 16 (bits) */
+extern FLAC_API const uint32_t FLAC__FRAME_FOOTER_CRC_LEN; /**< == 16 (bits) */
-/** FLAC frame structure. (c.f. <A HREF="../format.html#frame">format specification</A>)
+/** FLAC frame structure. (c.f. <A HREF="https://xiph.org/flac/format.html#frame">format specification</A>)
*/
typedef struct {
FLAC__FrameHeader header;
@@ -488,29 +496,31 @@ typedef struct {
typedef enum {
FLAC__METADATA_TYPE_STREAMINFO = 0,
- /**< <A HREF="../format.html#metadata_block_streaminfo">STREAMINFO</A> block */
+ /**< <A HREF="https://xiph.org/flac/format.html#metadata_block_streaminfo">STREAMINFO</A> block */
FLAC__METADATA_TYPE_PADDING = 1,
- /**< <A HREF="../format.html#metadata_block_padding">PADDING</A> block */
+ /**< <A HREF="https://xiph.org/flac/format.html#metadata_block_padding">PADDING</A> block */
FLAC__METADATA_TYPE_APPLICATION = 2,
- /**< <A HREF="../format.html#metadata_block_application">APPLICATION</A> block */
+ /**< <A HREF="https://xiph.org/flac/format.html#metadata_block_application">APPLICATION</A> block */
FLAC__METADATA_TYPE_SEEKTABLE = 3,
- /**< <A HREF="../format.html#metadata_block_seektable">SEEKTABLE</A> block */
+ /**< <A HREF="https://xiph.org/flac/format.html#metadata_block_seektable">SEEKTABLE</A> block */
FLAC__METADATA_TYPE_VORBIS_COMMENT = 4,
- /**< <A HREF="../format.html#metadata_block_vorbis_comment">VORBISCOMMENT</A> block (a.k.a. FLAC tags) */
+ /**< <A HREF="https://xiph.org/flac/format.html#metadata_block_vorbis_comment">VORBISCOMMENT</A> block (a.k.a. FLAC tags) */
FLAC__METADATA_TYPE_CUESHEET = 5,
- /**< <A HREF="../format.html#metadata_block_cuesheet">CUESHEET</A> block */
+ /**< <A HREF="https://xiph.org/flac/format.html#metadata_block_cuesheet">CUESHEET</A> block */
FLAC__METADATA_TYPE_PICTURE = 6,
- /**< <A HREF="../format.html#metadata_block_picture">PICTURE</A> block */
+ /**< <A HREF="https://xiph.org/flac/format.html#metadata_block_picture">PICTURE</A> block */
- FLAC__METADATA_TYPE_UNDEFINED = 7
+ FLAC__METADATA_TYPE_UNDEFINED = 7,
/**< marker to denote beginning of undefined type range; this number will increase as new metadata types are added */
+ FLAC__MAX_METADATA_TYPE = FLAC__MAX_METADATA_TYPE_CODE,
+ /**< No type will ever be greater than this. There is not enough room in the protocol block. */
} FLAC__MetadataType;
/** Maps a FLAC__MetadataType to a C string.
@@ -521,32 +531,32 @@ typedef enum {
extern FLAC_API const char * const FLAC__MetadataTypeString[];
-/** FLAC STREAMINFO structure. (c.f. <A HREF="../format.html#metadata_block_streaminfo">format specification</A>)
+/** FLAC STREAMINFO structure. (c.f. <A HREF="https://xiph.org/flac/format.html#metadata_block_streaminfo">format specification</A>)
*/
typedef struct {
- unsigned min_blocksize, max_blocksize;
- unsigned min_framesize, max_framesize;
- unsigned sample_rate;
- unsigned channels;
- unsigned bits_per_sample;
+ uint32_t min_blocksize, max_blocksize;
+ uint32_t min_framesize, max_framesize;
+ uint32_t sample_rate;
+ uint32_t channels;
+ uint32_t bits_per_sample;
FLAC__uint64 total_samples;
FLAC__byte md5sum[16];
} FLAC__StreamMetadata_StreamInfo;
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN; /**< == 16 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN; /**< == 16 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN; /**< == 24 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN; /**< == 24 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN; /**< == 20 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN; /**< == 3 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN; /**< == 5 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN; /**< == 36 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN; /**< == 128 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN; /**< == 16 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN; /**< == 16 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN; /**< == 24 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN; /**< == 24 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN; /**< == 20 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN; /**< == 3 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN; /**< == 5 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN; /**< == 36 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN; /**< == 128 (bits) */
/** The total stream length of the STREAMINFO block in bytes. */
#define FLAC__STREAM_METADATA_STREAMINFO_LENGTH (34u)
-/** FLAC PADDING structure. (c.f. <A HREF="../format.html#metadata_block_padding">format specification</A>)
+/** FLAC PADDING structure. (c.f. <A HREF="https://xiph.org/flac/format.html#metadata_block_padding">format specification</A>)
*/
typedef struct {
int dummy;
@@ -557,16 +567,16 @@ typedef struct {
} FLAC__StreamMetadata_Padding;
-/** FLAC APPLICATION structure. (c.f. <A HREF="../format.html#metadata_block_application">format specification</A>)
+/** FLAC APPLICATION structure. (c.f. <A HREF="https://xiph.org/flac/format.html#metadata_block_application">format specification</A>)
*/
typedef struct {
FLAC__byte id[4];
FLAC__byte *data;
} FLAC__StreamMetadata_Application;
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_APPLICATION_ID_LEN; /**< == 32 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_APPLICATION_ID_LEN; /**< == 32 (bits) */
-/** SeekPoint structure used in SEEKTABLE blocks. (c.f. <A HREF="../format.html#seekpoint">format specification</A>)
+/** SeekPoint structure used in SEEKTABLE blocks. (c.f. <A HREF="https://xiph.org/flac/format.html#seekpoint">format specification</A>)
*/
typedef struct {
FLAC__uint64 sample_number;
@@ -576,13 +586,13 @@ typedef struct {
/**< The offset, in bytes, of the target frame with respect to
* beginning of the first frame. */
- unsigned frame_samples;
+ uint32_t frame_samples;
/**< The number of samples in the target frame. */
} FLAC__StreamMetadata_SeekPoint;
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN; /**< == 64 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN; /**< == 64 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN; /**< == 16 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN; /**< == 64 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN; /**< == 64 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN; /**< == 16 (bits) */
/** The total stream length of a seek point in bytes. */
#define FLAC__STREAM_METADATA_SEEKPOINT_LENGTH (18u)
@@ -594,7 +604,7 @@ extern FLAC_API const unsigned FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN
extern FLAC_API const FLAC__uint64 FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER;
-/** FLAC SEEKTABLE structure. (c.f. <A HREF="../format.html#metadata_block_seektable">format specification</A>)
+/** FLAC SEEKTABLE structure. (c.f. <A HREF="https://xiph.org/flac/format.html#metadata_block_seektable">format specification</A>)
*
* \note From the format specification:
* - The seek points must be sorted by ascending sample number.
@@ -607,12 +617,12 @@ extern FLAC_API const FLAC__uint64 FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER;
* present in a stream.
*/
typedef struct {
- unsigned num_points;
+ uint32_t num_points;
FLAC__StreamMetadata_SeekPoint *points;
} FLAC__StreamMetadata_SeekTable;
-/** Vorbis comment entry structure used in VORBIS_COMMENT blocks. (c.f. <A HREF="../format.html#metadata_block_vorbis_comment">format specification</A>)
+/** Vorbis comment entry structure used in VORBIS_COMMENT blocks. (c.f. <A HREF="https://xiph.org/flac/format.html#metadata_block_vorbis_comment">format specification</A>)
*
* For convenience, the APIs maintain a trailing NUL character at the end of
* \a entry which is not counted toward \a length, i.e.
@@ -623,10 +633,10 @@ typedef struct {
FLAC__byte *entry;
} FLAC__StreamMetadata_VorbisComment_Entry;
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN; /**< == 32 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN; /**< == 32 (bits) */
-/** FLAC VORBIS_COMMENT structure. (c.f. <A HREF="../format.html#metadata_block_vorbis_comment">format specification</A>)
+/** FLAC VORBIS_COMMENT structure. (c.f. <A HREF="https://xiph.org/flac/format.html#metadata_block_vorbis_comment">format specification</A>)
*/
typedef struct {
FLAC__StreamMetadata_VorbisComment_Entry vendor_string;
@@ -634,11 +644,11 @@ typedef struct {
FLAC__StreamMetadata_VorbisComment_Entry *comments;
} FLAC__StreamMetadata_VorbisComment;
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN; /**< == 32 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN; /**< == 32 (bits) */
/** FLAC CUESHEET track index structure. (See the
- * <A HREF="../format.html#cuesheet_track_index">format specification</A> for
+ * <A HREF="https://xiph.org/flac/format.html#cuesheet_track_index">format specification</A> for
* the full description of each field.)
*/
typedef struct {
@@ -651,13 +661,13 @@ typedef struct {
/**< The index point number. */
} FLAC__StreamMetadata_CueSheet_Index;
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN; /**< == 64 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN; /**< == 8 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN; /**< == 3*8 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN; /**< == 64 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN; /**< == 8 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN; /**< == 3*8 (bits) */
/** FLAC CUESHEET track structure. (See the
- * <A HREF="../format.html#cuesheet_track">format specification</A> for
+ * <A HREF="https://xiph.org/flac/format.html#cuesheet_track">format specification</A> for
* the full description of each field.)
*/
typedef struct {
@@ -670,10 +680,10 @@ typedef struct {
char isrc[13];
/**< Track ISRC. This is a 12-digit alphanumeric code plus a trailing \c NUL byte */
- unsigned type:1;
+ uint32_t type:1;
/**< The track type: 0 for audio, 1 for non-audio. */
- unsigned pre_emphasis:1;
+ uint32_t pre_emphasis:1;
/**< The pre-emphasis flag: 0 for no pre-emphasis, 1 for pre-emphasis. */
FLAC__byte num_indices;
@@ -684,17 +694,17 @@ typedef struct {
} FLAC__StreamMetadata_CueSheet_Track;
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN; /**< == 64 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN; /**< == 8 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN; /**< == 12*8 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN; /**< == 1 (bit) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN; /**< == 1 (bit) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN; /**< == 6+13*8 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN; /**< == 8 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN; /**< == 64 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN; /**< == 8 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN; /**< == 12*8 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN; /**< == 1 (bit) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN; /**< == 1 (bit) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN; /**< == 6+13*8 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN; /**< == 8 (bits) */
/** FLAC CUESHEET structure. (See the
- * <A HREF="../format.html#metadata_block_cuesheet">format specification</A>
+ * <A HREF="https://xiph.org/flac/format.html#metadata_block_cuesheet">format specification</A>
* for the full description of each field.)
*/
typedef struct {
@@ -710,7 +720,7 @@ typedef struct {
FLAC__bool is_cd;
/**< \c true if CUESHEET corresponds to a Compact Disc, else \c false. */
- unsigned num_tracks;
+ uint32_t num_tracks;
/**< The number of tracks. */
FLAC__StreamMetadata_CueSheet_Track *tracks;
@@ -718,11 +728,11 @@ typedef struct {
} FLAC__StreamMetadata_CueSheet;
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN; /**< == 128*8 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN; /**< == 64 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN; /**< == 1 (bit) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN; /**< == 7+258*8 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN; /**< == 8 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN; /**< == 128*8 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN; /**< == 64 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN; /**< == 1 (bit) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN; /**< == 7+258*8 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN; /**< == 8 (bits) */
/** An enumeration of the PICTURE types (see FLAC__StreamMetadataPicture and id3 v2.4 APIC tag). */
@@ -760,7 +770,7 @@ typedef enum {
extern FLAC_API const char * const FLAC__StreamMetadata_Picture_TypeString[];
/** FLAC PICTURE structure. (See the
- * <A HREF="../format.html#metadata_block_picture">format specification</A>
+ * <A HREF="https://xiph.org/flac/format.html#metadata_block_picture">format specification</A>
* for the full description of each field.)
*/
typedef struct {
@@ -807,14 +817,14 @@ typedef struct {
} FLAC__StreamMetadata_Picture;
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_TYPE_LEN; /**< == 32 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN; /**< == 32 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN; /**< == 32 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN; /**< == 32 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN; /**< == 32 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN; /**< == 32 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_COLORS_LEN; /**< == 32 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN; /**< == 32 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_TYPE_LEN; /**< == 32 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN; /**< == 32 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN; /**< == 32 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN; /**< == 32 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN; /**< == 32 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN; /**< == 32 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_COLORS_LEN; /**< == 32 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN; /**< == 32 (bits) */
/** Structure that is used when a metadata block of unknown type is loaded.
@@ -826,9 +836,9 @@ typedef struct {
} FLAC__StreamMetadata_Unknown;
-/** FLAC metadata block structure. (c.f. <A HREF="../format.html#metadata_block">format specification</A>)
+/** FLAC metadata block structure. (c.f. <A HREF="https://xiph.org/flac/format.html#metadata_block">format specification</A>)
*/
-typedef struct {
+typedef struct FLAC__StreamMetadata {
FLAC__MetadataType type;
/**< The type of the metadata block; used determine which member of the
* \a data union to dereference. If type >= FLAC__METADATA_TYPE_UNDEFINED
@@ -837,7 +847,7 @@ typedef struct {
FLAC__bool is_last;
/**< \c true if this metadata block is the last, else \a false */
- unsigned length;
+ uint32_t length;
/**< Length, in bytes, of the block data as it appears in the stream. */
union {
@@ -854,9 +864,9 @@ typedef struct {
* to use. */
} FLAC__StreamMetadata;
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_IS_LAST_LEN; /**< == 1 (bit) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_TYPE_LEN; /**< == 7 (bits) */
-extern FLAC_API const unsigned FLAC__STREAM_METADATA_LENGTH_LEN; /**< == 24 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_IS_LAST_LEN; /**< == 1 (bit) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_TYPE_LEN; /**< == 7 (bits) */
+extern FLAC_API const uint32_t FLAC__STREAM_METADATA_LENGTH_LEN; /**< == 24 (bits) */
/** The total stream length of a metadata block header in bytes. */
#define FLAC__STREAM_METADATA_HEADER_LENGTH (4u)
@@ -877,7 +887,19 @@ extern FLAC_API const unsigned FLAC__STREAM_METADATA_LENGTH_LEN; /**< == 24 (bit
* \c true if the given sample rate conforms to the specification, else
* \c false.
*/
-FLAC_API FLAC__bool FLAC__format_sample_rate_is_valid(unsigned sample_rate);
+FLAC_API FLAC__bool FLAC__format_sample_rate_is_valid(uint32_t sample_rate);
+
+/** Tests that a blocksize at the given sample rate is valid for the FLAC
+ * subset.
+ *
+ * \param blocksize The blocksize to test for compliance.
+ * \param sample_rate The sample rate is needed, since the valid subset
+ * blocksize depends on the sample rate.
+ * \retval FLAC__bool
+ * \c true if the given blocksize conforms to the specification for the
+ * subset at the given sample rate, else \c false.
+ */
+FLAC_API FLAC__bool FLAC__format_blocksize_is_subset(uint32_t blocksize, uint32_t sample_rate);
/** Tests that a sample rate is valid for the FLAC subset. The subset rules
* for valid sample rates are slightly more complex since the rate has to
@@ -888,7 +910,7 @@ FLAC_API FLAC__bool FLAC__format_sample_rate_is_valid(unsigned sample_rate);
* \c true if the given sample rate conforms to the specification for the
* subset, else \c false.
*/
-FLAC_API FLAC__bool FLAC__format_sample_rate_is_subset(unsigned sample_rate);
+FLAC_API FLAC__bool FLAC__format_sample_rate_is_subset(uint32_t sample_rate);
/** Check a Vorbis comment entry name to see if it conforms to the Vorbis
* comment specification.
@@ -911,14 +933,14 @@ FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_name_is_legal(const char *n
*
* \param value A string to be checked.
* \param length A the length of \a value in bytes. May be
- * \c (unsigned)(-1) to indicate that \a value is a plain
+ * \c (uint32_t)(-1) to indicate that \a value is a plain
* UTF-8 NUL-terminated string.
* \assert
* \code value != NULL \endcode
* \retval FLAC__bool
* \c false if entry name is illegal, else \c true.
*/
-FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_value_is_legal(const FLAC__byte *value, unsigned length);
+FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_value_is_legal(const FLAC__byte *value, uint32_t length);
/** Check a Vorbis comment entry to see if it conforms to the Vorbis
* comment specification.
@@ -935,7 +957,7 @@ FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_value_is_legal(const FLAC__
* \retval FLAC__bool
* \c false if entry name is illegal, else \c true.
*/
-FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_is_legal(const FLAC__byte *entry, unsigned length);
+FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_is_legal(const FLAC__byte *entry, uint32_t length);
/** Check a seek table to see if it conforms to the FLAC specification.
* See the format specification for limits on the contents of the
@@ -958,10 +980,10 @@ FLAC_API FLAC__bool FLAC__format_seektable_is_legal(const FLAC__StreamMetadata_S
* \param seek_table A pointer to a seek table to be sorted.
* \assert
* \code seek_table != NULL \endcode
- * \retval unsigned
+ * \retval uint32_t
* The number of duplicate seek points converted into placeholders.
*/
-FLAC_API unsigned FLAC__format_seektable_sort(FLAC__StreamMetadata_SeekTable *seek_table);
+FLAC_API uint32_t FLAC__format_seektable_sort(FLAC__StreamMetadata_SeekTable *seek_table);
/** Check a cue sheet to see if it conforms to the FLAC specification.
* See the format specification for limits on the contents of the
diff --git a/3rdparty/libflac/include/FLAC/metadata.h b/3rdparty/libflac/include/FLAC/metadata.h
index fff90b0bafd..4747a5f3fb1 100644
--- a/3rdparty/libflac/include/FLAC/metadata.h
+++ b/3rdparty/libflac/include/FLAC/metadata.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -92,7 +93,7 @@
* Efficient means the whole file is rewritten at most one time, and only
* when necessary. Level 1 is not efficient only in the case that you
* cause more than one metadata block to grow or shrink beyond what can
- * be accomodated by padding. In this case you should probably use level
+ * be accommodated by padding. In this case you should probably use level
* 2, which allows you to edit all the metadata for a file in memory and
* write it out all at once.
*
@@ -133,6 +134,11 @@ extern "C" {
* STREAMINFO, VORBIS_COMMENT, CUESHEET, and PICTURE blocks, requiring
* only a filename.
*
+ * On Windows, filename must be a UTF-8 encoded filename, which libFLAC
+ * internally translates to an appropriate representation to use with
+ * _wfopen. On all other systems, filename is passed to fopen without
+ * any translation.
+ *
* They try to skip any ID3v2 tag at the head of the file.
*
* \{
@@ -216,13 +222,13 @@ FLAC_API FLAC__bool FLAC__metadata_get_cuesheet(const char *filename, FLAC__Stre
* matched exactly. Use \c NULL to mean "any
* description".
* \param max_width The maximum width in pixels desired. Use
- * \c (unsigned)(-1) to mean "any width".
+ * \c (uint32_t)(-1) to mean "any width".
* \param max_height The maximum height in pixels desired. Use
- * \c (unsigned)(-1) to mean "any height".
+ * \c (uint32_t)(-1) to mean "any height".
* \param max_depth The maximum color depth in bits-per-pixel desired.
- * Use \c (unsigned)(-1) to mean "any depth".
+ * Use \c (uint32_t)(-1) to mean "any depth".
* \param max_colors The maximum number of colors desired. Use
- * \c (unsigned)(-1) to mean "any number of colors".
+ * \c (uint32_t)(-1) to mean "any number of colors".
* \assert
* \code filename != NULL \endcode
* \code picture != NULL \endcode
@@ -233,7 +239,7 @@ FLAC_API FLAC__bool FLAC__metadata_get_cuesheet(const char *filename, FLAC__Stre
* error, a file decoder error, or the file contained no PICTURE
* block, and \a *picture will be set to \c NULL.
*/
-FLAC_API FLAC__bool FLAC__metadata_get_picture(const char *filename, FLAC__StreamMetadata **picture, FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, unsigned max_width, unsigned max_height, unsigned max_depth, unsigned max_colors);
+FLAC_API FLAC__bool FLAC__metadata_get_picture(const char *filename, FLAC__StreamMetadata **picture, FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, uint32_t max_width, uint32_t max_height, uint32_t max_depth, uint32_t max_colors);
/* \} */
@@ -386,6 +392,11 @@ FLAC_API FLAC__Metadata_SimpleIteratorStatus FLAC__metadata_simple_iterator_stat
/** Initialize the iterator to point to the first metadata block in the
* given FLAC file.
*
+ * On Windows, filename must be a UTF-8 encoded filename, which libFLAC
+ * internally translates to an appropriate representation to use with
+ * _wfopen. On all other systems, filename is passed to fopen without
+ * any translation.
+ *
* \param iterator A pointer to an existing iterator.
* \param filename The path to the FLAC file.
* \param read_only If \c true, the FLAC file will be opened
@@ -496,13 +507,13 @@ FLAC_API FLAC__MetadataType FLAC__metadata_simple_iterator_get_block_type(const
* \code iterator != NULL \endcode
* \a iterator has been successfully initialized with
* FLAC__metadata_simple_iterator_init()
- * \retval unsigned
+ * \retval uint32_t
* The length of the metadata block at the current iterator position.
* The is same length as that in the
- * <a href="http://flac.sourceforge.net/format.html#metadata_block_header">metadata block header</a>,
+ * <a href="http://xiph.org/flhttps://xiph.org/flac/format.html#metadata_block_header">metadata block header</a>,
* i.e. the length of the metadata body that follows the header.
*/
-FLAC_API unsigned FLAC__metadata_simple_iterator_get_block_length(const FLAC__Metadata_SimpleIterator *iterator);
+FLAC_API uint32_t FLAC__metadata_simple_iterator_get_block_length(const FLAC__Metadata_SimpleIterator *iterator);
/** Get the application ID of the \c APPLICATION block at the current
* position. This avoids reading the actual block data which can save
@@ -666,7 +677,7 @@ FLAC_API FLAC__bool FLAC__metadata_simple_iterator_delete_block(FLAC__Metadata_S
*
* - Create a new chain using FLAC__metadata_chain_new(). A chain is a
* linked list of FLAC metadata blocks.
- * - Read all metadata into the the chain from a FLAC file using
+ * - Read all metadata into the chain from a FLAC file using
* FLAC__metadata_chain_read() or FLAC__metadata_chain_read_ogg() and
* check the status.
* - Optionally, consolidate the padding using
@@ -763,7 +774,7 @@ typedef enum {
FLAC__METADATA_CHAIN_STATUS_READ_WRITE_MISMATCH,
/**< FLAC__metadata_chain_write() was called on a chain read by
* FLAC__metadata_chain_read_with_callbacks()/FLAC__metadata_chain_read_ogg_with_callbacks(),
- * or
+ * or
* FLAC__metadata_chain_write_with_callbacks()/FLAC__metadata_chain_write_with_callbacks_and_tempfile()
* was called on a chain read by
* FLAC__metadata_chain_read()/FLAC__metadata_chain_read_ogg().
@@ -819,6 +830,11 @@ FLAC_API FLAC__Metadata_ChainStatus FLAC__metadata_chain_status(FLAC__Metadata_C
/** Read all metadata from a FLAC file into the chain.
*
+ * On Windows, filename must be a UTF-8 encoded filename, which libFLAC
+ * internally translates to an appropriate representation to use with
+ * _wfopen. On all other systems, filename is passed to fopen without
+ * any translation.
+ *
* \param chain A pointer to an existing chain.
* \param filename The path to the FLAC file to read.
* \assert
@@ -833,6 +849,11 @@ FLAC_API FLAC__bool FLAC__metadata_chain_read(FLAC__Metadata_Chain *chain, const
/** Read all metadata from an Ogg FLAC file into the chain.
*
+ * On Windows, filename must be a UTF-8 encoded filename, which libFLAC
+ * internally translates to an appropriate representation to use with
+ * _wfopen. On all other systems, filename is passed to fopen without
+ * any translation.
+ *
* \note Ogg FLAC metadata data writing is not supported yet and
* FLAC__metadata_chain_write() will fail.
*
@@ -1372,12 +1393,13 @@ FLAC_API FLAC__bool FLAC__metadata_object_is_equal(const FLAC__StreamMetadata *b
* \retval FLAC__bool
* \c false if \a copy is \c true and malloc() fails, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_application_set_data(FLAC__StreamMetadata *object, FLAC__byte *data, unsigned length, FLAC__bool copy);
+FLAC_API FLAC__bool FLAC__metadata_object_application_set_data(FLAC__StreamMetadata *object, FLAC__byte *data, uint32_t length, FLAC__bool copy);
/** Resize the seekpoint array.
*
* If the size shrinks, elements will truncated; if it grows, new placeholder
- * points will be added to the end.
+ * points will be added to the end. If this function returns false, the
+ * object is left untouched.
*
* \param object A pointer to an existing SEEKTABLE object.
* \param new_num_points The desired length of the array; may be \c 0.
@@ -1389,7 +1411,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_application_set_data(FLAC__StreamMetad
* \retval FLAC__bool
* \c false if memory allocation error, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_seektable_resize_points(FLAC__StreamMetadata *object, unsigned new_num_points);
+FLAC_API FLAC__bool FLAC__metadata_object_seektable_resize_points(FLAC__StreamMetadata *object, uint32_t new_num_points);
/** Set a seekpoint in a seektable.
*
@@ -1401,7 +1423,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_seektable_resize_points(FLAC__StreamMe
* \code object->type == FLAC__METADATA_TYPE_SEEKTABLE \endcode
* \code object->data.seek_table.num_points > point_num \endcode
*/
-FLAC_API void FLAC__metadata_object_seektable_set_point(FLAC__StreamMetadata *object, unsigned point_num, FLAC__StreamMetadata_SeekPoint point);
+FLAC_API void FLAC__metadata_object_seektable_set_point(FLAC__StreamMetadata *object, uint32_t point_num, FLAC__StreamMetadata_SeekPoint point);
/** Insert a seekpoint into a seektable.
*
@@ -1415,7 +1437,7 @@ FLAC_API void FLAC__metadata_object_seektable_set_point(FLAC__StreamMetadata *ob
* \retval FLAC__bool
* \c false if memory allocation error, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_seektable_insert_point(FLAC__StreamMetadata *object, unsigned point_num, FLAC__StreamMetadata_SeekPoint point);
+FLAC_API FLAC__bool FLAC__metadata_object_seektable_insert_point(FLAC__StreamMetadata *object, uint32_t point_num, FLAC__StreamMetadata_SeekPoint point);
/** Delete a seekpoint from a seektable.
*
@@ -1428,7 +1450,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_seektable_insert_point(FLAC__StreamMet
* \retval FLAC__bool
* \c false if memory allocation error, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_seektable_delete_point(FLAC__StreamMetadata *object, unsigned point_num);
+FLAC_API FLAC__bool FLAC__metadata_object_seektable_delete_point(FLAC__StreamMetadata *object, uint32_t point_num);
/** Check a seektable to see if it conforms to the FLAC specification.
* See the format specification for limits on the contents of the
@@ -1458,7 +1480,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_seektable_is_legal(const FLAC__StreamM
* \retval FLAC__bool
* \c false if memory allocation fails, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_placeholders(FLAC__StreamMetadata *object, unsigned num);
+FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_placeholders(FLAC__StreamMetadata *object, uint32_t num);
/** Append a specific seek point template to the end of a seek table.
*
@@ -1493,7 +1515,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_point(FLAC__
* \retval FLAC__bool
* \c false if memory allocation fails, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_points(FLAC__StreamMetadata *object, FLAC__uint64 sample_numbers[], unsigned num);
+FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_points(FLAC__StreamMetadata *object, FLAC__uint64 sample_numbers[], uint32_t num);
/** Append a set of evenly-spaced seek point templates to the end of a
* seek table.
@@ -1515,7 +1537,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_points(FLAC_
* \retval FLAC__bool
* \c false if memory allocation fails, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_points(FLAC__StreamMetadata *object, unsigned num, FLAC__uint64 total_samples);
+FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_points(FLAC__StreamMetadata *object, uint32_t num, FLAC__uint64 total_samples);
/** Append a set of evenly-spaced seek point templates to the end of a
* seek table.
@@ -1543,7 +1565,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_point
* \retval FLAC__bool
* \c false if memory allocation fails, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_points_by_samples(FLAC__StreamMetadata *object, unsigned samples, FLAC__uint64 total_samples);
+FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_points_by_samples(FLAC__StreamMetadata *object, uint32_t samples, FLAC__uint64 total_samples);
/** Sort a seek table's seek points according to the format specification,
* removing duplicates.
@@ -1590,7 +1612,8 @@ FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_set_vendor_string(FLAC__
/** Resize the comment array.
*
* If the size shrinks, elements will truncated; if it grows, new empty
- * fields will be added to the end.
+ * fields will be added to the end. If this function returns false, the
+ * object is left untouched.
*
* \param object A pointer to an existing VORBIS_COMMENT object.
* \param new_num_comments The desired length of the array; may be \c 0.
@@ -1602,7 +1625,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_set_vendor_string(FLAC__
* \retval FLAC__bool
* \c false if memory allocation fails, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_resize_comments(FLAC__StreamMetadata *object, unsigned new_num_comments);
+FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_resize_comments(FLAC__StreamMetadata *object, uint32_t new_num_comments);
/** Sets a comment in a VORBIS_COMMENT block.
*
@@ -1629,7 +1652,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_resize_comments(FLAC__St
* \c false if memory allocation fails or \a entry does not comply with the
* Vorbis comment specification, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_set_comment(FLAC__StreamMetadata *object, unsigned comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy);
+FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_set_comment(FLAC__StreamMetadata *object, uint32_t comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy);
/** Insert a comment in a VORBIS_COMMENT block at the given index.
*
@@ -1659,7 +1682,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_set_comment(FLAC__Stream
* \c false if memory allocation fails or \a entry does not comply with the
* Vorbis comment specification, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_insert_comment(FLAC__StreamMetadata *object, unsigned comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy);
+FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_insert_comment(FLAC__StreamMetadata *object, uint32_t comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy);
/** Appends a comment to a VORBIS_COMMENT block.
*
@@ -1691,7 +1714,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_append_comment(FLAC__Str
* For convenience, a trailing NUL is added to the entry if it doesn't have
* one already.
*
- * Depending on the the value of \a all, either all or just the first comment
+ * Depending on the value of \a all, either all or just the first comment
* whose field name(s) match the given entry's name will be replaced by the
* given entry. If no comments match, \a entry will simply be appended.
*
@@ -1732,7 +1755,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_replace_comment(FLAC__St
* \retval FLAC__bool
* \c false if realloc() fails, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_delete_comment(FLAC__StreamMetadata *object, unsigned comment_num);
+FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_delete_comment(FLAC__StreamMetadata *object, uint32_t comment_num);
/** Creates a Vorbis comment entry from NUL-terminated name and value strings.
*
@@ -1788,7 +1811,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair
* \retval FLAC__bool
* \c true if the field names match, else \c false
*/
-FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_entry_matches(const FLAC__StreamMetadata_VorbisComment_Entry entry, const char *field_name, unsigned field_name_length);
+FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_entry_matches(const FLAC__StreamMetadata_VorbisComment_Entry entry, const char *field_name, uint32_t field_name_length);
/** Find a Vorbis comment with the given field name.
*
@@ -1807,7 +1830,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_entry_matches(const FLAC
* The offset in the comment array of the first comment whose field
* name matches \a field_name, or \c -1 if no match was found.
*/
-FLAC_API int FLAC__metadata_object_vorbiscomment_find_entry_from(const FLAC__StreamMetadata *object, unsigned offset, const char *field_name);
+FLAC_API int FLAC__metadata_object_vorbiscomment_find_entry_from(const FLAC__StreamMetadata *object, uint32_t offset, const char *field_name);
/** Remove first Vorbis comment matching the given field name.
*
@@ -1870,7 +1893,8 @@ FLAC_API void FLAC__metadata_object_cuesheet_track_delete(FLAC__StreamMetadata_C
/** Resize a track's index point array.
*
* If the size shrinks, elements will truncated; if it grows, new blank
- * indices will be added to the end.
+ * indices will be added to the end. If this function returns false, the
+ * track object is left untouched.
*
* \param object A pointer to an existing CUESHEET object.
* \param track_num The index of the track to modify. NOTE: this is not
@@ -1885,7 +1909,7 @@ FLAC_API void FLAC__metadata_object_cuesheet_track_delete(FLAC__StreamMetadata_C
* \retval FLAC__bool
* \c false if memory allocation error, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_resize_indices(FLAC__StreamMetadata *object, unsigned track_num, unsigned new_num_indices);
+FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_resize_indices(FLAC__StreamMetadata *object, uint32_t track_num, uint32_t new_num_indices);
/** Insert an index point in a CUESHEET track at the given index.
*
@@ -1908,7 +1932,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_resize_indices(FLAC__St
* \retval FLAC__bool
* \c false if realloc() fails, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_insert_index(FLAC__StreamMetadata *object, unsigned track_num, unsigned index_num, FLAC__StreamMetadata_CueSheet_Index index);
+FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_insert_index(FLAC__StreamMetadata *object, uint32_t track_num, uint32_t index_num, FLAC__StreamMetadata_CueSheet_Index index);
/** Insert a blank index point in a CUESHEET track at the given index.
*
@@ -1932,7 +1956,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_insert_index(FLAC__Stre
* \retval FLAC__bool
* \c false if realloc() fails, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_insert_blank_index(FLAC__StreamMetadata *object, unsigned track_num, unsigned index_num);
+FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_insert_blank_index(FLAC__StreamMetadata *object, uint32_t track_num, uint32_t index_num);
/** Delete an index point in a CUESHEET track at the given index.
*
@@ -1951,12 +1975,13 @@ FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_insert_blank_index(FLAC
* \retval FLAC__bool
* \c false if realloc() fails, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_delete_index(FLAC__StreamMetadata *object, unsigned track_num, unsigned index_num);
+FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_delete_index(FLAC__StreamMetadata *object, uint32_t track_num, uint32_t index_num);
/** Resize the track array.
*
* If the size shrinks, elements will truncated; if it grows, new blank
- * tracks will be added to the end.
+ * tracks will be added to the end. If this function returns false, the
+ * object is left untouched.
*
* \param object A pointer to an existing CUESHEET object.
* \param new_num_tracks The desired length of the array; may be \c 0.
@@ -1968,7 +1993,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_delete_index(FLAC__Stre
* \retval FLAC__bool
* \c false if memory allocation error, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_resize_tracks(FLAC__StreamMetadata *object, unsigned new_num_tracks);
+FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_resize_tracks(FLAC__StreamMetadata *object, uint32_t new_num_tracks);
/** Sets a track in a CUESHEET block.
*
@@ -1986,11 +2011,11 @@ FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_resize_tracks(FLAC__StreamMet
* \code object->type == FLAC__METADATA_TYPE_CUESHEET \endcode
* \code track_num < object->data.cue_sheet.num_tracks \endcode
* \code (track->indices != NULL && track->num_indices > 0) ||
- * (track->indices == NULL && track->num_indices == 0)
+ * (track->indices == NULL && track->num_indices == 0) \endcode
* \retval FLAC__bool
* \c false if \a copy is \c true and malloc() fails, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_set_track(FLAC__StreamMetadata *object, unsigned track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy);
+FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_set_track(FLAC__StreamMetadata *object, uint32_t track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy);
/** Insert a track in a CUESHEET block at the given index.
*
@@ -2013,7 +2038,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_set_track(FLAC__StreamMetadat
* \retval FLAC__bool
* \c false if \a copy is \c true and malloc() fails, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_insert_track(FLAC__StreamMetadata *object, unsigned track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy);
+FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_insert_track(FLAC__StreamMetadata *object, uint32_t track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy);
/** Insert a blank track in a CUESHEET block at the given index.
*
@@ -2032,7 +2057,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_insert_track(FLAC__StreamMeta
* \retval FLAC__bool
* \c false if \a copy is \c true and malloc() fails, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_insert_blank_track(FLAC__StreamMetadata *object, unsigned track_num);
+FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_insert_blank_track(FLAC__StreamMetadata *object, uint32_t track_num);
/** Delete a track in a CUESHEET block at the given index.
*
@@ -2047,7 +2072,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_insert_blank_track(FLAC__Stre
* \retval FLAC__bool
* \c false if realloc() fails, else \c true.
*/
-FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_delete_track(FLAC__StreamMetadata *object, unsigned track_num);
+FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_delete_track(FLAC__StreamMetadata *object, uint32_t track_num);
/** Check a cue sheet to see if it conforms to the FLAC specification.
* See the format specification for limits on the contents of the
@@ -2172,6 +2197,34 @@ FLAC_API FLAC__bool FLAC__metadata_object_picture_set_data(FLAC__StreamMetadata
*/
FLAC_API FLAC__bool FLAC__metadata_object_picture_is_legal(const FLAC__StreamMetadata *object, const char **violation);
+
+/** Get the raw (binary) representation of a FLAC__StreamMetadata objeect.
+ * After use, free() the returned buffer. The length of the buffer is
+ * the length of the input metadata object plus 4 bytes for the header.
+ *
+ * \param object A pointer to metadata block to be converted.
+ * \assert
+ * \code object != NULL \endcode
+ * \retval FLAC__byte*
+ * \c NULL if there was an error, else a pointer to a buffer holding
+ * the requested data.
+ */
+FLAC_API FLAC__byte * FLAC__metadata_object_get_raw(const FLAC__StreamMetadata *object);
+
+
+/** Turn a raw (binary) representation into a FLAC__StreamMetadata objeect.
+ * The returned object must be deleted with FLAC__metadata_object_delete()
+ * after use.
+ *
+ * \param buffer A pointer to a buffer containing a binary representation
+ * to be converted to a FLAC__StreamMetadata object
+ * \param length The length of the supplied buffer
+ * \retval FLAC__StreamMetadata*
+ * \c NULL if there was an error, else a pointer to a FLAC__StreamMetadata
+ * holding the requested data.
+ */
+
+FLAC_API FLAC__StreamMetadata * FLAC__metadata_object_set_raw(FLAC__byte *buffer, FLAC__uint32 length);
/* \} */
#ifdef __cplusplus
diff --git a/3rdparty/libflac/include/FLAC/ordinals.h b/3rdparty/libflac/include/FLAC/ordinals.h
index a7a5cd96135..d61aac578bb 100644
--- a/3rdparty/libflac/include/FLAC/ordinals.h
+++ b/3rdparty/libflac/include/FLAC/ordinals.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -32,49 +33,23 @@
#ifndef FLAC__ORDINALS_H
#define FLAC__ORDINALS_H
-#if !(defined(_MSC_VER) || defined(__BORLANDC__) || defined(__EMX__))
-#include <inttypes.h>
-#endif
+/* This of course assumes C99 headers */
+
+#include <stdint.h>
+#include <stdbool.h>
-typedef signed char FLAC__int8;
-typedef unsigned char FLAC__uint8;
+typedef int8_t FLAC__int8;
+typedef uint8_t FLAC__uint8;
-#if defined(_MSC_VER) || defined(__BORLANDC__)
-typedef __int16 FLAC__int16;
-typedef __int32 FLAC__int32;
-typedef __int64 FLAC__int64;
-typedef unsigned __int16 FLAC__uint16;
-typedef unsigned __int32 FLAC__uint32;
-typedef unsigned __int64 FLAC__uint64;
-#elif defined(__EMX__)
-typedef short FLAC__int16;
-typedef long FLAC__int32;
-typedef long long FLAC__int64;
-typedef unsigned short FLAC__uint16;
-typedef unsigned long FLAC__uint32;
-typedef unsigned long long FLAC__uint64;
-#else
typedef int16_t FLAC__int16;
typedef int32_t FLAC__int32;
typedef int64_t FLAC__int64;
typedef uint16_t FLAC__uint16;
typedef uint32_t FLAC__uint32;
typedef uint64_t FLAC__uint64;
-#endif
typedef int FLAC__bool;
typedef FLAC__uint8 FLAC__byte;
-#ifdef true
-#undef true
-#endif
-#ifdef false
-#undef false
-#endif
-#ifndef __cplusplus
-#define true 1
-#define false 0
-#endif
-
#endif
diff --git a/3rdparty/libflac/include/FLAC/stream_decoder.h b/3rdparty/libflac/include/FLAC/stream_decoder.h
index 9ac159474af..2272bcac9b7 100644
--- a/3rdparty/libflac/include/FLAC/stream_decoder.h
+++ b/3rdparty/libflac/include/FLAC/stream_decoder.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -227,7 +228,7 @@ typedef enum {
*/
FLAC__STREAM_DECODER_ABORTED,
- /**< The decoder was aborted by the read callback. */
+ /**< The decoder was aborted by the read or write callback. */
FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR,
/**< An error occurred allocating memory. The decoder is in an invalid
@@ -421,7 +422,11 @@ extern FLAC_API const char * const FLAC__StreamDecoderWriteStatusString[];
* could be because the decoder encountered a valid frame made by a future
* version of the encoder which it cannot parse, or because of a false
* sync making it appear as though an encountered frame was generated by
- * a future encoder.
+ * a future encoder. \c FLAC__STREAM_DECODER_ERROR_STATUS_BAD_METADATA is
+ * caused by finding data that doesn't fit a metadata block (too large
+ * or too small) or finding inconsistencies in the metadata, for example
+ * a PICTURE block with an image that exceeds the size of the metadata
+ * block.
*/
typedef enum {
@@ -434,9 +439,12 @@ typedef enum {
FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH,
/**< The frame's data did not match the CRC in the footer. */
- FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM
+ FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM,
/**< The decoder encountered reserved fields in use in the stream. */
+ FLAC__STREAM_DECODER_ERROR_STATUS_BAD_METADATA
+ /**< The decoder encountered a corrupted metadata block. */
+
} FLAC__StreamDecoderErrorStatus;
/** Maps a FLAC__StreamDecoderErrorStatus to a C string.
@@ -673,7 +681,7 @@ typedef FLAC__bool (*FLAC__StreamDecoderEofCallback)(const FLAC__StreamDecoder *
* samples of length \a frame->header.blocksize.
* Channels will be ordered according to the FLAC
* specification; see the documentation for the
- * <A HREF="../format.html#frame_header">frame header</A>.
+ * <A HREF="https://xiph.org/flac/format.html#frame_header">frame header</A>.
* \param client_data The callee's client data set through
* FLAC__stream_decoder_init_*().
* \retval FLAC__StreamDecoderWriteStatus
@@ -919,7 +927,7 @@ FLAC_API FLAC__bool FLAC__stream_decoder_get_md5_checking(const FLAC__StreamDeco
* \param decoder A decoder instance to query.
* \assert
* \code decoder != NULL \endcode
- * \retval unsigned
+ * \retval uint32_t
* See above.
*/
FLAC_API FLAC__uint64 FLAC__stream_decoder_get_total_samples(const FLAC__StreamDecoder *decoder);
@@ -931,10 +939,10 @@ FLAC_API FLAC__uint64 FLAC__stream_decoder_get_total_samples(const FLAC__StreamD
* \param decoder A decoder instance to query.
* \assert
* \code decoder != NULL \endcode
- * \retval unsigned
+ * \retval uint32_t
* See above.
*/
-FLAC_API unsigned FLAC__stream_decoder_get_channels(const FLAC__StreamDecoder *decoder);
+FLAC_API uint32_t FLAC__stream_decoder_get_channels(const FLAC__StreamDecoder *decoder);
/** Get the current channel assignment in the stream being decoded.
* Will only be valid after decoding has started and will contain the
@@ -955,10 +963,10 @@ FLAC_API FLAC__ChannelAssignment FLAC__stream_decoder_get_channel_assignment(con
* \param decoder A decoder instance to query.
* \assert
* \code decoder != NULL \endcode
- * \retval unsigned
+ * \retval uint32_t
* See above.
*/
-FLAC_API unsigned FLAC__stream_decoder_get_bits_per_sample(const FLAC__StreamDecoder *decoder);
+FLAC_API uint32_t FLAC__stream_decoder_get_bits_per_sample(const FLAC__StreamDecoder *decoder);
/** Get the current sample rate in Hz of the stream being decoded.
* Will only be valid after decoding has started and will contain the
@@ -967,10 +975,10 @@ FLAC_API unsigned FLAC__stream_decoder_get_bits_per_sample(const FLAC__StreamDec
* \param decoder A decoder instance to query.
* \assert
* \code decoder != NULL \endcode
- * \retval unsigned
+ * \retval uint32_t
* See above.
*/
-FLAC_API unsigned FLAC__stream_decoder_get_sample_rate(const FLAC__StreamDecoder *decoder);
+FLAC_API uint32_t FLAC__stream_decoder_get_sample_rate(const FLAC__StreamDecoder *decoder);
/** Get the current blocksize of the stream being decoded.
* Will only be valid after decoding has started and will contain the
@@ -979,10 +987,10 @@ FLAC_API unsigned FLAC__stream_decoder_get_sample_rate(const FLAC__StreamDecoder
* \param decoder A decoder instance to query.
* \assert
* \code decoder != NULL \endcode
- * \retval unsigned
+ * \retval uint32_t
* See above.
*/
-FLAC_API unsigned FLAC__stream_decoder_get_blocksize(const FLAC__StreamDecoder *decoder);
+FLAC_API uint32_t FLAC__stream_decoder_get_blocksize(const FLAC__StreamDecoder *decoder);
/** Returns the decoder's current read position within the stream.
* The position is the byte offset from the start of the stream.
@@ -1005,6 +1013,16 @@ FLAC_API unsigned FLAC__stream_decoder_get_blocksize(const FLAC__StreamDecoder *
*/
FLAC_API FLAC__bool FLAC__stream_decoder_get_decode_position(const FLAC__StreamDecoder *decoder, FLAC__uint64 *position);
+/** Return client_data from decoder.
+ * The data pointed to by the pointer should not be modified.
+ *
+ * \param decoder A decoder instance.
+ * \retval const void *
+ * The callee's client data set through FLAC__stream_decoder_init_*().
+ * Do not modify the contents.
+ */
+FLAC_API const void *FLAC__stream_decoder_get_client_data(FLAC__StreamDecoder *decoder);
+
/** Initialize the decoder instance to decode native FLAC streams.
*
* This flavor of initialization sets up the decoder to decode from a
@@ -1183,7 +1201,7 @@ FLAC_API FLAC__StreamDecoderInitStatus FLAC__stream_decoder_init_ogg_stream(
* Unless \a file is \c stdin, it will be closed
* when FLAC__stream_decoder_finish() is called.
* Note however that seeking will not work when
- * decoding from \c stdout since it is not seekable.
+ * decoding from \c stdin since it is not seekable.
* \param write_callback See FLAC__StreamDecoderWriteCallback. This
* pointer must not be \c NULL.
* \param metadata_callback See FLAC__StreamDecoderMetadataCallback. This
@@ -1233,7 +1251,7 @@ FLAC_API FLAC__StreamDecoderInitStatus FLAC__stream_decoder_init_FILE(
* Unless \a file is \c stdin, it will be closed
* when FLAC__stream_decoder_finish() is called.
* Note however that seeking will not work when
- * decoding from \c stdout since it is not seekable.
+ * decoding from \c stdin since it is not seekable.
* \param write_callback See FLAC__StreamDecoderWriteCallback. This
* pointer must not be \c NULL.
* \param metadata_callback See FLAC__StreamDecoderMetadataCallback. This
@@ -1262,11 +1280,15 @@ FLAC_API FLAC__StreamDecoderInitStatus FLAC__stream_decoder_init_ogg_FILE(
/** Initialize the decoder instance to decode native FLAC files.
*
* This flavor of initialization sets up the decoder to decode from a plain
- * native FLAC file. If POSIX fopen() semantics are not sufficient, (for
- * example, with Unicode filenames on Windows), you must use
- * FLAC__stream_decoder_init_FILE(), or FLAC__stream_decoder_init_stream()
+ * native FLAC file. If POSIX fopen() semantics are not sufficient, you must
+ * use FLAC__stream_decoder_init_FILE(), or FLAC__stream_decoder_init_stream()
* and provide callbacks for the I/O.
*
+ * On Windows, filename must be a UTF-8 encoded filename, which libFLAC
+ * internally translates to an appropriate representation to use with
+ * _wfopen. On all other systems, filename is passed to fopen without
+ * any translation.
+ *
* This function should be called after FLAC__stream_decoder_new() and
* FLAC__stream_decoder_set_*() but before any of the
* FLAC__stream_decoder_process_*() functions. Will set and return the
@@ -1304,11 +1326,15 @@ FLAC_API FLAC__StreamDecoderInitStatus FLAC__stream_decoder_init_file(
/** Initialize the decoder instance to decode Ogg FLAC files.
*
* This flavor of initialization sets up the decoder to decode from a plain
- * Ogg FLAC file. If POSIX fopen() semantics are not sufficient, (for
- * example, with Unicode filenames on Windows), you must use
+ * Ogg FLAC file. If POSIX fopen() semantics are not sufficient, you must use
* FLAC__stream_decoder_init_ogg_FILE(), or FLAC__stream_decoder_init_ogg_stream()
* and provide callbacks for the I/O.
*
+ * On Windows, filename must be a UTF-8 encoded filename, which libFLAC
+ * internally translates to an appropriate representation to use with
+ * _wfopen. On all other systems, filename is passed to fopen without
+ * any translation.
+ *
* This function should be called after FLAC__stream_decoder_new() and
* FLAC__stream_decoder_set_*() but before any of the
* FLAC__stream_decoder_process_*() functions. Will set and return the
@@ -1402,8 +1428,7 @@ FLAC_API FLAC__bool FLAC__stream_decoder_flush(FLAC__StreamDecoder *decoder);
* and is not seekable (i.e. no seek callback was provided or the seek
* callback returns \c FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED), it
* is the duty of the client to start feeding data from the beginning of
- * the stream on the next FLAC__stream_decoder_process() or
- * FLAC__stream_decoder_process_interleaved() call.
+ * the stream on the next FLAC__stream_decoder_process_*() call.
*
* \param decoder A decoder instance.
* \assert
diff --git a/3rdparty/libflac/include/FLAC/stream_encoder.h b/3rdparty/libflac/include/FLAC/stream_encoder.h
index dbbbb23ee11..a0d026397df 100644
--- a/3rdparty/libflac/include/FLAC/stream_encoder.h
+++ b/3rdparty/libflac/include/FLAC/stream_encoder.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -128,8 +129,8 @@ extern "C" {
* Unlike the decoders, the stream encoder has many options that can
* affect the speed and compression ratio. When setting these parameters
* you should have some basic knowledge of the format (see the
- * <A HREF="../documentation.html#format">user-level documentation</A>
- * or the <A HREF="../format.html">formal description</A>). The
+ * <A HREF="https://xiph.org/flac/documentation_format_overview.html">user-level documentation</A>
+ * or the <A HREF="https://xiph.org/flac/format.html">formal description</A>). The
* FLAC__stream_encoder_set_*() functions themselves do not validate the
* values as many are interdependent. The FLAC__stream_encoder_init_*()
* functions will do this, so make sure to pay attention to the state
@@ -310,8 +311,7 @@ typedef enum {
FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BITS_PER_SAMPLE,
/**< The encoder has an invalid setting for bits-per-sample.
- * FLAC supports 4-32 bps but the reference encoder currently supports
- * only up to 24 bps.
+ * FLAC supports 4-32 bps.
*/
FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_SAMPLE_RATE,
@@ -330,7 +330,7 @@ typedef enum {
/**< The specified block size is less than the maximum LPC order. */
FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE,
- /**< The encoder is bound to the <A HREF="../format.html#subset">Subset</A> but other settings violate it. */
+ /**< The encoder is bound to the <A HREF="https://xiph.org/flac/format.html#subset">Subset</A> but other settings violate it. */
FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_METADATA,
/**< The metadata input to the encoder is invalid, in one of the following ways:
@@ -553,7 +553,7 @@ typedef FLAC__StreamEncoderReadStatus (*FLAC__StreamEncoderReadCallback)(const F
* \retval FLAC__StreamEncoderWriteStatus
* The callee's return status.
*/
-typedef FLAC__StreamEncoderWriteStatus (*FLAC__StreamEncoderWriteCallback)(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data);
+typedef FLAC__StreamEncoderWriteStatus (*FLAC__StreamEncoderWriteCallback)(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame, void *client_data);
/** Signature for the seek callback.
*
@@ -674,7 +674,7 @@ typedef void (*FLAC__StreamEncoderMetadataCallback)(const FLAC__StreamEncoder *e
* \param client_data The callee's client data set through
* FLAC__stream_encoder_init_*().
*/
-typedef void (*FLAC__StreamEncoderProgressCallback)(const FLAC__StreamEncoder *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate, void *client_data);
+typedef void (*FLAC__StreamEncoderProgressCallback)(const FLAC__StreamEncoder *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, uint32_t frames_written, uint32_t total_frames_estimate, void *client_data);
/***********************************************************************
@@ -742,7 +742,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_ogg_serial_number(FLAC__StreamEncod
*/
FLAC_API FLAC__bool FLAC__stream_encoder_set_verify(FLAC__StreamEncoder *encoder, FLAC__bool value);
-/** Set the <A HREF="../format.html#subset">Subset</A> flag. If \c true,
+/** Set the <A HREF="https://xiph.org/flac/format.html#subset">Subset</A> flag. If \c true,
* the encoder will comply with the Subset and will check the
* settings during FLAC__stream_encoder_init_*() to see if all settings
* comply. If \c false, the settings may take advantage of the full
@@ -770,7 +770,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_streamable_subset(FLAC__StreamEncod
* \retval FLAC__bool
* \c false if the encoder is already initialized, else \c true.
*/
-FLAC_API FLAC__bool FLAC__stream_encoder_set_channels(FLAC__StreamEncoder *encoder, unsigned value);
+FLAC_API FLAC__bool FLAC__stream_encoder_set_channels(FLAC__StreamEncoder *encoder, uint32_t value);
/** Set the sample resolution of the input to be encoded.
*
@@ -786,7 +786,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_channels(FLAC__StreamEncoder *encod
* \retval FLAC__bool
* \c false if the encoder is already initialized, else \c true.
*/
-FLAC_API FLAC__bool FLAC__stream_encoder_set_bits_per_sample(FLAC__StreamEncoder *encoder, unsigned value);
+FLAC_API FLAC__bool FLAC__stream_encoder_set_bits_per_sample(FLAC__StreamEncoder *encoder, uint32_t value);
/** Set the sample rate (in Hz) of the input to be encoded.
*
@@ -798,7 +798,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_bits_per_sample(FLAC__StreamEncoder
* \retval FLAC__bool
* \c false if the encoder is already initialized, else \c true.
*/
-FLAC_API FLAC__bool FLAC__stream_encoder_set_sample_rate(FLAC__StreamEncoder *encoder, unsigned value);
+FLAC_API FLAC__bool FLAC__stream_encoder_set_sample_rate(FLAC__StreamEncoder *encoder, uint32_t value);
/** Set the compression level
*
@@ -829,28 +829,28 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_sample_rate(FLAC__StreamEncoder *en
* The actual values set for each level are:
* <table>
* <tr>
- * <td><b>level</b><td>
- * <td>do mid-side stereo<td>
- * <td>loose mid-side stereo<td>
- * <td>apodization<td>
- * <td>max lpc order<td>
- * <td>qlp coeff precision<td>
- * <td>qlp coeff prec search<td>
- * <td>escape coding<td>
- * <td>exhaustive model search<td>
- * <td>min residual partition order<td>
- * <td>max residual partition order<td>
- * <td>rice parameter search dist<td>
+ * <td><b>level</b></td>
+ * <td>do mid-side stereo</td>
+ * <td>loose mid-side stereo</td>
+ * <td>apodization</td>
+ * <td>max lpc order</td>
+ * <td>qlp coeff precision</td>
+ * <td>qlp coeff prec search</td>
+ * <td>escape coding</td>
+ * <td>exhaustive model search</td>
+ * <td>min residual partition order</td>
+ * <td>max residual partition order</td>
+ * <td>rice parameter search dist</td>
* </tr>
- * <tr> <td><b>0</b><td> <td>false<td> <td>false<td> <td>tukey(0.5)<td> <td>0<td> <td>0<td> <td>false<td> <td>false<td> <td>false<td> <td>0<td> <td>3<td> <td>0<td> </tr>
- * <tr> <td><b>1</b><td> <td>true<td> <td>true<td> <td>tukey(0.5)<td> <td>0<td> <td>0<td> <td>false<td> <td>false<td> <td>false<td> <td>0<td> <td>3<td> <td>0<td> </tr>
- * <tr> <td><b>2</b><td> <td>true<td> <td>false<td> <td>tukey(0.5)<td> <td>0<td> <td>0<td> <td>false<td> <td>false<td> <td>false<td> <td>0<td> <td>3<td> <td>0<td> </tr>
- * <tr> <td><b>3</b><td> <td>false<td> <td>false<td> <td>tukey(0.5)<td> <td>6<td> <td>0<td> <td>false<td> <td>false<td> <td>false<td> <td>0<td> <td>4<td> <td>0<td> </tr>
- * <tr> <td><b>4</b><td> <td>true<td> <td>true<td> <td>tukey(0.5)<td> <td>8<td> <td>0<td> <td>false<td> <td>false<td> <td>false<td> <td>0<td> <td>4<td> <td>0<td> </tr>
- * <tr> <td><b>5</b><td> <td>true<td> <td>false<td> <td>tukey(0.5)<td> <td>8<td> <td>0<td> <td>false<td> <td>false<td> <td>false<td> <td>0<td> <td>5<td> <td>0<td> </tr>
- * <tr> <td><b>6</b><td> <td>true<td> <td>false<td> <td>tukey(0.5)<td> <td>8<td> <td>0<td> <td>false<td> <td>false<td> <td>false<td> <td>0<td> <td>6<td> <td>0<td> </tr>
- * <tr> <td><b>7</b><td> <td>true<td> <td>false<td> <td>tukey(0.5)<td> <td>8<td> <td>0<td> <td>false<td> <td>false<td> <td>true<td> <td>0<td> <td>6<td> <td>0<td> </tr>
- * <tr> <td><b>8</b><td> <td>true<td> <td>false<td> <td>tukey(0.5)<td> <td>12<td> <td>0<td> <td>false<td> <td>false<td> <td>true<td> <td>0<td> <td>6<td> <td>0<td> </tr>
+ * <tr> <td><b>0</b></td> <td>false</td> <td>false</td> <td>tukey(0.5)</td> <td>0</td> <td>0</td> <td>false</td> <td>false</td> <td>false</td> <td>0</td> <td>3</td> <td>0</td> </tr>
+ * <tr> <td><b>1</b></td> <td>true</td> <td>true</td> <td>tukey(0.5)</td> <td>0</td> <td>0</td> <td>false</td> <td>false</td> <td>false</td> <td>0</td> <td>3</td> <td>0</td> </tr>
+ * <tr> <td><b>2</b></td> <td>true</td> <td>false</td> <td>tukey(0.5)</td> <td>0</td> <td>0</td> <td>false</td> <td>false</td> <td>false</td> <td>0</td> <td>3</td> <td>0</td> </tr>
+ * <tr> <td><b>3</b></td> <td>false</td> <td>false</td> <td>tukey(0.5)</td> <td>6</td> <td>0</td> <td>false</td> <td>false</td> <td>false</td> <td>0</td> <td>4</td> <td>0</td> </tr>
+ * <tr> <td><b>4</b></td> <td>true</td> <td>true</td> <td>tukey(0.5)</td> <td>8</td> <td>0</td> <td>false</td> <td>false</td> <td>false</td> <td>0</td> <td>4</td> <td>0</td> </tr>
+ * <tr> <td><b>5</b></td> <td>true</td> <td>false</td> <td>tukey(0.5)</td> <td>8</td> <td>0</td> <td>false</td> <td>false</td> <td>false</td> <td>0</td> <td>5</td> <td>0</td> </tr>
+ * <tr> <td><b>6</b></td> <td>true</td> <td>false</td> <td>subdivide_tukey(2)</td> <td>8</td> <td>0</td> <td>false</td> <td>false</td> <td>false</td> <td>0</td> <td>6</td> <td>0</td> </tr>
+ * <tr> <td><b>7</b></td> <td>true</td> <td>false</td> <td>subdivide_tukey(2)</td> <td>12</td> <td>0</td> <td>false</td> <td>false</td> <td>false</td> <td>0</td> <td>6</td> <td>0</td> </tr>
+ * <tr> <td><b>8</b></td> <td>true</td> <td>false</td> <td>subdivide_tukey(3)</td> <td>12</td> <td>0</td> <td>false</td> <td>false</td> <td>false</td> <td>0</td> <td>6</td> <td>0</td> </tr>
* </table>
*
* \default \c 5
@@ -861,7 +861,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_sample_rate(FLAC__StreamEncoder *en
* \retval FLAC__bool
* \c false if the encoder is already initialized, else \c true.
*/
-FLAC_API FLAC__bool FLAC__stream_encoder_set_compression_level(FLAC__StreamEncoder *encoder, unsigned value);
+FLAC_API FLAC__bool FLAC__stream_encoder_set_compression_level(FLAC__StreamEncoder *encoder, uint32_t value);
/** Set the blocksize to use while encoding.
*
@@ -876,13 +876,13 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_compression_level(FLAC__StreamEncod
* \retval FLAC__bool
* \c false if the encoder is already initialized, else \c true.
*/
-FLAC_API FLAC__bool FLAC__stream_encoder_set_blocksize(FLAC__StreamEncoder *encoder, unsigned value);
+FLAC_API FLAC__bool FLAC__stream_encoder_set_blocksize(FLAC__StreamEncoder *encoder, uint32_t value);
/** Set to \c true to enable mid-side encoding on stereo input. The
* number of channels must be 2 for this to have any effect. Set to
* \c false to use only independent channel coding.
*
- * \default \c false
+ * \default \c true
* \param encoder An encoder instance to set.
* \param value Flag value (see above).
* \assert
@@ -919,7 +919,8 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_loose_mid_side_stereo(FLAC__StreamE
* The available functions are \c bartlett, \c bartlett_hann,
* \c blackman, \c blackman_harris_4term_92db, \c connes, \c flattop,
* \c gauss(STDDEV), \c hamming, \c hann, \c kaiser_bessel, \c nuttall,
- * \c rectangle, \c triangle, \c tukey(P), \c welch.
+ * \c rectangle, \c triangle, \c tukey(P), \c partial_tukey(n[/ov[/P]]),
+ * \c punchout_tukey(n[/ov[/P]]), \c subdivide_tukey(n[/P]), \c welch.
*
* For \c gauss(STDDEV), STDDEV specifies the standard deviation
* (0<STDDEV<=0.5).
@@ -928,6 +929,38 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_loose_mid_side_stereo(FLAC__StreamE
* tapered (0<=P<=1). P=0 corresponds to \c rectangle and P=1
* corresponds to \c hann.
*
+ * Specifying \c partial_tukey or \c punchout_tukey works a little
+ * different. These do not specify a single apodization function, but
+ * a series of them with some overlap. partial_tukey specifies a series
+ * of small windows (all treated separately) while punchout_tukey
+ * specifies a series of windows that have a hole in them. In this way,
+ * the predictor is constructed with only a part of the block, which
+ * helps in case a block consists of dissimilar parts.
+ *
+ * The three parameters that can be specified for the functions are
+ * n, ov and P. n is the number of functions to add, ov is the overlap
+ * of the windows in case of partial_tukey and the overlap in the gaps
+ * in case of punchout_tukey. P is the fraction of the window that is
+ * tapered, like with a regular tukey window. The function can be
+ * specified with only a number, a number and an overlap, or a number
+ * an overlap and a P, for example, partial_tukey(3), partial_tukey(3/0.3)
+ * and partial_tukey(3/0.3/0.5) are all valid. ov should be smaller than 1
+ * and can be negative.
+ *
+ * subdivide_tukey(n) is a more efficient reimplementation of
+ * partial_tukey and punchout_tukey taken together, recycling as much data
+ * as possible. It combines all possible non-redundant partial_tukey(n)
+ * and punchout_tukey(n) up to the n specified. Specifying
+ * subdivide_tukey(3) is equivalent to specifying tukey, partial_tukey(2),
+ * partial_tukey(3) and punchout_tukey(3), specifying subdivide_tukey(5)
+ * equivalently adds partial_tukey(4), punchout_tukey(4), partial_tukey(5)
+ * and punchout_tukey(5). To be able to reuse data as much as possible,
+ * the tukey taper is taken equal for all windows, and the P specified is
+ * applied for the smallest used window. In other words,
+ * subdivide_tukey(2/0.5) results in a taper equal to that of tukey(0.25)
+ * and subdivide_tukey(5) in a taper equal to that of tukey(0.1). The
+ * default P for subdivide_tukey when none is specified is 0.5.
+ *
* Example specifications are \c "blackman" or
* \c "hann;triangle;tukey(0.5);tukey(0.25);tukey(0.125)"
*
@@ -940,7 +973,11 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_loose_mid_side_stereo(FLAC__StreamE
* results in the smallest compressed subframe.
*
* Note that each function specified causes the encoder to occupy a
- * floating point array in which to store the window.
+ * floating point array in which to store the window. Also note that the
+ * values of P, STDDEV and ov are locale-specific, so if the comma
+ * separator specified by the locale is a comma, a comma should be used.
+ * A locale-independent way is to specify using scientific notation,
+ * e.g. 5e-1 instad of 0.5 or 0,5.
*
* \default \c "tukey(0.5)"
* \param encoder An encoder instance to set.
@@ -955,7 +992,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_apodization(FLAC__StreamEncoder *en
/** Set the maximum LPC order, or \c 0 to use only the fixed predictors.
*
- * \default \c 0
+ * \default \c 8
* \param encoder An encoder instance to set.
* \param value See above.
* \assert
@@ -963,16 +1000,12 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_apodization(FLAC__StreamEncoder *en
* \retval FLAC__bool
* \c false if the encoder is already initialized, else \c true.
*/
-FLAC_API FLAC__bool FLAC__stream_encoder_set_max_lpc_order(FLAC__StreamEncoder *encoder, unsigned value);
+FLAC_API FLAC__bool FLAC__stream_encoder_set_max_lpc_order(FLAC__StreamEncoder *encoder, uint32_t value);
/** Set the precision, in bits, of the quantized linear predictor
* coefficients, or \c 0 to let the encoder select it based on the
* blocksize.
*
- * \note
- * In the current implementation, qlp_coeff_precision + bits_per_sample must
- * be less than 32.
- *
* \default \c 0
* \param encoder An encoder instance to set.
* \param value See above.
@@ -981,7 +1014,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_max_lpc_order(FLAC__StreamEncoder *
* \retval FLAC__bool
* \c false if the encoder is already initialized, else \c true.
*/
-FLAC_API FLAC__bool FLAC__stream_encoder_set_qlp_coeff_precision(FLAC__StreamEncoder *encoder, unsigned value);
+FLAC_API FLAC__bool FLAC__stream_encoder_set_qlp_coeff_precision(FLAC__StreamEncoder *encoder, uint32_t value);
/** Set to \c false to use only the specified quantized linear predictor
* coefficient precision, or \c true to search neighboring precision
@@ -1044,7 +1077,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_do_exhaustive_model_search(FLAC__St
* \retval FLAC__bool
* \c false if the encoder is already initialized, else \c true.
*/
-FLAC_API FLAC__bool FLAC__stream_encoder_set_min_residual_partition_order(FLAC__StreamEncoder *encoder, unsigned value);
+FLAC_API FLAC__bool FLAC__stream_encoder_set_min_residual_partition_order(FLAC__StreamEncoder *encoder, uint32_t value);
/** Set the maximum partition order to search when coding the residual.
* This is used in tandem with
@@ -1059,7 +1092,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_min_residual_partition_order(FLAC__
* all orders, using the mean of each context for its Rice parameter,
* and use the best.
*
- * \default \c 0
+ * \default \c 5
* \param encoder An encoder instance to set.
* \param value See above.
* \assert
@@ -1067,7 +1100,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_min_residual_partition_order(FLAC__
* \retval FLAC__bool
* \c false if the encoder is already initialized, else \c true.
*/
-FLAC_API FLAC__bool FLAC__stream_encoder_set_max_residual_partition_order(FLAC__StreamEncoder *encoder, unsigned value);
+FLAC_API FLAC__bool FLAC__stream_encoder_set_max_residual_partition_order(FLAC__StreamEncoder *encoder, uint32_t value);
/** Deprecated. Setting this value has no effect.
*
@@ -1079,7 +1112,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_max_residual_partition_order(FLAC__
* \retval FLAC__bool
* \c false if the encoder is already initialized, else \c true.
*/
-FLAC_API FLAC__bool FLAC__stream_encoder_set_rice_parameter_search_dist(FLAC__StreamEncoder *encoder, unsigned value);
+FLAC_API FLAC__bool FLAC__stream_encoder_set_rice_parameter_search_dist(FLAC__StreamEncoder *encoder, uint32_t value);
/** Set an estimate of the total samples that will be encoded.
* This is merely an estimate and may be set to \c 0 if unknown.
@@ -1178,7 +1211,25 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_total_samples_estimate(FLAC__Stream
* \c false if the encoder is already initialized, or if
* \a num_blocks > 65535 if encoding to Ogg FLAC, else \c true.
*/
-FLAC_API FLAC__bool FLAC__stream_encoder_set_metadata(FLAC__StreamEncoder *encoder, FLAC__StreamMetadata **metadata, unsigned num_blocks);
+FLAC_API FLAC__bool FLAC__stream_encoder_set_metadata(FLAC__StreamEncoder *encoder, FLAC__StreamMetadata **metadata, uint32_t num_blocks);
+
+/** Set to \c true to make the encoder not output frames which contain
+ * only constant subframes. This is beneficial for streaming
+ * applications: very small frames can cause problems with buffering
+ * as bitrates can drop as low 1kbit/s for CDDA audio encoded within
+ * subset. The minimum bitrate for a FLAC file encoded with this
+ * function used is raised to 1bit/sample (i.e. 48kbit/s for 48kHz
+ * material).
+ *
+ * \default \c false
+ * \param encoder An encoder instance to set.
+ * \param value Flag value (see above).
+ * \assert
+ * \code encoder != NULL \endcode
+ * \retval FLAC__bool
+ * \c false if the encoder is already initialized, else \c true.
+ */
+FLAC_API FLAC__bool FLAC__stream_encoder_set_limit_min_bitrate(FLAC__StreamEncoder *encoder, FLAC__bool value);
/** Get the current encoder state.
*
@@ -1232,7 +1283,7 @@ FLAC_API const char *FLAC__stream_encoder_get_resolved_state_string(const FLAC__
* \assert
* \code encoder != NULL \endcode
*/
-FLAC_API void FLAC__stream_encoder_get_verify_decoder_error_stats(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_sample, unsigned *frame_number, unsigned *channel, unsigned *sample, FLAC__int32 *expected, FLAC__int32 *got);
+FLAC_API void FLAC__stream_encoder_get_verify_decoder_error_stats(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_sample, uint32_t *frame_number, uint32_t *channel, uint32_t *sample, FLAC__int32 *expected, FLAC__int32 *got);
/** Get the "verify" flag.
*
@@ -1244,7 +1295,7 @@ FLAC_API void FLAC__stream_encoder_get_verify_decoder_error_stats(const FLAC__St
*/
FLAC_API FLAC__bool FLAC__stream_encoder_get_verify(const FLAC__StreamEncoder *encoder);
-/** Get the <A HREF="../format.html#subset>Subset</A> flag.
+/** Get the <A HREF="https://xiph.org/flac/format.html#subset">Subset</A> flag.
*
* \param encoder An encoder instance to query.
* \assert
@@ -1259,40 +1310,40 @@ FLAC_API FLAC__bool FLAC__stream_encoder_get_streamable_subset(const FLAC__Strea
* \param encoder An encoder instance to query.
* \assert
* \code encoder != NULL \endcode
- * \retval unsigned
+ * \retval uint32_t
* See FLAC__stream_encoder_set_channels().
*/
-FLAC_API unsigned FLAC__stream_encoder_get_channels(const FLAC__StreamEncoder *encoder);
+FLAC_API uint32_t FLAC__stream_encoder_get_channels(const FLAC__StreamEncoder *encoder);
/** Get the input sample resolution setting.
*
* \param encoder An encoder instance to query.
* \assert
* \code encoder != NULL \endcode
- * \retval unsigned
+ * \retval uint32_t
* See FLAC__stream_encoder_set_bits_per_sample().
*/
-FLAC_API unsigned FLAC__stream_encoder_get_bits_per_sample(const FLAC__StreamEncoder *encoder);
+FLAC_API uint32_t FLAC__stream_encoder_get_bits_per_sample(const FLAC__StreamEncoder *encoder);
/** Get the input sample rate setting.
*
* \param encoder An encoder instance to query.
* \assert
* \code encoder != NULL \endcode
- * \retval unsigned
+ * \retval uint32_t
* See FLAC__stream_encoder_set_sample_rate().
*/
-FLAC_API unsigned FLAC__stream_encoder_get_sample_rate(const FLAC__StreamEncoder *encoder);
+FLAC_API uint32_t FLAC__stream_encoder_get_sample_rate(const FLAC__StreamEncoder *encoder);
/** Get the blocksize setting.
*
* \param encoder An encoder instance to query.
* \assert
* \code encoder != NULL \endcode
- * \retval unsigned
+ * \retval uint32_t
* See FLAC__stream_encoder_set_blocksize().
*/
-FLAC_API unsigned FLAC__stream_encoder_get_blocksize(const FLAC__StreamEncoder *encoder);
+FLAC_API uint32_t FLAC__stream_encoder_get_blocksize(const FLAC__StreamEncoder *encoder);
/** Get the "mid/side stereo coding" flag.
*
@@ -1319,20 +1370,20 @@ FLAC_API FLAC__bool FLAC__stream_encoder_get_loose_mid_side_stereo(const FLAC__S
* \param encoder An encoder instance to query.
* \assert
* \code encoder != NULL \endcode
- * \retval unsigned
+ * \retval uint32_t
* See FLAC__stream_encoder_set_max_lpc_order().
*/
-FLAC_API unsigned FLAC__stream_encoder_get_max_lpc_order(const FLAC__StreamEncoder *encoder);
+FLAC_API uint32_t FLAC__stream_encoder_get_max_lpc_order(const FLAC__StreamEncoder *encoder);
/** Get the quantized linear predictor coefficient precision setting.
*
* \param encoder An encoder instance to query.
* \assert
* \code encoder != NULL \endcode
- * \retval unsigned
+ * \retval uint32_t
* See FLAC__stream_encoder_set_qlp_coeff_precision().
*/
-FLAC_API unsigned FLAC__stream_encoder_get_qlp_coeff_precision(const FLAC__StreamEncoder *encoder);
+FLAC_API uint32_t FLAC__stream_encoder_get_qlp_coeff_precision(const FLAC__StreamEncoder *encoder);
/** Get the qlp coefficient precision search flag.
*
@@ -1369,30 +1420,30 @@ FLAC_API FLAC__bool FLAC__stream_encoder_get_do_exhaustive_model_search(const FL
* \param encoder An encoder instance to query.
* \assert
* \code encoder != NULL \endcode
- * \retval unsigned
+ * \retval uint32_t
* See FLAC__stream_encoder_set_min_residual_partition_order().
*/
-FLAC_API unsigned FLAC__stream_encoder_get_min_residual_partition_order(const FLAC__StreamEncoder *encoder);
+FLAC_API uint32_t FLAC__stream_encoder_get_min_residual_partition_order(const FLAC__StreamEncoder *encoder);
/** Get maximum residual partition order setting.
*
* \param encoder An encoder instance to query.
* \assert
* \code encoder != NULL \endcode
- * \retval unsigned
+ * \retval uint32_t
* See FLAC__stream_encoder_set_max_residual_partition_order().
*/
-FLAC_API unsigned FLAC__stream_encoder_get_max_residual_partition_order(const FLAC__StreamEncoder *encoder);
+FLAC_API uint32_t FLAC__stream_encoder_get_max_residual_partition_order(const FLAC__StreamEncoder *encoder);
/** Get the Rice parameter search distance setting.
*
* \param encoder An encoder instance to query.
* \assert
* \code encoder != NULL \endcode
- * \retval unsigned
+ * \retval uint32_t
* See FLAC__stream_encoder_set_rice_parameter_search_dist().
*/
-FLAC_API unsigned FLAC__stream_encoder_get_rice_parameter_search_dist(const FLAC__StreamEncoder *encoder);
+FLAC_API uint32_t FLAC__stream_encoder_get_rice_parameter_search_dist(const FLAC__StreamEncoder *encoder);
/** Get the previously set estimate of the total samples to be encoded.
* The encoder merely mimics back the value given to
@@ -1407,6 +1458,16 @@ FLAC_API unsigned FLAC__stream_encoder_get_rice_parameter_search_dist(const FLAC
*/
FLAC_API FLAC__uint64 FLAC__stream_encoder_get_total_samples_estimate(const FLAC__StreamEncoder *encoder);
+/** Get the "limit_min_bitrate" flag.
+ *
+ * \param encoder An encoder instance to query.
+ * \assert
+ * \code encoder != NULL \endcode
+ * \retval FLAC__bool
+ * See FLAC__stream_encoder_set_limit_min_bitrate().
+ */
+FLAC_API FLAC__bool FLAC__stream_encoder_get_limit_min_bitrate(const FLAC__StreamEncoder *encoder);
+
/** Initialize the encoder instance to encode native FLAC streams.
*
* This flavor of initialization sets up the encoder to encode to a
@@ -1611,11 +1672,15 @@ FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_ogg_FILE(FLAC__
/** Initialize the encoder instance to encode native FLAC files.
*
* This flavor of initialization sets up the encoder to encode to a plain
- * FLAC file. If POSIX fopen() semantics are not sufficient (for example,
- * with Unicode filenames on Windows), you must use
+ * FLAC file. If POSIX fopen() semantics are not sufficient you must use
* FLAC__stream_encoder_init_FILE(), or FLAC__stream_encoder_init_stream()
* and provide callbacks for the I/O.
*
+ * On Windows, filename must be a UTF-8 encoded filename, which libFLAC
+ * internally translates to an appropriate representation to use with
+ * _wfopen. On all other systems, filename is passed to fopen without
+ * any translation.
+ *
* This function should be called after FLAC__stream_encoder_new() and
* FLAC__stream_encoder_set_*() but before FLAC__stream_encoder_process()
* or FLAC__stream_encoder_process_interleaved().
@@ -1643,11 +1708,15 @@ FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_file(FLAC__Stre
/** Initialize the encoder instance to encode Ogg FLAC files.
*
* This flavor of initialization sets up the encoder to encode to a plain
- * Ogg FLAC file. If POSIX fopen() semantics are not sufficient (for example,
- * with Unicode filenames on Windows), you must use
+ * Ogg FLAC file. If POSIX fopen() semantics are not sufficient, you must use
* FLAC__stream_encoder_init_ogg_FILE(), or FLAC__stream_encoder_init_ogg_stream()
* and provide callbacks for the I/O.
*
+ * On Windows, filename must be a UTF-8 encoded filename, which libFLAC
+ * internally translates to an appropriate representation to use with
+ * _wfopen. On all other systems, filename is passed to fopen without
+ * any translation.
+ *
* This function should be called after FLAC__stream_encoder_new() and
* FLAC__stream_encoder_set_*() but before FLAC__stream_encoder_process()
* or FLAC__stream_encoder_process_interleaved().
@@ -1712,7 +1781,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_finish(FLAC__StreamEncoder *encoder);
*
* For applications where channel order is important, channels must
* follow the order as described in the
- * <A HREF="../format.html#frame_header">frame header</A>.
+ * <A HREF="https://xiph.org/flac/format.html#frame_header">frame header</A>.
*
* \param encoder An initialized encoder instance in the OK state.
* \param buffer An array of pointers to each channel's signal.
@@ -1725,7 +1794,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_finish(FLAC__StreamEncoder *encoder);
* encoder state with FLAC__stream_encoder_get_state() to see what
* went wrong.
*/
-FLAC_API FLAC__bool FLAC__stream_encoder_process(FLAC__StreamEncoder *encoder, const FLAC__int32 * const buffer[], unsigned samples);
+FLAC_API FLAC__bool FLAC__stream_encoder_process(FLAC__StreamEncoder *encoder, const FLAC__int32 * const buffer[], uint32_t samples);
/** Submit data for encoding.
* This version allows you to supply the input data where the channels
@@ -1741,7 +1810,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_process(FLAC__StreamEncoder *encoder, c
*
* For applications where channel order is important, channels must
* follow the order as described in the
- * <A HREF="../format.html#frame_header">frame header</A>.
+ * <A HREF="https://xiph.org/flac/format.html#frame_header">frame header</A>.
*
* \param encoder An initialized encoder instance in the OK state.
* \param buffer An array of channel-interleaved data (see above).
@@ -1757,7 +1826,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_process(FLAC__StreamEncoder *encoder, c
* encoder state with FLAC__stream_encoder_get_state() to see what
* went wrong.
*/
-FLAC_API FLAC__bool FLAC__stream_encoder_process_interleaved(FLAC__StreamEncoder *encoder, const FLAC__int32 buffer[], unsigned samples);
+FLAC_API FLAC__bool FLAC__stream_encoder_process_interleaved(FLAC__StreamEncoder *encoder, const FLAC__int32 buffer[], uint32_t samples);
/* \} */
diff --git a/3rdparty/libflac/include/Makefile.am b/3rdparty/libflac/include/Makefile.am
index b45dc84060a..01c5c9b62c4 100644
--- a/3rdparty/libflac/include/Makefile.am
+++ b/3rdparty/libflac/include/Makefile.am
@@ -1,8 +1,9 @@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
diff --git a/3rdparty/libflac/include/Makefile.in b/3rdparty/libflac/include/Makefile.in
index fed0375125a..6ca2e4bf875 100644
--- a/3rdparty/libflac/include/Makefile.in
+++ b/3rdparty/libflac/include/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,10 +15,11 @@
@SET_MAKE@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -30,17 +31,67 @@
# it may be distributed under the Xiph.Org license, which is the least
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,114 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = include
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+DIST_SUBDIRS = FLAC FLAC++ share test_libs_common
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,184 +219,177 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
@FLaC__WITH_CPPLIBS_TRUE@CPPLIBS_DIRS = FLAC++
-
SUBDIRS = FLAC $(CPPLIBS_DIRS) share test_libs_common
-subdir = include
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = FLAC FLAC++ share test_libs_common
all: all-recursive
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu include/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign include/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -251,21 +397,26 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -273,152 +424,131 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
+ empty_fix=.; \
else \
include_option=--include; \
+ empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -428,7 +558,6 @@ check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
-
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@@ -439,16 +568,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -459,25 +594,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
+html: html-recursive
+
+html-am:
+
info: info-recursive
info-am:
install-data-am:
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-recursive
+
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -496,26 +652,25 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/include/share/Makefile.am b/3rdparty/libflac/include/share/Makefile.am
index 29611b57b57..a6a3ca0fb52 100644
--- a/3rdparty/libflac/include/share/Makefile.am
+++ b/3rdparty/libflac/include/share/Makefile.am
@@ -1,14 +1,17 @@
## Process this file with automake to produce Makefile.in
-AUTOMAKE_OPTIONS = foreign
-
SUBDIRS = grabbag
EXTRA_DIST = \
alloc.h \
- endswap.h \
+ compat.h \
+ endswap.h \
getopt.h \
grabbag.h \
+ macros.h \
+ private.h \
replaygain_analysis.h \
replaygain_synthesis.h \
- utf8.h
+ safe_str.h \
+ utf8.h \
+ win_utf8_io.h
diff --git a/3rdparty/libflac/include/share/Makefile.in b/3rdparty/libflac/include/share/Makefile.in
index 5745b940250..98e8f257af2 100644
--- a/3rdparty/libflac/include/share/Makefile.in
+++ b/3rdparty/libflac/include/share/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -13,17 +13,67 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -35,12 +85,114 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = include/share
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -49,193 +201,190 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
-AUTOMAKE_OPTIONS = foreign
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
SUBDIRS = grabbag
-
EXTRA_DIST = \
alloc.h \
+ compat.h \
+ endswap.h \
getopt.h \
grabbag.h \
+ macros.h \
+ private.h \
replaygain_analysis.h \
replaygain_synthesis.h \
- utf8.h
-
-subdir = include/share
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
+ safe_str.h \
+ utf8.h \
+ win_utf8_io.h
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign include/share/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/share/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign include/share/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -243,21 +392,26 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -265,152 +419,131 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
+ empty_fix=.; \
else \
include_option=--include; \
+ empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -420,7 +553,6 @@ check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
-
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@@ -431,16 +563,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -451,25 +589,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
+html: html-recursive
+
+html-am:
+
info: info-recursive
info-am:
install-data-am:
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-recursive
+
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -488,26 +647,25 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/include/share/alloc.h b/3rdparty/libflac/include/share/alloc.h
index 3fdfad2991a..b0da6941dcf 100644
--- a/3rdparty/libflac/include/share/alloc.h
+++ b/3rdparty/libflac/include/share/alloc.h
@@ -1,19 +1,33 @@
/* alloc - Convenience routines for safely allocating memory
- * Copyright (C) 2007 Josh Coalson
+ * Copyright (C) 2007-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
*
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
*
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef FLAC__SHARE__ALLOC_H
@@ -28,15 +42,20 @@
*/
#include <limits.h> /* for SIZE_MAX */
-#if !defined _MSC_VER && !defined __MINGW32__ && !defined __EMX__
+#ifdef HAVE_STDINT_H
#include <stdint.h> /* for SIZE_MAX in case limits.h didn't get it */
#endif
#include <stdlib.h> /* for size_t, malloc(), etc */
+#include "share/compat.h"
#ifndef SIZE_MAX
# ifndef SIZE_T_MAX
# ifdef _MSC_VER
-# define SIZE_T_MAX UINT_MAX
+# ifdef _WIN64
+# define SIZE_T_MAX FLAC__U64L(0xffffffffffffffff)
+# else
+# define SIZE_T_MAX 0xffffffff
+# endif
# else
# error
# endif
@@ -44,23 +63,58 @@
# define SIZE_MAX SIZE_T_MAX
#endif
-#ifndef FLaC__INLINE
-#define FLaC__INLINE
+#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+extern int alloc_check_threshold, alloc_check_counter;
+
+static inline int alloc_check() {
+ if(alloc_check_threshold == INT32_MAX)
+ return 0;
+ else if(alloc_check_counter++ == alloc_check_threshold)
+ return 1;
+ else
+ return 0;
+}
+
#endif
/* avoid malloc()ing 0 bytes, see:
* https://www.securecoding.cert.org/confluence/display/seccode/MEM04-A.+Do+not+make+assumptions+about+the+result+of+allocating+0+bytes?focusedCommentId=5407003
*/
-static FLaC__INLINE void *safe_malloc_(size_t size)
+
+static inline void *safe_malloc_(size_t size)
{
+#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+ /* Fail if requested */
+ if(alloc_check())
+ return NULL;
+#endif
/* malloc(0) is undefined; FLAC src convention is to always allocate */
if(!size)
size++;
return malloc(size);
}
-static FLaC__INLINE void *safe_calloc_(size_t nmemb, size_t size)
+#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+static inline void *malloc_(size_t size)
{
+ /* Fail if requested */
+ if(alloc_check())
+ return NULL;
+ return malloc(size);
+}
+#else
+#define malloc_ malloc
+#endif
+
+
+
+static inline void *safe_calloc_(size_t nmemb, size_t size)
+{
+#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+ /* Fail if requested */
+ if(alloc_check())
+ return NULL;
+#endif
if(!nmemb || !size)
return malloc(1); /* malloc(0) is undefined; FLAC src convention is to always allocate */
return calloc(nmemb, size);
@@ -68,7 +122,7 @@ static FLaC__INLINE void *safe_calloc_(size_t nmemb, size_t size)
/*@@@@ there's probably a better way to prevent overflows when allocating untrusted sums but this works for now */
-static FLaC__INLINE void *safe_malloc_add_2op_(size_t size1, size_t size2)
+static inline void *safe_malloc_add_2op_(size_t size1, size_t size2)
{
size2 += size1;
if(size2 < size1)
@@ -76,7 +130,7 @@ static FLaC__INLINE void *safe_malloc_add_2op_(size_t size1, size_t size2)
return safe_malloc_(size2);
}
-static FLaC__INLINE void *safe_malloc_add_3op_(size_t size1, size_t size2, size_t size3)
+static inline void *safe_malloc_add_3op_(size_t size1, size_t size2, size_t size3)
{
size2 += size1;
if(size2 < size1)
@@ -87,7 +141,7 @@ static FLaC__INLINE void *safe_malloc_add_3op_(size_t size1, size_t size2, size_
return safe_malloc_(size3);
}
-static FLaC__INLINE void *safe_malloc_add_4op_(size_t size1, size_t size2, size_t size3, size_t size4)
+static inline void *safe_malloc_add_4op_(size_t size1, size_t size2, size_t size3, size_t size4)
{
size2 += size1;
if(size2 < size1)
@@ -101,29 +155,9 @@ static FLaC__INLINE void *safe_malloc_add_4op_(size_t size1, size_t size2, size_
return safe_malloc_(size4);
}
-static FLaC__INLINE void *safe_malloc_mul_2op_(size_t size1, size_t size2)
-#if 0
-needs support for cases where sizeof(size_t) != 4
-{
- /* could be faster #ifdef'ing off SIZEOF_SIZE_T */
- if(sizeof(size_t) == 4) {
- if ((double)size1 * (double)size2 < 4294967296.0)
- return malloc(size1*size2);
- }
- return 0;
-}
-#else
-/* better? */
-{
- if(!size1 || !size2)
- return malloc(1); /* malloc(0) is undefined; FLAC src convention is to always allocate */
- if(size1 > SIZE_MAX / size2)
- return 0;
- return malloc(size1*size2);
-}
-#endif
+void *safe_malloc_mul_2op_(size_t size1, size_t size2) ;
-static FLaC__INLINE void *safe_malloc_mul_3op_(size_t size1, size_t size2, size_t size3)
+static inline void *safe_malloc_mul_3op_(size_t size1, size_t size2, size_t size3)
{
if(!size1 || !size2 || !size3)
return malloc(1); /* malloc(0) is undefined; FLAC src convention is to always allocate */
@@ -132,11 +166,11 @@ static FLaC__INLINE void *safe_malloc_mul_3op_(size_t size1, size_t size2, size_
size1 *= size2;
if(size1 > SIZE_MAX / size3)
return 0;
- return malloc(size1*size3);
+ return malloc_(size1*size3);
}
/* size1*size2 + size3 */
-static FLaC__INLINE void *safe_malloc_mul2add_(size_t size1, size_t size2, size_t size3)
+static inline void *safe_malloc_mul2add_(size_t size1, size_t size2, size_t size3)
{
if(!size1 || !size2)
return safe_malloc_(size3);
@@ -146,25 +180,73 @@ static FLaC__INLINE void *safe_malloc_mul2add_(size_t size1, size_t size2, size_
}
/* size1 * (size2 + size3) */
-static FLaC__INLINE void *safe_malloc_muladd2_(size_t size1, size_t size2, size_t size3)
+static inline void *safe_malloc_muladd2_(size_t size1, size_t size2, size_t size3)
{
if(!size1 || (!size2 && !size3))
return malloc(1); /* malloc(0) is undefined; FLAC src convention is to always allocate */
size2 += size3;
if(size2 < size3)
return 0;
- return safe_malloc_mul_2op_(size1, size2);
+ if(size1 > SIZE_MAX / size2)
+ return 0;
+ return malloc_(size1*size2);
}
-static FLaC__INLINE void *safe_realloc_add_2op_(void *ptr, size_t size1, size_t size2)
+static inline void *safe_realloc_(void *ptr, size_t size)
+{
+ void *oldptr;
+ void *newptr;
+#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+ /* Fail if requested */
+ if(alloc_check() && size > 0) {
+ free(ptr);
+ return NULL;
+ }
+#endif
+ oldptr = ptr;
+ newptr = realloc(ptr, size);
+ if(size > 0 && newptr == 0)
+ free(oldptr);
+ return newptr;
+}
+
+#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+static inline void *realloc_(void *ptr, size_t size)
+{
+ /* Fail if requested */
+ if(alloc_check())
+ return NULL;
+ return realloc(ptr, size);
+}
+#else
+#define realloc_ realloc
+#endif
+
+
+static inline void *safe_realloc_nofree_add_2op_(void *ptr, size_t size1, size_t size2)
{
size2 += size1;
if(size2 < size1)
return 0;
- return realloc(ptr, size2);
+ return realloc_(ptr, size2);
}
-static FLaC__INLINE void *safe_realloc_add_3op_(void *ptr, size_t size1, size_t size2, size_t size3)
+static inline void *safe_realloc_add_3op_(void *ptr, size_t size1, size_t size2, size_t size3)
+{
+ size2 += size1;
+ if(size2 < size1) {
+ free(ptr);
+ return 0;
+ }
+ size3 += size2;
+ if(size3 < size2) {
+ free(ptr);
+ return 0;
+ }
+ return safe_realloc_(ptr, size3);
+}
+
+static inline void *safe_realloc_nofree_add_3op_(void *ptr, size_t size1, size_t size2, size_t size3)
{
size2 += size1;
if(size2 < size1)
@@ -172,10 +254,10 @@ static FLaC__INLINE void *safe_realloc_add_3op_(void *ptr, size_t size1, size_t
size3 += size2;
if(size3 < size2)
return 0;
- return realloc(ptr, size3);
+ return realloc_(ptr, size3);
}
-static FLaC__INLINE void *safe_realloc_add_4op_(void *ptr, size_t size1, size_t size2, size_t size3, size_t size4)
+static inline void *safe_realloc_nofree_add_4op_(void *ptr, size_t size1, size_t size2, size_t size3, size_t size4)
{
size2 += size1;
if(size2 < size1)
@@ -186,27 +268,51 @@ static FLaC__INLINE void *safe_realloc_add_4op_(void *ptr, size_t size1, size_t
size4 += size3;
if(size4 < size3)
return 0;
- return realloc(ptr, size4);
+ return realloc_(ptr, size4);
+}
+
+static inline void *safe_realloc_mul_2op_(void *ptr, size_t size1, size_t size2)
+{
+ if(!size1 || !size2)
+ return realloc(ptr, 0); /* preserve POSIX realloc(ptr, 0) semantics */
+ if(size1 > SIZE_MAX / size2) {
+ free(ptr);
+ return 0;
+ }
+ return safe_realloc_(ptr, size1*size2);
}
-static FLaC__INLINE void *safe_realloc_mul_2op_(void *ptr, size_t size1, size_t size2)
+static inline void *safe_realloc_nofree_mul_2op_(void *ptr, size_t size1, size_t size2)
{
if(!size1 || !size2)
return realloc(ptr, 0); /* preserve POSIX realloc(ptr, 0) semantics */
if(size1 > SIZE_MAX / size2)
return 0;
- return realloc(ptr, size1*size2);
+ return realloc_(ptr, size1*size2);
}
/* size1 * (size2 + size3) */
-static FLaC__INLINE void *safe_realloc_muladd2_(void *ptr, size_t size1, size_t size2, size_t size3)
+static inline void *safe_realloc_muladd2_(void *ptr, size_t size1, size_t size2, size_t size3)
{
if(!size1 || (!size2 && !size3))
return realloc(ptr, 0); /* preserve POSIX realloc(ptr, 0) semantics */
size2 += size3;
- if(size2 < size3)
+ if(size2 < size3) {
+ free(ptr);
return 0;
+ }
return safe_realloc_mul_2op_(ptr, size1, size2);
}
+/* size1 * (size2 + size3) */
+static inline void *safe_realloc_nofree_muladd2_(void *ptr, size_t size1, size_t size2, size_t size3)
+{
+ if(!size1 || (!size2 && !size3))
+ return realloc(ptr, 0); /* preserve POSIX realloc(ptr, 0) semantics */
+ size2 += size3;
+ if(size2 < size3)
+ return 0;
+ return safe_realloc_nofree_mul_2op_(ptr, size1, size2);
+}
+
#endif
diff --git a/3rdparty/libflac/include/share/compat.h b/3rdparty/libflac/include/share/compat.h
new file mode 100644
index 00000000000..6ce23a5c0a0
--- /dev/null
+++ b/3rdparty/libflac/include/share/compat.h
@@ -0,0 +1,240 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2012-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/* This is the preferred location of all CPP hackery to make $random_compiler
+ * work like something approaching a C99 (or maybe more accurately GNU99)
+ * compiler.
+ *
+ * It is assumed that this header will be included after "config.h".
+ */
+
+#ifndef FLAC__SHARE__COMPAT_H
+#define FLAC__SHARE__COMPAT_H
+
+#include <stddef.h>
+#include <stdarg.h>
+
+#if defined _WIN32 && !defined __CYGWIN__
+/* where MSVC puts unlink() */
+# include <io.h>
+#else
+# include <unistd.h>
+#endif
+
+#if defined _MSC_VER || defined __BORLANDC__ || defined __MINGW32__
+#include <sys/types.h> /* for off_t */
+#define FLAC__off_t __int64 /* use this instead of off_t to fix the 2 GB limit */
+#define FLAC__OFF_T_MAX INT64_MAX
+#if !defined __MINGW32__
+#define fseeko _fseeki64
+#define ftello _ftelli64
+#else /* MinGW */
+#if !defined(HAVE_FSEEKO)
+#define fseeko fseeko64
+#define ftello ftello64
+#endif
+#endif
+#else
+#define FLAC__off_t off_t
+#define FLAC__OFF_T_MAX OFF_T_MAX
+#endif
+
+
+
+#ifdef HAVE_INTTYPES_H
+#define __STDC_FORMAT_MACROS
+#include <inttypes.h>
+#endif
+
+#if defined(_MSC_VER)
+#define strtoll _strtoi64
+#define strtoull _strtoui64
+#endif
+
+#if defined(_MSC_VER) && !defined(__cplusplus)
+#define inline __inline
+#endif
+
+#if defined __INTEL_COMPILER || (defined _MSC_VER && defined _WIN64)
+/* MSVS generates VERY slow 32-bit code with __restrict */
+#define flac_restrict __restrict
+#elif defined __GNUC__
+#define flac_restrict __restrict__
+#else
+#define flac_restrict
+#endif
+
+#define FLAC__U64L(x) x##ULL
+
+#if defined _MSC_VER || defined __MINGW32__
+#define FLAC__STRCASECMP _stricmp
+#define FLAC__STRNCASECMP _strnicmp
+#elif defined __BORLANDC__
+#define FLAC__STRCASECMP stricmp
+#define FLAC__STRNCASECMP strnicmp
+#else
+#define FLAC__STRCASECMP strcasecmp
+#define FLAC__STRNCASECMP strncasecmp
+#endif
+
+#if defined _MSC_VER || defined __MINGW32__ || defined __EMX__
+#include <io.h> /* for _setmode(), chmod() */
+#include <fcntl.h> /* for _O_BINARY */
+#else
+#include <unistd.h> /* for chown(), unlink() */
+#endif
+
+#if defined _MSC_VER || defined __BORLANDC__ || defined __MINGW32__
+#if defined __BORLANDC__
+#include <utime.h> /* for utime() */
+#else
+#include <sys/utime.h> /* for utime() */
+#endif
+#else
+#if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200809L)
+#include <fcntl.h>
+#else
+#include <sys/types.h> /* some flavors of BSD (like OS X) require this to get time_t */
+#include <utime.h> /* for utime() */
+#endif
+#endif
+
+#if defined _MSC_VER
+# if _MSC_VER >= 1800
+# include <inttypes.h>
+# elif _MSC_VER >= 1600
+/* Visual Studio 2010 has decent C99 support */
+# include <stdint.h>
+# define PRIu64 "llu"
+# define PRId64 "lld"
+# define PRIx64 "llx"
+# else
+# include <limits.h>
+# ifndef UINT32_MAX
+# define UINT32_MAX _UI32_MAX
+# endif
+# define PRIu64 "I64u"
+# define PRId64 "I64d"
+# define PRIx64 "I64x"
+# endif
+# if defined(_USING_V110_SDK71_) && !defined(_DLL)
+# pragma message("WARNING: This compile will NOT FUNCTION PROPERLY on Windows XP. See comments in include/share/compat.h for details")
+#define FLAC__USE_FILELENGTHI64
+/*
+ *************************************************************************************
+ * V110_SDK71, in MSVC 2017 also known as v141_xp, is a platform toolset that is supposed
+ * to target Windows XP. It turns out however that certain functions provided silently fail
+ * on Windows XP only, which makes debugging challenging. This only occurs when building with
+ * /MT. This problem has been reported to Microsoft, but there hasn't been a fix for years. See
+ * https://web.archive.org/web/20170327195018/https://connect.microsoft.com/VisualStudio/feedback/details/1557168/wstat64-returns-1-on-xp-always
+ *
+ * It is known that this problem affects the functions _wstat64 (used by flac_stat i.e.
+ * stat64_utf8) and _fstat64 (i.e. flac_fstat) and therefore affects both libFLAC in
+ * several places as well as the flac and metaflac command line tools
+ *
+ * As the extent of this problem is unknown and Microsoft seems unwilling to fix it,
+ * users of libFLAC building with Visual Studio are encouraged to not use the /MT compile
+ * switch when explicitly targeting Windows XP. When use of /MT is deemed necessary with
+ * this toolset, be sure to check whether your application works properly on Windows XP.
+ * It is also possible to build for Windows XP with MinGW instead.
+ *************************************************************************************
+*/
+# endif
+#endif /* defined _MSC_VER */
+
+#ifdef _WIN32
+/* All char* strings are in UTF-8 format. Added to support Unicode files on Windows */
+
+#include "share/win_utf8_io.h"
+#define flac_printf printf_utf8
+#define flac_fprintf fprintf_utf8
+#define flac_vfprintf vfprintf_utf8
+#define flac_fopen fopen_utf8
+#define flac_chmod chmod_utf8
+#define flac_utime utime_utf8
+#define flac_unlink unlink_utf8
+#define flac_rename rename_utf8
+#define flac_stat stat64_utf8
+
+#else
+
+#define flac_printf printf
+#define flac_fprintf fprintf
+#define flac_vfprintf vfprintf
+
+#define flac_fopen fopen
+#define flac_chmod chmod
+#define flac_unlink unlink
+#define flac_rename rename
+#define flac_stat stat
+
+#if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200809L)
+#define flac_utime(a, b) utimensat (AT_FDCWD, a, *b, 0)
+#else
+#define flac_utime utime
+#endif
+#endif
+
+#ifdef _WIN32
+#define flac_stat_s __stat64 /* stat struct */
+#define flac_fstat _fstat64
+#else
+#define flac_stat_s stat /* stat struct */
+#define flac_fstat fstat
+#endif
+
+#ifdef ANDROID
+#include <limits.h>
+#endif
+
+#ifndef M_LN2
+#define M_LN2 0.69314718055994530942
+#endif
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+
+/* FLAC needs to compile and work correctly on systems with a normal ISO C99
+ * snprintf as well as Microsoft Visual Studio which has an non-standards
+ * conformant snprint_s function.
+ *
+ * This function wraps the MS version to behave more like the ISO version.
+ */
+#ifdef __cplusplus
+extern "C" {
+#endif
+int flac_snprintf(char *str, size_t size, const char *fmt, ...);
+int flac_vsnprintf(char *str, size_t size, const char *fmt, va_list va);
+#ifdef __cplusplus
+};
+#endif
+
+#endif /* FLAC__SHARE__COMPAT_H */
diff --git a/3rdparty/libflac/include/share/endswap.h b/3rdparty/libflac/include/share/endswap.h
index 00c637512ab..8687b9d76bc 100644
--- a/3rdparty/libflac/include/share/endswap.h
+++ b/3rdparty/libflac/include/share/endswap.h
@@ -1,5 +1,5 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2012-2014 Xiph.org Foundation
+ * Copyright (C) 2012-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -29,25 +29,12 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-/* These changes are necessary because we don't use FLAC's build system. */
-#ifdef __GNUC__
-#define HAVE_BSWAP32 1
-#else
-#define HAVE_BSWAP32 0
-#endif
-#if ((__GNUC__ >= 4) && (__GNUC_MINOR__ >= 8)) || defined(__clang_major__)
-#define HAVE_BSWAP16 1
-#else
-#define HAVE_BSWAP16 0
-#endif
-#ifdef __linux__
-#define HAVE_BYTESWAP_H
-#endif
+/* It is assumed that this header will be included after "config.h". */
-#if HAVE_BSWAP32 /* GCC and Clang */
+#ifdef HAVE_BSWAP32 /* GCC and Clang */
/* GCC prior to 4.8 didn't provide bswap16 on x86_64 */
-#if ! HAVE_BSWAP16
+#ifndef HAVE_BSWAP16
static inline unsigned short __builtin_bswap16(unsigned short a)
{
return (a<<8)|(a>>8);
@@ -56,11 +43,15 @@ static inline unsigned short __builtin_bswap16(unsigned short a)
#define ENDSWAP_16(x) (__builtin_bswap16 (x))
#define ENDSWAP_32(x) (__builtin_bswap32 (x))
+#define ENDSWAP_64(x) (__builtin_bswap64 (x))
+
+#elif defined _MSC_VER /* Windows */
-#elif defined _MSC_VER /* Windows. Apparently in <stdlib.h>. */
+#include <stdlib.h>
#define ENDSWAP_16(x) (_byteswap_ushort (x))
#define ENDSWAP_32(x) (_byteswap_ulong (x))
+#define ENDSWAP_64(x) (_byteswap_uint64 (x))
#elif defined HAVE_BYTESWAP_H /* Linux */
@@ -68,10 +59,26 @@ static inline unsigned short __builtin_bswap16(unsigned short a)
#define ENDSWAP_16(x) (bswap_16 (x))
#define ENDSWAP_32(x) (bswap_32 (x))
+#define ENDSWAP_64(x) (bswap_64 (x))
#else
#define ENDSWAP_16(x) ((((x) >> 8) & 0xFF) | (((x) & 0xFF) << 8))
#define ENDSWAP_32(x) ((((x) >> 24) & 0xFF) | (((x) >> 8) & 0xFF00) | (((x) & 0xFF00) << 8) | (((x) & 0xFF) << 24))
+#define ENDSWAP_64(x) ((ENDSWAP_32(((x) >> 32) & 0xFFFFFFFF)) | (ENDSWAP_32((x) & 0xFFFFFFFF) << 32))
+
+#endif
+
+
+/* Host to little-endian byte swapping (for MD5 calculation) */
+#if CPU_IS_BIG_ENDIAN
+
+#define H2LE_16(x) ENDSWAP_16 (x)
+#define H2LE_32(x) ENDSWAP_32 (x)
+
+#else
+
+#define H2LE_16(x) (x)
+#define H2LE_32(x) (x)
#endif
diff --git a/3rdparty/libflac/include/share/getopt.h b/3rdparty/libflac/include/share/getopt.h
index 1b314b2e74c..66aced0f4ea 100644
--- a/3rdparty/libflac/include/share/getopt.h
+++ b/3rdparty/libflac/include/share/getopt.h
@@ -6,7 +6,7 @@
of code with the ELIDE_CODE #define is not accurate enough on systems
that are POSIX but not glibc. If someone has a patch that works on
GNU/Linux, Darwin, AND Solaris please submit it on the project page:
- http://sourceforge.net/projects/flac
+ https://sourceforge.net/p/flac/patches/
In the meantime I have munged the global symbols and removed gates
around code, while at the same time trying to touch the original as
@@ -28,8 +28,8 @@
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
#ifndef SHARE__GETOPT_H
#define SHARE__GETOPT_H
diff --git a/3rdparty/libflac/include/share/grabbag.h b/3rdparty/libflac/include/share/grabbag.h
index 42c6998e1a7..6424fa9753e 100644
--- a/3rdparty/libflac/include/share/grabbag.h
+++ b/3rdparty/libflac/include/share/grabbag.h
@@ -1,5 +1,6 @@
/* grabbag - Convenience lib for various routines common to several tools
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
diff --git a/3rdparty/libflac/include/share/grabbag/Makefile.am b/3rdparty/libflac/include/share/grabbag/Makefile.am
index 0d520aa5310..22baa157470 100644
--- a/3rdparty/libflac/include/share/grabbag/Makefile.am
+++ b/3rdparty/libflac/include/share/grabbag/Makefile.am
@@ -1,7 +1,5 @@
## Process this file with automake to produce Makefile.in
-AUTOMAKE_OPTIONS = foreign
-
EXTRA_DIST = \
cuesheet.h \
file.h \
diff --git a/3rdparty/libflac/include/share/grabbag/Makefile.in b/3rdparty/libflac/include/share/grabbag/Makefile.in
index a895c7c3f31..f5648404bae 100644
--- a/3rdparty/libflac/include/share/grabbag/Makefile.in
+++ b/3rdparty/libflac/include/share/grabbag/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -13,17 +13,67 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -35,12 +85,56 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = include/share/grabbag
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -49,161 +143,143 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
-AUTOMAKE_OPTIONS = foreign
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
EXTRA_DIST = \
cuesheet.h \
file.h \
@@ -211,73 +287,86 @@ EXTRA_DIST = \
replaygain.h \
seektable.h
-subdir = include/share/grabbag
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign include/share/grabbag/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/share/grabbag/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign include/share/grabbag/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
-
installdirs:
install: install-am
install-exec: install-exec-am
@@ -289,16 +378,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -309,24 +404,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
+distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -345,17 +462,24 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
+
+.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/include/share/grabbag/cuesheet.h b/3rdparty/libflac/include/share/grabbag/cuesheet.h
index 698d49bff5f..d0eb94d4eb7 100644
--- a/3rdparty/libflac/include/share/grabbag/cuesheet.h
+++ b/3rdparty/libflac/include/share/grabbag/cuesheet.h
@@ -1,5 +1,6 @@
/* grabbag - Convenience lib for various routines common to several tools
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -28,10 +29,10 @@
extern "C" {
#endif
-unsigned grabbag__cuesheet_msf_to_frame(unsigned minutes, unsigned seconds, unsigned frames);
-void grabbag__cuesheet_frame_to_msf(unsigned frame, unsigned *minutes, unsigned *seconds, unsigned *frames);
+uint32_t grabbag__cuesheet_msf_to_frame(uint32_t minutes, uint32_t seconds, uint32_t frames);
+void grabbag__cuesheet_frame_to_msf(uint32_t frame, uint32_t *minutes, uint32_t *seconds, uint32_t *frames);
-FLAC__StreamMetadata *grabbag__cuesheet_parse(FILE *file, const char **error_message, unsigned *last_line_read, FLAC__bool is_cdda, FLAC__uint64 lead_out_offset);
+FLAC__StreamMetadata *grabbag__cuesheet_parse(FILE *file, const char **error_message, uint32_t *last_line_read, uint32_t sample_rate, FLAC__bool is_cdda, FLAC__uint64 lead_out_offset);
void grabbag__cuesheet_emit(FILE *file, const FLAC__StreamMetadata *cuesheet, const char *file_reference);
diff --git a/3rdparty/libflac/include/share/grabbag/file.h b/3rdparty/libflac/include/share/grabbag/file.h
index c8b149f8377..9a2e086a734 100644
--- a/3rdparty/libflac/include/share/grabbag/file.h
+++ b/3rdparty/libflac/include/share/grabbag/file.h
@@ -1,5 +1,6 @@
/* grabbag - Convenience lib for various routines common to several tools
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -24,20 +25,21 @@
#define GRABAG__FILE_H
/* needed because of off_t */
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <sys/types.h> /* for off_t */
#include <stdio.h> /* for FILE */
#include "FLAC/ordinals.h"
+#include "share/compat.h"
#ifdef __cplusplus
extern "C" {
#endif
void grabbag__file_copy_metadata(const char *srcpath, const char *destpath);
-off_t grabbag__file_get_filesize(const char *srcpath);
+FLAC__off_t grabbag__file_get_filesize(const char *srcpath);
const char *grabbag__file_get_basename(const char *srcpath);
/* read_only == false means "make file writable by user"
diff --git a/3rdparty/libflac/include/share/grabbag/picture.h b/3rdparty/libflac/include/share/grabbag/picture.h
index e7f4278800e..6bc4c3912ab 100644
--- a/3rdparty/libflac/include/share/grabbag/picture.h
+++ b/3rdparty/libflac/include/share/grabbag/picture.h
@@ -1,5 +1,6 @@
/* grabbag - Convenience lib for various routines common to several tools
- * Copyright (C) 2006,2007 Josh Coalson
+ * Copyright (C) 2006-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/* This .h cannot be included by itself; #include "share/grabbag.h" instead. */
@@ -39,6 +40,13 @@ extern "C" {
*/
FLAC__StreamMetadata *grabbag__picture_parse_specification(const char *spec, const char **error_message);
+typedef struct PictureResolution
+{ uint32_t width, height, depth, colors ;
+} PictureResolution ;
+
+FLAC__StreamMetadata *grabbag__picture_from_specification(int type, const char *mime_type, const char * description,
+ const PictureResolution * res, const char * filepath, const char **error_message);
+
#ifdef __cplusplus
}
#endif
diff --git a/3rdparty/libflac/include/share/grabbag/replaygain.h b/3rdparty/libflac/include/share/grabbag/replaygain.h
index ea8c9359833..90e7a8c9e5b 100644
--- a/3rdparty/libflac/include/share/grabbag/replaygain.h
+++ b/3rdparty/libflac/include/share/grabbag/replaygain.h
@@ -1,5 +1,6 @@
/* grabbag - Convenience lib for various routines common to several tools
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -33,7 +34,7 @@
extern "C" {
#endif
-extern const unsigned GRABBAG__REPLAYGAIN_MAX_TAG_SPACE_REQUIRED;
+extern const uint32_t GRABBAG__REPLAYGAIN_MAX_TAG_SPACE_REQUIRED;
extern const FLAC__byte * const GRABBAG__REPLAYGAIN_TAG_REFERENCE_LOUDNESS; /* = "REPLAYGAIN_REFERENCE_LOUDNESS" */
extern const FLAC__byte * const GRABBAG__REPLAYGAIN_TAG_TITLE_GAIN; /* = "REPLAYGAIN_TRACK_GAIN" */
@@ -41,12 +42,12 @@ extern const FLAC__byte * const GRABBAG__REPLAYGAIN_TAG_TITLE_PEAK; /* = "REPLAY
extern const FLAC__byte * const GRABBAG__REPLAYGAIN_TAG_ALBUM_GAIN; /* = "REPLAYGAIN_ALBUM_GAIN" */
extern const FLAC__byte * const GRABBAG__REPLAYGAIN_TAG_ALBUM_PEAK; /* = "REPLAYGAIN_ALBUM_PEAK" */
-FLAC__bool grabbag__replaygain_is_valid_sample_frequency(unsigned sample_frequency);
+FLAC__bool grabbag__replaygain_is_valid_sample_frequency(uint32_t sample_frequency);
-FLAC__bool grabbag__replaygain_init(unsigned sample_frequency);
+FLAC__bool grabbag__replaygain_init(uint32_t sample_frequency);
/* 'bps' must be valid for FLAC, i.e. >=4 and <= 32 */
-FLAC__bool grabbag__replaygain_analyze(const FLAC__int32 * const input[], FLAC__bool is_stereo, unsigned bps, unsigned samples);
+FLAC__bool grabbag__replaygain_analyze(const FLAC__int32 * const input[], FLAC__bool is_stereo, uint32_t bps, uint32_t samples);
void grabbag__replaygain_get_album(float *gain, float *peak);
void grabbag__replaygain_get_title(float *gain, float *peak);
diff --git a/3rdparty/libflac/include/share/grabbag/seektable.h b/3rdparty/libflac/include/share/grabbag/seektable.h
index 8010fc94639..751995be61e 100644
--- a/3rdparty/libflac/include/share/grabbag/seektable.h
+++ b/3rdparty/libflac/include/share/grabbag/seektable.h
@@ -1,5 +1,6 @@
/* grabbag - Convenience lib for various routines common to several tools
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -29,7 +30,7 @@
extern "C" {
#endif
-FLAC__bool grabbag__seektable_convert_specification_to_template(const char *spec, FLAC__bool only_explicit_placeholders, FLAC__uint64 total_samples_to_encode, unsigned sample_rate, FLAC__StreamMetadata *seektable_template, FLAC__bool *spec_has_real_points);
+FLAC__bool grabbag__seektable_convert_specification_to_template(const char *spec, FLAC__bool only_explicit_placeholders, FLAC__uint64 total_samples_to_encode, uint32_t sample_rate, FLAC__StreamMetadata *seektable_template, FLAC__bool *spec_has_real_points);
#ifdef __cplusplus
}
diff --git a/3rdparty/libflac/include/share/macros.h b/3rdparty/libflac/include/share/macros.h
new file mode 100644
index 00000000000..3e7ee554f6d
--- /dev/null
+++ b/3rdparty/libflac/include/share/macros.h
@@ -0,0 +1,45 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2013-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <errno.h>
+
+/* FLAC_CHECK_RETURN : Check the return value of the provided function and
+ * print an error message if it fails (ie returns a value < 0).
+ *
+ * Ideally, a library should not print anything, but this macro is only used
+ * for things that extremely unlikely to fail, like `chown` to a previoulsy
+ * saved `uid`.
+ */
+
+#define FLAC_CHECK_RETURN(x) \
+ { if ((x) < 0) \
+ fprintf (stderr, "%s : %s\n", #x, strerror (errno)) ; \
+ }
diff --git a/3rdparty/libflac/include/share/private.h b/3rdparty/libflac/include/share/private.h
new file mode 100644
index 00000000000..5340d401817
--- /dev/null
+++ b/3rdparty/libflac/include/share/private.h
@@ -0,0 +1,54 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2013-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef FLAC__SHARE__PRIVATE_H
+#define FLAC__SHARE__PRIVATE_H
+
+/*
+ * Unpublished debug routines from libFLAC. This should not be used from any
+ * client code other than code shipped with the FLAC sources.
+ */
+FLAC_API FLAC__bool FLAC__stream_encoder_disable_instruction_set(FLAC__StreamEncoder *encoder, int value);
+FLAC_API FLAC__bool FLAC__stream_encoder_disable_constant_subframes(FLAC__StreamEncoder *encoder, FLAC__bool value);
+FLAC_API FLAC__bool FLAC__stream_encoder_disable_fixed_subframes(FLAC__StreamEncoder *encoder, FLAC__bool value);
+FLAC_API FLAC__bool FLAC__stream_encoder_disable_verbatim_subframes(FLAC__StreamEncoder *encoder, FLAC__bool value);
+/*
+ * The following two routines were intended as debug routines and are not
+ * in the public headers, but SHOULD NOT CHANGE! It is known they are used
+ * in some non-audio projects needing every last bit of performance.
+ * See https://github.com/xiph/flac/issues/547 for details. These projects
+ * provide their own prototypes, so changing the signature of these
+ * functions would break building.
+ */
+FLAC_API FLAC__bool FLAC__stream_encoder_set_do_md5(FLAC__StreamEncoder *encoder, FLAC__bool value);
+FLAC_API FLAC__bool FLAC__stream_encoder_get_do_md5(const FLAC__StreamEncoder *encoder);
+
+#endif /* FLAC__SHARE__PRIVATE_H */
diff --git a/3rdparty/libflac/include/share/replaygain_analysis.h b/3rdparty/libflac/include/share/replaygain_analysis.h
index 6aef649e30b..f06a9b29f69 100644
--- a/3rdparty/libflac/include/share/replaygain_analysis.h
+++ b/3rdparty/libflac/include/share/replaygain_analysis.h
@@ -14,7 +14,7 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* concept and filter values by David Robinson (David@Robinson.org)
* -- blame him if you think the idea is flawed
@@ -42,15 +42,15 @@
extern "C" {
#endif
-typedef float Float_t; /* Type used for filtering */
+typedef float flac_float_t; /* Type used for filtering */
-extern Float_t ReplayGainReferenceLoudness; /* in dB SPL, currently == 89.0 */
+extern flac_float_t ReplayGainReferenceLoudness; /* in dB SPL, currently == 89.0 */
int InitGainAnalysis ( long samplefreq );
-int AnalyzeSamples ( const Float_t* left_samples, const Float_t* right_samples, size_t num_samples, int num_channels );
-int ResetSampleFrequency ( long samplefreq );
-Float_t GetTitleGain ( void );
-Float_t GetAlbumGain ( void );
+int ValidGainFrequency ( long samplefreq );
+int AnalyzeSamples ( const flac_float_t* left_samples, const flac_float_t* right_samples, size_t num_samples, int num_channels );
+flac_float_t GetTitleGain ( void );
+flac_float_t GetAlbumGain ( void );
#ifdef __cplusplus
}
diff --git a/3rdparty/libflac/include/share/replaygain_synthesis.h b/3rdparty/libflac/include/share/replaygain_synthesis.h
index ca1ae641355..1701995d49a 100644
--- a/3rdparty/libflac/include/share/replaygain_synthesis.h
+++ b/3rdparty/libflac/include/share/replaygain_synthesis.h
@@ -1,5 +1,6 @@
/* replaygain_synthesis - Routines for applying ReplayGain to a signal
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -20,9 +21,9 @@
#define FLAC__SHARE__REPLAYGAIN_SYNTHESIS_H
#include <stdlib.h> /* for size_t */
-#include "FLAC/ordinals.h"
+#include "FLAC/format.h"
-#define FLAC_SHARE__MAX_SUPPORTED_CHANNELS 2
+#define FLAC_SHARE__MAX_SUPPORTED_CHANNELS FLAC__MAX_CHANNELS
typedef enum {
NOISE_SHAPING_NONE = 0,
@@ -46,6 +47,6 @@ typedef struct {
void FLAC__replaygain_synthesis__init_dither_context(DitherContext *dither, int bits, int shapingtype);
/* scale = (float) pow(10., (double)replaygain * 0.05); */
-size_t FLAC__replaygain_synthesis__apply_gain(FLAC__byte *data_out, FLAC__bool little_endian_data_out, FLAC__bool unsigned_data_out, const FLAC__int32 * const input[], unsigned wide_samples, unsigned channels, const unsigned source_bps, const unsigned target_bps, const double scale, const FLAC__bool hard_limit, FLAC__bool do_dithering, DitherContext *dither_context);
+size_t FLAC__replaygain_synthesis__apply_gain(FLAC__byte *data_out, FLAC__bool little_endian_data_out, FLAC__bool unsigned_data_out, const FLAC__int32 * const input[], uint32_t wide_samples, uint32_t channels, const uint32_t source_bps, const uint32_t target_bps, const double scale, const FLAC__bool hard_limit, FLAC__bool do_dithering, DitherContext *dither_context);
#endif
diff --git a/3rdparty/libflac/include/share/safe_str.h b/3rdparty/libflac/include/share/safe_str.h
new file mode 100644
index 00000000000..85ecbdaf7d3
--- /dev/null
+++ b/3rdparty/libflac/include/share/safe_str.h
@@ -0,0 +1,71 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2013-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/* Safe string handling functions to replace things like strcpy, strncpy,
+ * strcat, strncat etc.
+ * All of these functions guarantee a correctly NUL terminated string but
+ * the string may be truncated if the destination buffer was too short.
+ */
+
+#ifndef FLAC__SHARE_SAFE_STR_H
+#define FLAC__SHARE_SAFE_STR_H
+
+static inline char *
+safe_strncat(char *dest, const char *src, size_t dest_size)
+{
+ char * ret;
+
+ if (dest_size < 1)
+ return dest;
+
+ /* Assume dist has space for a term character .. */
+ ret = strncat(dest, src, dest_size - strlen (dest));
+ /* .. but set it explicitly. */
+ dest [dest_size - 1] = 0;
+
+ return ret;
+}
+
+static inline char *
+safe_strncpy(char *dest, const char *src, size_t dest_size)
+{
+ char * ret;
+
+ if (dest_size < 1)
+ return dest;
+
+ ret = strncpy(dest, src, dest_size - 1);
+ dest [dest_size - 1] = 0;
+
+ return ret;
+}
+
+#endif /* FLAC__SHARE_SAFE_STR_H */
diff --git a/3rdparty/libflac/include/share/win_utf8_io.h b/3rdparty/libflac/include/share/win_utf8_io.h
new file mode 100644
index 00000000000..ed07386f88d
--- /dev/null
+++ b/3rdparty/libflac/include/share/win_utf8_io.h
@@ -0,0 +1,71 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2013-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifdef _WIN32
+
+#ifndef flac__win_utf8_io_h
+#define flac__win_utf8_io_h
+
+#include <stdio.h>
+#include <stdarg.h>
+#include <sys/stat.h>
+#include <sys/utime.h>
+#include "FLAC/ordinals.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+size_t strlen_utf8(const char *str);
+int win_get_console_width(void);
+
+int get_utf8_argv(int *argc, char ***argv);
+
+int printf_utf8(const char *format, ...);
+int fprintf_utf8(FILE *stream, const char *format, ...);
+int vfprintf_utf8(FILE *stream, const char *format, va_list argptr);
+
+FILE* fopen_utf8(const char *filename, const char *mode);
+int stat64_utf8(const char *path, struct __stat64 *buffer);
+int chmod_utf8(const char *filename, int pmode);
+int utime_utf8(const char *filename, struct utimbuf *times);
+int unlink_utf8(const char *filename);
+int rename_utf8(const char *oldname, const char *newname);
+
+#include <windows.h>
+HANDLE WINAPI CreateFile_utf8(const char *lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
+#endif
diff --git a/3rdparty/libflac/include/test_libs_common/Makefile.am b/3rdparty/libflac/include/test_libs_common/Makefile.am
index a0342dc193b..af82b4d8235 100644
--- a/3rdparty/libflac/include/test_libs_common/Makefile.am
+++ b/3rdparty/libflac/include/test_libs_common/Makefile.am
@@ -1,7 +1,5 @@
## Process this file with automake to produce Makefile.in
-AUTOMAKE_OPTIONS = foreign
-
EXTRA_DIST = \
file_utils_flac.h \
metadata_utils.h
diff --git a/3rdparty/libflac/include/test_libs_common/Makefile.in b/3rdparty/libflac/include/test_libs_common/Makefile.in
index 99f89d63ac3..3e0d19fc322 100644
--- a/3rdparty/libflac/include/test_libs_common/Makefile.in
+++ b/3rdparty/libflac/include/test_libs_common/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -13,17 +13,67 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -35,12 +85,56 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = include/test_libs_common
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -49,232 +143,227 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
-AUTOMAKE_OPTIONS = foreign
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
EXTRA_DIST = \
file_utils_flac.h \
metadata_utils.h
-subdir = include/test_libs_common
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign include/test_libs_common/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/test_libs_common/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign include/test_libs_common/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
-
installdirs:
install: install-am
install-exec: install-exec-am
@@ -286,16 +375,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -306,24 +401,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
+distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -342,17 +459,24 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
+
+.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/include/test_libs_common/file_utils_flac.h b/3rdparty/libflac/include/test_libs_common/file_utils_flac.h
index 27e3671a02b..5c59c98b432 100644
--- a/3rdparty/libflac/include/test_libs_common/file_utils_flac.h
+++ b/3rdparty/libflac/include/test_libs_common/file_utils_flac.h
@@ -1,5 +1,6 @@
/* test_libFLAC - Unit tester for libFLAC
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,24 +12,25 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef FLAC__TEST_LIBFLAC_FILE_UTILS_H
#define FLAC__TEST_LIBFLAC_FILE_UTILS_H
/* needed because of off_t */
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "FLAC/format.h"
#include <sys/types.h> /* for off_t */
+#include "share/compat.h"
extern const long file_utils__ogg_serial_number;
-FLAC__bool file_utils__generate_flacfile(FLAC__bool is_ogg, const char *output_filename, off_t *output_filesize, unsigned length, const FLAC__StreamMetadata *streaminfo, FLAC__StreamMetadata **metadata, unsigned num_metadata);
+FLAC__bool file_utils__generate_flacfile(FLAC__bool is_ogg, const char *output_filename, FLAC__off_t *output_filesize, uint32_t length, const FLAC__StreamMetadata *streaminfo, FLAC__StreamMetadata **metadata, uint32_t num_metadata);
#endif
diff --git a/3rdparty/libflac/include/test_libs_common/metadata_utils.h b/3rdparty/libflac/include/test_libs_common/metadata_utils.h
index 2f0f3eef67f..1ed923a6f09 100644
--- a/3rdparty/libflac/include/test_libs_common/metadata_utils.h
+++ b/3rdparty/libflac/include/test_libs_common/metadata_utils.h
@@ -1,5 +1,6 @@
/* test_libFLAC - Unit tester for libFLAC
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef FLAC__TEST_LIBS_COMMON_METADATA_UTILS_H
@@ -27,9 +28,9 @@
FLAC__bool mutils__compare_block_data_streaminfo(const FLAC__StreamMetadata_StreamInfo *block, const FLAC__StreamMetadata_StreamInfo *blockcopy);
-FLAC__bool mutils__compare_block_data_padding(const FLAC__StreamMetadata_Padding *block, const FLAC__StreamMetadata_Padding *blockcopy, unsigned block_length);
+FLAC__bool mutils__compare_block_data_padding(const FLAC__StreamMetadata_Padding *block, const FLAC__StreamMetadata_Padding *blockcopy, uint32_t block_length);
-FLAC__bool mutils__compare_block_data_application(const FLAC__StreamMetadata_Application *block, const FLAC__StreamMetadata_Application *blockcopy, unsigned block_length);
+FLAC__bool mutils__compare_block_data_application(const FLAC__StreamMetadata_Application *block, const FLAC__StreamMetadata_Application *blockcopy, uint32_t block_length);
FLAC__bool mutils__compare_block_data_seektable(const FLAC__StreamMetadata_SeekTable *block, const FLAC__StreamMetadata_SeekTable *blockcopy);
@@ -39,7 +40,7 @@ FLAC__bool mutils__compare_block_data_cuesheet(const FLAC__StreamMetadata_CueShe
FLAC__bool mutils__compare_block_data_picture(const FLAC__StreamMetadata_Picture *block, const FLAC__StreamMetadata_Picture *blockcopy);
-FLAC__bool mutils__compare_block_data_unknown(const FLAC__StreamMetadata_Unknown *block, const FLAC__StreamMetadata_Unknown *blockcopy, unsigned block_length);
+FLAC__bool mutils__compare_block_data_unknown(const FLAC__StreamMetadata_Unknown *block, const FLAC__StreamMetadata_Unknown *blockcopy, uint32_t block_length);
FLAC__bool mutils__compare_block(const FLAC__StreamMetadata *block, const FLAC__StreamMetadata *blockcopy);
diff --git a/3rdparty/libflac/install-sh b/3rdparty/libflac/install-sh
index 6ce63b9f76b..ec298b53740 100644..100755
--- a/3rdparty/libflac/install-sh
+++ b/3rdparty/libflac/install-sh
@@ -1,7 +1,8 @@
#!/bin/sh
-#
# install - install a program, script, or datafile
-#
+
+scriptversion=2020-11-14.01; # UTC
+
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
@@ -34,261 +35,507 @@
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
+# 'make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
+# from scratch.
+
+tab=' '
+nl='
+'
+IFS=" $tab$nl"
+
+# Set DOITPROG to "echo" to test this script.
+doit=${DOITPROG-}
+doit_exec=${doit:-exec}
-# set DOITPROG to echo to test this script
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+posix_mkdir=
-# put in absolute paths if you don't have them in your path; or use env. vars.
+# Desired mode of installed file.
+mode=0755
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
+# Create dirs (including intermediate dirs) using mode 755.
+# This is like GNU 'install' as of coreutils 8.32 (2020).
+mkdir_umask=22
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
+backupsuffix=
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd=$cpprog
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd=$stripprog
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
-done
+stripcmd=
-if [ x"$src" = x ]
-then
- echo "$0: no input file specified" >&2
- exit 1
-else
- :
-fi
+src=
+dst=
+dir_arg=
+dst_arg=
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
+copy_on_change=false
+is_target_a_directory=possibly
- if [ -d "$dst" ]; then
- instcmd=:
- chmodcmd=""
- else
- instcmd=$mkdirprog
- fi
-else
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+ or: $0 [OPTION]... SRCFILES... DIRECTORY
+ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+ or: $0 [OPTION]... -d DIRECTORIES...
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
- if [ -f "$src" ] || [ -d "$src" ]
- then
- :
- else
- echo "$0: $src does not exist" >&2
- exit 1
- fi
+Options:
+ --help display this help and exit.
+ --version display version info and exit.
- if [ x"$dst" = x ]
- then
- echo "$0: no destination specified" >&2
- exit 1
- else
- :
- fi
+ -c (ignored)
+ -C install only if different (preserve data modification time)
+ -d create directories instead of installing files.
+ -g GROUP $chgrpprog installed files to GROUP.
+ -m MODE $chmodprog installed files to MODE.
+ -o USER $chownprog installed files to USER.
+ -p pass -p to $cpprog.
+ -s $stripprog installed files.
+ -S SUFFIX attempt to back up existing files, with suffix SUFFIX.
+ -t DIRECTORY install into DIRECTORY.
+ -T report an error if DSTFILE is a directory.
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
+Environment variables override the default commands:
+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+ RMPROG STRIPPROG
- if [ -d "$dst" ]
- then
- dst=$dst/`basename "$src"`
- else
- :
- fi
-fi
+By default, rm is invoked with -f; when overridden with RMPROG,
+it's up to you to specify -f if you want it.
-## this sed command emulates the dirname command
-dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+If -S is not specified, no backups are attempted.
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
+Email bug reports to bug-automake@gnu.org.
+Automake home page: https://www.gnu.org/software/automake/
+"
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
- '
-IFS="${IFS-$defaultIFS}"
+while test $# -ne 0; do
+ case $1 in
+ -c) ;;
-oIFS=$IFS
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS=$oIFS
+ -C) copy_on_change=true;;
-pathcomp=''
+ -d) dir_arg=true;;
-while [ $# -ne 0 ] ; do
- pathcomp=$pathcomp$1
- shift
+ -g) chgrpcmd="$chgrpprog $2"
+ shift;;
- if [ ! -d "$pathcomp" ] ;
- then
- $mkdirprog "$pathcomp"
- else
- :
- fi
+ --help) echo "$usage"; exit $?;;
- pathcomp=$pathcomp/
-done
-fi
+ -m) mode=$2
+ case $mode in
+ *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd "$dst" &&
+ -o) chowncmd="$chownprog $2"
+ shift;;
- if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
-else
+ -p) cpprog="$cpprog -p";;
-# If we're going to rename the final executable, determine the name now.
+ -s) stripcmd=$stripprog;;
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename "$dst"`
- else
- dstfile=`basename "$dst" $transformbasename |
- sed $transformarg`$transformbasename
- fi
+ -S) backupsuffix="$2"
+ shift;;
-# don't allow the sed command to completely eliminate the filename
+ -t)
+ is_target_a_directory=always
+ dst_arg=$2
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
+ shift;;
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename "$dst"`
- else
- :
- fi
+ -T) is_target_a_directory=never;;
-# Make a couple of temp file names in the proper directory.
+ --version) echo "$0 $scriptversion"; exit $?;;
- dsttmp=$dstdir/_inst.$$_
- rmtmp=$dstdir/_rm.$$_
+ --) shift
+ break;;
-# Trap to clean up temp files at exit.
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
- trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
- trap '(exit $?); exit' 1 2 13 15
+ *) break;;
+ esac
+ shift
+done
-# Move or copy the file name to the temp name
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
- $doit $instcmd "$src" "$dsttmp" &&
+if test -n "$dir_arg"; then
+ if test -n "$dst_arg"; then
+ echo "$0: target directory not allowed when installing a directory." >&2
+ exit 1
+ fi
+fi
-# and set any options; do chmod last to preserve setuid bits
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+ # When -d is used, all remaining arguments are directories to create.
+ # When -t is used, the destination is already specified.
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dst_arg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dst_arg"
+ shift # fnord
+ fi
+ shift # arg
+ dst_arg=$arg
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
+ done
+fi
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
+if test $# -eq 0; then
+ if test -z "$dir_arg"; then
+ echo "$0: no input file specified." >&2
+ exit 1
+ fi
+ # It's OK to call 'install-sh -d' without argument.
+ # This can happen when creating conditional directories.
+ exit 0
+fi
- if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
+if test -z "$dir_arg"; then
+ if test $# -gt 1 || test "$is_target_a_directory" = always; then
+ if test ! -d "$dst_arg"; then
+ echo "$0: $dst_arg: Is not a directory." >&2
+ exit 1
+ fi
+ fi
+fi
-# Now remove or move aside any old file at destination location. We try this
-# two ways since rm can't unlink itself on some systems and the destination
-# file might be busy for other reasons. In this case, the final cleanup
-# might fail but the new file should still install successfully.
+if test -z "$dir_arg"; then
+ do_exit='(exit $ret); exit $ret'
+ trap "ret=129; $do_exit" 1
+ trap "ret=130; $do_exit" 2
+ trap "ret=141; $do_exit" 13
+ trap "ret=143; $do_exit" 15
+
+ # Set umask so as not to create temps with too-generous modes.
+ # However, 'strip' requires both read and write access to temps.
+ case $mode in
+ # Optimize common cases.
+ *644) cp_umask=133;;
+ *755) cp_umask=22;;
+
+ *[0-7])
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw='% 200'
+ fi
+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+ *)
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw=,u+rw
+ fi
+ cp_umask=$mode$u_plus_rw;;
+ esac
+fi
-{
- if [ -f "$dstdir/$dstfile" ]
+for src
+do
+ # Protect names problematic for 'test' and other utilities.
+ case $src in
+ -* | [=\(\)!]) src=./$src;;
+ esac
+
+ if test -n "$dir_arg"; then
+ dst=$src
+ dstdir=$dst
+ test -d "$dstdir"
+ dstdir_status=$?
+ # Don't chown directories that already exist.
+ if test $dstdir_status = 0; then
+ chowncmd=""
+ fi
+ else
+
+ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+ # might cause directories to be created, which would be especially bad
+ # if $src (and thus $dsttmp) contains '*'.
+ if test ! -f "$src" && test ! -d "$src"; then
+ echo "$0: $src does not exist." >&2
+ exit 1
+ fi
+
+ if test -z "$dst_arg"; then
+ echo "$0: no destination specified." >&2
+ exit 1
+ fi
+ dst=$dst_arg
+
+ # If destination is a directory, append the input filename.
+ if test -d "$dst"; then
+ if test "$is_target_a_directory" = never; then
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
+ fi
+ dstdir=$dst
+ dstbase=`basename "$src"`
+ case $dst in
+ */) dst=$dst$dstbase;;
+ *) dst=$dst/$dstbase;;
+ esac
+ dstdir_status=0
+ else
+ dstdir=`dirname "$dst"`
+ test -d "$dstdir"
+ dstdir_status=$?
+ fi
+ fi
+
+ case $dstdir in
+ */) dstdirslash=$dstdir;;
+ *) dstdirslash=$dstdir/;;
+ esac
+
+ obsolete_mkdir_used=false
+
+ if test $dstdir_status != 0; then
+ case $posix_mkdir in
+ '')
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ # The $RANDOM variable is not portable (e.g., dash). Use it
+ # here however when possible just to lower collision chance.
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+
+ trap '
+ ret=$?
+ rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null
+ exit $ret
+ ' 0
+
+ # Because "mkdir -p" follows existing symlinks and we likely work
+ # directly in world-writeable /tmp, make sure that the '$tmpdir'
+ # directory is successfully created first before we actually test
+ # 'mkdir -p'.
+ if (umask $mkdir_umask &&
+ $mkdirprog $mkdir_mode "$tmpdir" &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
then
- $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
- $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
- {
- echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
- (exit 1); exit
- }
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ test_tmpdir="$tmpdir/a"
+ ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
else
- :
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
fi
-} &&
-
-# Now rename the file to the real destination.
-
- $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
-
-fi &&
+ trap '' 0;;
+ esac
-# The final little trick to "correctly" pass the exit status to the exit trap.
+ if
+ $posix_mkdir && (
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ )
+ then :
+ else
+
+ # mkdir does not conform to POSIX,
+ # or it failed possibly due to a race condition. Create the
+ # directory the slow way, step by step, checking for races as we go.
+
+ case $dstdir in
+ /*) prefix='/';;
+ [-=\(\)!]*) prefix='./';;
+ *) prefix='';;
+ esac
+
+ oIFS=$IFS
+ IFS=/
+ set -f
+ set fnord $dstdir
+ shift
+ set +f
+ IFS=$oIFS
+
+ prefixes=
+
+ for d
+ do
+ test X"$d" = X && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
+ done
+
+ if test -n "$prefixes"; then
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
+ fi
+ fi
+ fi
+
+ if test -n "$dir_arg"; then
+ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+ else
+
+ # Make a couple of temp file names in the proper directory.
+ dsttmp=${dstdirslash}_inst.$$_
+ rmtmp=${dstdirslash}_rm.$$_
+
+ # Trap to clean up those temp files at exit.
+ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+ # Copy the file name to the temp name.
+ (umask $cp_umask &&
+ { test -z "$stripcmd" || {
+ # Create $dsttmp read-write so that cp doesn't create it read-only,
+ # which would cause strip to fail.
+ if test -z "$doit"; then
+ : >"$dsttmp" # No need to fork-exec 'touch'.
+ else
+ $doit touch "$dsttmp"
+ fi
+ }
+ } &&
+ $doit_exec $cpprog "$src" "$dsttmp") &&
+
+ # and set any options; do chmod last to preserve setuid bits.
+ #
+ # If any of these fail, we abort the whole thing. If we want to
+ # ignore errors from any of these, just make sure not to ignore
+ # errors from the above "$doit $cpprog $src $dsttmp" command.
+ #
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+ # If -C, don't bother to copy if it wouldn't change the file.
+ if $copy_on_change &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+ set -f &&
+ set X $old && old=:$2:$4:$5:$6 &&
+ set X $new && new=:$2:$4:$5:$6 &&
+ set +f &&
+ test "$old" = "$new" &&
+ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+ then
+ rm -f "$dsttmp"
+ else
+ # If $backupsuffix is set, and the file being installed
+ # already exists, attempt a backup. Don't worry if it fails,
+ # e.g., if mv doesn't support -f.
+ if test -n "$backupsuffix" && test -f "$dst"; then
+ $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null
+ fi
+
+ # Rename the file to the real destination.
+ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+ {
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
+ }
+ fi || exit 1
+
+ trap '' 0
+ fi
+done
-{
- (exit 0); exit
-}
+# Local variables:
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/3rdparty/libflac/ltmain.sh b/3rdparty/libflac/ltmain.sh
index 9be0eb1c38c..540a92ab547 100644..100755
--- a/3rdparty/libflac/ltmain.sh
+++ b/3rdparty/libflac/ltmain.sh
@@ -1,184 +1,2738 @@
-# ltmain.sh - Provide generalized library-building support services.
-# NOTE: Changing this file will not affect anything until you rerun configure.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
+#! /bin/sh
+## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
+## by inline-source v2014-01-03.01
+
+# libtool (GNU libtool) 2.4.6
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+
+# Copyright (C) 1996-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
-# This program is distributed in the hope that it will be useful, but
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+PROGRAM=libtool
+PACKAGE=libtool
+VERSION="2.4.6 Debian-2.4.6-15build2"
+package_revision=2.4.6
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Run './libtool --help' for help with using this script from the
+# command line.
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# After configure completes, it has a better idea of some of the
+# shell tools we need than the defaults used by the functions shared
+# with bootstrap, so set those here where they can still be over-
+# ridden by the user, but otherwise take precedence.
+
+: ${AUTOCONF="autoconf"}
+: ${AUTOMAKE="automake"}
+
+
+## -------------------------- ##
+## Source external libraries. ##
+## -------------------------- ##
+
+# Much of our low-level functionality needs to be sourced from external
+# libraries, which are installed to $pkgauxdir.
+
+# Set a version string for this script.
+scriptversion=2015-01-20.17; # UTC
+
+# General shell script boiler plate, and helper functions.
+# Written by Gary V. Vaughan, 2004
+
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+
+# As a special exception to the GNU General Public License, if you distribute
+# this file as part of a program or library that is built using GNU Libtool,
+# you may include this file under the same distribution terms that you use
+# for the rest of that program.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Please report bugs or propose patches to gary@gnu.org.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Evaluate this file near the top of your script to gain access to
+# the functions and variables defined here:
+#
+# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh
+#
+# If you need to override any of the default environment variable
+# settings, do that before evaluating this file.
+
+
+## -------------------- ##
+## Shell normalisation. ##
+## -------------------- ##
+
+# Some shells need a little help to be as Bourne compatible as possible.
+# Before doing anything else, make sure all that help has been provided!
+
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac
+fi
+
+# NLS nuisances: We save the old values in case they are required later.
+_G_user_locale=
+_G_safe_locale=
+for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+ eval "if test set = \"\${$_G_var+set}\"; then
+ save_$_G_var=\$$_G_var
+ $_G_var=C
+ export $_G_var
+ _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\"
+ _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
+ fi"
+done
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Make sure IFS has a sensible default
+sp=' '
+nl='
+'
+IFS="$sp $nl"
+
+# There are apparently some retarded systems that use ';' as a PATH separator!
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+
+## ------------------------- ##
+## Locate command utilities. ##
+## ------------------------- ##
+
+
+# func_executable_p FILE
+# ----------------------
+# Check that FILE is an executable regular file.
+func_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+}
+
+
+# func_path_progs PROGS_LIST CHECK_FUNC [PATH]
+# --------------------------------------------
+# Search for either a program that responds to --version with output
+# containing "GNU", or else returned by CHECK_FUNC otherwise, by
+# trying all the directories in PATH with each of the elements of
+# PROGS_LIST.
#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# CHECK_FUNC should accept the path to a candidate program, and
+# set $func_check_prog_result if it truncates its output less than
+# $_G_path_prog_max characters.
+func_path_progs ()
+{
+ _G_progs_list=$1
+ _G_check_func=$2
+ _G_PATH=${3-"$PATH"}
+
+ _G_path_prog_max=0
+ _G_path_prog_found=false
+ _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:}
+ for _G_dir in $_G_PATH; do
+ IFS=$_G_save_IFS
+ test -z "$_G_dir" && _G_dir=.
+ for _G_prog_name in $_G_progs_list; do
+ for _exeext in '' .EXE; do
+ _G_path_prog=$_G_dir/$_G_prog_name$_exeext
+ func_executable_p "$_G_path_prog" || continue
+ case `"$_G_path_prog" --version 2>&1` in
+ *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;;
+ *) $_G_check_func $_G_path_prog
+ func_path_progs_result=$func_check_prog_result
+ ;;
+ esac
+ $_G_path_prog_found && break 3
+ done
+ done
+ done
+ IFS=$_G_save_IFS
+ test -z "$func_path_progs_result" && {
+ echo "no acceptable sed could be found in \$PATH" >&2
+ exit 1
+ }
+}
+
+
+# We want to be able to use the functions in this file before configure
+# has figured out where the best binaries are kept, which means we have
+# to search for them ourselves - except when the results are already set
+# where we skip the searches.
+
+# Unless the user overrides by setting SED, search the path for either GNU
+# sed, or the sed that truncates its output the least.
+test -z "$SED" && {
+ _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for _G_i in 1 2 3 4 5 6 7; do
+ _G_sed_script=$_G_sed_script$nl$_G_sed_script
+ done
+ echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed
+ _G_sed_script=
+
+ func_check_prog_sed ()
+ {
+ _G_path_prog=$1
-basename="s,^.*/,,g"
+ _G_count=0
+ printf 0123456789 >conftest.in
+ while :
+ do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo '' >> conftest.nl
+ "$_G_path_prog" -f conftest.sed <conftest.nl >conftest.out 2>/dev/null || break
+ diff conftest.out conftest.nl >/dev/null 2>&1 || break
+ _G_count=`expr $_G_count + 1`
+ if test "$_G_count" -gt "$_G_path_prog_max"; then
+ # Best one so far, save it but keep looking for a better one
+ func_check_prog_result=$_G_path_prog
+ _G_path_prog_max=$_G_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test 10 -lt "$_G_count" && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out
+ }
+
+ func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin
+ rm -f conftest.sed
+ SED=$func_path_progs_result
+}
+
+
+# Unless the user overrides by setting GREP, search the path for either GNU
+# grep, or the grep that truncates its output the least.
+test -z "$GREP" && {
+ func_check_prog_grep ()
+ {
+ _G_path_prog=$1
+
+ _G_count=0
+ _G_path_prog_max=0
+ printf 0123456789 >conftest.in
+ while :
+ do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo 'GREP' >> conftest.nl
+ "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' <conftest.nl >conftest.out 2>/dev/null || break
+ diff conftest.out conftest.nl >/dev/null 2>&1 || break
+ _G_count=`expr $_G_count + 1`
+ if test "$_G_count" -gt "$_G_path_prog_max"; then
+ # Best one so far, save it but keep looking for a better one
+ func_check_prog_result=$_G_path_prog
+ _G_path_prog_max=$_G_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test 10 -lt "$_G_count" && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out
+ }
+
+ func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin
+ GREP=$func_path_progs_result
+}
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# All uppercase variable names are used for environment variables. These
+# variables can be overridden by the user before calling a script that
+# uses them if a suitable command of that name is not already available
+# in the command search PATH.
+
+: ${CP="cp -f"}
+: ${ECHO="printf %s\n"}
+: ${EGREP="$GREP -E"}
+: ${FGREP="$GREP -F"}
+: ${LN_S="ln -s"}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+
+
+## -------------------- ##
+## Useful sed snippets. ##
+## -------------------- ##
+
+sed_dirname='s|/[^/]*$||'
+sed_basename='s|^.*/||'
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s|\([`"$\\]\)|\\\1|g'
+
+# Same as above, but do not quote variable references.
+sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution that turns a string into a regex matching for the
+# string literally.
+sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
+
+# Sed substitution that converts a w32 file name or path
+# that contains forward slashes, into one that contains
+# (escaped) backslashes. A very naive implementation.
+sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+
+# Re-'\' parameter expansions in output of sed_double_quote_subst that
+# were '\'-ed in input to the same. If an odd number of '\' preceded a
+# '$' in input to sed_double_quote_subst, that '$' was protected from
+# expansion. Since each input '\' is now two '\'s, look for any number
+# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'.
+_G_bs='\\'
+_G_bs2='\\\\'
+_G_bs4='\\\\\\\\'
+_G_dollar='\$'
+sed_double_backslash="\
+ s/$_G_bs4/&\\
+/g
+ s/^$_G_bs2$_G_dollar/$_G_bs&/
+ s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g
+ s/\n//g"
+
+
+## ----------------- ##
+## Global variables. ##
+## ----------------- ##
+
+# Except for the global variables explicitly listed below, the following
+# functions in the '^func_' namespace, and the '^require_' namespace
+# variables initialised in the 'Resource management' section, sourcing
+# this file will not pollute your global namespace with anything
+# else. There's no portable way to scope variables in Bourne shell
+# though, so actually running these functions will sometimes place
+# results into a variable named after the function, and often use
+# temporary variables in the '^_G_' namespace. If you are careful to
+# avoid using those namespaces casually in your sourcing script, things
+# should continue to work as you expect. And, of course, you can freely
+# overwrite any of the functions or variables defined here before
+# calling anything to customize them.
+
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
+
+# Allow overriding, eg assuming that you follow the convention of
+# putting '$debug_cmd' at the start of all your functions, you can get
+# bash to show function call trace with:
+#
+# debug_cmd='echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
+debug_cmd=${debug_cmd-":"}
+exit_cmd=:
+
+# By convention, finish your script with:
+#
+# exit $exit_status
+#
+# so that you can set exit_status to non-zero if you want to indicate
+# something went wrong during execution without actually bailing out at
+# the point of failure.
+exit_status=$EXIT_SUCCESS
# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
# is ksh but when the shell is invoked as "sh" and the current value of
# the _XPG environment variable is not equal to 1 (one), the special
# positional parameter $0, within a function call, is the name of the
# function.
-progpath="$0"
+progpath=$0
+
+# The name of this program.
+progname=`$ECHO "$progpath" |$SED "$sed_basename"`
+
+# Make sure we have an absolute progpath for reexecution:
+case $progpath in
+ [\\/]*|[A-Za-z]:\\*) ;;
+ *[\\/]*)
+ progdir=`$ECHO "$progpath" |$SED "$sed_dirname"`
+ progdir=`cd "$progdir" && pwd`
+ progpath=$progdir/$progname
+ ;;
+ *)
+ _G_IFS=$IFS
+ IFS=${PATH_SEPARATOR-:}
+ for progdir in $PATH; do
+ IFS=$_G_IFS
+ test -x "$progdir/$progname" && break
+ done
+ IFS=$_G_IFS
+ test -n "$progdir" || progdir=`pwd`
+ progpath=$progdir/$progname
+ ;;
+esac
-# The name of this program:
-progname=`echo "$progpath" | $SED $basename`
-modename="$progname"
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
+## ----------------- ##
+## Standard options. ##
+## ----------------- ##
-PROGRAM=ltmain.sh
-PACKAGE=libtool
-VERSION=1.5.16
-TIMESTAMP=" (1.1220.2.235 2005/04/25 18:13:26)"
+# The following options affect the operation of the functions defined
+# below, and should be set appropriately depending on run-time para-
+# meters passed on the command line.
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes.
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
+opt_dry_run=false
+opt_quiet=false
+opt_verbose=false
+
+# Categories 'all' and 'none' are always available. Append any others
+# you will pass as the first argument to func_warning from your own
+# code.
+warning_categories=
+
+# By default, display warnings according to 'opt_warning_types'. Set
+# 'warning_func' to ':' to elide all warnings, or func_fatal_error to
+# treat the next displayed warning as a fatal error.
+warning_func=func_warn_and_continue
+
+# Set to 'all' to display all warnings, 'none' to suppress all
+# warnings, or a space delimited list of some subset of
+# 'warning_categories' to display only the listed warnings.
+opt_warning_types=all
+
+
+## -------------------- ##
+## Resource management. ##
+## -------------------- ##
+
+# This section contains definitions for functions that each ensure a
+# particular resource (a file, or a non-empty configuration variable for
+# example) is available, and if appropriate to extract default values
+# from pertinent package files. Call them using their associated
+# 'require_*' variable to ensure that they are executed, at most, once.
+#
+# It's entirely deliberate that calling these functions can set
+# variables that don't obey the namespace limitations obeyed by the rest
+# of this file, in order that that they be as useful as possible to
+# callers.
+
+
+# require_term_colors
+# -------------------
+# Allow display of bold text on terminals that support it.
+require_term_colors=func_require_term_colors
+func_require_term_colors ()
+{
+ $debug_cmd
+
+ test -t 1 && {
+ # COLORTERM and USE_ANSI_COLORS environment variables take
+ # precedence, because most terminfo databases neglect to describe
+ # whether color sequences are supported.
+ test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"}
+
+ if test 1 = "$USE_ANSI_COLORS"; then
+ # Standard ANSI escape sequences
+ tc_reset=''
+ tc_bold=''; tc_standout=''
+ tc_red=''; tc_green=''
+ tc_blue=''; tc_cyan=''
+ else
+ # Otherwise trust the terminfo database after all.
+ test -n "`tput sgr0 2>/dev/null`" && {
+ tc_reset=`tput sgr0`
+ test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold`
+ tc_standout=$tc_bold
+ test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso`
+ test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1`
+ test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2`
+ test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4`
+ test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5`
+ }
+ fi
+ }
+
+ require_term_colors=:
+}
+
+
+## ----------------- ##
+## Function library. ##
+## ----------------- ##
+
+# This section contains a variety of useful functions to call in your
+# scripts. Take note of the portable wrappers for features provided by
+# some modern shells, which will fall back to slower equivalents on
+# less featureful shells.
+
+
+# func_append VAR VALUE
+# ---------------------
+# Append VALUE onto the existing contents of VAR.
+
+ # We should try to minimise forks, especially on Windows where they are
+ # unreasonably slow, so skip the feature probes when bash or zsh are
+ # being used:
+ if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then
+ : ${_G_HAVE_ARITH_OP="yes"}
+ : ${_G_HAVE_XSI_OPS="yes"}
+ # The += operator was introduced in bash 3.1
+ case $BASH_VERSION in
+ [12].* | 3.0 | 3.0*) ;;
+ *)
+ : ${_G_HAVE_PLUSEQ_OP="yes"}
+ ;;
+ esac
+ fi
+
+ # _G_HAVE_PLUSEQ_OP
+ # Can be empty, in which case the shell is probed, "yes" if += is
+ # useable or anything else if it does not work.
+ test -z "$_G_HAVE_PLUSEQ_OP" \
+ && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \
+ && _G_HAVE_PLUSEQ_OP=yes
+
+if test yes = "$_G_HAVE_PLUSEQ_OP"
+then
+ # This is an XSI compatible shell, allowing a faster implementation...
+ eval 'func_append ()
+ {
+ $debug_cmd
+
+ eval "$1+=\$2"
+ }'
+else
+ # ...otherwise fall back to using expr, which is often a shell builtin.
+ func_append ()
+ {
+ $debug_cmd
+
+ eval "$1=\$$1\$2"
+ }
fi
-# Check that we have a working $echo.
-if test "X$1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X$1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
- # Yippee, $echo works!
- :
+
+# func_append_quoted VAR VALUE
+# ----------------------------
+# Quote VALUE and append to the end of shell variable VAR, separated
+# by a space.
+if test yes = "$_G_HAVE_PLUSEQ_OP"; then
+ eval 'func_append_quoted ()
+ {
+ $debug_cmd
+
+ func_quote_for_eval "$2"
+ eval "$1+=\\ \$func_quote_for_eval_result"
+ }'
else
- # Restart under the correct shell, and then maybe $echo will work.
- exec $SHELL "$progpath" --no-reexec ${1+"$@"}
+ func_append_quoted ()
+ {
+ $debug_cmd
+
+ func_quote_for_eval "$2"
+ eval "$1=\$$1\\ \$func_quote_for_eval_result"
+ }
fi
-if test "X$1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
-$*
-EOF
- exit $EXIT_SUCCESS
+
+# func_append_uniq VAR VALUE
+# --------------------------
+# Append unique VALUE onto the existing contents of VAR, assuming
+# entries are delimited by the first character of VALUE. For example:
+#
+# func_append_uniq options " --another-option option-argument"
+#
+# will only append to $options if " --another-option option-argument "
+# is not already present somewhere in $options already (note spaces at
+# each end implied by leading space in second argument).
+func_append_uniq ()
+{
+ $debug_cmd
+
+ eval _G_current_value='`$ECHO $'$1'`'
+ _G_delim=`expr "$2" : '\(.\)'`
+
+ case $_G_delim$_G_current_value$_G_delim in
+ *"$2$_G_delim"*) ;;
+ *) func_append "$@" ;;
+ esac
+}
+
+
+# func_arith TERM...
+# ------------------
+# Set func_arith_result to the result of evaluating TERMs.
+ test -z "$_G_HAVE_ARITH_OP" \
+ && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \
+ && _G_HAVE_ARITH_OP=yes
+
+if test yes = "$_G_HAVE_ARITH_OP"; then
+ eval 'func_arith ()
+ {
+ $debug_cmd
+
+ func_arith_result=$(( $* ))
+ }'
+else
+ func_arith ()
+ {
+ $debug_cmd
+
+ func_arith_result=`expr "$@"`
+ }
fi
-default_mode=
-help="Try \`$progname --help' for more information."
-magic="%%%MAGIC variable%%%"
-mkdir="mkdir"
-mv="mv -f"
-rm="rm -f"
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
-# test EBCDIC or ASCII
-case `echo A|tr A '\301'` in
- A) # EBCDIC based system
- SP2NL="tr '\100' '\n'"
- NL2SP="tr '\r\n' '\100\100'"
- ;;
- *) # Assume ASCII based system
- SP2NL="tr '\040' '\012'"
- NL2SP="tr '\015\012' '\040\040'"
- ;;
-esac
+# func_basename FILE
+# ------------------
+# Set func_basename_result to FILE with everything up to and including
+# the last / stripped.
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ # If this shell supports suffix pattern removal, then use it to avoid
+ # forking. Hide the definitions single quotes in case the shell chokes
+ # on unsupported syntax...
+ _b='func_basename_result=${1##*/}'
+ _d='case $1 in
+ */*) func_dirname_result=${1%/*}$2 ;;
+ * ) func_dirname_result=$3 ;;
+ esac'
-# NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-# We save the old values to restore during execute mode.
-if test "${LC_ALL+set}" = set; then
- save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
+else
+ # ...otherwise fall back to using sed.
+ _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'
+ _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"`
+ if test "X$func_dirname_result" = "X$1"; then
+ func_dirname_result=$3
+ else
+ func_append func_dirname_result "$2"
+ fi'
fi
-if test "${LANG+set}" = set; then
- save_LANG="$LANG"; LANG=C; export LANG
+
+eval 'func_basename ()
+{
+ $debug_cmd
+
+ '"$_b"'
+}'
+
+
+# func_dirname FILE APPEND NONDIR_REPLACEMENT
+# -------------------------------------------
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+eval 'func_dirname ()
+{
+ $debug_cmd
+
+ '"$_d"'
+}'
+
+
+# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT
+# --------------------------------------------------------
+# Perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# For efficiency, we do not delegate to the functions above but instead
+# duplicate the functionality here.
+eval 'func_dirname_and_basename ()
+{
+ $debug_cmd
+
+ '"$_b"'
+ '"$_d"'
+}'
+
+
+# func_echo ARG...
+# ----------------
+# Echo program name prefixed message.
+func_echo ()
+{
+ $debug_cmd
+
+ _G_message=$*
+
+ func_echo_IFS=$IFS
+ IFS=$nl
+ for _G_line in $_G_message; do
+ IFS=$func_echo_IFS
+ $ECHO "$progname: $_G_line"
+ done
+ IFS=$func_echo_IFS
+}
+
+
+# func_echo_all ARG...
+# --------------------
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
+
+
+# func_echo_infix_1 INFIX ARG...
+# ------------------------------
+# Echo program name, followed by INFIX on the first line, with any
+# additional lines not showing INFIX.
+func_echo_infix_1 ()
+{
+ $debug_cmd
+
+ $require_term_colors
+
+ _G_infix=$1; shift
+ _G_indent=$_G_infix
+ _G_prefix="$progname: $_G_infix: "
+ _G_message=$*
+
+ # Strip color escape sequences before counting printable length
+ for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan"
+ do
+ test -n "$_G_tc" && {
+ _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"`
+ _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"`
+ }
+ done
+ _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes
+
+ func_echo_infix_1_IFS=$IFS
+ IFS=$nl
+ for _G_line in $_G_message; do
+ IFS=$func_echo_infix_1_IFS
+ $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
+ _G_prefix=$_G_indent
+ done
+ IFS=$func_echo_infix_1_IFS
+}
+
+
+# func_error ARG...
+# -----------------
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+ $debug_cmd
+
+ $require_term_colors
+
+ func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2
+}
+
+
+# func_fatal_error ARG...
+# -----------------------
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+ $debug_cmd
+
+ func_error "$*"
+ exit $EXIT_FAILURE
+}
+
+
+# func_grep EXPRESSION FILENAME
+# -----------------------------
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+ $debug_cmd
+
+ $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_len STRING
+# ---------------
+# Set func_len_result to the length of STRING. STRING may not
+# start with a hyphen.
+ test -z "$_G_HAVE_XSI_OPS" \
+ && (eval 'x=a/b/c;
+ test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+ && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ eval 'func_len ()
+ {
+ $debug_cmd
+
+ func_len_result=${#1}
+ }'
+else
+ func_len ()
+ {
+ $debug_cmd
+
+ func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+ }
fi
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS=" $lt_nl"
-if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
- $echo "$modename: not configured to build any kind of library" 1>&2
- $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
- exit $EXIT_FAILURE
+# func_mkdir_p DIRECTORY-PATH
+# ---------------------------
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+ $debug_cmd
+
+ _G_directory_path=$1
+ _G_dir_list=
+
+ if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then
+
+ # Protect directory names starting with '-'
+ case $_G_directory_path in
+ -*) _G_directory_path=./$_G_directory_path ;;
+ esac
+
+ # While some portion of DIR does not yet exist...
+ while test ! -d "$_G_directory_path"; do
+ # ...make a list in topmost first order. Use a colon delimited
+ # list incase some portion of path contains whitespace.
+ _G_dir_list=$_G_directory_path:$_G_dir_list
+
+ # If the last portion added has no slash in it, the list is done
+ case $_G_directory_path in */*) ;; *) break ;; esac
+
+ # ...otherwise throw away the child directory and loop
+ _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"`
+ done
+ _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'`
+
+ func_mkdir_p_IFS=$IFS; IFS=:
+ for _G_dir in $_G_dir_list; do
+ IFS=$func_mkdir_p_IFS
+ # mkdir can fail with a 'File exist' error if two processes
+ # try to create one of the directories concurrently. Don't
+ # stop in that case!
+ $MKDIR "$_G_dir" 2>/dev/null || :
+ done
+ IFS=$func_mkdir_p_IFS
+
+ # Bail out if we (or some other process) failed to create a directory.
+ test -d "$_G_directory_path" || \
+ func_fatal_error "Failed to create '$1'"
+ fi
+}
+
+
+# func_mktempdir [BASENAME]
+# -------------------------
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible. If
+# given, BASENAME is the basename for that directory.
+func_mktempdir ()
+{
+ $debug_cmd
+
+ _G_template=${TMPDIR-/tmp}/${1-$progname}
+
+ if test : = "$opt_dry_run"; then
+ # Return a directory name, but don't create it in dry-run mode
+ _G_tmpdir=$_G_template-$$
+ else
+
+ # If mktemp works, use that first and foremost
+ _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null`
+
+ if test ! -d "$_G_tmpdir"; then
+ # Failing that, at least try and use $RANDOM to avoid a race
+ _G_tmpdir=$_G_template-${RANDOM-0}$$
+
+ func_mktempdir_umask=`umask`
+ umask 0077
+ $MKDIR "$_G_tmpdir"
+ umask $func_mktempdir_umask
+ fi
+
+ # If we're not in dry-run mode, bomb out on failure
+ test -d "$_G_tmpdir" || \
+ func_fatal_error "cannot create temporary directory '$_G_tmpdir'"
+ fi
+
+ $ECHO "$_G_tmpdir"
+}
+
+
+# func_normal_abspath PATH
+# ------------------------
+# Remove doubled-up and trailing slashes, "." path components,
+# and cancel out any ".." path components in PATH after making
+# it an absolute path.
+func_normal_abspath ()
+{
+ $debug_cmd
+
+ # These SED scripts presuppose an absolute path with a trailing slash.
+ _G_pathcar='s|^/\([^/]*\).*$|\1|'
+ _G_pathcdr='s|^/[^/]*||'
+ _G_removedotparts=':dotsl
+ s|/\./|/|g
+ t dotsl
+ s|/\.$|/|'
+ _G_collapseslashes='s|/\{1,\}|/|g'
+ _G_finalslash='s|/*$|/|'
+
+ # Start from root dir and reassemble the path.
+ func_normal_abspath_result=
+ func_normal_abspath_tpath=$1
+ func_normal_abspath_altnamespace=
+ case $func_normal_abspath_tpath in
+ "")
+ # Empty path, that just means $cwd.
+ func_stripname '' '/' "`pwd`"
+ func_normal_abspath_result=$func_stripname_result
+ return
+ ;;
+ # The next three entries are used to spot a run of precisely
+ # two leading slashes without using negated character classes;
+ # we take advantage of case's first-match behaviour.
+ ///*)
+ # Unusual form of absolute path, do nothing.
+ ;;
+ //*)
+ # Not necessarily an ordinary path; POSIX reserves leading '//'
+ # and for example Cygwin uses it to access remote file shares
+ # over CIFS/SMB, so we conserve a leading double slash if found.
+ func_normal_abspath_altnamespace=/
+ ;;
+ /*)
+ # Absolute path, do nothing.
+ ;;
+ *)
+ # Relative path, prepend $cwd.
+ func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
+ ;;
+ esac
+
+ # Cancel out all the simple stuff to save iterations. We also want
+ # the path to end with a slash for ease of parsing, so make sure
+ # there is one (and only one) here.
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"`
+ while :; do
+ # Processed it all yet?
+ if test / = "$func_normal_abspath_tpath"; then
+ # If we ascended to the root using ".." the result may be empty now.
+ if test -z "$func_normal_abspath_result"; then
+ func_normal_abspath_result=/
+ fi
+ break
+ fi
+ func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$_G_pathcar"`
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$_G_pathcdr"`
+ # Figure out what to do with it
+ case $func_normal_abspath_tcomponent in
+ "")
+ # Trailing empty path component, ignore it.
+ ;;
+ ..)
+ # Parent dir; strip last assembled component from result.
+ func_dirname "$func_normal_abspath_result"
+ func_normal_abspath_result=$func_dirname_result
+ ;;
+ *)
+ # Actual path component, append it.
+ func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent"
+ ;;
+ esac
+ done
+ # Restore leading double-slash if one was found on entry.
+ func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
+}
+
+
+# func_notquiet ARG...
+# --------------------
+# Echo program name prefixed message only when not in quiet mode.
+func_notquiet ()
+{
+ $debug_cmd
+
+ $opt_quiet || func_echo ${1+"$@"}
+
+ # A bug in bash halts the script if the last line of a function
+ # fails when set -e is in force, so we need another command to
+ # work around that:
+ :
+}
+
+
+# func_relative_path SRCDIR DSTDIR
+# --------------------------------
+# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR.
+func_relative_path ()
+{
+ $debug_cmd
+
+ func_relative_path_result=
+ func_normal_abspath "$1"
+ func_relative_path_tlibdir=$func_normal_abspath_result
+ func_normal_abspath "$2"
+ func_relative_path_tbindir=$func_normal_abspath_result
+
+ # Ascend the tree starting from libdir
+ while :; do
+ # check if we have found a prefix of bindir
+ case $func_relative_path_tbindir in
+ $func_relative_path_tlibdir)
+ # found an exact match
+ func_relative_path_tcancelled=
+ break
+ ;;
+ $func_relative_path_tlibdir*)
+ # found a matching prefix
+ func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+ func_relative_path_tcancelled=$func_stripname_result
+ if test -z "$func_relative_path_result"; then
+ func_relative_path_result=.
+ fi
+ break
+ ;;
+ *)
+ func_dirname $func_relative_path_tlibdir
+ func_relative_path_tlibdir=$func_dirname_result
+ if test -z "$func_relative_path_tlibdir"; then
+ # Have to descend all the way to the root!
+ func_relative_path_result=../$func_relative_path_result
+ func_relative_path_tcancelled=$func_relative_path_tbindir
+ break
+ fi
+ func_relative_path_result=../$func_relative_path_result
+ ;;
+ esac
+ done
+
+ # Now calculate path; take care to avoid doubling-up slashes.
+ func_stripname '' '/' "$func_relative_path_result"
+ func_relative_path_result=$func_stripname_result
+ func_stripname '/' '/' "$func_relative_path_tcancelled"
+ if test -n "$func_stripname_result"; then
+ func_append func_relative_path_result "/$func_stripname_result"
+ fi
+
+ # Normalisation. If bindir is libdir, return '.' else relative path.
+ if test -n "$func_relative_path_result"; then
+ func_stripname './' '' "$func_relative_path_result"
+ func_relative_path_result=$func_stripname_result
+ fi
+
+ test -n "$func_relative_path_result" || func_relative_path_result=.
+
+ :
+}
+
+
+# func_quote_for_eval ARG...
+# --------------------------
+# Aesthetically quote ARGs to be evaled later.
+# This function returns two values:
+# i) func_quote_for_eval_result
+# double-quoted, suitable for a subsequent eval
+# ii) func_quote_for_eval_unquoted_result
+# has all characters that are still active within double
+# quotes backslashified.
+func_quote_for_eval ()
+{
+ $debug_cmd
+
+ func_quote_for_eval_unquoted_result=
+ func_quote_for_eval_result=
+ while test 0 -lt $#; do
+ case $1 in
+ *[\\\`\"\$]*)
+ _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
+ *)
+ _G_unquoted_arg=$1 ;;
+ esac
+ if test -n "$func_quote_for_eval_unquoted_result"; then
+ func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
+ else
+ func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
+ fi
+
+ case $_G_unquoted_arg in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting, command substitution and variable expansion
+ # for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ _G_quoted_arg=\"$_G_unquoted_arg\"
+ ;;
+ *)
+ _G_quoted_arg=$_G_unquoted_arg
+ ;;
+ esac
+
+ if test -n "$func_quote_for_eval_result"; then
+ func_append func_quote_for_eval_result " $_G_quoted_arg"
+ else
+ func_append func_quote_for_eval_result "$_G_quoted_arg"
+ fi
+ shift
+ done
+}
+
+
+# func_quote_for_expand ARG
+# -------------------------
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
+{
+ $debug_cmd
+
+ case $1 in
+ *[\\\`\"]*)
+ _G_arg=`$ECHO "$1" | $SED \
+ -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
+ *)
+ _G_arg=$1 ;;
+ esac
+
+ case $_G_arg in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting and command substitution for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ _G_arg=\"$_G_arg\"
+ ;;
+ esac
+
+ func_quote_for_expand_result=$_G_arg
+}
+
+
+# func_stripname PREFIX SUFFIX NAME
+# ---------------------------------
+# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ eval 'func_stripname ()
+ {
+ $debug_cmd
+
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary variable first.
+ func_stripname_result=$3
+ func_stripname_result=${func_stripname_result#"$1"}
+ func_stripname_result=${func_stripname_result%"$2"}
+ }'
+else
+ func_stripname ()
+ {
+ $debug_cmd
+
+ case $2 in
+ .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;;
+ *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;;
+ esac
+ }
fi
-# Global variables.
-mode=$default_mode
-nonopt=
-prev=
-prevopt=
-run=
-show="$echo"
-show_help=
-execute_dlfiles=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-quote_scanset='[[~#^*{};<>?'"'"' ]'
-
-#####################################
-# Shell function definitions:
-# This seems to be the best place for them
-# func_win32_libid arg
-# return the library type of file 'arg'
+# func_show_eval CMD [FAIL_EXP]
+# -----------------------------
+# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+ $debug_cmd
+
+ _G_cmd=$1
+ _G_fail_exp=${2-':'}
+
+ func_quote_for_expand "$_G_cmd"
+ eval "func_notquiet $func_quote_for_expand_result"
+
+ $opt_dry_run || {
+ eval "$_G_cmd"
+ _G_status=$?
+ if test 0 -ne "$_G_status"; then
+ eval "(exit $_G_status); $_G_fail_exp"
+ fi
+ }
+}
+
+
+# func_show_eval_locale CMD [FAIL_EXP]
+# ------------------------------------
+# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it. Use the saved locale for evaluation.
+func_show_eval_locale ()
+{
+ $debug_cmd
+
+ _G_cmd=$1
+ _G_fail_exp=${2-':'}
+
+ $opt_quiet || {
+ func_quote_for_expand "$_G_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+
+ $opt_dry_run || {
+ eval "$_G_user_locale
+ $_G_cmd"
+ _G_status=$?
+ eval "$_G_safe_locale"
+ if test 0 -ne "$_G_status"; then
+ eval "(exit $_G_status); $_G_fail_exp"
+ fi
+ }
+}
+
+
+# func_tr_sh
+# ----------
+# Turn $1 into a string suitable for a shell variable name.
+# Result is stored in $func_tr_sh_result. All characters
+# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
+# if $1 begins with a digit, a '_' is prepended as well.
+func_tr_sh ()
+{
+ $debug_cmd
+
+ case $1 in
+ [0-9]* | *[!a-zA-Z0-9_]*)
+ func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'`
+ ;;
+ * )
+ func_tr_sh_result=$1
+ ;;
+ esac
+}
+
+
+# func_verbose ARG...
+# -------------------
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+ $debug_cmd
+
+ $opt_verbose && func_echo "$*"
+
+ :
+}
+
+
+# func_warn_and_continue ARG...
+# -----------------------------
+# Echo program name prefixed warning message to standard error.
+func_warn_and_continue ()
+{
+ $debug_cmd
+
+ $require_term_colors
+
+ func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2
+}
+
+
+# func_warning CATEGORY ARG...
+# ----------------------------
+# Echo program name prefixed warning message to standard error. Warning
+# messages can be filtered according to CATEGORY, where this function
+# elides messages where CATEGORY is not listed in the global variable
+# 'opt_warning_types'.
+func_warning ()
+{
+ $debug_cmd
+
+ # CATEGORY must be in the warning_categories list!
+ case " $warning_categories " in
+ *" $1 "*) ;;
+ *) func_internal_error "invalid warning category '$1'" ;;
+ esac
+
+ _G_category=$1
+ shift
+
+ case " $opt_warning_types " in
+ *" $_G_category "*) $warning_func ${1+"$@"} ;;
+ esac
+}
+
+
+# func_sort_ver VER1 VER2
+# -----------------------
+# 'sort -V' is not generally available.
+# Note this deviates from the version comparison in automake
+# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
+# but this should suffice as we won't be specifying old
+# version formats or redundant trailing .0 in bootstrap.conf.
+# If we did want full compatibility then we should probably
+# use m4_version_compare from autoconf.
+func_sort_ver ()
+{
+ $debug_cmd
+
+ printf '%s\n%s\n' "$1" "$2" \
+ | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n
+}
+
+# func_lt_ver PREV CURR
+# ---------------------
+# Return true if PREV and CURR are in the correct order according to
+# func_sort_ver, otherwise false. Use it like this:
#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-func_win32_libid ()
+# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..."
+func_lt_ver ()
{
- win32_libid_type="unknown"
- win32_fileres=`file -L $1 2>/dev/null`
- case $win32_fileres in
- *ar\ archive\ import\ library*) # definitely import
- win32_libid_type="x86 archive import"
- ;;
- *ar\ archive*) # could be an import, or static
- if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
- $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
- win32_nmres=`eval $NM -f posix -A $1 | \
- sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'`
- if test "X$win32_nmres" = "Ximport" ; then
- win32_libid_type="x86 archive import"
+ $debug_cmd
+
+ test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q`
+}
+
+
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
+#! /bin/sh
+
+# Set a version string for this script.
+scriptversion=2015-10-07.11; # UTC
+
+# A portable, pluggable option parser for Bourne shell.
+# Written by Gary V. Vaughan, 2010
+
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Please report bugs or propose patches to gary@gnu.org.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# This file is a library for parsing options in your shell scripts along
+# with assorted other useful supporting features that you can make use
+# of too.
+#
+# For the simplest scripts you might need only:
+#
+# #!/bin/sh
+# . relative/path/to/funclib.sh
+# . relative/path/to/options-parser
+# scriptversion=1.0
+# func_options ${1+"$@"}
+# eval set dummy "$func_options_result"; shift
+# ...rest of your script...
+#
+# In order for the '--version' option to work, you will need to have a
+# suitably formatted comment like the one at the top of this file
+# starting with '# Written by ' and ending with '# warranty; '.
+#
+# For '-h' and '--help' to work, you will also need a one line
+# description of your script's purpose in a comment directly above the
+# '# Written by ' line, like the one at the top of this file.
+#
+# The default options also support '--debug', which will turn on shell
+# execution tracing (see the comment above debug_cmd below for another
+# use), and '--verbose' and the func_verbose function to allow your script
+# to display verbose messages only when your user has specified
+# '--verbose'.
+#
+# After sourcing this file, you can plug processing for additional
+# options by amending the variables from the 'Configuration' section
+# below, and following the instructions in the 'Option parsing'
+# section further down.
+
+## -------------- ##
+## Configuration. ##
+## -------------- ##
+
+# You should override these variables in your script after sourcing this
+# file so that they reflect the customisations you have added to the
+# option parser.
+
+# The usage line for option parsing errors and the start of '-h' and
+# '--help' output messages. You can embed shell variables for delayed
+# expansion at the time the message is displayed, but you will need to
+# quote other shell meta-characters carefully to prevent them being
+# expanded when the contents are evaled.
+usage='$progpath [OPTION]...'
+
+# Short help message in response to '-h' and '--help'. Add to this or
+# override it after sourcing this library to reflect the full set of
+# options your script accepts.
+usage_message="\
+ --debug enable verbose shell tracing
+ -W, --warnings=CATEGORY
+ report the warnings falling in CATEGORY [all]
+ -v, --verbose verbosely report processing
+ --version print version information and exit
+ -h, --help print short or long help message and exit
+"
+
+# Additional text appended to 'usage_message' in response to '--help'.
+long_help_message="
+Warning categories include:
+ 'all' show all warnings
+ 'none' turn off all the warnings
+ 'error' warnings are treated as fatal errors"
+
+# Help message printed before fatal option parsing errors.
+fatal_help="Try '\$progname --help' for more information."
+
+
+
+## ------------------------- ##
+## Hook function management. ##
+## ------------------------- ##
+
+# This section contains functions for adding, removing, and running hooks
+# to the main code. A hook is just a named list of of function, that can
+# be run in order later on.
+
+# func_hookable FUNC_NAME
+# -----------------------
+# Declare that FUNC_NAME will run hooks added with
+# 'func_add_hook FUNC_NAME ...'.
+func_hookable ()
+{
+ $debug_cmd
+
+ func_append hookable_fns " $1"
+}
+
+
+# func_add_hook FUNC_NAME HOOK_FUNC
+# ---------------------------------
+# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must
+# first have been declared "hookable" by a call to 'func_hookable'.
+func_add_hook ()
+{
+ $debug_cmd
+
+ case " $hookable_fns " in
+ *" $1 "*) ;;
+ *) func_fatal_error "'$1' does not accept hook functions." ;;
+ esac
+
+ eval func_append ${1}_hooks '" $2"'
+}
+
+
+# func_remove_hook FUNC_NAME HOOK_FUNC
+# ------------------------------------
+# Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
+func_remove_hook ()
+{
+ $debug_cmd
+
+ eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`'
+}
+
+
+# func_run_hooks FUNC_NAME [ARG]...
+# ---------------------------------
+# Run all hook functions registered to FUNC_NAME.
+# It is assumed that the list of hook functions contains nothing more
+# than a whitespace-delimited list of legal shell function names, and
+# no effort is wasted trying to catch shell meta-characters or preserve
+# whitespace.
+func_run_hooks ()
+{
+ $debug_cmd
+
+ _G_rc_run_hooks=false
+
+ case " $hookable_fns " in
+ *" $1 "*) ;;
+ *) func_fatal_error "'$1' does not support hook funcions.n" ;;
+ esac
+
+ eval _G_hook_fns=\$$1_hooks; shift
+
+ for _G_hook in $_G_hook_fns; do
+ if eval $_G_hook '"$@"'; then
+ # store returned options list back into positional
+ # parameters for next 'cmd' execution.
+ eval _G_hook_result=\$${_G_hook}_result
+ eval set dummy "$_G_hook_result"; shift
+ _G_rc_run_hooks=:
+ fi
+ done
+
+ $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result
+}
+
+
+
+## --------------- ##
+## Option parsing. ##
+## --------------- ##
+
+# In order to add your own option parsing hooks, you must accept the
+# full positional parameter list in your hook function, you may remove/edit
+# any options that you action, and then pass back the remaining unprocessed
+# options in '<hooked_function_name>_result', escaped suitably for
+# 'eval'. In this case you also must return $EXIT_SUCCESS to let the
+# hook's caller know that it should pay attention to
+# '<hooked_function_name>_result'. Returning $EXIT_FAILURE signalizes that
+# arguments are left untouched by the hook and therefore caller will ignore the
+# result variable.
+#
+# Like this:
+#
+# my_options_prep ()
+# {
+# $debug_cmd
+#
+# # Extend the existing usage message.
+# usage_message=$usage_message'
+# -s, --silent don'\''t print informational messages
+# '
+# # No change in '$@' (ignored completely by this hook). There is
+# # no need to do the equivalent (but slower) action:
+# # func_quote_for_eval ${1+"$@"}
+# # my_options_prep_result=$func_quote_for_eval_result
+# false
+# }
+# func_add_hook func_options_prep my_options_prep
+#
+#
+# my_silent_option ()
+# {
+# $debug_cmd
+#
+# args_changed=false
+#
+# # Note that for efficiency, we parse as many options as we can
+# # recognise in a loop before passing the remainder back to the
+# # caller on the first unrecognised argument we encounter.
+# while test $# -gt 0; do
+# opt=$1; shift
+# case $opt in
+# --silent|-s) opt_silent=:
+# args_changed=:
+# ;;
+# # Separate non-argument short options:
+# -s*) func_split_short_opt "$_G_opt"
+# set dummy "$func_split_short_opt_name" \
+# "-$func_split_short_opt_arg" ${1+"$@"}
+# shift
+# args_changed=:
+# ;;
+# *) # Make sure the first unrecognised option "$_G_opt"
+# # is added back to "$@", we could need that later
+# # if $args_changed is true.
+# set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+# esac
+# done
+#
+# if $args_changed; then
+# func_quote_for_eval ${1+"$@"}
+# my_silent_option_result=$func_quote_for_eval_result
+# fi
+#
+# $args_changed
+# }
+# func_add_hook func_parse_options my_silent_option
+#
+#
+# my_option_validation ()
+# {
+# $debug_cmd
+#
+# $opt_silent && $opt_verbose && func_fatal_help "\
+# '--silent' and '--verbose' options are mutually exclusive."
+#
+# false
+# }
+# func_add_hook func_validate_options my_option_validation
+#
+# You'll also need to manually amend $usage_message to reflect the extra
+# options you parse. It's preferable to append if you can, so that
+# multiple option parsing hooks can be added safely.
+
+
+# func_options_finish [ARG]...
+# ----------------------------
+# Finishing the option parse loop (call 'func_options' hooks ATM).
+func_options_finish ()
+{
+ $debug_cmd
+
+ _G_func_options_finish_exit=false
+ if func_run_hooks func_options ${1+"$@"}; then
+ func_options_finish_result=$func_run_hooks_result
+ _G_func_options_finish_exit=:
+ fi
+
+ $_G_func_options_finish_exit
+}
+
+
+# func_options [ARG]...
+# ---------------------
+# All the functions called inside func_options are hookable. See the
+# individual implementations for details.
+func_hookable func_options
+func_options ()
+{
+ $debug_cmd
+
+ _G_rc_options=false
+
+ for my_func in options_prep parse_options validate_options options_finish
+ do
+ if eval func_$my_func '${1+"$@"}'; then
+ eval _G_res_var='$'"func_${my_func}_result"
+ eval set dummy "$_G_res_var" ; shift
+ _G_rc_options=:
+ fi
+ done
+
+ # Save modified positional parameters for caller. As a top-level
+ # options-parser function we always need to set the 'func_options_result'
+ # variable (regardless the $_G_rc_options value).
+ if $_G_rc_options; then
+ func_options_result=$_G_res_var
+ else
+ func_quote_for_eval ${1+"$@"}
+ func_options_result=$func_quote_for_eval_result
+ fi
+
+ $_G_rc_options
+}
+
+
+# func_options_prep [ARG]...
+# --------------------------
+# All initialisations required before starting the option parse loop.
+# Note that when calling hook functions, we pass through the list of
+# positional parameters. If a hook function modifies that list, and
+# needs to propagate that back to rest of this script, then the complete
+# modified list must be put in 'func_run_hooks_result' before
+# returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned).
+func_hookable func_options_prep
+func_options_prep ()
+{
+ $debug_cmd
+
+ # Option defaults:
+ opt_verbose=false
+ opt_warning_types=
+
+ _G_rc_options_prep=false
+ if func_run_hooks func_options_prep ${1+"$@"}; then
+ _G_rc_options_prep=:
+ # save modified positional parameters for caller
+ func_options_prep_result=$func_run_hooks_result
+ fi
+
+ $_G_rc_options_prep
+}
+
+
+# func_parse_options [ARG]...
+# ---------------------------
+# The main option parsing loop.
+func_hookable func_parse_options
+func_parse_options ()
+{
+ $debug_cmd
+
+ func_parse_options_result=
+
+ _G_rc_parse_options=false
+ # this just eases exit handling
+ while test $# -gt 0; do
+ # Defer to hook functions for initial option parsing, so they
+ # get priority in the event of reusing an option name.
+ if func_run_hooks func_parse_options ${1+"$@"}; then
+ eval set dummy "$func_run_hooks_result"; shift
+ _G_rc_parse_options=:
+ fi
+
+ # Break out of the loop if we already parsed every option.
+ test $# -gt 0 || break
+
+ _G_match_parse_options=:
+ _G_opt=$1
+ shift
+ case $_G_opt in
+ --debug|-x) debug_cmd='set -x'
+ func_echo "enabling shell trace mode"
+ $debug_cmd
+ ;;
+
+ --no-warnings|--no-warning|--no-warn)
+ set dummy --warnings none ${1+"$@"}
+ shift
+ ;;
+
+ --warnings|--warning|-W)
+ if test $# = 0 && func_missing_arg $_G_opt; then
+ _G_rc_parse_options=:
+ break
+ fi
+ case " $warning_categories $1" in
+ *" $1 "*)
+ # trailing space prevents matching last $1 above
+ func_append_uniq opt_warning_types " $1"
+ ;;
+ *all)
+ opt_warning_types=$warning_categories
+ ;;
+ *none)
+ opt_warning_types=none
+ warning_func=:
+ ;;
+ *error)
+ opt_warning_types=$warning_categories
+ warning_func=func_fatal_error
+ ;;
+ *)
+ func_fatal_error \
+ "unsupported warning category: '$1'"
+ ;;
+ esac
+ shift
+ ;;
+
+ --verbose|-v) opt_verbose=: ;;
+ --version) func_version ;;
+ -\?|-h) func_usage ;;
+ --help) func_help ;;
+
+ # Separate optargs to long options (plugins may need this):
+ --*=*) func_split_equals "$_G_opt"
+ set dummy "$func_split_equals_lhs" \
+ "$func_split_equals_rhs" ${1+"$@"}
+ shift
+ ;;
+
+ # Separate optargs to short options:
+ -W*)
+ func_split_short_opt "$_G_opt"
+ set dummy "$func_split_short_opt_name" \
+ "$func_split_short_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+ # Separate non-argument short options:
+ -\?*|-h*|-v*|-x*)
+ func_split_short_opt "$_G_opt"
+ set dummy "$func_split_short_opt_name" \
+ "-$func_split_short_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+ --) _G_rc_parse_options=: ; break ;;
+ -*) func_fatal_help "unrecognised option: '$_G_opt'" ;;
+ *) set dummy "$_G_opt" ${1+"$@"}; shift
+ _G_match_parse_options=false
+ break
+ ;;
+ esac
+
+ $_G_match_parse_options && _G_rc_parse_options=:
+ done
+
+
+ if $_G_rc_parse_options; then
+ # save modified positional parameters for caller
+ func_quote_for_eval ${1+"$@"}
+ func_parse_options_result=$func_quote_for_eval_result
+ fi
+
+ $_G_rc_parse_options
+}
+
+
+# func_validate_options [ARG]...
+# ------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+func_hookable func_validate_options
+func_validate_options ()
+{
+ $debug_cmd
+
+ _G_rc_validate_options=false
+
+ # Display all warnings if -W was not given.
+ test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
+
+ if func_run_hooks func_validate_options ${1+"$@"}; then
+ # save modified positional parameters for caller
+ func_validate_options_result=$func_run_hooks_result
+ _G_rc_validate_options=:
+ fi
+
+ # Bail if the options were screwed!
+ $exit_cmd $EXIT_FAILURE
+
+ $_G_rc_validate_options
+}
+
+
+
+## ----------------- ##
+## Helper functions. ##
+## ----------------- ##
+
+# This section contains the helper functions used by the rest of the
+# hookable option parser framework in ascii-betical order.
+
+
+# func_fatal_help ARG...
+# ----------------------
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+ $debug_cmd
+
+ eval \$ECHO \""Usage: $usage"\"
+ eval \$ECHO \""$fatal_help"\"
+ func_error ${1+"$@"}
+ exit $EXIT_FAILURE
+}
+
+
+# func_help
+# ---------
+# Echo long help message to standard output and exit.
+func_help ()
+{
+ $debug_cmd
+
+ func_usage_message
+ $ECHO "$long_help_message"
+ exit 0
+}
+
+
+# func_missing_arg ARGNAME
+# ------------------------
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+ $debug_cmd
+
+ func_error "Missing argument for '$1'."
+ exit_cmd=exit
+}
+
+
+# func_split_equals STRING
+# ------------------------
+# Set func_split_equals_lhs and func_split_equals_rhs shell variables after
+# splitting STRING at the '=' sign.
+test -z "$_G_HAVE_XSI_OPS" \
+ && (eval 'x=a/b/c;
+ test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+ && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+ # This is an XSI compatible shell, allowing a faster implementation...
+ eval 'func_split_equals ()
+ {
+ $debug_cmd
+
+ func_split_equals_lhs=${1%%=*}
+ func_split_equals_rhs=${1#*=}
+ test "x$func_split_equals_lhs" = "x$1" \
+ && func_split_equals_rhs=
+ }'
+else
+ # ...otherwise fall back to using expr, which is often a shell builtin.
+ func_split_equals ()
+ {
+ $debug_cmd
+
+ func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
+ func_split_equals_rhs=
+ test "x$func_split_equals_lhs" = "x$1" \
+ || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
+ }
+fi #func_split_equals
+
+
+# func_split_short_opt SHORTOPT
+# -----------------------------
+# Set func_split_short_opt_name and func_split_short_opt_arg shell
+# variables after splitting SHORTOPT after the 2nd character.
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+ # This is an XSI compatible shell, allowing a faster implementation...
+ eval 'func_split_short_opt ()
+ {
+ $debug_cmd
+
+ func_split_short_opt_arg=${1#??}
+ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
+ }'
+else
+ # ...otherwise fall back to using expr, which is often a shell builtin.
+ func_split_short_opt ()
+ {
+ $debug_cmd
+
+ func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
+ func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
+ }
+fi #func_split_short_opt
+
+
+# func_usage
+# ----------
+# Echo short help message to standard output and exit.
+func_usage ()
+{
+ $debug_cmd
+
+ func_usage_message
+ $ECHO "Run '$progname --help |${PAGER-more}' for full usage"
+ exit 0
+}
+
+
+# func_usage_message
+# ------------------
+# Echo short help message to standard output.
+func_usage_message ()
+{
+ $debug_cmd
+
+ eval \$ECHO \""Usage: $usage"\"
+ echo
+ $SED -n 's|^# ||
+ /^Written by/{
+ x;p;x
+ }
+ h
+ /^Written by/q' < "$progpath"
+ echo
+ eval \$ECHO \""$usage_message"\"
+}
+
+
+# func_version
+# ------------
+# Echo version message to standard output and exit.
+func_version ()
+{
+ $debug_cmd
+
+ printf '%s\n' "$progname $scriptversion"
+ $SED -n '
+ /(C)/!b go
+ :more
+ /\./!{
+ N
+ s|\n# | |
+ b more
+ }
+ :go
+ /^# Written by /,/# warranty; / {
+ s|^# ||
+ s|^# *$||
+ s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
+ p
+ }
+ /^# Written by / {
+ s|^# ||
+ p
+ }
+ /^warranty; /q' < "$progpath"
+
+ exit $?
+}
+
+
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
+
+# Set a version string.
+scriptversion='(GNU libtool) 2.4.6'
+
+
+# func_echo ARG...
+# ----------------
+# Libtool also displays the current mode in messages, so override
+# funclib.sh func_echo with this custom definition.
+func_echo ()
+{
+ $debug_cmd
+
+ _G_message=$*
+
+ func_echo_IFS=$IFS
+ IFS=$nl
+ for _G_line in $_G_message; do
+ IFS=$func_echo_IFS
+ $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line"
+ done
+ IFS=$func_echo_IFS
+}
+
+
+# func_warning ARG...
+# -------------------
+# Libtool warnings are not categorized, so override funclib.sh
+# func_warning with this simpler definition.
+func_warning ()
+{
+ $debug_cmd
+
+ $warning_func ${1+"$@"}
+}
+
+
+## ---------------- ##
+## Options parsing. ##
+## ---------------- ##
+
+# Hook in the functions to make sure our own options are parsed during
+# the option parsing loop.
+
+usage='$progpath [OPTION]... [MODE-ARG]...'
+
+# Short help message in response to '-h'.
+usage_message="Options:
+ --config show all configuration variables
+ --debug enable verbose shell tracing
+ -n, --dry-run display commands without modifying any files
+ --features display basic configuration information and exit
+ --mode=MODE use operation mode MODE
+ --no-warnings equivalent to '-Wnone'
+ --preserve-dup-deps don't remove duplicate dependency libraries
+ --quiet, --silent don't print informational messages
+ --tag=TAG use configuration variables from tag TAG
+ -v, --verbose print more informational messages than default
+ --version print version information
+ -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all]
+ -h, --help, --help-all print short, long, or detailed help message
+"
+
+# Additional text appended to 'usage_message' in response to '--help'.
+func_help ()
+{
+ $debug_cmd
+
+ func_usage_message
+ $ECHO "$long_help_message
+
+MODE must be one of the following:
+
+ clean remove files from the build directory
+ compile compile a source file into a libtool object
+ execute automatically set library path, then run a program
+ finish complete the installation of libtool libraries
+ install install libraries or executables
+ link create a library or an executable
+ uninstall remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE. When passed as first option,
+'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that.
+Try '$progname --help --mode=MODE' for a more detailed description of MODE.
+
+When reporting a bug, please describe a test case to reproduce it and
+include the following information:
+
+ host-triplet: $host
+ shell: $SHELL
+ compiler: $LTCC
+ compiler flags: $LTCFLAGS
+ linker: $LD (gnu? $with_gnu_ld)
+ version: $progname $scriptversion Debian-2.4.6-15build2
+ automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
+ autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
+
+Report bugs to <bug-libtool@gnu.org>.
+GNU libtool home page: <http://www.gnu.org/s/libtool/>.
+General help using GNU software: <http://www.gnu.org/gethelp/>."
+ exit 0
+}
+
+
+# func_lo2o OBJECT-NAME
+# ---------------------
+# Transform OBJECT-NAME from a '.lo' suffix to the platform specific
+# object suffix.
+
+lo2o=s/\\.lo\$/.$objext/
+o2lo=s/\\.$objext\$/.lo/
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ eval 'func_lo2o ()
+ {
+ case $1 in
+ *.lo) func_lo2o_result=${1%.lo}.$objext ;;
+ * ) func_lo2o_result=$1 ;;
+ esac
+ }'
+
+ # func_xform LIBOBJ-OR-SOURCE
+ # ---------------------------
+ # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise)
+ # suffix to a '.lo' libtool-object suffix.
+ eval 'func_xform ()
+ {
+ func_xform_result=${1%.*}.lo
+ }'
+else
+ # ...otherwise fall back to using sed.
+ func_lo2o ()
+ {
+ func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"`
+ }
+
+ func_xform ()
+ {
+ func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'`
+ }
+fi
+
+
+# func_fatal_configuration ARG...
+# -------------------------------
+# Echo program name prefixed message to standard error, followed by
+# a configuration failure hint, and exit.
+func_fatal_configuration ()
+{
+ func__fatal_error ${1+"$@"} \
+ "See the $PACKAGE documentation for more information." \
+ "Fatal configuration error."
+}
+
+
+# func_config
+# -----------
+# Display the configuration for all the tags in this script.
+func_config ()
+{
+ re_begincf='^# ### BEGIN LIBTOOL'
+ re_endcf='^# ### END LIBTOOL'
+
+ # Default configuration.
+ $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
+
+ # Now print the configurations for the tags.
+ for tagname in $taglist; do
+ $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
+ done
+
+ exit $?
+}
+
+
+# func_features
+# -------------
+# Display the features supported by this script.
+func_features ()
+{
+ echo "host: $host"
+ if test yes = "$build_libtool_libs"; then
+ echo "enable shared libraries"
+ else
+ echo "disable shared libraries"
+ fi
+ if test yes = "$build_old_libs"; then
+ echo "enable static libraries"
+ else
+ echo "disable static libraries"
+ fi
+
+ exit $?
+}
+
+
+# func_enable_tag TAGNAME
+# -----------------------
+# Verify that TAGNAME is valid, and either flag an error and exit, or
+# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
+# variable here.
+func_enable_tag ()
+{
+ # Global variable:
+ tagname=$1
+
+ re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+ re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+ sed_extractcf=/$re_begincf/,/$re_endcf/p
+
+ # Validate tagname.
+ case $tagname in
+ *[!-_A-Za-z0-9,/]*)
+ func_fatal_error "invalid tag name: $tagname"
+ ;;
+ esac
+
+ # Don't test for the "default" C tag, as we know it's
+ # there but not specially marked.
+ case $tagname in
+ CC) ;;
+ *)
+ if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+ taglist="$taglist $tagname"
+
+ # Evaluate the configuration. Be careful to quote the path
+ # and the sed script, to avoid splitting on whitespace, but
+ # also don't use non-portable quotes within backquotes within
+ # quotes we have to do it in 2 steps:
+ extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+ eval "$extractedcf"
+ else
+ func_error "ignoring unknown tag $tagname"
+ fi
+ ;;
+ esac
+}
+
+
+# func_check_version_match
+# ------------------------
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
+{
+ if test "$package_revision" != "$macro_revision"; then
+ if test "$VERSION" != "$macro_version"; then
+ if test -z "$macro_version"; then
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ fi
else
- win32_libid_type="x86 archive static"
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
fi
+
+ exit $EXIT_MISMATCH
fi
- ;;
- *DLL*)
- win32_libid_type="x86 DLL"
- ;;
- *executable*) # but shell scripts are "executable" too...
- case $win32_fileres in
- *MS\ Windows\ PE\ Intel*)
- win32_libid_type="x86 DLL"
+}
+
+
+# libtool_options_prep [ARG]...
+# -----------------------------
+# Preparation for options parsed by libtool.
+libtool_options_prep ()
+{
+ $debug_mode
+
+ # Option defaults:
+ opt_config=false
+ opt_dlopen=
+ opt_dry_run=false
+ opt_help=false
+ opt_mode=
+ opt_preserve_dup_deps=false
+ opt_quiet=false
+
+ nonopt=
+ preserve_args=
+
+ _G_rc_lt_options_prep=:
+
+ # Shorthand for --mode=foo, only valid as the first argument
+ case $1 in
+ clean|clea|cle|cl)
+ shift; set dummy --mode clean ${1+"$@"}; shift
+ ;;
+ compile|compil|compi|comp|com|co|c)
+ shift; set dummy --mode compile ${1+"$@"}; shift
+ ;;
+ execute|execut|execu|exec|exe|ex|e)
+ shift; set dummy --mode execute ${1+"$@"}; shift
+ ;;
+ finish|finis|fini|fin|fi|f)
+ shift; set dummy --mode finish ${1+"$@"}; shift
+ ;;
+ install|instal|insta|inst|ins|in|i)
+ shift; set dummy --mode install ${1+"$@"}; shift
+ ;;
+ link|lin|li|l)
+ shift; set dummy --mode link ${1+"$@"}; shift
+ ;;
+ uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+ shift; set dummy --mode uninstall ${1+"$@"}; shift
+ ;;
+ *)
+ _G_rc_lt_options_prep=false
;;
esac
+
+ if $_G_rc_lt_options_prep; then
+ # Pass back the list of options.
+ func_quote_for_eval ${1+"$@"}
+ libtool_options_prep_result=$func_quote_for_eval_result
+ fi
+
+ $_G_rc_lt_options_prep
+}
+func_add_hook func_options_prep libtool_options_prep
+
+
+# libtool_parse_options [ARG]...
+# ---------------------------------
+# Provide handling for libtool specific options.
+libtool_parse_options ()
+{
+ $debug_cmd
+
+ _G_rc_lt_parse_options=false
+
+ # Perform our own loop to consume as many options as possible in
+ # each iteration.
+ while test $# -gt 0; do
+ _G_match_lt_parse_options=:
+ _G_opt=$1
+ shift
+ case $_G_opt in
+ --dry-run|--dryrun|-n)
+ opt_dry_run=:
+ ;;
+
+ --config) func_config ;;
+
+ --dlopen|-dlopen)
+ opt_dlopen="${opt_dlopen+$opt_dlopen
+}$1"
+ shift
+ ;;
+
+ --preserve-dup-deps)
+ opt_preserve_dup_deps=: ;;
+
+ --features) func_features ;;
+
+ --finish) set dummy --mode finish ${1+"$@"}; shift ;;
+
+ --help) opt_help=: ;;
+
+ --help-all) opt_help=': help-all' ;;
+
+ --mode) test $# = 0 && func_missing_arg $_G_opt && break
+ opt_mode=$1
+ case $1 in
+ # Valid mode arguments:
+ clean|compile|execute|finish|install|link|relink|uninstall) ;;
+
+ # Catch anything else as an error
+ *) func_error "invalid argument for $_G_opt"
+ exit_cmd=exit
+ break
+ ;;
+ esac
+ shift
+ ;;
+
+ --no-silent|--no-quiet)
+ opt_quiet=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --no-warnings|--no-warning|--no-warn)
+ opt_warning=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --no-verbose)
+ opt_verbose=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --silent|--quiet)
+ opt_quiet=:
+ opt_verbose=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --tag) test $# = 0 && func_missing_arg $_G_opt && break
+ opt_tag=$1
+ func_append preserve_args " $_G_opt $1"
+ func_enable_tag "$1"
+ shift
+ ;;
+
+ --verbose|-v) opt_quiet=false
+ opt_verbose=:
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ # An option not handled by this hook function:
+ *) set dummy "$_G_opt" ${1+"$@"} ; shift
+ _G_match_lt_parse_options=false
+ break
+ ;;
+ esac
+ $_G_match_lt_parse_options && _G_rc_lt_parse_options=:
+ done
+
+ if $_G_rc_lt_parse_options; then
+ # save modified positional parameters for caller
+ func_quote_for_eval ${1+"$@"}
+ libtool_parse_options_result=$func_quote_for_eval_result
+ fi
+
+ $_G_rc_lt_parse_options
+}
+func_add_hook func_parse_options libtool_parse_options
+
+
+
+# libtool_validate_options [ARG]...
+# ---------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+libtool_validate_options ()
+{
+ # save first non-option argument
+ if test 0 -lt $#; then
+ nonopt=$1
+ shift
+ fi
+
+ # preserve --debug
+ test : = "$debug_cmd" || func_append preserve_args " --debug"
+
+ case $host in
+ # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
+ # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
+ *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
+ # don't eliminate duplications in $postdeps and $predeps
+ opt_duplicate_compiler_generated_deps=:
+ ;;
+ *)
+ opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
+ ;;
+ esac
+
+ $opt_help || {
+ # Sanity checks first:
+ func_check_version_match
+
+ test yes != "$build_libtool_libs" \
+ && test yes != "$build_old_libs" \
+ && func_fatal_configuration "not configured to build any kind of library"
+
+ # Darwin sucks
+ eval std_shrext=\"$shrext_cmds\"
+
+ # Only execute mode is allowed to have -dlopen flags.
+ if test -n "$opt_dlopen" && test execute != "$opt_mode"; then
+ func_error "unrecognized option '-dlopen'"
+ $ECHO "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # Change the help message to a mode-specific one.
+ generic_help=$help
+ help="Try '$progname --help --mode=$opt_mode' for more information."
+ }
+
+ # Pass back the unparsed argument list
+ func_quote_for_eval ${1+"$@"}
+ libtool_validate_options_result=$func_quote_for_eval_result
+}
+func_add_hook func_validate_options libtool_validate_options
+
+
+# Process options as early as possible so that --help and --version
+# can return quickly.
+func_options ${1+"$@"}
+eval set dummy "$func_options_result"; shift
+
+
+
+## ----------- ##
+## Main. ##
+## ----------- ##
+
+magic='%%%MAGIC variable%%%'
+magic_exe='%%%MAGIC EXE variable%%%'
+
+# Global variables.
+extracted_archives=
+extracted_serial=0
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end. This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+
+# func_generated_by_libtool
+# True iff stdin has been generated by Libtool. This function is only
+# a basic sanity check; it will hardly flush out determined imposters.
+func_generated_by_libtool_p ()
+{
+ $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
+# func_lalib_p file
+# True iff FILE is a libtool '.la' library or '.lo' object file.
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_lalib_p ()
+{
+ test -f "$1" &&
+ $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p
+}
+
+# func_lalib_unsafe_p file
+# True iff FILE is a libtool '.la' library or '.lo' object file.
+# This function implements the same check as func_lalib_p without
+# resorting to external programs. To this end, it redirects stdin and
+# closes it afterwards, without saving the original file descriptor.
+# As a safety measure, use it only where a negative result would be
+# fatal anyway. Works if 'file' does not exist.
+func_lalib_unsafe_p ()
+{
+ lalib_p=no
+ if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
+ for lalib_p_l in 1 2 3 4
+ do
+ read lalib_p_line
+ case $lalib_p_line in
+ \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
+ esac
+ done
+ exec 0<&5 5<&-
+ fi
+ test yes = "$lalib_p"
+}
+
+# func_ltwrapper_script_p file
+# True iff FILE is a libtool wrapper script
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_script_p ()
+{
+ test -f "$1" &&
+ $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p
+}
+
+# func_ltwrapper_executable_p file
+# True iff FILE is a libtool wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_executable_p ()
+{
+ func_ltwrapper_exec_suffix=
+ case $1 in
+ *.exe) ;;
+ *) func_ltwrapper_exec_suffix=.exe ;;
+ esac
+ $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
+}
+
+# func_ltwrapper_scriptname file
+# Assumes file is an ltwrapper_executable
+# uses $file to determine the appropriate filename for a
+# temporary ltwrapper_script.
+func_ltwrapper_scriptname ()
+{
+ func_dirname_and_basename "$1" "" "."
+ func_stripname '' '.exe' "$func_basename_result"
+ func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper
+}
+
+# func_ltwrapper_p file
+# True iff FILE is a libtool wrapper script or wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_p ()
+{
+ func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
+}
+
+
+# func_execute_cmds commands fail_cmd
+# Execute tilde-delimited COMMANDS.
+# If FAIL_CMD is given, eval that upon failure.
+# FAIL_CMD may read-access the current command in variable CMD!
+func_execute_cmds ()
+{
+ $debug_cmd
+
+ save_ifs=$IFS; IFS='~'
+ for cmd in $1; do
+ IFS=$sp$nl
+ eval cmd=\"$cmd\"
+ IFS=$save_ifs
+ func_show_eval "$cmd" "${2-:}"
+ done
+ IFS=$save_ifs
+}
+
+
+# func_source file
+# Source FILE, adding directory component if necessary.
+# Note that it is not necessary on cygwin/mingw to append a dot to
+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
+# behavior happens only for exec(3), not for open(2)! Also, sourcing
+# 'FILE.' does not work on cygwin managed mounts.
+func_source ()
+{
+ $debug_cmd
+
+ case $1 in
+ */* | *\\*) . "$1" ;;
+ *) . "./$1" ;;
+ esac
+}
+
+
+# func_resolve_sysroot PATH
+# Replace a leading = in PATH with a sysroot. Store the result into
+# func_resolve_sysroot_result
+func_resolve_sysroot ()
+{
+ func_resolve_sysroot_result=$1
+ case $func_resolve_sysroot_result in
+ =*)
+ func_stripname '=' '' "$func_resolve_sysroot_result"
+ func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
;;
esac
- $echo $win32_libid_type
}
+# func_replace_sysroot PATH
+# If PATH begins with the sysroot, replace it with = and
+# store the result into func_replace_sysroot_result.
+func_replace_sysroot ()
+{
+ case $lt_sysroot:$1 in
+ ?*:"$lt_sysroot"*)
+ func_stripname "$lt_sysroot" '' "$1"
+ func_replace_sysroot_result='='$func_stripname_result
+ ;;
+ *)
+ # Including no sysroot.
+ func_replace_sysroot_result=$1
+ ;;
+ esac
+}
# func_infer_tag arg
# Infer tagged configuration to use if any are available and
@@ -188,39 +2742,37 @@ func_win32_libid ()
# arg is usually of the form 'gcc ...'
func_infer_tag ()
{
+ $debug_cmd
+
if test -n "$available_tags" && test -z "$tagname"; then
CC_quoted=
for arg in $CC; do
- case $arg in
- *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
- arg="\"$arg\""
- ;;
- esac
- CC_quoted="$CC_quoted $arg"
+ func_append_quoted CC_quoted "$arg"
done
+ CC_expanded=`func_echo_all $CC`
+ CC_quoted_expanded=`func_echo_all $CC_quoted`
case $@ in
# Blanks in the command may have been stripped by the calling shell,
# but not from the CC environment variable when configure was run.
- " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
+ " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
# Blanks at the start of $base_compile will cause this to fail
# if we don't check for them as well.
*)
for z in $available_tags; do
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+ if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
# Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+ eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
CC_quoted=
for arg in $CC; do
- # Double-quote args containing other shell metacharacters.
- case $arg in
- *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
- arg="\"$arg\""
- ;;
- esac
- CC_quoted="$CC_quoted $arg"
- done
+ # Double-quote args containing other shell metacharacters.
+ func_append_quoted CC_quoted "$arg"
+ done
+ CC_expanded=`func_echo_all $CC`
+ CC_quoted_expanded=`func_echo_all $CC_quoted`
case "$@ " in
- " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
+ " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
# The compiler in the base compile command matches
# the one in the tagged configuration.
# Assume this is the tagged configuration we want.
@@ -234,11 +2786,10 @@ func_infer_tag ()
# was found and let the user know that the "--tag" command
# line option must be used.
if test -z "$tagname"; then
- $echo "$modename: unable to infer tagged configuration"
- $echo "$modename: specify a tag with \`--tag'" 1>&2
- exit $EXIT_FAILURE
-# else
-# $echo "$modename: using $tagname tagged configuration"
+ func_echo "unable to infer tagged configuration"
+ func_fatal_error "specify a tag with '--tag'"
+# else
+# func_verbose "using $tagname tagged configuration"
fi
;;
esac
@@ -246,345 +2797,588 @@ func_infer_tag ()
}
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
+
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
{
- f_ex_an_ar_dir="$1"; shift
- f_ex_an_ar_oldlib="$1"
+ write_libobj=$1
+ if test yes = "$build_libtool_libs"; then
+ write_lobj=\'$2\'
+ else
+ write_lobj=none
+ fi
- $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
- $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
- if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
- :
+ if test yes = "$build_old_libs"; then
+ write_oldobj=\'$3\'
else
- $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
- exit $EXIT_FAILURE
+ write_oldobj=none
fi
+
+ $opt_dry_run || {
+ cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object=$write_lobj
+
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
+
+EOF
+ $MV "${write_libobj}T" "$write_libobj"
+ }
}
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
+
+##################################################
+# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
+##################################################
+
+# func_convert_core_file_wine_to_w32 ARG
+# Helper function used by file name conversion functions when $build is *nix,
+# and $host is mingw, cygwin, or some other w32 environment. Relies on a
+# correctly configured wine environment available, with the winepath program
+# in $build's $PATH.
+#
+# ARG is the $build file name to be converted to w32 format.
+# Result is available in $func_convert_core_file_wine_to_w32_result, and will
+# be empty on error (or when ARG is empty)
+func_convert_core_file_wine_to_w32 ()
{
- my_gentop="$1"; shift
- my_oldlibs=${1+"$@"}
- my_oldobjs=""
- my_xlib=""
- my_xabs=""
- my_xdir=""
- my_status=""
-
- $show "${rm}r $my_gentop"
- $run ${rm}r "$my_gentop"
- $show "$mkdir $my_gentop"
- $run $mkdir "$my_gentop"
- my_status=$?
- if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
- exit $my_status
+ $debug_cmd
+
+ func_convert_core_file_wine_to_w32_result=$1
+ if test -n "$1"; then
+ # Unfortunately, winepath does not exit with a non-zero error code, so we
+ # are forced to check the contents of stdout. On the other hand, if the
+ # command is not found, the shell will set an exit code of 127 and print
+ # *an error message* to stdout. So we must check for both error code of
+ # zero AND non-empty stdout, which explains the odd construction:
+ func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
+ if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then
+ func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
+ $SED -e "$sed_naive_backslashify"`
+ else
+ func_convert_core_file_wine_to_w32_result=
fi
+ fi
+}
+# end: func_convert_core_file_wine_to_w32
- for my_xlib in $my_oldlibs; do
- # Extract the objects.
- case $my_xlib in
- [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
- *) my_xabs=`pwd`"/$my_xlib" ;;
- esac
- my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
- my_xdir="$my_gentop/$my_xlib"
-
- $show "${rm}r $my_xdir"
- $run ${rm}r "$my_xdir"
- $show "$mkdir $my_xdir"
- $run $mkdir "$my_xdir"
- status=$?
- if test "$status" -ne 0 && test ! -d "$my_xdir"; then
- exit $status
+
+# func_convert_core_path_wine_to_w32 ARG
+# Helper function used by path conversion functions when $build is *nix, and
+# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
+# configured wine environment available, with the winepath program in $build's
+# $PATH. Assumes ARG has no leading or trailing path separator characters.
+#
+# ARG is path to be converted from $build format to win32.
+# Result is available in $func_convert_core_path_wine_to_w32_result.
+# Unconvertible file (directory) names in ARG are skipped; if no directory names
+# are convertible, then the result may be empty.
+func_convert_core_path_wine_to_w32 ()
+{
+ $debug_cmd
+
+ # unfortunately, winepath doesn't convert paths, only file names
+ func_convert_core_path_wine_to_w32_result=
+ if test -n "$1"; then
+ oldIFS=$IFS
+ IFS=:
+ for func_convert_core_path_wine_to_w32_f in $1; do
+ IFS=$oldIFS
+ func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
+ if test -n "$func_convert_core_file_wine_to_w32_result"; then
+ if test -z "$func_convert_core_path_wine_to_w32_result"; then
+ func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result
+ else
+ func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
+ fi
fi
- case $host in
- *-darwin*)
- $show "Extracting $my_xabs"
- # Do not bother doing anything if just a dry run
- if test -z "$run"; then
- darwin_orig_dir=`pwd`
- cd $my_xdir || exit $?
- darwin_archive=$my_xabs
- darwin_curdir=`pwd`
- darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
- darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
- if test -n "$darwin_arches"; then
- darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
- darwin_arch=
- $show "$darwin_base_archive has multiple architectures $darwin_arches"
- for darwin_arch in $darwin_arches ; do
- mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
- cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- func_extract_an_archive "`pwd`" "${darwin_base_archive}"
- cd "$darwin_curdir"
- $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
- done # $darwin_arches
- ## Okay now we have a bunch of thin objects, gotta fatten them up :)
- darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
- darwin_file=
- darwin_files=
- for darwin_file in $darwin_filelist; do
- darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
- lipo -create -output "$darwin_file" $darwin_files
- done # $darwin_filelist
- ${rm}r unfat-$$
- cd "$darwin_orig_dir"
- else
- cd "$darwin_orig_dir"
- func_extract_an_archive "$my_xdir" "$my_xabs"
- fi # $darwin_arches
- fi # $run
- ;;
- *)
- func_extract_an_archive "$my_xdir" "$my_xabs"
- ;;
- esac
- my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
done
- func_extract_archives_result="$my_oldobjs"
+ IFS=$oldIFS
+ fi
}
-# End of Shell function definitions
-#####################################
+# end: func_convert_core_path_wine_to_w32
+
+
+# func_cygpath ARGS...
+# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
+# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
+# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
+# (2), returns the Cygwin file name or path in func_cygpath_result (input
+# file name or path is assumed to be in w32 format, as previously converted
+# from $build's *nix or MSYS format). In case (3), returns the w32 file name
+# or path in func_cygpath_result (input file name or path is assumed to be in
+# Cygwin format). Returns an empty string on error.
+#
+# ARGS are passed to cygpath, with the last one being the file name or path to
+# be converted.
+#
+# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
+# environment variable; do not put it in $PATH.
+func_cygpath ()
+{
+ $debug_cmd
-# Darwin sucks
-eval std_shrext=\"$shrext_cmds\"
+ if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
+ func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
+ if test "$?" -ne 0; then
+ # on failure, ensure result is empty
+ func_cygpath_result=
+ fi
+ else
+ func_cygpath_result=
+ func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'"
+ fi
+}
+#end: func_cygpath
+
+
+# func_convert_core_msys_to_w32 ARG
+# Convert file name or path ARG from MSYS format to w32 format. Return
+# result in func_convert_core_msys_to_w32_result.
+func_convert_core_msys_to_w32 ()
+{
+ $debug_cmd
+
+ # awkward: cmd appends spaces to result
+ func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
+ $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
+}
+#end: func_convert_core_msys_to_w32
-# Parse our command line options once, thoroughly.
-while test "$#" -gt 0
-do
- arg="$1"
- shift
- case $arg in
- -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
- *) optarg= ;;
+# func_convert_file_check ARG1 ARG2
+# Verify that ARG1 (a file name in $build format) was converted to $host
+# format in ARG2. Otherwise, emit an error message, but continue (resetting
+# func_to_host_file_result to ARG1).
+func_convert_file_check ()
+{
+ $debug_cmd
+
+ if test -z "$2" && test -n "$1"; then
+ func_error "Could not determine host file name corresponding to"
+ func_error " '$1'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback:
+ func_to_host_file_result=$1
+ fi
+}
+# end func_convert_file_check
+
+
+# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
+# Verify that FROM_PATH (a path in $build format) was converted to $host
+# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
+# func_to_host_file_result to a simplistic fallback value (see below).
+func_convert_path_check ()
+{
+ $debug_cmd
+
+ if test -z "$4" && test -n "$3"; then
+ func_error "Could not determine the host path corresponding to"
+ func_error " '$3'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback. This is a deliberately simplistic "conversion" and
+ # should not be "improved". See libtool.info.
+ if test "x$1" != "x$2"; then
+ lt_replace_pathsep_chars="s|$1|$2|g"
+ func_to_host_path_result=`echo "$3" |
+ $SED -e "$lt_replace_pathsep_chars"`
+ else
+ func_to_host_path_result=$3
+ fi
+ fi
+}
+# end func_convert_path_check
+
+
+# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
+# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
+# and appending REPL if ORIG matches BACKPAT.
+func_convert_path_front_back_pathsep ()
+{
+ $debug_cmd
+
+ case $4 in
+ $1 ) func_to_host_path_result=$3$func_to_host_path_result
+ ;;
+ esac
+ case $4 in
+ $2 ) func_append func_to_host_path_result "$3"
+ ;;
esac
+}
+# end func_convert_path_front_back_pathsep
- # If the previous option needs an argument, assign it.
- if test -n "$prev"; then
- case $prev in
- execute_dlfiles)
- execute_dlfiles="$execute_dlfiles $arg"
- ;;
- tag)
- tagname="$arg"
- preserve_args="${preserve_args}=$arg"
- # Check whether tagname contains only valid characters
- case $tagname in
- *[!-_A-Za-z0-9,/]*)
- $echo "$progname: invalid tag name: $tagname" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
+##################################################
+# $build to $host FILE NAME CONVERSION FUNCTIONS #
+##################################################
+# invoked via '$to_host_file_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# Result will be available in $func_to_host_file_result.
- case $tagname in
- CC)
- # Don't test for the "default" C tag, as we know, it's there, but
- # not specially marked.
- ;;
- *)
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
- taglist="$taglist $tagname"
- # Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
- else
- $echo "$progname: ignoring unknown tag $tagname" 1>&2
- fi
- ;;
- esac
+
+# func_to_host_file ARG
+# Converts the file name ARG from $build format to $host format. Return result
+# in func_to_host_file_result.
+func_to_host_file ()
+{
+ $debug_cmd
+
+ $to_host_file_cmd "$1"
+}
+# end func_to_host_file
+
+
+# func_to_tool_file ARG LAZY
+# converts the file name ARG from $build format to toolchain format. Return
+# result in func_to_tool_file_result. If the conversion in use is listed
+# in (the comma separated) LAZY, no conversion takes place.
+func_to_tool_file ()
+{
+ $debug_cmd
+
+ case ,$2, in
+ *,"$to_tool_file_cmd",*)
+ func_to_tool_file_result=$1
;;
*)
- eval "$prev=\$arg"
+ $to_tool_file_cmd "$1"
+ func_to_tool_file_result=$func_to_host_file_result
;;
- esac
+ esac
+}
+# end func_to_tool_file
- prev=
- prevopt=
- continue
+
+# func_convert_file_noop ARG
+# Copy ARG to func_to_host_file_result.
+func_convert_file_noop ()
+{
+ func_to_host_file_result=$1
+}
+# end func_convert_file_noop
+
+
+# func_convert_file_msys_to_w32 ARG
+# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper. Returns result in
+# func_to_host_file_result.
+func_convert_file_msys_to_w32 ()
+{
+ $debug_cmd
+
+ func_to_host_file_result=$1
+ if test -n "$1"; then
+ func_convert_core_msys_to_w32 "$1"
+ func_to_host_file_result=$func_convert_core_msys_to_w32_result
fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_w32
- # Have we seen a non-optional argument yet?
- case $arg in
- --help)
- show_help=yes
- ;;
- --version)
- $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
- $echo
- $echo "Copyright (C) 2005 Free Software Foundation, Inc."
- $echo "This is free software; see the source for copying conditions. There is NO"
- $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
- exit $?
- ;;
+# func_convert_file_cygwin_to_w32 ARG
+# Convert file name ARG from Cygwin to w32 format. Returns result in
+# func_to_host_file_result.
+func_convert_file_cygwin_to_w32 ()
+{
+ $debug_cmd
- --config)
- ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
- # Now print the configurations for the tags.
- for tagname in $taglist; do
- ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
- done
- exit $?
- ;;
+ func_to_host_file_result=$1
+ if test -n "$1"; then
+ # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
+ # LT_CYGPATH in this case.
+ func_to_host_file_result=`cygpath -m "$1"`
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_cygwin_to_w32
- --debug)
- $echo "$progname: enabling shell trace mode"
- set -x
- preserve_args="$preserve_args $arg"
- ;;
- --dry-run | -n)
- run=:
- ;;
+# func_convert_file_nix_to_w32 ARG
+# Convert file name ARG from *nix to w32 format. Requires a wine environment
+# and a working winepath. Returns result in func_to_host_file_result.
+func_convert_file_nix_to_w32 ()
+{
+ $debug_cmd
- --features)
- $echo "host: $host"
- if test "$build_libtool_libs" = yes; then
- $echo "enable shared libraries"
- else
- $echo "disable shared libraries"
- fi
- if test "$build_old_libs" = yes; then
- $echo "enable static libraries"
- else
- $echo "disable static libraries"
- fi
- exit $?
- ;;
+ func_to_host_file_result=$1
+ if test -n "$1"; then
+ func_convert_core_file_wine_to_w32 "$1"
+ func_to_host_file_result=$func_convert_core_file_wine_to_w32_result
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_w32
- --finish) mode="finish" ;;
- --mode) prevopt="--mode" prev=mode ;;
- --mode=*) mode="$optarg" ;;
+# func_convert_file_msys_to_cygwin ARG
+# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_file_msys_to_cygwin ()
+{
+ $debug_cmd
- --preserve-dup-deps) duplicate_deps="yes" ;;
+ func_to_host_file_result=$1
+ if test -n "$1"; then
+ func_convert_core_msys_to_w32 "$1"
+ func_cygpath -u "$func_convert_core_msys_to_w32_result"
+ func_to_host_file_result=$func_cygpath_result
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_cygwin
- --quiet | --silent)
- show=:
- preserve_args="$preserve_args $arg"
- ;;
- --tag) prevopt="--tag" prev=tag ;;
- --tag=*)
- set tag "$optarg" ${1+"$@"}
- shift
- prev=tag
- preserve_args="$preserve_args --tag"
- ;;
+# func_convert_file_nix_to_cygwin ARG
+# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed
+# in a wine environment, working winepath, and LT_CYGPATH set. Returns result
+# in func_to_host_file_result.
+func_convert_file_nix_to_cygwin ()
+{
+ $debug_cmd
+
+ func_to_host_file_result=$1
+ if test -n "$1"; then
+ # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
+ func_convert_core_file_wine_to_w32 "$1"
+ func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
+ func_to_host_file_result=$func_cygpath_result
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_cygwin
- -dlopen)
- prevopt="-dlopen"
- prev=execute_dlfiles
- ;;
- -*)
- $echo "$modename: unrecognized option \`$arg'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
+#############################################
+# $build to $host PATH CONVERSION FUNCTIONS #
+#############################################
+# invoked via '$to_host_path_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# The result will be available in $func_to_host_path_result.
+#
+# Path separators are also converted from $build format to $host format. If
+# ARG begins or ends with a path separator character, it is preserved (but
+# converted to $host format) on output.
+#
+# All path conversion functions are named using the following convention:
+# file name conversion function : func_convert_file_X_to_Y ()
+# path conversion function : func_convert_path_X_to_Y ()
+# where, for any given $build/$host combination the 'X_to_Y' value is the
+# same. If conversion functions are added for new $build/$host combinations,
+# the two new functions must follow this pattern, or func_init_to_host_path_cmd
+# will break.
+
+
+# func_init_to_host_path_cmd
+# Ensures that function "pointer" variable $to_host_path_cmd is set to the
+# appropriate value, based on the value of $to_host_file_cmd.
+to_host_path_cmd=
+func_init_to_host_path_cmd ()
+{
+ $debug_cmd
- *)
- nonopt="$arg"
- break
- ;;
- esac
-done
+ if test -z "$to_host_path_cmd"; then
+ func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
+ to_host_path_cmd=func_convert_path_$func_stripname_result
+ fi
+}
-if test -n "$prevopt"; then
- $echo "$modename: option \`$prevopt' requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
-fi
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end. This prevents here-documents from being
-# left over by shells.
-exec_cmd=
+# func_to_host_path ARG
+# Converts the path ARG from $build format to $host format. Return result
+# in func_to_host_path_result.
+func_to_host_path ()
+{
+ $debug_cmd
-if test -z "$show_help"; then
+ func_init_to_host_path_cmd
+ $to_host_path_cmd "$1"
+}
+# end func_to_host_path
- # Infer the operation mode.
- if test -z "$mode"; then
- $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
- $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
- case $nonopt in
- *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
- mode=link
- for arg
- do
- case $arg in
- -c)
- mode=compile
- break
- ;;
- esac
- done
- ;;
- *db | *dbx | *strace | *truss)
- mode=execute
- ;;
- *install*|cp|mv)
- mode=install
- ;;
- *rm)
- mode=uninstall
- ;;
- *)
- # If we have no mode, but dlfiles were specified, then do execute mode.
- test -n "$execute_dlfiles" && mode=execute
- # Just use the default operation mode.
- if test -z "$mode"; then
- if test -n "$nonopt"; then
- $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
- else
- $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
- fi
- fi
- ;;
- esac
+# func_convert_path_noop ARG
+# Copy ARG to func_to_host_path_result.
+func_convert_path_noop ()
+{
+ func_to_host_path_result=$1
+}
+# end func_convert_path_noop
+
+
+# func_convert_path_msys_to_w32 ARG
+# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper. Returns result in
+# func_to_host_path_result.
+func_convert_path_msys_to_w32 ()
+{
+ $debug_cmd
+
+ func_to_host_path_result=$1
+ if test -n "$1"; then
+ # Remove leading and trailing path separator characters from ARG. MSYS
+ # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
+ # and winepath ignores them completely.
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+ func_to_host_path_result=$func_convert_core_msys_to_w32_result
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
fi
+}
+# end func_convert_path_msys_to_w32
- # Only execute mode is allowed to have -dlopen flags.
- if test -n "$execute_dlfiles" && test "$mode" != execute; then
- $echo "$modename: unrecognized option \`-dlopen'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
+
+# func_convert_path_cygwin_to_w32 ARG
+# Convert path ARG from Cygwin to w32 format. Returns result in
+# func_to_host_file_result.
+func_convert_path_cygwin_to_w32 ()
+{
+ $debug_cmd
+
+ func_to_host_path_result=$1
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_cygwin_to_w32
+
+
+# func_convert_path_nix_to_w32 ARG
+# Convert path ARG from *nix to w32 format. Requires a wine environment and
+# a working winepath. Returns result in func_to_host_file_result.
+func_convert_path_nix_to_w32 ()
+{
+ $debug_cmd
+
+ func_to_host_path_result=$1
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+ func_to_host_path_result=$func_convert_core_path_wine_to_w32_result
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_nix_to_w32
+
+
+# func_convert_path_msys_to_cygwin ARG
+# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_path_msys_to_cygwin ()
+{
+ $debug_cmd
+
+ func_to_host_path_result=$1
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+ func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
+ func_to_host_path_result=$func_cygpath_result
+ func_convert_path_check : : \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+ fi
+}
+# end func_convert_path_msys_to_cygwin
+
+
+# func_convert_path_nix_to_cygwin ARG
+# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a
+# a wine environment, working winepath, and LT_CYGPATH set. Returns result in
+# func_to_host_file_result.
+func_convert_path_nix_to_cygwin ()
+{
+ $debug_cmd
+
+ func_to_host_path_result=$1
+ if test -n "$1"; then
+ # Remove leading and trailing path separator characters from
+ # ARG. msys behavior is inconsistent here, cygpath turns them
+ # into '.;' and ';.', and winepath ignores them completely.
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+ func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
+ func_to_host_path_result=$func_cygpath_result
+ func_convert_path_check : : \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
fi
+}
+# end func_convert_path_nix_to_cygwin
+
- # Change the help message to a mode-specific one.
- generic_help="$help"
- help="Try \`$modename --help --mode=$mode' for more information."
+# func_dll_def_p FILE
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with _LT_DLL_DEF_P in libtool.m4
+func_dll_def_p ()
+{
+ $debug_cmd
+
+ func_dll_def_p_tmp=`$SED -n \
+ -e 's/^[ ]*//' \
+ -e '/^\(;.*\)*$/d' \
+ -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \
+ -e q \
+ "$1"`
+ test DEF = "$func_dll_def_p_tmp"
+}
+
+
+# func_mode_compile arg...
+func_mode_compile ()
+{
+ $debug_cmd
- # These modes are in order of execution frequency so that they run quickly.
- case $mode in
- # libtool compile mode
- compile)
- modename="$modename: compile"
# Get the compilation command and the source file.
base_compile=
- srcfile="$nonopt" # always keep a non-empty value in "srcfile"
+ srcfile=$nonopt # always keep a non-empty value in "srcfile"
suppress_opt=yes
suppress_output=
arg_mode=normal
libobj=
later=
+ pie_flag=
for arg
do
- case "$arg_mode" in
+ case $arg_mode in
arg )
# do not "continue". Instead, add this to base_compile
- lastarg="$arg"
+ lastarg=$arg
arg_mode=normal
;;
target )
- libobj="$arg"
+ libobj=$arg
arg_mode=normal
continue
;;
@@ -593,16 +3387,19 @@ if test -z "$show_help"; then
# Accept any command-line options.
case $arg in
-o)
- if test -n "$libobj" ; then
- $echo "$modename: you cannot specify \`-o' more than once" 1>&2
- exit $EXIT_FAILURE
- fi
+ test -n "$libobj" && \
+ func_fatal_error "you cannot specify '-o' more than once"
arg_mode=target
continue
;;
- -static | -prefer-pic | -prefer-non-pic)
- later="$later $arg"
+ -pie | -fpie | -fPIE)
+ func_append pie_flag " $arg"
+ continue
+ ;;
+
+ -shared | -static | -prefer-pic | -prefer-non-pic)
+ func_append later " $arg"
continue
;;
@@ -617,100 +3414,70 @@ if test -z "$show_help"; then
;; # replaced later. I would guess that would be a bug.
-Wc,*)
- args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
lastarg=
- save_ifs="$IFS"; IFS=','
- for arg in $args; do
- IFS="$save_ifs"
-
- # Double-quote args containing other shell metacharacters.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- case $arg in
- *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
- arg="\"$arg\""
- ;;
- esac
- lastarg="$lastarg $arg"
+ save_ifs=$IFS; IFS=,
+ for arg in $args; do
+ IFS=$save_ifs
+ func_append_quoted lastarg "$arg"
done
- IFS="$save_ifs"
- lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
+ IFS=$save_ifs
+ func_stripname ' ' '' "$lastarg"
+ lastarg=$func_stripname_result
# Add the arguments to base_compile.
- base_compile="$base_compile $lastarg"
+ func_append base_compile " $lastarg"
continue
;;
- * )
+ *)
# Accept the current argument as the source file.
# The previous "srcfile" becomes the current argument.
#
- lastarg="$srcfile"
- srcfile="$arg"
+ lastarg=$srcfile
+ srcfile=$arg
;;
esac # case $arg
;;
esac # case $arg_mode
# Aesthetically quote the previous argument.
- lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
-
- case $lastarg in
- # Double-quote args containing other shell metacharacters.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, and some SunOS ksh mistreat backslash-escaping
- # in scan sets (worked around with variable expansion),
- # and furthermore cannot handle '|' '&' '(' ')' in scan sets
- # at all, so we specify them separately.
- *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
- lastarg="\"$lastarg\""
- ;;
- esac
-
- base_compile="$base_compile $lastarg"
+ func_append_quoted base_compile "$lastarg"
done # for arg
case $arg_mode in
arg)
- $echo "$modename: you must specify an argument for -Xcompile"
- exit $EXIT_FAILURE
+ func_fatal_error "you must specify an argument for -Xcompile"
;;
target)
- $echo "$modename: you must specify a target with \`-o'" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "you must specify a target with '-o'"
;;
*)
# Get the name of the library object.
- [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
+ test -z "$libobj" && {
+ func_basename "$srcfile"
+ libobj=$func_basename_result
+ }
;;
esac
# Recognize several different file suffixes.
# If the user specifies -o file.o, it is replaced with file.lo
- xform='[cCFSifmso]'
case $libobj in
- *.ada) xform=ada ;;
- *.adb) xform=adb ;;
- *.ads) xform=ads ;;
- *.asm) xform=asm ;;
- *.c++) xform=c++ ;;
- *.cc) xform=cc ;;
- *.ii) xform=ii ;;
- *.class) xform=class ;;
- *.cpp) xform=cpp ;;
- *.cxx) xform=cxx ;;
- *.f90) xform=f90 ;;
- *.for) xform=for ;;
- *.java) xform=java ;;
+ *.[cCFSifmso] | \
+ *.ada | *.adb | *.ads | *.asm | \
+ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+ *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
+ func_xform "$libobj"
+ libobj=$func_xform_result
+ ;;
esac
- libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
-
case $libobj in
- *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
+ *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
*)
- $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "cannot determine name of library object from '$libobj'"
;;
esac
@@ -718,7 +3485,15 @@ if test -z "$show_help"; then
for arg in $later; do
case $arg in
+ -shared)
+ test yes = "$build_libtool_libs" \
+ || func_fatal_configuration "cannot build a shared library"
+ build_old_libs=no
+ continue
+ ;;
+
-static)
+ build_libtool_libs=no
build_old_libs=yes
continue
;;
@@ -735,58 +3510,41 @@ if test -z "$show_help"; then
esac
done
- qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
- case $qlibobj in
- *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
- qlibobj="\"$qlibobj\"" ;;
- esac
- if test "X$libobj" != "X$qlibobj"; then
- $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
- exit $EXIT_FAILURE
- fi
- objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
- xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$obj"; then
- xdir=
- else
- xdir=$xdir/
- fi
- lobj=${xdir}$objdir/$objname
+ func_quote_for_eval "$libobj"
+ test "X$libobj" != "X$func_quote_for_eval_result" \
+ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
+ && func_warning "libobj name '$libobj' may not contain shell special characters."
+ func_dirname_and_basename "$obj" "/" ""
+ objname=$func_basename_result
+ xdir=$func_dirname_result
+ lobj=$xdir$objdir/$objname
- if test -z "$base_compile"; then
- $echo "$modename: you must specify a compilation command" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ test -z "$base_compile" && \
+ func_fatal_help "you must specify a compilation command"
# Delete any leftover library objects.
- if test "$build_old_libs" = yes; then
+ if test yes = "$build_old_libs"; then
removelist="$obj $lobj $libobj ${libobj}T"
else
removelist="$lobj $libobj ${libobj}T"
fi
- $run $rm $removelist
- trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
-
# On Cygwin there's no "real" PIC flag so we must build both object types
case $host_os in
- cygwin* | mingw* | pw32* | os2*)
+ cygwin* | mingw* | pw32* | os2* | cegcc*)
pic_mode=default
;;
esac
- if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+ if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then
# non-PIC code in shared libraries is not supported
pic_mode=default
fi
# Calculate the filename of the output object if compiler does
# not support -o with -c
- if test "$compiler_c_o" = no; then
- output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
- lockfile="$output_obj.lock"
- removelist="$removelist $output_obj $lockfile"
- trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
+ if test no = "$compiler_c_o"; then
+ output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext
+ lockfile=$output_obj.lock
else
output_obj=
need_locks=no
@@ -795,91 +3553,65 @@ if test -z "$show_help"; then
# Lock this critical section if it is needed
# We use this script file to make the link, it avoids creating a new file
- if test "$need_locks" = yes; then
- until $run ln "$progpath" "$lockfile" 2>/dev/null; do
- $show "Waiting for $lockfile to be removed"
+ if test yes = "$need_locks"; then
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
sleep 2
done
- elif test "$need_locks" = warn; then
+ elif test warn = "$need_locks"; then
if test -f "$lockfile"; then
- $echo "\
+ $ECHO "\
*** ERROR, $lockfile exists and contains:
`cat $lockfile 2>/dev/null`
This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
+your compiler does not support '-c' and '-o' together. If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
- $run $rm $removelist
+ $opt_dry_run || $RM $removelist
exit $EXIT_FAILURE
fi
- $echo "$srcfile" > "$lockfile"
+ func_append removelist " $output_obj"
+ $ECHO "$srcfile" > "$lockfile"
fi
- if test -n "$fix_srcfile_path"; then
- eval srcfile=\"$fix_srcfile_path\"
- fi
- qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
- case $qsrcfile in
- *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
- qsrcfile="\"$qsrcfile\"" ;;
- esac
+ $opt_dry_run || $RM $removelist
+ func_append removelist " $lockfile"
+ trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
- $run $rm "$libobj" "${libobj}T"
-
- # Create a libtool object file (analogous to a ".la" file),
- # but don't create it if we're doing a dry run.
- test -z "$run" && cat > ${libobj}T <<EOF
-# $libobj - a libtool object file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# Name of the PIC object.
-EOF
+ func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
+ srcfile=$func_to_tool_file_result
+ func_quote_for_eval "$srcfile"
+ qsrcfile=$func_quote_for_eval_result
# Only build a PIC object if we are building libtool libraries.
- if test "$build_libtool_libs" = yes; then
+ if test yes = "$build_libtool_libs"; then
# Without this assignment, base_compile gets emptied.
fbsd_hideous_sh_bug=$base_compile
- if test "$pic_mode" != no; then
+ if test no != "$pic_mode"; then
command="$base_compile $qsrcfile $pic_flag"
else
# Don't build PIC code
command="$base_compile $qsrcfile"
fi
- if test ! -d "${xdir}$objdir"; then
- $show "$mkdir ${xdir}$objdir"
- $run $mkdir ${xdir}$objdir
- status=$?
- if test "$status" -ne 0 && test ! -d "${xdir}$objdir"; then
- exit $status
- fi
- fi
+ func_mkdir_p "$xdir$objdir"
if test -z "$output_obj"; then
# Place PIC objects in $objdir
- command="$command -o $lobj"
+ func_append command " -o $lobj"
fi
- $run $rm "$lobj" "$output_obj"
+ func_show_eval_locale "$command" \
+ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
- $show "$command"
- if $run eval "$command"; then :
- else
- test -n "$output_obj" && $run $rm $removelist
- exit $EXIT_FAILURE
- fi
-
- if test "$need_locks" = warn &&
+ if test warn = "$need_locks" &&
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $echo "\
+ $ECHO "\
*** ERROR, $lockfile contains:
`cat $lockfile 2>/dev/null`
@@ -888,70 +3620,47 @@ $srcfile
This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
+your compiler does not support '-c' and '-o' together. If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
- $run $rm $removelist
+ $opt_dry_run || $RM $removelist
exit $EXIT_FAILURE
fi
# Just move the object if needed, then go on to compile the next one
if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
- $show "$mv $output_obj $lobj"
- if $run $mv $output_obj $lobj; then :
- else
- error=$?
- $run $rm $removelist
- exit $error
- fi
+ func_show_eval '$MV "$output_obj" "$lobj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
fi
- # Append the name of the PIC object to the libtool object file.
- test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object='$objdir/$objname'
-
-EOF
-
# Allow error messages only from the first compilation.
- if test "$suppress_opt" = yes; then
- suppress_output=' >/dev/null 2>&1'
+ if test yes = "$suppress_opt"; then
+ suppress_output=' >/dev/null 2>&1'
fi
- else
- # No PIC object so indicate it doesn't exist in the libtool
- # object file.
- test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object=none
-
-EOF
fi
# Only build a position-dependent object if we build old libraries.
- if test "$build_old_libs" = yes; then
- if test "$pic_mode" != yes; then
+ if test yes = "$build_old_libs"; then
+ if test yes != "$pic_mode"; then
# Don't build PIC code
- command="$base_compile $qsrcfile"
+ command="$base_compile $qsrcfile$pie_flag"
else
command="$base_compile $qsrcfile $pic_flag"
fi
- if test "$compiler_c_o" = yes; then
- command="$command -o $obj"
+ if test yes = "$compiler_c_o"; then
+ func_append command " -o $obj"
fi
# Suppress compiler output if we already did a PIC compilation.
- command="$command$suppress_output"
- $run $rm "$obj" "$output_obj"
- $show "$command"
- if $run eval "$command"; then :
- else
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
+ func_append command "$suppress_output"
+ func_show_eval_locale "$command" \
+ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
- if test "$need_locks" = warn &&
+ if test warn = "$need_locks" &&
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $echo "\
+ $ECHO "\
*** ERROR, $lockfile contains:
`cat $lockfile 2>/dev/null`
@@ -960,66 +3669,2930 @@ $srcfile
This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
+your compiler does not support '-c' and '-o' together. If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
- $run $rm $removelist
+ $opt_dry_run || $RM $removelist
exit $EXIT_FAILURE
fi
# Just move the object if needed
if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
- $show "$mv $output_obj $obj"
- if $run $mv $output_obj $obj; then :
+ func_show_eval '$MV "$output_obj" "$obj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
+ fi
+
+ $opt_dry_run || {
+ func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
+
+ # Unlock the critical section if it was locked
+ if test no != "$need_locks"; then
+ removelist=$lockfile
+ $RM "$lockfile"
+ fi
+ }
+
+ exit $EXIT_SUCCESS
+}
+
+$opt_help || {
+ test compile = "$opt_mode" && func_mode_compile ${1+"$@"}
+}
+
+func_mode_help ()
+{
+ # We need to display help for each of the modes.
+ case $opt_mode in
+ "")
+ # Generic help is extracted from the usage comments
+ # at the start of this file.
+ func_help
+ ;;
+
+ clean)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ compile)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+ -o OUTPUT-FILE set the output file name to OUTPUT-FILE
+ -no-suppress do not suppress compiler output for multiple passes
+ -prefer-pic try to build PIC objects only
+ -prefer-non-pic try to build non-PIC objects only
+ -shared do not build a '.o' file suitable for static linking
+ -static only build a '.o' file suitable for static linking
+ -Wc,FLAG pass FLAG directly to the compiler
+
+COMPILE-COMMAND is a command to be used in creating a 'standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix '.c' with the
+library object suffix, '.lo'."
+ ;;
+
+ execute)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+ -dlopen FILE add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to '-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+ ;;
+
+ finish)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges. Use
+the '--dry-run' option if you just want to see what would be executed."
+ ;;
+
+ install)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command. The first component should be
+either the 'install' or 'cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+ -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+ ;;
+
+ link)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+ -all-static do not do any dynamic linking at all
+ -avoid-version do not add a version suffix if possible
+ -bindir BINDIR specify path to binaries directory (for systems where
+ libraries must be found in the PATH setting at runtime)
+ -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime
+ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
+ -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+ -export-symbols SYMFILE
+ try to export only the symbols listed in SYMFILE
+ -export-symbols-regex REGEX
+ try to export only the symbols matching REGEX
+ -LLIBDIR search LIBDIR for required installed libraries
+ -lNAME OUTPUT-FILE requires the installed library libNAME
+ -module build a library that can dlopened
+ -no-fast-install disable the fast-install mode
+ -no-install link a not-installable executable
+ -no-undefined declare that a library does not refer to external symbols
+ -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
+ -objectlist FILE use a list of object files found in FILE to specify objects
+ -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes)
+ -precious-files-regex REGEX
+ don't remove output files matching REGEX
+ -release RELEASE specify package release information
+ -rpath LIBDIR the created library will eventually be installed in LIBDIR
+ -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
+ -shared only do dynamic linking of libtool libraries
+ -shrext SUFFIX override the standard shared library file extension
+ -static do not do any dynamic linking of uninstalled libtool libraries
+ -static-libtool-libs
+ do not do any dynamic linking of libtool libraries
+ -version-info CURRENT[:REVISION[:AGE]]
+ specify library version info [each variable defaults to 0]
+ -weak LIBNAME declare that the target provides the LIBNAME interface
+ -Wc,FLAG
+ -Xcompiler FLAG pass linker-specific FLAG directly to the compiler
+ -Wl,FLAG
+ -Xlinker FLAG pass linker-specific FLAG directly to the linker
+ -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
+
+All other options (arguments beginning with '-') are ignored.
+
+Every other argument is treated as a filename. Files ending in '.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in '.la', then a libtool library is created,
+only library objects ('.lo' files) may be specified, and '-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created
+using 'ar' and 'ranlib', or on Windows using 'lib'.
+
+If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file
+is created, otherwise an executable program is created."
+ ;;
+
+ uninstall)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ *)
+ func_fatal_help "invalid operation mode '$opt_mode'"
+ ;;
+ esac
+
+ echo
+ $ECHO "Try '$progname --help' for more information about other modes."
+}
+
+# Now that we've collected a possible --mode arg, show help if necessary
+if $opt_help; then
+ if test : = "$opt_help"; then
+ func_mode_help
+ else
+ {
+ func_help noexit
+ for opt_mode in compile link execute install finish uninstall clean; do
+ func_mode_help
+ done
+ } | $SED -n '1p; 2,$s/^Usage:/ or: /p'
+ {
+ func_help noexit
+ for opt_mode in compile link execute install finish uninstall clean; do
+ echo
+ func_mode_help
+ done
+ } |
+ $SED '1d
+ /^When reporting/,/^Report/{
+ H
+ d
+ }
+ $x
+ /information about other modes/d
+ /more detailed .*MODE/d
+ s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
+ fi
+ exit $?
+fi
+
+
+# func_mode_execute arg...
+func_mode_execute ()
+{
+ $debug_cmd
+
+ # The first argument is the command name.
+ cmd=$nonopt
+ test -z "$cmd" && \
+ func_fatal_help "you must specify a COMMAND"
+
+ # Handle -dlopen flags immediately.
+ for file in $opt_dlopen; do
+ test -f "$file" \
+ || func_fatal_help "'$file' is not a file"
+
+ dir=
+ case $file in
+ *.la)
+ func_resolve_sysroot "$file"
+ file=$func_resolve_sysroot_result
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "'$lib' is not a valid libtool archive"
+
+ # Read the libtool library.
+ dlname=
+ library_names=
+ func_source "$file"
+
+ # Skip this library if it cannot be dlopened.
+ if test -z "$dlname"; then
+ # Warn if it was a shared library.
+ test -n "$library_names" && \
+ func_warning "'$file' was not linked with '-export-dynamic'"
+ continue
+ fi
+
+ func_dirname "$file" "" "."
+ dir=$func_dirname_result
+
+ if test -f "$dir/$objdir/$dlname"; then
+ func_append dir "/$objdir"
else
- error=$?
- $run $rm $removelist
- exit $error
+ if test ! -f "$dir/$dlname"; then
+ func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'"
+ fi
fi
+ ;;
+
+ *.lo)
+ # Just add the directory containing the .lo file.
+ func_dirname "$file" "" "."
+ dir=$func_dirname_result
+ ;;
+
+ *)
+ func_warning "'-dlopen' is ignored for non-libtool libraries and objects"
+ continue
+ ;;
+ esac
+
+ # Get the absolute pathname.
+ absdir=`cd "$dir" && pwd`
+ test -n "$absdir" && dir=$absdir
+
+ # Now add the directory to shlibpath_var.
+ if eval "test -z \"\$$shlibpath_var\""; then
+ eval "$shlibpath_var=\"\$dir\""
+ else
+ eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
fi
+ done
- # Append the name of the non-PIC object the libtool object file.
- # Only append if the libtool object file exists.
- test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object='$objname'
+ # This variable tells wrapper scripts just to set shlibpath_var
+ # rather than running their programs.
+ libtool_execute_magic=$magic
-EOF
+ # Check if any of the arguments is a wrapper script.
+ args=
+ for file
+ do
+ case $file in
+ -* | *.la | *.lo ) ;;
+ *)
+ # Do a test to see if this is really a libtool program.
+ if func_ltwrapper_script_p "$file"; then
+ func_source "$file"
+ # Transform arg to wrapped name.
+ file=$progdir/$program
+ elif func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ func_source "$func_ltwrapper_scriptname_result"
+ # Transform arg to wrapped name.
+ file=$progdir/$program
+ fi
+ ;;
+ esac
+ # Quote arguments (to preserve shell metacharacters).
+ func_append_quoted args "$file"
+ done
+
+ if $opt_dry_run; then
+ # Display what would be done.
+ if test -n "$shlibpath_var"; then
+ eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+ echo "export $shlibpath_var"
+ fi
+ $ECHO "$cmd$args"
+ exit $EXIT_SUCCESS
else
- # Append the name of the non-PIC object the libtool object file.
- # Only append if the libtool object file exists.
- test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object=none
+ if test -n "$shlibpath_var"; then
+ # Export the shlibpath_var.
+ eval "export $shlibpath_var"
+ fi
-EOF
+ # Restore saved environment variables
+ for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+ do
+ eval "if test \"\${save_$lt_var+set}\" = set; then
+ $lt_var=\$save_$lt_var; export $lt_var
+ else
+ $lt_unset $lt_var
+ fi"
+ done
+
+ # Now prepare to actually exec the command.
+ exec_cmd=\$cmd$args
fi
+}
- $run $mv "${libobj}T" "${libobj}"
+test execute = "$opt_mode" && func_mode_execute ${1+"$@"}
- # Unlock the critical section if it was locked
- if test "$need_locks" != no; then
- $run $rm "$lockfile"
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+ $debug_cmd
+
+ libs=
+ libdirs=
+ admincmds=
+
+ for opt in "$nonopt" ${1+"$@"}
+ do
+ if test -d "$opt"; then
+ func_append libdirs " $opt"
+
+ elif test -f "$opt"; then
+ if func_lalib_unsafe_p "$opt"; then
+ func_append libs " $opt"
+ else
+ func_warning "'$opt' is not a valid libtool archive"
+ fi
+
+ else
+ func_fatal_error "invalid argument '$opt'"
+ fi
+ done
+
+ if test -n "$libs"; then
+ if test -n "$lt_sysroot"; then
+ sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
+ sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
+ else
+ sysroot_cmd=
+ fi
+
+ # Remove sysroot references
+ if $opt_dry_run; then
+ for lib in $libs; do
+ echo "removing references to $lt_sysroot and '=' prefixes from $lib"
+ done
+ else
+ tmpdir=`func_mktempdir`
+ for lib in $libs; do
+ $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
+ > $tmpdir/tmp-la
+ mv -f $tmpdir/tmp-la $lib
+ done
+ ${RM}r "$tmpdir"
+ fi
fi
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ for libdir in $libdirs; do
+ if test -n "$finish_cmds"; then
+ # Do each command in the finish commands.
+ func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
+'"$cmd"'"'
+ fi
+ if test -n "$finish_eval"; then
+ # Do the single finish_eval.
+ eval cmds=\"$finish_eval\"
+ $opt_dry_run || eval "$cmds" || func_append admincmds "
+ $cmds"
+ fi
+ done
+ fi
+
+ # Exit here if they wanted silent mode.
+ $opt_quiet && exit $EXIT_SUCCESS
+
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ echo "----------------------------------------------------------------------"
+ echo "Libraries have been installed in:"
+ for libdir in $libdirs; do
+ $ECHO " $libdir"
+ done
+ echo
+ echo "If you ever happen to want to link against installed libraries"
+ echo "in a given directory, LIBDIR, you must either use libtool, and"
+ echo "specify the full pathname of the library, or use the '-LLIBDIR'"
+ echo "flag during linking and do at least one of the following:"
+ if test -n "$shlibpath_var"; then
+ echo " - add LIBDIR to the '$shlibpath_var' environment variable"
+ echo " during execution"
+ fi
+ if test -n "$runpath_var"; then
+ echo " - add LIBDIR to the '$runpath_var' environment variable"
+ echo " during linking"
+ fi
+ if test -n "$hardcode_libdir_flag_spec"; then
+ libdir=LIBDIR
+ eval flag=\"$hardcode_libdir_flag_spec\"
+
+ $ECHO " - use the '$flag' linker flag"
+ fi
+ if test -n "$admincmds"; then
+ $ECHO " - have your system administrator run these commands:$admincmds"
+ fi
+ if test -f /etc/ld.so.conf; then
+ echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'"
+ fi
+ echo
+
+ echo "See any operating system documentation about shared libraries for"
+ case $host in
+ solaris2.[6789]|solaris2.1[0-9])
+ echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+ echo "pages."
+ ;;
+ *)
+ echo "more information, such as the ld(1) and ld.so(8) manual pages."
+ ;;
+ esac
+ echo "----------------------------------------------------------------------"
+ fi
exit $EXIT_SUCCESS
+}
+
+test finish = "$opt_mode" && func_mode_finish ${1+"$@"}
+
+
+# func_mode_install arg...
+func_mode_install ()
+{
+ $debug_cmd
+
+ # There may be an optional sh(1) argument at the beginning of
+ # install_prog (especially on Windows NT).
+ if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" ||
+ # Allow the use of GNU shtool's install command.
+ case $nonopt in *shtool*) :;; *) false;; esac
+ then
+ # Aesthetically quote it.
+ func_quote_for_eval "$nonopt"
+ install_prog="$func_quote_for_eval_result "
+ arg=$1
+ shift
+ else
+ install_prog=
+ arg=$nonopt
+ fi
+
+ # The real first argument should be the name of the installation program.
+ # Aesthetically quote it.
+ func_quote_for_eval "$arg"
+ func_append install_prog "$func_quote_for_eval_result"
+ install_shared_prog=$install_prog
+ case " $install_prog " in
+ *[\\\ /]cp\ *) install_cp=: ;;
+ *) install_cp=false ;;
+ esac
+
+ # We need to accept at least all the BSD install flags.
+ dest=
+ files=
+ opts=
+ prev=
+ install_type=
+ isdir=false
+ stripme=
+ no_mode=:
+ for arg
+ do
+ arg2=
+ if test -n "$dest"; then
+ func_append files " $dest"
+ dest=$arg
+ continue
+ fi
+
+ case $arg in
+ -d) isdir=: ;;
+ -f)
+ if $install_cp; then :; else
+ prev=$arg
+ fi
+ ;;
+ -g | -m | -o)
+ prev=$arg
+ ;;
+ -s)
+ stripme=" -s"
+ continue
+ ;;
+ -*)
+ ;;
+ *)
+ # If the previous option needed an argument, then skip it.
+ if test -n "$prev"; then
+ if test X-m = "X$prev" && test -n "$install_override_mode"; then
+ arg2=$install_override_mode
+ no_mode=false
+ fi
+ prev=
+ else
+ dest=$arg
+ continue
+ fi
+ ;;
+ esac
+
+ # Aesthetically quote the argument.
+ func_quote_for_eval "$arg"
+ func_append install_prog " $func_quote_for_eval_result"
+ if test -n "$arg2"; then
+ func_quote_for_eval "$arg2"
+ fi
+ func_append install_shared_prog " $func_quote_for_eval_result"
+ done
+
+ test -z "$install_prog" && \
+ func_fatal_help "you must specify an install program"
+
+ test -n "$prev" && \
+ func_fatal_help "the '$prev' option requires an argument"
+
+ if test -n "$install_override_mode" && $no_mode; then
+ if $install_cp; then :; else
+ func_quote_for_eval "$install_override_mode"
+ func_append install_shared_prog " -m $func_quote_for_eval_result"
+ fi
+ fi
+
+ if test -z "$files"; then
+ if test -z "$dest"; then
+ func_fatal_help "no file or destination specified"
+ else
+ func_fatal_help "you must specify a destination"
+ fi
+ fi
+
+ # Strip any trailing slash from the destination.
+ func_stripname '' '/' "$dest"
+ dest=$func_stripname_result
+
+ # Check to see that the destination is a directory.
+ test -d "$dest" && isdir=:
+ if $isdir; then
+ destdir=$dest
+ destname=
+ else
+ func_dirname_and_basename "$dest" "" "."
+ destdir=$func_dirname_result
+ destname=$func_basename_result
+
+ # Not a directory, so check to see that there is only one file specified.
+ set dummy $files; shift
+ test "$#" -gt 1 && \
+ func_fatal_help "'$dest' is not a directory"
+ fi
+ case $destdir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ for file in $files; do
+ case $file in
+ *.lo) ;;
+ *)
+ func_fatal_help "'$destdir' must be an absolute directory name"
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic=$magic
+
+ staticlibs=
+ future_libdirs=
+ current_libdirs=
+ for file in $files; do
+
+ # Do each installation.
+ case $file in
+ *.$libext)
+ # Do the static libraries later.
+ func_append staticlibs " $file"
+ ;;
+
+ *.la)
+ func_resolve_sysroot "$file"
+ file=$func_resolve_sysroot_result
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "'$file' is not a valid libtool archive"
+
+ library_names=
+ old_library=
+ relink_command=
+ func_source "$file"
+
+ # Add the libdir to current_libdirs if it is the destination.
+ if test "X$destdir" = "X$libdir"; then
+ case "$current_libdirs " in
+ *" $libdir "*) ;;
+ *) func_append current_libdirs " $libdir" ;;
+ esac
+ else
+ # Note the libdir as a future libdir.
+ case "$future_libdirs " in
+ *" $libdir "*) ;;
+ *) func_append future_libdirs " $libdir" ;;
+ esac
+ fi
+
+ func_dirname "$file" "/" ""
+ dir=$func_dirname_result
+ func_append dir "$objdir"
+
+ if test -n "$relink_command"; then
+ # Determine the prefix the user has applied to our future dir.
+ inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
+
+ # Don't allow the user to place us outside of our expected
+ # location b/c this prevents finding dependent libraries that
+ # are installed to the same prefix.
+ # At present, this check doesn't affect windows .dll's that
+ # are installed into $libdir/../bin (currently, that works fine)
+ # but it's something to keep an eye on.
+ test "$inst_prefix_dir" = "$destdir" && \
+ func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
+
+ if test -n "$inst_prefix_dir"; then
+ # Stick the inst_prefix_dir data into the link command.
+ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+ else
+ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+ fi
+
+ func_warning "relinking '$file'"
+ func_show_eval "$relink_command" \
+ 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"'
+ fi
+
+ # See the names of the shared library.
+ set dummy $library_names; shift
+ if test -n "$1"; then
+ realname=$1
+ shift
+
+ srcname=$realname
+ test -n "$relink_command" && srcname=${realname}T
+
+ # Install the shared library and build the symlinks.
+ func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
+ 'exit $?'
+ tstripme=$stripme
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $realname in
+ *.dll.a)
+ tstripme=
+ ;;
+ esac
+ ;;
+ os2*)
+ case $realname in
+ *_dll.a)
+ tstripme=
+ ;;
+ esac
+ ;;
+ esac
+ if test -n "$tstripme" && test -n "$striplib"; then
+ func_show_eval "$striplib $destdir/$realname" 'exit $?'
+ fi
+
+ if test "$#" -gt 0; then
+ # Delete the old symlinks, and create new ones.
+ # Try 'ln -sf' first, because the 'ln' binary might depend on
+ # the symlink we replace! Solaris /bin/ln does not understand -f,
+ # so we also need to try rm && ln -s.
+ for linkname
+ do
+ test "$linkname" != "$realname" \
+ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
+ done
+ fi
+
+ # Do each command in the postinstall commands.
+ lib=$destdir/$realname
+ func_execute_cmds "$postinstall_cmds" 'exit $?'
+ fi
+
+ # Install the pseudo-library for information purposes.
+ func_basename "$file"
+ name=$func_basename_result
+ instname=$dir/${name}i
+ func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+ # Maybe install the static library, too.
+ test -n "$old_library" && func_append staticlibs " $dir/$old_library"
+ ;;
+
+ *.lo)
+ # Install (i.e. copy) a libtool object.
+
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile=$destdir/$destname
+ else
+ func_basename "$file"
+ destfile=$func_basename_result
+ destfile=$destdir/$destfile
+ fi
+
+ # Deduce the name of the destination old-style object file.
+ case $destfile in
+ *.lo)
+ func_lo2o "$destfile"
+ staticdest=$func_lo2o_result
+ ;;
+ *.$objext)
+ staticdest=$destfile
+ destfile=
+ ;;
+ *)
+ func_fatal_help "cannot copy a libtool object to '$destfile'"
+ ;;
+ esac
+
+ # Install the libtool object if requested.
+ test -n "$destfile" && \
+ func_show_eval "$install_prog $file $destfile" 'exit $?'
+
+ # Install the old object if enabled.
+ if test yes = "$build_old_libs"; then
+ # Deduce the name of the old-style object file.
+ func_lo2o "$file"
+ staticobj=$func_lo2o_result
+ func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
+ fi
+ exit $EXIT_SUCCESS
+ ;;
+
+ *)
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile=$destdir/$destname
+ else
+ func_basename "$file"
+ destfile=$func_basename_result
+ destfile=$destdir/$destfile
+ fi
+
+ # If the file is missing, and there is a .exe on the end, strip it
+ # because it is most likely a libtool script we actually want to
+ # install
+ stripped_ext=
+ case $file in
+ *.exe)
+ if test ! -f "$file"; then
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ stripped_ext=.exe
+ fi
+ ;;
+ esac
+
+ # Do a test to see if this is really a libtool program.
+ case $host in
+ *cygwin* | *mingw*)
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ wrapper=$func_ltwrapper_scriptname_result
+ else
+ func_stripname '' '.exe' "$file"
+ wrapper=$func_stripname_result
+ fi
+ ;;
+ *)
+ wrapper=$file
+ ;;
+ esac
+ if func_ltwrapper_script_p "$wrapper"; then
+ notinst_deplibs=
+ relink_command=
+
+ func_source "$wrapper"
+
+ # Check the variables that should have been set.
+ test -z "$generated_by_libtool_version" && \
+ func_fatal_error "invalid libtool wrapper script '$wrapper'"
+
+ finalize=:
+ for lib in $notinst_deplibs; do
+ # Check to see that each library is installed.
+ libdir=
+ if test -f "$lib"; then
+ func_source "$lib"
+ fi
+ libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'`
+ if test -n "$libdir" && test ! -f "$libfile"; then
+ func_warning "'$lib' has not been installed in '$libdir'"
+ finalize=false
+ fi
+ done
+
+ relink_command=
+ func_source "$wrapper"
+
+ outputname=
+ if test no = "$fast_install" && test -n "$relink_command"; then
+ $opt_dry_run || {
+ if $finalize; then
+ tmpdir=`func_mktempdir`
+ func_basename "$file$stripped_ext"
+ file=$func_basename_result
+ outputname=$tmpdir/$file
+ # Replace the output file specification.
+ relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
+
+ $opt_quiet || {
+ func_quote_for_expand "$relink_command"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ if eval "$relink_command"; then :
+ else
+ func_error "error: relink '$file' with the above command before installing it"
+ $opt_dry_run || ${RM}r "$tmpdir"
+ continue
+ fi
+ file=$outputname
+ else
+ func_warning "cannot relink '$file'"
+ fi
+ }
+ else
+ # Install the binary that we compiled earlier.
+ file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
+ fi
+ fi
+
+ # remove .exe since cygwin /usr/bin/install will append another
+ # one anyway
+ case $install_prog,$host in
+ */usr/bin/install*,*cygwin*)
+ case $file:$destfile in
+ *.exe:*.exe)
+ # this is ok
+ ;;
+ *.exe:*)
+ destfile=$destfile.exe
+ ;;
+ *:*.exe)
+ func_stripname '' '.exe' "$destfile"
+ destfile=$func_stripname_result
+ ;;
+ esac
+ ;;
+ esac
+ func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
+ $opt_dry_run || if test -n "$outputname"; then
+ ${RM}r "$tmpdir"
+ fi
+ ;;
+ esac
+ done
+
+ for file in $staticlibs; do
+ func_basename "$file"
+ name=$func_basename_result
+
+ # Set up the ranlib parameters.
+ oldlib=$destdir/$name
+ func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+ tool_oldlib=$func_to_tool_file_result
+
+ func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+ if test -n "$stripme" && test -n "$old_striplib"; then
+ func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
+ fi
+
+ # Do each command in the postinstall commands.
+ func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+ done
+
+ test -n "$future_libdirs" && \
+ func_warning "remember to run '$progname --finish$future_libdirs'"
+
+ if test -n "$current_libdirs"; then
+ # Maybe just do a dry run.
+ $opt_dry_run && current_libdirs=" -n$current_libdirs"
+ exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs'
+ else
+ exit $EXIT_SUCCESS
+ fi
+}
+
+test install = "$opt_mode" && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+ $debug_cmd
+
+ my_outputname=$1
+ my_originator=$2
+ my_pic_p=${3-false}
+ my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'`
+ my_dlsyms=
+
+ if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+ if test -n "$NM" && test -n "$global_symbol_pipe"; then
+ my_dlsyms=${my_outputname}S.c
+ else
+ func_error "not configured to extract global symbols from dlpreopened files"
+ fi
+ fi
+
+ if test -n "$my_dlsyms"; then
+ case $my_dlsyms in
+ "") ;;
+ *.c)
+ # Discover the nlist of each of the dlfiles.
+ nlist=$output_objdir/$my_outputname.nm
+
+ func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
+ # Parse the name list into a source file.
+ func_verbose "creating $output_objdir/$my_dlsyms"
+
+ $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
+#endif
+
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT_DLSYM_CONST
+#elif defined __osf__
+/* This system does not cope well with relocations in const data. */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
+/* External symbol declarations for the compiler. */\
+"
+
+ if test yes = "$dlself"; then
+ func_verbose "generating symbol list for '$output'"
+
+ $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+ # Add our own program objects to the symbol list.
+ progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ for progfile in $progfiles; do
+ func_to_tool_file "$progfile" func_convert_file_msys_to_w32
+ func_verbose "extracting global C symbols from '$func_to_tool_file_result'"
+ $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
+ done
+
+ if test -n "$exclude_expsyms"; then
+ $opt_dry_run || {
+ eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ if test -n "$export_symbols_regex"; then
+ $opt_dry_run || {
+ eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ export_symbols=$output_objdir/$outputname.exp
+ $opt_dry_run || {
+ $RM $export_symbols
+ eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ else
+ $opt_dry_run || {
+ eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+ eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ fi
+ fi
+
+ for dlprefile in $dlprefiles; do
+ func_verbose "extracting global C symbols from '$dlprefile'"
+ func_basename "$dlprefile"
+ name=$func_basename_result
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ # if an import library, we need to obtain dlname
+ if func_win32_import_lib_p "$dlprefile"; then
+ func_tr_sh "$dlprefile"
+ eval "curr_lafile=\$libfile_$func_tr_sh_result"
+ dlprefile_dlbasename=
+ if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
+ # Use subshell, to avoid clobbering current variable values
+ dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
+ if test -n "$dlprefile_dlname"; then
+ func_basename "$dlprefile_dlname"
+ dlprefile_dlbasename=$func_basename_result
+ else
+ # no lafile. user explicitly requested -dlpreopen <import library>.
+ $sharedlib_from_linklib_cmd "$dlprefile"
+ dlprefile_dlbasename=$sharedlib_from_linklib_result
+ fi
+ fi
+ $opt_dry_run || {
+ if test -n "$dlprefile_dlbasename"; then
+ eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
+ else
+ func_warning "Could not compute DLL name from $name"
+ eval '$ECHO ": $name " >> "$nlist"'
+ fi
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
+ $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
+ }
+ else # not an import lib
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ fi
+ ;;
+ *)
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ ;;
+ esac
+ done
+
+ $opt_dry_run || {
+ # Make sure we have at least an empty file.
+ test -f "$nlist" || : > "$nlist"
+
+ if test -n "$exclude_expsyms"; then
+ $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+ $MV "$nlist"T "$nlist"
+ fi
+
+ # Try sorting and uniquifying the output.
+ if $GREP -v "^: " < "$nlist" |
+ if sort -k 3 </dev/null >/dev/null 2>&1; then
+ sort -k 3
+ else
+ sort +2
+ fi |
+ uniq > "$nlist"S; then
+ :
+ else
+ $GREP -v "^: " < "$nlist" > "$nlist"S
+ fi
+
+ if test -f "$nlist"S; then
+ eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+ else
+ echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
+ fi
+
+ func_show_eval '$RM "${nlist}I"'
+ if test -n "$global_symbol_to_import"; then
+ eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I'
+ fi
+
+ echo >> "$output_objdir/$my_dlsyms" "\
+
+/* The mapping between symbol names and symbols. */
+typedef struct {
+ const char *name;
+ void *address;
+} lt_dlsymlist;
+extern LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];\
+"
+
+ if test -s "$nlist"I; then
+ echo >> "$output_objdir/$my_dlsyms" "\
+static void lt_syminit(void)
+{
+ LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols;
+ for (; symbol->name; ++symbol)
+ {"
+ $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms"
+ echo >> "$output_objdir/$my_dlsyms" "\
+ }
+}"
+ fi
+ echo >> "$output_objdir/$my_dlsyms" "\
+LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{ {\"$my_originator\", (void *) 0},"
+
+ if test -s "$nlist"I; then
+ echo >> "$output_objdir/$my_dlsyms" "\
+ {\"@INIT@\", (void *) &lt_syminit},"
+ fi
+
+ case $need_lib_prefix in
+ no)
+ eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ *)
+ eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ esac
+ echo >> "$output_objdir/$my_dlsyms" "\
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+ } # !$opt_dry_run
+
+ pic_flag_for_symtable=
+ case "$compile_command " in
+ *" -static "*) ;;
+ *)
+ case $host in
+ # compiling the symbol table file with pic_flag works around
+ # a FreeBSD bug that causes programs to crash when -lm is
+ # linked before any other PIC object. But we must not use
+ # pic_flag when linking with -static. The problem exists in
+ # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+ *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+ pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+ *-*-hpux*)
+ pic_flag_for_symtable=" $pic_flag" ;;
+ *)
+ $my_pic_p && pic_flag_for_symtable=" $pic_flag"
+ ;;
+ esac
+ ;;
+ esac
+ symtab_cflags=
+ for arg in $LTCFLAGS; do
+ case $arg in
+ -pie | -fpie | -fPIE) ;;
+ *) func_append symtab_cflags " $arg" ;;
+ esac
+ done
+
+ # Now compile the dynamic symbol file.
+ func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+ # Clean up the generated files.
+ func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"'
+
+ # Transform the symbol file into the correct name.
+ symfileobj=$output_objdir/${my_outputname}S.$objext
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ if test -f "$output_objdir/$my_outputname.def"; then
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ else
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ fi
+ ;;
+ *)
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ ;;
+ esac
+ ;;
+ *)
+ func_fatal_error "unknown suffix for '$my_dlsyms'"
+ ;;
+ esac
+ else
+ # We keep going just in case the user didn't refer to
+ # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
+ # really was required.
+
+ # Nullify the symbol file.
+ compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
+ fi
+}
+
+# func_cygming_gnu_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is a GNU/binutils-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_gnu_implib_p ()
+{
+ $debug_cmd
+
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
+ test -n "$func_cygming_gnu_implib_tmp"
+}
+
+# func_cygming_ms_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is an MS-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_ms_implib_p ()
+{
+ $debug_cmd
+
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
+ test -n "$func_cygming_ms_implib_tmp"
+}
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+# Despite the name, also deal with 64 bit binaries.
+func_win32_libid ()
+{
+ $debug_cmd
+
+ win32_libid_type=unknown
+ win32_fileres=`file -L $1 2>/dev/null`
+ case $win32_fileres in
+ *ar\ archive\ import\ library*) # definitely import
+ win32_libid_type="x86 archive import"
;;
+ *ar\ archive*) # could be an import, or static
+ # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
+ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+ $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
+ case $nm_interface in
+ "MS dumpbin")
+ if func_cygming_ms_implib_p "$1" ||
+ func_cygming_gnu_implib_p "$1"
+ then
+ win32_nmres=import
+ else
+ win32_nmres=
+ fi
+ ;;
+ *)
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
+ $SED -n -e '
+ 1,100{
+ / I /{
+ s|.*|import|
+ p
+ q
+ }
+ }'`
+ ;;
+ esac
+ case $win32_nmres in
+ import*) win32_libid_type="x86 archive import";;
+ *) win32_libid_type="x86 archive static";;
+ esac
+ fi
+ ;;
+ *DLL*)
+ win32_libid_type="x86 DLL"
+ ;;
+ *executable*) # but shell scripts are "executable" too...
+ case $win32_fileres in
+ *MS\ Windows\ PE\ Intel*)
+ win32_libid_type="x86 DLL"
+ ;;
+ esac
+ ;;
+ esac
+ $ECHO "$win32_libid_type"
+}
+
+# func_cygming_dll_for_implib ARG
+#
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+# Invoked by eval'ing the libtool variable
+# $sharedlib_from_linklib_cmd
+# Result is available in the variable
+# $sharedlib_from_linklib_result
+func_cygming_dll_for_implib ()
+{
+ $debug_cmd
+
+ sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
+}
+
+# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
+#
+# The is the core of a fallback implementation of a
+# platform-specific function to extract the name of the
+# DLL associated with the specified import library LIBNAME.
+#
+# SECTION_NAME is either .idata$6 or .idata$7, depending
+# on the platform and compiler that created the implib.
+#
+# Echos the name of the DLL associated with the
+# specified import library.
+func_cygming_dll_for_implib_fallback_core ()
+{
+ $debug_cmd
+
+ match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
+ $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
+ $SED '/^Contents of section '"$match_literal"':/{
+ # Place marker at beginning of archive member dllname section
+ s/.*/====MARK====/
+ p
+ d
+ }
+ # These lines can sometimes be longer than 43 characters, but
+ # are always uninteresting
+ /:[ ]*file format pe[i]\{,1\}-/d
+ /^In archive [^:]*:/d
+ # Ensure marker is printed
+ /^====MARK====/p
+ # Remove all lines with less than 43 characters
+ /^.\{43\}/!d
+ # From remaining lines, remove first 43 characters
+ s/^.\{43\}//' |
+ $SED -n '
+ # Join marker and all lines until next marker into a single line
+ /^====MARK====/ b para
+ H
+ $ b para
+ b
+ :para
+ x
+ s/\n//g
+ # Remove the marker
+ s/^====MARK====//
+ # Remove trailing dots and whitespace
+ s/[\. \t]*$//
+ # Print
+ /./p' |
+ # we now have a list, one entry per line, of the stringified
+ # contents of the appropriate section of all members of the
+ # archive that possess that section. Heuristic: eliminate
+ # all those that have a first or second character that is
+ # a '.' (that is, objdump's representation of an unprintable
+ # character.) This should work for all archives with less than
+ # 0x302f exports -- but will fail for DLLs whose name actually
+ # begins with a literal '.' or a single character followed by
+ # a '.'.
+ #
+ # Of those that remain, print the first one.
+ $SED -e '/^\./d;/^.\./d;q'
+}
+
+# func_cygming_dll_for_implib_fallback ARG
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+#
+# This fallback implementation is for use when $DLLTOOL
+# does not support the --identify-strict option.
+# Invoked by eval'ing the libtool variable
+# $sharedlib_from_linklib_cmd
+# Result is available in the variable
+# $sharedlib_from_linklib_result
+func_cygming_dll_for_implib_fallback ()
+{
+ $debug_cmd
+
+ if func_cygming_gnu_implib_p "$1"; then
+ # binutils import library
+ sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
+ elif func_cygming_ms_implib_p "$1"; then
+ # ms-generated import library
+ sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
+ else
+ # unknown
+ sharedlib_from_linklib_result=
+ fi
+}
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+ $debug_cmd
+
+ f_ex_an_ar_dir=$1; shift
+ f_ex_an_ar_oldlib=$1
+ if test yes = "$lock_old_archive_extraction"; then
+ lockfile=$f_ex_an_ar_oldlib.lock
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
+ sleep 2
+ done
+ fi
+ func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
+ 'stat=$?; rm -f "$lockfile"; exit $stat'
+ if test yes = "$lock_old_archive_extraction"; then
+ $opt_dry_run || rm -f "$lockfile"
+ fi
+ if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
+ fi
+}
+
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+ $debug_cmd
+
+ my_gentop=$1; shift
+ my_oldlibs=${1+"$@"}
+ my_oldobjs=
+ my_xlib=
+ my_xabs=
+ my_xdir=
+
+ for my_xlib in $my_oldlibs; do
+ # Extract the objects.
+ case $my_xlib in
+ [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;;
+ *) my_xabs=`pwd`"/$my_xlib" ;;
+ esac
+ func_basename "$my_xlib"
+ my_xlib=$func_basename_result
+ my_xlib_u=$my_xlib
+ while :; do
+ case " $extracted_archives " in
+ *" $my_xlib_u "*)
+ func_arith $extracted_serial + 1
+ extracted_serial=$func_arith_result
+ my_xlib_u=lt$extracted_serial-$my_xlib ;;
+ *) break ;;
+ esac
+ done
+ extracted_archives="$extracted_archives $my_xlib_u"
+ my_xdir=$my_gentop/$my_xlib_u
+
+ func_mkdir_p "$my_xdir"
+
+ case $host in
+ *-darwin*)
+ func_verbose "Extracting $my_xabs"
+ # Do not bother doing anything if just a dry run
+ $opt_dry_run || {
+ darwin_orig_dir=`pwd`
+ cd $my_xdir || exit $?
+ darwin_archive=$my_xabs
+ darwin_curdir=`pwd`
+ func_basename "$darwin_archive"
+ darwin_base_archive=$func_basename_result
+ darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+ if test -n "$darwin_arches"; then
+ darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+ darwin_arch=
+ func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+ for darwin_arch in $darwin_arches; do
+ func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch"
+ $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive"
+ cd "unfat-$$/$darwin_base_archive-$darwin_arch"
+ func_extract_an_archive "`pwd`" "$darwin_base_archive"
+ cd "$darwin_curdir"
+ $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive"
+ done # $darwin_arches
+ ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u`
+ darwin_file=
+ darwin_files=
+ for darwin_file in $darwin_filelist; do
+ darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
+ $LIPO -create -output "$darwin_file" $darwin_files
+ done # $darwin_filelist
+ $RM -rf unfat-$$
+ cd "$darwin_orig_dir"
+ else
+ cd $darwin_orig_dir
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ fi # $darwin_arches
+ } # !$opt_dry_run
+ ;;
+ *)
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ ;;
+ esac
+ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
+ done
+
+ func_extract_archives_result=$my_oldobjs
+}
+
+
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable. Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take. If 'yes', then the emitted script
+# will assume that the directory where it is stored is
+# the $objdir directory. This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+ func_emit_wrapper_arg1=${1-no}
+
+ $ECHO "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='$sed_quote_subst'
+
+# Be Bourne compatible
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+ # install mode needs the following variables:
+ generated_by_libtool_version='$macro_version'
+ notinst_deplibs='$notinst_deplibs'
+else
+ # When we are sourced in execute mode, \$file and \$ECHO are already set.
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ file=\"\$0\""
+
+ qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
+ $ECHO "\
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+ ECHO=\"$qECHO\"
+ fi
+
+# Very basic option parsing. These options are (a) specific to
+# the libtool wrapper, (b) are identical between the wrapper
+# /script/ and the wrapper /executable/ that is used only on
+# windows platforms, and (c) all begin with the string "--lt-"
+# (application programs are unlikely to have options that match
+# this pattern).
+#
+# There are only two supported options: --lt-debug and
+# --lt-dump-script. There is, deliberately, no --lt-help.
+#
+# The first argument to this parsing function should be the
+# script's $0 value, followed by "$@".
+lt_option_debug=
+func_parse_lt_options ()
+{
+ lt_script_arg0=\$0
+ shift
+ for lt_opt
+ do
+ case \"\$lt_opt\" in
+ --lt-debug) lt_option_debug=1 ;;
+ --lt-dump-script)
+ lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
+ test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
+ lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
+ cat \"\$lt_dump_D/\$lt_dump_F\"
+ exit 0
+ ;;
+ --lt-*)
+ \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
+ exit 1
+ ;;
+ esac
+ done
+
+ # Print the debug banner immediately:
+ if test -n \"\$lt_option_debug\"; then
+ echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2
+ fi
+}
+
+# Used when --lt-debug. Prints its arguments to stdout
+# (redirection is the responsibility of the caller)
+func_lt_dump_args ()
+{
+ lt_dump_args_N=1;
+ for lt_arg
+ do
+ \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\"
+ lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
+ done
+}
+
+# Core function for launching the target application
+func_exec_program_core ()
+{
+"
+ case $host in
+ # Backslashes separate directories on plain windows
+ *-*-mingw | *-*-os2* | *-cegcc*)
+ $ECHO "\
+ if test -n \"\$lt_option_debug\"; then
+ \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
+ func_lt_dump_args \${1+\"\$@\"} 1>&2
+ fi
+ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+ ;;
+
+ *)
+ $ECHO "\
+ if test -n \"\$lt_option_debug\"; then
+ \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2
+ func_lt_dump_args \${1+\"\$@\"} 1>&2
+ fi
+ exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+ ;;
+ esac
+ $ECHO "\
+ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+ exit 1
+}
+
+# A function to encapsulate launching the target application
+# Strips options in the --lt-* namespace from \$@ and
+# launches target application with the remaining arguments.
+func_exec_program ()
+{
+ case \" \$* \" in
+ *\\ --lt-*)
+ for lt_wr_arg
+ do
+ case \$lt_wr_arg in
+ --lt-*) ;;
+ *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+ esac
+ shift
+ done ;;
+ esac
+ func_exec_program_core \${1+\"\$@\"}
+}
+
+ # Parse options
+ func_parse_lt_options \"\$0\" \${1+\"\$@\"}
+
+ # Find the directory that this script lives in.
+ thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
+ test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+ # Follow symbolic links until we get to the real thisdir.
+ file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
+ while test -n \"\$file\"; do
+ destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
+
+ # If there was a directory component, then change thisdir.
+ if test \"x\$destdir\" != \"x\$file\"; then
+ case \"\$destdir\" in
+ [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+ *) thisdir=\"\$thisdir/\$destdir\" ;;
+ esac
+ fi
+
+ file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
+ file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
+ done
+
+ # Usually 'no', except on cygwin/mingw when embedded into
+ # the cwrapper.
+ WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
+ if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+ # special case for '.'
+ if test \"\$thisdir\" = \".\"; then
+ thisdir=\`pwd\`
+ fi
+ # remove .libs from thisdir
+ case \"\$thisdir\" in
+ *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
+ $objdir ) thisdir=. ;;
+ esac
+ fi
+
+ # Try to get the absolute directory name.
+ absdir=\`cd \"\$thisdir\" && pwd\`
+ test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+ if test yes = "$fast_install"; then
+ $ECHO "\
+ program=lt-'$outputname'$exeext
+ progdir=\"\$thisdir/$objdir\"
+
+ if test ! -f \"\$progdir/\$program\" ||
+ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\
+ test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+ file=\"\$\$-\$program\"
+
+ if test ! -d \"\$progdir\"; then
+ $MKDIR \"\$progdir\"
+ else
+ $RM \"\$progdir/\$file\"
+ fi"
+
+ $ECHO "\
+
+ # relink executable if necessary
+ if test -n \"\$relink_command\"; then
+ if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+ else
+ \$ECHO \"\$relink_command_output\" >&2
+ $RM \"\$progdir/\$file\"
+ exit 1
+ fi
+ fi
+
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+ { $RM \"\$progdir/\$program\";
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+ $RM \"\$progdir/\$file\"
+ fi"
+ else
+ $ECHO "\
+ program='$outputname'
+ progdir=\"\$thisdir/$objdir\"
+"
+ fi
+
+ $ECHO "\
+
+ if test -f \"\$progdir/\$program\"; then"
+
+ # fixup the dll searchpath if we need to.
+ #
+ # Fix the DLL searchpath if we need to. Do this before prepending
+ # to shlibpath, because on Windows, both are PATH and uninstalled
+ # libraries must come first.
+ if test -n "$dllsearchpath"; then
+ $ECHO "\
+ # Add the dll search path components to the executable PATH
+ PATH=$dllsearchpath:\$PATH
+"
+ fi
+
+ # Export our shlibpath_var if we have one.
+ if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ $ECHO "\
+ # Add our own library path to $shlibpath_var
+ $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+ # Some systems cannot cope with colon-terminated $shlibpath_var
+ # The second colon is a workaround for a bug in BeOS R4 sed
+ $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
+
+ export $shlibpath_var
+"
+ fi
+
+ $ECHO "\
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ # Run the actual program with our arguments.
+ func_exec_program \${1+\"\$@\"}
+ fi
+ else
+ # The program doesn't exist.
+ \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2
+ \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
+ \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+ exit 1
+ fi
+fi\
+"
+}
+
+
+# func_emit_cwrapperexe_src
+# emit the source code for a wrapper executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_cwrapperexe_src ()
+{
+ cat <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+ Generated by $PROGRAM (GNU $PACKAGE) $VERSION
+
+ The $output program cannot be directly executed until all the libtool
+ libraries that it depends on are installed.
+
+ This wrapper executable should never be moved out of the build directory.
+ If it is, it will not operate correctly.
+*/
+EOF
+ cat <<"EOF"
+#ifdef _MSC_VER
+# define _CRT_SECURE_NO_DEPRECATE 1
+#endif
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+# include <io.h>
+# endif
+#endif
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
+/* declarations of non-ANSI functions */
+#if defined __MINGW32__
+# ifdef __STRICT_ANSI__
+int _putenv (const char *);
+# endif
+#elif defined __CYGWIN__
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
+/* #elif defined other_platform || defined ... */
+#endif
+
+/* portability defines, excluding path handling macros */
+#if defined _MSC_VER
+# define setmode _setmode
+# define stat _stat
+# define chmod _chmod
+# define getcwd _getcwd
+# define putenv _putenv
+# define S_IXUSR _S_IEXEC
+#elif defined __MINGW32__
+# define setmode _setmode
+# define stat _stat
+# define chmod _chmod
+# define getcwd _getcwd
+# define putenv _putenv
+#elif defined __CYGWIN__
+# define HAVE_SETENV
+# define FOPEN_WB "wb"
+/* #elif defined other platforms ... */
+#endif
+
+#if defined PATH_MAX
+# define LT_PATHMAX PATH_MAX
+#elif defined MAXPATHLEN
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef S_IXOTH
+# define S_IXOTH 0
+#endif
+#ifndef S_IXGRP
+# define S_IXGRP 0
+#endif
+
+/* path handling portability macros */
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \
+ defined __OS2__
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# define FOPEN_WB "wb"
+# ifndef DIR_SEPARATOR_2
+# define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+# define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#ifndef FOPEN_WB
+# define FOPEN_WB "w"
+#endif
+#ifndef _O_BINARY
+# define _O_BINARY 0
+#endif
+
+#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+ if (stale) { free (stale); stale = 0; } \
+} while (0)
+
+#if defined LT_DEBUGWRAPPER
+static int lt_debug = 1;
+#else
+static int lt_debug = 0;
+#endif
+
+const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
+
+void *xmalloc (size_t num);
+char *xstrdup (const char *string);
+const char *base_name (const char *name);
+char *find_executable (const char *wrapper);
+char *chase_symlinks (const char *pathspec);
+int make_executable (const char *path);
+int check_executable (const char *path);
+char *strendzap (char *str, const char *pat);
+void lt_debugprintf (const char *file, int line, const char *fmt, ...);
+void lt_fatal (const char *file, int line, const char *message, ...);
+static const char *nonnull (const char *s);
+static const char *nonempty (const char *s);
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+char **prepare_spawn (char **argv);
+void lt_dump_script (FILE *f);
+EOF
+
+ cat <<EOF
+#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
+# define externally_visible volatile
+#else
+# define externally_visible __attribute__((externally_visible)) volatile
+#endif
+externally_visible const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
+EOF
+
+ if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ func_to_host_path "$temp_rpath"
+ cat <<EOF
+const char * LIB_PATH_VALUE = "$func_to_host_path_result";
+EOF
+ else
+ cat <<"EOF"
+const char * LIB_PATH_VALUE = "";
+EOF
+ fi
+
+ if test -n "$dllsearchpath"; then
+ func_to_host_path "$dllsearchpath:"
+ cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE = "$func_to_host_path_result";
+EOF
+ else
+ cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE = "";
+EOF
+ fi
+
+ if test yes = "$fast_install"; then
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+ else
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+ fi
+
+
+ cat <<"EOF"
+
+#define LTWRAPPER_OPTION_PREFIX "--lt-"
+
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
+static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug";
+
+int
+main (int argc, char *argv[])
+{
+ char **newargz;
+ int newargc;
+ char *tmp_pathspec;
+ char *actual_cwrapper_path;
+ char *actual_cwrapper_name;
+ char *target_name;
+ char *lt_argv_zero;
+ int rval = 127;
+
+ int i;
+
+ program_name = (char *) xstrdup (base_name (argv[0]));
+ newargz = XMALLOC (char *, (size_t) argc + 1);
+
+ /* very simple arg parsing; don't want to rely on getopt
+ * also, copy all non cwrapper options to newargz, except
+ * argz[0], which is handled differently
+ */
+ newargc=0;
+ for (i = 1; i < argc; i++)
+ {
+ if (STREQ (argv[i], dumpscript_opt))
+ {
+EOF
+ case $host in
+ *mingw* | *cygwin* )
+ # make stdout use "unix" line endings
+ echo " setmode(1,_O_BINARY);"
+ ;;
+ esac
+
+ cat <<"EOF"
+ lt_dump_script (stdout);
+ return 0;
+ }
+ if (STREQ (argv[i], debug_opt))
+ {
+ lt_debug = 1;
+ continue;
+ }
+ if (STREQ (argv[i], ltwrapper_option_prefix))
+ {
+ /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+ namespace, but it is not one of the ones we know about and
+ have already dealt with, above (inluding dump-script), then
+ report an error. Otherwise, targets might begin to believe
+ they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+ namespace. The first time any user complains about this, we'll
+ need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+ or a configure.ac-settable value.
+ */
+ lt_fatal (__FILE__, __LINE__,
+ "unrecognized %s option: '%s'",
+ ltwrapper_option_prefix, argv[i]);
+ }
+ /* otherwise ... */
+ newargz[++newargc] = xstrdup (argv[i]);
+ }
+ newargz[++newargc] = NULL;
+
+EOF
+ cat <<EOF
+ /* The GNU banner must be the first non-error debug message */
+ lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE) $VERSION\n");
+EOF
+ cat <<"EOF"
+ lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
+ lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
+
+ tmp_pathspec = find_executable (argv[0]);
+ if (tmp_pathspec == NULL)
+ lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) found exe (before symlink chase) at: %s\n",
+ tmp_pathspec);
+
+ actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) found exe (after symlink chase) at: %s\n",
+ actual_cwrapper_path);
+ XFREE (tmp_pathspec);
+
+ actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
+ strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+ /* wrapper name transforms */
+ strendzap (actual_cwrapper_name, ".exe");
+ tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+ XFREE (actual_cwrapper_name);
+ actual_cwrapper_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ /* target_name transforms -- use actual target program name; might have lt- prefix */
+ target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+ strendzap (target_name, ".exe");
+ tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+ XFREE (target_name);
+ target_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) libtool target name: %s\n",
+ target_name);
+EOF
+
+ cat <<EOF
+ newargz[0] =
+ XMALLOC (char, (strlen (actual_cwrapper_path) +
+ strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+ strcpy (newargz[0], actual_cwrapper_path);
+ strcat (newargz[0], "$objdir");
+ strcat (newargz[0], "/");
+EOF
+
+ cat <<"EOF"
+ /* stop here, and copy so we don't have to do this twice */
+ tmp_pathspec = xstrdup (newargz[0]);
+
+ /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+ strcat (newargz[0], actual_cwrapper_name);
+
+ /* DO want the lt- prefix here if it exists, so use target_name */
+ lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+ XFREE (tmp_pathspec);
+ tmp_pathspec = NULL;
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ {
+ char* p;
+ while ((p = strchr (newargz[0], '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ while ((p = strchr (lt_argv_zero, '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ }
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+ XFREE (target_name);
+ XFREE (actual_cwrapper_path);
+ XFREE (actual_cwrapper_name);
+
+ lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+ lt_setenv ("DUALCASE", "1"); /* for MSK sh */
+ /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must
+ be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
+ because on Windows, both *_VARNAMEs are PATH but uninstalled
+ libraries must come first. */
+ lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+ lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+
+ lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
+ nonnull (lt_argv_zero));
+ for (i = 0; i < newargc; i++)
+ {
+ lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
+ i, nonnull (newargz[i]));
+ }
+
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ /* execv doesn't actually work on mingw as expected on unix */
+ newargz = prepare_spawn (newargz);
+ rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+ if (rval == -1)
+ {
+ /* failed to start process */
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) failed to launch target \"%s\": %s\n",
+ lt_argv_zero, nonnull (strerror (errno)));
+ return 127;
+ }
+ return rval;
+EOF
+ ;;
+ *)
+ cat <<"EOF"
+ execv (lt_argv_zero, newargz);
+ return rval; /* =127, but avoids unused variable warning */
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+}
+
+void *
+xmalloc (size_t num)
+{
+ void *p = (void *) malloc (num);
+ if (!p)
+ lt_fatal (__FILE__, __LINE__, "memory exhausted");
+
+ return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+ return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
+ string) : NULL;
+}
+
+const char *
+base_name (const char *name)
+{
+ const char *base;
+
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
+ /* Skip over the disk name in MSDOS pathnames. */
+ if (isalpha ((unsigned char) name[0]) && name[1] == ':')
+ name += 2;
+#endif
+
+ for (base = name; *name; name++)
+ if (IS_DIR_SEPARATOR (*name))
+ base = name + 1;
+ return base;
+}
+
+int
+check_executable (const char *path)
+{
+ struct stat st;
+
+ lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
+ nonempty (path));
+ if ((!path) || (!*path))
+ return 0;
+
+ if ((stat (path, &st) >= 0)
+ && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
+ return 1;
+ else
+ return 0;
+}
+
+int
+make_executable (const char *path)
+{
+ int rval = 0;
+ struct stat st;
+
+ lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
+ nonempty (path));
+ if ((!path) || (!*path))
+ return 0;
+
+ if (stat (path, &st) >= 0)
+ {
+ rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
+ }
+ return rval;
+}
+
+/* Searches for the full path of the wrapper. Returns
+ newly allocated full path name if found, NULL otherwise
+ Does not chase symlinks, even on platforms that support them.
+*/
+char *
+find_executable (const char *wrapper)
+{
+ int has_slash = 0;
+ const char *p;
+ const char *p_next;
+ /* static buffer for getcwd */
+ char tmp[LT_PATHMAX + 1];
+ size_t tmp_len;
+ char *concat_name;
+
+ lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
+ nonempty (wrapper));
+
+ if ((wrapper == NULL) || (*wrapper == '\0'))
+ return NULL;
+
+ /* Absolute path? */
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
+ if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ else
+ {
+#endif
+ if (IS_DIR_SEPARATOR (wrapper[0]))
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
+ }
+#endif
+
+ for (p = wrapper; *p; p++)
+ if (*p == '/')
+ {
+ has_slash = 1;
+ break;
+ }
+ if (!has_slash)
+ {
+ /* no slashes; search PATH */
+ const char *path = getenv ("PATH");
+ if (path != NULL)
+ {
+ for (p = path; *p; p = p_next)
+ {
+ const char *q;
+ size_t p_len;
+ for (q = p; *q; q++)
+ if (IS_PATH_SEPARATOR (*q))
+ break;
+ p_len = (size_t) (q - p);
+ p_next = (*q == '\0' ? q : q + 1);
+ if (p_len == 0)
+ {
+ /* empty path: current directory */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+ nonnull (strerror (errno)));
+ tmp_len = strlen (tmp);
+ concat_name =
+ XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+ }
+ else
+ {
+ concat_name =
+ XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, p, p_len);
+ concat_name[p_len] = '/';
+ strcpy (concat_name + p_len + 1, wrapper);
+ }
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ }
+ /* not found in PATH; assume curdir */
+ }
+ /* Relative path | not found in path: prepend cwd */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+ nonnull (strerror (errno)));
+ tmp_len = strlen (tmp);
+ concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ return NULL;
+}
+
+char *
+chase_symlinks (const char *pathspec)
+{
+#ifndef S_ISLNK
+ return xstrdup (pathspec);
+#else
+ char buf[LT_PATHMAX];
+ struct stat s;
+ char *tmp_pathspec = xstrdup (pathspec);
+ char *p;
+ int has_symlinks = 0;
+ while (strlen (tmp_pathspec) && !has_symlinks)
+ {
+ lt_debugprintf (__FILE__, __LINE__,
+ "checking path component for symlinks: %s\n",
+ tmp_pathspec);
+ if (lstat (tmp_pathspec, &s) == 0)
+ {
+ if (S_ISLNK (s.st_mode) != 0)
+ {
+ has_symlinks = 1;
+ break;
+ }
+
+ /* search backwards for last DIR_SEPARATOR */
+ p = tmp_pathspec + strlen (tmp_pathspec) - 1;
+ while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ p--;
+ if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ {
+ /* no more DIR_SEPARATORS left */
+ break;
+ }
+ *p = '\0';
+ }
+ else
+ {
+ lt_fatal (__FILE__, __LINE__,
+ "error accessing file \"%s\": %s",
+ tmp_pathspec, nonnull (strerror (errno)));
+ }
+ }
+ XFREE (tmp_pathspec);
+
+ if (!has_symlinks)
+ {
+ return xstrdup (pathspec);
+ }
+
+ tmp_pathspec = realpath (pathspec, buf);
+ if (tmp_pathspec == 0)
+ {
+ lt_fatal (__FILE__, __LINE__,
+ "could not follow symlinks for %s", pathspec);
+ }
+ return xstrdup (tmp_pathspec);
+#endif
+}
+
+char *
+strendzap (char *str, const char *pat)
+{
+ size_t len, patlen;
+
+ assert (str != NULL);
+ assert (pat != NULL);
+
+ len = strlen (str);
+ patlen = strlen (pat);
+
+ if (patlen <= len)
+ {
+ str += len - patlen;
+ if (STREQ (str, pat))
+ *str = '\0';
+ }
+ return str;
+}
+
+void
+lt_debugprintf (const char *file, int line, const char *fmt, ...)
+{
+ va_list args;
+ if (lt_debug)
+ {
+ (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
+ va_start (args, fmt);
+ (void) vfprintf (stderr, fmt, args);
+ va_end (args);
+ }
+}
+
+static void
+lt_error_core (int exit_status, const char *file,
+ int line, const char *mode,
+ const char *message, va_list ap)
+{
+ fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
+ vfprintf (stderr, message, ap);
+ fprintf (stderr, ".\n");
+
+ if (exit_status >= 0)
+ exit (exit_status);
+}
+
+void
+lt_fatal (const char *file, int line, const char *message, ...)
+{
+ va_list ap;
+ va_start (ap, message);
+ lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
+ va_end (ap);
+}
+
+static const char *
+nonnull (const char *s)
+{
+ return s ? s : "(null)";
+}
+
+static const char *
+nonempty (const char *s)
+{
+ return (s && !*s) ? "(empty)" : nonnull (s);
+}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_setenv) setting '%s' to '%s'\n",
+ nonnull (name), nonnull (value));
+ {
+#ifdef HAVE_SETENV
+ /* always make a copy, for consistency with !HAVE_SETENV */
+ char *str = xstrdup (value);
+ setenv (name, str, 1);
+#else
+ size_t len = strlen (name) + 1 + strlen (value) + 1;
+ char *str = XMALLOC (char, len);
+ sprintf (str, "%s=%s", name, value);
+ if (putenv (str) != EXIT_SUCCESS)
+ {
+ XFREE (str);
+ }
+#endif
+ }
+}
+
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+ char *new_value;
+ if (orig_value && *orig_value)
+ {
+ size_t orig_value_len = strlen (orig_value);
+ size_t add_len = strlen (add);
+ new_value = XMALLOC (char, add_len + orig_value_len + 1);
+ if (to_end)
+ {
+ strcpy (new_value, orig_value);
+ strcpy (new_value + orig_value_len, add);
+ }
+ else
+ {
+ strcpy (new_value, add);
+ strcpy (new_value + add_len, orig_value);
+ }
+ }
+ else
+ {
+ new_value = xstrdup (add);
+ }
+ return new_value;
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+ nonnull (name), nonnull (value));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ /* some systems can't cope with a ':'-terminated path #' */
+ size_t len = strlen (new_value);
+ while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+ {
+ new_value[--len] = '\0';
+ }
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+void
+lt_update_lib_path (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+ nonnull (name), nonnull (value));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+EOF
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+
+/* Prepares an argument vector before calling spawn().
+ Note that spawn() does not by itself call the command interpreter
+ (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
+ ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+ GetVersionEx(&v);
+ v.dwPlatformId == VER_PLATFORM_WIN32_NT;
+ }) ? "cmd.exe" : "command.com").
+ Instead it simply concatenates the arguments, separated by ' ', and calls
+ CreateProcess(). We must quote the arguments since Win32 CreateProcess()
+ interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
+ special way:
+ - Space and tab are interpreted as delimiters. They are not treated as
+ delimiters if they are surrounded by double quotes: "...".
+ - Unescaped double quotes are removed from the input. Their only effect is
+ that within double quotes, space and tab are treated like normal
+ characters.
+ - Backslashes not followed by double quotes are not special.
+ - But 2*n+1 backslashes followed by a double quote become
+ n backslashes followed by a double quote (n >= 0):
+ \" -> "
+ \\\" -> \"
+ \\\\\" -> \\"
+ */
+#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+char **
+prepare_spawn (char **argv)
+{
+ size_t argc;
+ char **new_argv;
+ size_t i;
+
+ /* Count number of arguments. */
+ for (argc = 0; argv[argc] != NULL; argc++)
+ ;
+
+ /* Allocate new argument vector. */
+ new_argv = XMALLOC (char *, argc + 1);
+
+ /* Put quoted arguments into the new argument vector. */
+ for (i = 0; i < argc; i++)
+ {
+ const char *string = argv[i];
+
+ if (string[0] == '\0')
+ new_argv[i] = xstrdup ("\"\"");
+ else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
+ {
+ int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
+ size_t length;
+ unsigned int backslashes;
+ const char *s;
+ char *quoted_string;
+ char *p;
+
+ length = 0;
+ backslashes = 0;
+ if (quote_around)
+ length++;
+ for (s = string; *s != '\0'; s++)
+ {
+ char c = *s;
+ if (c == '"')
+ length += backslashes + 1;
+ length++;
+ if (c == '\\')
+ backslashes++;
+ else
+ backslashes = 0;
+ }
+ if (quote_around)
+ length += backslashes + 1;
+
+ quoted_string = XMALLOC (char, length + 1);
+
+ p = quoted_string;
+ backslashes = 0;
+ if (quote_around)
+ *p++ = '"';
+ for (s = string; *s != '\0'; s++)
+ {
+ char c = *s;
+ if (c == '"')
+ {
+ unsigned int j;
+ for (j = backslashes + 1; j > 0; j--)
+ *p++ = '\\';
+ }
+ *p++ = c;
+ if (c == '\\')
+ backslashes++;
+ else
+ backslashes = 0;
+ }
+ if (quote_around)
+ {
+ unsigned int j;
+ for (j = backslashes; j > 0; j--)
+ *p++ = '\\';
+ *p++ = '"';
+ }
+ *p = '\0';
+
+ new_argv[i] = quoted_string;
+ }
+ else
+ new_argv[i] = (char *) string;
+ }
+ new_argv[argc] = NULL;
+
+ return new_argv;
+}
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+void lt_dump_script (FILE* f)
+{
+EOF
+ func_emit_wrapper yes |
+ $SED -n -e '
+s/^\(.\{79\}\)\(..*\)/\1\
+\2/
+h
+s/\([\\"]\)/\\\1/g
+s/$/\\n/
+s/\([^\n]*\).*/ fputs ("\1", f);/p
+g
+D'
+ cat <<"EOF"
+}
+EOF
+}
+# end: func_emit_cwrapperexe_src
+
+# func_win32_import_lib_p ARG
+# True if ARG is an import lib, as indicated by $file_magic_cmd
+func_win32_import_lib_p ()
+{
+ $debug_cmd
+
+ case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
+ *import*) : ;;
+ *) false ;;
+ esac
+}
+
+# func_suncc_cstd_abi
+# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!!
+# Several compiler flags select an ABI that is incompatible with the
+# Cstd library. Avoid specifying it if any are in CXXFLAGS.
+func_suncc_cstd_abi ()
+{
+ $debug_cmd
+
+ case " $compile_command " in
+ *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*)
+ suncc_use_cstd_abi=no
+ ;;
+ *)
+ suncc_use_cstd_abi=yes
+ ;;
+ esac
+}
+
+# func_mode_link arg...
+func_mode_link ()
+{
+ $debug_cmd
- # libtool link mode
- link | relink)
- modename="$modename: link"
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
# It is impossible to link a dll without this setting, and
# we shouldn't force the makefile maintainer to figure out
- # which system we are compiling for in order to pass an extra
+ # what system we are compiling for in order to pass an extra
# flag for every libtool invocation.
# allow_undefined=no
# FIXME: Unfortunately, there are problems with the above when trying
- # to make a dll which has undefined symbols, in which case not
+ # to make a dll that has undefined symbols, in which case not
# even a static library is built. For now, we need to specify
# -no-undefined on the libtool link line when we can be certain
# that all symbols are satisfied, otherwise we get a static library.
@@ -1029,10 +6602,10 @@ EOF
allow_undefined=yes
;;
esac
- libtool_args="$nonopt"
+ libtool_args=$nonopt
base_compile="$nonopt $@"
- compile_command="$nonopt"
- finalize_command="$nonopt"
+ compile_command=$nonopt
+ finalize_command=$nonopt
compile_rpath=
finalize_rpath=
@@ -1047,8 +6620,10 @@ EOF
dllsearchpath=
lib_search_path=`pwd`
inst_prefix_dir=
+ new_inherited_linker_flags=
avoid_version=no
+ bindir=
dlfiles=
dlprefiles=
dlself=no
@@ -1061,10 +6636,11 @@ EOF
module=no
no_install=no
objs=
+ os2dllname=
non_pic_objects=
precious_files_regex=
prefer_static_libs=no
- preload=no
+ preload=false
prev=
prevarg=
release=
@@ -1075,29 +6651,46 @@ EOF
thread_safe=no
vinfo=
vinfo_number=no
-
+ weak_libs=
+ single_module=$wl-single_module
func_infer_tag $base_compile
# We need to know -static, to get the right output filenames.
for arg
do
case $arg in
- -all-static | -static)
- if test "X$arg" = "X-all-static"; then
- if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
- $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
+ -shared)
+ test yes != "$build_libtool_libs" \
+ && func_fatal_configuration "cannot build a shared library"
+ build_old_libs=no
+ break
+ ;;
+ -all-static | -static | -static-libtool-libs)
+ case $arg in
+ -all-static)
+ if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then
+ func_warning "complete static linking is impossible in this configuration"
fi
if test -n "$link_static_flag"; then
dlopen_self=$dlopen_self_static
fi
- else
+ prefer_static_libs=yes
+ ;;
+ -static)
if test -z "$pic_flag" && test -n "$link_static_flag"; then
dlopen_self=$dlopen_self_static
fi
- fi
+ prefer_static_libs=built
+ ;;
+ -static-libtool-libs)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ esac
build_libtool_libs=no
build_old_libs=yes
- prefer_static_libs=yes
break
;;
esac
@@ -1108,37 +6701,38 @@ EOF
# Go through the arguments, transforming them on the way.
while test "$#" -gt 0; do
- arg="$1"
+ arg=$1
shift
- case $arg in
- *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
- qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
- ;;
- *) qarg=$arg ;;
- esac
- libtool_args="$libtool_args $qarg"
+ func_quote_for_eval "$arg"
+ qarg=$func_quote_for_eval_unquoted_result
+ func_append libtool_args " $func_quote_for_eval_result"
# If the previous option needs an argument, assign it.
if test -n "$prev"; then
case $prev in
output)
- compile_command="$compile_command @OUTPUT@"
- finalize_command="$finalize_command @OUTPUT@"
+ func_append compile_command " @OUTPUT@"
+ func_append finalize_command " @OUTPUT@"
;;
esac
case $prev in
+ bindir)
+ bindir=$arg
+ prev=
+ continue
+ ;;
dlfiles|dlprefiles)
- if test "$preload" = no; then
+ $preload || {
# Add the symbol object into the linking commands.
- compile_command="$compile_command @SYMFILE@"
- finalize_command="$finalize_command @SYMFILE@"
- preload=yes
- fi
+ func_append compile_command " @SYMFILE@"
+ func_append finalize_command " @SYMFILE@"
+ preload=:
+ }
case $arg in
*.la | *.lo) ;; # We handle these cases below.
force)
- if test "$dlself" = no; then
+ if test no = "$dlself"; then
dlself=needless
export_dynamic=yes
fi
@@ -1146,9 +6740,9 @@ EOF
continue
;;
self)
- if test "$prev" = dlprefiles; then
+ if test dlprefiles = "$prev"; then
dlself=yes
- elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+ elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then
dlself=yes
else
dlself=needless
@@ -1158,10 +6752,10 @@ EOF
continue
;;
*)
- if test "$prev" = dlfiles; then
- dlfiles="$dlfiles $arg"
+ if test dlfiles = "$prev"; then
+ func_append dlfiles " $arg"
else
- dlprefiles="$dlprefiles $arg"
+ func_append dlprefiles " $arg"
fi
prev=
continue
@@ -1169,31 +6763,38 @@ EOF
esac
;;
expsyms)
- export_symbols="$arg"
- if test ! -f "$arg"; then
- $echo "$modename: symbol file \`$arg' does not exist"
- exit $EXIT_FAILURE
- fi
+ export_symbols=$arg
+ test -f "$arg" \
+ || func_fatal_error "symbol file '$arg' does not exist"
prev=
continue
;;
expsyms_regex)
- export_symbols_regex="$arg"
+ export_symbols_regex=$arg
prev=
continue
;;
- inst_prefix)
- inst_prefix_dir="$arg"
+ framework)
+ case $host in
+ *-*-darwin*)
+ case "$deplibs " in
+ *" $qarg.ltframework "*) ;;
+ *) func_append deplibs " $qarg.ltframework" # this is fixed later
+ ;;
+ esac
+ ;;
+ esac
prev=
continue
;;
- precious_regex)
- precious_files_regex="$arg"
+ inst_prefix)
+ inst_prefix_dir=$arg
prev=
continue
;;
- release)
- release="-$arg"
+ mllvm)
+ # Clang does not use LLVM to link, so we can simply discard any
+ # '-mllvm $arg' options when doing the link step.
prev=
continue
;;
@@ -1201,47 +6802,38 @@ EOF
if test -f "$arg"; then
save_arg=$arg
moreargs=
- for fil in `cat $save_arg`
+ for fil in `cat "$save_arg"`
do
-# moreargs="$moreargs $fil"
+# func_append moreargs " $fil"
arg=$fil
# A libtool-controlled object.
# Check to see that this really is a libtool object.
- if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ if func_lalib_unsafe_p "$arg"; then
pic_object=
non_pic_object=
# Read the .lo file
- # If there is no directory component, then add one.
- case $arg in
- */* | *\\*) . $arg ;;
- *) . ./$arg ;;
- esac
+ func_source "$arg"
- if test -z "$pic_object" || \
+ if test -z "$pic_object" ||
test -z "$non_pic_object" ||
- test "$pic_object" = none && \
- test "$non_pic_object" = none; then
- $echo "$modename: cannot find name of object for \`$arg'" 1>&2
- exit $EXIT_FAILURE
+ test none = "$pic_object" &&
+ test none = "$non_pic_object"; then
+ func_fatal_error "cannot find name of object for '$arg'"
fi
# Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
+ func_dirname "$arg" "/" ""
+ xdir=$func_dirname_result
- if test "$pic_object" != none; then
+ if test none != "$pic_object"; then
# Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
+ pic_object=$xdir$pic_object
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
- dlfiles="$dlfiles $pic_object"
+ if test dlfiles = "$prev"; then
+ if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
+ func_append dlfiles " $pic_object"
prev=
continue
else
@@ -1251,113 +6843,125 @@ EOF
fi
# CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
+ if test dlprefiles = "$prev"; then
# Preload the old-style object.
- dlprefiles="$dlprefiles $pic_object"
+ func_append dlprefiles " $pic_object"
prev=
fi
# A PIC object.
- libobjs="$libobjs $pic_object"
- arg="$pic_object"
+ func_append libobjs " $pic_object"
+ arg=$pic_object
fi
# Non-PIC object.
- if test "$non_pic_object" != none; then
+ if test none != "$non_pic_object"; then
# Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
+ non_pic_object=$xdir$non_pic_object
# A standard non-PIC object
- non_pic_objects="$non_pic_objects $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ if test -z "$pic_object" || test none = "$pic_object"; then
+ arg=$non_pic_object
fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object=$pic_object
+ func_append non_pic_objects " $non_pic_object"
fi
else
# Only an error if not doing a dry-run.
- if test -z "$run"; then
- $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
- exit $EXIT_FAILURE
- else
- # Dry-run case.
-
+ if $opt_dry_run; then
# Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
- non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
- libobjs="$libobjs $pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
+ func_dirname "$arg" "/" ""
+ xdir=$func_dirname_result
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "'$arg' is not a valid libtool object"
fi
fi
done
else
- $echo "$modename: link input file \`$save_arg' does not exist"
- exit $EXIT_FAILURE
+ func_fatal_error "link input file '$arg' does not exist"
fi
arg=$save_arg
prev=
continue
;;
+ os2dllname)
+ os2dllname=$arg
+ prev=
+ continue
+ ;;
+ precious_regex)
+ precious_files_regex=$arg
+ prev=
+ continue
+ ;;
+ release)
+ release=-$arg
+ prev=
+ continue
+ ;;
rpath | xrpath)
# We need an absolute path.
case $arg in
[\\/]* | [A-Za-z]:[\\/]*) ;;
*)
- $echo "$modename: only absolute run-paths are allowed" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "only absolute run-paths are allowed"
;;
esac
- if test "$prev" = rpath; then
+ if test rpath = "$prev"; then
case "$rpath " in
*" $arg "*) ;;
- *) rpath="$rpath $arg" ;;
+ *) func_append rpath " $arg" ;;
esac
else
case "$xrpath " in
*" $arg "*) ;;
- *) xrpath="$xrpath $arg" ;;
+ *) func_append xrpath " $arg" ;;
esac
fi
prev=
continue
;;
- xcompiler)
- compiler_flags="$compiler_flags $qarg"
+ shrext)
+ shrext_cmds=$arg
prev=
- compile_command="$compile_command $qarg"
- finalize_command="$finalize_command $qarg"
continue
;;
- xlinker)
- linker_flags="$linker_flags $qarg"
- compiler_flags="$compiler_flags $wl$qarg"
+ weak)
+ func_append weak_libs " $arg"
prev=
- compile_command="$compile_command $wl$qarg"
- finalize_command="$finalize_command $wl$qarg"
continue
;;
xcclinker)
- linker_flags="$linker_flags $qarg"
- compiler_flags="$compiler_flags $qarg"
+ func_append linker_flags " $qarg"
+ func_append compiler_flags " $qarg"
prev=
- compile_command="$compile_command $qarg"
- finalize_command="$finalize_command $qarg"
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
continue
;;
- shrext)
- shrext_cmds="$arg"
+ xcompiler)
+ func_append compiler_flags " $qarg"
prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
continue
;;
- darwin_framework)
- compiler_flags="$compiler_flags $arg"
+ xlinker)
+ func_append linker_flags " $qarg"
+ func_append compiler_flags " $wl$qarg"
prev=
+ func_append compile_command " $wl$qarg"
+ func_append finalize_command " $wl$qarg"
continue
;;
*)
@@ -1368,21 +6972,21 @@ EOF
esac
fi # test -n "$prev"
- prevarg="$arg"
+ prevarg=$arg
case $arg in
-all-static)
if test -n "$link_static_flag"; then
- compile_command="$compile_command $link_static_flag"
- finalize_command="$finalize_command $link_static_flag"
+ # See comment for -static flag below, for more details.
+ func_append compile_command " $link_static_flag"
+ func_append finalize_command " $link_static_flag"
fi
continue
;;
-allow-undefined)
# FIXME: remove this flag sometime in the future.
- $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
- continue
+ func_fatal_error "'-allow-undefined' must not be used because it is the default"
;;
-avoid-version)
@@ -1390,6 +6994,11 @@ EOF
continue
;;
+ -bindir)
+ prev=bindir
+ continue
+ ;;
+
-dlopen)
prev=dlfiles
continue
@@ -1407,10 +7016,9 @@ EOF
-export-symbols | -export-symbols-regex)
if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
- $echo "$modename: more than one -exported-symbols argument is not allowed"
- exit $EXIT_FAILURE
+ func_fatal_error "more than one -exported-symbols argument is not allowed"
fi
- if test "X$arg" = "X-export-symbols"; then
+ if test X-export-symbols = "X$arg"; then
prev=expsyms
else
prev=expsyms_regex
@@ -1419,10 +7027,9 @@ EOF
;;
-framework)
- prev=darwin_framework
- compiler_flags="$compiler_flags $arg"
- continue
- ;;
+ prev=framework
+ continue
+ ;;
-inst-prefix-dir)
prev=inst_prefix
@@ -1434,39 +7041,59 @@ EOF
-L[A-Z][A-Z]*:*)
case $with_gcc/$host in
no/*-*-irix* | /*-*-irix*)
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
;;
esac
continue
;;
-L*)
- dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
+ func_stripname "-L" '' "$arg"
+ if test -z "$func_stripname_result"; then
+ if test "$#" -gt 0; then
+ func_fatal_error "require no space between '-L' and '$1'"
+ else
+ func_fatal_error "need path for '-L' option"
+ fi
+ fi
+ func_resolve_sysroot "$func_stripname_result"
+ dir=$func_resolve_sysroot_result
# We need an absolute path.
case $dir in
[\\/]* | [A-Za-z]:[\\/]*) ;;
*)
absdir=`cd "$dir" && pwd`
- if test -z "$absdir"; then
- $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
- exit $EXIT_FAILURE
- fi
- dir="$absdir"
+ test -z "$absdir" && \
+ func_fatal_error "cannot determine absolute directory name of '$dir'"
+ dir=$absdir
;;
esac
case "$deplibs " in
- *" -L$dir "*) ;;
+ *" -L$dir "* | *" $arg "*)
+ # Will only happen for absolute or sysroot arguments
+ ;;
*)
- deplibs="$deplibs -L$dir"
- lib_search_path="$lib_search_path $dir"
+ # Preserve sysroot, but never include relative directories
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
+ *) func_append deplibs " -L$dir" ;;
+ esac
+ func_append lib_search_path " $dir"
;;
esac
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$dir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$dir";;
+ ::) dllsearchpath=$dir;;
+ *) func_append dllsearchpath ":$dir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+ *) func_append dllsearchpath ":$testbindir";;
esac
;;
esac
@@ -1474,51 +7101,48 @@ EOF
;;
-l*)
- if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+ if test X-lc = "X$arg" || test X-lm = "X$arg"; then
case $host in
- *-*-cygwin* | *-*-pw32* | *-*-beos*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
# These systems don't actually have a C or math library (as such)
continue
;;
- *-*-mingw* | *-*-os2*)
+ *-*-os2*)
# These systems don't actually have a C library (as such)
- test "X$arg" = "X-lc" && continue
+ test X-lc = "X$arg" && continue
;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
# Do not include libc due to us having libc/libc_r.
- test "X$arg" = "X-lc" && continue
+ test X-lc = "X$arg" && continue
;;
*-*-rhapsody* | *-*-darwin1.[012])
# Rhapsody C and math libraries are in the System framework
- deplibs="$deplibs -framework System"
+ func_append deplibs " System.ltframework"
continue
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ test X-lc = "X$arg" && continue
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ test X-lc = "X$arg" && continue
+ ;;
esac
- elif test "X$arg" = "X-lc_r"; then
+ elif test X-lc_r = "X$arg"; then
case $host in
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
# Do not include libc_r directly, use -pthread flag.
continue
;;
esac
fi
- deplibs="$deplibs $arg"
+ func_append deplibs " $arg"
continue
;;
- # Tru64 UNIX uses -model [arg] to determine the layout of C++
- # classes, name mangling, and exception handling.
- -model)
- compile_command="$compile_command $arg"
- compiler_flags="$compiler_flags $arg"
- finalize_command="$finalize_command $arg"
- prev=xcompiler
- continue
- ;;
-
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
- compiler_flags="$compiler_flags $arg"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
+ -mllvm)
+ prev=mllvm
continue
;;
@@ -1527,32 +7151,31 @@ EOF
continue
;;
- # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
- # -r[0-9][0-9]* specifies the processor on the SGI compiler
- # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
- # +DA*, +DD* enable 64-bit mode on the HP compiler
- # -q* pass through compiler args for the IBM compiler
- # -m* pass through architecture-specific compiler args for GCC
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*)
+ # Tru64 UNIX uses -model [arg] to determine the layout of C++
+ # classes, name mangling, and exception handling.
+ # Darwin uses the -arch flag to determine output architecture.
+ -model|-arch|-isysroot|--sysroot)
+ func_append compiler_flags " $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ prev=xcompiler
+ continue
+ ;;
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
- arg="\"$arg\""
- ;;
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+ func_append compiler_flags " $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ case "$new_inherited_linker_flags " in
+ *" $arg "*) ;;
+ * ) func_append new_inherited_linker_flags " $arg" ;;
esac
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- if test "$with_gcc" = "yes" ; then
- compiler_flags="$compiler_flags $arg"
- fi
- continue
- ;;
+ continue
+ ;;
- -shrext)
- prev=shrext
+ -multi_module)
+ single_module=$wl-multi_module
continue
;;
@@ -1563,11 +7186,11 @@ EOF
-no-install)
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
# The PATH hackery in wrapper scripts is required on Windows
- # in order for the loader to find any dlls it needs.
- $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
- $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
+ # and Darwin in order for the loader to find any dlls it needs.
+ func_warning "'-no-install' is ignored for $host"
+ func_warning "assuming '-no-fast-install' instead"
fast_install=no
;;
*) no_install=yes ;;
@@ -1585,6 +7208,11 @@ EOF
continue
;;
+ -os2dllname)
+ prev=os2dllname
+ continue
+ ;;
+
-o) prev=output ;;
-precious-files-regex)
@@ -1608,23 +7236,37 @@ EOF
;;
-R*)
- dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
+ func_stripname '-R' '' "$arg"
+ dir=$func_stripname_result
# We need an absolute path.
case $dir in
[\\/]* | [A-Za-z]:[\\/]*) ;;
+ =*)
+ func_stripname '=' '' "$dir"
+ dir=$lt_sysroot$func_stripname_result
+ ;;
*)
- $echo "$modename: only absolute run-paths are allowed" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "only absolute run-paths are allowed"
;;
esac
case "$xrpath " in
*" $dir "*) ;;
- *) xrpath="$xrpath $dir" ;;
+ *) func_append xrpath " $dir" ;;
esac
continue
;;
- -static)
+ -shared)
+ # The effects of -shared are defined in a previous loop.
+ continue
+ ;;
+
+ -shrext)
+ prev=shrext
+ continue
+ ;;
+
+ -static | -static-libtool-libs)
# The effects of -static are defined in a previous loop.
# We used to do the same as -all-static on platforms that
# didn't have a PIC flag, but the assumption that the effects
@@ -1642,47 +7284,49 @@ EOF
prev=vinfo
continue
;;
+
-version-number)
prev=vinfo
vinfo_number=yes
continue
;;
+ -weak)
+ prev=weak
+ continue
+ ;;
+
-Wc,*)
- args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
arg=
- save_ifs="$IFS"; IFS=','
+ save_ifs=$IFS; IFS=,
for flag in $args; do
- IFS="$save_ifs"
- case $flag in
- *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
- flag="\"$flag\""
- ;;
- esac
- arg="$arg $wl$flag"
- compiler_flags="$compiler_flags $flag"
+ IFS=$save_ifs
+ func_quote_for_eval "$flag"
+ func_append arg " $func_quote_for_eval_result"
+ func_append compiler_flags " $func_quote_for_eval_result"
done
- IFS="$save_ifs"
- arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+ IFS=$save_ifs
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
;;
-Wl,*)
- args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
+ func_stripname '-Wl,' '' "$arg"
+ args=$func_stripname_result
arg=
- save_ifs="$IFS"; IFS=','
+ save_ifs=$IFS; IFS=,
for flag in $args; do
- IFS="$save_ifs"
- case $flag in
- *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
- flag="\"$flag\""
- ;;
- esac
- arg="$arg $wl$flag"
- compiler_flags="$compiler_flags $wl$flag"
- linker_flags="$linker_flags $flag"
+ IFS=$save_ifs
+ func_quote_for_eval "$flag"
+ func_append arg " $wl$func_quote_for_eval_result"
+ func_append compiler_flags " $wl$func_quote_for_eval_result"
+ func_append linker_flags " $func_quote_for_eval_result"
done
- IFS="$save_ifs"
- arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+ IFS=$save_ifs
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
;;
-Xcompiler)
@@ -1700,61 +7344,103 @@ EOF
continue
;;
+ # -msg_* for osf cc
+ -msg_*)
+ func_quote_for_eval "$arg"
+ arg=$func_quote_for_eval_result
+ ;;
+
+ # Flags to be passed through unchanged, with rationale:
+ # -64, -mips[0-9] enable 64-bit mode for the SGI compiler
+ # -r[0-9][0-9]* specify processor for the SGI compiler
+ # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
+ # +DA*, +DD* enable 64-bit mode for the HP compiler
+ # -q* compiler args for the IBM compiler
+ # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
+ # -F/path path to uninstalled frameworks, gcc on darwin
+ # -p, -pg, --coverage, -fprofile-* profiling flags for GCC
+ # -fstack-protector* stack protector flags for GCC
+ # @file GCC response files
+ # -tp=* Portland pgcc target processor selection
+ # --sysroot=* for sysroot support
+ # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+ # -specs=* GCC specs files
+ # -stdlib=* select c++ std lib with clang
+ # -fsanitize=* Clang/GCC memory and address sanitizer
+ # -fuse-ld=* Linker select flags for GCC
+ # -static-* direct GCC to link specific libraries statically
+ # -fcilkplus Cilk Plus language extension features for C/C++
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+ -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus)
+ func_quote_for_eval "$arg"
+ arg=$func_quote_for_eval_result
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ func_append compiler_flags " $arg"
+ continue
+ ;;
+
+ -Z*)
+ if test os2 = "`expr $host : '.*\(os2\)'`"; then
+ # OS/2 uses -Zxxx to specify OS/2-specific options
+ compiler_flags="$compiler_flags $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ case $arg in
+ -Zlinker | -Zstack)
+ prev=xcompiler
+ ;;
+ esac
+ continue
+ else
+ # Otherwise treat like 'Some other compiler flag' below
+ func_quote_for_eval "$arg"
+ arg=$func_quote_for_eval_result
+ fi
+ ;;
+
# Some other compiler flag.
-* | +*)
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
- arg="\"$arg\""
- ;;
- esac
+ func_quote_for_eval "$arg"
+ arg=$func_quote_for_eval_result
;;
*.$objext)
# A standard object.
- objs="$objs $arg"
+ func_append objs " $arg"
;;
*.lo)
# A libtool-controlled object.
# Check to see that this really is a libtool object.
- if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ if func_lalib_unsafe_p "$arg"; then
pic_object=
non_pic_object=
# Read the .lo file
- # If there is no directory component, then add one.
- case $arg in
- */* | *\\*) . $arg ;;
- *) . ./$arg ;;
- esac
+ func_source "$arg"
- if test -z "$pic_object" || \
+ if test -z "$pic_object" ||
test -z "$non_pic_object" ||
- test "$pic_object" = none && \
- test "$non_pic_object" = none; then
- $echo "$modename: cannot find name of object for \`$arg'" 1>&2
- exit $EXIT_FAILURE
+ test none = "$pic_object" &&
+ test none = "$non_pic_object"; then
+ func_fatal_error "cannot find name of object for '$arg'"
fi
# Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
+ func_dirname "$arg" "/" ""
+ xdir=$func_dirname_result
- if test "$pic_object" != none; then
+ test none = "$pic_object" || {
# Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
+ pic_object=$xdir$pic_object
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
- dlfiles="$dlfiles $pic_object"
+ if test dlfiles = "$prev"; then
+ if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
+ func_append dlfiles " $pic_object"
prev=
continue
else
@@ -1764,72 +7450,72 @@ EOF
fi
# CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
+ if test dlprefiles = "$prev"; then
# Preload the old-style object.
- dlprefiles="$dlprefiles $pic_object"
+ func_append dlprefiles " $pic_object"
prev=
fi
# A PIC object.
- libobjs="$libobjs $pic_object"
- arg="$pic_object"
- fi
+ func_append libobjs " $pic_object"
+ arg=$pic_object
+ }
# Non-PIC object.
- if test "$non_pic_object" != none; then
+ if test none != "$non_pic_object"; then
# Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
+ non_pic_object=$xdir$non_pic_object
# A standard non-PIC object
- non_pic_objects="$non_pic_objects $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ if test -z "$pic_object" || test none = "$pic_object"; then
+ arg=$non_pic_object
fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object=$pic_object
+ func_append non_pic_objects " $non_pic_object"
fi
else
# Only an error if not doing a dry-run.
- if test -z "$run"; then
- $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
- exit $EXIT_FAILURE
- else
- # Dry-run case.
-
+ if $opt_dry_run; then
# Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
- non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
- libobjs="$libobjs $pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
+ func_dirname "$arg" "/" ""
+ xdir=$func_dirname_result
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "'$arg' is not a valid libtool object"
fi
fi
;;
*.$libext)
# An archive.
- deplibs="$deplibs $arg"
- old_deplibs="$old_deplibs $arg"
+ func_append deplibs " $arg"
+ func_append old_deplibs " $arg"
continue
;;
*.la)
# A libtool-controlled library.
- if test "$prev" = dlfiles; then
+ func_resolve_sysroot "$arg"
+ if test dlfiles = "$prev"; then
# This library was specified with -dlopen.
- dlfiles="$dlfiles $arg"
+ func_append dlfiles " $func_resolve_sysroot_result"
prev=
- elif test "$prev" = dlprefiles; then
+ elif test dlprefiles = "$prev"; then
# The library was specified with -dlpreopen.
- dlprefiles="$dlprefiles $arg"
+ func_append dlprefiles " $func_resolve_sysroot_result"
prev=
else
- deplibs="$deplibs $arg"
+ func_append deplibs " $func_resolve_sysroot_result"
fi
continue
;;
@@ -1838,70 +7524,56 @@ EOF
*)
# Unknown arguments in both finalize_command and compile_command need
# to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
- arg="\"$arg\""
- ;;
- esac
+ func_quote_for_eval "$arg"
+ arg=$func_quote_for_eval_result
;;
esac # arg
# Now actually substitute the argument into the commands.
if test -n "$arg"; then
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
fi
done # argument parsing loop
- if test -n "$prev"; then
- $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ test -n "$prev" && \
+ func_fatal_help "the '$prevarg' option requires an argument"
- if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+ if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then
eval arg=\"$export_dynamic_flag_spec\"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
fi
oldlibs=
# calculate the name of the file, without its directory
- outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
- libobjs_save="$libobjs"
+ func_basename "$output"
+ outputname=$func_basename_result
+ libobjs_save=$libobjs
if test -n "$shlibpath_var"; then
# get the directories listed in $shlibpath_var
- eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+ eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\`
else
shlib_search_path=
fi
eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
- output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$output_objdir" = "X$output"; then
- output_objdir="$objdir"
- else
- output_objdir="$output_objdir/$objdir"
- fi
+ # Definition is injected by LT_CONFIG during libtool generation.
+ func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH"
+
+ func_dirname "$output" "/" ""
+ output_objdir=$func_dirname_result$objdir
+ func_to_tool_file "$output_objdir/"
+ tool_output_objdir=$func_to_tool_file_result
# Create the object directory.
- if test ! -d "$output_objdir"; then
- $show "$mkdir $output_objdir"
- $run $mkdir $output_objdir
- status=$?
- if test "$status" -ne 0 && test ! -d "$output_objdir"; then
- exit $status
- fi
- fi
+ func_mkdir_p "$output_objdir"
# Determine the type of output
case $output in
"")
- $echo "$modename: you must specify an output file" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_help "you must specify an output file"
;;
*.$libext) linkmode=oldlib ;;
*.lo | *.$objext) linkmode=obj ;;
@@ -1909,42 +7581,33 @@ EOF
*) linkmode=prog ;; # Anything else should be a program.
esac
- case $host in
- *cygwin* | *mingw* | *pw32*)
- # don't eliminate duplications in $postdeps and $predeps
- duplicate_compiler_generated_deps=yes
- ;;
- *)
- duplicate_compiler_generated_deps=$duplicate_deps
- ;;
- esac
specialdeplibs=
libs=
# Find all interdependent deplibs by searching for libraries
# that are linked more than once (e.g. -la -lb -la)
for deplib in $deplibs; do
- if test "X$duplicate_deps" = "Xyes" ; then
+ if $opt_preserve_dup_deps; then
case "$libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
esac
fi
- libs="$libs $deplib"
+ func_append libs " $deplib"
done
- if test "$linkmode" = lib; then
+ if test lib = "$linkmode"; then
libs="$predeps $libs $compiler_lib_search_path $postdeps"
# Compute libraries that are listed more than once in $predeps
# $postdeps and mark them as special (i.e., whose duplicates are
# not to be eliminated).
pre_post_deps=
- if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
+ if $opt_duplicate_compiler_generated_deps; then
for pre_post_dep in $predeps $postdeps; do
case "$pre_post_deps " in
- *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
+ *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
esac
- pre_post_deps="$pre_post_deps $pre_post_dep"
+ func_append pre_post_deps " $pre_post_dep"
done
fi
pre_post_deps=
@@ -1956,15 +7619,15 @@ EOF
need_relink=no # whether we're linking any uninstalled libtool libraries
notinst_deplibs= # not-installed libtool libraries
notinst_path= # paths that contain not-installed libtool libraries
+
case $linkmode in
lib)
- passes="conv link"
+ passes="conv dlpreopen link"
for file in $dlfiles $dlprefiles; do
case $file in
*.la) ;;
*)
- $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_help "libraries can '-dlopen' only libtool libraries: $file"
;;
esac
done
@@ -1972,7 +7635,7 @@ EOF
prog)
compile_deplibs=
finalize_deplibs=
- alldeplibs=no
+ alldeplibs=false
newdlfiles=
newdlprefiles=
passes="conv scan dlopen dlpreopen link"
@@ -1980,185 +7643,265 @@ EOF
*) passes="conv"
;;
esac
+
for pass in $passes; do
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan"; then
- libs="$deplibs"
+ # The preopen pass in lib mode reverses $deplibs; put it back here
+ # so that -L comes before libs that need it for instance...
+ if test lib,link = "$linkmode,$pass"; then
+ ## FIXME: Find the place where the list is rebuilt in the wrong
+ ## order, and fix it there properly
+ tmp_deplibs=
+ for deplib in $deplibs; do
+ tmp_deplibs="$deplib $tmp_deplibs"
+ done
+ deplibs=$tmp_deplibs
+ fi
+
+ if test lib,link = "$linkmode,$pass" ||
+ test prog,scan = "$linkmode,$pass"; then
+ libs=$deplibs
deplibs=
fi
- if test "$linkmode" = prog; then
+ if test prog = "$linkmode"; then
case $pass in
- dlopen) libs="$dlfiles" ;;
- dlpreopen) libs="$dlprefiles" ;;
- link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+ dlopen) libs=$dlfiles ;;
+ dlpreopen) libs=$dlprefiles ;;
+ link)
+ libs="$deplibs %DEPLIBS%"
+ test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+ ;;
esac
fi
- if test "$pass" = dlopen; then
+ if test lib,dlpreopen = "$linkmode,$pass"; then
+ # Collect and forward deplibs of preopened libtool libs
+ for lib in $dlprefiles; do
+ # Ignore non-libtool-libs
+ dependency_libs=
+ func_resolve_sysroot "$lib"
+ case $lib in
+ *.la) func_source "$func_resolve_sysroot_result" ;;
+ esac
+
+ # Collect preopened libtool deplibs, except any this library
+ # has declared as weak libs
+ for deplib in $dependency_libs; do
+ func_basename "$deplib"
+ deplib_base=$func_basename_result
+ case " $weak_libs " in
+ *" $deplib_base "*) ;;
+ *) func_append deplibs " $deplib" ;;
+ esac
+ done
+ done
+ libs=$dlprefiles
+ fi
+ if test dlopen = "$pass"; then
# Collect dlpreopened libraries
- save_deplibs="$deplibs"
+ save_deplibs=$deplibs
deplibs=
fi
+
for deplib in $libs; do
lib=
- found=no
+ found=false
case $deplib in
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
- if test "$linkmode,$pass" = "prog,link"; then
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+ if test prog,link = "$linkmode,$pass"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
- compiler_flags="$compiler_flags $deplib"
+ func_append compiler_flags " $deplib"
+ if test lib = "$linkmode"; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) func_append new_inherited_linker_flags " $deplib" ;;
+ esac
+ fi
fi
continue
;;
-l*)
- if test "$linkmode" != lib && test "$linkmode" != prog; then
- $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
+ if test lib != "$linkmode" && test prog != "$linkmode"; then
+ func_warning "'-l' is ignored for archives/objects"
continue
fi
- name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
- for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ func_stripname '-l' '' "$deplib"
+ name=$func_stripname_result
+ if test lib = "$linkmode"; then
+ searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+ else
+ searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+ fi
+ for searchdir in $searchdirs; do
for search_ext in .la $std_shrext .so .a; do
# Search the libtool library
- lib="$searchdir/lib${name}${search_ext}"
+ lib=$searchdir/lib$name$search_ext
if test -f "$lib"; then
- if test "$search_ext" = ".la"; then
- found=yes
+ if test .la = "$search_ext"; then
+ found=:
else
- found=no
+ found=false
fi
break 2
fi
done
done
- if test "$found" != yes; then
- # deplib doesn't seem to be a libtool library
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
- fi
- continue
- else # deplib is a libtool library
+ if $found; then
+ # deplib is a libtool library
# If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
# We need to do some special things here, and not later.
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $deplib "*)
- if (${SED} -e '2q' $lib |
- grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ if func_lalib_p "$lib"; then
library_names=
old_library=
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
+ func_source "$lib"
for l in $old_library $library_names; do
- ll="$l"
+ ll=$l
done
- if test "X$ll" = "X$old_library" ; then # only static version available
- found=no
- ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$ladir" = "X$lib" && ladir="."
+ if test "X$ll" = "X$old_library"; then # only static version available
+ found=false
+ func_dirname "$lib" "" "."
+ ladir=$func_dirname_result
lib=$ladir/$old_library
- if test "$linkmode,$pass" = "prog,link"; then
+ if test prog,link = "$linkmode,$pass"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+ test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
fi
continue
fi
fi
- ;;
+ ;;
*) ;;
esac
fi
+ else
+ # deplib doesn't seem to be a libtool library
+ if test prog,link = "$linkmode,$pass"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
fi
;; # -l
+ *.ltframework)
+ if test prog,link = "$linkmode,$pass"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ if test lib = "$linkmode"; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) func_append new_inherited_linker_flags " $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
-L*)
case $linkmode in
lib)
deplibs="$deplib $deplibs"
- test "$pass" = conv && continue
+ test conv = "$pass" && continue
newdependency_libs="$deplib $newdependency_libs"
- newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+ func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
;;
prog)
- if test "$pass" = conv; then
+ if test conv = "$pass"; then
deplibs="$deplib $deplibs"
continue
fi
- if test "$pass" = scan; then
+ if test scan = "$pass"; then
deplibs="$deplib $deplibs"
else
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
fi
- newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+ func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
;;
*)
- $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
+ func_warning "'-L' is ignored for archives/objects"
;;
esac # linkmode
continue
;; # -L
-R*)
- if test "$pass" = link; then
- dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
+ if test link = "$pass"; then
+ func_stripname '-R' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ dir=$func_resolve_sysroot_result
# Make sure the xrpath contains only unique directories.
case "$xrpath " in
*" $dir "*) ;;
- *) xrpath="$xrpath $dir" ;;
+ *) func_append xrpath " $dir" ;;
esac
fi
deplibs="$deplib $deplibs"
continue
;;
- *.la) lib="$deplib" ;;
+ *.la)
+ func_resolve_sysroot "$deplib"
+ lib=$func_resolve_sysroot_result
+ ;;
*.$libext)
- if test "$pass" = conv; then
+ if test conv = "$pass"; then
deplibs="$deplib $deplibs"
continue
fi
case $linkmode in
lib)
- valid_a_lib=no
- case $deplibs_check_method in
- match_pattern*)
- set dummy $deplibs_check_method
- match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
- if eval $echo \"$deplib\" 2>/dev/null \
- | $SED 10q \
+ # Linking convenience modules into shared libraries is allowed,
+ # but linking other static libraries is non-portable.
+ case " $dlpreconveniencelibs " in
+ *" $deplib "*) ;;
+ *)
+ valid_a_lib=false
+ case $deplibs_check_method in
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
| $EGREP "$match_pattern_regex" > /dev/null; then
- valid_a_lib=yes
- fi
+ valid_a_lib=:
+ fi
;;
- pass_all)
- valid_a_lib=yes
+ pass_all)
+ valid_a_lib=:
;;
- esac
- if test "$valid_a_lib" != yes; then
- $echo
- $echo "*** Warning: Trying to link with static lib archive $deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because the file extensions .$libext of this argument makes me believe"
- $echo "*** that it is just a static archive that I should not used here."
- else
- $echo
- $echo "*** Warning: Linking the shared library $output against the"
- $echo "*** static library $deplib is not portable!"
- deplibs="$deplib $deplibs"
- fi
+ esac
+ if $valid_a_lib; then
+ echo
+ $ECHO "*** Warning: Linking the shared library $output against the"
+ $ECHO "*** static library $deplib is not portable!"
+ deplibs="$deplib $deplibs"
+ else
+ echo
+ $ECHO "*** Warning: Trying to link with static lib archive $deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because the file extensions .$libext of this argument makes me believe"
+ echo "*** that it is just a static archive that I should not use here."
+ fi
+ ;;
+ esac
continue
;;
prog)
- if test "$pass" != link; then
+ if test link != "$pass"; then
deplibs="$deplib $deplibs"
else
compile_deplibs="$deplib $compile_deplibs"
@@ -2169,41 +7912,36 @@ EOF
esac # linkmode
;; # *.$libext
*.lo | *.$objext)
- if test "$pass" = conv; then
+ if test conv = "$pass"; then
deplibs="$deplib $deplibs"
- elif test "$linkmode" = prog; then
- if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+ elif test prog = "$linkmode"; then
+ if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then
# If there is no dlopen support or we're linking statically,
# we need to preload.
- newdlprefiles="$newdlprefiles $deplib"
+ func_append newdlprefiles " $deplib"
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
- newdlfiles="$newdlfiles $deplib"
+ func_append newdlfiles " $deplib"
fi
fi
continue
;;
%DEPLIBS%)
- alldeplibs=yes
+ alldeplibs=:
continue
;;
esac # case $deplib
- if test "$found" = yes || test -f "$lib"; then :
- else
- $echo "$modename: cannot find the library \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
+
+ $found || test -f "$lib" \
+ || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'"
# Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
+ func_lalib_unsafe_p "$lib" \
+ || func_fatal_error "'$lib' is not a valid libtool archive"
- ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$ladir" = "X$lib" && ladir="."
+ func_dirname "$lib" "" "."
+ ladir=$func_dirname_result
dlname=
dlopen=
@@ -2211,6 +7949,7 @@ EOF
libdir=
library_names=
old_library=
+ inherited_linker_flags=
# If the library was installed with an old release of libtool,
# it will not redefine variables installed, or shouldnotlink
installed=yes
@@ -2219,42 +7958,48 @@ EOF
# Read the .la file
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
-
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan" ||
- { test "$linkmode" != prog && test "$linkmode" != lib; }; then
- test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
- test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+ func_source "$lib"
+
+ # Convert "-framework foo" to "foo.ltframework"
+ if test -n "$inherited_linker_flags"; then
+ tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
+ for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+ case " $new_inherited_linker_flags " in
+ *" $tmp_inherited_linker_flag "*) ;;
+ *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
+ esac
+ done
+ fi
+ dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ if test lib,link = "$linkmode,$pass" ||
+ test prog,scan = "$linkmode,$pass" ||
+ { test prog != "$linkmode" && test lib != "$linkmode"; }; then
+ test -n "$dlopen" && func_append dlfiles " $dlopen"
+ test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
fi
- if test "$pass" = conv; then
+ if test conv = "$pass"; then
# Only check for convenience libraries
deplibs="$lib $deplibs"
if test -z "$libdir"; then
if test -z "$old_library"; then
- $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "cannot find name of link library for '$lib'"
fi
# It is a libtool convenience library, so add in its objects.
- convenience="$convenience $ladir/$objdir/$old_library"
- old_convenience="$old_convenience $ladir/$objdir/$old_library"
+ func_append convenience " $ladir/$objdir/$old_library"
+ func_append old_convenience " $ladir/$objdir/$old_library"
tmp_libs=
for deplib in $dependency_libs; do
deplibs="$deplib $deplibs"
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
+ if $opt_preserve_dup_deps; then
+ case "$tmp_libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append tmp_libs " $deplib"
done
- elif test "$linkmode" != prog && test "$linkmode" != lib; then
- $echo "$modename: \`$lib' is not a convenience library" 1>&2
- exit $EXIT_FAILURE
+ elif test prog != "$linkmode" && test lib != "$linkmode"; then
+ func_fatal_error "'$lib' is not a convenience library"
fi
continue
fi # $pass = conv
@@ -2262,98 +8007,133 @@ EOF
# Get the name of the library we link against.
linklib=
- for l in $old_library $library_names; do
- linklib="$l"
- done
+ if test -n "$old_library" &&
+ { test yes = "$prefer_static_libs" ||
+ test built,no = "$prefer_static_libs,$installed"; }; then
+ linklib=$old_library
+ else
+ for l in $old_library $library_names; do
+ linklib=$l
+ done
+ fi
if test -z "$linklib"; then
- $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "cannot find name of link library for '$lib'"
fi
# This library was specified with -dlopen.
- if test "$pass" = dlopen; then
- if test -z "$libdir"; then
- $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
+ if test dlopen = "$pass"; then
+ test -z "$libdir" \
+ && func_fatal_error "cannot -dlopen a convenience library: '$lib'"
if test -z "$dlname" ||
- test "$dlopen_support" != yes ||
- test "$build_libtool_libs" = no; then
+ test yes != "$dlopen_support" ||
+ test no = "$build_libtool_libs"
+ then
# If there is no dlname, no dlopen support or we're linking
# statically, we need to preload. We also need to preload any
# dependent libraries so libltdl's deplib preloader doesn't
# bomb out in the load deplibs phase.
- dlprefiles="$dlprefiles $lib $dependency_libs"
+ func_append dlprefiles " $lib $dependency_libs"
else
- newdlfiles="$newdlfiles $lib"
+ func_append newdlfiles " $lib"
fi
continue
fi # $pass = dlopen
# We need an absolute path.
case $ladir in
- [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+ [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;;
*)
abs_ladir=`cd "$ladir" && pwd`
if test -z "$abs_ladir"; then
- $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
- $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
- abs_ladir="$ladir"
+ func_warning "cannot determine absolute directory name of '$ladir'"
+ func_warning "passing it literally to the linker, although it might fail"
+ abs_ladir=$ladir
fi
;;
esac
- laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+ func_basename "$lib"
+ laname=$func_basename_result
# Find the relevant object directory and library name.
- if test "X$installed" = Xyes; then
- if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- $echo "$modename: warning: library \`$lib' was moved." 1>&2
- dir="$ladir"
- absdir="$abs_ladir"
- libdir="$abs_ladir"
+ if test yes = "$installed"; then
+ if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ func_warning "library '$lib' was moved."
+ dir=$ladir
+ absdir=$abs_ladir
+ libdir=$abs_ladir
else
- dir="$libdir"
- absdir="$libdir"
+ dir=$lt_sysroot$libdir
+ absdir=$lt_sysroot$libdir
fi
- test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ test yes = "$hardcode_automatic" && avoidtemprpath=yes
else
if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- dir="$ladir"
- absdir="$abs_ladir"
+ dir=$ladir
+ absdir=$abs_ladir
# Remove this search path later
- notinst_path="$notinst_path $abs_ladir"
+ func_append notinst_path " $abs_ladir"
else
- dir="$ladir/$objdir"
- absdir="$abs_ladir/$objdir"
+ dir=$ladir/$objdir
+ absdir=$abs_ladir/$objdir
# Remove this search path later
- notinst_path="$notinst_path $abs_ladir"
+ func_append notinst_path " $abs_ladir"
fi
fi # $installed = yes
- name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+ func_stripname 'lib' '.la' "$laname"
+ name=$func_stripname_result
# This library was specified with -dlpreopen.
- if test "$pass" = dlpreopen; then
- if test -z "$libdir"; then
- $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
- # Prefer using a static library (so that no silly _DYNAMIC symbols
- # are required to link).
- if test -n "$old_library"; then
- newdlprefiles="$newdlprefiles $dir/$old_library"
- # Otherwise, use the dlname, so that lt_dlopen finds it.
- elif test -n "$dlname"; then
- newdlprefiles="$newdlprefiles $dir/$dlname"
- else
- newdlprefiles="$newdlprefiles $dir/$linklib"
+ if test dlpreopen = "$pass"; then
+ if test -z "$libdir" && test prog = "$linkmode"; then
+ func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'"
fi
+ case $host in
+ # special handling for platforms with PE-DLLs.
+ *cygwin* | *mingw* | *cegcc* )
+ # Linker will automatically link against shared library if both
+ # static and shared are present. Therefore, ensure we extract
+ # symbols from the import library if a shared library is present
+ # (otherwise, the dlopen module name will be incorrect). We do
+ # this by putting the import library name into $newdlprefiles.
+ # We recover the dlopen module name by 'saving' the la file
+ # name in a special purpose variable, and (later) extracting the
+ # dlname from the la file.
+ if test -n "$dlname"; then
+ func_tr_sh "$dir/$linklib"
+ eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
+ func_append newdlprefiles " $dir/$linklib"
+ else
+ func_append newdlprefiles " $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ func_append dlpreconveniencelibs " $dir/$old_library"
+ fi
+ ;;
+ * )
+ # Prefer using a static library (so that no silly _DYNAMIC symbols
+ # are required to link).
+ if test -n "$old_library"; then
+ func_append newdlprefiles " $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ func_append dlpreconveniencelibs " $dir/$old_library"
+ # Otherwise, use the dlname, so that lt_dlopen finds it.
+ elif test -n "$dlname"; then
+ func_append newdlprefiles " $dir/$dlname"
+ else
+ func_append newdlprefiles " $dir/$linklib"
+ fi
+ ;;
+ esac
fi # $pass = dlpreopen
if test -z "$libdir"; then
# Link the convenience library
- if test "$linkmode" = lib; then
+ if test lib = "$linkmode"; then
deplibs="$dir/$old_library $deplibs"
- elif test "$linkmode,$pass" = "prog,link"; then
+ elif test prog,link = "$linkmode,$pass"; then
compile_deplibs="$dir/$old_library $compile_deplibs"
finalize_deplibs="$dir/$old_library $finalize_deplibs"
else
@@ -2363,49 +8143,53 @@ EOF
fi
- if test "$linkmode" = prog && test "$pass" != link; then
- newlib_search_path="$newlib_search_path $ladir"
+ if test prog = "$linkmode" && test link != "$pass"; then
+ func_append newlib_search_path " $ladir"
deplibs="$lib $deplibs"
- linkalldeplibs=no
- if test "$link_all_deplibs" != no || test -z "$library_names" ||
- test "$build_libtool_libs" = no; then
- linkalldeplibs=yes
+ linkalldeplibs=false
+ if test no != "$link_all_deplibs" || test -z "$library_names" ||
+ test no = "$build_libtool_libs"; then
+ linkalldeplibs=:
fi
tmp_libs=
for deplib in $dependency_libs; do
case $deplib in
- -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
+ -L*) func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
esac
# Need to link against all dependency_libs?
- if test "$linkalldeplibs" = yes; then
+ if $linkalldeplibs; then
deplibs="$deplib $deplibs"
else
# Need to hardcode shared library paths
# or/and link against static libraries
newdependency_libs="$deplib $newdependency_libs"
fi
- if test "X$duplicate_deps" = "Xyes" ; then
+ if $opt_preserve_dup_deps; then
case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
esac
fi
- tmp_libs="$tmp_libs $deplib"
+ func_append tmp_libs " $deplib"
done # for deplib
continue
fi # $linkmode = prog...
- if test "$linkmode,$pass" = "prog,link"; then
+ if test prog,link = "$linkmode,$pass"; then
if test -n "$library_names" &&
- { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
+ { { test no = "$prefer_static_libs" ||
+ test built,yes = "$prefer_static_libs,$installed"; } ||
+ test -z "$old_library"; }; then
# We need to hardcode the library path
- if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+ if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then
# Make sure the rpath contains only unique directories.
- case "$temp_rpath " in
- *" $dir "*) ;;
- *" $absdir "*) ;;
- *) temp_rpath="$temp_rpath $dir" ;;
+ case $temp_rpath: in
+ *"$absdir:"*) ;;
+ *) func_append temp_rpath "$absdir:" ;;
esac
fi
@@ -2417,7 +8201,7 @@ EOF
*)
case "$compile_rpath " in
*" $absdir "*) ;;
- *) compile_rpath="$compile_rpath $absdir"
+ *) func_append compile_rpath " $absdir" ;;
esac
;;
esac
@@ -2426,15 +8210,15 @@ EOF
*)
case "$finalize_rpath " in
*" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir"
+ *) func_append finalize_rpath " $libdir" ;;
esac
;;
esac
fi # $linkmode,$pass = prog,link...
- if test "$alldeplibs" = yes &&
- { test "$deplibs_check_method" = pass_all ||
- { test "$build_libtool_libs" = yes &&
+ if $alldeplibs &&
+ { test pass_all = "$deplibs_check_method" ||
+ { test yes = "$build_libtool_libs" &&
test -n "$library_names"; }; }; then
# We only need to search for static libraries
continue
@@ -2442,27 +8226,47 @@ EOF
fi
link_static=no # Whether the deplib will be linked statically
+ use_static_libs=$prefer_static_libs
+ if test built = "$use_static_libs" && test yes = "$installed"; then
+ use_static_libs=no
+ fi
if test -n "$library_names" &&
- { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
- if test "$installed" = no; then
- notinst_deplibs="$notinst_deplibs $lib"
- need_relink=yes
- fi
+ { test no = "$use_static_libs" || test -z "$old_library"; }; then
+ case $host in
+ *cygwin* | *mingw* | *cegcc* | *os2*)
+ # No point in relinking DLLs because paths are not encoded
+ func_append notinst_deplibs " $lib"
+ need_relink=no
+ ;;
+ *)
+ if test no = "$installed"; then
+ func_append notinst_deplibs " $lib"
+ need_relink=yes
+ fi
+ ;;
+ esac
# This is a shared library
- # Warn about portability, can't link against -module's on
- # some systems (darwin)
- if test "$shouldnotlink" = yes && test "$pass" = link ; then
- $echo
- if test "$linkmode" = prog; then
- $echo "*** Warning: Linking the executable $output against the loadable module"
+ # Warn about portability, can't link against -module's on some
+ # systems (darwin). Don't bleat about dlopened modules though!
+ dlopenmodule=
+ for dlpremoduletest in $dlprefiles; do
+ if test "X$dlpremoduletest" = "X$lib"; then
+ dlopenmodule=$dlpremoduletest
+ break
+ fi
+ done
+ if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then
+ echo
+ if test prog = "$linkmode"; then
+ $ECHO "*** Warning: Linking the executable $output against the loadable module"
else
- $echo "*** Warning: Linking the shared library $output against the loadable module"
+ $ECHO "*** Warning: Linking the shared library $output against the loadable module"
fi
- $echo "*** $linklib is not portable!"
+ $ECHO "*** $linklib is not portable!"
fi
- if test "$linkmode" = lib &&
- test "$hardcode_into_libs" = yes; then
+ if test lib = "$linkmode" &&
+ test yes = "$hardcode_into_libs"; then
# Hardcode the library path.
# Skip directories that are in the system default run-time
# search path.
@@ -2471,7 +8275,7 @@ EOF
*)
case "$compile_rpath " in
*" $absdir "*) ;;
- *) compile_rpath="$compile_rpath $absdir"
+ *) func_append compile_rpath " $absdir" ;;
esac
;;
esac
@@ -2480,7 +8284,7 @@ EOF
*)
case "$finalize_rpath " in
*" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir"
+ *) func_append finalize_rpath " $libdir" ;;
esac
;;
esac
@@ -2489,118 +8293,115 @@ EOF
if test -n "$old_archive_from_expsyms_cmds"; then
# figure out the soname
set dummy $library_names
- realname="$2"
- shift; shift
- libname=`eval \\$echo \"$libname_spec\"`
+ shift
+ realname=$1
+ shift
+ libname=`eval "\\$ECHO \"$libname_spec\""`
# use dlname if we got it. it's perfectly good, no?
if test -n "$dlname"; then
- soname="$dlname"
+ soname=$dlname
elif test -n "$soname_spec"; then
# bleh windows
case $host in
- *cygwin* | mingw*)
- major=`expr $current - $age`
- versuffix="-$major"
+ *cygwin* | mingw* | *cegcc* | *os2*)
+ func_arith $current - $age
+ major=$func_arith_result
+ versuffix=-$major
;;
esac
eval soname=\"$soname_spec\"
else
- soname="$realname"
+ soname=$realname
fi
# Make a new name for the extract_expsyms_cmds to use
- soroot="$soname"
- soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
- newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
+ soroot=$soname
+ func_basename "$soroot"
+ soname=$func_basename_result
+ func_stripname 'lib' '.dll' "$soname"
+ newlib=libimp-$func_stripname_result.a
# If the library has no export list, then create one now
if test -f "$output_objdir/$soname-def"; then :
else
- $show "extracting exported symbol list from \`$soname'"
- save_ifs="$IFS"; IFS='~'
- cmds=$extract_expsyms_cmds
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+ func_verbose "extracting exported symbol list from '$soname'"
+ func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
fi
# Create $newlib
if test -f "$output_objdir/$newlib"; then :; else
- $show "generating import library for \`$soname'"
- save_ifs="$IFS"; IFS='~'
- cmds=$old_archive_from_expsyms_cmds
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+ func_verbose "generating import library for '$soname'"
+ func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
fi
# make sure the library variables are pointing to the new library
dir=$output_objdir
linklib=$newlib
fi # test -n "$old_archive_from_expsyms_cmds"
- if test "$linkmode" = prog || test "$mode" != relink; then
+ if test prog = "$linkmode" || test relink != "$opt_mode"; then
add_shlibpath=
add_dir=
add=
lib_linked=yes
case $hardcode_action in
immediate | unsupported)
- if test "$hardcode_direct" = no; then
- add="$dir/$linklib"
+ if test no = "$hardcode_direct"; then
+ add=$dir/$linklib
case $host in
- *-*-sco3.2v5* ) add_dir="-L$dir" ;;
+ *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
+ *-*-sysv4*uw2*) add_dir=-L$dir ;;
+ *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+ *-*-unixware7*) add_dir=-L$dir ;;
*-*-darwin* )
- # if the lib is a module then we can not link against
- # it, someone is ignoring the new warnings I added
- if /usr/bin/file -L $add 2> /dev/null | $EGREP "bundle" >/dev/null ; then
- $echo "** Warning, lib $linklib is a module, not a shared library"
- if test -z "$old_library" ; then
- $echo
- $echo "** And there doesn't seem to be a static archive available"
- $echo "** The link will probably fail, sorry"
- else
- add="$dir/$old_library"
+ # if the lib is a (non-dlopened) module then we cannot
+ # link against it, someone is ignoring the earlier warnings
+ if /usr/bin/file -L $add 2> /dev/null |
+ $GREP ": [^:]* bundle" >/dev/null; then
+ if test "X$dlopenmodule" != "X$lib"; then
+ $ECHO "*** Warning: lib $linklib is a module, not a shared library"
+ if test -z "$old_library"; then
+ echo
+ echo "*** And there doesn't seem to be a static archive available"
+ echo "*** The link will probably fail, sorry"
+ else
+ add=$dir/$old_library
+ fi
+ elif test -n "$old_library"; then
+ add=$dir/$old_library
fi
fi
esac
- elif test "$hardcode_minus_L" = no; then
+ elif test no = "$hardcode_minus_L"; then
case $host in
- *-*-sunos*) add_shlibpath="$dir" ;;
+ *-*-sunos*) add_shlibpath=$dir ;;
esac
- add_dir="-L$dir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = no; then
- add_shlibpath="$dir"
- add="-l$name"
+ add_dir=-L$dir
+ add=-l$name
+ elif test no = "$hardcode_shlibpath_var"; then
+ add_shlibpath=$dir
+ add=-l$name
else
lib_linked=no
fi
;;
relink)
- if test "$hardcode_direct" = yes; then
- add="$dir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$dir"
+ if test yes = "$hardcode_direct" &&
+ test no = "$hardcode_direct_absolute"; then
+ add=$dir/$linklib
+ elif test yes = "$hardcode_minus_L"; then
+ add_dir=-L$absdir
# Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then
- case "$libdir" in
+ case $libdir in
[\\/]*)
- add_dir="$add_dir -L$inst_prefix_dir$libdir"
+ func_append add_dir " -L$inst_prefix_dir$libdir"
;;
esac
fi
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- add_shlibpath="$dir"
- add="-l$name"
+ add=-l$name
+ elif test yes = "$hardcode_shlibpath_var"; then
+ add_shlibpath=$dir
+ add=-l$name
else
lib_linked=no
fi
@@ -2608,72 +8409,72 @@ EOF
*) lib_linked=no ;;
esac
- if test "$lib_linked" != yes; then
- $echo "$modename: configuration error: unsupported hardcode properties"
- exit $EXIT_FAILURE
+ if test yes != "$lib_linked"; then
+ func_fatal_configuration "unsupported hardcode properties"
fi
if test -n "$add_shlibpath"; then
case :$compile_shlibpath: in
*":$add_shlibpath:"*) ;;
- *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
+ *) func_append compile_shlibpath "$add_shlibpath:" ;;
esac
fi
- if test "$linkmode" = prog; then
+ if test prog = "$linkmode"; then
test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
test -n "$add" && compile_deplibs="$add $compile_deplibs"
else
test -n "$add_dir" && deplibs="$add_dir $deplibs"
test -n "$add" && deplibs="$add $deplibs"
- if test "$hardcode_direct" != yes && \
- test "$hardcode_minus_L" != yes && \
- test "$hardcode_shlibpath_var" = yes; then
+ if test yes != "$hardcode_direct" &&
+ test yes != "$hardcode_minus_L" &&
+ test yes = "$hardcode_shlibpath_var"; then
case :$finalize_shlibpath: in
*":$libdir:"*) ;;
- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+ *) func_append finalize_shlibpath "$libdir:" ;;
esac
fi
fi
fi
- if test "$linkmode" = prog || test "$mode" = relink; then
+ if test prog = "$linkmode" || test relink = "$opt_mode"; then
add_shlibpath=
add_dir=
add=
# Finalize command for both is simple: just hardcode it.
- if test "$hardcode_direct" = yes; then
- add="$libdir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$libdir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
+ if test yes = "$hardcode_direct" &&
+ test no = "$hardcode_direct_absolute"; then
+ add=$libdir/$linklib
+ elif test yes = "$hardcode_minus_L"; then
+ add_dir=-L$libdir
+ add=-l$name
+ elif test yes = "$hardcode_shlibpath_var"; then
case :$finalize_shlibpath: in
*":$libdir:"*) ;;
- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+ *) func_append finalize_shlibpath "$libdir:" ;;
esac
- add="-l$name"
- elif test "$hardcode_automatic" = yes; then
+ add=-l$name
+ elif test yes = "$hardcode_automatic"; then
if test -n "$inst_prefix_dir" &&
- test -f "$inst_prefix_dir$libdir/$linklib" ; then
- add="$inst_prefix_dir$libdir/$linklib"
+ test -f "$inst_prefix_dir$libdir/$linklib"; then
+ add=$inst_prefix_dir$libdir/$linklib
else
- add="$libdir/$linklib"
+ add=$libdir/$linklib
fi
else
# We cannot seem to hardcode it, guess we'll fake it.
- add_dir="-L$libdir"
+ add_dir=-L$libdir
# Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then
- case "$libdir" in
+ case $libdir in
[\\/]*)
- add_dir="$add_dir -L$inst_prefix_dir$libdir"
+ func_append add_dir " -L$inst_prefix_dir$libdir"
;;
esac
fi
- add="-l$name"
+ add=-l$name
fi
- if test "$linkmode" = prog; then
+ if test prog = "$linkmode"; then
test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
else
@@ -2681,43 +8482,43 @@ EOF
test -n "$add" && deplibs="$add $deplibs"
fi
fi
- elif test "$linkmode" = prog; then
+ elif test prog = "$linkmode"; then
# Here we assume that one of hardcode_direct or hardcode_minus_L
# is not unsupported. This is valid on all known static and
# shared platforms.
- if test "$hardcode_direct" != unsupported; then
- test -n "$old_library" && linklib="$old_library"
+ if test unsupported != "$hardcode_direct"; then
+ test -n "$old_library" && linklib=$old_library
compile_deplibs="$dir/$linklib $compile_deplibs"
finalize_deplibs="$dir/$linklib $finalize_deplibs"
else
compile_deplibs="-l$name -L$dir $compile_deplibs"
finalize_deplibs="-l$name -L$dir $finalize_deplibs"
fi
- elif test "$build_libtool_libs" = yes; then
+ elif test yes = "$build_libtool_libs"; then
# Not a shared library
- if test "$deplibs_check_method" != pass_all; then
+ if test pass_all != "$deplibs_check_method"; then
# We're trying link a shared library against a static one
# but the system doesn't support it.
# Just print a warning and add the library to dependency_libs so
# that the program can be linked against the static library.
- $echo
- $echo "*** Warning: This system can not link to static lib archive $lib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have."
- if test "$module" = yes; then
- $echo "*** But as you try to build a module library, libtool will still create "
- $echo "*** a static module, that should work as long as the dlopening application"
- $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+ echo
+ $ECHO "*** Warning: This system cannot link to static lib archive $lib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have."
+ if test yes = "$module"; then
+ echo "*** But as you try to build a module library, libtool will still create "
+ echo "*** a static module, that should work as long as the dlopening application"
+ echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
if test -z "$global_symbol_pipe"; then
- $echo
- $echo "*** However, this would only work if libtool was able to extract symbol"
- $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $echo "*** not find such a program. So, this module is probably useless."
- $echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** 'nm' from GNU binutils and a full rebuild may help."
fi
- if test "$build_old_libs" = no; then
+ if test no = "$build_old_libs"; then
build_libtool_libs=module
build_old_libs=yes
else
@@ -2725,160 +8526,151 @@ EOF
fi
fi
else
- convenience="$convenience $dir/$old_library"
- old_convenience="$old_convenience $dir/$old_library"
deplibs="$dir/$old_library $deplibs"
link_static=yes
fi
fi # link shared/static library?
- if test "$linkmode" = lib; then
+ if test lib = "$linkmode"; then
if test -n "$dependency_libs" &&
- { test "$hardcode_into_libs" != yes ||
- test "$build_old_libs" = yes ||
- test "$link_static" = yes; }; then
+ { test yes != "$hardcode_into_libs" ||
+ test yes = "$build_old_libs" ||
+ test yes = "$link_static"; }; then
# Extract -R from dependency_libs
temp_deplibs=
for libdir in $dependency_libs; do
case $libdir in
- -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
+ -R*) func_stripname '-R' '' "$libdir"
+ temp_xrpath=$func_stripname_result
case " $xrpath " in
*" $temp_xrpath "*) ;;
- *) xrpath="$xrpath $temp_xrpath";;
+ *) func_append xrpath " $temp_xrpath";;
esac;;
- *) temp_deplibs="$temp_deplibs $libdir";;
+ *) func_append temp_deplibs " $libdir";;
esac
done
- dependency_libs="$temp_deplibs"
+ dependency_libs=$temp_deplibs
fi
- newlib_search_path="$newlib_search_path $absdir"
+ func_append newlib_search_path " $absdir"
# Link against this library
- test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+ test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
# ... and its dependency_libs
tmp_libs=
for deplib in $dependency_libs; do
newdependency_libs="$deplib $newdependency_libs"
- if test "X$duplicate_deps" = "Xyes" ; then
+ case $deplib in
+ -L*) func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result";;
+ *) func_resolve_sysroot "$deplib" ;;
+ esac
+ if $opt_preserve_dup_deps; then
case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ *" $func_resolve_sysroot_result "*)
+ func_append specialdeplibs " $func_resolve_sysroot_result" ;;
esac
fi
- tmp_libs="$tmp_libs $deplib"
+ func_append tmp_libs " $func_resolve_sysroot_result"
done
- if test "$link_all_deplibs" != no; then
+ if test no != "$link_all_deplibs"; then
# Add the search paths of all dependency libraries
for deplib in $dependency_libs; do
+ path=
case $deplib in
- -L*) path="$deplib" ;;
+ -L*) path=$deplib ;;
*.la)
- dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$deplib" && dir="."
+ func_resolve_sysroot "$deplib"
+ deplib=$func_resolve_sysroot_result
+ func_dirname "$deplib" "" "."
+ dir=$func_dirname_result
# We need an absolute path.
case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+ [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;;
*)
absdir=`cd "$dir" && pwd`
if test -z "$absdir"; then
- $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
- absdir="$dir"
+ func_warning "cannot determine absolute directory name of '$dir'"
+ absdir=$dir
fi
;;
esac
- if grep "^installed=no" $deplib > /dev/null; then
- path="$absdir/$objdir"
- else
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- if test -z "$libdir"; then
- $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- if test "$absdir" != "$libdir"; then
- $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
- fi
- path="$absdir"
- fi
- depdepl=
+ if $GREP "^installed=no" $deplib > /dev/null; then
case $host in
*-*-darwin*)
- # we do not want to link against static libs,
- # but need to link against shared
- eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
- if test -n "$deplibrary_names" ; then
- for tmp in $deplibrary_names ; do
+ depdepl=
+ eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+ if test -n "$deplibrary_names"; then
+ for tmp in $deplibrary_names; do
depdepl=$tmp
done
- if test -f "$path/$depdepl" ; then
- depdepl="$path/$depdepl"
+ if test -f "$absdir/$objdir/$depdepl"; then
+ depdepl=$absdir/$objdir/$depdepl
+ darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ if test -z "$darwin_install_name"; then
+ darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ fi
+ func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl"
+ func_append linker_flags " -dylib_file $darwin_install_name:$depdepl"
+ path=
fi
- # do not add paths which are already there
- case " $newlib_search_path " in
- *" $path "*) ;;
- *) newlib_search_path="$newlib_search_path $path";;
- esac
fi
- path=""
;;
*)
- path="-L$path"
- ;;
- esac
- ;;
- -l*)
- case $host in
- *-*-darwin*)
- # Again, we only want to link against shared libraries
- eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
- for tmp in $newlib_search_path ; do
- if test -f "$tmp/lib$tmp_libs.dylib" ; then
- eval depdepl="$tmp/lib$tmp_libs.dylib"
- break
- fi
- done
- path=""
+ path=-L$absdir/$objdir
;;
- *) continue ;;
esac
+ else
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ test -z "$libdir" && \
+ func_fatal_error "'$deplib' is not a valid libtool archive"
+ test "$absdir" != "$libdir" && \
+ func_warning "'$deplib' seems to be moved"
+
+ path=-L$absdir
+ fi
;;
- *) continue ;;
esac
case " $deplibs " in
*" $path "*) ;;
*) deplibs="$path $deplibs" ;;
esac
- case " $deplibs " in
- *" $depdepl "*) ;;
- *) deplibs="$depdepl $deplibs" ;;
- esac
done
fi # link_all_deplibs != no
fi # linkmode = lib
done # for deplib in $libs
- dependency_libs="$newdependency_libs"
- if test "$pass" = dlpreopen; then
+ if test link = "$pass"; then
+ if test prog = "$linkmode"; then
+ compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+ finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
+ else
+ compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ fi
+ fi
+ dependency_libs=$newdependency_libs
+ if test dlpreopen = "$pass"; then
# Link the dlpreopened libraries before other libraries
for deplib in $save_deplibs; do
deplibs="$deplib $deplibs"
done
fi
- if test "$pass" != dlopen; then
- if test "$pass" != conv; then
+ if test dlopen != "$pass"; then
+ test conv = "$pass" || {
# Make sure lib_search_path contains only unique directories.
lib_search_path=
for dir in $newlib_search_path; do
case "$lib_search_path " in
*" $dir "*) ;;
- *) lib_search_path="$lib_search_path $dir" ;;
+ *) func_append lib_search_path " $dir" ;;
esac
done
newlib_search_path=
- fi
+ }
- if test "$linkmode,$pass" != "prog,link"; then
- vars="deplibs"
- else
+ if test prog,link = "$linkmode,$pass"; then
vars="compile_deplibs finalize_deplibs"
+ else
+ vars=deplibs
fi
for var in $vars dependency_libs; do
# Add libraries to $var in reverse order
@@ -2927,123 +8719,152 @@ EOF
-L*)
case " $tmp_libs " in
*" $deplib "*) ;;
- *) tmp_libs="$tmp_libs $deplib" ;;
+ *) func_append tmp_libs " $deplib" ;;
esac
;;
- *) tmp_libs="$tmp_libs $deplib" ;;
+ *) func_append tmp_libs " $deplib" ;;
esac
done
eval $var=\"$tmp_libs\"
done # for var
fi
+
+ # Add Sun CC postdeps if required:
+ test CXX = "$tagname" && {
+ case $host_os in
+ linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C++ 5.9
+ func_suncc_cstd_abi
+
+ if test no != "$suncc_use_cstd_abi"; then
+ func_append postdeps ' -library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ func_cc_basename "$CC"
+ case $func_cc_basename_result in
+ CC* | sunCC*)
+ func_suncc_cstd_abi
+
+ if test no != "$suncc_use_cstd_abi"; then
+ func_append postdeps ' -library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ }
+
# Last step: remove runtime libs from dependency_libs
# (they stay in deplibs)
tmp_libs=
- for i in $dependency_libs ; do
+ for i in $dependency_libs; do
case " $predeps $postdeps $compiler_lib_search_path " in
*" $i "*)
- i=""
+ i=
;;
esac
- if test -n "$i" ; then
- tmp_libs="$tmp_libs $i"
+ if test -n "$i"; then
+ func_append tmp_libs " $i"
fi
done
dependency_libs=$tmp_libs
done # for pass
- if test "$linkmode" = prog; then
- dlfiles="$newdlfiles"
- dlprefiles="$newdlprefiles"
+ if test prog = "$linkmode"; then
+ dlfiles=$newdlfiles
+ fi
+ if test prog = "$linkmode" || test lib = "$linkmode"; then
+ dlprefiles=$newdlprefiles
fi
case $linkmode in
oldlib)
- if test -n "$deplibs"; then
- $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
+ if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+ func_warning "'-dlopen' is ignored for archives"
fi
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
- fi
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "'-l' and '-L' are ignored for archives" ;;
+ esac
- if test -n "$rpath"; then
- $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
- fi
+ test -n "$rpath" && \
+ func_warning "'-rpath' is ignored for archives"
- if test -n "$xrpath"; then
- $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
- fi
+ test -n "$xrpath" && \
+ func_warning "'-R' is ignored for archives"
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
- fi
+ test -n "$vinfo" && \
+ func_warning "'-version-info/-version-number' is ignored for archives"
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
- fi
+ test -n "$release" && \
+ func_warning "'-release' is ignored for archives"
- if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
- $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
- fi
+ test -n "$export_symbols$export_symbols_regex" && \
+ func_warning "'-export-symbols' is ignored for archives"
# Now set the variables for building old libraries.
build_libtool_libs=no
- oldlibs="$output"
- objs="$objs$old_deplibs"
+ oldlibs=$output
+ func_append objs "$old_deplibs"
;;
lib)
- # Make sure we only generate libraries of the form `libNAME.la'.
+ # Make sure we only generate libraries of the form 'libNAME.la'.
case $outputname in
lib*)
- name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+ func_stripname 'lib' '.la' "$outputname"
+ name=$func_stripname_result
eval shared_ext=\"$shrext_cmds\"
eval libname=\"$libname_spec\"
;;
*)
- if test "$module" = no; then
- $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
- if test "$need_lib_prefix" != no; then
+ test no = "$module" \
+ && func_fatal_help "libtool library '$output' must begin with 'lib'"
+
+ if test no != "$need_lib_prefix"; then
# Add the "lib" prefix for modules if required
- name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+ func_stripname '' '.la' "$outputname"
+ name=$func_stripname_result
eval shared_ext=\"$shrext_cmds\"
eval libname=\"$libname_spec\"
else
- libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+ func_stripname '' '.la' "$outputname"
+ libname=$func_stripname_result
fi
;;
esac
if test -n "$objs"; then
- if test "$deplibs_check_method" != pass_all; then
- $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
- exit $EXIT_FAILURE
+ if test pass_all != "$deplibs_check_method"; then
+ func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs"
else
- $echo
- $echo "*** Warning: Linking the shared library $output against the non-libtool"
- $echo "*** objects $objs is not portable!"
- libobjs="$libobjs $objs"
+ echo
+ $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+ $ECHO "*** objects $objs is not portable!"
+ func_append libobjs " $objs"
fi
fi
- if test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
- fi
+ test no = "$dlself" \
+ || func_warning "'-dlopen self' is ignored for libtool libraries"
set dummy $rpath
- if test "$#" -gt 2; then
- $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
- fi
- install_libdir="$2"
+ shift
+ test 1 -lt "$#" \
+ && func_warning "ignoring multiple '-rpath's for a libtool library"
+
+ install_libdir=$1
oldlibs=
if test -z "$rpath"; then
- if test "$build_libtool_libs" = yes; then
+ if test yes = "$build_libtool_libs"; then
# Building a libtool convenience library.
- # Some compilers have problems with a `.al' extension so
+ # Some compilers have problems with a '.al' extension so
# convenience libraries should have the same extension an
# archive normally would.
oldlibs="$output_objdir/$libname.$libext $oldlibs"
@@ -3051,25 +8872,21 @@ EOF
build_old_libs=yes
fi
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
- fi
+ test -n "$vinfo" && \
+ func_warning "'-version-info/-version-number' is ignored for convenience libraries"
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
- fi
+ test -n "$release" && \
+ func_warning "'-release' is ignored for convenience libraries"
else
# Parse the version information argument.
- save_ifs="$IFS"; IFS=':'
+ save_ifs=$IFS; IFS=:
set dummy $vinfo 0 0 0
- IFS="$save_ifs"
+ shift
+ IFS=$save_ifs
- if test -n "$8"; then
- $echo "$modename: too many parameters to \`-version-info'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ test -n "$7" && \
+ func_fatal_help "too many parameters to '-version-info'"
# convert absolute version numbers to libtool ages
# this retains compatibility with .la files and attempts
@@ -3077,38 +8894,45 @@ EOF
case $vinfo_number in
yes)
- number_major="$2"
- number_minor="$3"
- number_revision="$4"
+ number_major=$1
+ number_minor=$2
+ number_revision=$3
#
# There are really only two kinds -- those that
# use the current revision as the major version
# and those that subtract age and use age as
# a minor version. But, then there is irix
- # which has an extra 1 added just for fun
+ # that has an extra 1 added just for fun
#
case $version_type in
- darwin|linux|osf|windows)
- current=`expr $number_major + $number_minor`
- age="$number_minor"
- revision="$number_revision"
+ # correct linux to gnu/linux during the next big refactor
+ darwin|freebsd-elf|linux|osf|windows|none)
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
+ age=$number_minor
+ revision=$number_revision
;;
- freebsd-aout|freebsd-elf|sunos)
- current="$number_major"
- revision="$number_minor"
- age="0"
+ freebsd-aout|qnx|sunos)
+ current=$number_major
+ revision=$number_minor
+ age=0
;;
irix|nonstopux)
- current=`expr $number_major + $number_minor - 1`
- age="$number_minor"
- revision="$number_minor"
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
+ age=$number_minor
+ revision=$number_minor
+ lt_irix_increment=no
+ ;;
+ *)
+ func_fatal_configuration "$modename: unknown library version type '$version_type'"
;;
esac
;;
no)
- current="$2"
- revision="$3"
- age="$4"
+ current=$1
+ revision=$2
+ age=$3
;;
esac
@@ -3116,34 +8940,30 @@ EOF
case $current in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
- $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
+ func_error "CURRENT '$current' must be a nonnegative integer"
+ func_fatal_error "'$vinfo' is not valid version information"
;;
esac
case $revision in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
- $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
+ func_error "REVISION '$revision' must be a nonnegative integer"
+ func_fatal_error "'$vinfo' is not valid version information"
;;
esac
case $age in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
- $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
+ func_error "AGE '$age' must be a nonnegative integer"
+ func_fatal_error "'$vinfo' is not valid version information"
;;
esac
if test "$age" -gt "$current"; then
- $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
+ func_error "AGE '$age' is greater than the current interface number '$current'"
+ func_fatal_error "'$vinfo' is not valid version information"
fi
# Calculate the version variables.
@@ -3156,83 +8976,116 @@ EOF
darwin)
# Like Linux, but with the current version available in
# verstring for coding it into the library header
- major=.`expr $current - $age`
- versuffix="$major.$age.$revision"
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=$major.$age.$revision
# Darwin ld doesn't like 0 for these options...
- minor_current=`expr $current + 1`
- verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+ func_arith $current + 1
+ minor_current=$func_arith_result
+ xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ # On Darwin other compilers
+ case $CC in
+ nagfor*)
+ verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
+ ;;
+ *)
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ ;;
+ esac
;;
freebsd-aout)
- major=".$current"
- versuffix=".$current.$revision";
+ major=.$current
+ versuffix=.$current.$revision
;;
freebsd-elf)
- major=".$current"
- versuffix=".$current";
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=$major.$age.$revision
;;
irix | nonstopux)
- major=`expr $current - $age + 1`
+ if test no = "$lt_irix_increment"; then
+ func_arith $current - $age
+ else
+ func_arith $current - $age + 1
+ fi
+ major=$func_arith_result
case $version_type in
nonstopux) verstring_prefix=nonstopux ;;
*) verstring_prefix=sgi ;;
esac
- verstring="$verstring_prefix$major.$revision"
+ verstring=$verstring_prefix$major.$revision
# Add in all the interfaces that we are compatible with.
loop=$revision
- while test "$loop" -ne 0; do
- iface=`expr $revision - $loop`
- loop=`expr $loop - 1`
- verstring="$verstring_prefix$major.$iface:$verstring"
+ while test 0 -ne "$loop"; do
+ func_arith $revision - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
+ verstring=$verstring_prefix$major.$iface:$verstring
done
- # Before this point, $major must not contain `.'.
+ # Before this point, $major must not contain '.'.
major=.$major
- versuffix="$major.$revision"
+ versuffix=$major.$revision
;;
- linux)
- major=.`expr $current - $age`
- versuffix="$major.$age.$revision"
+ linux) # correct to gnu/linux during the next big refactor
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=$major.$age.$revision
;;
osf)
- major=.`expr $current - $age`
- versuffix=".$current.$age.$revision"
- verstring="$current.$age.$revision"
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=.$current.$age.$revision
+ verstring=$current.$age.$revision
# Add in all the interfaces that we are compatible with.
loop=$age
- while test "$loop" -ne 0; do
- iface=`expr $current - $loop`
- loop=`expr $loop - 1`
- verstring="$verstring:${iface}.0"
+ while test 0 -ne "$loop"; do
+ func_arith $current - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
+ verstring=$verstring:$iface.0
done
# Make executables depend on our current version.
- verstring="$verstring:${current}.0"
+ func_append verstring ":$current.0"
+ ;;
+
+ qnx)
+ major=.$current
+ versuffix=.$current
+ ;;
+
+ sco)
+ major=.$current
+ versuffix=.$current
;;
sunos)
- major=".$current"
- versuffix=".$current.$revision"
+ major=.$current
+ versuffix=.$current.$revision
;;
windows)
# Use '-' rather than '.', since we only want one
- # extension on DOS 8.3 filesystems.
- major=`expr $current - $age`
- versuffix="-$major"
+ # extension on DOS 8.3 file systems.
+ func_arith $current - $age
+ major=$func_arith_result
+ versuffix=-$major
;;
*)
- $echo "$modename: unknown library version type \`$version_type'" 1>&2
- $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
- exit $EXIT_FAILURE
+ func_fatal_configuration "unknown library version type '$version_type'"
;;
esac
@@ -3246,134 +9099,146 @@ EOF
verstring=
;;
*)
- verstring="0.0"
+ verstring=0.0
;;
esac
- if test "$need_version" = no; then
+ if test no = "$need_version"; then
versuffix=
else
- versuffix=".0.0"
+ versuffix=.0.0
fi
fi
# Remove version info from name if versioning should be avoided
- if test "$avoid_version" = yes && test "$need_version" = no; then
+ if test yes,no = "$avoid_version,$need_version"; then
major=
versuffix=
- verstring=""
+ verstring=
fi
# Check to see if the archive will have undefined symbols.
- if test "$allow_undefined" = yes; then
- if test "$allow_undefined_flag" = unsupported; then
- $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
- build_libtool_libs=no
- build_old_libs=yes
+ if test yes = "$allow_undefined"; then
+ if test unsupported = "$allow_undefined_flag"; then
+ if test yes = "$build_old_libs"; then
+ func_warning "undefined symbols not allowed in $host shared libraries; building static only"
+ build_libtool_libs=no
+ else
+ func_fatal_error "can't build $host shared library unless -no-undefined is specified"
+ fi
fi
else
# Don't allow undefined symbols.
- allow_undefined_flag="$no_undefined_flag"
+ allow_undefined_flag=$no_undefined_flag
fi
+
fi
- if test "$mode" != relink; then
+ func_generate_dlsyms "$libname" "$libname" :
+ func_append libobjs " $symfileobj"
+ test " " = "$libobjs" && libobjs=
+
+ if test relink != "$opt_mode"; then
# Remove our outputs, but don't remove object files since they
# may have been created when compiling PIC objects.
removelist=
- tempremovelist=`$echo "$output_objdir/*"`
+ tempremovelist=`$ECHO "$output_objdir/*"`
for p in $tempremovelist; do
case $p in
- *.$objext)
+ *.$objext | *.gcno)
;;
- $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
- if test "X$precious_files_regex" != "X"; then
- if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
- then
+ $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*)
+ if test -n "$precious_files_regex"; then
+ if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+ then
continue
fi
fi
- removelist="$removelist $p"
+ func_append removelist " $p"
;;
*) ;;
esac
done
- if test -n "$removelist"; then
- $show "${rm}r $removelist"
- $run ${rm}r $removelist
- fi
+ test -n "$removelist" && \
+ func_show_eval "${RM}r \$removelist"
fi
# Now set the variables for building old libraries.
- if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
- oldlibs="$oldlibs $output_objdir/$libname.$libext"
+ if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then
+ func_append oldlibs " $output_objdir/$libname.$libext"
# Transform .lo files to .o files.
- oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+ oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP`
fi
# Eliminate all temporary directories.
- for path in $notinst_path; do
- lib_search_path=`$echo "$lib_search_path " | ${SED} -e 's% $path % %g'`
- deplibs=`$echo "$deplibs " | ${SED} -e 's% -L$path % %g'`
- dependency_libs=`$echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'`
- done
+ #for path in $notinst_path; do
+ # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
+ # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
+ # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
+ #done
if test -n "$xrpath"; then
# If the user specified any rpath flags, then add them.
temp_xrpath=
for libdir in $xrpath; do
- temp_xrpath="$temp_xrpath -R$libdir"
+ func_replace_sysroot "$libdir"
+ func_append temp_xrpath " -R$func_replace_sysroot_result"
case "$finalize_rpath " in
*" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir" ;;
+ *) func_append finalize_rpath " $libdir" ;;
esac
done
- if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+ if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then
dependency_libs="$temp_xrpath $dependency_libs"
fi
fi
# Make sure dlfiles contains only unique files that won't be dlpreopened
- old_dlfiles="$dlfiles"
+ old_dlfiles=$dlfiles
dlfiles=
for lib in $old_dlfiles; do
case " $dlprefiles $dlfiles " in
*" $lib "*) ;;
- *) dlfiles="$dlfiles $lib" ;;
+ *) func_append dlfiles " $lib" ;;
esac
done
# Make sure dlprefiles contains only unique files
- old_dlprefiles="$dlprefiles"
+ old_dlprefiles=$dlprefiles
dlprefiles=
for lib in $old_dlprefiles; do
case "$dlprefiles " in
*" $lib "*) ;;
- *) dlprefiles="$dlprefiles $lib" ;;
+ *) func_append dlprefiles " $lib" ;;
esac
done
- if test "$build_libtool_libs" = yes; then
+ if test yes = "$build_libtool_libs"; then
if test -n "$rpath"; then
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
# these systems don't actually have a c library (as such)!
;;
*-*-rhapsody* | *-*-darwin1.[012])
# Rhapsody C library is in the System framework
- deplibs="$deplibs -framework System"
+ func_append deplibs " System.ltframework"
;;
*-*-netbsd*)
# Don't link with libc until the a.out ld.so is fixed.
;;
*-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
# Do not include libc due to us having libc/libc_r.
- test "X$arg" = "X-lc" && continue
;;
- *)
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ ;;
+ *)
# Add libc to deplibs on all other systems if necessary.
- if test "$build_libtool_need_lc" = "yes"; then
- deplibs="$deplibs -lc"
+ if test yes = "$build_libtool_need_lc"; then
+ func_append deplibs " -lc"
fi
;;
esac
@@ -3388,9 +9253,9 @@ EOF
# I'm not sure if I'm treating the release correctly. I think
# release should show up in the -l (ie -lgmp5) so we don't want to
# add it in twice. Is that correct?
- release=""
- versuffix=""
- major=""
+ release=
+ versuffix=
+ major=
newdeplibs=
droppeddeps=no
case $deplibs_check_method in
@@ -3407,123 +9272,139 @@ EOF
# limits. Maybe even breaks it. We compile a program, linking it
# against the deplibs as a proxy for the library. Then we can check
# whether they linked in statically or dynamically with ldd.
- $rm conftest.c
+ $opt_dry_run || $RM conftest.c
cat > conftest.c <<EOF
int main() { return 0; }
EOF
- $rm conftest
- $LTCC -o conftest conftest.c $deplibs
- if test "$?" -eq 0 ; then
+ $opt_dry_run || $RM conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
ldd_output=`ldd conftest`
for i in $deplibs; do
- name="`expr $i : '-l\(.*\)'`"
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" -ne "0"; then
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $i "*)
- newdeplibs="$newdeplibs $i"
- i=""
+ func_append newdeplibs " $i"
+ i=
;;
esac
- fi
- if test -n "$i" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- deplib_matches=`eval \\$echo \"$library_names_spec\"`
- set dummy $deplib_matches
- deplib_match=$2
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
- newdeplibs="$newdeplibs $i"
+ fi
+ if test -n "$i"; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
+ func_append newdeplibs " $i"
else
droppeddeps=yes
- $echo
- $echo "*** Warning: dynamic linker does not accept needed library $i."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which I believe you do not have"
- $echo "*** because a test_compile did reveal that the linker did not use it for"
- $echo "*** its dynamic dependency list that programs get resolved with at runtime."
+ echo
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which I believe you do not have"
+ echo "*** because a test_compile did reveal that the linker did not use it for"
+ echo "*** its dynamic dependency list that programs get resolved with at runtime."
fi
fi
- else
- newdeplibs="$newdeplibs $i"
- fi
+ ;;
+ *)
+ func_append newdeplibs " $i"
+ ;;
+ esac
done
else
# Error occurred in the first compile. Let's try to salvage
# the situation: Compile a separate program for each library.
for i in $deplibs; do
- name="`expr $i : '-l\(.*\)'`"
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
- $rm conftest
- $LTCC -o conftest conftest.c $i
- # Did it work?
- if test "$?" -eq 0 ; then
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ $opt_dry_run || $RM conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
ldd_output=`ldd conftest`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $i "*)
- newdeplibs="$newdeplibs $i"
- i=""
+ func_append newdeplibs " $i"
+ i=
;;
esac
fi
- if test -n "$i" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- deplib_matches=`eval \\$echo \"$library_names_spec\"`
- set dummy $deplib_matches
- deplib_match=$2
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
- newdeplibs="$newdeplibs $i"
+ if test -n "$i"; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
+ func_append newdeplibs " $i"
else
droppeddeps=yes
- $echo
- $echo "*** Warning: dynamic linker does not accept needed library $i."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because a test_compile did reveal that the linker did not use this one"
- $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+ echo
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because a test_compile did reveal that the linker did not use this one"
+ echo "*** as a dynamic dependency that programs can get resolved with at runtime."
fi
fi
else
droppeddeps=yes
- $echo
- $echo "*** Warning! Library $i is needed by this library but I was not able to"
- $echo "*** make it link in! You will probably need to install it or some"
- $echo "*** library that it depends on before this library will be fully"
- $echo "*** functional. Installing it before continuing would be even better."
+ echo
+ $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
+ echo "*** make it link in! You will probably need to install it or some"
+ echo "*** library that it depends on before this library will be fully"
+ echo "*** functional. Installing it before continuing would be even better."
fi
- else
- newdeplibs="$newdeplibs $i"
- fi
+ ;;
+ *)
+ func_append newdeplibs " $i"
+ ;;
+ esac
done
fi
;;
file_magic*)
- set dummy $deplibs_check_method
- file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+ set dummy $deplibs_check_method; shift
+ file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
for a_deplib in $deplibs; do
- name="`expr $a_deplib : '-l\(.*\)'`"
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $a_deplib "*)
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
+ func_append newdeplibs " $a_deplib"
+ a_deplib=
;;
esac
fi
- if test -n "$a_deplib" ; then
- libname=`eval \\$echo \"$libname_spec\"`
+ if test -n "$a_deplib"; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ if test -n "$file_magic_glob"; then
+ libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
+ else
+ libnameglob=$libname
+ fi
+ test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob`
for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+ if test yes = "$want_nocaseglob"; then
+ shopt -s nocaseglob
+ potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+ $nocaseglob
+ else
+ potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+ fi
for potent_lib in $potential_libs; do
# Follow soft links.
- if ls -lLd "$potent_lib" 2>/dev/null \
- | grep " -> " >/dev/null; then
+ if ls -lLd "$potent_lib" 2>/dev/null |
+ $GREP " -> " >/dev/null; then
continue
fi
# The statement above tries to avoid entering an
@@ -3531,118 +9412,122 @@ EOF
# We might still enter an endless loop, since a link
# loop can be closed while we follow links,
# but so what?
- potlib="$potent_lib"
+ potlib=$potent_lib
while test -h "$potlib" 2>/dev/null; do
- potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+ potliblink=`ls -ld $potlib | $SED 's/.* -> //'`
case $potliblink in
- [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
- *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+ [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;;
+ *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";;
esac
done
- if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
- | ${SED} 10q \
- | $EGREP "$file_magic_regex" > /dev/null; then
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
+ if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+ $SED -e 10q |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ func_append newdeplibs " $a_deplib"
+ a_deplib=
break 2
fi
done
done
fi
- if test -n "$a_deplib" ; then
+ if test -n "$a_deplib"; then
droppeddeps=yes
- $echo
- $echo "*** Warning: linker path does not have real file for library $a_deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
- $echo "*** with $libname but no candidates were found. (...for file magic test)"
+ echo
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib"; then
+ $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
else
- $echo "*** with $libname and none of the candidates passed a file format test"
- $echo "*** using a file magic. Last file checked: $potlib"
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a file magic. Last file checked: $potlib"
fi
fi
- else
+ ;;
+ *)
# Add a -L argument.
- newdeplibs="$newdeplibs $a_deplib"
- fi
+ func_append newdeplibs " $a_deplib"
+ ;;
+ esac
done # Gone through all deplibs.
;;
match_pattern*)
- set dummy $deplibs_check_method
- match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
for a_deplib in $deplibs; do
- name="`expr $a_deplib : '-l\(.*\)'`"
- # If $name is empty we are operating on a -L argument.
- if test -n "$name" && test "$name" != "0"; then
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $a_deplib "*)
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
+ func_append newdeplibs " $a_deplib"
+ a_deplib=
;;
esac
fi
- if test -n "$a_deplib" ; then
- libname=`eval \\$echo \"$libname_spec\"`
+ if test -n "$a_deplib"; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
for potent_lib in $potential_libs; do
- potlib="$potent_lib" # see symlink-check above in file_magic test
- if eval $echo \"$potent_lib\" 2>/dev/null \
- | ${SED} 10q \
- | $EGREP "$match_pattern_regex" > /dev/null; then
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
+ potlib=$potent_lib # see symlink-check above in file_magic test
+ if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
+ $EGREP "$match_pattern_regex" > /dev/null; then
+ func_append newdeplibs " $a_deplib"
+ a_deplib=
break 2
fi
done
done
fi
- if test -n "$a_deplib" ; then
+ if test -n "$a_deplib"; then
droppeddeps=yes
- $echo
- $echo "*** Warning: linker path does not have real file for library $a_deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
- $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
+ echo
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib"; then
+ $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
else
- $echo "*** with $libname and none of the candidates passed a file format test"
- $echo "*** using a regex pattern. Last file checked: $potlib"
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a regex pattern. Last file checked: $potlib"
fi
fi
- else
+ ;;
+ *)
# Add a -L argument.
- newdeplibs="$newdeplibs $a_deplib"
- fi
+ func_append newdeplibs " $a_deplib"
+ ;;
+ esac
done # Gone through all deplibs.
;;
none | unknown | *)
- newdeplibs=""
- tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
- -e 's/ -[LR][^ ]*//g'`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- for i in $predeps $postdeps ; do
+ newdeplibs=
+ tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+ for i in $predeps $postdeps; do
# can't use Xsed below, because $i might contain '/'
- tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
+ tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"`
done
fi
- if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \
- | grep . >/dev/null; then
- $echo
- if test "X$deplibs_check_method" = "Xnone"; then
- $echo "*** Warning: inter-library dependencies are not supported in this platform."
+ case $tmp_deplibs in
+ *[!\ \ ]*)
+ echo
+ if test none = "$deplibs_check_method"; then
+ echo "*** Warning: inter-library dependencies are not supported in this platform."
else
- $echo "*** Warning: inter-library dependencies are not known to be supported."
+ echo "*** Warning: inter-library dependencies are not known to be supported."
fi
- $echo "*** All declared inter-library dependencies are being dropped."
+ echo "*** All declared inter-library dependencies are being dropped."
droppeddeps=yes
- fi
+ ;;
+ esac
;;
esac
versuffix=$versuffix_save
@@ -3653,45 +9538,45 @@ EOF
case $host in
*-*-rhapsody* | *-*-darwin1.[012])
- # On Rhapsody replace the C library is the System framework
- newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
+ # On Rhapsody replace the C library with the System framework
+ newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
;;
esac
- if test "$droppeddeps" = yes; then
- if test "$module" = yes; then
- $echo
- $echo "*** Warning: libtool could not satisfy all declared inter-library"
- $echo "*** dependencies of module $libname. Therefore, libtool will create"
- $echo "*** a static module, that should work as long as the dlopening"
- $echo "*** application is linked with the -dlopen flag."
+ if test yes = "$droppeddeps"; then
+ if test yes = "$module"; then
+ echo
+ echo "*** Warning: libtool could not satisfy all declared inter-library"
+ $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
+ echo "*** a static module, that should work as long as the dlopening"
+ echo "*** application is linked with the -dlopen flag."
if test -z "$global_symbol_pipe"; then
- $echo
- $echo "*** However, this would only work if libtool was able to extract symbol"
- $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $echo "*** not find such a program. So, this module is probably useless."
- $echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** 'nm' from GNU binutils and a full rebuild may help."
fi
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
+ if test no = "$build_old_libs"; then
+ oldlibs=$output_objdir/$libname.$libext
build_libtool_libs=module
build_old_libs=yes
else
build_libtool_libs=no
fi
else
- $echo "*** The inter-library dependencies that have been dropped here will be"
- $echo "*** automatically added whenever a program is linked with this library"
- $echo "*** or is declared to -dlopen it."
-
- if test "$allow_undefined" = no; then
- $echo
- $echo "*** Since this library must not contain undefined symbols,"
- $echo "*** because either the platform does not support them or"
- $echo "*** it was explicitly requested with -no-undefined,"
- $echo "*** libtool will only create a static version of it."
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
+ echo "*** The inter-library dependencies that have been dropped here will be"
+ echo "*** automatically added whenever a program is linked with this library"
+ echo "*** or is declared to -dlopen it."
+
+ if test no = "$allow_undefined"; then
+ echo
+ echo "*** Since this library must not contain undefined symbols,"
+ echo "*** because either the platform does not support them or"
+ echo "*** it was explicitly requested with -no-undefined,"
+ echo "*** libtool will only create a static version of it."
+ if test no = "$build_old_libs"; then
+ oldlibs=$output_objdir/$libname.$libext
build_libtool_libs=module
build_old_libs=yes
else
@@ -3703,6 +9588,41 @@ EOF
# Done checking deplibs!
deplibs=$newdeplibs
fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ case $host in
+ *-*-darwin*)
+ newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $deplibs " in
+ *" -L$path/$objdir "*)
+ func_append new_libs " -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ done
+ deplibs=$new_libs
# All the library-specific variables (install_libdir is set above).
library_names=
@@ -3710,62 +9630,65 @@ EOF
dlname=
# Test again, we may have decided not to build it any more
- if test "$build_libtool_libs" = yes; then
- if test "$hardcode_into_libs" = yes; then
+ if test yes = "$build_libtool_libs"; then
+ # Remove $wl instances when linking with ld.
+ # FIXME: should test the right _cmds variable.
+ case $archive_cmds in
+ *\$LD\ *) wl= ;;
+ esac
+ if test yes = "$hardcode_into_libs"; then
# Hardcode the library paths
hardcode_libdirs=
dep_rpath=
- rpath="$finalize_rpath"
- test "$mode" != relink && rpath="$compile_rpath$rpath"
+ rpath=$finalize_rpath
+ test relink = "$opt_mode" || rpath=$compile_rpath$rpath
for libdir in $rpath; do
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
+ func_replace_sysroot "$libdir"
+ libdir=$func_replace_sysroot_result
if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
+ hardcode_libdirs=$libdir
else
# Just accumulate the unique libdirs.
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
;;
*)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
;;
esac
fi
else
eval flag=\"$hardcode_libdir_flag_spec\"
- dep_rpath="$dep_rpath $flag"
+ func_append dep_rpath " $flag"
fi
elif test -n "$runpath_var"; then
case "$perm_rpath " in
*" $libdir "*) ;;
- *) perm_rpath="$perm_rpath $libdir" ;;
+ *) func_append perm_rpath " $libdir" ;;
esac
fi
done
# Substitute the hardcoded libdirs into the rpath.
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- if test -n "$hardcode_libdir_flag_spec_ld"; then
- eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
- else
- eval dep_rpath=\"$hardcode_libdir_flag_spec\"
- fi
+ libdir=$hardcode_libdirs
+ eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
fi
if test -n "$runpath_var" && test -n "$perm_rpath"; then
# We should set the runpath_var.
rpath=
for dir in $perm_rpath; do
- rpath="$rpath$dir:"
+ func_append rpath "$dir:"
done
eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
fi
test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
fi
- shlibpath="$finalize_shlibpath"
- test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+ shlibpath=$finalize_shlibpath
+ test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath
if test -n "$shlibpath"; then
eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
fi
@@ -3774,99 +9697,187 @@ EOF
eval shared_ext=\"$shrext_cmds\"
eval library_names=\"$library_names_spec\"
set dummy $library_names
- realname="$2"
- shift; shift
+ shift
+ realname=$1
+ shift
if test -n "$soname_spec"; then
eval soname=\"$soname_spec\"
else
- soname="$realname"
+ soname=$realname
fi
if test -z "$dlname"; then
dlname=$soname
fi
- lib="$output_objdir/$realname"
+ lib=$output_objdir/$realname
+ linknames=
for link
do
- linknames="$linknames $link"
+ func_append linknames " $link"
done
# Use standard objects if they are pic
- test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ test "X$libobjs" = "X " && libobjs=
+
+ delfiles=
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+ export_symbols=$output_objdir/$libname.uexp
+ func_append delfiles " $export_symbols"
+ fi
+
+ orig_export_symbols=
+ case $host_os in
+ cygwin* | mingw* | cegcc*)
+ if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
+ # exporting using user supplied symfile
+ func_dll_def_p "$export_symbols" || {
+ # and it's NOT already a .def file. Must figure out
+ # which of the given symbols are data symbols and tag
+ # them as such. So, trigger use of export_symbols_cmds.
+ # export_symbols gets reassigned inside the "prepare
+ # the list of exported symbols" if statement, so the
+ # include_expsyms logic still works.
+ orig_export_symbols=$export_symbols
+ export_symbols=
+ always_export_symbols=yes
+ }
+ fi
+ ;;
+ esac
# Prepare the list of exported symbols
if test -z "$export_symbols"; then
- if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
- $show "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
- $run $rm $export_symbols
+ if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then
+ func_verbose "generating symbol list for '$libname.la'"
+ export_symbols=$output_objdir/$libname.exp
+ $opt_dry_run || $RM $export_symbols
cmds=$export_symbols_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- if len=`expr "X$cmd" : ".*"` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- $show "$cmd"
- $run eval "$cmd" || exit $?
- skipped_export=false
+ save_ifs=$IFS; IFS='~'
+ for cmd1 in $cmds; do
+ IFS=$save_ifs
+ # Take the normal branch if the nm_file_list_spec branch
+ # doesn't work or if tool conversion is not needed.
+ case $nm_file_list_spec~$to_tool_file_cmd in
+ *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
+ try_normal_branch=yes
+ eval cmd=\"$cmd1\"
+ func_len " $cmd"
+ len=$func_len_result
+ ;;
+ *)
+ try_normal_branch=no
+ ;;
+ esac
+ if test yes = "$try_normal_branch" \
+ && { test "$len" -lt "$max_cmd_len" \
+ || test "$max_cmd_len" -le -1; }
+ then
+ func_show_eval "$cmd" 'exit $?'
+ skipped_export=false
+ elif test -n "$nm_file_list_spec"; then
+ func_basename "$output"
+ output_la=$func_basename_result
+ save_libobjs=$libobjs
+ save_output=$output
+ output=$output_objdir/$output_la.nm
+ func_to_tool_file "$output"
+ libobjs=$nm_file_list_spec$func_to_tool_file_result
+ func_append delfiles " $output"
+ func_verbose "creating $NM input file list: $output"
+ for obj in $save_libobjs; do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result"
+ done > "$output"
+ eval cmd=\"$cmd1\"
+ func_show_eval "$cmd" 'exit $?'
+ output=$save_output
+ libobjs=$save_libobjs
+ skipped_export=false
else
- # The command line is too long to execute in one step.
- $show "using reloadable object file for export list..."
- skipped_export=:
+ # The command line is too long to execute in one step.
+ func_verbose "using reloadable object file for export list..."
+ skipped_export=:
+ # Break out early, otherwise skipped_export may be
+ # set to false by a later but shorter cmd.
+ break
fi
done
- IFS="$save_ifs"
- if test -n "$export_symbols_regex"; then
- $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
- $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
- $show "$mv \"${export_symbols}T\" \"$export_symbols\""
- $run eval '$mv "${export_symbols}T" "$export_symbols"'
+ IFS=$save_ifs
+ if test -n "$export_symbols_regex" && test : != "$skipped_export"; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
fi
fi
fi
if test -n "$export_symbols" && test -n "$include_expsyms"; then
- $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
+ tmp_export_symbols=$export_symbols
+ test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
+ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test : != "$skipped_export" && test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands, which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
fi
tmp_deplibs=
for test_deplib in $deplibs; do
- case " $convenience " in
- *" $test_deplib "*) ;;
- *)
- tmp_deplibs="$tmp_deplibs $test_deplib"
- ;;
- esac
+ case " $convenience " in
+ *" $test_deplib "*) ;;
+ *)
+ func_append tmp_deplibs " $test_deplib"
+ ;;
+ esac
done
- deplibs="$tmp_deplibs"
+ deplibs=$tmp_deplibs
if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec" &&
+ test yes = "$compiler_needs_object" &&
+ test -z "$libobjs"; then
+ # extract the archives, so we have objects to list.
+ # TODO: could optimize this to just extract one archive.
+ whole_archive_flag_spec=
+ fi
if test -n "$whole_archive_flag_spec"; then
save_libobjs=$libobjs
eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
else
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
+ gentop=$output_objdir/${outputname}x
+ func_append generated " $gentop"
func_extract_archives $gentop $convenience
- libobjs="$libobjs $func_extract_archives_result"
+ func_append libobjs " $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
fi
fi
-
- if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+
+ if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then
eval flag=\"$thread_safe_flag_spec\"
- linker_flags="$linker_flags $flag"
+ func_append linker_flags " $flag"
fi
# Make a backup of the uninstalled library when relinking
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
+ if test relink = "$opt_mode"; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
fi
# Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
+ if test yes = "$module" && test -n "$module_cmds"; then
if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
eval test_cmds=\"$module_expsym_cmds\"
cmds=$module_expsym_cmds
@@ -3875,21 +9886,24 @@ EOF
cmds=$module_cmds
fi
else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- eval test_cmds=\"$archive_expsym_cmds\"
- cmds=$archive_expsym_cmds
- else
- eval test_cmds=\"$archive_cmds\"
- cmds=$archive_cmds
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ eval test_cmds=\"$archive_expsym_cmds\"
+ cmds=$archive_expsym_cmds
+ else
+ eval test_cmds=\"$archive_cmds\"
+ cmds=$archive_cmds
fi
fi
- if test "X$skipped_export" != "X:" && len=`expr "X$test_cmds" : ".*"` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ if test : != "$skipped_export" &&
+ func_len " $test_cmds" &&
+ len=$func_len_result &&
+ test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
:
else
- # The command line is too long to link in one step, link piecewise.
- $echo "creating reloadable object files..."
+ # The command line is too long to link in one step, link piecewise
+ # or, if using GNU ld and skipped_export is not :, use a linker
+ # script.
# Save the value of $output and $libobjs because we want to
# use them later. If we have whole_archive_flag_spec, we
@@ -3903,77 +9917,171 @@ EOF
save_libobjs=$libobjs
fi
save_output=$output
- output_la=`$echo "X$output" | $Xsed -e "$basename"`
+ func_basename "$output"
+ output_la=$func_basename_result
# Clear the reloadable object creation command queue and
# initialize k to one.
test_cmds=
concat_cmds=
objlist=
- delfiles=
last_robj=
k=1
- output=$output_objdir/$output_la-${k}.$objext
- # Loop over the list of objects to be linked.
- for obj in $save_libobjs
- do
- eval test_cmds=\"$reload_cmds $objlist $last_robj\"
- if test "X$objlist" = X ||
- { len=`expr "X$test_cmds" : ".*"` &&
- test "$len" -le "$max_cmd_len"; }; then
- objlist="$objlist $obj"
- else
- # The command $test_cmds is almost too long, add a
- # command to the queue.
- if test "$k" -eq 1 ; then
- # The first file doesn't have a previous command to add.
- eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
- else
- # All subsequent reloadable object files will link in
- # the last one created.
- eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
+
+ if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then
+ output=$output_objdir/$output_la.lnkscript
+ func_verbose "creating GNU ld script: $output"
+ echo 'INPUT (' > $output
+ for obj in $save_libobjs
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result" >> $output
+ done
+ echo ')' >> $output
+ func_append delfiles " $output"
+ func_to_tool_file "$output"
+ output=$func_to_tool_file_result
+ elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then
+ output=$output_objdir/$output_la.lnk
+ func_verbose "creating linker input file list: $output"
+ : > $output
+ set x $save_libobjs
+ shift
+ firstobj=
+ if test yes = "$compiler_needs_object"; then
+ firstobj="$1 "
+ shift
+ fi
+ for obj
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result" >> $output
+ done
+ func_append delfiles " $output"
+ func_to_tool_file "$output"
+ output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
+ else
+ if test -n "$save_libobjs"; then
+ func_verbose "creating reloadable object files..."
+ output=$output_objdir/$output_la-$k.$objext
+ eval test_cmds=\"$reload_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+
+ # Loop over the list of objects to be linked.
+ for obj in $save_libobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ if test -z "$objlist" ||
+ test "$len" -lt "$max_cmd_len"; then
+ func_append objlist " $obj"
+ else
+ # The command $test_cmds is almost too long, add a
+ # command to the queue.
+ if test 1 -eq "$k"; then
+ # The first file doesn't have a previous command to add.
+ reload_objs=$objlist
+ eval concat_cmds=\"$reload_cmds\"
+ else
+ # All subsequent reloadable object files will link in
+ # the last one created.
+ reload_objs="$objlist $last_robj"
+ eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
+ fi
+ last_robj=$output_objdir/$output_la-$k.$objext
+ func_arith $k + 1
+ k=$func_arith_result
+ output=$output_objdir/$output_la-$k.$objext
+ objlist=" $obj"
+ func_len " $last_robj"
+ func_arith $len0 + $func_len_result
+ len=$func_arith_result
+ fi
+ done
+ # Handle the remaining objects by creating one last
+ # reloadable object file. All subsequent reloadable object
+ # files will link in the last one created.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ reload_objs="$objlist $last_robj"
+ eval concat_cmds=\"\$concat_cmds$reload_cmds\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
fi
- last_robj=$output_objdir/$output_la-${k}.$objext
- k=`expr $k + 1`
- output=$output_objdir/$output_la-${k}.$objext
- objlist=$obj
- len=1
+ func_append delfiles " $output"
+
+ else
+ output=
fi
- done
- # Handle the remaining objects by creating one last
- # reloadable object file. All subsequent reloadable object
- # files will link in the last one created.
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
-
- if ${skipped_export-false}; then
- $show "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
- $run $rm $export_symbols
- libobjs=$output
- # Append the command to create the export file.
- eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
- fi
- # Set up a command to remove the reloadable object files
- # after they are used.
- i=0
- while test "$i" -lt "$k"
- do
- i=`expr $i + 1`
- delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
- done
+ ${skipped_export-false} && {
+ func_verbose "generating symbol list for '$libname.la'"
+ export_symbols=$output_objdir/$libname.exp
+ $opt_dry_run || $RM $export_symbols
+ libobjs=$output
+ # Append the command to create the export file.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+ fi
+ }
+
+ test -n "$save_libobjs" &&
+ func_verbose "creating a temporary reloadable object file: $output"
+
+ # Loop through the commands generated above and execute them.
+ save_ifs=$IFS; IFS='~'
+ for cmd in $concat_cmds; do
+ IFS=$save_ifs
+ $opt_quiet || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test relink = "$opt_mode"; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
- $echo "creating a temporary reloadable object file: $output"
+ exit $lt_exit
+ }
+ done
+ IFS=$save_ifs
- # Loop through the commands generated above and execute them.
- save_ifs="$IFS"; IFS='~'
- for cmd in $concat_cmds; do
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+ if test -n "$export_symbols_regex" && ${skipped_export-false}; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+
+ ${skipped_export-false} && {
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols=$export_symbols
+ test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
+ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands, which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+ }
libobjs=$output
# Restore the value of output.
@@ -3981,102 +10089,133 @@ EOF
if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
fi
# Expand the library linking commands again to reset the
# value of $libobjs for piecewise linking.
# Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
+ if test yes = "$module" && test -n "$module_cmds"; then
if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
cmds=$module_expsym_cmds
else
cmds=$module_cmds
fi
else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- cmds=$archive_expsym_cmds
- else
- cmds=$archive_cmds
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ cmds=$archive_expsym_cmds
+ else
+ cmds=$archive_cmds
fi
fi
+ fi
- # Append the command to remove the reloadable object files
- # to the just-reset $cmds.
- eval cmds=\"\$cmds~\$rm $delfiles\"
+ if test -n "$delfiles"; then
+ # Append the command to remove temporary files to $cmds.
+ eval cmds=\"\$cmds~\$RM $delfiles\"
fi
- save_ifs="$IFS"; IFS='~'
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop=$output_objdir/${outputname}x
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ func_append libobjs " $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+
+ save_ifs=$IFS; IFS='~'
for cmd in $cmds; do
- IFS="$save_ifs"
+ IFS=$sp$nl
eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
+ IFS=$save_ifs
+ $opt_quiet || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test relink = "$opt_mode"; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
+
+ exit $lt_exit
+ }
done
- IFS="$save_ifs"
+ IFS=$save_ifs
# Restore the uninstalled library and exit
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
+ if test relink = "$opt_mode"; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
+
+ if test -n "$convenience"; then
+ if test -z "$whole_archive_flag_spec"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+ fi
+
exit $EXIT_SUCCESS
fi
# Create links to the real library.
for linkname in $linknames; do
if test "$realname" != "$linkname"; then
- $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
- $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
+ func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
fi
done
# If -module or -export-dynamic was specified, set the dlname.
- if test "$module" = yes || test "$export_dynamic" = yes; then
+ if test yes = "$module" || test yes = "$export_dynamic"; then
# On all known operating systems, these are identical.
- dlname="$soname"
+ dlname=$soname
fi
fi
;;
obj)
- if test -n "$deplibs"; then
- $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
+ if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+ func_warning "'-dlopen' is ignored for objects"
fi
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
- fi
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "'-l' and '-L' are ignored for objects" ;;
+ esac
- if test -n "$rpath"; then
- $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
- fi
+ test -n "$rpath" && \
+ func_warning "'-rpath' is ignored for objects"
- if test -n "$xrpath"; then
- $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
- fi
+ test -n "$xrpath" && \
+ func_warning "'-R' is ignored for objects"
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
- fi
+ test -n "$vinfo" && \
+ func_warning "'-version-info' is ignored for objects"
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
- fi
+ test -n "$release" && \
+ func_warning "'-release' is ignored for objects"
case $output in
*.lo)
- if test -n "$objs$old_deplibs"; then
- $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
- exit $EXIT_FAILURE
- fi
- libobj="$output"
- obj=`$echo "X$output" | $Xsed -e "$lo2o"`
+ test -n "$objs$old_deplibs" && \
+ func_fatal_error "cannot build library object '$output' from non-libtool objects"
+
+ libobj=$output
+ func_lo2o "$libobj"
+ obj=$func_lo2o_result
;;
*)
libobj=
- obj="$output"
+ obj=$output
;;
esac
# Delete the old objects.
- $run $rm $obj $libobj
+ $opt_dry_run || $RM $obj $libobj
# Objects from convenience libraries. This assumes
# single-version convenience libraries. Whenever we create
@@ -4084,77 +10223,65 @@ EOF
# the extraction.
reload_conv_objs=
gentop=
- # reload_cmds runs $LD directly, so let us get rid of
- # -Wl from whole_archive_flag_spec
- wl=
-
+ # if reload_cmds runs $LD directly, get rid of -Wl from
+ # whole_archive_flag_spec and hope we can get by with turning comma
+ # into space.
+ case $reload_cmds in
+ *\$LD[\ \$]*) wl= ;;
+ esac
if test -n "$convenience"; then
if test -n "$whole_archive_flag_spec"; then
- eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
+ eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+ test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+ reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags
else
- gentop="$output_objdir/${obj}x"
- generated="$generated $gentop"
+ gentop=$output_objdir/${obj}x
+ func_append generated " $gentop"
func_extract_archives $gentop $convenience
reload_conv_objs="$reload_objs $func_extract_archives_result"
fi
fi
+ # If we're not building shared, we need to use non_pic_objs
+ test yes = "$build_libtool_libs" || libobjs=$non_pic_objects
+
# Create the old-style object.
- reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
-
- output="$obj"
- cmds=$reload_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+ reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs
+
+ output=$obj
+ func_execute_cmds "$reload_cmds" 'exit $?'
# Exit if we aren't doing a library object file.
if test -z "$libobj"; then
if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
+ func_show_eval '${RM}r "$gentop"'
fi
exit $EXIT_SUCCESS
fi
- if test "$build_libtool_libs" != yes; then
+ test yes = "$build_libtool_libs" || {
if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
+ func_show_eval '${RM}r "$gentop"'
fi
# Create an invalid libtool object if no PIC, so that we don't
# accidentally link it into a program.
# $show "echo timestamp > $libobj"
- # $run eval "echo timestamp > $libobj" || exit $?
+ # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
exit $EXIT_SUCCESS
- fi
+ }
- if test -n "$pic_flag" || test "$pic_mode" != default; then
+ if test -n "$pic_flag" || test default != "$pic_mode"; then
# Only do commands if we really have different PIC objects.
reload_objs="$libobjs $reload_conv_objs"
- output="$libobj"
- cmds=$reload_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+ output=$libobj
+ func_execute_cmds "$reload_cmds" 'exit $?'
fi
if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
+ func_show_eval '${RM}r "$gentop"'
fi
exit $EXIT_SUCCESS
@@ -4162,43 +10289,76 @@ EOF
prog)
case $host in
- *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
+ *cygwin*) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result.exe;;
esac
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
- fi
+ test -n "$vinfo" && \
+ func_warning "'-version-info' is ignored for programs"
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
- fi
+ test -n "$release" && \
+ func_warning "'-release' is ignored for programs"
- if test "$preload" = yes; then
- if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
- test "$dlopen_self_static" = unknown; then
- $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
- fi
- fi
+ $preload \
+ && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \
+ && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support."
case $host in
*-*-rhapsody* | *-*-darwin1.[012])
# On Rhapsody replace the C library is the System framework
- compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
- finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+ compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
+ finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
;;
esac
case $host in
- *darwin*)
- # Don't allow lazy linking, it breaks C++ global constructors
- if test "$tagname" = CXX ; then
- compile_command="$compile_command ${wl}-bind_at_load"
- finalize_command="$finalize_command ${wl}-bind_at_load"
- fi
- ;;
+ *-*-darwin*)
+ # Don't allow lazy linking, it breaks C++ global constructors
+ # But is supposedly fixed on 10.4 or later (yay!).
+ if test CXX = "$tagname"; then
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+ 10.[0123])
+ func_append compile_command " $wl-bind_at_load"
+ func_append finalize_command " $wl-bind_at_load"
+ ;;
+ esac
+ fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
esac
- compile_command="$compile_command $compile_deplibs"
- finalize_command="$finalize_command $finalize_deplibs"
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $compile_deplibs " in
+ *" -L$path/$objdir "*)
+ func_append new_libs " -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $compile_deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ done
+ compile_deplibs=$new_libs
+
+
+ func_append compile_command " $compile_deplibs"
+ func_append finalize_command " $finalize_deplibs"
if test -n "$rpath$xrpath"; then
# If the user specified any rpath flags, then add them.
@@ -4206,7 +10366,7 @@ EOF
# This is the magic to use -rpath.
case "$finalize_rpath " in
*" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir" ;;
+ *) func_append finalize_rpath " $libdir" ;;
esac
done
fi
@@ -4218,32 +10378,39 @@ EOF
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
+ hardcode_libdirs=$libdir
else
# Just accumulate the unique libdirs.
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
;;
*)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
;;
esac
fi
else
eval flag=\"$hardcode_libdir_flag_spec\"
- rpath="$rpath $flag"
+ func_append rpath " $flag"
fi
elif test -n "$runpath_var"; then
case "$perm_rpath " in
*" $libdir "*) ;;
- *) perm_rpath="$perm_rpath $libdir" ;;
+ *) func_append perm_rpath " $libdir" ;;
esac
fi
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$libdir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$libdir";;
+ ::) dllsearchpath=$libdir;;
+ *) func_append dllsearchpath ":$libdir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+ *) func_append dllsearchpath ":$testbindir";;
esac
;;
esac
@@ -4251,10 +10418,10 @@ EOF
# Substitute the hardcoded libdirs into the rpath.
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
+ libdir=$hardcode_libdirs
eval rpath=\" $hardcode_libdir_flag_spec\"
fi
- compile_rpath="$rpath"
+ compile_rpath=$rpath
rpath=
hardcode_libdirs=
@@ -4262,287 +10429,86 @@ EOF
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
+ hardcode_libdirs=$libdir
else
# Just accumulate the unique libdirs.
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
;;
*)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
;;
esac
fi
else
eval flag=\"$hardcode_libdir_flag_spec\"
- rpath="$rpath $flag"
+ func_append rpath " $flag"
fi
elif test -n "$runpath_var"; then
case "$finalize_perm_rpath " in
*" $libdir "*) ;;
- *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+ *) func_append finalize_perm_rpath " $libdir" ;;
esac
fi
done
# Substitute the hardcoded libdirs into the rpath.
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
+ libdir=$hardcode_libdirs
eval rpath=\" $hardcode_libdir_flag_spec\"
fi
- finalize_rpath="$rpath"
+ finalize_rpath=$rpath
- if test -n "$libobjs" && test "$build_old_libs" = yes; then
+ if test -n "$libobjs" && test yes = "$build_old_libs"; then
# Transform all the library objects into standard objects.
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
fi
- dlsyms=
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- if test -n "$NM" && test -n "$global_symbol_pipe"; then
- dlsyms="${outputname}S.c"
- else
- $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
- fi
- fi
-
- if test -n "$dlsyms"; then
- case $dlsyms in
- "") ;;
- *.c)
- # Discover the nlist of each of the dlfiles.
- nlist="$output_objdir/${outputname}.nm"
-
- $show "$rm $nlist ${nlist}S ${nlist}T"
- $run $rm "$nlist" "${nlist}S" "${nlist}T"
-
- # Parse the name list into a source file.
- $show "creating $output_objdir/$dlsyms"
-
- test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
-/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
-/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-/* Prevent the only kind of declaration conflicts we can make. */
-#define lt_preloaded_symbols some_other_symbol
-
-/* External symbol declarations for the compiler. */\
-"
-
- if test "$dlself" = yes; then
- $show "generating symbol list for \`$output'"
-
- test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
-
- # Add our own program objects to the symbol list.
- progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- for arg in $progfiles; do
- $show "extracting global C symbols from \`$arg'"
- $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
- done
-
- if test -n "$exclude_expsyms"; then
- $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
- $run eval '$mv "$nlist"T "$nlist"'
- fi
-
- if test -n "$export_symbols_regex"; then
- $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
- $run eval '$mv "$nlist"T "$nlist"'
- fi
-
- # Prepare the list of exported symbols
- if test -z "$export_symbols"; then
- export_symbols="$output_objdir/$outputname.exp"
- $run $rm $export_symbols
- $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
- else
- $run eval "${SED} -e 's/\([ ][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
- $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
- $run eval 'mv "$nlist"T "$nlist"'
- fi
- fi
-
- for arg in $dlprefiles; do
- $show "extracting global C symbols from \`$arg'"
- name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
- $run eval '$echo ": $name " >> "$nlist"'
- $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
- done
-
- if test -z "$run"; then
- # Make sure we have at least an empty file.
- test -f "$nlist" || : > "$nlist"
-
- if test -n "$exclude_expsyms"; then
- $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
- $mv "$nlist"T "$nlist"
- fi
-
- # Try sorting and uniquifying the output.
- if grep -v "^: " < "$nlist" |
- if sort -k 3 </dev/null >/dev/null 2>&1; then
- sort -k 3
- else
- sort +2
- fi |
- uniq > "$nlist"S; then
- :
- else
- grep -v "^: " < "$nlist" > "$nlist"S
- fi
-
- if test -f "$nlist"S; then
- eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
- else
- $echo '/* NONE */' >> "$output_objdir/$dlsyms"
- fi
-
- $echo >> "$output_objdir/$dlsyms" "\
-
-#undef lt_preloaded_symbols
-
-#if defined (__STDC__) && __STDC__
-# define lt_ptr void *
-#else
-# define lt_ptr char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-"
-
- case $host in
- *cygwin* | *mingw* )
- $echo >> "$output_objdir/$dlsyms" "\
-/* DATA imports from DLLs on WIN32 can't be const, because
- runtime relocations are performed -- see ld's documentation
- on pseudo-relocs */
-struct {
-"
- ;;
- * )
- $echo >> "$output_objdir/$dlsyms" "\
-const struct {
-"
- ;;
- esac
-
+ func_generate_dlsyms "$outputname" "@PROGRAM@" false
- $echo >> "$output_objdir/$dlsyms" "\
- const char *name;
- lt_ptr address;
-}
-lt_preloaded_symbols[] =
-{\
-"
-
- eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
-
- $echo >> "$output_objdir/$dlsyms" "\
- {0, (lt_ptr) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
- fi
-
- pic_flag_for_symtable=
- case $host in
- # compiling the symbol table file with pic_flag works around
- # a FreeBSD bug that causes programs to crash when -lm is
- # linked before any other PIC object. But we must not use
- # pic_flag when linking with -static. The problem exists in
- # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
- *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
- case "$compile_command " in
- *" -static "*) ;;
- *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
- esac;;
- *-*-hpux*)
- case "$compile_command " in
- *" -static "*) ;;
- *) pic_flag_for_symtable=" $pic_flag";;
- esac
- esac
-
- # Now compile the dynamic symbol file.
- $show "(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
- $run eval '(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
-
- # Clean up the generated files.
- $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
- $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
-
- # Transform the symbol file into the correct name.
- compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
- ;;
- *)
- $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- else
- # We keep going just in case the user didn't refer to
- # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
- # really was required.
-
- # Nullify the symbol file.
- compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+ # template prelinking step
+ if test -n "$prelink_cmds"; then
+ func_execute_cmds "$prelink_cmds" 'exit $?'
fi
- if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+ wrappers_required=:
+ case $host in
+ *cegcc* | *mingw32ce*)
+ # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
+ wrappers_required=false
+ ;;
+ *cygwin* | *mingw* )
+ test yes = "$build_libtool_libs" || wrappers_required=false
+ ;;
+ *)
+ if test no = "$need_relink" || test yes != "$build_libtool_libs"; then
+ wrappers_required=false
+ fi
+ ;;
+ esac
+ $wrappers_required || {
# Replace the output file specification.
- compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
- link_command="$compile_command$compile_rpath"
+ compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
+ link_command=$compile_command$compile_rpath
# We have no uninstalled library dependencies, so finalize right now.
- $show "$link_command"
- $run eval "$link_command"
- status=$?
+ exit_status=0
+ func_show_eval "$link_command" 'exit_status=$?'
- # Delete the generated files.
- if test -n "$dlsyms"; then
- $show "$rm $output_objdir/${outputname}S.${objext}"
- $run $rm "$output_objdir/${outputname}S.${objext}"
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
fi
- exit $status
- fi
+ # Delete the generated files.
+ if test -f "$output_objdir/${outputname}S.$objext"; then
+ func_show_eval '$RM "$output_objdir/${outputname}S.$objext"'
+ fi
- if test -n "$shlibpath_var"; then
- # We should set the shlibpath_var
- rpath=
- for dir in $temp_rpath; do
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*)
- # Absolute path.
- rpath="$rpath$dir:"
- ;;
- *)
- # Relative path: add a thisdir entry.
- rpath="$rpath\$thisdir/$dir:"
- ;;
- esac
- done
- temp_rpath="$rpath"
- fi
+ exit $exit_status
+ }
if test -n "$compile_shlibpath$finalize_shlibpath"; then
compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
@@ -4558,7 +10524,7 @@ static const void *lt_preloaded_setup() {
# We should set the runpath_var.
rpath=
for dir in $perm_rpath; do
- rpath="$rpath$dir:"
+ func_append rpath "$dir:"
done
compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
fi
@@ -4566,490 +10532,147 @@ static const void *lt_preloaded_setup() {
# We should set the runpath_var.
rpath=
for dir in $finalize_perm_rpath; do
- rpath="$rpath$dir:"
+ func_append rpath "$dir:"
done
finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
fi
fi
- if test "$no_install" = yes; then
+ if test yes = "$no_install"; then
# We don't need to create a wrapper script.
- link_command="$compile_var$compile_command$compile_rpath"
+ link_command=$compile_var$compile_command$compile_rpath
# Replace the output file specification.
- link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
# Delete the old output file.
- $run $rm $output
+ $opt_dry_run || $RM $output
# Link the executable and exit
- $show "$link_command"
- $run eval "$link_command" || exit $?
+ func_show_eval "$link_command" 'exit $?'
+
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
+
exit $EXIT_SUCCESS
fi
- if test "$hardcode_action" = relink; then
- # Fast installation is not supported
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
+ case $hardcode_action,$fast_install in
+ relink,*)
+ # Fast installation is not supported
+ link_command=$compile_var$compile_command$compile_rpath
+ relink_command=$finalize_var$finalize_command$finalize_rpath
- $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
- $echo "$modename: \`$output' will be relinked during installation" 1>&2
- else
- if test "$fast_install" != no; then
- link_command="$finalize_var$compile_command$finalize_rpath"
- if test "$fast_install" = yes; then
- relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
- else
- # fast_install is set to needless
- relink_command=
- fi
- else
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
- fi
- fi
+ func_warning "this platform does not like uninstalled shared libraries"
+ func_warning "'$output' will be relinked during installation"
+ ;;
+ *,yes)
+ link_command=$finalize_var$compile_command$finalize_rpath
+ relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
+ ;;
+ *,no)
+ link_command=$compile_var$compile_command$compile_rpath
+ relink_command=$finalize_var$finalize_command$finalize_rpath
+ ;;
+ *,needless)
+ link_command=$finalize_var$compile_command$finalize_rpath
+ relink_command=
+ ;;
+ esac
# Replace the output file specification.
- link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+ link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
# Delete the old output files.
- $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
+ $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
- $show "$link_command"
- $run eval "$link_command" || exit $?
+ func_show_eval "$link_command" 'exit $?'
+
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output_objdir/$outputname"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
# Now create the wrapper script.
- $show "creating $output"
+ func_verbose "creating $output"
# Quote the relink command for shipping.
if test -n "$relink_command"; then
# Preserve any variables that may affect compiler behavior
for var in $variables_saved_for_relink; do
if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
elif eval var_value=\$$var; test -z "$var_value"; then
relink_command="$var=; export $var; $relink_command"
else
- var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
- relink_command="$var=\"$var_value\"; export $var; $relink_command"
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
fi
done
relink_command="(cd `pwd`; $relink_command)"
- relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
- fi
-
- # Quote $echo for shipping.
- if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
- case $progpath in
- [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
- *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
- esac
- qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
- else
- qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
+ relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
fi
- # Only actually do things if our run command is non-null.
- if test -z "$run"; then
+ # Only actually do things if not in dry run mode.
+ $opt_dry_run || {
# win32 will think the script is a binary if it has
# a .exe suffix, so we strip it off here.
case $output in
- *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
+ *.exe) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result ;;
esac
# test for cygwin because mv fails w/o .exe extensions
case $host in
*cygwin*)
exeext=.exe
- outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
+ func_stripname '' '.exe' "$outputname"
+ outputname=$func_stripname_result ;;
*) exeext= ;;
esac
case $host in
*cygwin* | *mingw* )
- cwrappersource=`$echo ${objdir}/lt-${outputname}.c`
- cwrapper=`$echo ${output}.exe`
- $rm $cwrappersource $cwrapper
- trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
- cat > $cwrappersource <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
- Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-
- The $output program cannot be directly executed until all the libtool
- libraries that it depends on are installed.
-
- This wrapper executable should never be moved out of the build directory.
- If it is, it will not operate correctly.
-
- Currently, it simply execs the wrapper *script* "/bin/sh $output",
- but could eventually absorb all of the scripts functionality and
- exec $objdir/$outputname directly.
-*/
-EOF
- cat >> $cwrappersource<<"EOF"
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-
-#if defined(PATH_MAX)
-# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef DIR_SEPARATOR
-#define DIR_SEPARATOR '/'
-#endif
-
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
- defined (__OS2__)
-#define HAVE_DOS_BASED_FILE_SYSTEM
-#ifndef DIR_SEPARATOR_2
-#define DIR_SEPARATOR_2 '\\'
-#endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
- (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
- if (stale) { free ((void *) stale); stale = 0; } \
-} while (0)
-
-const char *program_name = NULL;
-
-void * xmalloc (size_t num);
-char * xstrdup (const char *string);
-char * basename (const char *name);
-char * fnqualify(const char *path);
-char * strendzap(char *str, const char *pat);
-void lt_fatal (const char *message, ...);
-
-int
-main (int argc, char *argv[])
-{
- char **newargz;
- int i;
-
- program_name = (char *) xstrdup ((char *) basename (argv[0]));
- newargz = XMALLOC(char *, argc+2);
-EOF
-
- cat >> $cwrappersource <<EOF
- newargz[0] = "$SHELL";
-EOF
-
- cat >> $cwrappersource <<"EOF"
- newargz[1] = fnqualify(argv[0]);
- /* we know the script has the same name, without the .exe */
- /* so make sure newargz[1] doesn't end in .exe */
- strendzap(newargz[1],".exe");
- for (i = 1; i < argc; i++)
- newargz[i+1] = xstrdup(argv[i]);
- newargz[argc+1] = NULL;
-EOF
-
- cat >> $cwrappersource <<EOF
- execv("$SHELL",newargz);
-EOF
-
- cat >> $cwrappersource <<"EOF"
-}
-
-void *
-xmalloc (size_t num)
-{
- void * p = (void *) malloc (num);
- if (!p)
- lt_fatal ("Memory exhausted");
-
- return p;
-}
-
-char *
-xstrdup (const char *string)
-{
- return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
-;
-}
-
-char *
-basename (const char *name)
-{
- const char *base;
-
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- /* Skip over the disk name in MSDOS pathnames. */
- if (isalpha (name[0]) && name[1] == ':')
- name += 2;
-#endif
-
- for (base = name; *name; name++)
- if (IS_DIR_SEPARATOR (*name))
- base = name + 1;
- return (char *) base;
-}
-
-char *
-fnqualify(const char *path)
-{
- size_t size;
- char *p;
- char tmp[LT_PATHMAX + 1];
-
- assert(path != NULL);
-
- /* Is it qualified already? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- if (isalpha (path[0]) && path[1] == ':')
- return xstrdup (path);
-#endif
- if (IS_DIR_SEPARATOR (path[0]))
- return xstrdup (path);
-
- /* prepend the current directory */
- /* doesn't handle '~' */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
- size = strlen(tmp) + 1 + strlen(path) + 1; /* +2 for '/' and '\0' */
- p = XMALLOC(char, size);
- sprintf(p, "%s%c%s", tmp, DIR_SEPARATOR, path);
- return p;
-}
-
-char *
-strendzap(char *str, const char *pat)
-{
- size_t len, patlen;
-
- assert(str != NULL);
- assert(pat != NULL);
-
- len = strlen(str);
- patlen = strlen(pat);
-
- if (patlen <= len)
- {
- str += len - patlen;
- if (strcmp(str, pat) == 0)
- *str = '\0';
- }
- return str;
-}
-
-static void
-lt_error_core (int exit_status, const char * mode,
- const char * message, va_list ap)
-{
- fprintf (stderr, "%s: %s: ", program_name, mode);
- vfprintf (stderr, message, ap);
- fprintf (stderr, ".\n");
-
- if (exit_status >= 0)
- exit (exit_status);
-}
-
-void
-lt_fatal (const char *message, ...)
-{
- va_list ap;
- va_start (ap, message);
- lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
- va_end (ap);
-}
-EOF
- # we should really use a build-platform specific compiler
- # here, but OTOH, the wrappers (shell script and this C one)
- # are only useful if you want to execute the "real" binary.
- # Since the "real" binary is built for $host, then this
- # wrapper might as well be built for $host, too.
- $run $LTCC -s -o $cwrapper $cwrappersource
- ;;
- esac
- $rm $output
- trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
-
- $echo > $output "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='${SED} -e 1s/^X//'
-sed_quote_subst='$sed_quote_subst'
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
- # install mode needs the following variable:
- notinst_deplibs='$notinst_deplibs'
-else
- # When we are sourced in execute mode, \$file and \$echo are already set.
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- echo=\"$qecho\"
- file=\"\$0\"
- # Make sure echo works.
- if test \"X\$1\" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
- elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
- # Yippee, \$echo works!
- :
- else
- # Restart under the correct shell, and then maybe \$echo will work.
- exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
- fi
- fi\
-"
- $echo >> $output "\
-
- # Find the directory that this script lives in.
- thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
- test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
- # Follow symbolic links until we get to the real thisdir.
- file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
- while test -n \"\$file\"; do
- destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
-
- # If there was a directory component, then change thisdir.
- if test \"x\$destdir\" != \"x\$file\"; then
- case \"\$destdir\" in
- [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
- *) thisdir=\"\$thisdir/\$destdir\" ;;
- esac
- fi
-
- file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
- file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
- done
-
- # Try to get the absolute directory name.
- absdir=\`cd \"\$thisdir\" && pwd\`
- test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
- if test "$fast_install" = yes; then
- $echo >> $output "\
- program=lt-'$outputname'$exeext
- progdir=\"\$thisdir/$objdir\"
-
- if test ! -f \"\$progdir/\$program\" || \\
- { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
- test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
- file=\"\$\$-\$program\"
-
- if test ! -d \"\$progdir\"; then
- $mkdir \"\$progdir\"
- else
- $rm \"\$progdir/\$file\"
- fi"
-
- $echo >> $output "\
-
- # relink executable if necessary
- if test -n \"\$relink_command\"; then
- if relink_command_output=\`eval \$relink_command 2>&1\`; then :
- else
- $echo \"\$relink_command_output\" >&2
- $rm \"\$progdir/\$file\"
- exit $EXIT_FAILURE
- fi
- fi
-
- $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
- { $rm \"\$progdir/\$program\";
- $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
- $rm \"\$progdir/\$file\"
- fi"
- else
- $echo >> $output "\
- program='$outputname'
- progdir=\"\$thisdir/$objdir\"
-"
- fi
-
- $echo >> $output "\
-
- if test -f \"\$progdir/\$program\"; then"
-
- # Export our shlibpath_var if we have one.
- if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
- $echo >> $output "\
- # Add our own library path to $shlibpath_var
- $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
- # Some systems cannot cope with colon-terminated $shlibpath_var
- # The second colon is a workaround for a bug in BeOS R4 sed
- $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
-
- export $shlibpath_var
-"
- fi
-
- # fixup the dll searchpath if we need to.
- if test -n "$dllsearchpath"; then
- $echo >> $output "\
- # Add the dll search path components to the executable PATH
- PATH=$dllsearchpath:\$PATH
-"
- fi
-
- $echo >> $output "\
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- # Run the actual program with our arguments.
-"
- case $host in
- # Backslashes separate directories on plain windows
- *-*-mingw | *-*-os2*)
- $echo >> $output "\
- exec \$progdir\\\\\$program \${1+\"\$@\"}
-"
+ func_dirname_and_basename "$output" "" "."
+ output_name=$func_basename_result
+ output_path=$func_dirname_result
+ cwrappersource=$output_path/$objdir/lt-$output_name.c
+ cwrapper=$output_path/$output_name.exe
+ $RM $cwrappersource $cwrapper
+ trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+ func_emit_cwrapperexe_src > $cwrappersource
+
+ # The wrapper executable is built using the $host compiler,
+ # because it contains $host paths and files. If cross-
+ # compiling, it, like the target executable, must be
+ # executed on the $host or under an emulation environment.
+ $opt_dry_run || {
+ $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
+ $STRIP $cwrapper
+ }
+
+ # Now, create the wrapper script for func_source use:
+ func_ltwrapper_scriptname $cwrapper
+ $RM $func_ltwrapper_scriptname_result
+ trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
+ $opt_dry_run || {
+ # note: this script will not be executed, so do not chmod.
+ if test "x$build" = "x$host"; then
+ $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
+ else
+ func_emit_wrapper no > $func_ltwrapper_scriptname_result
+ fi
+ }
;;
+ * )
+ $RM $output
+ trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
- *)
- $echo >> $output "\
- exec \$progdir/\$program \${1+\"\$@\"}
-"
+ func_emit_wrapper no > $output
+ chmod +x $output
;;
esac
- $echo >> $output "\
- \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
- exit $EXIT_FAILURE
- fi
- else
- # The program doesn't exist.
- \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
- \$echo \"This script is just a wrapper for \$program.\" 1>&2
- $echo \"See the $PACKAGE documentation for more information.\" 1>&2
- exit $EXIT_FAILURE
- fi
-fi\
-"
- chmod +x $output
- fi
+ }
exit $EXIT_SUCCESS
;;
esac
@@ -5057,32 +10680,47 @@ fi\
# See if we need to build an old-fashioned archive.
for oldlib in $oldlibs; do
- if test "$build_libtool_libs" = convenience; then
- oldobjs="$libobjs_save"
- addlibs="$convenience"
- build_libtool_libs=no
- else
- if test "$build_libtool_libs" = module; then
- oldobjs="$libobjs_save"
+ case $build_libtool_libs in
+ convenience)
+ oldobjs="$libobjs_save $symfileobj"
+ addlibs=$convenience
build_libtool_libs=no
- else
+ ;;
+ module)
+ oldobjs=$libobjs_save
+ addlibs=$old_convenience
+ build_libtool_libs=no
+ ;;
+ *)
oldobjs="$old_deplibs $non_pic_objects"
- fi
- addlibs="$old_convenience"
- fi
+ $preload && test -f "$symfileobj" \
+ && func_append oldobjs " $symfileobj"
+ addlibs=$old_convenience
+ ;;
+ esac
if test -n "$addlibs"; then
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
+ gentop=$output_objdir/${outputname}x
+ func_append generated " $gentop"
func_extract_archives $gentop $addlibs
- oldobjs="$oldobjs $func_extract_archives_result"
+ func_append oldobjs " $func_extract_archives_result"
fi
# Do each command in the archive commands.
- if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
- cmds=$old_archive_from_new_cmds
+ if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then
+ cmds=$old_archive_from_new_cmds
else
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop=$output_objdir/${outputname}x
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ func_append oldobjs " $func_extract_archives_result"
+ fi
+
# POSIX demands no paths to be encoded in archives. We have
# to avoid creating archives with duplicate basenames if we
# might have to extract them afterwards, e.g., when creating a
@@ -5091,32 +10729,22 @@ fi\
# not supported by libtool).
if (for obj in $oldobjs
do
- $echo "X$obj" | $Xsed -e 's%^.*/%%'
+ func_basename "$obj"
+ $ECHO "$func_basename_result"
done | sort | sort -uc >/dev/null 2>&1); then
:
else
- $echo "copying selected object files to avoid basename conflicts..."
-
- if test -z "$gentop"; then
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- $show "${rm}r $gentop"
- $run ${rm}r "$gentop"
- $show "$mkdir $gentop"
- $run $mkdir "$gentop"
- status=$?
- if test "$status" -ne 0 && test ! -d "$gentop"; then
- exit $status
- fi
- fi
-
+ echo "copying selected object files to avoid basename conflicts..."
+ gentop=$output_objdir/${outputname}x
+ func_append generated " $gentop"
+ func_mkdir_p "$gentop"
save_oldobjs=$oldobjs
oldobjs=
counter=1
for obj in $save_oldobjs
do
- objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+ func_basename "$obj"
+ objbase=$func_basename_result
case " $oldobjs " in
" ") oldobjs=$obj ;;
*[\ /]"$objbase "*)
@@ -5124,186 +10752,231 @@ fi\
# Make sure we don't pick an alternate name that also
# overlaps.
newobj=lt$counter-$objbase
- counter=`expr $counter + 1`
+ func_arith $counter + 1
+ counter=$func_arith_result
case " $oldobjs " in
*[\ /]"$newobj "*) ;;
*) if test ! -f "$gentop/$newobj"; then break; fi ;;
esac
done
- $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
- $run ln "$obj" "$gentop/$newobj" ||
- $run cp "$obj" "$gentop/$newobj"
- oldobjs="$oldobjs $gentop/$newobj"
+ func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+ func_append oldobjs " $gentop/$newobj"
;;
- *) oldobjs="$oldobjs $obj" ;;
+ *) func_append oldobjs " $obj" ;;
esac
done
fi
-
+ func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+ tool_oldlib=$func_to_tool_file_result
eval cmds=\"$old_archive_cmds\"
- if len=`expr "X$cmds" : ".*"` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ func_len " $cmds"
+ len=$func_len_result
+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ cmds=$old_archive_cmds
+ elif test -n "$archiver_list_spec"; then
+ func_verbose "using command file archive linking..."
+ for obj in $oldobjs
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result"
+ done > $output_objdir/$libname.libcmd
+ func_to_tool_file "$output_objdir/$libname.libcmd"
+ oldobjs=" $archiver_list_spec$func_to_tool_file_result"
cmds=$old_archive_cmds
else
# the command line is too long to link in one step, link in parts
- $echo "using piecewise archive linking..."
+ func_verbose "using piecewise archive linking..."
save_RANLIB=$RANLIB
RANLIB=:
objlist=
concat_cmds=
save_oldobjs=$oldobjs
-
+ oldobjs=
# Is there a better way of finding the last object in the list?
for obj in $save_oldobjs
do
last_oldobj=$obj
done
+ eval test_cmds=\"$old_archive_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
for obj in $save_oldobjs
do
- oldobjs="$objlist $obj"
- objlist="$objlist $obj"
- eval test_cmds=\"$old_archive_cmds\"
- if len=`expr "X$test_cmds" : ".*"` &&
- test "$len" -le "$max_cmd_len"; then
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ func_append objlist " $obj"
+ if test "$len" -lt "$max_cmd_len"; then
:
else
# the above command should be used before it gets too long
oldobjs=$objlist
- if test "$obj" = "$last_oldobj" ; then
- RANLIB=$save_RANLIB
+ if test "$obj" = "$last_oldobj"; then
+ RANLIB=$save_RANLIB
fi
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+ eval concat_cmds=\"\$concat_cmds$old_archive_cmds\"
objlist=
+ len=$len0
fi
done
RANLIB=$save_RANLIB
oldobjs=$objlist
- if test "X$oldobjs" = "X" ; then
+ if test -z "$oldobjs"; then
eval cmds=\"\$concat_cmds\"
else
eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
fi
fi
fi
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- eval cmd=\"$cmd\"
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+ func_execute_cmds "$cmds" 'exit $?'
done
- if test -n "$generated"; then
- $show "${rm}r$generated"
- $run ${rm}r$generated
- fi
+ test -n "$generated" && \
+ func_show_eval "${RM}r$generated"
# Now create the libtool archive.
case $output in
*.la)
old_library=
- test "$build_old_libs" = yes && old_library="$libname.$libext"
- $show "creating $output"
+ test yes = "$build_old_libs" && old_library=$libname.$libext
+ func_verbose "creating $output"
# Preserve any variables that may affect compiler behavior
for var in $variables_saved_for_relink; do
if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
elif eval var_value=\$$var; test -z "$var_value"; then
relink_command="$var=; export $var; $relink_command"
else
- var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
- relink_command="$var=\"$var_value\"; export $var; $relink_command"
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
fi
done
# Quote the link command for shipping.
- relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
- relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
- if test "$hardcode_automatic" = yes ; then
+ relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+ relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ if test yes = "$hardcode_automatic"; then
relink_command=
fi
-
# Only create the output if not a dry run.
- if test -z "$run"; then
+ $opt_dry_run || {
for installed in no yes; do
- if test "$installed" = yes; then
+ if test yes = "$installed"; then
if test -z "$install_libdir"; then
break
fi
- output="$output_objdir/$outputname"i
+ output=$output_objdir/${outputname}i
# Replace all uninstalled libtool libraries with the installed ones
newdependency_libs=
for deplib in $dependency_libs; do
case $deplib in
*.la)
- name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- if test -z "$libdir"; then
- $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- newdependency_libs="$newdependency_libs $libdir/$name"
+ func_basename "$deplib"
+ name=$func_basename_result
+ func_resolve_sysroot "$deplib"
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
+ test -z "$libdir" && \
+ func_fatal_error "'$deplib' is not a valid libtool archive"
+ func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
;;
- *) newdependency_libs="$newdependency_libs $deplib" ;;
+ -L*)
+ func_stripname -L '' "$deplib"
+ func_replace_sysroot "$func_stripname_result"
+ func_append newdependency_libs " -L$func_replace_sysroot_result"
+ ;;
+ -R*)
+ func_stripname -R '' "$deplib"
+ func_replace_sysroot "$func_stripname_result"
+ func_append newdependency_libs " -R$func_replace_sysroot_result"
+ ;;
+ *) func_append newdependency_libs " $deplib" ;;
esac
done
- dependency_libs="$newdependency_libs"
+ dependency_libs=$newdependency_libs
newdlfiles=
+
for lib in $dlfiles; do
- name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- if test -z "$libdir"; then
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- newdlfiles="$newdlfiles $libdir/$name"
+ case $lib in
+ *.la)
+ func_basename "$lib"
+ name=$func_basename_result
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "'$lib' is not a valid libtool archive"
+ func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ *) func_append newdlfiles " $lib" ;;
+ esac
done
- dlfiles="$newdlfiles"
+ dlfiles=$newdlfiles
newdlprefiles=
for lib in $dlprefiles; do
- name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- if test -z "$libdir"; then
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- newdlprefiles="$newdlprefiles $libdir/$name"
+ case $lib in
+ *.la)
+ # Only pass preopened files to the pseudo-archive (for
+ # eventual linking with the app. that links it) if we
+ # didn't already link the preopened objects directly into
+ # the library:
+ func_basename "$lib"
+ name=$func_basename_result
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "'$lib' is not a valid libtool archive"
+ func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ esac
done
- dlprefiles="$newdlprefiles"
+ dlprefiles=$newdlprefiles
else
newdlfiles=
for lib in $dlfiles; do
case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
*) abs=`pwd`"/$lib" ;;
esac
- newdlfiles="$newdlfiles $abs"
+ func_append newdlfiles " $abs"
done
- dlfiles="$newdlfiles"
+ dlfiles=$newdlfiles
newdlprefiles=
for lib in $dlprefiles; do
case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
*) abs=`pwd`"/$lib" ;;
esac
- newdlprefiles="$newdlprefiles $abs"
+ func_append newdlprefiles " $abs"
done
- dlprefiles="$newdlprefiles"
+ dlprefiles=$newdlprefiles
fi
- $rm $output
+ $RM $output
# place dlname in correct position for cygwin
+ # In fact, it would be nice if we could use this code for all target
+ # systems that can't hard-code library paths into their executables
+ # and that have no shared library path variable independent of PATH,
+ # but it turns out we can't easily determine that from inspecting
+ # libtool variables, so we have to hard-code the OSs to which it
+ # applies here; at the moment, that means platforms that use the PE
+ # object format with DLL files. See the long comment at the top of
+ # tests/bindir.at for full details.
tdlname=$dlname
case $host,$output,$installed,$module,$dlname in
- *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
+ # If a -bindir argument was supplied, place the dll there.
+ if test -n "$bindir"; then
+ func_relative_path "$install_libdir" "$bindir"
+ tdlname=$func_relative_path_result/$dlname
+ else
+ # Otherwise fall back on heuristic.
+ tdlname=../bin/$dlname
+ fi
+ ;;
esac
- $echo > $output "\
+ $ECHO > $output "\
# $outputname - a libtool library file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
@@ -5317,9 +10990,15 @@ library_names='$library_names'
# The name of the static archive.
old_library='$old_library'
+# Linker flags that cannot go in dependency_libs.
+inherited_linker_flags='$new_inherited_linker_flags'
+
# Libraries that this one depends upon.
dependency_libs='$dependency_libs'
+# Names of additional weak libraries provided by this library
+weak_library_names='$weak_libs'
+
# Version information for $libname.
current=$current
age=$age
@@ -5337,1141 +11016,217 @@ dlpreopen='$dlprefiles'
# Directory that this library needs to be installed in:
libdir='$install_libdir'"
- if test "$installed" = no && test "$need_relink" = yes; then
- $echo >> $output "\
+ if test no,yes = "$installed,$need_relink"; then
+ $ECHO >> $output "\
relink_command=\"$relink_command\""
fi
done
- fi
+ }
# Do a symbolic link so that the libtool archive can be found in
# LD_LIBRARY_PATH before the program is installed.
- $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
- $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
+ func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
;;
esac
exit $EXIT_SUCCESS
- ;;
-
- # libtool install mode
- install)
- modename="$modename: install"
-
- # There may be an optional sh(1) argument at the beginning of
- # install_prog (especially on Windows NT).
- if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
- # Allow the use of GNU shtool's install command.
- $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then
- # Aesthetically quote it.
- arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$arg "
- arg="$1"
- shift
- else
- install_prog=
- arg="$nonopt"
- fi
-
- # The real first argument should be the name of the installation program.
- # Aesthetically quote it.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$install_prog$arg"
-
- # We need to accept at least all the BSD install flags.
- dest=
- files=
- opts=
- prev=
- install_type=
- isdir=no
- stripme=
- for arg
- do
- if test -n "$dest"; then
- files="$files $dest"
- dest="$arg"
- continue
- fi
-
- case $arg in
- -d) isdir=yes ;;
- -f) prev="-f" ;;
- -g) prev="-g" ;;
- -m) prev="-m" ;;
- -o) prev="-o" ;;
- -s)
- stripme=" -s"
- continue
- ;;
- -*) ;;
-
- *)
- # If the previous option needed an argument, then skip it.
- if test -n "$prev"; then
- prev=
- else
- dest="$arg"
- continue
- fi
- ;;
- esac
-
- # Aesthetically quote the argument.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *$quote_scanset* | *]* | *\|* | *\&* | *\(* | *\)* | "")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$install_prog $arg"
- done
-
- if test -z "$install_prog"; then
- $echo "$modename: you must specify an install program" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -n "$prev"; then
- $echo "$modename: the \`$prev' option requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -z "$files"; then
- if test -z "$dest"; then
- $echo "$modename: no file or destination specified" 1>&2
- else
- $echo "$modename: you must specify a destination" 1>&2
- fi
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Strip any trailing slash from the destination.
- dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
-
- # Check to see that the destination is a directory.
- test -d "$dest" && isdir=yes
- if test "$isdir" = yes; then
- destdir="$dest"
- destname=
- else
- destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
- test "X$destdir" = "X$dest" && destdir=.
- destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
-
- # Not a directory, so check to see that there is only one file specified.
- set dummy $files
- if test "$#" -gt 2; then
- $echo "$modename: \`$dest' is not a directory" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
- fi
- case $destdir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- for file in $files; do
- case $file in
- *.lo) ;;
- *)
- $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- done
- ;;
- esac
-
- # This variable tells wrapper scripts just to set variables rather
- # than running their programs.
- libtool_install_magic="$magic"
-
- staticlibs=
- future_libdirs=
- current_libdirs=
- for file in $files; do
-
- # Do each installation.
- case $file in
- *.$libext)
- # Do the static libraries later.
- staticlibs="$staticlibs $file"
- ;;
-
- *.la)
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- library_names=
- old_library=
- relink_command=
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Add the libdir to current_libdirs if it is the destination.
- if test "X$destdir" = "X$libdir"; then
- case "$current_libdirs " in
- *" $libdir "*) ;;
- *) current_libdirs="$current_libdirs $libdir" ;;
- esac
- else
- # Note the libdir as a future libdir.
- case "$future_libdirs " in
- *" $libdir "*) ;;
- *) future_libdirs="$future_libdirs $libdir" ;;
- esac
- fi
-
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
- test "X$dir" = "X$file/" && dir=
- dir="$dir$objdir"
-
- if test -n "$relink_command"; then
- # Determine the prefix the user has applied to our future dir.
- inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
-
- # Don't allow the user to place us outside of our expected
- # location b/c this prevents finding dependent libraries that
- # are installed to the same prefix.
- # At present, this check doesn't affect windows .dll's that
- # are installed into $libdir/../bin (currently, that works fine)
- # but it's something to keep an eye on.
- if test "$inst_prefix_dir" = "$destdir"; then
- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -n "$inst_prefix_dir"; then
- # Stick the inst_prefix_dir data into the link command.
- relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
- else
- relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
- fi
-
- $echo "$modename: warning: relinking \`$file'" 1>&2
- $show "$relink_command"
- if $run eval "$relink_command"; then :
- else
- $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
- exit $EXIT_FAILURE
- fi
- fi
-
- # See the names of the shared library.
- set dummy $library_names
- if test -n "$2"; then
- realname="$2"
- shift
- shift
-
- srcname="$realname"
- test -n "$relink_command" && srcname="$realname"T
-
- # Install the shared library and build the symlinks.
- $show "$install_prog $dir/$srcname $destdir/$realname"
- $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
- if test -n "$stripme" && test -n "$striplib"; then
- $show "$striplib $destdir/$realname"
- $run eval "$striplib $destdir/$realname" || exit $?
- fi
-
- if test "$#" -gt 0; then
- # Delete the old symlinks, and create new ones.
- for linkname
- do
- if test "$linkname" != "$realname"; then
- $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
- $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
- fi
- done
- fi
-
- # Do each command in the postinstall commands.
- lib="$destdir/$realname"
- cmds=$postinstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- fi
-
- # Install the pseudo-library for information purposes.
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- instname="$dir/$name"i
- $show "$install_prog $instname $destdir/$name"
- $run eval "$install_prog $instname $destdir/$name" || exit $?
-
- # Maybe install the static library, too.
- test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
- ;;
-
- *.lo)
- # Install (i.e. copy) a libtool object.
-
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- destfile="$destdir/$destfile"
- fi
-
- # Deduce the name of the destination old-style object file.
- case $destfile in
- *.lo)
- staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
- ;;
- *.$objext)
- staticdest="$destfile"
- destfile=
- ;;
- *)
- $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- # Install the libtool object if requested.
- if test -n "$destfile"; then
- $show "$install_prog $file $destfile"
- $run eval "$install_prog $file $destfile" || exit $?
- fi
-
- # Install the old object if enabled.
- if test "$build_old_libs" = yes; then
- # Deduce the name of the old-style object file.
- staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
-
- $show "$install_prog $staticobj $staticdest"
- $run eval "$install_prog \$staticobj \$staticdest" || exit $?
- fi
- exit $EXIT_SUCCESS
- ;;
-
- *)
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- destfile="$destdir/$destfile"
- fi
-
- # If the file is missing, and there is a .exe on the end, strip it
- # because it is most likely a libtool script we actually want to
- # install
- stripped_ext=""
- case $file in
- *.exe)
- if test ! -f "$file"; then
- file=`$echo $file|${SED} 's,.exe$,,'`
- stripped_ext=".exe"
- fi
- ;;
- esac
-
- # Do a test to see if this is really a libtool program.
- case $host in
- *cygwin*|*mingw*)
- wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
- ;;
- *)
- wrapper=$file
- ;;
- esac
- if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
- notinst_deplibs=
- relink_command=
-
- # To insure that "foo" is sourced, and not "foo.exe",
- # finese the cygwin/MSYS system by explicitly sourcing "foo."
- # which disallows the automatic-append-.exe behavior.
- case $build in
- *cygwin* | *mingw*) wrapperdot=${wrapper}. ;;
- *) wrapperdot=${wrapper} ;;
- esac
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . ${wrapperdot} ;;
- *) . ./${wrapperdot} ;;
- esac
-
- # Check the variables that should have been set.
- if test -z "$notinst_deplibs"; then
- $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- finalize=yes
- for lib in $notinst_deplibs; do
- # Check to see that each library is installed.
- libdir=
- if test -f "$lib"; then
- # If there is no directory component, then add one.
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
- fi
- libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
- if test -n "$libdir" && test ! -f "$libfile"; then
- $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
- finalize=no
- fi
- done
-
- relink_command=
- # To insure that "foo" is sourced, and not "foo.exe",
- # finese the cygwin/MSYS system by explicitly sourcing "foo."
- # which disallows the automatic-append-.exe behavior.
- case $build in
- *cygwin* | *mingw*) wrapperdot=${wrapper}. ;;
- *) wrapperdot=${wrapper} ;;
- esac
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . ${wrapperdot} ;;
- *) . ./${wrapperdot} ;;
- esac
-
- outputname=
- if test "$fast_install" = no && test -n "$relink_command"; then
- if test "$finalize" = yes && test -z "$run"; then
- tmpdir="/tmp"
- test -n "$TMPDIR" && tmpdir="$TMPDIR"
- tmpdir="$tmpdir/libtool-$$"
- save_umask=`umask`
- umask 0077
- if $mkdir "$tmpdir"; then
- umask $save_umask
- else
- umask $save_umask
- $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
- continue
- fi
- file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
- outputname="$tmpdir/$file"
- # Replace the output file specification.
- relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
-
- $show "$relink_command"
- if $run eval "$relink_command"; then :
- else
- $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
- ${rm}r "$tmpdir"
- continue
- fi
- file="$outputname"
- else
- $echo "$modename: warning: cannot relink \`$file'" 1>&2
- fi
- else
- # Install the binary that we compiled earlier.
- file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
- fi
- fi
-
- # remove .exe since cygwin /usr/bin/install will append another
- # one anyways
- case $install_prog,$host in
- */usr/bin/install*,*cygwin*)
- case $file:$destfile in
- *.exe:*.exe)
- # this is ok
- ;;
- *.exe:*)
- destfile=$destfile.exe
- ;;
- *:*.exe)
- destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
- ;;
- esac
- ;;
- esac
- $show "$install_prog$stripme $file $destfile"
- $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
- test -n "$outputname" && ${rm}r "$tmpdir"
- ;;
- esac
- done
-
- for file in $staticlibs; do
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-
- # Set up the ranlib parameters.
- oldlib="$destdir/$name"
-
- $show "$install_prog $file $oldlib"
- $run eval "$install_prog \$file \$oldlib" || exit $?
-
- if test -n "$stripme" && test -n "$old_striplib"; then
- $show "$old_striplib $oldlib"
- $run eval "$old_striplib $oldlib" || exit $?
- fi
-
- # Do each command in the postinstall commands.
- cmds=$old_postinstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- done
-
- if test -n "$future_libdirs"; then
- $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
- fi
-
- if test -n "$current_libdirs"; then
- # Maybe just do a dry run.
- test -n "$run" && current_libdirs=" -n$current_libdirs"
- exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
- else
- exit $EXIT_SUCCESS
- fi
- ;;
-
- # libtool finish mode
- finish)
- modename="$modename: finish"
- libdirs="$nonopt"
- admincmds=
-
- if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
- for dir
- do
- libdirs="$libdirs $dir"
- done
-
- for libdir in $libdirs; do
- if test -n "$finish_cmds"; then
- # Do each command in the finish commands.
- cmds=$finish_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || admincmds="$admincmds
- $cmd"
- done
- IFS="$save_ifs"
- fi
- if test -n "$finish_eval"; then
- # Do the single finish_eval.
- eval cmds=\"$finish_eval\"
- $run eval "$cmds" || admincmds="$admincmds
- $cmds"
- fi
- done
- fi
-
- # Exit here if they wanted silent mode.
- test "$show" = : && exit $EXIT_SUCCESS
-
- $echo "----------------------------------------------------------------------"
- $echo "Libraries have been installed in:"
- for libdir in $libdirs; do
- $echo " $libdir"
- done
- $echo
- $echo "If you ever happen to want to link against installed libraries"
- $echo "in a given directory, LIBDIR, you must either use libtool, and"
- $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
- $echo "flag during linking and do at least one of the following:"
- if test -n "$shlibpath_var"; then
- $echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
- $echo " during execution"
- fi
- if test -n "$runpath_var"; then
- $echo " - add LIBDIR to the \`$runpath_var' environment variable"
- $echo " during linking"
- fi
- if test -n "$hardcode_libdir_flag_spec"; then
- libdir=LIBDIR
- eval flag=\"$hardcode_libdir_flag_spec\"
-
- $echo " - use the \`$flag' linker flag"
- fi
- if test -n "$admincmds"; then
- $echo " - have your system administrator run these commands:$admincmds"
- fi
- if test -f /etc/ld.so.conf; then
- $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
- fi
- $echo
- $echo "See any operating system documentation about shared libraries for"
- $echo "more information, such as the ld(1) and ld.so(8) manual pages."
- $echo "----------------------------------------------------------------------"
- exit $EXIT_SUCCESS
- ;;
-
- # libtool execute mode
- execute)
- modename="$modename: execute"
-
- # The first argument is the command name.
- cmd="$nonopt"
- if test -z "$cmd"; then
- $echo "$modename: you must specify a COMMAND" 1>&2
- $echo "$help"
- exit $EXIT_FAILURE
- fi
-
- # Handle -dlopen flags immediately.
- for file in $execute_dlfiles; do
- if test ! -f "$file"; then
- $echo "$modename: \`$file' is not a file" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- dir=
- case $file in
- *.la)
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Read the libtool library.
- dlname=
- library_names=
-
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Skip this library if it cannot be dlopened.
- if test -z "$dlname"; then
- # Warn if it was a shared library.
- test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
- continue
- fi
-
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$file" && dir=.
-
- if test -f "$dir/$objdir/$dlname"; then
- dir="$dir/$objdir"
- else
- $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
- exit $EXIT_FAILURE
- fi
- ;;
-
- *.lo)
- # Just add the directory containing the .lo file.
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$file" && dir=.
- ;;
-
- *)
- $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
- continue
- ;;
- esac
-
- # Get the absolute pathname.
- absdir=`cd "$dir" && pwd`
- test -n "$absdir" && dir="$absdir"
-
- # Now add the directory to shlibpath_var.
- if eval "test -z \"\$$shlibpath_var\""; then
- eval "$shlibpath_var=\"\$dir\""
- else
- eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
- fi
- done
-
- # This variable tells wrapper scripts just to set shlibpath_var
- # rather than running their programs.
- libtool_execute_magic="$magic"
-
- # Check if any of the arguments is a wrapper script.
- args=
- for file
- do
- case $file in
- -*) ;;
- *)
- # Do a test to see if this is really a libtool program.
- if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Transform arg to wrapped name.
- file="$progdir/$program"
- fi
- ;;
- esac
- # Quote arguments (to preserve shell metacharacters).
- file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
- args="$args \"$file\""
- done
+}
- if test -z "$run"; then
- if test -n "$shlibpath_var"; then
- # Export the shlibpath_var.
- eval "export $shlibpath_var"
- fi
+if test link = "$opt_mode" || test relink = "$opt_mode"; then
+ func_mode_link ${1+"$@"}
+fi
- # Restore saved environment variables
- if test "${save_LC_ALL+set}" = set; then
- LC_ALL="$save_LC_ALL"; export LC_ALL
- fi
- if test "${save_LANG+set}" = set; then
- LANG="$save_LANG"; export LANG
- fi
- # Now prepare to actually exec the command.
- exec_cmd="\$cmd$args"
- else
- # Display what would be done.
- if test -n "$shlibpath_var"; then
- eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
- $echo "export $shlibpath_var"
- fi
- $echo "$cmd$args"
- exit $EXIT_SUCCESS
- fi
- ;;
+# func_mode_uninstall arg...
+func_mode_uninstall ()
+{
+ $debug_cmd
- # libtool clean and uninstall mode
- clean | uninstall)
- modename="$modename: $mode"
- rm="$nonopt"
+ RM=$nonopt
files=
- rmforce=
+ rmforce=false
exit_status=0
# This variable tells wrapper scripts just to set variables rather
# than running their programs.
- libtool_install_magic="$magic"
+ libtool_install_magic=$magic
for arg
do
case $arg in
- -f) rm="$rm $arg"; rmforce=yes ;;
- -*) rm="$rm $arg" ;;
- *) files="$files $arg" ;;
+ -f) func_append RM " $arg"; rmforce=: ;;
+ -*) func_append RM " $arg" ;;
+ *) func_append files " $arg" ;;
esac
done
- if test -z "$rm"; then
- $echo "$modename: you must specify an RM program" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ test -z "$RM" && \
+ func_fatal_help "you must specify an RM program"
rmdirs=
- origobjdir="$objdir"
for file in $files; do
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$dir" = "X$file"; then
- dir=.
- objdir="$origobjdir"
+ func_dirname "$file" "" "."
+ dir=$func_dirname_result
+ if test . = "$dir"; then
+ odir=$objdir
else
- objdir="$dir/$origobjdir"
+ odir=$dir/$objdir
fi
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- test "$mode" = uninstall && objdir="$dir"
+ func_basename "$file"
+ name=$func_basename_result
+ test uninstall = "$opt_mode" && odir=$dir
- # Remember objdir for removal later, being careful to avoid duplicates
- if test "$mode" = clean; then
+ # Remember odir for removal later, being careful to avoid duplicates
+ if test clean = "$opt_mode"; then
case " $rmdirs " in
- *" $objdir "*) ;;
- *) rmdirs="$rmdirs $objdir" ;;
+ *" $odir "*) ;;
+ *) func_append rmdirs " $odir" ;;
esac
fi
# Don't error if the file doesn't exist and rm -f was used.
- if (test -L "$file") >/dev/null 2>&1 \
- || (test -h "$file") >/dev/null 2>&1 \
- || test -f "$file"; then
+ if { test -L "$file"; } >/dev/null 2>&1 ||
+ { test -h "$file"; } >/dev/null 2>&1 ||
+ test -f "$file"; then
:
elif test -d "$file"; then
exit_status=1
continue
- elif test "$rmforce" = yes; then
+ elif $rmforce; then
continue
fi
- rmfiles="$file"
+ rmfiles=$file
case $name in
*.la)
# Possibly a libtool archive, so verify it.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- . $dir/$name
+ if func_lalib_p "$file"; then
+ func_source $dir/$name
# Delete the libtool libraries and symlinks.
for n in $library_names; do
- rmfiles="$rmfiles $objdir/$n"
+ func_append rmfiles " $odir/$n"
done
- test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
- test "$mode" = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+ test -n "$old_library" && func_append rmfiles " $odir/$old_library"
- if test "$mode" = uninstall; then
+ case $opt_mode in
+ clean)
+ case " $library_names " in
+ *" $dlname "*) ;;
+ *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
+ esac
+ test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
+ ;;
+ uninstall)
if test -n "$library_names"; then
# Do each command in the postuninstall commands.
- cmds=$postuninstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd"
- if test "$?" -ne 0 && test "$rmforce" != yes; then
- exit_status=1
- fi
- done
- IFS="$save_ifs"
+ func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1'
fi
if test -n "$old_library"; then
# Do each command in the old_postuninstall commands.
- cmds=$old_postuninstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd"
- if test "$?" -ne 0 && test "$rmforce" != yes; then
- exit_status=1
- fi
- done
- IFS="$save_ifs"
+ func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1'
fi
# FIXME: should reinstall the best remaining shared library.
- fi
+ ;;
+ esac
fi
;;
*.lo)
# Possibly a libtool object, so verify it.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ if func_lalib_p "$file"; then
# Read the .lo file
- . $dir/$name
+ func_source $dir/$name
# Add PIC object to the list of files to remove.
- if test -n "$pic_object" \
- && test "$pic_object" != none; then
- rmfiles="$rmfiles $dir/$pic_object"
+ if test -n "$pic_object" && test none != "$pic_object"; then
+ func_append rmfiles " $dir/$pic_object"
fi
# Add non-PIC object to the list of files to remove.
- if test -n "$non_pic_object" \
- && test "$non_pic_object" != none; then
- rmfiles="$rmfiles $dir/$non_pic_object"
+ if test -n "$non_pic_object" && test none != "$non_pic_object"; then
+ func_append rmfiles " $dir/$non_pic_object"
fi
fi
;;
*)
- if test "$mode" = clean ; then
+ if test clean = "$opt_mode"; then
noexename=$name
case $file in
*.exe)
- file=`$echo $file|${SED} 's,.exe$,,'`
- noexename=`$echo $name|${SED} 's,.exe$,,'`
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ func_stripname '' '.exe' "$name"
+ noexename=$func_stripname_result
# $file with .exe has already been added to rmfiles,
# add $file without .exe
- rmfiles="$rmfiles $file"
+ func_append rmfiles " $file"
;;
esac
# Do a test to see if this is a libtool program.
- if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- relink_command=
- . $dir/$noexename
+ if func_ltwrapper_p "$file"; then
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ relink_command=
+ func_source $func_ltwrapper_scriptname_result
+ func_append rmfiles " $func_ltwrapper_scriptname_result"
+ else
+ relink_command=
+ func_source $dir/$noexename
+ fi
# note $name still contains .exe if it was in $file originally
# as does the version of $file that was added into $rmfiles
- rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
- if test "$fast_install" = yes && test -n "$relink_command"; then
- rmfiles="$rmfiles $objdir/lt-$name"
+ func_append rmfiles " $odir/$name $odir/${name}S.$objext"
+ if test yes = "$fast_install" && test -n "$relink_command"; then
+ func_append rmfiles " $odir/lt-$name"
fi
- if test "X$noexename" != "X$name" ; then
- rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+ if test "X$noexename" != "X$name"; then
+ func_append rmfiles " $odir/lt-$noexename.c"
fi
fi
fi
;;
esac
- $show "$rm $rmfiles"
- $run $rm $rmfiles || exit_status=1
+ func_show_eval "$RM $rmfiles" 'exit_status=1'
done
- objdir="$origobjdir"
- # Try to remove the ${objdir}s in the directories where we deleted files
+ # Try to remove the $objdir's in the directories where we deleted files
for dir in $rmdirs; do
if test -d "$dir"; then
- $show "rmdir $dir"
- $run rmdir $dir >/dev/null 2>&1
+ func_show_eval "rmdir $dir >/dev/null 2>&1"
fi
done
exit $exit_status
- ;;
-
- "")
- $echo "$modename: you must specify a MODE" 1>&2
- $echo "$generic_help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- if test -z "$exec_cmd"; then
- $echo "$modename: invalid operation mode \`$mode'" 1>&2
- $echo "$generic_help" 1>&2
- exit $EXIT_FAILURE
- fi
-fi # test -z "$show_help"
+}
-if test -n "$exec_cmd"; then
- eval exec $exec_cmd
- exit $EXIT_FAILURE
+if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then
+ func_mode_uninstall ${1+"$@"}
fi
-# We need to display help for each of the modes.
-case $mode in
-"") $echo \
-"Usage: $modename [OPTION]... [MODE-ARG]...
-
-Provide generalized library-building support services.
-
- --config show all configuration variables
- --debug enable verbose shell tracing
--n, --dry-run display commands without modifying any files
- --features display basic configuration information and exit
- --finish same as \`--mode=finish'
- --help display this help message and exit
- --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS]
- --quiet same as \`--silent'
- --silent don't print informational messages
- --tag=TAG use configuration variables from tag TAG
- --version print version information
-
-MODE must be one of the following:
-
- clean remove files from the build directory
- compile compile a source file into a libtool object
- execute automatically set library path, then run a program
- finish complete the installation of libtool libraries
- install install libraries or executables
- link create a library or an executable
- uninstall remove libraries from an installed directory
-
-MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for
-a more detailed description of MODE.
-
-Report bugs to <bug-libtool@gnu.org>."
- exit $EXIT_SUCCESS
- ;;
-
-clean)
- $echo \
-"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
- ;;
-
-compile)
- $echo \
-"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
- -o OUTPUT-FILE set the output file name to OUTPUT-FILE
- -prefer-pic try to building PIC objects only
- -prefer-non-pic try to building non-PIC objects only
- -static always build a \`.o' file suitable for static linking
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
- ;;
-
-execute)
- $echo \
-"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
- -dlopen FILE add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
- ;;
-
-finish)
- $echo \
-"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges. Use
-the \`--dry-run' option if you just want to see what would be executed."
- ;;
-
-install)
- $echo \
-"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command. The first component should be
-either the \`install' or \`cp' program.
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
- ;;
-
-link)
- $echo \
-"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
- -all-static do not do any dynamic linking at all
- -avoid-version do not add a version suffix if possible
- -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
- -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
- -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
- -export-symbols SYMFILE
- try to export only the symbols listed in SYMFILE
- -export-symbols-regex REGEX
- try to export only the symbols matching REGEX
- -LLIBDIR search LIBDIR for required installed libraries
- -lNAME OUTPUT-FILE requires the installed library libNAME
- -module build a library that can dlopened
- -no-fast-install disable the fast-install mode
- -no-install link a not-installable executable
- -no-undefined declare that a library does not refer to external symbols
- -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
- -objectlist FILE Use a list of object files found in FILE to specify objects
- -precious-files-regex REGEX
- don't remove output files matching REGEX
- -release RELEASE specify package release information
- -rpath LIBDIR the created library will eventually be installed in LIBDIR
- -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
- -static do not do any dynamic linking of libtool libraries
- -version-info CURRENT[:REVISION[:AGE]]
- specify library version info [each variable defaults to 0]
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename. Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
- ;;
-
-uninstall)
- $echo \
-"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
+test -z "$opt_mode" && {
+ help=$generic_help
+ func_fatal_help "you must specify a MODE"
+}
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
- ;;
+test -z "$exec_cmd" && \
+ func_fatal_help "invalid operation mode '$opt_mode'"
-*)
- $echo "$modename: invalid operation mode \`$mode'" 1>&2
- $echo "$help" 1>&2
+if test -n "$exec_cmd"; then
+ eval exec "$exec_cmd"
exit $EXIT_FAILURE
- ;;
-esac
+fi
-$echo
-$echo "Try \`$modename --help' for more information about other modes."
+exit $exit_status
-exit $?
# The TAGs below are defined such that we never get into a situation
-# in which we disable both kinds of libraries. Given conflicting
+# where we disable both kinds of libraries. Given conflicting
# choices, we go for a static library, that is the most portable,
# since we can't tell whether shared libraries were disabled because
# the user asked for that or because the platform doesn't support
@@ -6487,7 +11242,7 @@ build_old_libs=yes
# ### END LIBTOOL TAG CONFIG: disable-shared
# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac`
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
# ### END LIBTOOL TAG CONFIG: disable-static
# Local Variables:
diff --git a/3rdparty/libflac/m4/Makefile.am b/3rdparty/libflac/m4/Makefile.am
index 8c59b9e8f57..1a25b7a98c4 100644
--- a/3rdparty/libflac/m4/Makefile.am
+++ b/3rdparty/libflac/m4/Makefile.am
@@ -1,8 +1,9 @@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2006,2007 Josh Coalson
+# Copyright (C) 2006-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -16,5 +17,10 @@
# distribution.
EXTRA_DIST = \
+ add_cflags.m4 \
+ add_cxxflags.m4 \
+ bswap.m4 \
+ endian.m4 \
+ gcc_version.m4 \
ogg.m4 \
- xmms.m4
+ stack_protect.m4
diff --git a/3rdparty/libflac/m4/Makefile.in b/3rdparty/libflac/m4/Makefile.in
index f7ec21b1357..c102d3d2d15 100644
--- a/3rdparty/libflac/m4/Makefile.in
+++ b/3rdparty/libflac/m4/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,10 +15,11 @@
@SET_MAKE@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2006,2007 Josh Coalson
+# Copyright (C) 2006-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -30,17 +31,67 @@
# it may be distributed under the Xiph.Org license, which is the least
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,56 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = m4
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,230 +161,232 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
EXTRA_DIST = \
+ add_cflags.m4 \
+ add_cxxflags.m4 \
+ bswap.m4 \
+ endian.m4 \
+ gcc_version.m4 \
ogg.m4 \
- xmms.m4
+ stack_protect.m4
-subdir = m4
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu m4/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign m4/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign m4/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
-
installdirs:
install: install-am
install-exec: install-exec-am
@@ -301,16 +398,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -321,24 +424,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
+distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -357,17 +482,24 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
+
+.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/m4/add_cflags.m4 b/3rdparty/libflac/m4/add_cflags.m4
new file mode 100644
index 00000000000..d9b633c726e
--- /dev/null
+++ b/3rdparty/libflac/m4/add_cflags.m4
@@ -0,0 +1,15 @@
+dnl @synopsis XIPH_ADD_CFLAGS
+dnl
+dnl Add the given option to CFLAGS, if it doesn't break the compiler
+
+AC_DEFUN([XIPH_ADD_CFLAGS],
+[AC_MSG_CHECKING([if $CC accepts $1])
+ ac_add_cflags__old_cflags="$CFLAGS"
+ CFLAGS="$1"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #include <stdio.h>
+ ]], [[puts("Hello, World!"); return 0;]])],[AC_MSG_RESULT(yes)
+ CFLAGS="$ac_add_cflags__old_cflags $1"],[AC_MSG_RESULT(no)
+ CFLAGS="$ac_add_cflags__old_cflags"
+ ])
+])# XIPH_ADD_CFLAGS
diff --git a/3rdparty/libflac/m4/add_cxxflags.m4 b/3rdparty/libflac/m4/add_cxxflags.m4
new file mode 100644
index 00000000000..b76e710fca7
--- /dev/null
+++ b/3rdparty/libflac/m4/add_cxxflags.m4
@@ -0,0 +1,16 @@
+dnl @synopsis XIPH_ADD_CXXFLAGS
+dnl
+dnl Add the given option to CXXFLAGS, if it doesn't break the compiler
+
+AC_DEFUN([XIPH_ADD_CXXFLAGS],
+[AC_MSG_CHECKING([if $CXX accepts $1])
+ AC_LANG_ASSERT([C++])
+ ac_add_cxxflags__old_cxxflags="$CXXFLAGS"
+ CXXFLAGS="$1"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #include <cstdio>
+ ]], [[puts("Hello, World!"); return 0;]])],[AC_MSG_RESULT(yes)
+ CXXFLAGS="$ac_add_cxxflags__old_cxxflags $1"],[AC_MSG_RESULT(no)
+ CXXFLAGS="$ac_add_cxxflags__old_cxxflags"
+ ])
+])# XIPH_ADD_CXXFLAGS
diff --git a/3rdparty/libflac/m4/ax_add_fortify_source.m4 b/3rdparty/libflac/m4/ax_add_fortify_source.m4
new file mode 100644
index 00000000000..d443814be92
--- /dev/null
+++ b/3rdparty/libflac/m4/ax_add_fortify_source.m4
@@ -0,0 +1,53 @@
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_add_fortify_source.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_ADD_FORTIFY_SOURCE
+#
+# DESCRIPTION
+#
+# Check whether -D_FORTIFY_SOURCE=2 can be added to CPPFLAGS without macro
+# redefinition warnings. Some distributions (such as Gentoo Linux) enable
+# _FORTIFY_SOURCE globally in their compilers, leading to unnecessary
+# warnings in the form of
+#
+# <command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
+# <built-in>: note: this is the location of the previous definition
+#
+# which is a problem if -Werror is enabled. This macro checks whether
+# _FORTIFY_SOURCE is already defined, and if not, adds -D_FORTIFY_SOURCE=2
+# to CPPFLAGS.
+#
+# LICENSE
+#
+# Copyright (c) 2017 David Seifert <soap@gentoo.org>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 1
+
+AC_DEFUN([AX_ADD_FORTIFY_SOURCE],[
+ AC_MSG_CHECKING([whether to add -D_FORTIFY_SOURCE=2 to CPPFLAGS])
+ AC_LINK_IFELSE([
+ AC_LANG_SOURCE(
+ [[
+ int main() {
+ #ifndef _FORTIFY_SOURCE
+ return 0;
+ #else
+ this_is_an_error;
+ #endif
+ }
+ ]]
+ )], [
+ AC_MSG_RESULT([yes])
+ CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2"
+ ], [
+ AC_MSG_RESULT([no])
+ ])
+])
diff --git a/3rdparty/libflac/m4/ax_check_compile_flag.m4 b/3rdparty/libflac/m4/ax_check_compile_flag.m4
new file mode 100644
index 00000000000..bd753b34d7d
--- /dev/null
+++ b/3rdparty/libflac/m4/ax_check_compile_flag.m4
@@ -0,0 +1,53 @@
+# ===========================================================================
+# https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
+#
+# DESCRIPTION
+#
+# Check whether the given FLAG works with the current language's compiler
+# or gives an error. (Warnings, however, are ignored)
+#
+# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
+# success/failure.
+#
+# If EXTRA-FLAGS is defined, it is added to the current language's default
+# flags (e.g. CFLAGS) when the check is done. The check is thus made with
+# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to
+# force the compiler to issue an error when a bad flag is given.
+#
+# INPUT gives an alternative input source to AC_COMPILE_IFELSE.
+#
+# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
+# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
+# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 6
+
+AC_DEFUN([AX_CHECK_COMPILE_FLAG],
+[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
+AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl
+AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [
+ ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
+ _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1"
+ AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
+ [AS_VAR_SET(CACHEVAR,[yes])],
+ [AS_VAR_SET(CACHEVAR,[no])])
+ _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags])
+AS_VAR_IF(CACHEVAR,yes,
+ [m4_default([$2], :)],
+ [m4_default([$3], :)])
+AS_VAR_POPDEF([CACHEVAR])dnl
+])dnl AX_CHECK_COMPILE_FLAGS
diff --git a/3rdparty/libflac/m4/ax_check_enable_debug.m4 b/3rdparty/libflac/m4/ax_check_enable_debug.m4
new file mode 100644
index 00000000000..f99d75feb44
--- /dev/null
+++ b/3rdparty/libflac/m4/ax_check_enable_debug.m4
@@ -0,0 +1,124 @@
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_check_enable_debug.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_CHECK_ENABLE_DEBUG([enable by default=yes/info/profile/no], [ENABLE DEBUG VARIABLES ...], [DISABLE DEBUG VARIABLES NDEBUG ...], [IS-RELEASE])
+#
+# DESCRIPTION
+#
+# Check for the presence of an --enable-debug option to configure, with
+# the specified default value used when the option is not present. Return
+# the value in the variable $ax_enable_debug.
+#
+# Specifying 'yes' adds '-g -O0' to the compilation flags for all
+# languages. Specifying 'info' adds '-g' to the compilation flags.
+# Specifying 'profile' adds '-g -pg' to the compilation flags and '-pg' to
+# the linking flags. Otherwise, nothing is added.
+#
+# Define the variables listed in the second argument if debug is enabled,
+# defaulting to no variables. Defines the variables listed in the third
+# argument if debug is disabled, defaulting to NDEBUG. All lists of
+# variables should be space-separated.
+#
+# If debug is not enabled, ensure AC_PROG_* will not add debugging flags.
+# Should be invoked prior to any AC_PROG_* compiler checks.
+#
+# IS-RELEASE can be used to change the default to 'no' when making a
+# release. Set IS-RELEASE to 'yes' or 'no' as appropriate. By default, it
+# uses the value of $ax_is_release, so if you are using the AX_IS_RELEASE
+# macro, there is no need to pass this parameter.
+#
+# AX_IS_RELEASE([git-directory])
+# AX_CHECK_ENABLE_DEBUG()
+#
+# LICENSE
+#
+# Copyright (c) 2011 Rhys Ulerich <rhys.ulerich@gmail.com>
+# Copyright (c) 2014, 2015 Philip Withnall <philip@tecnocode.co.uk>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved.
+
+#serial 5
+
+AC_DEFUN([AX_CHECK_ENABLE_DEBUG],[
+ AC_BEFORE([$0],[AC_PROG_CC])dnl
+ AC_BEFORE([$0],[AC_PROG_CXX])dnl
+ AC_BEFORE([$0],[AC_PROG_F77])dnl
+ AC_BEFORE([$0],[AC_PROG_FC])dnl
+
+ AC_MSG_CHECKING(whether to enable debugging)
+
+ ax_enable_debug_default=m4_tolower(m4_normalize(ifelse([$1],,[no],[$1])))
+ ax_enable_debug_is_release=m4_tolower(m4_normalize(ifelse([$4],,
+ [$ax_is_release],
+ [$4])))
+
+ # If this is a release, override the default.
+ AS_IF([test "$ax_enable_debug_is_release" = "yes"],
+ [ax_enable_debug_default="no"])
+
+ m4_define(ax_enable_debug_vars,[m4_normalize(ifelse([$2],,,[$2]))])
+ m4_define(ax_disable_debug_vars,[m4_normalize(ifelse([$3],,[NDEBUG],[$3]))])
+
+ AC_ARG_ENABLE(debug,
+ [AS_HELP_STRING([--enable-debug=]@<:@yes/info/profile/no@:>@,[compile with debugging])],
+ [],enable_debug=$ax_enable_debug_default)
+
+ # empty mean debug yes
+ AS_IF([test "x$enable_debug" = "x"],
+ [enable_debug="yes"])
+
+ # case of debug
+ AS_CASE([$enable_debug],
+ [yes],[
+ AC_MSG_RESULT(yes)
+ CFLAGS="${CFLAGS} -g -O0"
+ CXXFLAGS="${CXXFLAGS} -g -O0"
+ FFLAGS="${FFLAGS} -g -O0"
+ FCFLAGS="${FCFLAGS} -g -O0"
+ OBJCFLAGS="${OBJCFLAGS} -g -O0"
+ ],
+ [info],[
+ AC_MSG_RESULT(info)
+ CFLAGS="${CFLAGS} -g"
+ CXXFLAGS="${CXXFLAGS} -g"
+ FFLAGS="${FFLAGS} -g"
+ FCFLAGS="${FCFLAGS} -g"
+ OBJCFLAGS="${OBJCFLAGS} -g"
+ ],
+ [profile],[
+ AC_MSG_RESULT(profile)
+ CFLAGS="${CFLAGS} -g -pg"
+ CXXFLAGS="${CXXFLAGS} -g -pg"
+ FFLAGS="${FFLAGS} -g -pg"
+ FCFLAGS="${FCFLAGS} -g -pg"
+ OBJCFLAGS="${OBJCFLAGS} -g -pg"
+ LDFLAGS="${LDFLAGS} -pg"
+ ],
+ [
+ AC_MSG_RESULT(no)
+ dnl Ensure AC_PROG_CC/CXX/F77/FC/OBJC will not enable debug flags
+ dnl by setting any unset environment flag variables
+ AS_IF([test "x${CFLAGS+set}" != "xset"],
+ [CFLAGS=""])
+ AS_IF([test "x${CXXFLAGS+set}" != "xset"],
+ [CXXFLAGS=""])
+ AS_IF([test "x${FFLAGS+set}" != "xset"],
+ [FFLAGS=""])
+ AS_IF([test "x${FCFLAGS+set}" != "xset"],
+ [FCFLAGS=""])
+ AS_IF([test "x${OBJCFLAGS+set}" != "xset"],
+ [OBJCFLAGS=""])
+ ])
+
+ dnl Define various variables if debugging is disabled.
+ dnl assert.h is a NOP if NDEBUG is defined, so define it by default.
+ AS_IF([test "x$enable_debug" = "xyes"],
+ [m4_map_args_w(ax_enable_debug_vars, [AC_DEFINE(], [,,[Define if debugging is enabled])])],
+ [m4_map_args_w(ax_disable_debug_vars, [AC_DEFINE(], [,,[Define if debugging is disabled])])])
+ ax_enable_debug=$enable_debug
+])
diff --git a/3rdparty/libflac/m4/bswap.m4 b/3rdparty/libflac/m4/bswap.m4
new file mode 100644
index 00000000000..b1abae95d35
--- /dev/null
+++ b/3rdparty/libflac/m4/bswap.m4
@@ -0,0 +1,66 @@
+dnl Copyright (C) 2012-2023 Xiph.Org Foundation
+dnl
+dnl Redistribution and use in source and binary forms, with or without
+dnl modification, are permitted provided that the following conditions
+dnl are met:
+dnl
+dnl - Redistributions of source code must retain the above copyright
+dnl notice, this list of conditions and the following disclaimer.
+dnl
+dnl - Redistributions in binary form must reproduce the above copyright
+dnl notice, this list of conditions and the following disclaimer in the
+dnl documentation and/or other materials provided with the distribution.
+dnl
+dnl - Neither the name of the Xiph.org Foundation nor the names of its
+dnl contributors may be used to endorse or promote products derived from
+dnl this software without specific prior written permission.
+dnl
+dnl THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+dnl ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+dnl LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+dnl A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+dnl CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+dnl EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+dnl PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+dnl PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+dnl LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+dnl NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+dnl SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+dnl @synopsis XIPH_C_BSWAP32
+dnl
+dnl @author Erik de Castro Lopo <erikd@mega-nerd.com>
+dnl
+dnl Dtermine whether the compiler has the __builtin_bswap32() intrinsic which
+dnl is likely to be present for most versions of GCC as well as Clang.
+
+AC_DEFUN([XIPH_C_BSWAP32],
+[AC_CACHE_CHECK(for bswap32 intrinsic,
+ ac_cv_c_bswap32,
+
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [[return __builtin_bswap32 (0) ;]])],[ac_cv_c_bswap32=yes],[ac_cv_c_bswap32=no])
+ if test $ac_cv_c_bswap32 = yes; then
+ AC_DEFINE_UNQUOTED(HAVE_BSWAP32, [1], [Compiler has the __builtin_bswap32 intrinsic])
+ fi
+ )]
+)# XIPH_C_BSWAP32
+
+
+dnl @synopsis XIPH_C_BSWAP16
+dnl
+dnl @author Erik de Castro Lopo <erikd@mega-nerd.com>
+dnl
+dnl Dtermine whether the compiler has the __builtin_bswap16() intrinsic which
+dnl is likely to be present for most versions of GCC as well as Clang.
+
+AC_DEFUN([XIPH_C_BSWAP16],
+[AC_CACHE_CHECK(for bswap16 intrinsic,
+ ac_cv_c_bswap16,
+
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [[return __builtin_bswap16 (0) ;]])],[ac_cv_c_bswap16=yes],[ac_cv_c_bswap16=no])
+ if test $ac_cv_c_bswap16 = yes; then
+ AC_DEFINE_UNQUOTED(HAVE_BSWAP16, [1], [Compiler has the __builtin_bswap16 intrinsic])
+ fi
+ )]
+)# XIPH_C_BSWAP16
diff --git a/3rdparty/libflac/m4/clang.m4 b/3rdparty/libflac/m4/clang.m4
new file mode 100644
index 00000000000..11326a43b63
--- /dev/null
+++ b/3rdparty/libflac/m4/clang.m4
@@ -0,0 +1,28 @@
+dnl @synopsis XIPH_C_COMPILER_IS_CLANG
+dnl
+dnl Find out if a compiler claiming to be gcc really is gcc (clang lies).
+dnl @version 1.0 Oct 31 2013
+dnl @author Erik de Castro Lopo <erikd AT mega-nerd DOT com>
+dnl
+dnl Permission to use, copy, modify, distribute, and sell this file for any
+dnl purpose is hereby granted without fee, provided that the above copyright
+dnl and this permission notice appear in all copies. No representations are
+dnl made about the suitability of this software for any purpose. It is
+dnl provided "as is" without express or implied warranty.
+dnl
+
+
+AC_DEFUN([XIPH_C_COMPILER_IS_CLANG],
+[AC_CACHE_CHECK(whether we are using the CLANG C compiler,
+ xiph_cv_c_compiler_clang,
+ [ AC_LANG_ASSERT(C)
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #include <stdio.h>
+ ]], [[
+ #ifndef __clang__
+ This is not clang!
+ #endif
+ ]])],[xiph_cv_c_compiler_clang=yes],[xiph_cv_c_compiler_clang=no
+ ])]
+ )]
+)
diff --git a/3rdparty/libflac/m4/codeset.m4 b/3rdparty/libflac/m4/codeset.m4
new file mode 100644
index 00000000000..cf53d241671
--- /dev/null
+++ b/3rdparty/libflac/m4/codeset.m4
@@ -0,0 +1,23 @@
+# codeset.m4 serial 5 (gettext-0.18.2)
+dnl Copyright (C) 2000-2002, 2006, 2008-2012 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_LANGINFO_CODESET],
+[
+ AC_CACHE_CHECK([for nl_langinfo and CODESET], [am_cv_langinfo_codeset],
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <langinfo.h>]],
+ [[char* cs = nl_langinfo(CODESET); return !cs;]])],
+ [am_cv_langinfo_codeset=yes],
+ [am_cv_langinfo_codeset=no])
+ ])
+ if test $am_cv_langinfo_codeset = yes; then
+ AC_DEFINE([HAVE_LANGINFO_CODESET], [1],
+ [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
+ fi
+])
diff --git a/3rdparty/libflac/m4/endian.m4 b/3rdparty/libflac/m4/endian.m4
new file mode 100644
index 00000000000..28fbf3217c9
--- /dev/null
+++ b/3rdparty/libflac/m4/endian.m4
@@ -0,0 +1,169 @@
+dnl Copyright (C) 2012-2023 Xiph.Org Foundation
+dnl
+dnl Redistribution and use in source and binary forms, with or without
+dnl modification, are permitted provided that the following conditions
+dnl are met:
+dnl
+dnl - Redistributions of source code must retain the above copyright
+dnl notice, this list of conditions and the following disclaimer.
+dnl
+dnl - Redistributions in binary form must reproduce the above copyright
+dnl notice, this list of conditions and the following disclaimer in the
+dnl documentation and/or other materials provided with the distribution.
+dnl
+dnl - Neither the name of the Xiph.org Foundation nor the names of its
+dnl contributors may be used to endorse or promote products derived from
+dnl this software without specific prior written permission.
+dnl
+dnl THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+dnl ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+dnl LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+dnl A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+dnl CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+dnl EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+dnl PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+dnl PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+dnl LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+dnl NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+dnl SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+dnl @synopsis XIPH_C_FIND_ENDIAN
+dnl
+dnl Determine endian-ness of target processor.
+dnl @version 1.1 Mar 03 2002
+dnl @author Erik de Castro Lopo <erikd@mega-nerd.com>
+dnl
+dnl Majority written from scratch to replace the standard autoconf macro
+dnl AC_C_BIGENDIAN. Only part remaining from the original is the invocation
+dnl of the AC_RUN_IFELSE([AC_LANG_SOURCE([[]])],[],[],[]) macro.
+dnl
+dnl Find endian-ness in the following way:
+dnl 1) Look in <endian.h>.
+dnl 2) If 1) fails, look in <sys/types.h> and <sys/param.h>.
+dnl 3) If 1) and 2) fails and not cross compiling run a test program.
+dnl 4) If 1) and 2) fails and cross compiling then guess based on target.
+
+AC_DEFUN([XIPH_C_FIND_ENDIAN],
+[AC_CACHE_CHECK(processor byte ordering,
+ ac_cv_c_byte_order,
+
+# Initialize to unknown
+ac_cv_c_byte_order=unknown
+
+if test x$ac_cv_header_endian_h = xyes ; then
+
+ # First try <endian.h> which should set BYTE_ORDER.
+
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #include <endian.h>
+ #if BYTE_ORDER != LITTLE_ENDIAN
+ not big endian
+ #endif
+ ]], [[return 0 ;]])],[ac_cv_c_byte_order=little
+ ],[])]
+
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #include <endian.h>
+ #if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+ #endif
+ ]], [[return 0 ;]])],[ac_cv_c_byte_order=big
+ ],[])]
+
+ fi
+
+if test $ac_cv_c_byte_order = unknown ; then
+
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #include <sys/types.h>
+ #include <sys/param.h>
+ #if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
+ bogus endian macros
+ #endif
+ ]], [[return 0 ;]])],[_au_m4_changequote([,])AC_TRY_LINK([
+ #include <sys/types.h>
+ #include <sys/param.h>
+ #if BYTE_ORDER != LITTLE_ENDIAN
+ not big endian
+ #endif
+ ], return 0 ;,
+ ac_cv_c_byte_order=little
+ )
+
+ _au_m4_changequote([,])AC_TRY_LINK([
+ #include <sys/types.h>
+ #include <sys/param.h>
+ #if BYTE_ORDER != LITTLE_ENDIAN
+ not big endian
+ #endif
+ ], return 0 ;,
+ ac_cv_c_byte_order=little
+ )
+
+ ],[])]
+
+ fi
+
+if test $ac_cv_c_byte_order = unknown ; then
+ if test $cross_compiling = yes ; then
+ # This is the last resort. Try to guess the target processor endian-ness
+ # by looking at the target CPU type.
+ [
+ case "$target_cpu" in
+ alpha* | i?86* | mipsel* | ia64*)
+ ac_cv_c_byte_order=little
+ ;;
+
+ m68* | mips* | powerpc* | hppa* | sparc*)
+ ac_cv_c_byte_order=big
+ ;;
+
+ esac
+ ]
+ else
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[[
+ int main (void)
+ { /* Are we little or big endian? From Harbison&Steele. */
+ union
+ { long l ;
+ char c [sizeof (long)] ;
+ } u ;
+ u.l = 1 ;
+ return (u.c [sizeof (long) - 1] == 1);
+ }
+ ]]])],[],[ac_cv_c_byte_order=big],[])
+
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[[int main (void)
+ { /* Are we little or big endian? From Harbison&Steele. */
+ union
+ { long l ;
+ char c [sizeof (long)] ;
+ } u ;
+ u.l = 1 ;
+ return (u.c [0] == 1);
+ }]]])],[],[ac_cv_c_byte_order=little],[])
+ fi
+ fi
+
+)
+
+if test $ac_cv_c_byte_order = big ; then
+ ac_cv_c_big_endian=1
+ ac_cv_c_little_endian=0
+elif test $ac_cv_c_byte_order = little ; then
+ ac_cv_c_big_endian=0
+ ac_cv_c_little_endian=1
+else
+ ac_cv_c_big_endian=0
+ ac_cv_c_little_endian=0
+
+ AC_MSG_WARN([[*****************************************************************]])
+ AC_MSG_WARN([[*** Not able to determine endian-ness of target processor. ]])
+ AC_MSG_WARN([[*** The constants CPU_IS_BIG_ENDIAN and CPU_IS_LITTLE_ENDIAN in ]])
+ AC_MSG_WARN([[*** config.h may need to be hand editied. ]])
+ AC_MSG_WARN([[*****************************************************************]])
+ fi
+
+]
+)# XIPH_C_FIND_ENDIAN
diff --git a/3rdparty/libflac/m4/gcc_version.m4 b/3rdparty/libflac/m4/gcc_version.m4
new file mode 100644
index 00000000000..e6aaa603f95
--- /dev/null
+++ b/3rdparty/libflac/m4/gcc_version.m4
@@ -0,0 +1,34 @@
+dnl @synopsis XIPH_GCC_VERSION
+dnl
+dnl Find the version of gcc.
+dnl @version 1.0 Nov 05 2007
+dnl @version 1.1 Mar 10 2013
+dnl @author Erik de Castro Lopo <erikd AT mega-nerd DOT com>
+dnl
+dnl Permission to use, copy, modify, distribute, and sell this file for any
+dnl purpose is hereby granted without fee, provided that the above copyright
+dnl and this permission notice appear in all copies. No representations are
+dnl made about the suitability of this software for any purpose. It is
+dnl provided "as is" without express or implied warranty.
+dnl
+
+AC_DEFUN([XIPH_GCC_VERSION],
+[
+if test "x$ac_cv_c_compiler_gnu" = "xyes" ; then
+
+ AC_MSG_CHECKING([for version of $CC])
+ GCC_VERSION=`$CC -dumpversion`
+ AC_MSG_RESULT($GCC_VERSION)
+
+ GCC_MAJOR_VERSION=`echo $GCC_VERSION | cut -d. -f 1`
+ GCC_MINOR_VERSION=`echo $GCC_VERSION | cut -d. -f 2`
+else
+ GCC_MAJOR_VERSION=0
+ GCC_MINOR_VERSION=0
+ fi
+
+AC_SUBST(GCC_VERSION)
+AC_SUBST(GCC_MAJOR_VERSION)
+AC_SUBST(GCC_MINOR_VERSION)
+
+])# XIPH_GCC_VERSION
diff --git a/3rdparty/libflac/m4/iconv.m4 b/3rdparty/libflac/m4/iconv.m4
new file mode 100644
index 00000000000..6a47236c404
--- /dev/null
+++ b/3rdparty/libflac/m4/iconv.m4
@@ -0,0 +1,268 @@
+# iconv.m4 serial 18 (gettext-0.18.2)
+dnl Copyright (C) 2000-2002, 2007-2012 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
+[
+ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+
+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+ dnl accordingly.
+ AC_LIB_LINKFLAGS_BODY([iconv])
+])
+
+AC_DEFUN([AM_ICONV_LINK],
+[
+ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
+ dnl those with the standalone portable GNU libiconv installed).
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+ dnl accordingly.
+ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+
+ dnl Add $INCICONV to CPPFLAGS before performing the following checks,
+ dnl because if the user has installed libiconv and not disabled its use
+ dnl via --without-libiconv-prefix, he wants to use it. The first
+ dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed.
+ am_save_CPPFLAGS="$CPPFLAGS"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
+
+ AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
+ am_cv_func_iconv="no, consider installing GNU libiconv"
+ am_cv_lib_iconv=no
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <stdlib.h>
+#include <iconv.h>
+ ]],
+ [[iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);]])],
+ [am_cv_func_iconv=yes])
+ if test "$am_cv_func_iconv" != yes; then
+ am_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBICONV"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <stdlib.h>
+#include <iconv.h>
+ ]],
+ [[iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);]])],
+ [am_cv_lib_iconv=yes]
+ [am_cv_func_iconv=yes])
+ LIBS="$am_save_LIBS"
+ fi
+ ])
+ if test "$am_cv_func_iconv" = yes; then
+ AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
+ dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11,
+ dnl Solaris 10.
+ am_save_LIBS="$LIBS"
+ if test $am_cv_lib_iconv = yes; then
+ LIBS="$LIBS $LIBICONV"
+ fi
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <iconv.h>
+#include <string.h>
+int main ()
+{
+ int result = 0;
+ /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
+ returns. */
+ {
+ iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
+ if (cd_utf8_to_88591 != (iconv_t)(-1))
+ {
+ static const char input[] = "\342\202\254"; /* EURO SIGN */
+ char buf[10];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_utf8_to_88591,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ result |= 1;
+ iconv_close (cd_utf8_to_88591);
+ }
+ }
+ /* Test against Solaris 10 bug: Failures are not distinguishable from
+ successful returns. */
+ {
+ iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+ if (cd_ascii_to_88591 != (iconv_t)(-1))
+ {
+ static const char input[] = "\263";
+ char buf[10];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_ascii_to_88591,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ result |= 2;
+ iconv_close (cd_ascii_to_88591);
+ }
+ }
+ /* Test against AIX 6.1..7.1 bug: Buffer overrun. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static const char input[] = "\304";
+ static char buf[2] = { (char)0xDE, (char)0xAD };
+ const char *inptr = input;
+ size_t inbytesleft = 1;
+ char *outptr = buf;
+ size_t outbytesleft = 1;
+ size_t res = iconv (cd_88591_to_utf8,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+ result |= 4;
+ iconv_close (cd_88591_to_utf8);
+ }
+ }
+#if 0 /* This bug could be worked around by the caller. */
+ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+ char buf[50];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_88591_to_utf8,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if ((int)res > 0)
+ result |= 8;
+ iconv_close (cd_88591_to_utf8);
+ }
+ }
+#endif
+ /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+ provided. */
+ if (/* Try standardized names. */
+ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
+ /* Try IRIX, OSF/1 names. */
+ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
+ /* Try AIX names. */
+ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
+ /* Try HP-UX names. */
+ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
+ result |= 16;
+ return result;
+}]])],
+ [am_cv_func_iconv_works=yes],
+ [am_cv_func_iconv_works=no],
+ [
+changequote(,)dnl
+ case "$host_os" in
+ aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+ *) am_cv_func_iconv_works="guessing yes" ;;
+ esac
+changequote([,])dnl
+ ])
+ LIBS="$am_save_LIBS"
+ ])
+ case "$am_cv_func_iconv_works" in
+ *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+ *) am_func_iconv=yes ;;
+ esac
+ else
+ am_func_iconv=no am_cv_lib_iconv=no
+ fi
+ if test "$am_func_iconv" = yes; then
+ AC_DEFINE([HAVE_ICONV], [1],
+ [Define if you have the iconv() function and it works.])
+ fi
+ if test "$am_cv_lib_iconv" = yes; then
+ AC_MSG_CHECKING([how to link with libiconv])
+ AC_MSG_RESULT([$LIBICONV])
+ else
+ dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
+ dnl either.
+ CPPFLAGS="$am_save_CPPFLAGS"
+ LIBICONV=
+ LTLIBICONV=
+ fi
+ AC_SUBST([LIBICONV])
+ AC_SUBST([LTLIBICONV])
+])
+
+dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
+dnl avoid warnings like
+dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
+dnl This is tricky because of the way 'aclocal' is implemented:
+dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
+dnl Otherwise aclocal's initial scan pass would miss the macro definition.
+dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
+dnl Otherwise aclocal would emit many "Use of uninitialized value $1"
+dnl warnings.
+m4_define([gl_iconv_AC_DEFUN],
+ m4_version_prereq([2.64],
+ [[AC_DEFUN_ONCE(
+ [$1], [$2])]],
+ [m4_ifdef([gl_00GNULIB],
+ [[AC_DEFUN_ONCE(
+ [$1], [$2])]],
+ [[AC_DEFUN(
+ [$1], [$2])]])]))
+gl_iconv_AC_DEFUN([AM_ICONV],
+[
+ AM_ICONV_LINK
+ if test "$am_cv_func_iconv" = yes; then
+ AC_MSG_CHECKING([for iconv declaration])
+ AC_CACHE_VAL([am_cv_proto_iconv], [
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+ ]],
+ [[]])],
+ [am_cv_proto_iconv_arg1=""],
+ [am_cv_proto_iconv_arg1="const"])
+ am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
+ am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+ AC_MSG_RESULT([
+ $am_cv_proto_iconv])
+ AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
+ [Define as const if the declaration of iconv() needs const.])
+ dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>.
+ m4_ifdef([gl_ICONV_H_DEFAULTS],
+ [AC_REQUIRE([gl_ICONV_H_DEFAULTS])
+ if test -n "$am_cv_proto_iconv_arg1"; then
+ ICONV_CONST="const"
+ fi
+ ])
+ fi
+])
diff --git a/3rdparty/libflac/m4/lib-ld.m4 b/3rdparty/libflac/m4/lib-ld.m4
new file mode 100644
index 00000000000..e1feab54050
--- /dev/null
+++ b/3rdparty/libflac/m4/lib-ld.m4
@@ -0,0 +1,119 @@
+# lib-ld.m4 serial 6
+dnl Copyright (C) 1996-2003, 2009-2012 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Subroutines of libtool.m4,
+dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid
+dnl collision with libtool.m4.
+
+dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no.
+AC_DEFUN([AC_LIB_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ acl_cv_prog_gnu_ld=yes
+ ;;
+*)
+ acl_cv_prog_gnu_ld=no
+ ;;
+esac])
+with_gnu_ld=$acl_cv_prog_gnu_ld
+])
+
+dnl From libtool-2.4. Sets the variable LD.
+AC_DEFUN([AC_LIB_PROG_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+
+AC_ARG_WITH([gnu-ld],
+ [AS_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld [default=no]])],
+ [test "$withval" = no || with_gnu_ld=yes],
+ [with_gnu_ld=no])dnl
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by $CC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | ?:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
+ while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL([acl_cv_path_LD],
+[if test -z "$LD"; then
+ acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$acl_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ acl_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_ifs"
+else
+ acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$acl_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT([$LD])
+else
+ AC_MSG_RESULT([no])
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_LIB_PROG_LD_GNU
+])
diff --git a/3rdparty/libflac/m4/lib-link.m4 b/3rdparty/libflac/m4/lib-link.m4
new file mode 100644
index 00000000000..d11b4b4350e
--- /dev/null
+++ b/3rdparty/libflac/m4/lib-link.m4
@@ -0,0 +1,777 @@
+# lib-link.m4 serial 26 (gettext-0.18.2)
+dnl Copyright (C) 2001-2012 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_PREREQ([2.54])
+
+dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
+dnl augments the CPPFLAGS variable.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_LINKFLAGS],
+[
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+ pushdef([Name],[m4_translit([$1],[./+-], [____])])
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+ AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
+ AC_LIB_LINKFLAGS_BODY([$1], [$2])
+ ac_cv_lib[]Name[]_libs="$LIB[]NAME"
+ ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
+ ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
+ ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
+ ])
+ LIB[]NAME="$ac_cv_lib[]Name[]_libs"
+ LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
+ INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
+ LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+ AC_SUBST([LIB]NAME)
+ AC_SUBST([LTLIB]NAME)
+ AC_SUBST([LIB]NAME[_PREFIX])
+ dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
+ dnl results of this search when this library appears as a dependency.
+ HAVE_LIB[]NAME=yes
+ popdef([NAME])
+ popdef([Name])
+])
+
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
+dnl searches for libname and the libraries corresponding to explicit and
+dnl implicit dependencies, together with the specified include files and
+dnl the ability to compile and link the specified testcode. The missing-message
+dnl defaults to 'no' and may contain additional hints for the user.
+dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
+dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
+dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
+[
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+ pushdef([Name],[m4_translit([$1],[./+-], [____])])
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+
+ dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
+ dnl accordingly.
+ AC_LIB_LINKFLAGS_BODY([$1], [$2])
+
+ dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
+ dnl because if the user has installed lib[]Name and not disabled its use
+ dnl via --without-lib[]Name-prefix, he wants to use it.
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+
+ AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
+ ac_save_LIBS="$LIBS"
+ dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
+ dnl because these -l options might require -L options that are present in
+ dnl LIBS. -l options benefit only from the -L options listed before it.
+ dnl Otherwise, add it to the front of LIBS, because it may be a static
+ dnl library that depends on another static library that is present in LIBS.
+ dnl Static libraries benefit only from the static libraries listed after
+ dnl it.
+ case " $LIB[]NAME" in
+ *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
+ *) LIBS="$LIB[]NAME $LIBS" ;;
+ esac
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[$3]], [[$4]])],
+ [ac_cv_lib[]Name=yes],
+ [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
+ LIBS="$ac_save_LIBS"
+ ])
+ if test "$ac_cv_lib[]Name" = yes; then
+ HAVE_LIB[]NAME=yes
+ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
+ AC_MSG_CHECKING([how to link with lib[]$1])
+ AC_MSG_RESULT([$LIB[]NAME])
+ else
+ HAVE_LIB[]NAME=no
+ dnl If $LIB[]NAME didn't lead to a usable library, we don't need
+ dnl $INC[]NAME either.
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ LIB[]NAME=
+ LTLIB[]NAME=
+ LIB[]NAME[]_PREFIX=
+ fi
+ AC_SUBST([HAVE_LIB]NAME)
+ AC_SUBST([LIB]NAME)
+ AC_SUBST([LTLIB]NAME)
+ AC_SUBST([LIB]NAME[_PREFIX])
+ popdef([NAME])
+ popdef([Name])
+])
+
+dnl Determine the platform dependent parameters needed to use rpath:
+dnl acl_libext,
+dnl acl_shlibext,
+dnl acl_libname_spec,
+dnl acl_library_names_spec,
+dnl acl_hardcode_libdir_flag_spec,
+dnl acl_hardcode_libdir_separator,
+dnl acl_hardcode_direct,
+dnl acl_hardcode_minus_L.
+AC_DEFUN([AC_LIB_RPATH],
+[
+ dnl Tell automake >= 1.10 to complain if config.rpath is missing.
+ m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
+ AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
+ AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
+ AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
+ AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
+ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+ . ./conftest.sh
+ rm -f ./conftest.sh
+ acl_cv_rpath=done
+ ])
+ wl="$acl_cv_wl"
+ acl_libext="$acl_cv_libext"
+ acl_shlibext="$acl_cv_shlibext"
+ acl_libname_spec="$acl_cv_libname_spec"
+ acl_library_names_spec="$acl_cv_library_names_spec"
+ acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+ acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+ acl_hardcode_direct="$acl_cv_hardcode_direct"
+ acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
+ dnl Determine whether the user wants rpath handling at all.
+ AC_ARG_ENABLE([rpath],
+ [ --disable-rpath do not hardcode runtime library paths],
+ :, enable_rpath=yes)
+])
+
+dnl AC_LIB_FROMPACKAGE(name, package)
+dnl declares that libname comes from the given package. The configure file
+dnl will then not have a --with-libname-prefix option but a
+dnl --with-package-prefix option. Several libraries can come from the same
+dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
+dnl macro call that searches for libname.
+AC_DEFUN([AC_LIB_FROMPACKAGE],
+[
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+ define([acl_frompackage_]NAME, [$2])
+ popdef([NAME])
+ pushdef([PACK],[$2])
+ pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+ define([acl_libsinpackage_]PACKUP,
+ m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1])
+ popdef([PACKUP])
+ popdef([PACK])
+])
+
+dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
+dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
+dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+[
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+ pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
+ pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+ pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
+ dnl Autoconf >= 2.61 supports dots in --with options.
+ pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)])
+ dnl By default, look in $includedir and $libdir.
+ use_additional=yes
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ AC_ARG_WITH(P_A_C_K[-prefix],
+[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib
+ --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]],
+[
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
+ fi
+ fi
+ fi
+])
+ dnl Search the library and its dependencies in $additional_libdir and
+ dnl $LDFLAGS. Using breadth-first-seach.
+ LIB[]NAME=
+ LTLIB[]NAME=
+ INC[]NAME=
+ LIB[]NAME[]_PREFIX=
+ dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
+ dnl computed. So it has to be reset here.
+ HAVE_LIB[]NAME=
+ rpathdirs=
+ ltrpathdirs=
+ names_already_handled=
+ names_next_round='$1 $2'
+ while test -n "$names_next_round"; do
+ names_this_round="$names_next_round"
+ names_next_round=
+ for name in $names_this_round; do
+ already_handled=
+ for n in $names_already_handled; do
+ if test "$n" = "$name"; then
+ already_handled=yes
+ break
+ fi
+ done
+ if test -z "$already_handled"; then
+ names_already_handled="$names_already_handled $name"
+ dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
+ dnl or AC_LIB_HAVE_LINKFLAGS call.
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
+ eval value=\"\$HAVE_LIB$uppername\"
+ if test -n "$value"; then
+ if test "$value" = yes; then
+ eval value=\"\$LIB$uppername\"
+ test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
+ eval value=\"\$LTLIB$uppername\"
+ test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
+ else
+ dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
+ dnl that this library doesn't exist. So just drop it.
+ :
+ fi
+ else
+ dnl Search the library lib$name in $additional_libdir and $LDFLAGS
+ dnl and the already constructed $LIBNAME/$LTLIBNAME.
+ found_dir=
+ found_la=
+ found_so=
+ found_a=
+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
+ if test -n "$acl_shlibext"; then
+ shrext=".$acl_shlibext" # typically: shrext=.so
+ else
+ shrext=
+ fi
+ if test $use_additional = yes; then
+ dir="$additional_libdir"
+ dnl The same code as in the loop below:
+ dnl First look for a shared library.
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ dnl Then look for a static library.
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ for x in $LDFLAGS $LTLIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ case "$x" in
+ -L*)
+ dir=`echo "X$x" | sed -e 's/^X-L//'`
+ dnl First look for a shared library.
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ dnl Then look for a static library.
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ ;;
+ esac
+ if test "X$found_dir" != "X"; then
+ break
+ fi
+ done
+ fi
+ if test "X$found_dir" != "X"; then
+ dnl Found the library.
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
+ if test "X$found_so" != "X"; then
+ dnl Linking with a shared library. We attempt to hardcode its
+ dnl directory into the executable's runpath, unless it's the
+ dnl standard /usr/lib.
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+ dnl No hardcoding is needed.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ else
+ dnl Use an explicit option to hardcode DIR into the resulting
+ dnl binary.
+ dnl Potentially add DIR to ltrpathdirs.
+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $found_dir"
+ fi
+ dnl The hardcoding into $LIBNAME is system dependent.
+ if test "$acl_hardcode_direct" = yes; then
+ dnl Using DIR/libNAME.so during linking hardcodes DIR into the
+ dnl resulting binary.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ else
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+ dnl Use an explicit option to hardcode DIR into the resulting
+ dnl binary.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ dnl Potentially add DIR to rpathdirs.
+ dnl The rpathdirs will be appended to $LIBNAME at the end.
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $found_dir"
+ fi
+ else
+ dnl Rely on "-L$found_dir".
+ dnl But don't add it if it's already contained in the LDFLAGS
+ dnl or the already constructed $LIBNAME
+ haveit=
+ for x in $LDFLAGS $LIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
+ fi
+ if test "$acl_hardcode_minus_L" != no; then
+ dnl FIXME: Not sure whether we should use
+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+ dnl here.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ else
+ dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
+ dnl here, because this doesn't fit in flags passed to the
+ dnl compiler. So give up. No hardcoding. This affects only
+ dnl very old systems.
+ dnl FIXME: Not sure whether we should use
+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+ dnl here.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+ fi
+ fi
+ fi
+ fi
+ else
+ if test "X$found_a" != "X"; then
+ dnl Linking with a static library.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
+ else
+ dnl We shouldn't come here, but anyway it's good to have a
+ dnl fallback.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
+ fi
+ fi
+ dnl Assume the include files are nearby.
+ additional_includedir=
+ case "$found_dir" in
+ */$acl_libdirstem | */$acl_libdirstem/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ if test "$name" = '$1'; then
+ LIB[]NAME[]_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = '$1'; then
+ LIB[]NAME[]_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ esac
+ if test "X$additional_includedir" != "X"; then
+ dnl Potentially add $additional_includedir to $INCNAME.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/include,
+ dnl 2. if it's /usr/local/include and we are using GCC on Linux,
+ dnl 3. if it's already present in $CPPFLAGS or the already
+ dnl constructed $INCNAME,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ for x in $CPPFLAGS $INC[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ dnl Really add $additional_includedir to $INCNAME.
+ INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ fi
+ dnl Look for dependencies.
+ if test -n "$found_la"; then
+ dnl Read the .la file. It defines the variables
+ dnl dlname, library_names, old_library, dependency_libs, current,
+ dnl age, revision, installed, dlopen, dlpreopen, libdir.
+ save_libdir="$libdir"
+ case "$found_la" in
+ */* | *\\*) . "$found_la" ;;
+ *) . "./$found_la" ;;
+ esac
+ libdir="$save_libdir"
+ dnl We use only dependency_libs.
+ for dep in $dependency_libs; do
+ case "$dep" in
+ -L*)
+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+ dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/lib,
+ dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
+ dnl 3. if it's already present in $LDFLAGS or the already
+ dnl constructed $LIBNAME,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+ haveit=
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ haveit=
+ for x in $LDFLAGS $LIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ dnl Really add $additional_libdir to $LIBNAME.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
+ fi
+ fi
+ haveit=
+ for x in $LDFLAGS $LTLIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ dnl Really add $additional_libdir to $LTLIBNAME.
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ ;;
+ -R*)
+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
+ if test "$enable_rpath" != no; then
+ dnl Potentially add DIR to rpathdirs.
+ dnl The rpathdirs will be appended to $LIBNAME at the end.
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ dnl Potentially add DIR to ltrpathdirs.
+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $dir"
+ fi
+ fi
+ ;;
+ -l*)
+ dnl Handle this in the next round.
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+ ;;
+ *.la)
+ dnl Handle this in the next round. Throw away the .la's
+ dnl directory; it is already contained in a preceding -L
+ dnl option.
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+ ;;
+ *)
+ dnl Most likely an immediate library name.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
+ ;;
+ esac
+ done
+ fi
+ else
+ dnl Didn't find the library; assume it is in the system directories
+ dnl known to the linker and runtime loader. (All the system
+ dnl directories known to the linker should also be known to the
+ dnl runtime loader, otherwise the system is severely misconfigured.)
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
+ fi
+ fi
+ fi
+ done
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
+ dnl Weird platform: only the last -rpath option counts, the user must
+ dnl pass all path elements in one option. We can arrange that for a
+ dnl single library, but not when more than one $LIBNAMEs are used.
+ alldirs=
+ for found_dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+ done
+ dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+ else
+ dnl The -rpath options are cumulative.
+ for found_dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$found_dir"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+ done
+ fi
+ fi
+ if test "X$ltrpathdirs" != "X"; then
+ dnl When using libtool, the option that works for both libraries and
+ dnl executables is -R. The -R options are cumulative.
+ for found_dir in $ltrpathdirs; do
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
+ done
+ fi
+ popdef([P_A_C_K])
+ popdef([PACKLIBS])
+ popdef([PACKUP])
+ popdef([PACK])
+ popdef([NAME])
+])
+
+dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
+dnl unless already present in VAR.
+dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
+dnl contains two or three consecutive elements that belong together.
+AC_DEFUN([AC_LIB_APPENDTOVAR],
+[
+ for element in [$2]; do
+ haveit=
+ for x in $[$1]; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X$element"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ [$1]="${[$1]}${[$1]:+ }$element"
+ fi
+ done
+])
+
+dnl For those cases where a variable contains several -L and -l options
+dnl referring to unknown libraries and directories, this macro determines the
+dnl necessary additional linker options for the runtime path.
+dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
+dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
+dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
+dnl otherwise linking without libtool is assumed.
+AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
+[
+ AC_REQUIRE([AC_LIB_RPATH])
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ $1=
+ if test "$enable_rpath" != no; then
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+ dnl Use an explicit option to hardcode directories into the resulting
+ dnl binary.
+ rpathdirs=
+ next=
+ for opt in $2; do
+ if test -n "$next"; then
+ dir="$next"
+ dnl No need to hardcode the standard /usr/lib.
+ if test "X$dir" != "X/usr/$acl_libdirstem" \
+ && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ next=
+ else
+ case $opt in
+ -L) next=yes ;;
+ -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
+ dnl No need to hardcode the standard /usr/lib.
+ if test "X$dir" != "X/usr/$acl_libdirstem" \
+ && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ next= ;;
+ *) next= ;;
+ esac
+ fi
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n ""$3""; then
+ dnl libtool is used for linking. Use -R options.
+ for dir in $rpathdirs; do
+ $1="${$1}${$1:+ }-R$dir"
+ done
+ else
+ dnl The linker is used for linking directly.
+ if test -n "$acl_hardcode_libdir_separator"; then
+ dnl Weird platform: only the last -rpath option counts, the user
+ dnl must pass all path elements in one option.
+ alldirs=
+ for dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
+ done
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ $1="$flag"
+ else
+ dnl The -rpath options are cumulative.
+ for dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$dir"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ $1="${$1}${$1:+ }$flag"
+ done
+ fi
+ fi
+ fi
+ fi
+ fi
+ AC_SUBST([$1])
+])
diff --git a/3rdparty/libflac/m4/lib-prefix.m4 b/3rdparty/libflac/m4/lib-prefix.m4
new file mode 100644
index 00000000000..51687d364ff
--- /dev/null
+++ b/3rdparty/libflac/m4/lib-prefix.m4
@@ -0,0 +1,224 @@
+# lib-prefix.m4 serial 7 (gettext-0.18)
+dnl Copyright (C) 2001-2005, 2008-2012 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
+dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
+dnl require excessive bracketing.
+ifdef([AS_HELP_STRING],
+[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
+[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
+
+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
+dnl to access previously installed libraries. The basic assumption is that
+dnl a user will want packages to use other packages he previously installed
+dnl with the same --prefix option.
+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
+dnl libraries, but is otherwise very convenient.
+AC_DEFUN([AC_LIB_PREFIX],
+[
+ AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ dnl By default, look in $includedir and $libdir.
+ use_additional=yes
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ AC_LIB_ARG_WITH([lib-prefix],
+[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
+ --without-lib-prefix don't search for libraries in includedir and libdir],
+[
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/$acl_libdirstem"
+ fi
+ fi
+])
+ if test $use_additional = yes; then
+ dnl Potentially add $additional_includedir to $CPPFLAGS.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/include,
+ dnl 2. if it's already present in $CPPFLAGS,
+ dnl 3. if it's /usr/local/include and we are using GCC on Linux,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ for x in $CPPFLAGS; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ dnl Really add $additional_includedir to $CPPFLAGS.
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ dnl Potentially add $additional_libdir to $LDFLAGS.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/lib,
+ dnl 2. if it's already present in $LDFLAGS,
+ dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+ haveit=
+ for x in $LDFLAGS; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux*) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ dnl Really add $additional_libdir to $LDFLAGS.
+ LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ fi
+])
+
+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
+dnl acl_final_exec_prefix, containing the values to which $prefix and
+dnl $exec_prefix will expand at the end of the configure script.
+AC_DEFUN([AC_LIB_PREPARE_PREFIX],
+[
+ dnl Unfortunately, prefix and exec_prefix get only finally determined
+ dnl at the end of configure.
+ if test "X$prefix" = "XNONE"; then
+ acl_final_prefix="$ac_default_prefix"
+ else
+ acl_final_prefix="$prefix"
+ fi
+ if test "X$exec_prefix" = "XNONE"; then
+ acl_final_exec_prefix='${prefix}'
+ else
+ acl_final_exec_prefix="$exec_prefix"
+ fi
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+ prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
+dnl variables prefix and exec_prefix bound to the values they will have
+dnl at the end of the configure script.
+AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
+[
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ $1
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_PREPARE_MULTILIB creates
+dnl - a variable acl_libdirstem, containing the basename of the libdir, either
+dnl "lib" or "lib64" or "lib/64",
+dnl - a variable acl_libdirstem2, as a secondary possible value for
+dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
+dnl "lib/amd64".
+AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
+[
+ dnl There is no formal standard regarding lib and lib64.
+ dnl On glibc systems, the current practice is that on a system supporting
+ dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+ dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
+ dnl the compiler's default mode by looking at the compiler's library search
+ dnl path. If at least one of its elements ends in /lib64 or points to a
+ dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
+ dnl Otherwise we use the default, namely "lib".
+ dnl On Solaris systems, the current practice is that on a system supporting
+ dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+ dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
+ dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ acl_libdirstem=lib
+ acl_libdirstem2=
+ case "$host_os" in
+ solaris*)
+ dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
+ dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
+ dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
+ dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
+ dnl symlink is missing, so we set acl_libdirstem2 too.
+ AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
+ [AC_EGREP_CPP([sixtyfour bits], [
+#ifdef _LP64
+sixtyfour bits
+#endif
+ ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
+ ])
+ if test $gl_cv_solaris_64bit = yes; then
+ acl_libdirstem=lib/64
+ case "$host_cpu" in
+ sparc*) acl_libdirstem2=lib/sparcv9 ;;
+ i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+ esac
+ fi
+ ;;
+ *)
+ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+ if test -n "$searchpath"; then
+ acl_save_IFS="${IFS= }"; IFS=":"
+ for searchdir in $searchpath; do
+ if test -d "$searchdir"; then
+ case "$searchdir" in
+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+ */../ | */.. )
+ # Better ignore directories of this form. They are misleading.
+ ;;
+ *) searchdir=`cd "$searchdir" && pwd`
+ case "$searchdir" in
+ */lib64 ) acl_libdirstem=lib64 ;;
+ esac ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_IFS"
+ fi
+ ;;
+ esac
+ test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+])
diff --git a/3rdparty/libflac/m4/libtool.m4 b/3rdparty/libflac/m4/libtool.m4
new file mode 100644
index 00000000000..c4c02946dec
--- /dev/null
+++ b/3rdparty/libflac/m4/libtool.m4
@@ -0,0 +1,8394 @@
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+m4_define([_LT_COPYING], [dnl
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the same
+# distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+])
+
+# serial 58 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+ [m4_default([$3],
+ [m4_fatal([Libtool version $1 or higher is required],
+ 63)])],
+ [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+ *\ * | *\ *)
+ AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
+AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS=$ltmain
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_PREPARE_CC_BASENAME
+# -----------------------
+m4_defun([_LT_PREPARE_CC_BASENAME], [
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+ for cc_temp in @S|@*""; do
+ case $cc_temp in
+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+ done
+ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+])# _LT_PREPARE_CC_BASENAME
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
+# but that macro is also expanded into generated libtool script, which
+# arranges for $SED and $ECHO to be set by different means.
+m4_defun([_LT_CC_BASENAME],
+[m4_require([_LT_PREPARE_CC_BASENAME])dnl
+AC_REQUIRE([_LT_DECL_SED])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+func_cc_basename $1
+cc_basename=$func_cc_basename_result
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+
+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
+dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_WITH_SYSROOT])dnl
+m4_require([_LT_CMD_TRUNCATE])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options that allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}"; then
+ setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}"; then
+ setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test set != "${COLLECT_NAMES+set}"; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a '.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+old_CC=$CC
+old_CFLAGS=$CFLAGS
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ _LT_PATH_MAGIC
+ fi
+ ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PREPARE_SED_QUOTE_VARS
+# --------------------------
+# Define a few sed substitution that help us do robust quoting.
+m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
+[# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+])
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from 'configure', and 'config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
+# 'config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain=$ac_aux_dir/ltmain.sh
+])# _LT_PROG_LTMAIN
+
+
+## ------------------------------------- ##
+## Accumulate code for creating libtool. ##
+## ------------------------------------- ##
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the 'libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+ [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+## ------------------------ ##
+## FIXME: Eliminate VARNAME ##
+## ------------------------ ##
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME. Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+ [m4_ifval([$1], [$1], [$2])])
+ lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+ m4_ifval([$4],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+ lt_dict_add_subkey([lt_decl_dict], [$2],
+ [tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+ [0], [m4_fatal([$0: too few arguments: $#])],
+ [1], [m4_fatal([$0: too few arguments: $#: $1])],
+ [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+ [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+ [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+ m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_if([$2], [],
+ m4_quote(lt_decl_varnames),
+ m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+ lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to 'config.status' so that its
+# declaration there will have the same value as in 'configure'. VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly. In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+ [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags='_LT_TAGS'dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+# # Some comment about what VAR is for.
+# visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+ [description])))[]dnl
+m4_pushdef([_libtool_name],
+ m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+ [0], [_libtool_name=[$]$1],
+ [1], [_libtool_name=$lt_[]$1],
+ [2], [_libtool_name=$lt_[]$1],
+ [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
+# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+ m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into 'config.status', and then the shell code to quote escape them in
+# for loops in 'config.status'. Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+ dnl If the libtool generation code has been placed in $CONFIG_LT,
+ dnl instead of duplicating it all over again into config.status,
+ dnl then we will have config.status run $CONFIG_LT later, so it
+ dnl needs to know what name is stored there:
+ [AC_CONFIG_COMMANDS([libtool],
+ [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+ dnl If the libtool generation code is destined for config.status,
+ dnl expand the accumulated commands and init code now:
+ [AC_CONFIG_COMMANDS([libtool],
+ [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$[]1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
+# ------------------------------------
+# Generate a child script FILE with all initialization necessary to
+# reuse the environment learned by the parent script, and make the
+# file executable. If COMMENT is supplied, it is inserted after the
+# '#!' sequence but before initialization text begins. After this
+# macro, additional text can be appended to FILE to form the body of
+# the child script. The macro ends with non-zero status if the
+# file could not be fully written (such as if the disk is full).
+m4_ifdef([AS_INIT_GENERATED],
+[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
+[m4_defun([_LT_GENERATED_FILE_INIT],
+[m4_require([AS_PREPARE])]dnl
+[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
+[lt_write_fail=0
+cat >$1 <<_ASEOF || lt_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+$2
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$1 <<\_ASEOF || lt_write_fail=1
+AS_SHELL_SANITIZE
+_AS_PREPARE
+exec AS_MESSAGE_FD>&1
+_ASEOF
+test 0 = "$lt_write_fail" && chmod +x $1[]dnl
+m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
+[# Run this file to recreate a libtool stub with the current configuration.])
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+lt_cl_silent=false
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+ echo
+ AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+'$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2011 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test 0 != $[#]
+do
+ case $[1] in
+ --version | --v* | -V )
+ echo "$lt_cl_version"; exit 0 ;;
+ --help | --h* | -h )
+ echo "$lt_cl_help"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --quiet | --q* | --silent | --s* | -q )
+ lt_cl_silent=: ;;
+
+ -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try '$[0] --help' for more information.]) ;;
+
+ *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try '$[0] --help' for more information.]) ;;
+ esac
+ shift
+done
+
+if $lt_cl_silent; then
+ exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure. Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+lt_cl_success=:
+test yes = "$silent" &&
+ lt_config_lt_args="$lt_config_lt_args --quiet"
+exec AS_MESSAGE_LOG_FD>/dev/null
+$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+exec AS_MESSAGE_LOG_FD>>config.log
+$lt_cl_success || AS_EXIT(1)
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars. Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+ m4_if(_LT_TAG, [C], [
+ # See if we are running on zsh, and set the options that allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}"; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile=${ofile}T
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+# Generated automatically by $as_me ($PACKAGE) $VERSION
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_PREPARE_MUNGE_PATH_LIST
+_LT_PREPARE_CC_BASENAME
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test set != "${COLLECT_NAMES+set}"; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+ _LT_PROG_LTMAIN
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ RM='$RM'
+ ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+# autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+ [C], [_LT_LANG(C)],
+ [C++], [_LT_LANG(CXX)],
+ [Go], [_LT_LANG(GO)],
+ [Java], [_LT_LANG(GCJ)],
+ [Fortran 77], [_LT_LANG(F77)],
+ [Fortran], [_LT_LANG(FC)],
+ [Windows Resource], [_LT_LANG(RC)],
+ [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+ [_LT_LANG($1)],
+ [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+ [LT_SUPPORTED_TAG([$1])dnl
+ m4_append([_LT_TAGS], [$1 ])dnl
+ m4_define([_LT_LANG_]$1[_enabled], [])dnl
+ _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+m4_ifndef([AC_PROG_GO], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_GO. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+m4_defun([AC_PROG_GO],
+[AC_LANG_PUSH(Go)dnl
+AC_ARG_VAR([GOC], [Go compiler command])dnl
+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+AC_CHECK_TOOL(GOC, gccgo)
+if test -z "$GOC"; then
+ if test -n "$ac_tool_prefix"; then
+ AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
+ fi
+fi
+if test -z "$GOC"; then
+ AC_CHECK_PROG(GOC, gccgo, gccgo, false)
+fi
+])#m4_defun
+])#m4_ifndef
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [LT_LANG(CXX)],
+ [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+ [LT_LANG(F77)],
+ [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+ [LT_LANG(FC)],
+ [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [m4_ifdef([AC_PROG_GCJ],
+ [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([A][M_PROG_GCJ],
+ [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([LT_PROG_GCJ],
+ [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([AC_PROG_GO],
+ [LT_LANG(GO)],
+ [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+ [LT_LANG(RC)],
+ [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+dnl AC_DEFUN([AC_LIBTOOL_RC], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+ case $host_os in
+ rhapsody* | darwin*)
+ AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+ AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+ AC_CHECK_TOOL([LIPO], [lipo], [:])
+ AC_CHECK_TOOL([OTOOL], [otool], [:])
+ AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+ _LT_DECL([], [DSYMUTIL], [1],
+ [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+ _LT_DECL([], [NMEDIT], [1],
+ [Tool to change global to local symbols on Mac OS X])
+ _LT_DECL([], [LIPO], [1],
+ [Tool to manipulate fat objects and archives on Mac OS X])
+ _LT_DECL([], [OTOOL], [1],
+ [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+ _LT_DECL([], [OTOOL64], [1],
+ [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+ [lt_cv_apple_cc_single_mod=no
+ if test -z "$LT_MULTI_MODULE"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ # If there is a non-empty error log, and "single_module"
+ # appears in it, assume the flag caused a linker warning
+ if test -s conftest.err && $GREP single_module conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ # Otherwise, if the output was created with a 0 exit code from
+ # the compiler, it worked.
+ elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi])
+
+ AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+ [lt_cv_ld_exported_symbols_list],
+ [lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [lt_cv_ld_exported_symbols_list=yes],
+ [lt_cv_ld_exported_symbols_list=no])
+ LDFLAGS=$save_LDFLAGS
+ ])
+
+ AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
+ [lt_cv_ld_force_load=no
+ cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+ echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+ $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+ echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
+ $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+ cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+ _lt_result=$?
+ if test -s conftest.err && $GREP force_load conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
+ lt_cv_ld_force_load=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -f conftest.err libconftest.a conftest conftest.c
+ rm -rf conftest.dSYM
+ ])
+ case $host_os in
+ rhapsody* | darwin1.[[012]])
+ _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[[912]]*)
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ 10.[[012]][[,.]]*)
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+ 10.*|11.*)
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test yes = "$lt_cv_apple_cc_single_mod"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test yes = "$lt_cv_ld_exported_symbols_list"; then
+ _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
+ fi
+ if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES([TAG])
+# ---------------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+ m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ if test yes = "$lt_cv_ld_force_load"; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
+ [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
+ case $cc_basename in
+ ifort*|nagfor*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test yes = "$_lt_dar_can_shared"; then
+ output_verbose_link_cmd=func_echo_all
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
+ m4_if([$1], [CXX],
+[ if test yes != "$lt_cv_apple_cc_single_mod"; then
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
+ fi
+],[])
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
+# ----------------------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+# Store the results from the different compilers for each TAGNAME.
+# Allow to override them for all tags through lt_cv_aix_libpath.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+if test set = "${lt_cv_aix_libpath+set}"; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
+ lt_aix_libpath_sed='[
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }]'
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi],[])
+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
+ fi
+ ])
+ aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
+fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[m4_divert_text([M4SH-INIT], [$1
+])])# _LT_SHELL_INIT
+
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Find how we can fake an echo command that does not interpret backslash.
+# In particular, with Autoconf 2.60 or later we add some code to the start
+# of the generated configure script that will find a shell with a builtin
+# printf (that we can use as an echo command).
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+AC_MSG_CHECKING([how to print strings])
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='printf %s\n'
+else
+ # Use this function as a fallback that always works.
+ func_fallback_echo ()
+ {
+ eval 'cat <<_LTECHO_EOF
+$[]1
+_LTECHO_EOF'
+ }
+ ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
+
+case $ECHO in
+ printf*) AC_MSG_RESULT([printf]) ;;
+ print*) AC_MSG_RESULT([print -r]) ;;
+ *) AC_MSG_RESULT([cat]) ;;
+esac
+
+m4_ifdef([_AS_DETECT_SUGGESTED],
+[_AS_DETECT_SUGGESTED([
+ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
+ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+ PATH=/empty FPATH=/empty; export PATH FPATH
+ test "X`printf %s $ECHO`" = "X$ECHO" \
+ || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
+
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_WITH_SYSROOT
+# ----------------
+AC_DEFUN([_LT_WITH_SYSROOT],
+[AC_MSG_CHECKING([for sysroot])
+AC_ARG_WITH([sysroot],
+[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
+ [Search for dependent libraries within DIR (or the compiler's sysroot
+ if not specified).])],
+[], [with_sysroot=no])
+
+dnl lt_sysroot will always be passed unquoted. We quote it here
+dnl in case the user passed a directory name.
+lt_sysroot=
+case $with_sysroot in #(
+ yes)
+ if test yes = "$GCC"; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+ AC_MSG_RESULT([$with_sysroot])
+ AC_MSG_ERROR([The sysroot must be an absolute path.])
+ ;;
+esac
+
+ AC_MSG_RESULT([${lt_sysroot:-no}])
+_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
+[dependent libraries, and where our libraries should be installed.])])
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+ [AS_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
+test no = "$enable_libtool_lock" || enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out what ABI is being produced by ac_compile, and set mode
+ # options accordingly.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE=32
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE=64
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ if test yes = "$lt_cv_prog_gnu_ld"; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+mips64*-*linux*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ emul=elf
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ emul="${emul}32"
+ ;;
+ *64-bit*)
+ emul="${emul}64"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *MSB*)
+ emul="${emul}btsmip"
+ ;;
+ *LSB*)
+ emul="${emul}ltsmip"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *N32*)
+ emul="${emul}n32"
+ ;;
+ esac
+ LD="${LD-ld} -m $emul"
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly. Note that the listed cases only cover the
+ # situations where additional linker options are needed (such as when
+ # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+ # vice versa); the common cases where no linker options are needed do
+ # not appear in the list.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ case `/usr/bin/file conftest.o` in
+ *x86-64*)
+ LD="${LD-ld} -m elf32_x86_64"
+ ;;
+ *)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ esac
+ ;;
+ powerpc64le-*linux*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
+ powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ powerpcle-*linux*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS -belf"
+ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+ [AC_LANG_PUSH(C)
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+ AC_LANG_POP])
+ if test yes != "$lt_cv_cc_needs_belf"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS=$SAVE_CFLAGS
+ fi
+ ;;
+*-*solaris*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*)
+ case $host in
+ i?86-*-solaris*|x86_64-*-solaris*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ sparc*-*-solaris*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+ LD=${LD-ld}_sol2
+ fi
+ ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+esac
+
+need_locks=$enable_libtool_lock
+])# _LT_ENABLE_LOCK
+
+
+# _LT_PROG_AR
+# -----------
+m4_defun([_LT_PROG_AR],
+[AC_CHECK_TOOLS(AR, [ar], false)
+: ${AR=ar}
+: ${AR_FLAGS=cr}
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
+
+AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
+ [lt_cv_ar_at_file=no
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
+ [echo conftest.$ac_objext > conftest.lst
+ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
+ AC_TRY_EVAL([lt_ar_try])
+ if test 0 -eq "$ac_status"; then
+ # Ensure the archiver fails upon bogus file names.
+ rm -f conftest.$ac_objext libconftest.a
+ AC_TRY_EVAL([lt_ar_try])
+ if test 0 -ne "$ac_status"; then
+ lt_cv_ar_at_file=@
+ fi
+ fi
+ rm -f conftest.* libconftest.a
+ ])
+ ])
+
+if test no = "$lt_cv_ar_at_file"; then
+ archiver_list_spec=
+else
+ archiver_list_spec=$lt_cv_ar_at_file
+fi
+_LT_DECL([], [archiver_list_spec], [1],
+ [How to feed a file listing to the archiver])
+])# _LT_PROG_AR
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[_LT_PROG_AR
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+ [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ bitrig* | openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
+
+case $host_os in
+ darwin*)
+ lock_old_archive_extraction=yes ;;
+ *)
+ lock_old_archive_extraction=no ;;
+esac
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+ [Commands used to build an old-style archive])
+_LT_DECL([], [lock_old_archive_extraction], [0],
+ [Whether to use a lock for old archive extraction])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ fi
+ $RM conftest*
+])
+
+if test yes = "[$]$2"; then
+ m4_if([$5], , :, [$5])
+else
+ m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS $3"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&AS_MESSAGE_LOG_FD
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ else
+ $2=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS=$save_LDFLAGS
+])
+
+if test yes = "[$]$2"; then
+ m4_if([$4], , :, [$4])
+else
+ m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+ i=0
+ teststring=ABCD
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ mint*)
+ # On MiNT this can take a long time and run out of memory.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ os2*)
+ # The test takes a long time on OS/2.
+ lt_cv_sys_max_cmd_len=8192
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len" && \
+ test undefined != "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test X`env echo "$teststring$teststring" 2>/dev/null` \
+ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+ test 17 != "$i" # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+])
+if test -n "$lt_cv_sys_max_cmd_len"; then
+ AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+ AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+ [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test yes = "$cross_compiling"; then :
+ [$4]
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+[#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+/* When -fvisibility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}]
+_LT_EOF
+ if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
+ (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) $1 ;;
+ x$lt_dlneed_uscore) $2 ;;
+ x$lt_dlunknown|x*) $3 ;;
+ esac
+ else :
+ # compilation failed
+ $3
+ fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test yes != "$enable_dlopen"; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen=load_add_on
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen=LoadLibrary
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen=dlopen
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
+ lt_cv_dlopen=dyld
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ])
+ ;;
+
+ tpf*)
+ # Don't try to run any link tests for TPF. We know it's impossible
+ # because TPF is a cross-compiler, and we know how we open DSOs.
+ lt_cv_dlopen=dlopen
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=no
+ ;;
+
+ *)
+ AC_CHECK_FUNC([shl_load],
+ [lt_cv_dlopen=shl_load],
+ [AC_CHECK_LIB([dld], [shl_load],
+ [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
+ [AC_CHECK_FUNC([dlopen],
+ [lt_cv_dlopen=dlopen],
+ [AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
+ [AC_CHECK_LIB([svld], [dlopen],
+ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
+ [AC_CHECK_LIB([dld], [dld_link],
+ [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ;;
+ esac
+
+ if test no = "$lt_cv_dlopen"; then
+ enable_dlopen=no
+ else
+ enable_dlopen=yes
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS=$CPPFLAGS
+ test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS=$LDFLAGS
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS=$LIBS
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ AC_CACHE_CHECK([whether a program can dlopen itself],
+ lt_cv_dlopen_self, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+ ])
+
+ if test yes = "$lt_cv_dlopen_self"; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+ lt_cv_dlopen_self_static, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
+ ])
+ fi
+
+ CPPFLAGS=$save_CPPFLAGS
+ LDFLAGS=$save_LDFLAGS
+ LIBS=$save_LIBS
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+ [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+ [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+ [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+ fi
+ fi
+ chmod u+w . 2>&AS_MESSAGE_LOG_FD
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+ [Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links=nottested
+if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
+ # do not overwrite the value of need_locks provided by the user
+ AC_MSG_CHECKING([if we can lock with hard links])
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ AC_MSG_RESULT([$hard_links])
+ if test no = "$hard_links"; then
+ AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+ [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
+ [Define to the sub-directory where libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+ test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+ test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
+
+ # We can hardcode non-existent directories.
+ if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
+ test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
+ # Linking always hardcodes the temporary library directory.
+ _LT_TAGVAR(hardcode_action, $1)=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ _LT_TAGVAR(hardcode_action, $1)=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
+ test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test yes = "$shlibpath_overrides_runpath" ||
+ test no = "$enable_shared"; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+ [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP"; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ ;;
+ esac
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_PREPARE_MUNGE_PATH_LIST
+# ---------------------------
+# Make sure func_munge_path_list() is defined correctly.
+m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
+[[# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+# string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+# string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+# "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+# VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+ case x@S|@2 in
+ x)
+ ;;
+ *:)
+ eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
+ ;;
+ x:*)
+ eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
+ ;;
+ *::*)
+ eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+ eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
+ ;;
+ *)
+ eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
+ ;;
+ esac
+}
+]])# _LT_PREPARE_PATH_LIST
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+ [], [
+if test yes = "$GCC"; then
+ case $host_os in
+ darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+ *) lt_awk_arg='/^libraries:/' ;;
+ esac
+ case $host_os in
+ mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
+ *) lt_sed_strip_eq='s|=/|/|g' ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+ case $lt_search_path_spec in
+ *\;*)
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+ ;;
+ *)
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ esac
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary...
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ # ...but if some path component already ends with the multilib dir we assume
+ # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+ case "$lt_multi_os_dir; $lt_search_path_spec " in
+ "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+ lt_multi_os_dir=
+ ;;
+ esac
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+ elif test -n "$lt_multi_os_dir"; then
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS = " "; FS = "/|\n";} {
+ lt_foo = "";
+ lt_count = 0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo = "/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+ if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+ # AWK program above erroneously prepends '/' to C:/dos/paths
+ # for these hosts.
+ case $host_os in
+ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
+ esac
+ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=.so
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
+[User-defined run-time library search path.])
+
+case $host_os in
+aix3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='$libname$release$shared_ext$major'
+ ;;
+
+aix[[4-9]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test ia64 = "$host_cpu"; then
+ # AIX 5 supports IA64
+ library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line '#! .'. This would cause the generated library to
+ # depend on '.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[[01]] | aix4.[[01]].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # Using Import Files as archive members, it is possible to support
+ # filename-based versioning of shared library archives on AIX. While
+ # this would work for both with and without runtime linking, it will
+ # prevent static linking of such archives. So we do filename-based
+ # shared library versioning with .so extension only, which is used
+ # when both runtime linking and shared linking is enabled.
+ # Unfortunately, runtime linking may impact performance, so we do
+ # not want this to be the default eventually. Also, we use the
+ # versioned .so libs for executables only if there is the -brtl
+ # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+ # To allow for filename-based versioning support, we need to create
+ # libNAME.so.V as an archive file, containing:
+ # *) an Import File, referring to the versioned filename of the
+ # archive as well as the shared archive member, telling the
+ # bitwidth (32 or 64) of that shared object, and providing the
+ # list of exported symbols of that shared object, eventually
+ # decorated with the 'weak' keyword
+ # *) the shared object with the F_LOADONLY flag set, to really avoid
+ # it being seen by the linker.
+ # At run time we better use the real file rather than another symlink,
+ # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+ case $with_aix_soname,$aix_use_runtimelinking in
+ # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ aix,yes) # traditional libtool
+ dynamic_linker='AIX unversionable lib.so'
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ ;;
+ aix,no) # traditional AIX only
+ dynamic_linker='AIX lib.a[(]lib.so.V[)]'
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ ;;
+ svr4,*) # full svr4 only
+ dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,yes) # both, prefer svr4
+ dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # unpreferred sharedlib libNAME.a needs extra handling
+ postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+ postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,no) # both, prefer aix
+ dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+ postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+ postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+ ;;
+ esac
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='$libname$shared_ext'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[[45]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=.dll
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ ;;
+
+ *,cl*)
+ # Native MSVC
+ libname_spec='$name'
+ soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+ library_names_spec='$libname.dll.lib'
+
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec=$LIB
+ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+ # It is most probably a Windows format PATH.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
+ ;;
+ esac
+
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
+ # Assume MSVC wrapper
+ library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
+ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$major$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[[23]].*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2.*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+haiku*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ if test 32 = "$HPUX_IA64_MODE"; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux32
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux64
+ fi
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+ postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
+ ;;
+
+interix[[3-9]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test yes = "$lt_cv_prog_gnu_ld"; then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+ sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+linux*android*)
+ version_type=none # Android doesn't support versioned libraries.
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext'
+ soname_spec='$libname$release$shared_ext'
+ finish_cmds=
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ dynamic_linker='Android linker'
+ # Don't embed -rpath directories since the linker doesn't support them.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+
+ # Some binutils ld are patched to set DT_RUNPATH
+ AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
+ [lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+ [lt_cv_shlibpath_overrides_runpath=yes])])
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+ ])
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Ideally, we could use ldconfig to report *all* directores which are
+ # searched for libraries, however this is still not possible. Aside from not
+ # being certain /sbin/ldconfig is available, command
+ # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+ # even though it is searched at run-time. Try to do the best guess by
+ # appending ld.so.conf contents (and includes) to the search path.
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd* | bitrig*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec=/usr/lib
+ need_lib_prefix=no
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ need_version=no
+ else
+ need_version=yes
+ fi
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+os2*)
+ libname_spec='$name'
+ version_type=windows
+ shrext_cmds=.dll
+ need_version=no
+ need_lib_prefix=no
+ # OS/2 can only load a DLL with a base name of 8 characters or less.
+ soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+ v=$($ECHO $release$versuffix | tr -d .-);
+ n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+ $ECHO $n$v`$shared_ext'
+ library_names_spec='${libname}_dll.$libext'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=BEGINLIBPATH
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test yes = "$with_gnu_ld"; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec; then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+ soname_spec='$libname$shared_ext.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=sco
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test yes = "$with_gnu_ld"; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test no = "$dynamic_linker" && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test yes = "$GCC"; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+ sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
+fi
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+ sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
+fi
+
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+ [Variables whose values should be saved in libtool wrapper scripts and
+ restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+ [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+ [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+ [[List of archive names. First name is the real one, the rest are links.
+ The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+ [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [install_override_mode], [1],
+ [Permission mode override for installation of shared libraries])
+_LT_DECL([], [postinstall_cmds], [2],
+ [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+ [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+ [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+ [[As "finish_cmds", except a single script fragment to be evaled but
+ not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+ [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+ [Compile-time system search path for libraries])
+_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
+ [Detected run-time system search path for libraries])
+_LT_DECL([], [configure_time_lt_sys_library_path], [2],
+ [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program that can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] | ?:[\\/]*])
+ lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD=$MAGIC_CMD
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word. This closes a longstanding sh security hole.
+ ac_dummy="m4_if([$2], , $PATH, [$2])"
+ for ac_dir in $ac_dummy; do
+ IFS=$lt_save_ifs
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$1"; then
+ lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS=$lt_save_ifs
+ MAGIC_CMD=$lt_save_MAGIC_CMD
+ ;;
+esac])
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+if test -n "$MAGIC_CMD"; then
+ AC_MSG_RESULT($MAGIC_CMD)
+else
+ AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+ [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program that can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+ else
+ MAGIC_CMD=:
+ fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
+
+AC_ARG_WITH([gnu-ld],
+ [AS_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+ [test no = "$withval" || with_gnu_ld=yes],
+ [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test yes = "$GCC"; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by $CC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return, which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | ?:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD=$ac_prog
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test yes = "$with_gnu_ld"; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS=$lt_save_ifs
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD=$ac_dir/$ac_prog
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test no != "$with_gnu_ld" && break
+ ;;
+ *)
+ test yes != "$with_gnu_ld" && break
+ ;;
+ esac
+ fi
+ done
+ IFS=$lt_save_ifs
+else
+ lt_cv_path_LD=$LD # Let the user override the test with a path.
+fi])
+LD=$lt_cv_path_LD
+if test -n "$LD"; then
+ AC_MSG_RESULT($LD)
+else
+ AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
+
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+# -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+ lt_cv_ld_reload_flag,
+ [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ if test yes != "$GCC"; then
+ reload_cmds=false
+ fi
+ ;;
+ darwin*)
+ if test yes = "$GCC"; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_TAGDECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
+
+
+# _LT_PATH_DD
+# -----------
+# find a working dd
+m4_defun([_LT_PATH_DD],
+[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
+[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi])
+rm -f conftest.i conftest2.i conftest.out])
+])# _LT_PATH_DD
+
+
+# _LT_CMD_TRUNCATE
+# ----------------
+# find command to truncate a binary pipe
+m4_defun([_LT_CMD_TRUNCATE],
+[m4_require([_LT_PATH_DD])
+AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
+fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
+_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
+ [Command to truncate a binary pipe])
+])# _LT_CMD_TRUNCATE
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# 'unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# that responds to the $file_magic_cmd with a given extended regex.
+# If you have 'file' or equivalent on your system and you're not sure
+# whether 'pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[[4-9]]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[[45]]*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ if ( file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ # Keep this pattern in sync with the one in func_win32_libid.
+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+cegcc*)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+haiku*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+interix[[3-9]]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+openbsd* | bitrig*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+os2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+])
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+ case $host_os in
+ mingw* | pw32*)
+ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+ want_nocaseglob=yes
+ else
+ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
+ fi
+ ;;
+ esac
+fi
+
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+_LT_DECL([], [deplibs_check_method], [1],
+ [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+ [Command to use when deplibs_check_method = "file_magic"])
+_LT_DECL([], [file_magic_glob], [1],
+ [How to find potential files when deplibs_check_method = "file_magic"])
+_LT_DECL([], [want_nocaseglob], [1],
+ [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM=$NM
+else
+ lt_nm_to_check=${ac_tool_prefix}nm
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS=$lt_save_ifs
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm=$ac_dir/$lt_tmp_nm
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+ case $build_os in
+ mingw*) lt_bad_file=conftest.nm/nofile ;;
+ *) lt_bad_file=/dev/null ;;
+ esac
+ case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+ *$lt_bad_file* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break 2
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break 2
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS=$lt_save_ifs
+ done
+ : ${lt_cv_path_NM=no}
+fi])
+if test no != "$lt_cv_path_NM"; then
+ NM=$lt_cv_path_NM
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$DUMPBIN"; then :
+ # Let the user override the test.
+ else
+ AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
+ case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
+ *COFF*)
+ DUMPBIN="$DUMPBIN -symbols -headers"
+ ;;
+ *)
+ DUMPBIN=:
+ ;;
+ esac
+ fi
+ AC_SUBST([DUMPBIN])
+ if test : != "$DUMPBIN"; then
+ NM=$DUMPBIN
+ fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+ [lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
+ cat conftest.out >&AS_MESSAGE_LOG_FD
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+# --------------------------------
+# how to determine the name of the shared library
+# associated with a specific link library.
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+m4_require([_LT_DECL_DLLTOOL])
+AC_CACHE_CHECK([how to associate runtime and link libraries],
+lt_cv_sharedlib_from_linklib_cmd,
+[lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+ # two different shell functions defined in ltmain.sh;
+ # decide which one to use based on capabilities of $DLLTOOL
+ case `$DLLTOOL --help 2>&1` in
+ *--identify-strict*)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+ ;;
+ *)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+ ;;
+ esac
+ ;;
+*)
+ # fallback: assume linklib IS sharedlib
+ lt_cv_sharedlib_from_linklib_cmd=$ECHO
+ ;;
+esac
+])
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
+ [Command to associate shared and link libraries])
+])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+
+
+# _LT_PATH_MANIFEST_TOOL
+# ----------------------
+# locate the manifest tool
+m4_defun([_LT_PATH_MANIFEST_TOOL],
+[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
+ [lt_cv_path_mainfest_tool=no
+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+ lt_cv_path_mainfest_tool=yes
+ fi
+ rm -f conftest*])
+if test yes != "$lt_cv_path_mainfest_tool"; then
+ MANIFEST_TOOL=:
+fi
+_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
+])# _LT_PATH_MANIFEST_TOOL
+
+
+# _LT_DLL_DEF_P([FILE])
+# ---------------------
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with func_dll_def_p in the libtool script
+AC_DEFUN([_LT_DLL_DEF_P],
+[dnl
+ test DEF = "`$SED -n dnl
+ -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace
+ -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments
+ -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl
+ -e q dnl Only consider the first "real" line
+ $1`" dnl
+])# _LT_DLL_DEF_P
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
+ # These system don't have libm, or don't need it
+ ;;
+*-ncr-sysv4.3*)
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
+ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+ ;;
+*)
+ AC_CHECK_LIB(m, cos, LIBM=-lm)
+ ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test yes = "$GCC"; then
+ case $cc_basename in
+ nvcc*)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
+ esac
+
+ _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+ lt_cv_prog_compiler_rtti_exceptions,
+ [-fno-rtti -fno-exceptions], [],
+ [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+ [Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[[BCDT]]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[[ABCDGISTW]]'
+ ;;
+hpux*)
+ if test ia64 = "$host_cpu"; then
+ symcode='[[ABCDEGRST]]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[[BCDEGRST]]'
+ ;;
+osf*)
+ symcode='[[BCDEGQRST]]'
+ ;;
+solaris*)
+ symcode='[[BDRT]]'
+ ;;
+sco3.2v5*)
+ symcode='[[DT]]'
+ ;;
+sysv4.2uw2*)
+ symcode='[[DT]]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[[ABDT]]'
+ ;;
+sysv4)
+ symcode='[[DFNSTU]]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Gets list of data symbols to import.
+ lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+ # Adjust the below global symbol transforms to fixup imported variables.
+ lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+ lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
+ lt_c_name_lib_hook="\
+ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
+ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
+else
+ # Disable hooks by default.
+ lt_cv_sys_global_symbol_to_import=
+ lt_cdecl_hook=
+ lt_c_name_hook=
+ lt_c_name_lib_hook=
+fi
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function,
+ # D for any global variable and I for any imported variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK ['"\
+" {last_section=section; section=\$ 3};"\
+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx]"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+ if AC_TRY_EVAL(ac_compile); then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD
+ if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT@&t@_DLSYM_CONST
+#elif defined __osf__
+/* This system does not cope well with relocations in const data. */
+# define LT@&t@_DLSYM_CONST
+#else
+# define LT@&t@_DLSYM_CONST const
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols. */
+LT@&t@_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_globsym_save_LIBS=$LIBS
+ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS=conftstm.$ac_objext
+ CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+ if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
+ pipe_works=yes
+ fi
+ LIBS=$lt_globsym_save_LIBS
+ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test yes = "$pipe_works"; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ AC_MSG_RESULT(failed)
+else
+ AC_MSG_RESULT(ok)
+fi
+
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
+ nm_file_list_spec='@'
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+ [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+ [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
+ [Transform the output of nm into a list of symbols to manually relocate])
+_LT_DECL([global_symbol_to_c_name_address],
+ [lt_cv_sys_global_symbol_to_c_name_address], [1],
+ [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+ [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+ [Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
+ [The name lister interface])
+_LT_DECL([], [nm_file_list_spec], [1],
+ [Specify filename containing input files for $NM])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+m4_if([$1], [CXX], [
+ # C++ specific cases for pic, static, wl, etc.
+ if test yes = "$GXX"; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test ia64 = "$host_cpu"; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the '-m68020' flag to GCC prevents building anything better,
+ # like '-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ case $host_os in
+ os2*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+ ;;
+ esac
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ case $host_os in
+ aix[[4-9]]*)
+ # All AIX code is PIC.
+ if test ia64 = "$host_cpu"; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68*)
+ # Green Hills C++ Compiler
+ # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | dragonfly*)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+ if test ia64 != "$host_cpu"; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ fi
+ ;;
+ aCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ case $cc_basename in
+ KCC*)
+ # KAI C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ ecpc* )
+ # old Intel C++ for x86_64, which still supported -KPIC.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ cxx*)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
+ # IBM XL 8.0, 9.0 on PPC and BlueGene
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd* | netbsdelf*-gnu)
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ cxx*)
+ # Digital/Compaq C++
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ lcc*)
+ # Lucid
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ vxworks*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+],
+[
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test ia64 = "$host_cpu"; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the '-m68020' flag to GCC prevents building anything better,
+ # like '-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ case $host_os in
+ os2*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+ ;;
+ esac
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
+
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ enable_shared=no
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+
+ case $cc_basename in
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
+ if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
+ fi
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ if test ia64 = "$host_cpu"; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ case $cc_basename in
+ nagfor*)
+ # NAG Fortran compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ case $host_os in
+ os2*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+ ;;
+ esac
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC (with -KPIC) is the default.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ case $cc_basename in
+ # old Intel for x86_64, which still supported -KPIC.
+ ecc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # flang / f18. f95 an alias for gfortran or flang on Debian
+ flang* | f18* | f95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+ ;;
+ nagfor*)
+ # NAG Fortran compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ ccc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All Alpha code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xl* | bgxl* | bgf* | mpixl*)
+ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+ ;;
+ *Sun\ F* | *Sun*Fortran*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ *Sun\ C*)
+ # Sun C 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ *Intel*\ [[CF]]*Compiler*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ *Portland\ Group*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All OSF/1 code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ rdos*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ unicos*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+])
+case $host_os in
+ # For platforms that do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+ ;;
+esac
+
+AC_CACHE_CHECK([for $compiler option to produce PIC],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+ [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+ [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+ "" | " "*) ;;
+ *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+ esac],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+ [Additional compiler flags for building library objects])
+
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+ [How to pass a linker flag through the compiler])
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+ _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+ $lt_tmp_static_flag,
+ [],
+ [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+ [Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ case $host_os in
+ aix[[4-9]]*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+ # Without the "-l" option, or with the "-B" option, AIX nm treats
+ # weak defined symbols like other global defined symbols, whereas
+ # GNU nm marks them as "W".
+ # While the 'weak' keyword is ignored in the Export File, we need
+ # it in the Import File for the 'aix-soname' feature, so we have
+ # to replace the "-B" option with "-P" for AIX nm.
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
+ ;;
+ cygwin* | mingw* | cegcc*)
+ case $cc_basename in
+ cl*)
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+], [
+ runpath_var=
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)=
+ _LT_TAGVAR(archive_expsym_cmds, $1)=
+ _LT_TAGVAR(compiler_needs_object, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(hardcode_automatic, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ _LT_TAGVAR(hardcode_minus_L, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_TAGVAR(inherit_rpath, $1)=no
+ _LT_TAGVAR(link_all_deplibs, $1)=unknown
+ _LT_TAGVAR(module_cmds, $1)=
+ _LT_TAGVAR(module_expsym_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+ _LT_TAGVAR(thread_safe_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ _LT_TAGVAR(include_expsyms, $1)=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ' (' and ')$', so one must not match beginning or
+ # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
+ # as well as any symbol that contains 'd'.
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test yes != "$GCC"; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd* | bitrig*)
+ with_gnu_ld=no
+ ;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
+ esac
+
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+
+ # On some targets, GNU ld is compatible enough with the native linker
+ # that we're better off using the native interface for both.
+ lt_use_gnu_ld_interface=no
+ if test yes = "$with_gnu_ld"; then
+ case $host_os in
+ aix*)
+ # The AIX port of GNU ld has always aspired to compatibility
+ # with the native linker. However, as the warning in the GNU ld
+ # block says, versions before 2.19.5* couldn't really create working
+ # shared libraries, regardless of the interface used.
+ case `$LD -v 2>&1` in
+ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+ *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
+ *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ fi
+
+ if test yes = "$lt_use_gnu_ld_interface"; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='$wl'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[[3-9]]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test ia64 != "$host_cpu"; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+
+_LT_EOF
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file, use it as
+ # is; otherwise, prepend EXPORTS...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ shrext_cmds=.dll
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ tmp_diet=no
+ if test linux-dietlibc = "$host_os"; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test no = "$tmp_diet"
+ then
+ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group f77 and f90 compilers
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ tmp_sharedflag='--shared' ;;
+ nagfor*) # NAGFOR 5.3
+ tmp_sharedflag='-Wl,-shared' ;;
+ xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+
+ if test yes = "$supports_anon_versioning"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ tcc*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
+ ;;
+ xlf* | bgf* | bgxlf* | mpixlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test yes = "$supports_anon_versioning"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+
+ if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
+ runpath_var=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test ia64 = "$host_cpu"; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+ # Without the "-l" option, or with the "-B" option, AIX nm treats
+ # weak defined symbols like other global defined symbols, whereas
+ # GNU nm marks them as "W".
+ # While the 'weak' keyword is ignored in the Export File, we need
+ # it in the Import File for the 'aix-soname' feature, so we have
+ # to replace the "-B" option with "-P" for AIX nm.
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # have runtime linking enabled, and use it for executables.
+ # For shared libraries, we enable/disable runtime linking
+ # depending on the kind of the shared library created -
+ # when "with_aix_soname,aix_use_runtimelinking" is:
+ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
+ # "aix,yes" lib.so shared, rtl:yes, for executables
+ # lib.a static archive
+ # "both,no" lib.so.V(shr.o) shared, rtl:yes
+ # lib.a(lib.so.V) shared, rtl:no, for executables
+ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a(lib.so.V) shared, rtl:no
+ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a static archive
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # With aix-soname=svr4, we create the lib.so.V shared archives only,
+ # so we don't have lib.a shared libs to link our executables.
+ # We have to force runtime linking in this case.
+ aix_use_runtimelinking=yes
+ LDFLAGS="$LDFLAGS -Wl,-brtl"
+ fi
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+ case $with_aix_soname,$aix_use_runtimelinking in
+ aix,*) ;; # traditional, no import file
+ svr4,* | *,yes) # use import file
+ # The Import File defines what to hardcode.
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ ;;
+ esac
+
+ if test yes = "$GCC"; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`$CC -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag="$shared_flag "'$wl-G'
+ fi
+ # Need to ensure runtime linking is disabled for the traditional
+ # shared library, or the linker may eventually find shared libraries
+ # /with/ Import File - we do not want to mix them.
+ shared_flag_aix='-shared'
+ shared_flag_svr4='-shared $wl-G'
+ else
+ # not using gcc
+ if test ia64 = "$host_cpu"; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag='$wl-G'
+ else
+ shared_flag='$wl-bM:SRE'
+ fi
+ shared_flag_aix='$wl-bM:SRE'
+ shared_flag_svr4='$wl-G'
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
+ else
+ if test ia64 = "$host_cpu"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+ if test yes = "$with_gnu_ld"; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+ # -brtl affects multiple linker settings, -berok does not and is overridden later
+ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+ if test svr4 != "$with_aix_soname"; then
+ # This is similar to how AIX traditionally builds its shared libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+ fi
+ if test aix != "$with_aix_soname"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+ else
+ # used by -dlpreopen to get the symbols
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
+ fi
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ bsdi[[45]]*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ case $cc_basename in
+ cl*)
+ # Native MSVC
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=.dll
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp "$export_symbols" "$output_objdir/$soname.def";
+ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+ else
+ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+ # Don't use ranlib
+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile=$lt_outputfile.exe
+ lt_tool_outputfile=$lt_tool_outputfile.exe
+ ;;
+ esac~
+ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # Assume MSVC wrapper
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=.dll
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ # FIXME: Should let the user specify the lib program.
+ _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+ esac
+ ;;
+
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ dgux*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2.*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ hpux9*)
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ ;;
+
+ hpux10*)
+ if test yes,no = "$GCC,$with_gnu_ld"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test yes,no = "$GCC,$with_gnu_ld"; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ m4_if($1, [], [
+ # Older versions of the 11.00 compiler do not understand -b yet
+ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+ _LT_LINKER_OPTION([if $CC understands -b],
+ _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+ [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
+ ;;
+ esac
+ fi
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ # This should be the same for all languages, so no per-tag cache variable.
+ AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
+ [lt_cv_irix_exported_symbol],
+ [save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
+ AC_LINK_IFELSE(
+ [AC_LANG_SOURCE(
+ [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
+ [C++], [[int foo (void) { return 0; }]],
+ [Fortran 77], [[
+ subroutine foo
+ end]],
+ [Fortran], [[
+ subroutine foo
+ end]])])],
+ [lt_cv_irix_exported_symbol=yes],
+ [lt_cv_irix_exported_symbol=no])
+ LDFLAGS=$save_LDFLAGS])
+ if test yes = "$lt_cv_irix_exported_symbol"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ linux*)
+ case $cc_basename in
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *nto* | *qnx*)
+ ;;
+
+ openbsd* | bitrig*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ fi
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ shrext_cmds=.dll
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+
+ osf3*)
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+ if test yes = "$GCC"; then
+ wlarc='$wl'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='$wl'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands '-z linker_flag'. GCC discards it without '$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ sunos4*)
+ if test sequent = "$host_vendor"; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ ;;
+ motorola)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4.3*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We CANNOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ if test sni = "$host_vendor"; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
+ ;;
+ esac
+ fi
+ fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+ [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+ # Assume -lc should be added
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+ if test yes,yes = "$GCC,$enable_shared"; then
+ case $_LT_TAGVAR(archive_cmds, $1) in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ AC_CACHE_CHECK([whether -lc should be explicitly linked in],
+ [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
+ [$RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+ pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+ then
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ else
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ fi
+ _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+ ])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+ [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+ [enable_shared_with_static_runtimes], [0],
+ [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+ [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+ [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+ [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+ [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+ [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+ [Commands used to build a loadable module if different from building
+ a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+ [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+ [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+ [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+ [Flag to hardcode $libdir into a binary during linking.
+ This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+ [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+ [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
+ DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+ [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
+ DIR into the resulting binary and the resulting library dependency is
+ "absolute", i.e impossible to change by setting $shlibpath_var if the
+ library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+ [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+ [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+ [Set to "yes" if building a shared library automatically hardcodes DIR
+ into the library and all subsequent libraries and executables linked
+ against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+ [Set to yes if linker adds runtime paths of dependent libraries
+ to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+ [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [always_export_symbols], [0],
+ [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+ [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+ [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+ [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+ [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [postlink_cmds], [2],
+ [Commands necessary for finishing linking programs])
+_LT_TAGDECL([], [file_list_spec], [1],
+ [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC=$CC
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+ LT_SYS_DLOPEN_SELF
+ _LT_CMD_STRIPLIB
+
+ # Report what library types will actually be built
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test no = "$can_build_shared" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test yes = "$enable_shared" && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test yes = "$enable_shared" || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC=$lt_save_CC
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+if test -n "$CXX" && ( test no != "$CXX" &&
+ ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
+ (test g++ != "$CXX"))); then
+ AC_PROG_CXXCPP
+else
+ _lt_caught_CXX_error=yes
+fi
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test yes != "$_lt_caught_CXX_error"; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="int some_variable = 0;"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_CFLAGS=$CFLAGS
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+ lt_save_with_gnu_ld=$with_gnu_ld
+ lt_save_path_LD=$lt_cv_path_LD
+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+ else
+ $as_unset lt_cv_prog_gnu_ld
+ fi
+ if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+ else
+ $as_unset lt_cv_path_LD
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
+ CFLAGS=$CXXFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ # We don't want -fno-exception when compiling C++ code, so set the
+ # no_builtin_flag separately
+ if test yes = "$GXX"; then
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+ else
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+ fi
+
+ if test yes = "$GXX"; then
+ # Set up default GNU C++ configuration
+
+ LT_PATH_LD
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test yes = "$with_gnu_ld"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='$wl'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+ $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
+
+ else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+ fi
+
+ # PORTME: fill in a description of your system's C++ link characteristics
+ AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aix[[4-9]]*)
+ if test ia64 = "$host_cpu"; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # have runtime linking enabled, and use it for executables.
+ # For shared libraries, we enable/disable runtime linking
+ # depending on the kind of the shared library created -
+ # when "with_aix_soname,aix_use_runtimelinking" is:
+ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
+ # "aix,yes" lib.so shared, rtl:yes, for executables
+ # lib.a static archive
+ # "both,no" lib.so.V(shr.o) shared, rtl:yes
+ # lib.a(lib.so.V) shared, rtl:no, for executables
+ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a(lib.so.V) shared, rtl:no
+ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a static archive
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # With aix-soname=svr4, we create the lib.so.V shared archives only,
+ # so we don't have lib.a shared libs to link our executables.
+ # We have to force runtime linking in this case.
+ aix_use_runtimelinking=yes
+ LDFLAGS="$LDFLAGS -Wl,-brtl"
+ fi
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+ case $with_aix_soname,$aix_use_runtimelinking in
+ aix,*) ;; # no import file
+ svr4,* | *,yes) # use import file
+ # The Import File defines what to hardcode.
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ ;;
+ esac
+
+ if test yes = "$GXX"; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`$CC -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ esac
+ shared_flag='-shared'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag=$shared_flag' $wl-G'
+ fi
+ # Need to ensure runtime linking is disabled for the traditional
+ # shared library, or the linker may eventually find shared libraries
+ # /with/ Import File - we do not want to mix them.
+ shared_flag_aix='-shared'
+ shared_flag_svr4='-shared $wl-G'
+ else
+ # not using gcc
+ if test ia64 = "$host_cpu"; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag='$wl-G'
+ else
+ shared_flag='$wl-bM:SRE'
+ fi
+ shared_flag_aix='$wl-bM:SRE'
+ shared_flag_svr4='$wl-G'
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to
+ # export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ # The "-G" linker flag allows undefined symbols.
+ _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
+ else
+ if test ia64 = "$host_cpu"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+ if test yes = "$with_gnu_ld"; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+ # -brtl affects multiple linker settings, -berok does not and is overridden later
+ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+ if test svr4 != "$with_aix_soname"; then
+ # This is similar to how AIX traditionally builds its shared
+ # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+ fi
+ if test aix != "$with_aix_soname"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+ else
+ # used by -dlpreopen to get the symbols
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
+ fi
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
+ fi
+ fi
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $GXX,$cc_basename in
+ ,cl* | no,cl*)
+ # Native MSVC
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=.dll
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp "$export_symbols" "$output_objdir/$soname.def";
+ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+ else
+ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ # Don't use ranlib
+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile=$lt_outputfile.exe
+ lt_tool_outputfile=$lt_tool_outputfile.exe
+ ;;
+ esac~
+ func_to_tool_file "$lt_outputfile"~
+ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # g++
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file, use it as
+ # is; otherwise, prepend EXPORTS...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ shrext_cmds=.dll
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ freebsd2.*)
+ # C++ shared libraries reported to be fairly broken before
+ # switch to ELF
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ freebsd-elf*)
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ ;;
+
+ freebsd* | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ hpux9*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test yes = "$GXX"; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ hpux10*|hpux11*)
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test yes = "$GXX"; then
+ if test no = "$with_gnu_ld"; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test yes = "$GXX"; then
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
+ fi
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+ esac
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc* | ecpc* )
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+ *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
+ _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+ _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+ $RANLIB $oldlib'
+ _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 6 and above use weak symbols
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+ ;;
+ xl* | mpixl* | bgxl*)
+ # IBM XL 8.0 on PPC, with GNU ld
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ if test yes = "$supports_anon_versioning"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ m88k*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+ ;;
+
+ *nto* | *qnx*)
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ openbsd* | bitrig*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+ fi
+ output_verbose_link_cmd=func_echo_all
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ case $host in
+ osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+ *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+ esac
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx*)
+ case $host in
+ osf3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
+ $RM $lib.exp'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test yes,no = "$GXX,$with_gnu_ld"; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ case $host in
+ osf3*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ psos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands '-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test yes,no = "$GXX,$with_gnu_ld"; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
+ else
+ # g++ 2.7 appears to require '-G' NOT '-shared' on this
+ # platform.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
+ fi
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We CANNOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
+ '"$_LT_TAGVAR(old_archive_cmds, $1)"
+ _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
+ '"$_LT_TAGVAR(reload_cmds, $1)"
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+ test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
+
+ _LT_TAGVAR(GCC, $1)=$GXX
+ _LT_TAGVAR(LD, $1)=$LD
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+ with_gnu_ld=$lt_save_with_gnu_ld
+ lt_cv_path_LDCXX=$lt_cv_path_LD
+ lt_cv_path_LD=$lt_save_path_LD
+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test yes != "$_lt_caught_CXX_error"
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_FUNC_STRIPNAME_CNF
+# ----------------------
+# func_stripname_cnf prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+#
+# This function is identical to the (non-XSI) version of func_stripname,
+# except this one can be used by m4 code that may be executed by configure,
+# rather than the libtool script.
+m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
+AC_REQUIRE([_LT_DECL_SED])
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
+func_stripname_cnf ()
+{
+ case @S|@2 in
+ .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
+ *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
+ esac
+} # func_stripname_cnf
+])# _LT_FUNC_STRIPNAME_CNF
+
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library. It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer*4 a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+ private int a;
+ public void bar (void) {
+ a = 0;
+ }
+};
+_LT_EOF
+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
+package foo
+func foo() {
+}
+_LT_EOF
+])
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+ # Parse the compiler output and extract the necessary
+ # objects, libraries and library flags.
+
+ # Sentinel used to keep track of whether or not we are before
+ # the conftest object file.
+ pre_test_object_deps_done=no
+
+ for p in `eval "$output_verbose_link_cmd"`; do
+ case $prev$p in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test x-L = "$p" ||
+ test x-R = "$p"; then
+ prev=$p
+ continue
+ fi
+
+ # Expand the sysroot to ease extracting the directories later.
+ if test -z "$prev"; then
+ case $p in
+ -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+ -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+ -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+ esac
+ fi
+ case $p in
+ =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+ esac
+ if test no = "$pre_test_object_deps_done"; then
+ case $prev in
+ -L | -R)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+ if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+ _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
+ else
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+ _LT_TAGVAR(postdeps, $1)=$prev$p
+ else
+ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
+ fi
+ fi
+ prev=
+ ;;
+
+ *.lto.$objext) ;; # Ignore GCC LTO objects
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+ if test "$p" = "conftest.$objext"; then
+ pre_test_object_deps_done=yes
+ continue
+ fi
+
+ if test no = "$pre_test_object_deps_done"; then
+ if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+ _LT_TAGVAR(predep_objects, $1)=$p
+ else
+ _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+ fi
+ else
+ if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+ _LT_TAGVAR(postdep_objects, $1)=$p
+ else
+ _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ _LT_TAGVAR(predep_objects,$1)=
+ _LT_TAGVAR(postdep_objects,$1)=
+ _LT_TAGVAR(postdeps,$1)=
+ ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+ [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+ [Dependencies to place before and after the objects being linked to
+ create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+ [The library search path used internally by the compiler when linking
+ a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_LANG_PUSH(Fortran 77)
+if test -z "$F77" || test no = "$F77"; then
+ _lt_disable_F77=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test yes != "$_lt_disable_F77"; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_GCC=$GCC
+ lt_save_CFLAGS=$CFLAGS
+ CC=${F77-"f77"}
+ CFLAGS=$FFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+ GCC=$G77
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test no = "$can_build_shared" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test yes = "$enable_shared" && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test yes = "$enable_shared" || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)=$G77
+ _LT_TAGVAR(LD, $1)=$LD
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+fi # test yes != "$_lt_disable_F77"
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_LANG_PUSH(Fortran)
+
+if test -z "$FC" || test no = "$FC"; then
+ _lt_disable_FC=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test yes != "$_lt_disable_FC"; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_GCC=$GCC
+ lt_save_CFLAGS=$CFLAGS
+ CC=${FC-"f95"}
+ CFLAGS=$FCFLAGS
+ compiler=$CC
+ GCC=$ac_cv_fc_compiler_gnu
+
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test no = "$can_build_shared" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test yes = "$enable_shared" && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test yes = "$enable_shared" || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
+ _LT_TAGVAR(LD, $1)=$LD
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+fi # test yes != "$_lt_disable_FC"
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+CFLAGS=$GCJFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)=$LD
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_GO_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Go compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_GO_CONFIG],
+[AC_REQUIRE([LT_PROG_GO])dnl
+AC_LANG_SAVE
+
+# Source file extension for Go test sources.
+ac_ext=go
+
+# Object file extension for compiled Go test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="package main; func main() { }"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='package main; func main() { }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GOC-"gccgo"}
+CFLAGS=$GOFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)=$LD
+_LT_CC_BASENAME([$compiler])
+
+# Go did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GO_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code=$lt_simple_compile_test_code
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+CFLAGS=
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+ :
+ _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+ [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+ [AC_CHECK_TOOL(GCJ, gcj,)
+ test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
+ AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_GO
+# ----------
+AC_DEFUN([LT_PROG_GO],
+[AC_CHECK_TOOL(GOC, gccgo,)
+])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+# _LT_DECL_DLLTOOL
+# ----------------
+# Ensure DLLTOOL variable is set.
+m4_defun([_LT_DECL_DLLTOOL],
+[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
+AC_SUBST([DLLTOOL])
+])
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible. Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+ [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_SED. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for lt_ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+ fi
+ done
+ done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+ test ! -f "$lt_ac_sed" && continue
+ cat /dev/null > conftest.in
+ lt_ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+ # Check for GNU sed and select it if it is found.
+ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+ lt_cv_path_SED=$lt_ac_sed
+ break
+ fi
+ while true; do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo >>conftest.nl
+ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+ cmp -s conftest.out conftest.nl || break
+ # 10000 chars as input seems more than enough
+ test 10 -lt "$lt_ac_count" && break
+ lt_ac_count=`expr $lt_ac_count + 1`
+ if test "$lt_ac_count" -gt "$lt_ac_max"; then
+ lt_ac_max=$lt_ac_count
+ lt_cv_path_SED=$lt_ac_sed
+ fi
+ done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PATH_CONVERSION_FUNCTIONS
+# -----------------------------
+# Determine what file name conversion functions should be used by
+# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
+# for certain cross-compile configurations and native mingw.
+m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_MSG_CHECKING([how to convert $build file names to $host format])
+AC_CACHE_VAL(lt_cv_to_host_file_cmd,
+[case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+ ;;
+ esac
+ ;;
+ *-*-cygwin* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+ ;;
+ esac
+ ;;
+ * ) # unhandled hosts (and "normal" native builds)
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+esac
+])
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
+_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
+ [0], [convert $build file names to $host format])dnl
+
+AC_MSG_CHECKING([how to convert $build file names to toolchain format])
+AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
+[#assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ esac
+ ;;
+esac
+])
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
+ [0], [convert $build files to toolchain format])dnl
+])# _LT_PATH_CONVERSION_FUNCTIONS
diff --git a/3rdparty/libflac/m4/ltoptions.m4 b/3rdparty/libflac/m4/ltoptions.m4
new file mode 100644
index 00000000000..94b08297666
--- /dev/null
+++ b/3rdparty/libflac/m4/ltoptions.m4
@@ -0,0 +1,437 @@
+# Helper functions for option handling. -*- Autoconf -*-
+#
+# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
+# Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 8 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it. Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+ _LT_MANGLE_DEFUN([$1], [$2]),
+ [m4_warning([Unknown $1 option '$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+ [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME. If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+ dnl
+ dnl Simply set some default values (i.e off) if boolean options were not
+ dnl specified:
+ _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+ ])
+ _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+ ])
+ dnl
+ dnl If no reference was made to various pairs of opposing options, then
+ dnl we run the default mode handler for the pair. For example, if neither
+ dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
+ dnl archives by default:
+ _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+ _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+ [_LT_ENABLE_FAST_INSTALL])
+ _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
+ [_LT_WITH_AIX_SONAME([aix])])
+ ])
+])# _LT_SET_OPTIONS
+
+
+## --------------------------------- ##
+## Macros to handle LT_INIT options. ##
+## --------------------------------- ##
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the 'dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+ ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS], [1], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the 'win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the 'shared' and
+# 'disable-shared' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+ [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+ [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+ for pkg in $enableval; do
+ IFS=$lt_save_ifs
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS=$lt_save_ifs
+ ;;
+ esac],
+ [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+ _LT_DECL([build_libtool_libs], [enable_shared], [0],
+ [Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the 'static' and
+# 'disable-static' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+ [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+ [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+ for pkg in $enableval; do
+ IFS=$lt_save_ifs
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS=$lt_save_ifs
+ ;;
+ esac],
+ [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+ _LT_DECL([build_old_libs], [enable_static], [0],
+ [Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the 'fast-install'
+# and 'disable-fast-install' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+ [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+ [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+ for pkg in $enableval; do
+ IFS=$lt_save_ifs
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS=$lt_save_ifs
+ ;;
+ esac],
+ [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+ [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the 'fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the 'disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_AIX_SONAME([DEFAULT])
+# ----------------------------------
+# implement the --with-aix-soname flag, and support the `aix-soname=aix'
+# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
+# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'.
+m4_define([_LT_WITH_AIX_SONAME],
+[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
+shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[[5-9]]*,yes)
+ AC_MSG_CHECKING([which variant of shared library versioning to provide])
+ AC_ARG_WITH([aix-soname],
+ [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
+ [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
+ [case $withval in
+ aix|svr4|both)
+ ;;
+ *)
+ AC_MSG_ERROR([Unknown argument to --with-aix-soname])
+ ;;
+ esac
+ lt_cv_with_aix_soname=$with_aix_soname],
+ [AC_CACHE_VAL([lt_cv_with_aix_soname],
+ [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
+ with_aix_soname=$lt_cv_with_aix_soname])
+ AC_MSG_RESULT([$with_aix_soname])
+ if test aix != "$with_aix_soname"; then
+ # For the AIX way of multilib, we name the shared archive member
+ # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+ # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+ # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+ # the AIX toolchain works better with OBJECT_MODE set (default 32).
+ if test 64 = "${OBJECT_MODE-32}"; then
+ shared_archive_member_spec=shr_64
+ else
+ shared_archive_member_spec=shr
+ fi
+ fi
+ ;;
+*)
+ with_aix_soname=aix
+ ;;
+esac
+
+_LT_DECL([], [shared_archive_member_spec], [0],
+ [Shared archive member basename, for filename based shared library versioning on AIX])dnl
+])# _LT_WITH_AIX_SONAME
+
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
+# LT_INIT options.
+# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+ [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
+ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+ [lt_p=${PACKAGE-default}
+ case $withval in
+ yes|no) pic_mode=$withval ;;
+ *)
+ pic_mode=default
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+ for lt_pkg in $withval; do
+ IFS=$lt_save_ifs
+ if test "X$lt_pkg" = "X$lt_p"; then
+ pic_mode=yes
+ fi
+ done
+ IFS=$lt_save_ifs
+ ;;
+ esac],
+ [pic_mode=m4_default([$1], [default])])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the 'pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+## ----------------- ##
+## LTDL_INIT Options ##
+## ----------------- ##
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+ [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+ [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+ [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+ [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+ [m4_define([_LTDL_TYPE], [convenience])])
diff --git a/3rdparty/libflac/m4/ltsugar.m4 b/3rdparty/libflac/m4/ltsugar.m4
new file mode 100644
index 00000000000..48bc9344a4d
--- /dev/null
+++ b/3rdparty/libflac/m4/ltsugar.m4
@@ -0,0 +1,124 @@
+# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
+#
+# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
+# Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+ [$#], [2], [[$2]],
+ [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+ [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59, which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+ [$#], 1, [],
+ [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+ m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+ [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+ [m4_foreach([_Lt_suffix],
+ ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+ [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+ [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+ [lt_append([$1], [$2], [$3])$4],
+ [$5])],
+ [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+ m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+ m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+ [$5],
+ [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+ [lt_join(m4_quote(m4_default([$4], [[, ]])),
+ lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+ [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
diff --git a/3rdparty/libflac/m4/ltversion.m4 b/3rdparty/libflac/m4/ltversion.m4
new file mode 100644
index 00000000000..fa04b52a3bf
--- /dev/null
+++ b/3rdparty/libflac/m4/ltversion.m4
@@ -0,0 +1,23 @@
+# ltversion.m4 -- version numbers -*- Autoconf -*-
+#
+# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# @configure_input@
+
+# serial 4179 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.4.6])
+m4_define([LT_PACKAGE_REVISION], [2.4.6])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.4.6'
+macro_revision='2.4.6'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
diff --git a/3rdparty/libflac/m4/lt~obsolete.m4 b/3rdparty/libflac/m4/lt~obsolete.m4
new file mode 100644
index 00000000000..c6b26f88f6c
--- /dev/null
+++ b/3rdparty/libflac/m4/lt~obsolete.m4
@@ -0,0 +1,99 @@
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
+#
+# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
+# Foundation, Inc.
+# Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 5 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else. This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
+m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
+m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
+m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
+m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
+m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
diff --git a/3rdparty/libflac/m4/ogg.m4 b/3rdparty/libflac/m4/ogg.m4
index 0e1f1abf591..3b1a28a6e5c 100644
--- a/3rdparty/libflac/m4/ogg.m4
+++ b/3rdparty/libflac/m4/ogg.m4
@@ -9,23 +9,29 @@ AC_DEFUN([XIPH_PATH_OGG],
[dnl
dnl Get the cflags and libraries
dnl
-AC_ARG_WITH(ogg,[ --with-ogg=PFX Prefix where libogg is installed (optional)], ogg_prefix="$withval", ogg_prefix="")
-AC_ARG_WITH(ogg-libraries,[ --with-ogg-libraries=DIR Directory where libogg library is installed (optional)], ogg_libraries="$withval", ogg_libraries="")
-AC_ARG_WITH(ogg-includes,[ --with-ogg-includes=DIR Directory where libogg header files are installed (optional)], ogg_includes="$withval", ogg_includes="")
-AC_ARG_ENABLE(oggtest, [ --disable-oggtest Do not try to compile and run a test Ogg program],, enable_oggtest=yes)
+AC_ARG_WITH(ogg,AS_HELP_STRING([--with-ogg=PFX],[Prefix where libogg is installed (optional)]), ogg_prefix="$withval", ogg_prefix="")
+AC_ARG_WITH(ogg-libraries,AS_HELP_STRING([--with-ogg-libraries=DIR],[Directory where libogg library is installed (optional)]), ogg_libraries="$withval", ogg_libraries="")
+AC_ARG_WITH(ogg-includes,AS_HELP_STRING([--with-ogg-includes=DIR],[Directory where libogg header files are installed (optional)]), ogg_includes="$withval", ogg_includes="")
+AC_ARG_ENABLE(oggtest,AS_HELP_STRING([--disable-oggtest],[Do not try to compile and run a test Ogg program]),, enable_oggtest=yes)
if test "x$ogg_libraries" != "x" ; then
OGG_LIBS="-L$ogg_libraries"
+ elif test "x$ogg_prefix" = "xno" || test "x$ogg_prefix" = "xyes" ; then
+ OGG_LIBS=""
elif test "x$ogg_prefix" != "x" ; then
OGG_LIBS="-L$ogg_prefix/lib"
elif test "x$prefix" != "xNONE" ; then
OGG_LIBS="-L$prefix/lib"
fi
- OGG_LIBS="$OGG_LIBS -logg"
+ if test "x$ogg_prefix" != "xno" ; then
+ OGG_LIBS="$OGG_LIBS -logg"
+ fi
if test "x$ogg_includes" != "x" ; then
OGG_CFLAGS="-I$ogg_includes"
+ elif test "x$ogg_prefix" = "xno" || test "x$ogg_prefix" = "xyes" ; then
+ OGG_CFLAGS=""
elif test "x$ogg_prefix" != "x" ; then
OGG_CFLAGS="-I$ogg_prefix/include"
elif test "x$prefix" != "xNONE"; then
@@ -33,7 +39,12 @@ AC_ARG_ENABLE(oggtest, [ --disable-oggtest Do not try to compile and run
fi
AC_MSG_CHECKING(for Ogg)
- no_ogg=""
+ if test "x$ogg_prefix" = "xno" ; then
+ no_ogg="disabled"
+ enable_oggtest="no"
+ else
+ no_ogg=""
+ fi
if test "x$enable_oggtest" = "xyes" ; then
@@ -45,7 +56,7 @@ dnl
dnl Now check if the installed Ogg is sufficiently new.
dnl
rm -f conf.oggtest
- AC_TRY_RUN([
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -57,14 +68,17 @@ int main ()
return 0;
}
-],, no_ogg=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+]])],[],[no_ogg=yes],[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
- if test "x$no_ogg" = "x" ; then
+ if test "x$no_ogg" = "xdisabled" ; then
+ AC_MSG_RESULT(no)
+ ifelse([$2], , :, [$2])
+ elif test "x$no_ogg" = "x" ; then
AC_MSG_RESULT(yes)
- ifelse([$1], , :, [$1])
+ ifelse([$1], , :, [$1])
else
AC_MSG_RESULT(no)
if test -f conf.oggtest ; then
@@ -73,11 +87,10 @@ int main ()
echo "*** Could not run Ogg test program, checking why..."
CFLAGS="$CFLAGS $OGG_CFLAGS"
LIBS="$LIBS $OGG_LIBS"
- AC_TRY_LINK([
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <stdio.h>
#include <ogg/ogg.h>
-], [ return 0; ],
- [ echo "*** The test program compiled, but did not run. This usually means"
+]], [[ return 0; ]])],[ echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding Ogg or finding the wrong"
echo "*** version of Ogg. If it is not finding Ogg, you'll need to set your"
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
@@ -85,9 +98,8 @@ int main ()
echo "*** is required on your system"
echo "***"
echo "*** If you have an old version installed, it is best to remove it, although"
- echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
- [ echo "*** The test program failed to compile or link. See the file config.log for the"
- echo "*** exact error that occured. This usually means Ogg was incorrectly installed"
+ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],[ echo "*** The test program failed to compile or link. See the file config.log for the"
+ echo "*** exact error that occurred. This usually means Ogg was incorrectly installed"
echo "*** or that you have moved Ogg since it was installed." ])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
diff --git a/3rdparty/libflac/m4/really_gcc.m4 b/3rdparty/libflac/m4/really_gcc.m4
new file mode 100644
index 00000000000..8bc94d5eb4a
--- /dev/null
+++ b/3rdparty/libflac/m4/really_gcc.m4
@@ -0,0 +1,29 @@
+dnl @synopsis XIPH_GCC_REALLY_IS_GCC
+dnl
+dnl Find out if a compiler claiming to be gcc really is gcc (clang lies).
+dnl @version 1.0 Oct 31 2013
+dnl @author Erik de Castro Lopo <erikd AT mega-nerd DOT com>
+dnl
+dnl Permission to use, copy, modify, distribute, and sell this file for any
+dnl purpose is hereby granted without fee, provided that the above copyright
+dnl and this permission notice appear in all copies. No representations are
+dnl made about the suitability of this software for any purpose. It is
+dnl provided "as is" without express or implied warranty.
+dnl
+
+# If the configure script has already detected GNU GCC, then make sure it
+# isn't CLANG masquerading as GCC.
+
+AC_DEFUN([XIPH_GCC_REALLY_IS_GCC],
+[ AC_LANG_ASSERT(C)
+ if test "x$ac_cv_c_compiler_gnu" = "xyes" ; then
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #include <stdio.h>
+ ]], [[
+ #ifdef __clang__
+ This is clang!
+ #endif
+ ]])],[ac_cv_c_compiler_gnu=yes],[ac_cv_c_compiler_gnu=no
+ ])
+ fi
+])
diff --git a/3rdparty/libflac/m4/stack_protect.m4 b/3rdparty/libflac/m4/stack_protect.m4
new file mode 100644
index 00000000000..cf8af664879
--- /dev/null
+++ b/3rdparty/libflac/m4/stack_protect.m4
@@ -0,0 +1,67 @@
+dnl Copyright (C) 2013-2023 Xiph.Org Foundation
+dnl
+dnl Redistribution and use in source and binary forms, with or without
+dnl modification, are permitted provided that the following conditions
+dnl are met:
+dnl
+dnl - Redistributions of source code must retain the above copyright
+dnl notice, this list of conditions and the following disclaimer.
+dnl
+dnl - Redistributions in binary form must reproduce the above copyright
+dnl notice, this list of conditions and the following disclaimer in the
+dnl documentation and/or other materials provided with the distribution.
+dnl
+dnl - Neither the name of the Xiph.org Foundation nor the names of its
+dnl contributors may be used to endorse or promote products derived from
+dnl this software without specific prior written permission.
+dnl
+dnl THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+dnl ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+dnl LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+dnl A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+dnl CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+dnl EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+dnl PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+dnl PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+dnl LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+dnl NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+dnl SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+dnl We want to know if GCC stack protector works, for the C and for the C++
+dnl compiler.
+dnl
+dnl Just checking if the compiler accepts the required CFLAGSs is not enough
+dnl because we have seen at least one instance where this check was
+dnl in-sufficient.
+dnl
+dnl Instead, try to compile and link a test program with the stack protector
+dnl flags. If that works, we use it.
+
+AC_DEFUN([XIPH_GCC_STACK_PROTECTOR],
+[AC_LANG_ASSERT(C)
+ AC_MSG_CHECKING([if $CC supports stack smash protection])
+ xiph_stack_check_old_cflags="$CFLAGS"
+ SSP_FLAGS="-fstack-protector-strong"
+ CFLAGS=$SSP_FLAGS
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #include <stdio.h>
+ ]], [[puts("Hello, World!"); return 0;]])],[AC_MSG_RESULT(yes)
+ CFLAGS="$xiph_stack_check_old_cflags $SSP_FLAGS"],[AC_MSG_RESULT(no)
+ CFLAGS="$xiph_stack_check_old_cflags"
+ ])
+])# XIPH_GCC_STACK_PROTECTOR
+
+AC_DEFUN([XIPH_GXX_STACK_PROTECTOR],
+[AC_LANG_PUSH([C++])
+ AC_MSG_CHECKING([if $CXX supports stack smash protection])
+ xiph_stack_check_old_cxxflags="$CXXFLAGS"
+ SSP_FLAGS="-fstack-protector-strong"
+ CXXFLAGS=$SSP_FLAGS
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #include <cstdio>
+ ]], [[puts("Hello, World!"); return 0;]])],[AC_MSG_RESULT(yes)
+ CXXFLAGS="$xiph_stack_check_old_cxxflags $SSP_FLAGS"],[AC_MSG_RESULT(no)
+ CXXFLAGS="$xiph_stack_check_old_cxxflags"
+ ])
+ AC_LANG_POP([C++])
+])# XIPH_GXX_STACK_PROTECTOR
diff --git a/3rdparty/libflac/m4/xmms.m4 b/3rdparty/libflac/m4/xmms.m4
deleted file mode 100644
index f4c03a73b59..00000000000
--- a/3rdparty/libflac/m4/xmms.m4
+++ /dev/null
@@ -1,148 +0,0 @@
-# CFLAGS and library paths for XMMS
-# written 15 December 1999 by Ben Gertzfield <che@debian.org>
-
-dnl Usage:
-dnl AM_PATH_XMMS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-dnl
-dnl Example:
-dnl AM_PATH_XMMS(0.9.5.1, , AC_MSG_ERROR([*** XMMS >= 0.9.5.1 not installed - please install first ***]))
-dnl
-dnl Defines XMMS_CFLAGS, XMMS_LIBS, XMMS_DATA_DIR, XMMS_PLUGIN_DIR,
-dnl XMMS_VISUALIZATION_PLUGIN_DIR, XMMS_INPUT_PLUGIN_DIR,
-dnl XMMS_OUTPUT_PLUGIN_DIR, XMMS_GENERAL_PLUGIN_DIR, XMMS_EFFECT_PLUGIN_DIR,
-dnl and XMMS_VERSION for your plugin pleasure.
-dnl
-
-dnl XMMS_TEST_VERSION(AVAILABLE-VERSION, NEEDED-VERSION [, ACTION-IF-OKAY [, ACTION-IF-NOT-OKAY]])
-AC_DEFUN([XMMS_TEST_VERSION], [
-
-# Determine which version number is greater. Prints 2 to stdout if
-# the second number is greater, 1 if the first number is greater,
-# 0 if the numbers are equal.
-
-# Written 15 December 1999 by Ben Gertzfield <che@debian.org>
-# Revised 15 December 1999 by Jim Monty <monty@primenet.com>
-
- AC_PROG_AWK
- xmms_got_version=[` $AWK ' \
-BEGIN { \
- print vercmp(ARGV[1], ARGV[2]); \
-} \
- \
-function vercmp(ver1, ver2, ver1arr, ver2arr, \
- ver1len, ver2len, \
- ver1int, ver2int, len, i, p) { \
- \
- ver1len = split(ver1, ver1arr, /\./); \
- ver2len = split(ver2, ver2arr, /\./); \
- \
- len = ver1len > ver2len ? ver1len : ver2len; \
- \
- for (i = 1; i <= len; i++) { \
- p = 1000 ^ (len - i); \
- ver1int += ver1arr[i] * p; \
- ver2int += ver2arr[i] * p; \
- } \
- \
- if (ver1int < ver2int) \
- return 2; \
- else if (ver1int > ver2int) \
- return 1; \
- else \
- return 0; \
-}' $1 $2`]
-
- if test $xmms_got_version -eq 2; then # failure
- ifelse([$4], , :, $4)
- else # success!
- ifelse([$3], , :, $3)
- fi
-])
-
-AC_DEFUN([AM_PATH_XMMS],
-[
-AC_ARG_WITH(xmms-prefix,[ --with-xmms-prefix=PFX Prefix where XMMS is installed (optional)],
- xmms_config_prefix="$withval", xmms_config_prefix="")
-AC_ARG_WITH(xmms-exec-prefix,[ --with-xmms-exec-prefix=PFX Exec prefix where XMMS is installed (optional)],
- xmms_config_exec_prefix="$withval", xmms_config_exec_prefix="")
-
-if test x$xmms_config_exec_prefix != x; then
- xmms_config_args="$xmms_config_args --exec-prefix=$xmms_config_exec_prefix"
- if test x${XMMS_CONFIG+set} != xset; then
- XMMS_CONFIG=$xmms_config_exec_prefix/bin/xmms-config
- fi
-fi
-
-if test x$xmms_config_prefix != x; then
- xmms_config_args="$xmms_config_args --prefix=$xmms_config_prefix"
- if test x${XMMS_CONFIG+set} != xset; then
- XMMS_CONFIG=$xmms_config_prefix/bin/xmms-config
- fi
-fi
-
-AC_PATH_PROG(XMMS_CONFIG, xmms-config, no)
-min_xmms_version=ifelse([$1], ,0.9.5.1, $1)
-
-if test "$XMMS_CONFIG" = "no"; then
- no_xmms=yes
-else
- XMMS_CFLAGS=`$XMMS_CONFIG $xmms_config_args --cflags`
- XMMS_LIBS=`$XMMS_CONFIG $xmms_config_args --libs`
- XMMS_VERSION=`$XMMS_CONFIG $xmms_config_args --version`
- XMMS_DATA_DIR=`$XMMS_CONFIG $xmms_config_args --data-dir`
- XMMS_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --plugin-dir`
- XMMS_VISUALIZATION_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args \
- --visualization-plugin-dir`
- XMMS_INPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --input-plugin-dir`
- XMMS_OUTPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --output-plugin-dir`
- XMMS_EFFECT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --effect-plugin-dir`
- XMMS_GENERAL_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --general-plugin-dir`
-
- XMMS_TEST_VERSION($XMMS_VERSION, $min_xmms_version, ,no_xmms=version)
-fi
-
-AC_MSG_CHECKING(for XMMS - version >= $min_xmms_version)
-
-if test "x$no_xmms" = x; then
- AC_MSG_RESULT(yes)
- ifelse([$2], , :, [$2])
-else
- AC_MSG_RESULT(no)
-
- if test "$XMMS_CONFIG" = "no" ; then
- echo "*** The xmms-config script installed by XMMS could not be found."
- echo "*** If XMMS was installed in PREFIX, make sure PREFIX/bin is in"
- echo "*** your path, or set the XMMS_CONFIG environment variable to the"
- echo "*** full path to xmms-config."
- else
- if test "$no_xmms" = "version"; then
- echo "*** An old version of XMMS, $XMMS_VERSION, was found."
- echo "*** You need a version of XMMS newer than $min_xmms_version."
- echo "*** The latest version of XMMS is always available from"
- echo "*** http://www.xmms.org/"
- echo "***"
-
- echo "*** If you have already installed a sufficiently new version, this error"
- echo "*** probably means that the wrong copy of the xmms-config shell script is"
- echo "*** being found. The easiest way to fix this is to remove the old version"
- echo "*** of XMMS, but you can also set the XMMS_CONFIG environment to point to the"
- echo "*** correct copy of xmms-config. (In this case, you will have to"
- echo "*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf"
- echo "*** so that the correct libraries are found at run-time)"
- fi
- fi
- XMMS_CFLAGS=""
- XMMS_LIBS=""
- ifelse([$3], , :, [$3])
-fi
-AC_SUBST(XMMS_CFLAGS)
-AC_SUBST(XMMS_LIBS)
-AC_SUBST(XMMS_VERSION)
-AC_SUBST(XMMS_DATA_DIR)
-AC_SUBST(XMMS_PLUGIN_DIR)
-AC_SUBST(XMMS_VISUALIZATION_PLUGIN_DIR)
-AC_SUBST(XMMS_INPUT_PLUGIN_DIR)
-AC_SUBST(XMMS_OUTPUT_PLUGIN_DIR)
-AC_SUBST(XMMS_GENERAL_PLUGIN_DIR)
-AC_SUBST(XMMS_EFFECT_PLUGIN_DIR)
-])
diff --git a/3rdparty/libflac/man/Makefile.am b/3rdparty/libflac/man/Makefile.am
index 607ee5bee89..50bacae92e7 100644
--- a/3rdparty/libflac/man/Makefile.am
+++ b/3rdparty/libflac/man/Makefile.am
@@ -1,5 +1,6 @@
# flac - Command-line FLAC encoder/decoder
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2000-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -11,25 +12,23 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-if FLaC__HAS_DOCBOOK_TO_MAN
-flac.1: flac.sgml
- docbook-to-man $? > $@ || (docbook2man $? && mv FLAC.1 $@)
+if FLaC__HAS_PANDOC
+flac.1: flac.md
+ pandoc --standalone --to man $? > $@
-metaflac.1: metaflac.sgml
- docbook-to-man $? > $@ || (docbook2man $? && mv METAFLAC.1 $@)
-else
-flac.1:
- echo "*** Warning: docbook-to-man not found; man pages will not be built."
- touch $@
+metaflac.1: metaflac.md
+ pandoc --standalone --to man $? > $@
-metaflac.1:
- touch $@
-endif
+man_MANS = flac.1 metaflac.1
+else
+if FLaC__HAS_PREBUILT_MANPAGES
man_MANS = flac.1 metaflac.1
+endif
+endif
-EXTRA_DIST = $(man_MANS) flac.sgml metaflac.sgml
+EXTRA_DIST = flac.1 metaflac.1 flac.md metaflac.md
diff --git a/3rdparty/libflac/man/Makefile.in b/3rdparty/libflac/man/Makefile.in
index ccb1804c8fd..484e0f3a99c 100644
--- a/3rdparty/libflac/man/Makefile.in
+++ b/3rdparty/libflac/man/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,8 @@
@SET_MAKE@
# flac - Command-line FLAC encoder/decoder
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2000-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -27,20 +28,70 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,87 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = man
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+man1dir = $(mandir)/man1
+am__installdirs = "$(DESTDIR)$(man1dir)"
+NROFF = nroff
+MANS = $(man_MANS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,281 +192,273 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
-man_MANS = flac.1 metaflac.1
-
-EXTRA_DIST = $(man_MANS) flac.sgml metaflac.sgml
-subdir = man
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-
-NROFF = nroff
-MANS = $(man_MANS)
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+@FLaC__HAS_PANDOC_FALSE@@FLaC__HAS_PREBUILT_MANPAGES_TRUE@man_MANS = flac.1 metaflac.1
+@FLaC__HAS_PANDOC_TRUE@man_MANS = flac.1 metaflac.1
+EXTRA_DIST = flac.1 metaflac.1 flac.md metaflac.md
all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu man/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign man/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-man1dir = $(mandir)/man1
-install-man1: $(man1_MANS) $(man_MANS)
+install-man1: $(man_MANS)
@$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(man1dir)
- @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man1dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.1[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
done; \
- for i in $$list; do \
- if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
- else file=$$i; fi; \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 1*) ;; \
- *) ext='1' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
- $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
- done
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
uninstall-man1:
@$(NORMAL_UNINSTALL)
- @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
- done; \
- for i in $$list; do \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 1*) ;; \
- *) ext='1' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
- rm -f $(DESTDIR)$(man1dir)/$$inst; \
- done
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(MANS)
-
installdirs:
- $(mkinstalldirs) $(DESTDIR)$(man1dir)
+ for dir in "$(DESTDIR)$(man1dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
@@ -351,16 +469,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -371,24 +495,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
+distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am: install-man
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man: install-man1
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -407,32 +553,34 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am uninstall-man
+uninstall-am: uninstall-man
uninstall-man: uninstall-man1
+.MAKE: install-am install-strip
+
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-man1 install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am uninstall-man uninstall-man1
-
-
-@FLaC__HAS_DOCBOOK_TO_MAN_TRUE@flac.1: flac.sgml
-@FLaC__HAS_DOCBOOK_TO_MAN_TRUE@ docbook-to-man $? > $@ || (docbook2man $? && mv FLAC.1 $@)
-
-@FLaC__HAS_DOCBOOK_TO_MAN_TRUE@metaflac.1: metaflac.sgml
-@FLaC__HAS_DOCBOOK_TO_MAN_TRUE@ docbook-to-man $? > $@ || (docbook2man $? && mv METAFLAC.1 $@)
-@FLaC__HAS_DOCBOOK_TO_MAN_FALSE@flac.1:
-@FLaC__HAS_DOCBOOK_TO_MAN_FALSE@ echo "*** Warning: docbook-to-man not found; man pages will not be built."
-@FLaC__HAS_DOCBOOK_TO_MAN_FALSE@ touch $@
-
-@FLaC__HAS_DOCBOOK_TO_MAN_FALSE@metaflac.1:
-@FLaC__HAS_DOCBOOK_TO_MAN_FALSE@ touch $@
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-man1 install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags-am uninstall uninstall-am uninstall-man \
+ uninstall-man1
+
+.PRECIOUS: Makefile
+
+
+@FLaC__HAS_PANDOC_TRUE@flac.1: flac.md
+@FLaC__HAS_PANDOC_TRUE@ pandoc --standalone --to man $? > $@
+
+@FLaC__HAS_PANDOC_TRUE@metaflac.1: metaflac.md
+@FLaC__HAS_PANDOC_TRUE@ pandoc --standalone --to man $? > $@
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/3rdparty/libflac/man/flac.1 b/3rdparty/libflac/man/flac.1
index fef4deddd95..d8987c4bd09 100644
--- a/3rdparty/libflac/man/flac.1
+++ b/3rdparty/libflac/man/flac.1
@@ -1,331 +1,928 @@
-.\" This manpage has been automatically generated by docbook2man
-.\" from a DocBook document. This tool can be found at:
-.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>
-.\" Please send any bug reports, improvements, comments, patches,
-.\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "FLAC" "1" "14 September 2007" "" ""
-
+.\" Automatically generated by Pandoc 2.9.2.1
+.\"
+.TH "flac" "1" "" "Version 1.4.3" "Free Lossless Audio Codec conversion tool"
+.hy
.SH NAME
-flac \- Free Lossless Audio Codec
+.PP
+flac - Free Lossless Audio Codec
.SH SYNOPSIS
-
-\fBflac\fR [ \fB\fIOPTIONS\fB\fR ] [ \fB\fIinfile.wav\fB\fR | \fB\fIinfile.aiff\fB\fR | \fB\fIinfile.raw\fB\fR | \fB\fIinfile.flac\fB\fR | \fB\fIinfile.oga\fB\fR | \fB\fIinfile.ogg\fB\fR | \fB-\fR\fI ...\fR ]
-
-
-\fBflac\fR [ \fB-d\fR | \fB--decode\fR | \fB-t\fR | \fB--test\fR | \fB-a\fR | \fB--analyze\fR ] [ \fB\fIOPTIONS\fB\fR ] [ \fB\fIinfile.flac\fB\fR | \fB\fIinfile.oga\fB\fR | \fB\fIinfile.ogg\fB\fR | \fB-\fR\fI ...\fR ]
-
-.SH "DESCRIPTION"
-.PP
-\fBflac\fR is a command-line tool for encoding, decoding, testing and analyzing FLAC streams.
-.SH "OPTIONS"
-.PP
-A summary of options is included below. For a complete
-description, see the HTML documentation.
-.SS "GENERAL OPTIONS"
-.TP
-\fB-v, --version\fR
-Show the flac version number
-.TP
-\fB-h, --help \fR
-Show basic usage and a list of all options
-.TP
-\fB-H, --explain \fR
-Show detailed explanation of usage and all options
-.TP
-\fB-d, --decode \fR
-Decode (the default behavior is to encode)
-.TP
-\fB-t, --test \fR
-Test a flac encoded file (same as -d except no decoded file is written)
-.TP
-\fB-a, --analyze \fR
-Analyze a FLAC encoded file (same as -d except an analysis file is written)
-.TP
-\fB-c, --stdout \fR
-Write output to stdout
-.TP
-\fB-s, --silent \fR
-Silent mode (do not write runtime encode/decode statistics to stderr)
-.TP
-\fB--totally-silent \fR
-Do not print anything of any kind, including warnings or errors. The exit code will be the only way to determine successful completion.
-.TP
-\fB--no-utf8-convert \fR
-Do not convert tags from local charset to UTF-8. This is useful for scripts, and setting tags in situations where the locale is wrong. This option must appear before any tag options!
-.TP
-\fB-w, --warnings-as-errors \fR
-Treat all warnings as errors (which cause flac to terminate with a non-zero exit code).
-.TP
-\fB-f, --force \fR
-Force overwriting of output files. By default, flac warns that the output file already exists and continues to the next file.
-.TP
-\fB-o \fIfilename\fB, --output-name=\fIfilename\fB\fR
-Force the output file name (usually flac just changes the extension). May only be used when encoding a single file. May not be used in conjunction with --output-prefix.
-.TP
-\fB--output-prefix=\fIstring\fB\fR
-Prefix each output file name with the given string. This can be useful for encoding or decoding files to a different directory. Make sure if your string is a path name that it ends with a trailing `/' (slash).
+.PP
+\f[B]flac\f[R] [ \f[I]OPTIONS\f[R] ] [ \f[I]infile.wav\f[R] |
+\f[I]infile.rf64\f[R] | \f[I]infile.aiff\f[R] | \f[I]infile.raw\f[R] |
+\f[I]infile.flac\f[R] | \f[I]infile.oga\f[R] | \f[I]infile.ogg\f[R] |
+\f[B]-\f[R] \f[I]\&...\f[R] ]
+.PP
+\f[B]flac\f[R] [ \f[B]-d\f[R] | \f[B]--decode\f[R] | \f[B]-t\f[R] |
+\f[B]--test\f[R] | \f[B]-a\f[R] | \f[B]--analyze\f[R] ] [
+\f[I]OPTIONS\f[R] ] [ \f[I]infile.flac\f[R] | \f[I]infile.oga\f[R] |
+\f[I]infile.ogg\f[R] | \f[B]-\f[R] \f[I]\&...\f[R] ]
+.SH DESCRIPTION
+.PP
+\f[B]flac\f[R] is a command-line tool for encoding, decoding, testing
+and analyzing FLAC streams.
+.SH GENERAL USAGE
+.PP
+\f[B]flac\f[R] supports as input RIFF WAVE, Wave64, RF64, AIFF, FLAC or
+Ogg FLAC format, or raw interleaved samples.
+The decoder currently can output to RIFF WAVE, Wave64, RF64, or AIFF
+format, or raw interleaved samples.
+flac only supports linear PCM samples (in other words, no A-LAW, uLAW,
+etc.), and the input must be between 4 and 32 bits per sample.
+.PP
+flac assumes that files ending in \[lq].wav\[rq] or that have the RIFF
+WAVE header present are WAVE files, files ending in \[lq].w64\[rq] or
+have the Wave64 header present are Wave64 files, files ending in
+\[lq].rf64\[rq] or have the RF64 header present are RF64 files, files
+ending in \[lq].aif\[rq] or \[lq].aiff\[rq] or have the AIFF header
+present are AIFF files, files ending in \[lq].flac\[rq] or have the FLAC
+header present are FLAC files and files ending in \[lq].oga\[rq] or
+\[lq].ogg\[rq] or have the Ogg FLAC header present are Ogg FLAC files.
+.PP
+Other than this, flac makes no assumptions about file extensions, though
+the convention is that FLAC files have the extension \[lq].flac\[rq] (or
+\[lq].fla\[rq] on ancient \[lq]8.3\[rq] file systems like FAT-16).
+.PP
+Before going into the full command-line description, a few other things
+help to sort it out: 1.
+flac encodes by default, so you must use -d to decode 2.
+the options -0 ..
+-8 (or \[en]fast and \[en]best) that control the compression level
+actually are just synonyms for different groups of specific encoding
+options (described later) and you can get the same effect by using the
+same options.
+When specific options are specified they take priority over the
+compression level no matter the order 3.
+flac behaves similarly to gzip in the way it handles input and output
+files 4.
+the order in which options are specified is generally not important
+.PP
+Skip to the examples below for examples of some common tasks.
+.PP
+flac will be invoked one of four ways, depending on whether you are
+encoding, decoding, testing, or analyzing.
+Encoding is the default invocation, but can be switch to decoding with
+\f[B]-d\f[R], analysis with \f[B]-a\f[R] or testing with \f[B]-t\f[R].
+Depending on which way is chosen, encoding, decoding, analysis or
+testing options can be used, see section OPTIONS for details.
+General options can be used for all.
+.PP
+If only one inputfile is specified, it may be \[lq]-\[rq] for stdin.
+When stdin is used as input, flac will write to stdout.
+Otherwise flac will perform the desired operation on each input file to
+similarly named output files (meaning for encoding, the extension will
+be replaced with \[lq].flac\[rq], or appended with \[lq].flac\[rq] if
+the input file has no extension, and for decoding, the extension will be
+\[lq].wav\[rq] for WAVE output and \[lq].raw\[rq] for raw output).
+The original file is not deleted unless \[en]delete-input-file is
+specified.
+.PP
+If you are encoding/decoding from stdin to a file, you should use the -o
+option like so:
+.IP
+.nf
+\f[C]
+flac [options] -o outputfile
+flac -d [options] -o outputfile
+\f[R]
+.fi
+.PP
+which are better than:
+.IP
+.nf
+\f[C]
+flac [options] > outputfile
+flac -d [options] > outputfile
+\f[R]
+.fi
+.PP
+since the former allows flac to seek backwards to write the STREAMINFO
+or RIFF WAVE header contents when necessary.
+.PP
+Also, you can force output data to go to stdout using -c.
+.PP
+To encode or decode files that start with a dash, use \[en] to signal
+the end of options, to keep the filenames themselves from being treated
+as options:
+.IP
+.nf
+\f[C]
+flac -V -- -01-filename.wav
+\f[R]
+.fi
+.PP
+The encoding options affect the compression ratio and encoding speed.
+The format options are used to tell flac the arrangement of samples if
+the input file (or output file when decoding) is a raw file.
+If it is a RIFF WAVE, Wave64, RF64, or AIFF file the format options are
+not needed since they are read from the file\[cq]s header.
+.PP
+In test mode, flac acts just like in decode mode, except no output file
+is written.
+Both decode and test modes detect errors in the stream, but they also
+detect when the MD5 signature of the decoded audio does not match the
+stored MD5 signature, even when the bitstream is valid.
+.PP
+flac can also re-encode FLAC files.
+In other words, you can specify a FLAC or Ogg FLAC file as an input to
+the encoder and it will decoder it and re-encode it according to the
+options you specify.
+It will also preserve all the metadata unless you override it with other
+options (e.g.
+specifying new tags, seekpoints, cuesheet, padding, etc.).
+.PP
+flac has been tuned so that the default settings yield a good speed vs.
+compression tradeoff for many kinds of input.
+However, if you are looking to maximize the compression rate or speed,
+or want to use the full power of FLAC\[cq]s metadata system, see the
+page titled `About the FLAC Format' on the FLAC website.
+.SH EXAMPLES
+.PP
+Some common \f[B]encoding\f[R] tasks using flac:
.TP
-\fB--delete-input-file \fR
-Automatically delete the input file after a successful encode or decode. If there was an error (including a verify error) the input file is left intact.
+\f[B]\f[CB]flac abc.wav\f[B]\f[R]
+Encode abc.wav to abc.flac using the default compression setting.
+abc.wav is not deleted.
.TP
-\fB--keep-foreign-metadata \fR
-If encoding, save WAVE or AIFF non-audio chunks in FLAC metadata. If decoding, restore any saved non-audio chunks from FLAC metadata when writing the decoded file. Foreign metadata cannot be transcoded, e.g. WAVE chunks saved in a FLAC file cannot be restored when decoding to AIFF. Input and output must be regular files (not stdin or stdout).
+\f[B]\f[CB]flac --delete-input-file abc.wav\f[B]\f[R]
+Like above, except abc.wav is deleted if there were no errors.
.TP
-\fB--skip={\fI#\fB|\fImm:ss.ss\fB}\fR
-Skip over the first number of samples of the input. This works for both encoding and decoding, but not testing. The alternative form mm:ss.ss can be used to specify minutes, seconds, and fractions of a second.
+\f[B]\f[CB]flac --delete-input-file -w abc.wav\f[B]\f[R]
+Like above, except abc.wav is deleted if there were no errors or
+warnings.
.TP
-\fB--until={\fI#\fB|[\fI+\fB|\fI-\fB]\fImm:ss.ss\fB}\fR
-Stop at the given sample number for each input file. This works for both encoding and decoding, but not testing. The given sample number is not included in the decoded output. The alternative form mm:ss.ss can be used to specify minutes, seconds, and fractions of a second. If a `+' (plus) sign is at the beginning, the --until point is relative to the --skip point. If a `-' (minus) sign is at the beginning, the --until point is relative to end of the audio.
+\f[B]\f[CB]flac --best abc.wav\f[B]\f[R]
+Encode abc.wav to abc.flac using the highest compression setting.
.TP
-\fB--ogg\fR
-When encoding, generate Ogg FLAC output instead of native FLAC. Ogg FLAC streams are FLAC streams wrapped in an Ogg transport layer. The resulting file should have an '.oga' extension and will still be decodable by flac.
-
-When decoding, force the input to be treated as Ogg FLAC. This is useful when piping input from stdin or when the filename does not end in '.oga' or '.ogg'.
+\f[B]\f[CB]flac --verify abc.wav\f[B]\f[R]
+Encode abc.wav to abc.flac and internally decode abc.flac to make sure
+it matches abc.wav.
.TP
-\fB--serial-number=\fI#\fB\fR
-When used with --ogg, specifies the serial number to use for the first Ogg FLAC stream, which is then incremented for each additional stream. When encoding and no serial number is given, flac uses a random number for the first stream, then increments it for each additional stream. When decoding and no number is given, flac uses the serial number of the first page.
-.SS "ANALYSIS OPTIONS"
+\f[B]\f[CB]flac -o my.flac abc.wav\f[B]\f[R]
+Encode abc.wav to my.flac.
.TP
-\fB--residual-text \fR
-Includes the residual signal in the analysis file. This will make the file very big, much larger than even the decoded file.
+\f[B]\f[CB]flac -T \[dq]TITLE=Bohemian Rhapsody\[dq] -T \[dq]ARTIST=Queen\[dq] abc.wav\f[B]\f[R]
+Encode abc.wav and add some tags at the same time to abc.flac.
.TP
-\fB--residual-gnuplot \fR
-Generates a gnuplot file for every subframe; each file will contain the residual distribution of the subframe. This will create a lot of files.
-.SS "DECODING OPTIONS"
+\f[B]\f[CB]flac *.wav\f[B]\f[R]
+Encode all .wav files in the current directory.
.TP
-\fB--cue=[\fI#.#\fB][-[\fI#.#\fB]]\fR
-Set the beginning and ending cuepoints to decode. The optional first #.# is the track and index point at which decoding will start; the default is the beginning of the stream. The optional second #.# is the track and index point at which decoding will end; the default is the end of the stream. If the cuepoint does not exist, the closest one before it (for the start point) or after it (for the end point) will be used. If those don't exist, the start of the stream (for the start point) or end of the stream (for the end point) will be used. The cuepoints are merely translated into sample numbers then used as --skip and --until. A CD track can always be cued by, for example, --cue=9.1-10.1 for track 9, even if the CD has no 10th track.
+\f[B]\f[CB]flac abc.aiff\f[B]\f[R]
+Encode abc.aiff to abc.flac.
.TP
-\fB-F, --decode-through-errors \fR
-By default flac stops decoding with an error and removes the partially decoded file if it encounters a bitstream error. With -F, errors are still printed but flac will continue decoding to completion. Note that errors may cause the decoded audio to be missing some samples or have silent sections.
-.SS "ENCODING OPTIONS"
+\f[B]\f[CB]flac abc.rf64\f[B]\f[R]
+Encode abc.rf64 to abc.flac.
.TP
-\fB-V, --verify\fR
-Verify a correct encoding by decoding the output in parallel and comparing to the original
+\f[B]\f[CB]flac abc.w64\f[B]\f[R]
+Encode abc.w64 to abc.flac.
.TP
-\fB--lax\fR
-Allow encoder to generate non-Subset files. The resulting FLAC file may not be streamable or might have trouble being played in all players (especially hardware devices), so you should only use this option in combination with custom encoding options meant for archival.
+\f[B]\f[CB]flac abc.flac --force\f[B]\f[R]
+This one\[cq]s a little tricky: notice that flac is in encode mode by
+default (you have to specify -d to decode) so this command actually
+recompresses abc.flac back to abc.flac.
+\[en]force is needed to make sure you really want to overwrite abc.flac
+with a new version.
+Why would you want to do this?
+It allows you to recompress an existing FLAC file with (usually) higher
+compression options or a newer version of FLAC and preserve all the
+metadata like tags too.
+.PP
+Some common \f[B]decoding\f[R] tasks using flac:
.TP
-\fB--replay-gain\fR
-Calculate ReplayGain values and store them as FLAC tags, similar to vorbisgain. Title gains/peaks will be computed for each input file, and an album gain/peak will be computed for all files. All input files must have the same resolution, sample rate, and number of channels. Only mono and stereo files are allowed, and the sample rate must be one of 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, or 48 kHz. Also note that this option may leave a few extra bytes in a PADDING block as the exact size of the tags is not known until all files are processed. Note that this option cannot be used when encoding to standard output (stdout).
+\f[B]\f[CB]flac -d abc.flac\f[B]\f[R]
+Decode abc.flac to abc.wav.
+abc.flac is not deleted.
+NOTE: Without -d it means re-encode abc.flac to abc.flac (see above).
+.PP
+\f[C]flac -d --force-aiff-format abc.flac\f[R]
+.PD 0
+.P
+.PD
+\f[C]flac -d -o abc.aiff abc.flac\f[R] : Two different ways of decoding
+abc.flac to abc.aiff (AIFF format).
+abc.flac is not deleted.
+.PP
+\f[C]flac -d --force-rf64-format abc.flac\f[R]
+.PD 0
+.P
+.PD
+\f[C]flac -d -o abc.rf64 abc.flac\f[R] : Two different ways of decoding
+abc.flac to abc.rf64 (RF64 format).
+abc.flac is not deleted.
+.PP
+\f[C]flac -d --force-wave64-format abc.flac\f[R]
+.PD 0
+.P
+.PD
+\f[C]flac -d -o abc.w64 abc.flac\f[R] : Two different ways of decoding
+abc.flac to abc.w64 (Wave64 format).
+abc.flac is not deleted.
+.TP
+\f[B]\f[CB]flac -d -F abc.flac\f[B]\f[R]
+Decode abc.flac to abc.wav and don\[cq]t abort if errors are found
+(useful for recovering as much as possible from corrupted files).
+.SH OPTIONS
+.PP
+A summary of options is included below.
+For a complete description, see the HTML documentation.
+.SS GENERAL OPTIONS
.TP
-\fB--cuesheet=\fIfilename\fB\fR
-Import the given cuesheet file and store it in a CUESHEET metadata block. This option may only be used when encoding a single file. A seekpoint will be added for each index point in the cuesheet to the SEEKTABLE unless --no-cued-seekpoints is specified.
+\f[B]-v, --version\f[R]
+Show the flac version number
.TP
-\fB--picture={\fIFILENAME\fB|\fISPECIFICATION\fB}\fR
-Import a picture and store it in a PICTURE metadata block. More than one --picture command can be specified. Either a filename for the picture file or a more complete specification form can be used. The SPECIFICATION is a string whose parts are separated by | (pipe) characters. Some parts may be left empty to invoke default values. FILENAME is just shorthand for "||||FILENAME". The format of SPECIFICATION is
-
-[TYPE]|[MIME-TYPE]|[DESCRIPTION]|[WIDTHxHEIGHTxDEPTH[/COLORS]]|FILE
-
-TYPE is optional; it is a number from one of:
-
-0: Other
-
-1: 32x32 pixels 'file icon' (PNG only)
-
-2: Other file icon
-
-3: Cover (front)
-
-4: Cover (back)
-
-5: Leaflet page
-
-6: Media (e.g. label side of CD)
-
-7: Lead artist/lead performer/soloist
-
-8: Artist/performer
-
-9: Conductor
-
-10: Band/Orchestra
-
-11: Composer
-
-12: Lyricist/text writer
-
-13: Recording Location
-
-14: During recording
-
-15: During performance
-
-16: Movie/video screen capture
-
-17: A bright coloured fish
-
-18: Illustration
-
-19: Band/artist logotype
-
-20: Publisher/Studio logotype
-
-The default is 3 (front cover). There may only be one picture each of type 1 and 2 in a file.
-
-MIME-TYPE is optional; if left blank, it will be detected from the file. For best compatibility with players, use pictures with MIME type image/jpeg or image/png. The MIME type can also be --> to mean that FILE is actually a URL to an image, though this use is discouraged.
-
-DESCRIPTION is optional; the default is an empty string.
-
-The next part specfies the resolution and color information. If the MIME-TYPE is image/jpeg, image/png, or image/gif, you can usually leave this empty and they can be detected from the file. Otherwise, you must specify the width in pixels, height in pixels, and color depth in bits-per-pixel. If the image has indexed colors you should also specify the number of colors used. When manually specified, it is not checked against the file for accuracy.
-
-FILE is the path to the picture file to be imported, or the URL if MIME type is -->
-
-For example, "|image/jpeg|||../cover.jpg" will embed the JPEG file at ../cover.jpg, defaulting to type 3 (front cover) and an empty description. The resolution and color info will be retrieved from the file itself.
-
-The specification "4|-->|CD|320x300x24/173|http://blah.blah/backcover.tiff" will embed the given URL, with type 4 (back cover), description "CD", and a manually specified resolution of 320x300, 24 bits-per-pixel, and 173 colors. The file at the URL will not be fetched; the URL itself is stored in the PICTURE metadata block.
+\f[B]-h, --help\f[R]
+Show basic usage and a list of all options
.TP
-\fB--sector-align\fR
-Align encoding of multiple CD format files on sector boundaries. See the HTML documentation for more information.
+\f[B]-H, --explain\f[R]
+Show detailed explanation of usage and all options
.TP
-\fB-S {\fI#\fB|\fIX\fB|\fI#x\fB|\fI#s\fB}, --seekpoint={\fI#\fB|\fIX\fB|\fI#x\fB|\fI#s\fB}\fR
-Include a point or points in a SEEKTABLE. Using #, a seek point at that sample number is added. Using X, a placeholder point is added at the end of a the table. Using #x, # evenly spaced seek points will be added, the first being at sample 0. Using #s, a seekpoint will be added every # seconds (# does not have to be a whole number; it can be, for example, 9.5, meaning a seekpoint every 9.5 seconds). You may use many -S options; the resulting SEEKTABLE will be the unique-ified union of all such values. With no -S options, flac defaults to '-S 10s'. Use --no-seektable for no SEEKTABLE. Note: '-S #x' and '-S #s' will not work if the encoder can't determine the input size before starting. Note: if you use '-S #' and # is >= samples in the input, there will be either no seek point entered (if the input size is determinable before encoding starts) or a placeholder point (if input size is not determinable).
+\f[B]-d, --decode\f[R]
+Decode (the default behavior is to encode)
.TP
-\fB-P \fI#\fB, --padding=\fI#\fB\fR
-Tell the encoder to write a PADDING metadata block of the given length (in bytes) after the STREAMINFO block. This is useful if you plan to tag the file later with an APPLICATION block; instead of having to rewrite the entire file later just to insert your block, you can write directly over the PADDING block. Note that the total length of the PADDING block will be 4 bytes longer than the length given because of the 4 metadata block header bytes. You can force no PADDING block at all to be written with --no-padding. The encoder writes a PADDING block of 8192 bytes by default (or 65536 bytes if the input audio stream is more that 20 minutes long).
+\f[B]-t, --test\f[R]
+Test a flac encoded file (same as -d except no decoded file is written)
.TP
-\fB-T \fIFIELD=VALUE\fB, --tag=\fIFIELD=VALUE\fB\fR
-Add a FLAC tag. The comment must adhere to the Vorbis comment spec; i.e. the FIELD must contain only legal characters, terminated by an 'equals' sign. Make sure to quote the comment if necessary. This option may appear more than once to add several comments. NOTE: all tags will be added to all encoded files.
+\f[B]-a, --analyze\f[R]
+Analyze a FLAC encoded file (same as -d except an analysis file is
+written)
.TP
-\fB--tag-from-file=\fIFIELD=FILENAME\fB\fR
-Like --tag, except FILENAME is a file whose contents will be read verbatim to set the tag value. The contents will be converted to UTF-8 from the local charset. This can be used to store a cuesheet in a tag (e.g. --tag-from-file="CUESHEET=image.cue"). Do not try to store binary data in tag fields! Use APPLICATION blocks for that.
+\f[B]-c, --stdout\f[R]
+Write output to stdout
.TP
-\fB-b \fI#\fB, --blocksize=\fI#\fB\fR
-Specify the block size in samples. Subset streams must use one of 192, 576, 1152, 2304, 4608, 256, 512, 1024, 2048, 4096 (and 8192 or 16384 if the sample rate is >48kHz).
+\f[B]-s, --silent\f[R]
+Silent mode (do not write runtime encode/decode statistics to stderr)
.TP
-\fB-m, --mid-side\fR
+\f[B]--totally-silent\f[R]
+Do not print anything of any kind, including warnings or errors.
+The exit code will be the only way to determine successful completion.
+.TP
+\f[B]--no-utf8-convert\f[R]
+Do not convert tags from local charset to UTF-8.
+This is useful for scripts, and setting tags in situations where the
+locale is wrong.
+This option must appear before any tag options!
+.TP
+\f[B]-w, --warnings-as-errors\f[R]
+Treat all warnings as errors (which cause flac to terminate with a
+non-zero exit code).
+.TP
+\f[B]-f, --force\f[R]
+Force overwriting of output files.
+By default, flac warns that the output file already exists and continues
+to the next file.
+.TP
+\f[B]-o\f[R] \f[I]filename\f[R]\f[B], --output-name=\f[R]\f[I]filename\f[R]
+Force the output file name (usually flac just changes the extension).
+May only be used when encoding a single file.
+May not be used in conjunction with --output-prefix.
+.TP
+\f[B]--output-prefix=\f[R]\f[I]string\f[R]
+Prefix each output file name with the given string.
+This can be useful for encoding or decoding files to a different
+directory.
+Make sure if your string is a path name that it ends with a trailing
+\[ga]/\[cq] (slash).
+.TP
+\f[B]--delete-input-file\f[R]
+Automatically delete the input file after a successful encode or decode.
+If there was an error (including a verify error) the input file is left
+intact.
+.TP
+\f[B]--preserve-modtime\f[R]
+Output files have their timestamps/permissions set to match those of
+their inputs (this is default).
+Use --no-preserve-modtime to make output files have the current time and
+default permissions.
+.TP
+\f[B]--keep-foreign-metadata\f[R]
+If encoding, save WAVE, RF64, or AIFF non-audio chunks in FLAC metadata.
+If decoding, restore any saved non-audio chunks from FLAC metadata when
+writing the decoded file.
+Foreign metadata cannot be transcoded, e.g.\ WAVE chunks saved in a FLAC
+file cannot be restored when decoding to AIFF.
+Input and output must be regular files (not stdin or stdout).
+With this option, FLAC will pick the right output format on decoding.
+.TP
+\f[B]--keep-foreign-metadata-if-present\f[R]
+Like --keep-foreign-metadata, but without throwing an error if foreign
+metadata cannot be found or restored, instead printing a warning.
+.TP
+\f[B]--skip={\f[R]\f[I]#\f[R]\f[B]|\f[R]\f[I]mm:ss.ss\f[R]\f[B]}\f[R]
+Skip over the first number of samples of the input.
+This works for both encoding and decoding, but not testing.
+The alternative form mm:ss.ss can be used to specify minutes, seconds,
+and fractions of a second.
+.TP
+\f[B]--until={\f[R]\f[I]#\f[R]\f[B]|[\f[R]\f[I]+\f[R]\f[B]|\f[R]\f[I]-\f[R]\f[B]]\f[R]\f[I]mm:ss.ss\f[R]\f[B]}\f[R]
+Stop at the given sample number for each input file.
+This works for both encoding and decoding, but not testing.
+The given sample number is not included in the decoded output.
+The alternative form mm:ss.ss can be used to specify minutes, seconds,
+and fractions of a second.
+If a \[ga]+\[cq] (plus) sign is at the beginning, the --until point is
+relative to the --skip point.
+If a \[ga]-\[cq] (minus) sign is at the beginning, the --until point is
+relative to end of the audio.
+.TP
+\f[B]--ogg\f[R]
+When encoding, generate Ogg FLAC output instead of native FLAC.
+Ogg FLAC streams are FLAC streams wrapped in an Ogg transport layer.
+The resulting file should have an `.oga' extension and will still be
+decodable by flac.
+When decoding, force the input to be treated as Ogg FLAC.
+This is useful when piping input from stdin or when the filename does
+not end in `.oga' or `.ogg'.
+.TP
+\f[B]--serial-number=\f[R]\f[I]#\f[R]
+When used with --ogg, specifies the serial number to use for the first
+Ogg FLAC stream, which is then incremented for each additional stream.
+When encoding and no serial number is given, flac uses a random number
+for the first stream, then increments it for each additional stream.
+When decoding and no number is given, flac uses the serial number of the
+first page.
+.SS ANALYSIS OPTIONS
+.TP
+\f[B]--residual-text\f[R]
+Includes the residual signal in the analysis file.
+This will make the file very big, much larger than even the decoded
+file.
+.TP
+\f[B]--residual-gnuplot\f[R]
+Generates a gnuplot file for every subframe; each file will contain the
+residual distribution of the subframe.
+This will create a lot of files.
+.SS DECODING OPTIONS
+.TP
+\f[B]--cue=[\f[R]\f[I]#.#\f[R]\f[B]][-[\f[R]\f[I]#.#\f[R]\f[B]]]\f[R]
+Set the beginning and ending cuepoints to decode.
+The optional first #.# is the track and index point at which decoding
+will start; the default is the beginning of the stream.
+The optional second #.# is the track and index point at which decoding
+will end; the default is the end of the stream.
+If the cuepoint does not exist, the closest one before it (for the start
+point) or after it (for the end point) will be used.
+If those don\[cq]t exist, the start of the stream (for the start point)
+or end of the stream (for the end point) will be used.
+The cuepoints are merely translated into sample numbers then used as
+--skip and --until.
+A CD track can always be cued by, for example, --cue=9.1-10.1 for track
+9, even if the CD has no 10th track.
+.TP
+\f[B]-F, --decode-through-errors\f[R]
+By default flac stops decoding with an error and removes the partially
+decoded file if it encounters a bitstream error.
+With -F, errors are still printed but flac will continue decoding to
+completion.
+Note that errors may cause the decoded audio to be missing some samples
+or have silent sections.
+.TP
+\f[B]--apply-replaygain-which-is-not-lossless[=<specification>]\f[R]
+Applies ReplayGain values while decoding.
+\f[B]WARNING: THIS IS NOT LOSSLESS. DECODED AUDIO WILL NOT BE IDENTICAL
+TO THE ORIGINAL WITH THIS OPTION.\f[R] This option is useful for example
+in transcoding media servers, where the client does not support
+ReplayGain.
+For details on the use of this option, see the section \f[B]ReplayGain
+application specification\f[R].
+.SS ENCODING OPTIONS
+.TP
+\f[B]-V, --verify\f[R]
+Verify a correct encoding by decoding the output in parallel and
+comparing to the original
+.TP
+\f[B]--lax\f[R]
+Allow encoder to generate non-Subset files.
+The resulting FLAC file may not be streamable or might have trouble
+being played in all players (especially hardware devices), so you should
+only use this option in combination with custom encoding options meant
+for archival.
+.TP
+\f[B]--replay-gain\f[R]
+Calculate ReplayGain values and store them as FLAC tags, similar to
+vorbisgain.
+Title gains/peaks will be computed for each input file, and an album
+gain/peak will be computed for all files.
+All input files must have the same resolution, sample rate, and number
+of channels.
+Only mono and stereo files are allowed, and the sample rate must be 8,
+11.025, 12, 16, 18.9, 22.05, 24, 28, 32, 36, 37.8, 44.1, 48, 56, 64, 72,
+75.6, 88.2, 96, 112, 128, 144, 151.2, 176.4, 192, 224, 256, 288, 302.4,
+352.8, 384, 448, 512, 576, or 604.8 kHz.
+Also note that this option may leave a few extra bytes in a PADDING
+block as the exact size of the tags is not known until all files are
+processed.
+Note that this option cannot be used when encoding to standard output
+(stdout).
+.TP
+\f[B]--cuesheet=\f[R]\f[I]filename\f[R]
+Import the given cuesheet file and store it in a CUESHEET metadata
+block.
+This option may only be used when encoding a single file.
+A seekpoint will be added for each index point in the cuesheet to the
+SEEKTABLE unless --no-cued-seekpoints is specified.
+.TP
+\f[B]--picture={\f[R]\f[I]FILENAME\f[R]\f[B]|\f[R]\f[I]SPECIFICATION\f[R]\f[B]}\f[R]
+Import a picture and store it in a PICTURE metadata block.
+More than one --picture option can be specified.
+Either a filename for the picture file or a more complete specification
+form can be used.
+The SPECIFICATION is a string whose parts are separated by | (pipe)
+characters.
+Some parts may be left empty to invoke default values.
+FILENAME is just shorthand for \[lq]||||FILENAME\[rq].
+For the format of SPECIFICATION, see the section \f[B]picture
+specification\f[R].
+.TP
+\f[B]--ignore-chunk-sizes\f[R]
+When encoding to flac, ignore the file size headers in WAV and AIFF
+files to attempt to work around problems with over-sized or malformed
+files.
+WAV and AIFF files both have an unsigned 32 bit numbers in the file
+header which specifes the length of audio data.
+Since this number is unsigned 32 bits, that limits the size of a valid
+file to being just over 4 Gigabytes.
+Files larger than this are mal-formed, but should be read correctly
+using this option.
+.TP
+\f[B]-S {\f[R]\f[I]#\f[R]\f[B]|\f[R]\f[I]X\f[R]\f[B]|\f[R]\f[I]#x\f[R]\f[B]|\f[R]\f[I]#s\f[R]\f[B]}, --seekpoint={\f[R]\f[I]#\f[R]\f[B]|\f[R]\f[I]X\f[R]\f[B]|\f[R]\f[I]#x\f[R]\f[B]|\f[R]\f[I]#s\f[R]\f[B]}\f[R]
+Include a point or points in a SEEKTABLE.
+Using #, a seek point at that sample number is added.
+Using X, a placeholder point is added at the end of a the table.
+Using #x, # evenly spaced seek points will be added, the first being at
+sample 0.
+Using #s, a seekpoint will be added every # seconds (# does not have to
+be a whole number; it can be, for example, 9.5, meaning a seekpoint
+every 9.5 seconds).
+You may use many -S options; the resulting SEEKTABLE will be the
+unique-ified union of all such values.
+With no -S options, flac defaults to `-S 10s'.
+Use --no-seektable for no SEEKTABLE.
+Note: `-S #x' and `-S #s' will not work if the encoder can\[cq]t
+determine the input size before starting.
+Note: if you use `-S #' and # is >= samples in the input, there will be
+either no seek point entered (if the input size is determinable before
+encoding starts) or a placeholder point (if input size is not
+determinable).
+.TP
+\f[B]-P\f[R] \f[I]#\f[R]\f[B], --padding=\f[R]\f[I]#\f[R]
+Tell the encoder to write a PADDING metadata block of the given length
+(in bytes) after the STREAMINFO block.
+This is useful if you plan to tag the file later with an APPLICATION
+block; instead of having to rewrite the entire file later just to insert
+your block, you can write directly over the PADDING block.
+Note that the total length of the PADDING block will be 4 bytes longer
+than the length given because of the 4 metadata block header bytes.
+You can force no PADDING block at all to be written with --no-padding.
+The encoder writes a PADDING block of 8192 bytes by default (or 65536
+bytes if the input audio stream is more that 20 minutes long).
+.TP
+\f[B]-T\f[R] \f[I]FIELD=VALUE\f[R]\f[B], --tag=\f[R]\f[I]FIELD=VALUE\f[R]
+Add a FLAC tag.
+The comment must adhere to the Vorbis comment spec; i.e.\ the FIELD must
+contain only legal characters, terminated by an `equals' sign.
+Make sure to quote the comment if necessary.
+This option may appear more than once to add several comments.
+NOTE: all tags will be added to all encoded files.
+.TP
+\f[B]--tag-from-file=\f[R]\f[I]FIELD=FILENAME\f[R]
+Like --tag, except FILENAME is a file whose contents will be read
+verbatim to set the tag value.
+The contents will be converted to UTF-8 from the local charset.
+This can be used to store a cuesheet in a tag
+(e.g.\ --tag-from-file=\[lq]CUESHEET=image.cue\[rq]).
+Do not try to store binary data in tag fields! Use APPLICATION blocks
+for that.
+.TP
+\f[B]-b\f[R] \f[I]#\f[R]\f[B], --blocksize=\f[R]\f[I]#\f[R]
+Specify the blocksize in samples.
+The default is 1152 for -l 0, else 4096.
+For subset streams this must be <= 4608 if the samplerate <= 48kHz, for
+subset streams with higher samplerates it must be <= 16384.
+.TP
+\f[B]-m, --mid-side\f[R]
Try mid-side coding for each frame (stereo input only)
.TP
-\fB-M, --adaptive-mid-side\fR
+\f[B]-M, --adaptive-mid-side\f[R]
Adaptive mid-side coding for all frames (stereo input only)
.TP
-\fB-0\&..-8, --compression-level-0\&..--compression-level-8\fR
-Fastest compression..highest compression (default is -5). These are synonyms for other options:
-.RS
+\f[B]-0..-8, --compression-level-0..--compression-level-8\f[R]
+Fastest compression..highest compression (default is -5).
+These are synonyms for other options:
.TP
-\fB-0, --compression-level-0\fR
-Synonymous with -l 0 -b 1152 -r 3
+\f[B]-0, --compression-level-0\f[R]
+Synonymous with -l 0 -b 1152 -r 3 --no-mid-side
.TP
-\fB-1, --compression-level-1\fR
+\f[B]-1, --compression-level-1\f[R]
Synonymous with -l 0 -b 1152 -M -r 3
.TP
-\fB-2, --compression-level-2\fR
+\f[B]-2, --compression-level-2\f[R]
Synonymous with -l 0 -b 1152 -m -r 3
.TP
-\fB-3, --compression-level-3\fR
-Synonymous with -l 6 -b 4096 -r 4
+\f[B]-3, --compression-level-3\f[R]
+Synonymous with -l 6 -b 4096 -r 4 --no-mid-side
.TP
-\fB-4, --compression-level-4\fR
+\f[B]-4, --compression-level-4\f[R]
Synonymous with -l 8 -b 4096 -M -r 4
.TP
-\fB-5, --compression-level-5\fR
+\f[B]-5, --compression-level-5\f[R]
Synonymous with -l 8 -b 4096 -m -r 5
.TP
-\fB-6, --compression-level-6\fR
-Synonymous with -l 8 -b 4096 -m -r 6
+\f[B]-6, --compression-level-6\f[R]
+Synonymous with -l 8 -b 4096 -m -r 6 -A subdivide_tukey(2)
.TP
-\fB-7, --compression-level-7\fR
-Synonymous with -l 8 -b 4096 -m -e -r 6
+\f[B]-7, --compression-level-7\f[R]
+Synonymous with -l 12 -b 4096 -m -r 6 -A subdivide_tukey(2)
.TP
-\fB-8, --compression-level-8\fR
-Synonymous with -l 12 -b 4096 -m -e -r 6
-.RE
+\f[B]-8, --compression-level-8\f[R]
+Synonymous with -l 12 -b 4096 -m -r 6 -A subdivide_tukey(3)
.TP
-\fB--fast\fR
-Fastest compression. Currently synonymous with -0.
+\f[B]--fast\f[R]
+Fastest compression.
+Currently synonymous with -0.
.TP
-\fB--best\fR
-Highest compression. Currently synonymous with -8.
+\f[B]--best\f[R]
+Highest compression.
+Currently synonymous with -8.
.TP
-\fB-e, --exhaustive-model-search\fR
+\f[B]-e, --exhaustive-model-search\f[R]
Do exhaustive model search (expensive!)
.TP
-\fB-A \fIfunction\fB, --apodization=\fIfunction\fB\fR
-Window audio data with given the apodization function. The functions are: bartlett, bartlett_hann, blackman, blackman_harris_4term_92db, connes, flattop, gauss(STDDEV), hamming, hann, kaiser_bessel, nuttall, rectangle, triangle, tukey(P), welch.
-
-For gauss(STDDEV), STDDEV is the standard deviation (0<STDDEV<=0.5).
-
-For tukey(P), P specifies the fraction of the window that is tapered (0<=P<=1; P=0 corresponds to "rectangle" and P=1 corresponds to "hann").
-
-More than one -A option (up to 32) may be used. Any function that is specified erroneously is silently dropped. The encoder chooses suitable defaults in the absence of any -A options; any -A option specified replaces the default(s).
-
-When more than one function is specified, then for every subframe the encoder will try each of them separately and choose the window that results in the smallest compressed subframe. Multiple functions can greatly increase the encoding time.
-.TP
-\fB-l \fI#\fB, --max-lpc-order=\fI#\fB\fR
-Specifies the maximum LPC order. This number must be <= 32. For Subset streams, it must be <=12 if the sample rate is <=48kHz. If 0, the encoder will not attempt generic linear prediction, and use only fixed predictors. Using fixed predictors is faster but usually results in files being 5-10% larger.
-.TP
-\fB-p, --qlp-coeff-precision-search\fR
-Do exhaustive search of LP coefficient quantization (expensive!). Overrides -q; does nothing if using -l 0
-.TP
-\fB-q \fI#\fB, --qlp-coeff-precision=\fI#\fB\fR
-Precision of the quantized linear-predictor coefficients, 0 => let encoder decide (min is 5, default is 0)
-.TP
-\fB-r [\fI#\fB,]\fI#\fB, --rice-partition-order=[\fI#\fB,]\fI#\fB\fR
-Set the [min,]max residual partition order (0..16). min defaults to 0 if unspecified. Default is -r 5.
-.SS "FORMAT OPTIONS"
-.TP
-\fB--endian={\fIbig\fB|\fIlittle\fB}\fR
+\f[B]-A\f[R] \f[I]function\f[R]\f[B], --apodization=\f[R]\f[I]function\f[R]
+Window audio data with given the apodization function.
+See section \f[B]Apodization functions\f[R] for details.
+.TP
+\f[B]-l\f[R] \f[I]#\f[R]\f[B], --max-lpc-order=\f[R]\f[I]#\f[R]
+Specifies the maximum LPC order.
+This number must be <= 32.
+For subset streams, it must be <=12 if the sample rate is <=48kHz.
+If 0, the encoder will not attempt generic linear prediction, and use
+only fixed predictors.
+Using fixed predictors is faster but usually results in files being
+5-10% larger.
+.TP
+\f[B]-p, --qlp-coeff-precision-search\f[R]
+Do exhaustive search of LP coefficient quantization (expensive!).
+Overrides -q; does nothing if using -l 0
+.TP
+\f[B]-q\f[R] \f[I]#\f[R]\f[B], --qlp-coeff-precision=\f[R]\f[I]#\f[R]
+Precision of the quantized linear-predictor coefficients, 0 => let
+encoder decide (min is 5, default is 0)
+.TP
+\f[B]-r [\f[R]\f[I]#\f[R]\f[B],]\f[R]\f[I]#\f[R]\f[B], --rice-partition-order=[\f[R]\f[I]#\f[R]\f[B],]\f[R]\f[I]#\f[R]
+Set the [min,]max residual partition order (0..15).
+min defaults to 0 if unspecified.
+Default is -r 5.
+.SS FORMAT OPTIONS
+.TP
+\f[B]--endian={\f[R]\f[I]big\f[R]\f[B]|\f[R]\f[I]little\f[R]\f[B]}\f[R]
Set the byte order for samples
.TP
-\fB--channels=\fI#\fB\fR
+\f[B]--channels=\f[R]\f[I]#\f[R]
Set number of channels.
.TP
-\fB--bps=\fI#\fB\fR
+\f[B]--bps=\f[R]\f[I]#\f[R]
Set bits per sample.
.TP
-\fB--sample-rate=\fI#\fB\fR
+\f[B]--sample-rate=\f[R]\f[I]#\f[R]
Set sample rate (in Hz).
.TP
-\fB--sign={\fIsigned\fB|\fIunsigned\fB}\fR
-Set the sign of samples (the default is signed).
-.TP
-\fB--input-size=\fI#\fB\fR
-Specify the size of the raw input in bytes. If you are encoding raw samples from stdin, you must set this option in order to be able to use --skip, --until, --cue-sheet, or other options that need to know the size of the input beforehand. If the size given is greater than what is found in the input stream, the encoder will complain about an unexpected end-of-file. If the size given is less, samples will be truncated.
-.TP
-\fB--force-aiff-format\fR
-Force the decoder to output AIFF format. This option is not needed if the output filename (as set by -o) ends with \fI\&.aiff\fR\&. Also, this option has no effect when encoding since input AIFF is auto-detected.
-.TP
-\fB--force-raw-format\fR
-Force input (when encoding) or output (when decoding) to be treated as raw samples (even if filename ends in \fI\&.wav\fR).
-.SS "NEGATIVE OPTIONS"
-.TP
-\fB--no-adaptive-mid-side\fR
-.TP
-\fB--no-decode-through-errors\fR
-.TP
-\fB--no-delete-input-file\fR
-.TP
-\fB--no-exhaustive-model-search\fR
-.TP
-\fB--no-lax\fR
-.TP
-\fB--no-mid-side\fR
-.TP
-\fB--no-ogg\fR
-.TP
-\fB--no-padding\fR
-.TP
-\fB--no-qlp-coeff-precision-search\fR
-.TP
-\fB--no-residual-gnuplot\fR
-.TP
-\fB--no-residual-text\fR
-.TP
-\fB--no-sector-align\fR
-.TP
-\fB--no-seektable\fR
-.TP
-\fB--no-silent\fR
-.TP
-\fB--no-verify\fR
-.TP
-\fB--no-warnings-as-errors\fR
-These flags can be used to invert the sense of the corresponding normal option.
-.SH "SEE ALSO"
+\f[B]--sign={\f[R]\f[I]signed\f[R]\f[B]|\f[R]\f[I]unsigned\f[R]\f[B]}\f[R]
+Set the sign of samples.
+.TP
+\f[B]--input-size=\f[R]\f[I]#\f[R]
+Specify the size of the raw input in bytes.
+If you are encoding raw samples from stdin, you must set this option in
+order to be able to use --skip, --until, --cuesheet, or other options
+that need to know the size of the input beforehand.
+If the size given is greater than what is found in the input stream, the
+encoder will complain about an unexpected end-of-file.
+If the size given is less, samples will be truncated.
+.TP
+\f[B]--force-raw-format\f[R]
+Force input (when encoding) or output (when decoding) to be treated as
+raw samples (even if filename ends in \f[I].wav\f[R]).
+.PP
+\f[B]--force-aiff-format\f[R]
+.PD 0
+.P
+.PD
+\f[B]--force-rf64-format\f[R]
+.PD 0
+.P
+.PD
+\f[B]--force-wave64-format\f[R] : Force the decoder to output
+AIFF/RF64/WAVE64 format respectively.
+This option is not needed if the output filename (as set by -o) ends
+with \f[I].aif\f[R] or \f[I].aiff\f[R], \f[I].rf64\f[R] and
+\f[I].w64\f[R] respectively.
+Also, this option has no effect when encoding since input is
+auto-detected.
+When none of these options nor \[en]keep-foreign-metadata are given and
+no output filename is set, the output format is WAV by default.
+.PP
+\f[B]--force-legacy-wave-format\f[R]
+.PD 0
+.P
+.PD
+\f[B]--force-extensible-wave-format\f[R] : Instruct the decoder to
+output a WAVE file with WAVE_FORMAT_PCM and WAVE_FORMAT_EXTENSIBLE
+respectively.
+If none of these options nor \[en]keep-foreign-metadata are given, FLAC
+outputs WAVE_FORMAT_PCM for mono or stereo with a bit depth of 8 or 16
+bits, and WAVE_FORMAT_EXTENSIBLE for all other audio formats.
+.PP
+\f[B]--force-aiff-c-none-format\f[R]
+.PD 0
+.P
+.PD
+\f[B]--force-aiff-c-sowt-format\f[R] : Instruct the decoder to output an
+AIFF-C file with format NONE and sowt respectively.
+.SS NEGATIVE OPTIONS
+.PP
+\f[B]--no-adaptive-mid-side\f[R]
+.PD 0
+.P
+.PD
+\f[B]--no-cued-seekpoints\f[R]
+.PD 0
+.P
+.PD
+\f[B]--no-decode-through-errors\f[R]
+.PD 0
+.P
+.PD
+\f[B]--no-delete-input-file\f[R]
+.PD 0
+.P
+.PD
+\f[B]--no-preserve-modtime\f[R]
+.PD 0
+.P
+.PD
+\f[B]--no-keep-foreign-metadata\f[R]
+.PD 0
+.P
+.PD
+\f[B]--no-exhaustive-model-search\f[R]
+.PD 0
+.P
+.PD
+\f[B]--no-force\f[R]
+.PD 0
+.P
+.PD
+\f[B]--no-lax\f[R]
+.PD 0
+.P
+.PD
+\f[B]--no-mid-side\f[R]
+.PD 0
+.P
+.PD
+\f[B]--no-ogg\f[R]
+.PD 0
+.P
+.PD
+\f[B]--no-padding\f[R]
+.PD 0
+.P
+.PD
+\f[B]--no-qlp-coeff-prec-search\f[R]
+.PD 0
+.P
+.PD
+\f[B]--no-replay-gain\f[R]
+.PD 0
+.P
+.PD
+\f[B]--no-residual-gnuplot\f[R]
+.PD 0
+.P
+.PD
+\f[B]--no-residual-text\f[R]
+.PD 0
+.P
+.PD
+\f[B]--no-seektable\f[R]
+.PD 0
+.P
+.PD
+\f[B]--no-silent\f[R]
+.PD 0
+.P
+.PD
+\f[B]--no-verify\f[R]
+.PD 0
+.P
+.PD
+\f[B]--no-warnings-as-errors\f[R]
+.PP
+These flags can be used to invert the sense of the corresponding normal
+option.
+.SS ReplayGain application specification
+.PP
+The option
+--apply-replaygain-which-is-not-lossless[=<specification>]\f[B] applies
+ReplayGain values while decoding. \f[R]WARNING: THIS IS NOT LOSSLESS.
+DECODED AUDIO WILL NOT BE IDENTICAL TO THE ORIGINAL WITH THIS OPTION.**
+This option is useful for example in transcoding media servers, where
+the client does not support ReplayGain.
+.PP
+The equals sign and <specification> is optional.
+If omitted, the default specification is 0aLn1.
+.PP
+The <specification> is a shorthand notation for describing how to apply
+ReplayGain.
+All components are optional but order is important.
+`[]' means `optional'.
+`|' means `or'.
+`{}' means required.
+The format is:
+.PP
+[<preamp>][a|t][l|L][n{0|1|2|3}]
+.PP
+In which the following parameters are used:
+.IP \[bu] 2
+\f[B]preamp\f[R]: A floating point number in dB.
+This is added to the existing gain value.
+.IP \[bu] 2
+\f[B]a|t\f[R]: Specify `a' to use the album gain, or `t' to use the
+track gain.
+If tags for the preferred kind (album/track) do not exist but tags for
+the other (track/album) do, those will be used instead.
+.IP \[bu] 2
+\f[B]l|L\f[R]: Specify `l' to peak-limit the output, so that the
+ReplayGain peak value is full-scale.
+Specify `L' to use a 6dB hard limiter that kicks in when the signal
+approaches full-scale.
+.IP \[bu] 2
+\f[B]n{0|1|2|3}\f[R]: Specify the amount of noise shaping.
+ReplayGain synthesis happens in floating point; the result is dithered
+before converting back to integer.
+This quantization adds noise.
+Noise shaping tries to move the noise where you won\[cq]t hear it as
+much.
+0 means no noise shaping, 1 means `low', 2 means `medium', 3 means
+`high'.
+.PP
+For example, the default of 0aLn1 means 0dB preamp, use album gain, 6dB
+hard limit, low noise shaping.
+--apply-replaygain-which-is-not-lossless=3 means 3dB preamp, use album
+gain, no limiting, no noise shaping.
+.PP
+flac uses the ReplayGain tags for the calculation.
+If a stream does not have the required tags or they can\[cq]t be parsed,
+decoding will continue with a warning, and no ReplayGain is applied to
+that stream.
+.SS Picture specification
+.PP
+This described the specification used for the \f[B]--picture\f[R]
+option.
+[TYPE]|[MIME-TYPE]|[DESCRIPTION]|[WIDTHxHEIGHTxDEPTH[/COLORS]]|FILE
+.PP
+TYPE is optional; it is a number from one of:
+.IP " 0." 4
+Other
+.IP " 1." 4
+32x32 pixels `file icon' (PNG only)
+.IP " 2." 4
+Other file icon
+.IP " 3." 4
+Cover (front)
+.IP " 4." 4
+Cover (back)
+.IP " 5." 4
+Leaflet page
+.IP " 6." 4
+Media (e.g.\ label side of CD)
+.IP " 7." 4
+Lead artist/lead performer/soloist
+.IP " 8." 4
+Artist/performer
+.IP " 9." 4
+Conductor
+.IP "10." 4
+Band/Orchestra
+.IP "11." 4
+Composer
+.IP "12." 4
+Lyricist/text writer
+.IP "13." 4
+Recording Location
+.IP "14." 4
+During recording
+.IP "15." 4
+During performance
+.IP "16." 4
+Movie/video screen capture
+.IP "17." 4
+A bright coloured fish
+.IP "18." 4
+Illustration
+.IP "19." 4
+Band/artist logotype
+.IP "20." 4
+Publisher/Studio logotype
+.PP
+The default is 3 (front cover).
+There may only be one picture each of type 1 and 2 in a file.
+.PP
+MIME-TYPE is optional; if left blank, it will be detected from the file.
+For best compatibility with players, use pictures with MIME type
+image/jpeg or image/png.
+The MIME type can also be --> to mean that FILE is actually a URL to an
+image, though this use is discouraged.
+.PP
+DESCRIPTION is optional; the default is an empty string.
+.PP
+The next part specifies the resolution and color information.
+If the MIME-TYPE is image/jpeg, image/png, or image/gif, you can usually
+leave this empty and they can be detected from the file.
+Otherwise, you must specify the width in pixels, height in pixels, and
+color depth in bits-per-pixel.
+If the image has indexed colors you should also specify the number of
+colors used.
+When manually specified, it is not checked against the file for
+accuracy.
+.PP
+FILE is the path to the picture file to be imported, or the URL if MIME
+type is -->
+.PP
+For example, \[lq]|image/jpeg|||../cover.jpg\[rq] will embed the JPEG
+file at ../cover.jpg, defaulting to type 3 (front cover) and an empty
+description.
+The resolution and color info will be retrieved from the file itself.
+.PP
+The specification
+\[lq]4|-->|CD|320x300x24/173|http://blah.blah/backcover.tiff\[rq] will
+embed the given URL, with type 4 (back cover), description \[lq]CD\[rq],
+and a manually specified resolution of 320x300, 24 bits-per-pixel, and
+173 colors.
+The file at the URL will not be fetched; the URL itself is stored in the
+PICTURE metadata block.
+.SS Apodization functions
+.PP
+To improve LPC analysis, audio data is windowed .
+The window can be selected with one or more \f[B]-A\f[R] options.
+Possible functions are: bartlett, bartlett_hann, blackman,
+blackman_harris_4term_92db, connes, flattop, gauss(STDDEV), hamming,
+hann, kaiser_bessel, nuttall, rectangle, triangle, tukey(P),
+partial_tukey(n[/ov[/P]]), punchout_tukey(n[/ov[/P]]),
+subdivide_tukey(n[/P]) welch.
+.IP \[bu] 2
+For gauss(STDDEV), STDDEV is the standard deviation (0<STDDEV<=0.5).
+.IP \[bu] 2
+For tukey(P), P specifies the fraction of the window that is tapered
+(0<=P<=1; P=0 corresponds to \[lq]rectangle\[rq] and P=1 corresponds to
+\[lq]hann\[rq]).
+.IP \[bu] 2
+For partial_tukey(n) and punchout_tukey(n), n apodization functions are
+added that span different parts of each block.
+Values of 2 to 6 seem to yield sane results.
+If necessary, an overlap can be specified, as can be the taper
+parameter, for example partial_tukey(2/0.2) or partial_tukey(2/0.2/0.5).
+ov should be smaller than 1 and can be negative.
+The use of this is that different parts of a block are ignored as the
+might contain transients which are hard to predict anyway.
+The encoder will try each different added apodization (each covering a
+different part of the block) to see which resulting predictor results in
+the smallest representation.
+.IP \[bu] 2
+subdivide_tukey(n) is a more efficient reimplementation of partial_tukey
+and punchout_tukey taken together, recycling as much data as possible.
+It combines all possible non-redundant partial_tukey(n) and
+punchout_tukey(n) up to the n specified.
+Specifying subdivide_tukey(3) is equivalent to specifying tukey,
+partial_tukey(2), partial_tukey(3) and punchout_tukey(3), specifying
+subdivide_tukey(5) equivalently adds partial_tukey(4),
+punchout_tukey(4), partial_tukey(5) and punchout_tukey(5).
+To be able to reuse data as much as possible, the tukey taper is taken
+equal for all windows, and the P specified is applied for the smallest
+used window.
+In other words, subdivide_tukey(2/0.5) results in a taper equal to that
+of tukey(0.25) and subdivide_tukey(5) in a taper equal to that of
+tukey(0.1).
+The default P for subdivide_tukey when none is specified is 0.5.
+.PP
+Note that P, STDDEV and ov are locale specific, so a comma as decimal
+separator might be required instead of a dot.
+Use scientific notation for a locale-independent specification, for
+example tukey(5e-1) instead of tukey(0.5) or tukey(0,5).
+.PP
+More than one -A option (up to 32) may be used.
+Any function that is specified erroneously is silently dropped.
+The encoder chooses suitable defaults in the absence of any -A options;
+any -A option specified replaces the default(s).
.PP
-metaflac(1).
+When more than one function is specified, then for every subframe the
+encoder will try each of them separately and choose the window that
+results in the smallest compressed subframe.
+Multiple functions can greatly increase the encoding time.
+.SH SEE ALSO
.PP
-The programs are documented fully by HTML format documentation, available in \fI/usr/share/doc/flac/html\fR on Debian GNU/Linux systems.
-.SH "AUTHOR"
+\f[B]metaflac(1)\f[R]
+.SH AUTHOR
.PP
-This manual page was written by Matt Zimmerman <mdz@debian.org> for the Debian GNU/Linux system (but may be used by others).
+This manual page was initially written by Matt Zimmerman
+<mdz\[at]debian.org> for the Debian GNU/Linux system (but may be used by
+others).
+It has been kept up-to-date by the Xiph.org Foundation.
diff --git a/3rdparty/libflac/man/flac.md b/3rdparty/libflac/man/flac.md
new file mode 100644
index 00000000000..b51ac698a48
--- /dev/null
+++ b/3rdparty/libflac/man/flac.md
@@ -0,0 +1,760 @@
+% flac(1) Version 1.4.3 | Free Lossless Audio Codec conversion tool
+
+# NAME
+
+flac - Free Lossless Audio Codec
+
+# SYNOPSIS
+
+**flac** \[ *OPTIONS* \] \[ *infile.wav* \| *infile.rf64* \|
+*infile.aiff* \| *infile.raw* \| *infile.flac* \| *infile.oga* \|
+*infile.ogg* \| **-** *...* \]
+
+**flac** \[ **-d** \| **\--decode** \| **-t** \| **\--test** \| **-a** \|
+**\--analyze** \] \[ *OPTIONS* \] \[ *infile.flac* \| *infile.oga* \|
+*infile.ogg* \| **-** *...* \]
+
+# DESCRIPTION
+
+**flac** is a command-line tool for encoding, decoding, testing and
+analyzing FLAC streams.
+
+# GENERAL USAGE
+
+**flac** supports as input RIFF WAVE, Wave64, RF64, AIFF, FLAC or Ogg
+FLAC format, or raw interleaved samples. The decoder currently can output
+to RIFF WAVE, Wave64, RF64, or AIFF format, or raw interleaved samples.
+flac only supports linear PCM samples (in other words, no A-LAW, uLAW,
+etc.), and the input must be between 4 and 32 bits per sample.
+
+flac assumes that files ending in ".wav" or that have the RIFF WAVE
+header present are WAVE files, files ending in ".w64" or have the Wave64
+header present are Wave64 files, files ending in ".rf64" or have the
+RF64 header present are RF64 files, files ending in ".aif" or ".aiff" or
+have the AIFF header present are AIFF files, files ending in ".flac"
+or have the FLAC header present are FLAC files and files ending in ".oga"
+or ".ogg" or have the Ogg FLAC header present are Ogg FLAC files.
+
+Other than this, flac makes no assumptions about file extensions, though
+the convention is that FLAC files have the extension ".flac"
+(or ".fla" on ancient "8.3" file systems like FAT-16).
+
+Before going into the full command-line description, a few other things
+help to sort it out:
+1. flac encodes by default, so you must use -d to decode
+2. the options -0 .. -8 (or --fast and --best) that control the
+ compression level actually are just synonyms for different groups of
+ specific encoding options (described later) and you can get the same
+ effect by using the same options. When specific options are specified
+ they take priority over the compression level no matter the order
+3. flac behaves similarly to gzip in the way it handles input and output
+ files
+4. the order in which options are specified is generally not important
+
+Skip to the examples below for examples of some common tasks.
+
+flac will be invoked one of four ways, depending on whether you are
+encoding, decoding, testing, or analyzing. Encoding is the default
+invocation, but can be switch to decoding with **-d**, analysis with
+**-a** or testing with **-t**. Depending on which way is chosen,
+encoding, decoding, analysis or testing options can be used, see section
+OPTIONS for details. General options can be used for all.
+
+If only one inputfile is specified, it may be "-" for stdin. When stdin
+is used as input, flac will write to stdout. Otherwise flac will perform
+the desired operation on each input file to similarly named output files
+(meaning for encoding, the extension will be replaced with ".flac", or
+appended with ".flac" if the input file has no extension, and for
+decoding, the extension will be ".wav" for WAVE output and ".raw" for raw
+output). The original file is not deleted unless --delete-input-file is
+specified.
+
+If you are encoding/decoding from stdin to a file, you should use the -o
+option like so:
+
+ flac [options] -o outputfile
+ flac -d [options] -o outputfile
+
+which are better than:
+
+ flac [options] > outputfile
+ flac -d [options] > outputfile
+
+since the former allows flac to seek backwards to write the STREAMINFO or
+RIFF WAVE header contents when necessary.
+
+Also, you can force output data to go to stdout using -c.
+
+To encode or decode files that start with a dash, use -- to signal the
+end of options, to keep the filenames themselves from being treated as
+options:
+
+ flac -V -- -01-filename.wav
+
+The encoding options affect the compression ratio and encoding speed. The
+format options are used to tell flac the arrangement of samples if the
+input file (or output file when decoding) is a raw file. If it is a RIFF
+WAVE, Wave64, RF64, or AIFF file the format options are not needed since
+they are read from the file's header.
+
+In test mode, flac acts just like in decode mode, except no output file
+is written. Both decode and test modes detect errors in the stream, but
+they also detect when the MD5 signature of the decoded audio does not
+match the stored MD5 signature, even when the bitstream is valid.
+
+flac can also re-encode FLAC files. In other words, you can specify a
+FLAC or Ogg FLAC file as an input to the encoder and it will decoder it
+and re-encode it according to the options you specify. It will also
+preserve all the metadata unless you override it with other options (e.g.
+specifying new tags, seekpoints, cuesheet, padding, etc.).
+
+flac has been tuned so that the default settings yield a good speed vs.
+compression tradeoff for many kinds of input. However, if you are looking
+to maximize the compression rate or speed, or want to use the full power
+of FLAC's metadata system, see the page titled 'About the FLAC Format' on
+the FLAC website.
+
+# EXAMPLES
+
+Some common **encoding** tasks using flac:
+
+`flac abc.wav`
+: Encode abc.wav to abc.flac using the default compression setting. abc.wav is not deleted.
+
+`flac --delete-input-file abc.wav`
+: Like above, except abc.wav is deleted if there were no errors.
+
+`flac --delete-input-file -w abc.wav`
+: Like above, except abc.wav is deleted if there were no errors or warnings.
+
+`flac --best abc.wav`
+: Encode abc.wav to abc.flac using the highest compression setting.
+
+`flac --verify abc.wav`
+: Encode abc.wav to abc.flac and internally decode abc.flac to make sure it matches abc.wav.
+
+`flac -o my.flac abc.wav`
+: Encode abc.wav to my.flac.
+
+`flac -T "TITLE=Bohemian Rhapsody" -T "ARTIST=Queen" abc.wav`
+: Encode abc.wav and add some tags at the same time to abc.flac.
+
+`flac *.wav`
+: Encode all .wav files in the current directory.
+
+`flac abc.aiff`
+: Encode abc.aiff to abc.flac.
+
+`flac abc.rf64`
+: Encode abc.rf64 to abc.flac.
+
+`flac abc.w64`
+: Encode abc.w64 to abc.flac.
+
+`flac abc.flac --force`
+: This one's a little tricky: notice that flac is in encode mode by
+ default (you have to specify -d to decode) so this command actually
+ recompresses abc.flac back to abc.flac. --force is needed to make
+ sure you really want to overwrite abc.flac with a new version. Why
+ would you want to do this? It allows you to recompress an existing
+ FLAC file with (usually) higher compression options or a newer
+ version of FLAC and preserve all the metadata like tags too.
+
+Some common **decoding** tasks using flac:
+
+`flac -d abc.flac`
+: Decode abc.flac to abc.wav. abc.flac is not deleted. NOTE: Without
+ -d it means re-encode abc.flac to abc.flac (see above).
+
+`flac -d --force-aiff-format abc.flac`
+`flac -d -o abc.aiff abc.flac`
+: Two different ways of decoding abc.flac to abc.aiff (AIFF format).
+ abc.flac is not deleted.
+
+`flac -d --force-rf64-format abc.flac`
+`flac -d -o abc.rf64 abc.flac`
+: Two different ways of decoding abc.flac to abc.rf64 (RF64 format).
+ abc.flac is not deleted.
+
+`flac -d --force-wave64-format abc.flac`
+`flac -d -o abc.w64 abc.flac`
+: Two different ways of decoding abc.flac to abc.w64 (Wave64 format).
+ abc.flac is not deleted.
+
+`flac -d -F abc.flac`
+: Decode abc.flac to abc.wav and don't abort if errors are found
+ (useful for recovering as much as possible from corrupted files).
+
+
+# OPTIONS
+
+A summary of options is included below. For a complete description, see
+the HTML documentation.
+
+## GENERAL OPTIONS
+
+**-v, \--version**
+: Show the flac version number
+
+**-h, \--help**
+: Show basic usage and a list of all options
+
+**-H, \--explain**
+: Show detailed explanation of usage and all options
+
+**-d, \--decode**
+: Decode (the default behavior is to encode)
+
+**-t, \--test**
+: Test a flac encoded file (same as -d except no decoded file is written)
+
+**-a, \--analyze**
+: Analyze a FLAC encoded file (same as -d except an analysis file is
+ written)
+
+**-c, \--stdout**
+: Write output to stdout
+
+**-s, \--silent**
+: Silent mode (do not write runtime encode/decode statistics to stderr)
+
+**\--totally-silent**
+: Do not print anything of any kind, including warnings or errors. The
+ exit code will be the only way to determine successful completion.
+
+**\--no-utf8-convert**
+: Do not convert tags from local charset to UTF-8. This is useful for
+ scripts, and setting tags in situations where the locale is wrong.
+ This option must appear before any tag options!
+
+**-w, \--warnings-as-errors**
+: Treat all warnings as errors (which cause flac to terminate with a
+ non-zero exit code).
+
+**-f, \--force**
+: Force overwriting of output files. By default, flac warns that the
+ output file already exists and continues to the next file.
+
+**-o** *filename***, \--output-name=***filename*
+: Force the output file name (usually flac just changes the extension).
+ May only be used when encoding a single file. May not be used in
+ conjunction with \--output-prefix.
+
+**\--output-prefix=***string*
+: Prefix each output file name with the given string. This can be
+ useful for encoding or decoding files to a different directory. Make
+ sure if your string is a path name that it ends with a trailing \`/'
+ (slash).
+
+**\--delete-input-file**
+: Automatically delete the input file after a successful encode or
+ decode. If there was an error (including a verify error) the input
+ file is left intact.
+
+**\--preserve-modtime**
+: Output files have their timestamps/permissions set to match those of
+ their inputs (this is default). Use \--no-preserve-modtime to make
+ output files have the current time and default permissions.
+
+**\--keep-foreign-metadata**
+: If encoding, save WAVE, RF64, or AIFF non-audio chunks in FLAC
+ metadata. If decoding, restore any saved non-audio chunks from FLAC
+ metadata when writing the decoded file. Foreign metadata cannot be
+ transcoded, e.g. WAVE chunks saved in a FLAC file cannot be restored
+ when decoding to AIFF. Input and output must be regular files (not
+ stdin or stdout). With this option, FLAC will pick the right output
+ format on decoding.
+
+**\--keep-foreign-metadata-if-present**
+: Like \--keep-foreign-metadata, but without throwing an error if
+ foreign metadata cannot be found or restored, instead printing a
+ warning.
+
+**\--skip={***\#***\|***mm:ss.ss***}**
+: Skip over the first number of samples of the input. This works for
+ both encoding and decoding, but not testing. The alternative form
+ mm:ss.ss can be used to specify minutes, seconds, and fractions of a
+ second.
+
+**\--until={***\#***\|\[***+***\|***-***\]***mm:ss.ss***}**
+: Stop at the given sample number for each input file. This works for
+ both encoding and decoding, but not testing. The given sample number
+ is not included in the decoded output. The alternative form mm:ss.ss
+ can be used to specify minutes, seconds, and fractions of a second.
+ If a \`+' (plus) sign is at the beginning, the \--until point is
+ relative to the \--skip point. If a \`-' (minus) sign is at the
+ beginning, the \--until point is relative to end of the audio.
+
+**\--ogg**
+: When encoding, generate Ogg FLAC output instead of native FLAC. Ogg
+ FLAC streams are FLAC streams wrapped in an Ogg transport layer. The
+ resulting file should have an '.oga' extension and will still be
+ decodable by flac. When decoding, force the input to be treated as
+ Ogg FLAC. This is useful when piping input from stdin or when the
+ filename does not end in '.oga' or '.ogg'.
+
+**\--serial-number=***\#*
+: When used with \--ogg, specifies the serial number to use for the
+ first Ogg FLAC stream, which is then incremented for each additional
+ stream. When encoding and no serial number is given, flac uses a
+ random number for the first stream, then increments it for each
+ additional stream. When decoding and no number is given, flac uses
+ the serial number of the first page.
+
+## ANALYSIS OPTIONS
+
+**\--residual-text**
+: Includes the residual signal in the analysis file. This will make the
+ file very big, much larger than even the decoded file.
+
+**\--residual-gnuplot**
+: Generates a gnuplot file for every subframe; each file will contain
+ the residual distribution of the subframe. This will create a lot of
+ files.
+
+## DECODING OPTIONS
+
+**\--cue=\[***\#.#***\]\[-\[***\#.#***\]\]**
+: Set the beginning and ending cuepoints to decode. The optional first
+ \#.# is the track and index point at which decoding will start; the
+ default is the beginning of the stream. The optional second \#.# is
+ the track and index point at which decoding will end; the default is
+ the end of the stream. If the cuepoint does not exist, the closest
+ one before it (for the start point) or after it (for the end point)
+ will be used. If those don't exist, the start of the stream (for the
+ start point) or end of the stream (for the end point) will be used.
+ The cuepoints are merely translated into sample numbers then used as
+ \--skip and \--until. A CD track can always be cued by, for example,
+ \--cue=9.1-10.1 for track 9, even if the CD has no 10th track.
+
+**-F, \--decode-through-errors**
+: By default flac stops decoding with an error and removes the
+ partially decoded file if it encounters a bitstream error. With -F,
+ errors are still printed but flac will continue decoding to
+ completion. Note that errors may cause the decoded audio to be
+ missing some samples or have silent sections.
+
+**\--apply-replaygain-which-is-not-lossless\[=\<specification\>\]**
+: Applies ReplayGain values while decoding. **WARNING: THIS IS NOT
+ LOSSLESS. DECODED AUDIO WILL NOT BE IDENTICAL TO THE ORIGINAL WITH
+ THIS OPTION.** This option is useful for example in transcoding
+ media servers, where the client does not support ReplayGain. For
+ details on the use of this option, see the section **ReplayGain
+ application specification**.
+
+## ENCODING OPTIONS
+
+**-V, \--verify**
+: Verify a correct encoding by decoding the output in parallel and
+ comparing to the original
+
+**\--lax**
+: Allow encoder to generate non-Subset files. The resulting FLAC file
+ may not be streamable or might have trouble being played in all
+ players (especially hardware devices), so you should only use this
+ option in combination with custom encoding options meant for
+ archival.
+
+**\--replay-gain**
+: Calculate ReplayGain values and store them as FLAC tags, similar to
+ vorbisgain. Title gains/peaks will be computed for each input file,
+ and an album gain/peak will be computed for all files. All input
+ files must have the same resolution, sample rate, and number of
+ channels. Only mono and stereo files are allowed, and the sample
+ rate must be 8, 11.025, 12, 16, 18.9, 22.05, 24, 28, 32, 36, 37.8,
+ 44.1, 48, 56, 64, 72, 75.6, 88.2, 96, 112, 128, 144, 151.2, 176.4,
+ 192, 224, 256, 288, 302.4, 352.8, 384, 448, 512, 576, or 604.8 kHz.
+ Also note that this option may leave a few extra bytes in a PADDING
+ block as the exact size of the tags is not known until all files
+ are processed. Note that this option cannot be used when encoding
+ to standard output (stdout).
+
+**\--cuesheet=***filename*
+: Import the given cuesheet file and store it in a CUESHEET metadata
+ block. This option may only be used when encoding a single file. A
+ seekpoint will be added for each index point in the cuesheet to the
+ SEEKTABLE unless \--no-cued-seekpoints is specified.
+
+**\--picture={***FILENAME***\|***SPECIFICATION***}**
+: Import a picture and store it in a PICTURE metadata block. More than
+ one \--picture option can be specified. Either a filename for the
+ picture file or a more complete specification form can be used. The
+ SPECIFICATION is a string whose parts are separated by \| (pipe)
+ characters. Some parts may be left empty to invoke default values.
+ FILENAME is just shorthand for "\|\|\|\|FILENAME". For the format of
+ SPECIFICATION, see the section **picture specification**.
+
+**\--ignore-chunk-sizes**
+: When encoding to flac, ignore the file size headers in WAV and AIFF
+ files to attempt to work around problems with over-sized or malformed
+ files. WAV and AIFF files both have an unsigned 32 bit numbers in
+ the file header which specifes the length of audio data. Since this
+ number is unsigned 32 bits, that limits the size of a valid file to
+ being just over 4 Gigabytes. Files larger than this are mal-formed,
+ but should be read correctly using this option.
+
+**-S {***\#***\|***X***\|***\#x***\|***\#s***}, \--seekpoint={***\#***\|***X***\|***\#x***\|***\#s***}**
+: Include a point or points in a SEEKTABLE. Using \#, a seek point at
+ that sample number is added. Using X, a placeholder point is added at
+ the end of a the table. Using \#x, \# evenly spaced seek points will
+ be added, the first being at sample 0. Using \#s, a seekpoint will be
+ added every \# seconds (# does not have to be a whole number; it can
+ be, for example, 9.5, meaning a seekpoint every 9.5 seconds). You may
+ use many -S options; the resulting SEEKTABLE will be the unique-ified
+ union of all such values. With no -S options, flac defaults to
+ '-S 10s'. Use \--no-seektable for no SEEKTABLE. Note: '-S \#x' and
+ '-S \#s' will not work if the encoder can't determine the input size
+ before starting. Note: if you use '-S \#' and \# is \>= samples in
+ the input, there will be either no seek point entered (if the input
+ size is determinable before encoding starts) or a placeholder point
+ (if input size is not determinable).
+
+**-P** *\#***, \--padding=***\#*
+: Tell the encoder to write a PADDING metadata block of the given
+ length (in bytes) after the STREAMINFO block. This is useful if you
+ plan to tag the file later with an APPLICATION block; instead of
+ having to rewrite the entire file later just to insert your block,
+ you can write directly over the PADDING block. Note that the total
+ length of the PADDING block will be 4 bytes longer than the length
+ given because of the 4 metadata block header bytes. You can force no
+ PADDING block at all to be written with \--no-padding. The encoder
+ writes a PADDING block of 8192 bytes by default (or 65536 bytes if
+ the input audio stream is more that 20 minutes long).
+
+**-T** *FIELD=VALUE***, \--tag=***FIELD=VALUE*
+: Add a FLAC tag. The comment must adhere to the Vorbis comment spec;
+ i.e. the FIELD must contain only legal characters, terminated by an
+ 'equals' sign. Make sure to quote the comment if necessary. This
+ option may appear more than once to add several comments. NOTE: all
+ tags will be added to all encoded files.
+
+**\--tag-from-file=***FIELD=FILENAME*
+: Like \--tag, except FILENAME is a file whose contents will be read
+ verbatim to set the tag value. The contents will be converted to
+ UTF-8 from the local charset. This can be used to store a cuesheet
+ in a tag (e.g. \--tag-from-file="CUESHEET=image.cue"). Do not try to
+ store binary data in tag fields! Use APPLICATION blocks for that.
+
+**-b** *\#***, \--blocksize=***\#*
+: Specify the blocksize in samples. The default is 1152 for -l 0,
+ else 4096. For subset streams this must be \<= 4608 if the samplerate
+ \<= 48kHz, for subset streams with higher samplerates it must be \<=
+ 16384.
+
+**-m, \--mid-side**
+: Try mid-side coding for each frame (stereo input only)
+
+**-M, \--adaptive-mid-side**
+: Adaptive mid-side coding for all frames (stereo input only)
+
+**-0..-8, \--compression-level-0..\--compression-level-8**
+: Fastest compression..highest compression (default is -5). These are
+ synonyms for other options:
+
+**-0, \--compression-level-0**
+: Synonymous with -l 0 -b 1152 -r 3 \--no-mid-side
+
+**-1, \--compression-level-1**
+: Synonymous with -l 0 -b 1152 -M -r 3
+
+**-2, \--compression-level-2**
+: Synonymous with -l 0 -b 1152 -m -r 3
+
+**-3, \--compression-level-3**
+: Synonymous with -l 6 -b 4096 -r 4 \--no-mid-side
+
+**-4, \--compression-level-4**
+: Synonymous with -l 8 -b 4096 -M -r 4
+
+**-5, \--compression-level-5**
+: Synonymous with -l 8 -b 4096 -m -r 5
+
+**-6, \--compression-level-6**
+: Synonymous with -l 8 -b 4096 -m -r 6 -A subdivide_tukey(2)
+
+**-7, \--compression-level-7**
+: Synonymous with -l 12 -b 4096 -m -r 6 -A subdivide_tukey(2)
+
+**-8, \--compression-level-8**
+: Synonymous with -l 12 -b 4096 -m -r 6 -A subdivide_tukey(3)
+
+**\--fast**
+: Fastest compression. Currently synonymous with -0.
+
+**\--best**
+: Highest compression. Currently synonymous with -8.
+
+**-e, \--exhaustive-model-search**
+: Do exhaustive model search (expensive!)
+
+**-A** *function***, \--apodization=***function*
+: Window audio data with given the apodization function. See section
+ **Apodization functions** for details.
+
+**-l** *\#***, \--max-lpc-order=***\#*
+: Specifies the maximum LPC order. This number must be \<= 32. For
+ subset streams, it must be \<=12 if the sample rate is \<=48kHz. If
+ 0, the encoder will not attempt generic linear prediction, and use
+ only fixed predictors. Using fixed predictors is faster but usually
+ results in files being 5-10% larger.
+
+**-p, \--qlp-coeff-precision-search**
+: Do exhaustive search of LP coefficient quantization (expensive!).
+ Overrides -q; does nothing if using -l 0
+
+**-q** *\#***, \--qlp-coeff-precision=***\#*
+: Precision of the quantized linear-predictor coefficients, 0 =\> let
+ encoder decide (min is 5, default is 0)
+
+**-r \[***\#***,\]***\#***, \--rice-partition-order=\[***\#***,\]***\#*
+: Set the \[min,\]max residual partition order (0..15). min defaults to
+ 0 if unspecified. Default is -r 5.
+
+## FORMAT OPTIONS
+
+**\--endian={***big***\|***little***}**
+: Set the byte order for samples
+
+**\--channels=***\#*
+: Set number of channels.
+
+**\--bps=***\#*
+: Set bits per sample.
+
+**\--sample-rate=***\#*
+: Set sample rate (in Hz).
+
+**\--sign={***signed***\|***unsigned***}**
+: Set the sign of samples.
+
+**\--input-size=***\#*
+: Specify the size of the raw input in bytes. If you are encoding raw
+ samples from stdin, you must set this option in order to be able to
+ use \--skip, \--until, \--cuesheet, or other options that need to
+ know the size of the input beforehand. If the size given is greater
+ than what is found in the input stream, the encoder will complain
+ about an unexpected end-of-file. If the size given is less, samples
+ will be truncated.
+
+**\--force-raw-format**
+: Force input (when encoding) or output (when decoding) to be treated
+ as raw samples (even if filename ends in *.wav*).
+
+**\--force-aiff-format**
+**\--force-rf64-format**
+**\--force-wave64-format**
+: Force the decoder to output AIFF/RF64/WAVE64 format respectively.
+ This option is not needed if the output filename (as set by -o)
+ ends with *.aif* or *.aiff*, *.rf64* and *.w64* respectively. Also,
+ this option has no effect when encoding since input is
+ auto-detected. When none of these options nor
+ --keep-foreign-metadata are given and no output filename is set,
+ the output format is WAV by default.
+
+**\--force-legacy-wave-format**
+**\--force-extensible-wave-format**
+: Instruct the decoder to output a WAVE file with WAVE_FORMAT_PCM and
+ WAVE_FORMAT_EXTENSIBLE respectively. If none of these options nor
+ --keep-foreign-metadata are given, FLAC outputs WAVE_FORMAT_PCM
+ for mono or stereo with a bit depth of 8 or 16 bits, and
+ WAVE_FORMAT_EXTENSIBLE for all other audio formats.
+
+**\--force-aiff-c-none-format**
+**\--force-aiff-c-sowt-format**
+: Instruct the decoder to output an AIFF-C file with format NONE and
+ sowt respectively.
+
+## NEGATIVE OPTIONS
+
+**\--no-adaptive-mid-side**
+**\--no-cued-seekpoints**
+**\--no-decode-through-errors**
+**\--no-delete-input-file**
+**\--no-preserve-modtime**
+**\--no-keep-foreign-metadata**
+**\--no-exhaustive-model-search**
+**\--no-force**
+**\--no-lax**
+**\--no-mid-side**
+**\--no-ogg**
+**\--no-padding**
+**\--no-qlp-coeff-prec-search**
+**\--no-replay-gain**
+**\--no-residual-gnuplot**
+**\--no-residual-text**
+**\--no-seektable**
+**\--no-silent**
+**\--no-verify**
+**\--no-warnings-as-errors**
+
+These flags can be used to invert the sense of the corresponding normal
+option.
+
+## ReplayGain application specification
+The option \--apply-replaygain-which-is-not-lossless\[=\<specification\>\]**
+applies ReplayGain values while decoding. **WARNING: THIS IS NOT
+LOSSLESS. DECODED AUDIO WILL NOT BE IDENTICAL TO THE ORIGINAL WITH THIS
+OPTION.** This option is useful for example in transcoding media servers,
+where the client does not support ReplayGain.
+
+The equals sign and \<specification\> is optional. If omitted, the
+default specification is 0aLn1.
+
+The \<specification\> is a shorthand notation for describing how to apply
+ReplayGain. All components are optional but order is important. '\[\]'
+means 'optional'. '\|' means 'or'. '{}' means required. The format is:
+
+\[\<preamp\>\]\[a\|t\]\[l\|L\]\[n{0\|1\|2\|3}\]
+
+In which the following parameters are used:
+
+- **preamp**: A floating point number in dB. This is added to the
+ existing gain value.
+
+- **a\|t**: Specify 'a' to use the album gain, or 't' to use the track
+ gain. If tags for the preferred kind (album/track) do not exist but
+ tags for the other (track/album) do, those will be used instead.
+
+- **l\|L**: Specify 'l' to peak-limit the output, so that the
+ ReplayGain peak value is full-scale. Specify 'L' to use a 6dB hard
+ limiter that kicks in when the signal approaches full-scale.
+
+- **n{0\|1\|2\|3}**: Specify the amount of noise shaping. ReplayGain
+ synthesis happens in floating point; the result is dithered before
+ converting back to integer. This quantization adds noise. Noise
+ shaping tries to move the noise where you won't hear it as much.
+ 0 means no noise shaping, 1 means 'low', 2 means 'medium', 3 means
+ 'high'.
+
+For example, the default of 0aLn1 means 0dB preamp, use album gain, 6dB
+hard limit, low noise shaping. \--apply-replaygain-which-is-not-lossless=3
+means 3dB preamp, use album gain, no limiting, no noise shaping.
+
+flac uses the ReplayGain tags for the calculation. If a stream does
+not have the required tags or they can't be parsed, decoding will
+continue with a warning, and no ReplayGain is applied to that stream.
+
+## Picture specification
+This described the specification used for the **\--picture** option.
+\[TYPE\]\|\[MIME-TYPE\]\|\[DESCRIPTION\]\|\[WIDTHxHEIGHTxDEPTH\[/COLORS\]\]\|FILE
+
+TYPE is optional; it is a number from one of:
+
+0. Other
+1. 32x32 pixels 'file icon' (PNG only)
+2. Other file icon
+3. Cover (front)
+4. Cover (back)
+5. Leaflet page
+6. Media (e.g. label side of CD)
+7. Lead artist/lead performer/soloist
+8. Artist/performer
+9. Conductor
+10. Band/Orchestra
+11. Composer
+12. Lyricist/text writer
+13. Recording Location
+14. During recording
+15. During performance
+16. Movie/video screen capture
+17. A bright coloured fish
+18. Illustration
+19. Band/artist logotype
+20. Publisher/Studio logotype
+
+The default is 3 (front cover). There may only be one picture each of
+type 1 and 2 in a file.
+
+MIME-TYPE is optional; if left blank, it will be detected from the file.
+For best compatibility with players, use pictures with MIME type
+image/jpeg or image/png. The MIME type can also be \--\> to mean that
+FILE is actually a URL to an image, though this use is discouraged.
+
+DESCRIPTION is optional; the default is an empty string.
+
+The next part specifies the resolution and color information. If the
+MIME-TYPE is image/jpeg, image/png, or image/gif, you can usually leave
+this empty and they can be detected from the file. Otherwise, you must
+specify the width in pixels, height in pixels, and color depth in
+bits-per-pixel. If the image has indexed colors you should also specify
+the number of colors used. When manually specified, it is not checked
+against the file for accuracy.
+
+FILE is the path to the picture file to be imported, or the URL if MIME
+type is \--\>
+
+For example, "\|image/jpeg\|\|\|../cover.jpg" will embed the JPEG file
+at ../cover.jpg, defaulting to type 3 (front cover) and an empty
+description. The resolution and color info will be retrieved from the
+file itself.
+
+The specification
+"4\|\--\>\|CD\|320x300x24/173\|http://blah.blah/backcover.tiff" will
+embed the given URL, with type 4 (back cover), description "CD", and a
+manually specified resolution of 320x300, 24 bits-per-pixel, and 173
+colors. The file at the URL will not be fetched; the URL itself is
+stored in the PICTURE metadata block.
+
+## Apodization functions
+To improve LPC analysis, audio data is windowed . The window can be
+selected with one or more **-A** options. Possible functions are:
+bartlett, bartlett_hann, blackman, blackman_harris_4term_92db,
+connes, flattop, gauss(STDDEV), hamming, hann, kaiser_bessel, nuttall,
+rectangle, triangle, tukey(P), partial_tukey(n\[/ov\[/P\]\]),
+punchout_tukey(n\[/ov\[/P\]\]), subdivide_tukey(n\[/P\]) welch.
+
+- For gauss(STDDEV), STDDEV is the standard deviation (0\<STDDEV\<=0.5).
+
+- For tukey(P), P specifies the fraction of the window that is tapered
+(0\<=P\<=1; P=0 corresponds to "rectangle" and P=1 corresponds to
+"hann").
+
+- For partial_tukey(n) and punchout_tukey(n), n apodization functions are
+added that span different parts of each block. Values of 2 to 6 seem to
+yield sane results. If necessary, an overlap can be specified, as can be
+the taper parameter, for example partial_tukey(2/0.2) or
+partial_tukey(2/0.2/0.5). ov should be smaller than 1 and can be
+negative. The use of this is that different parts of a block are ignored
+as the might contain transients which are hard to predict anyway. The
+encoder will try each different added apodization (each covering a
+different part of the block) to see which resulting predictor results in
+the smallest representation.
+
+- subdivide_tukey(n) is a more efficient reimplementation of partial_tukey
+and punchout_tukey taken together, recycling as much data as possible. It
+combines all possible non-redundant partial_tukey(n) and punchout_tukey(n)
+up to the n specified. Specifying subdivide_tukey(3) is equivalent to
+specifying tukey, partial_tukey(2), partial_tukey(3) and punchout_tukey(3),
+specifying subdivide_tukey(5) equivalently adds partial_tukey(4),
+punchout_tukey(4), partial_tukey(5) and punchout_tukey(5). To be able to
+reuse data as much as possible, the tukey taper is taken equal for all
+windows, and the P specified is applied for the smallest used window.
+In other words, subdivide_tukey(2/0.5) results in a taper equal to that
+of tukey(0.25) and subdivide_tukey(5) in a taper equal to that of
+tukey(0.1). The default P for subdivide_tukey when none is specified is
+0.5.
+
+Note that P, STDDEV and ov are locale specific, so a comma as
+decimal separator might be required instead of a dot. Use scientific
+notation for a locale-independent specification, for example
+tukey(5e-1) instead of tukey(0.5) or tukey(0,5).
+
+More than one -A option (up to 32) may be used. Any function that is
+specified erroneously is silently dropped. The encoder chooses suitable
+defaults in the absence of any -A options; any -A option specified
+replaces the default(s).
+
+When more than one function is specified, then for every subframe the
+encoder will try each of them separately and choose the window that
+results in the smallest compressed subframe. Multiple functions can
+greatly increase the encoding time.
+
+# SEE ALSO
+
+**metaflac(1)**
+
+# AUTHOR
+
+This manual page was initially written by Matt Zimmerman
+\<mdz@debian.org\> for the Debian GNU/Linux system (but may be used by
+others). It has been kept up-to-date by the Xiph.org Foundation.
diff --git a/3rdparty/libflac/man/flac.sgml b/3rdparty/libflac/man/flac.sgml
deleted file mode 100644
index cd34dfdb11e..00000000000
--- a/3rdparty/libflac/man/flac.sgml
+++ /dev/null
@@ -1,727 +0,0 @@
-<!doctype refentry PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
-
- <!-- Fill in your name for FIRSTNAME and SURNAME. -->
- <!ENTITY dhfirstname "<firstname>Matt</firstname>">
- <!ENTITY dhsurname "<surname>Zimmerman</surname>">
- <!-- Please adjust the date whenever revising the manpage. -->
- <!ENTITY dhdate "<date>Nov 4, 2006</date>">
- <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
- allowed: see man(7), man(1). -->
- <!ENTITY dhsection "<manvolnum>1</manvolnum>">
- <!ENTITY dhemail "<email>mdz@debian.org</email>">
- <!ENTITY dhusername "Matt Zimmerman">
- <!ENTITY dhucpackage "<refentrytitle>FLAC</refentrytitle>">
- <!ENTITY dhpackage "flac">
-
- <!ENTITY debian "<productname>Debian GNU/Linux</productname>">
- <!ENTITY gnu "<acronym>GNU</acronym>">
-]>
-
-<refentry>
- <docinfo>
- <address>
- &dhemail;
- </address>
- <author>
- &dhfirstname;
- &dhsurname;
- </author>
- <copyright>
- <year>2002,2003,2004,2005</year>
- <holder>&dhusername;</holder>
- </copyright>
- &dhdate;
- </docinfo>
- <refmeta>
- &dhucpackage;
-
- &dhsection;
- </refmeta>
- <refnamediv>
- <refname>&dhpackage;</refname>
-
- <refpurpose>Free Lossless Audio Codec</refpurpose>
- </refnamediv>
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>flac</command>
- <arg choice=opt><replaceable>OPTIONS</replaceable></arg>
- <group rep=repeat>
- <arg><replaceable>infile.wav</replaceable></arg>
- <arg><replaceable>infile.aiff</replaceable></arg>
- <arg><replaceable>infile.raw</replaceable></arg>
- <arg><replaceable>infile.flac</replaceable></arg>
- <arg><replaceable>infile.oga</replaceable></arg>
- <arg><replaceable>infile.ogg</replaceable></arg>
- <arg>-</arg>
- </group>
- </cmdsynopsis>
- <cmdsynopsis>
- <command>flac</command>
- <group>
- <arg>-d</arg> <arg>--decode</arg>
- <arg>-t</arg> <arg>--test</arg>
- <arg>-a</arg> <arg>--analyze</arg>
- </group>
- <arg choice=opt><replaceable>OPTIONS</replaceable></arg>
- <group rep=repeat>
- <arg><replaceable>infile.flac</replaceable></arg>
- <arg><replaceable>infile.oga</replaceable></arg>
- <arg><replaceable>infile.ogg</replaceable></arg>
- <arg>-</arg>
- </group>
- </cmdsynopsis>
- </refsynopsisdiv>
- <refsect1>
- <title>DESCRIPTION</title>
-
- <para><command>flac</command> is a command-line tool for encoding, decoding, testing and analyzing FLAC streams.</para>
-
- </refsect1>
- <refsect1>
- <title>OPTIONS</title>
-
- <para>A summary of options is included below. For a complete
- description, see the HTML documentation.</para>
-
- <refsect2>
- <title>General Options</title>
-
- <variablelist>
- <varlistentry>
- <term><option>-v</option>, <option>--version</option></term>
- <listitem>
- <para>Show the flac version number</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-h</option>, <option>--help</option>
- </term>
- <listitem>
- <para>Show basic usage and a list of all options</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-H</option>, <option>--explain</option>
- </term>
- <listitem>
- <para>Show detailed explanation of usage and all options</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-d</option>, <option>--decode</option>
- </term>
- <listitem>
- <para>Decode (the default behavior is to encode)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-t</option>, <option>--test</option>
- </term>
- <listitem>
- <para>Test a flac encoded file (same as -d except no decoded file is written)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-a</option>, <option>--analyze</option>
- </term>
- <listitem>
- <para>Analyze a FLAC encoded file (same as -d except an analysis file is written)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-c</option>, <option>--stdout</option>
- </term>
- <listitem>
- <para>Write output to stdout</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-s</option>, <option>--silent</option>
- </term>
- <listitem>
- <para>Silent mode (do not write runtime encode/decode statistics to stderr)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--totally-silent</option>
- </term>
- <listitem>
- <para>Do not print anything of any kind, including warnings or errors. The exit code will be the only way to determine successful completion.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--no-utf8-convert</option>
- </term>
- <listitem>
- <para>Do not convert tags from local charset to UTF-8. This is useful for scripts, and setting tags in situations where the locale is wrong. This option must appear before any tag options!</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-w</option>, <option>--warnings-as-errors</option>
- </term>
- <listitem>
- <para>Treat all warnings as errors (which cause flac to terminate with a non-zero exit code).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-f</option>, <option>--force</option>
- </term>
- <listitem>
- <para>Force overwriting of output files. By default, flac warns that the output file already exists and continues to the next file.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-o</option> <replaceable>filename</replaceable>, <option>--output-name</option>=<replaceable>filename</replaceable></term>
- <listitem>
- <para>Force the output file name (usually flac just changes the extension). May only be used when encoding a single file. May not be used in conjunction with --output-prefix.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--output-prefix</option>=<replaceable>string</replaceable></term>
- <listitem>
- <para>Prefix each output file name with the given string. This can be useful for encoding or decoding files to a different directory. Make sure if your string is a path name that it ends with a trailing `/' (slash).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--delete-input-file</option>
- </term>
- <listitem>
- <para>Automatically delete the input file after a successful encode or decode. If there was an error (including a verify error) the input file is left intact.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--keep-foreign-metadata</option>
- </term>
- <listitem>
- <para>If encoding, save WAVE or AIFF non-audio chunks in FLAC metadata. If decoding, restore any saved non-audio chunks from FLAC metadata when writing the decoded file. Foreign metadata cannot be transcoded, e.g. WAVE chunks saved in a FLAC file cannot be restored when decoding to AIFF. Input and output must be regular files (not stdin or stdout).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--skip</option>={<replaceable>#</replaceable>|<replaceable>mm:ss.ss</replaceable>}</term>
- <listitem>
- <para>Skip over the first number of samples of the input. This works for both encoding and decoding, but not testing. The alternative form mm:ss.ss can be used to specify minutes, seconds, and fractions of a second.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--until</option>={<replaceable>#</replaceable>|[<replaceable>+</replaceable>|<replaceable>-</replaceable>]<replaceable>mm:ss.ss</replaceable>}</term>
- <listitem>
- <para>Stop at the given sample number for each input file. This works for both encoding and decoding, but not testing. The given sample number is not included in the decoded output. The alternative form mm:ss.ss can be used to specify minutes, seconds, and fractions of a second. If a `+' (plus) sign is at the beginning, the --until point is relative to the --skip point. If a `-' (minus) sign is at the beginning, the --until point is relative to end of the audio.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--ogg</option></term>
-
- <listitem>
- <para>When encoding, generate Ogg FLAC output instead of native FLAC. Ogg FLAC streams are FLAC streams wrapped in an Ogg transport layer. The resulting file should have an '.oga' extension and will still be decodable by flac.</para>
- <para>When decoding, force the input to be treated as Ogg FLAC. This is useful when piping input from stdin or when the filename does not end in '.oga' or '.ogg'.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--serial-number</option>=<replaceable>#</replaceable></term>
-
- <listitem>
- <para>When used with --ogg, specifies the serial number to use for the first Ogg FLAC stream, which is then incremented for each additional stream. When encoding and no serial number is given, flac uses a random number for the first stream, then increments it for each additional stream. When decoding and no number is given, flac uses the serial number of the first page.</para>
- </listitem>
- </varlistentry>
-
- </variablelist>
- </refsect2>
-
- <refsect2>
- <title>Analysis Options</title>
-
- <variablelist>
- <varlistentry>
- <term><option>--residual-text</option>
- </term>
- <listitem>
- <para>Includes the residual signal in the analysis file. This will make the file very big, much larger than even the decoded file.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--residual-gnuplot</option>
- </term>
- <listitem>
- <para>Generates a gnuplot file for every subframe; each file will contain the residual distribution of the subframe. This will create a lot of files.</para>
- </listitem>
- </varlistentry>
-
- </variablelist>
- </refsect2>
-
- <refsect2>
- <title>Decoding Options</title>
-
- <variablelist>
- <varlistentry>
- <term><option>--cue=[<replaceable>#.#</replaceable>][-[<replaceable>#.#</replaceable>]]</option></term>
- <listitem>
- <para>Set the beginning and ending cuepoints to decode. The optional first #.# is the track and index point at which decoding will start; the default is the beginning of the stream. The optional second #.# is the track and index point at which decoding will end; the default is the end of the stream. If the cuepoint does not exist, the closest one before it (for the start point) or after it (for the end point) will be used. If those don't exist, the start of the stream (for the start point) or end of the stream (for the end point) will be used. The cuepoints are merely translated into sample numbers then used as --skip and --until. A CD track can always be cued by, for example, --cue=9.1-10.1 for track 9, even if the CD has no 10th track.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-F</option>, <option>--decode-through-errors</option>
- </term>
- <listitem>
- <para>By default flac stops decoding with an error and removes the partially decoded file if it encounters a bitstream error. With -F, errors are still printed but flac will continue decoding to completion. Note that errors may cause the decoded audio to be missing some samples or have silent sections.</para>
- </listitem>
- </varlistentry>
-
- </variablelist>
- </refsect2>
-
- <refsect2>
- <title>Encoding Options</title>
-
- <variablelist>
- <varlistentry>
- <term><option>-V</option>, <option>--verify</option></term>
-
- <listitem>
- <para>Verify a correct encoding by decoding the output in parallel and comparing to the original</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--lax</option></term>
-
- <listitem>
- <para>Allow encoder to generate non-Subset files. The resulting FLAC file may not be streamable or might have trouble being played in all players (especially hardware devices), so you should only use this option in combination with custom encoding options meant for archival.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--replay-gain</option></term>
-
- <listitem>
- <para>Calculate ReplayGain values and store them as FLAC tags, similar to vorbisgain. Title gains/peaks will be computed for each input file, and an album gain/peak will be computed for all files. All input files must have the same resolution, sample rate, and number of channels. Only mono and stereo files are allowed, and the sample rate must be one of 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, or 48 kHz. Also note that this option may leave a few extra bytes in a PADDING block as the exact size of the tags is not known until all files are processed. Note that this option cannot be used when encoding to standard output (stdout).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--cuesheet</option>=<replaceable>filename</replaceable></term>
-
- <listitem>
- <para>Import the given cuesheet file and store it in a CUESHEET metadata block. This option may only be used when encoding a single file. A seekpoint will be added for each index point in the cuesheet to the SEEKTABLE unless --no-cued-seekpoints is specified.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--picture</option>={<replaceable>FILENAME</replaceable>|<replaceable>SPECIFICATION</replaceable>}</term>
-
- <listitem>
- <para>Import a picture and store it in a PICTURE metadata block. More than one --picture command can be specified. Either a filename for the picture file or a more complete specification form can be used. The SPECIFICATION is a string whose parts are separated by | (pipe) characters. Some parts may be left empty to invoke default values. FILENAME is just shorthand for "||||FILENAME". The format of SPECIFICATION is</para>
- <para>[TYPE]|[MIME-TYPE]|[DESCRIPTION]|[WIDTHxHEIGHTxDEPTH[/COLORS]]|FILE</para>
- <para>TYPE is optional; it is a number from one of:</para>
- <para>0: Other</para>
- <para>1: 32x32 pixels 'file icon' (PNG only)</para>
- <para>2: Other file icon</para>
- <para>3: Cover (front)</para>
- <para>4: Cover (back)</para>
- <para>5: Leaflet page</para>
- <para>6: Media (e.g. label side of CD)</para>
- <para>7: Lead artist/lead performer/soloist</para>
- <para>8: Artist/performer</para>
- <para>9: Conductor</para>
- <para>10: Band/Orchestra</para>
- <para>11: Composer</para>
- <para>12: Lyricist/text writer</para>
- <para>13: Recording Location</para>
- <para>14: During recording</para>
- <para>15: During performance</para>
- <para>16: Movie/video screen capture</para>
- <para>17: A bright coloured fish</para>
- <para>18: Illustration</para>
- <para>19: Band/artist logotype</para>
- <para>20: Publisher/Studio logotype</para>
- <para>The default is 3 (front cover). There may only be one picture each of type 1 and 2 in a file.</para>
-
- <para>MIME-TYPE is optional; if left blank, it will be detected from the file. For best compatibility with players, use pictures with MIME type image/jpeg or image/png. The MIME type can also be --&gt; to mean that FILE is actually a URL to an image, though this use is discouraged.</para>
-
- <para>DESCRIPTION is optional; the default is an empty string.</para>
-
- <para>The next part specfies the resolution and color information. If the MIME-TYPE is image/jpeg, image/png, or image/gif, you can usually leave this empty and they can be detected from the file. Otherwise, you must specify the width in pixels, height in pixels, and color depth in bits-per-pixel. If the image has indexed colors you should also specify the number of colors used. When manually specified, it is not checked against the file for accuracy.</para>
-
- <para>FILE is the path to the picture file to be imported, or the URL if MIME type is --&gt;</para>
-
- <para>For example, "|image/jpeg|||../cover.jpg" will embed the JPEG file at ../cover.jpg, defaulting to type 3 (front cover) and an empty description. The resolution and color info will be retrieved from the file itself.</para>
-
- <para>The specification "4|-->|CD|320x300x24/173|http://blah.blah/backcover.tiff" will embed the given URL, with type 4 (back cover), description "CD", and a manually specified resolution of 320x300, 24 bits-per-pixel, and 173 colors. The file at the URL will not be fetched; the URL itself is stored in the PICTURE metadata block.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--sector-align</option></term>
-
- <listitem>
- <para>Align encoding of multiple CD format files on sector boundaries. See the HTML documentation for more information.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-S</option> {<replaceable>#</replaceable>|<replaceable>X</replaceable>|<replaceable>#x</replaceable>|<replaceable>#s</replaceable>}, <option>--seekpoint</option>={<replaceable>#</replaceable>|<replaceable>X</replaceable>|<replaceable>#x</replaceable>|<replaceable>#s</replaceable>}</term>
-
- <listitem>
- <para>Include a point or points in a SEEKTABLE. Using #, a seek point at that sample number is added. Using X, a placeholder point is added at the end of a the table. Using #x, # evenly spaced seek points will be added, the first being at sample 0. Using #s, a seekpoint will be added every # seconds (# does not have to be a whole number; it can be, for example, 9.5, meaning a seekpoint every 9.5 seconds). You may use many -S options; the resulting SEEKTABLE will be the unique-ified union of all such values. With no -S options, flac defaults to '-S 10s'. Use --no-seektable for no SEEKTABLE. Note: '-S #x' and '-S #s' will not work if the encoder can't determine the input size before starting. Note: if you use '-S #' and # is >= samples in the input, there will be either no seek point entered (if the input size is determinable before encoding starts) or a placeholder point (if input size is not determinable).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-P</option> <replaceable>#</replaceable>, <option>--padding</option>=<replaceable>#</replaceable></term>
-
- <listitem>
- <para>Tell the encoder to write a PADDING metadata block of the given length (in bytes) after the STREAMINFO block. This is useful if you plan to tag the file later with an APPLICATION block; instead of having to rewrite the entire file later just to insert your block, you can write directly over the PADDING block. Note that the total length of the PADDING block will be 4 bytes longer than the length given because of the 4 metadata block header bytes. You can force no PADDING block at all to be written with --no-padding. The encoder writes a PADDING block of 8192 bytes by default (or 65536 bytes if the input audio stream is more that 20 minutes long).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-T</option> <replaceable>FIELD=VALUE</replaceable>, <option>--tag</option>=<replaceable>FIELD=VALUE</replaceable></term>
-
- <listitem>
- <para>Add a FLAC tag. The comment must adhere to the Vorbis comment spec; i.e. the FIELD must contain only legal characters, terminated by an 'equals' sign. Make sure to quote the comment if necessary. This option may appear more than once to add several comments. NOTE: all tags will be added to all encoded files.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--tag-from-file</option>=<replaceable>FIELD=FILENAME</replaceable></term>
-
- <listitem>
- <para>Like --tag, except FILENAME is a file whose contents will be read verbatim to set the tag value. The contents will be converted to UTF-8 from the local charset. This can be used to store a cuesheet in a tag (e.g. --tag-from-file="CUESHEET=image.cue"). Do not try to store binary data in tag fields! Use APPLICATION blocks for that.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-b</option> <replaceable>#</replaceable>, <option>--blocksize</option>=<replaceable>#</replaceable></term>
-
- <listitem>
- <para>Specify the block size in samples. Subset streams must use one of 192, 576, 1152, 2304, 4608, 256, 512, 1024, 2048, 4096 (and 8192 or 16384 if the sample rate is &gt;48kHz).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-m</option>, <option>--mid-side</option></term>
-
- <listitem>
- <para>Try mid-side coding for each frame (stereo input only)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-M</option>, <option>--adaptive-mid-side</option></term>
-
- <listitem>
- <para>Adaptive mid-side coding for all frames (stereo input only)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-0</option>..<option>-8</option>, <option>--compression-level-0</option>..<option>--compression-level-8</option></term>
-
- <listitem>
- <para>Fastest compression..highest compression (default is -5). These are synonyms for other options:</para>
-
- <variablelist>
- <varlistentry>
- <term><option>-0</option>, <option>--compression-level-0</option></term>
-
- <listitem>
- <para>Synonymous with -l 0 -b 1152 -r 3</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-1</option>, <option>--compression-level-1</option></term>
-
- <listitem>
- <para>Synonymous with -l 0 -b 1152 -M -r 3</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-2</option>, <option>--compression-level-2</option></term>
-
- <listitem>
- <para>Synonymous with -l 0 -b 1152 -m -r 3</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-3</option>, <option>--compression-level-3</option></term>
-
- <listitem>
- <para>Synonymous with -l 6 -b 4096 -r 4</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-4</option>, <option>--compression-level-4</option></term>
-
- <listitem>
- <para>Synonymous with -l 8 -b 4096 -M -r 4</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-5</option>, <option>--compression-level-5</option></term>
-
- <listitem>
- <para>Synonymous with -l 8 -b 4096 -m -r 5</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-6</option>, <option>--compression-level-6</option></term>
-
- <listitem>
- <para>Synonymous with -l 8 -b 4096 -m -r 6</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-7</option>, <option>--compression-level-7</option></term>
-
- <listitem>
- <para>Synonymous with -l 8 -b 4096 -m -e -r 6</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-8</option>, <option>--compression-level-8</option></term>
-
- <listitem>
- <para>Synonymous with -l 12 -b 4096 -m -e -r 6</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </listitem>
-
- </varlistentry>
-
- <varlistentry>
- <term><option>--fast</option></term>
-
- <listitem>
- <para>Fastest compression. Currently synonymous with -0.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--best</option></term>
-
- <listitem>
- <para>Highest compression. Currently synonymous with -8.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-e</option>, <option>--exhaustive-model-search</option></term>
-
- <listitem>
- <para>Do exhaustive model search (expensive!)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-A</option> <replaceable>function</replaceable>, <option>--apodization</option>=<replaceable>function</replaceable></term>
-
- <listitem>
- <para>Window audio data with given the apodization function. The functions are: bartlett, bartlett_hann, blackman, blackman_harris_4term_92db, connes, flattop, gauss(STDDEV), hamming, hann, kaiser_bessel, nuttall, rectangle, triangle, tukey(P), welch.</para>
- <para>For gauss(STDDEV), STDDEV is the standard deviation (0&lt;STDDEV&lt;=0.5).</para>
- <para>For tukey(P), P specifies the fraction of the window that is tapered (0&lt;=P&lt;=1; P=0 corresponds to "rectangle" and P=1 corresponds to "hann").</para>
- <para>More than one -A option (up to 32) may be used. Any function that is specified erroneously is silently dropped. The encoder chooses suitable defaults in the absence of any -A options; any -A option specified replaces the default(s).</para>
- <para>When more than one function is specified, then for every subframe the encoder will try each of them separately and choose the window that results in the smallest compressed subframe. Multiple functions can greatly increase the encoding time.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-l</option> <replaceable>#</replaceable>, <option>--max-lpc-order</option>=<replaceable>#</replaceable></term>
-
- <listitem>
- <para>Specifies the maximum LPC order. This number must be &lt;= 32. For Subset streams, it must be &lt;=12 if the sample rate is &lt;=48kHz. If 0, the encoder will not attempt generic linear prediction, and use only fixed predictors. Using fixed predictors is faster but usually results in files being 5-10% larger.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-p</option>, <option>--qlp-coeff-precision-search</option></term>
-
- <listitem>
- <para>Do exhaustive search of LP coefficient quantization (expensive!). Overrides -q; does nothing if using -l 0</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-q</option> <replaceable>#</replaceable>, <option>--qlp-coeff-precision</option>=<replaceable>#</replaceable></term>
-
- <listitem>
- <para>Precision of the quantized linear-predictor coefficients, 0 => let encoder decide (min is 5, default is 0)</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-r</option> [<replaceable>#</replaceable>,]<replaceable>#</replaceable>, <option>--rice-partition-order</option>=[<replaceable>#</replaceable>,]<replaceable>#</replaceable></term>
-
- <listitem>
- <para>Set the [min,]max residual partition order (0..16). min defaults to 0 if unspecified. Default is -r 5.</para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- </refsect2>
- <refsect2>
- <title>Format Options</title>
-
- <variablelist>
- <varlistentry>
- <term><option>--endian</option>={<replaceable>big</replaceable>|<replaceable>little</replaceable>}</term>
-
- <listitem>
- <para>Set the byte order for samples</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--channels</option>=<replaceable>#</replaceable></term>
-
- <listitem>
- <para>Set number of channels.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--bps</option>=<replaceable>#</replaceable></term>
-
- <listitem>
- <para>Set bits per sample.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--sample-rate</option>=<replaceable>#</replaceable></term>
-
- <listitem>
- <para>Set sample rate (in Hz).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--sign</option>={<replaceable>signed</replaceable>|<replaceable>unsigned</replaceable>}</term>
-
- <listitem>
- <para>Set the sign of samples (the default is signed).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--input-size</option>=<replaceable>#</replaceable></term>
-
- <listitem>
- <para>Specify the size of the raw input in bytes. If you are encoding raw samples from stdin, you must set this option in order to be able to use --skip, --until, --cue-sheet, or other options that need to know the size of the input beforehand. If the size given is greater than what is found in the input stream, the encoder will complain about an unexpected end-of-file. If the size given is less, samples will be truncated.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--force-aiff-format</option></term>
-
- <listitem>
- <para>Force the decoder to output AIFF format. This option is not needed if the output filename (as set by -o) ends with <filename>.aiff</filename>. Also, this option has no effect when encoding since input AIFF is auto-detected.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--force-raw-format</option></term>
-
- <listitem>
- <para>Force input (when encoding) or output (when decoding) to be treated as raw samples (even if filename ends in <filename>.wav</filename>).</para>
- </listitem>
- </varlistentry>
-
- </variablelist>
- </refsect2>
-
- <refsect2>
- <title>Negative Options</title>
-
- <variablelist>
- <varlistentry>
- <term><option>--no-adaptive-mid-side</option></term>
- <term><option>--no-decode-through-errors</option></term>
- <term><option>--no-delete-input-file</option></term>
- <term><option>--no-exhaustive-model-search</option></term>
- <term><option>--no-lax</option></term>
- <term><option>--no-mid-side</option></term>
- <term><option>--no-ogg</option></term>
- <term><option>--no-padding</option></term>
- <term><option>--no-qlp-coeff-precision-search</option></term>
- <term><option>--no-residual-gnuplot</option></term>
- <term><option>--no-residual-text</option></term>
- <term><option>--no-sector-align</option></term>
- <term><option>--no-seektable</option></term>
- <term><option>--no-silent</option></term>
- <term><option>--no-verify</option></term>
- <term><option>--no-warnings-as-errors</option></term>
- <listitem>
- <para>These flags can be used to invert the sense of the corresponding normal option.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </refsect2>
-
- </refsect1>
- <refsect1>
- <title>SEE ALSO</title>
-
- <para>metaflac(1).</para>
-
- <para>The programs are documented fully by HTML format documentation, available in <filename>/usr/share/doc/flac/html</filename> on &debian; systems.</para>
- </refsect1>
- <refsect1>
- <title>AUTHOR</title>
-
- <para>This manual page was written by &dhusername; &dhemail; for the &debian; system (but may be used by others).</para>
-
- <!-- <para>Permission is granted to copy, distribute and/or modify this document under the terms of the <acronym>GNU</acronym> Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the license can be found under <filename>/usr/share/common-licenses/FDL</filename>.</para> -->
-
- </refsect1>
-</refentry>
-
-<!-- Keep this comment at the end of the file
- Local variables:
- mode: sgml
- sgml-omittag:t
- sgml-shorttag:t
- sgml-minimize-attributes:nil
- sgml-always-quote-attributes:t
- sgml-indent-step:2
- sgml-indent-data:t
- sgml-parent-document:nil
- sgml-default-dtd-file:nil
- sgml-exposed-tags:nil
- sgml-local-catalogs:nil
- sgml-local-ecat-files:nil
- End:
- -->
diff --git a/3rdparty/libflac/man/metaflac.1 b/3rdparty/libflac/man/metaflac.1
index 9cc593d1df0..6c81fef2f08 100644
--- a/3rdparty/libflac/man/metaflac.1
+++ b/3rdparty/libflac/man/metaflac.1
@@ -1,299 +1,326 @@
-.\" This manpage has been automatically generated by docbook2man
-.\" from a DocBook document. This tool can be found at:
-.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>
-.\" Please send any bug reports, improvements, comments, patches,
-.\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "METAFLAC" "1" "14 September 2007" "" ""
-
+.\" Automatically generated by Pandoc 2.9.2.1
+.\"
+.TH "metaflac" "1" "" "Version 1.4.3" "Free Lossless Audio Codec metadata tool"
+.hy
.SH NAME
-metaflac \- program to list, add, remove, or edit metadata in one or more FLAC files.
+.PP
+metaflac - program to list, add, remove, or edit metadata in one or more
+FLAC files.
.SH SYNOPSIS
-
-\fBmetaflac\fR [ \fB\fIoptions\fB\fR ] [ \fB\fIoperations\fB\fR ] \fB\fIFLACfile\fB\fR\fI ...\fR
-
-.SH "DESCRIPTION"
.PP
-Use \fBmetaflac\fR to list, add, remove, or edit
-metadata in one or more FLAC files. You may perform one major operation,
-or many shorthand operations at a time.
-.SH "OPTIONS"
+\f[B]metaflac\f[R] [ \f[I]options\f[R] ] [ \f[I]operations\f[R] ]
+\f[I]FLACfile \&...\f[R]
+.SH DESCRIPTION
+.PP
+Use \f[B]metaflac\f[R] to list, add, remove, or edit metadata in one or
+more FLAC files.
+You may perform one major operation, or many shorthand operations at a
+time.
+.SH GENERAL USAGE
+.PP
+metaflac is the command-line .flac file metadata editor.
+You can use it to list the contents of metadata blocks, edit, delete or
+insert blocks, and manage padding.
+.PP
+metaflac takes a set of \[lq]options\[rq] (though some are not optional)
+and a set of FLAC files to operate on.
+There are three kinds of \[lq]options\[rq]:
+.IP \[bu] 2
+Major operations, which specify a mode of operation like listing blocks,
+removing blocks, etc.
+These will have sub-operations describing exactly what is to be done.
+.IP \[bu] 2
+Shorthand operations, which are convenient synonyms for major
+operations.
+For example, there is a shorthand operation \[en]show-sample-rate that
+shows just the sample rate field from the STREAMINFO metadata block.
+.IP \[bu] 2
+Global options, which affect all the operations.
+.PP
+All of these are described in the tables below.
+At least one shorthand or major operation must be supplied.
+You can use multiple shorthand operations to do more than one thing to a
+file or set of files.
+Most of the common things to do to metadata have shorthand operations.
+As an example, here is how to show the MD5 signatures for a set of three
+FLAC files:
+.PP
+\f[C]metaflac --show-md5sum file1.flac file2.flac file3.flac\f[R]
+.PP
+Another example; this removes all DESCRIPTION and COMMENT tags in a set
+of FLAC files, and uses the \[en]preserve-modtime global option to keep
+the FLAC file modification times the same (usually when files are edited
+the modification time is set to the current time):
+.PP
+\f[C]metaflac --preserve-modtime --remove-tag=DESCRIPTION --remove-tag=COMMENT file1.flac file2.flac file3.flac\f[R]
+.SH OPTIONS
.TP
-\fB--preserve-modtime\fR
+\f[B]--preserve-modtime\f[R]
Preserve the original modification time in spite of edits.
.TP
-\fB--with-filename\fR
-Prefix each output line with the FLAC file name (the default if
-more than one FLAC file is specified).
+\f[B]--with-filename\f[R]
+Prefix each output line with the FLAC file name (the default if more
+than one FLAC file is specified).
+This option has no effect for options exporting to a file, like
+\[en]export-tags-to.
.TP
-\fB--no-filename\fR
-Do not prefix each output line with the FLAC file name (the default
-if only one FLAC file is specified).
+\f[B]--no-filename\f[R]
+Do not prefix each output line with the FLAC file name (the default if
+only one FLAC file is specified).
.TP
-\fB--no-utf8-convert\fR
-Do not convert tags from UTF-8 to local charset, or vice versa. This is
-useful for scripts, and setting tags in situations where the locale is wrong.
+\f[B]--no-utf8-convert\f[R]
+Do not convert tags from UTF-8 to local charset, or vice versa.
+This is useful for scripts, and setting tags in situations where the
+locale is wrong.
.TP
-\fB--dont-use-padding\fR
+\f[B]--dont-use-padding\f[R]
By default metaflac tries to use padding where possible to avoid
-rewriting the entire file if the metadata size changes. Use this
-option to tell metaflac to not take advantage of padding this way.
-.SH "SHORTHAND OPERATIONS"
+rewriting the entire file if the metadata size changes.
+Use this option to tell metaflac to not take advantage of padding this
+way.
+.SH SHORTHAND OPERATIONS
.TP
-\fB--show-md5sum\fR
+\f[B]--show-md5sum\f[R]
Show the MD5 signature from the STREAMINFO block.
.TP
-\fB--show-min-blocksize\fR
+\f[B]--show-min-blocksize\f[R]
Show the minimum block size from the STREAMINFO block.
.TP
-\fB--show-max-blocksize\fR
+\f[B]--show-max-blocksize\f[R]
Show the maximum block size from the STREAMINFO block.
.TP
-\fB--show-min-framesize\fR
+\f[B]--show-min-framesize\f[R]
Show the minimum frame size from the STREAMINFO block.
.TP
-\fB--show-max-framesize\fR
+\f[B]--show-max-framesize\f[R]
Show the maximum frame size from the STREAMINFO block.
.TP
-\fB--show-sample-rate\fR
+\f[B]--show-sample-rate\f[R]
Show the sample rate from the STREAMINFO block.
.TP
-\fB--show-channels\fR
+\f[B]--show-channels\f[R]
Show the number of channels from the STREAMINFO block.
.TP
-\fB--show-bps\fR
+\f[B]--show-bps\f[R]
Show the # of bits per sample from the STREAMINFO block.
.TP
-\fB--show-total-samples\fR
+\f[B]--show-total-samples\f[R]
Show the total # of samples from the STREAMINFO block.
.TP
-\fB--show-vendor-tag\fR
+\f[B]--show-vendor-tag\f[R]
Show the vendor string from the VORBIS_COMMENT block.
.TP
-\fB--show-tag=name\fR
-Show all tags where the the field name matches 'name'.
+\f[B]--show-tag=name\f[R]
+Show all tags where the field name matches `name'.
.TP
-\fB--remove-tag=name\fR
-Remove all tags whose field name is 'name'.
+\f[B]--show-all-tags\f[R]
+Show all tags.
+This is an alias for \[en]export-tags-to=-.
.TP
-\fB--remove-first-tag=name\fR
-Remove first tag whose field name is 'name'.
+\f[B]--remove-tag=name\f[R]
+Remove all tags whose field name is `name'.
.TP
-\fB--remove-all-tags\fR
+\f[B]--remove-first-tag=name\f[R]
+Remove first tag whose field name is `name'.
+.TP
+\f[B]--remove-all-tags\f[R]
Remove all tags, leaving only the vendor string.
.TP
-\fB--set-tag=field\fR
-Add a tag. The field must comply with the
-Vorbis comment spec, of the form "NAME=VALUE". If there is
-currently no tag block, one will be created.
-.TP
-\fB--set-tag-from-file=field\fR
-Like --set-tag, except the VALUE is a filename whose
-contents will be read verbatim to set the tag value.
-Unless --no-utf8-convert is specified, the contents will be
-converted to UTF-8 from the local charset. This can be used
-to store a cuesheet in a tag (e.g.
---set-tag-from-file="CUESHEET=image.cue"). Do not try to
-store binary data in tag fields! Use APPLICATION blocks for
-that.
-.TP
-\fB--import-tags-from=file\fR
-Import tags from a file. Use '-' for stdin. Each
-line should be of the form NAME=VALUE. Multi-line comments
-are currently not supported. Specify --remove-all-tags and/or
---no-utf8-convert before --import-tags-from if necessary. If
-FILE is '-' (stdin), only one FLAC file may be specified.
-.TP
-\fB--export-tags-to=file\fR
-Export tags to a file. Use '-' for stdout. Each
-line will be of the form NAME=VALUE. Specify
---no-utf8-convert if necessary.
-.TP
-\fB--import-cuesheet-from=file\fR
-Import a cuesheet from a file. Use '-' for stdin. Only one
-FLAC file may be specified. A seekpoint will be added for each
-index point in the cuesheet to the SEEKTABLE unless
---no-cued-seekpoints is specified.
-.TP
-\fB--export-cuesheet-to=file\fR
-Export CUESHEET block to a cuesheet file, suitable for use by
-CD authoring software. Use '-' for stdout. Only one FLAC file
-may be specified on the command line.
-.TP
-\fB--import-picture-from={\fIFILENAME\fB|\fISPECIFICATION\fB}\fR
-Import a picture and store it in a PICTURE metadata block. More than one --import-picture-from command can be specified. Either a filename for the picture file or a more complete specification form can be used. The SPECIFICATION is a string whose parts are separated by | (pipe) characters. Some parts may be left empty to invoke default values. FILENAME is just shorthand for "||||FILENAME". The format of SPECIFICATION is
-
-[TYPE]|[MIME-TYPE]|[DESCRIPTION]|[WIDTHxHEIGHTxDEPTH[/COLORS]]|FILE
-
-TYPE is optional; it is a number from one of:
-
-0: Other
-
-1: 32x32 pixels 'file icon' (PNG only)
-
-2: Other file icon
-
-3: Cover (front)
-
-4: Cover (back)
-
-5: Leaflet page
-
-6: Media (e.g. label side of CD)
-
-7: Lead artist/lead performer/soloist
-
-8: Artist/performer
-
-9: Conductor
-
-10: Band/Orchestra
-
-11: Composer
-
-12: Lyricist/text writer
-
-13: Recording Location
-
-14: During recording
-
-15: During performance
-
-16: Movie/video screen capture
-
-17: A bright coloured fish
-
-18: Illustration
-
-19: Band/artist logotype
-
-20: Publisher/Studio logotype
-
-The default is 3 (front cover). There may only be one picture each of type 1 and 2 in a file.
-
-MIME-TYPE is optional; if left blank, it will be detected from the file. For best compatibility with players, use pictures with MIME type image/jpeg or image/png. The MIME type can also be --> to mean that FILE is actually a URL to an image, though this use is discouraged.
-
-DESCRIPTION is optional; the default is an empty string.
-
-The next part specfies the resolution and color information. If the MIME-TYPE is image/jpeg, image/png, or image/gif, you can usually leave this empty and they can be detected from the file. Otherwise, you must specify the width in pixels, height in pixels, and color depth in bits-per-pixel. If the image has indexed colors you should also specify the number of colors used. When manually specified, it is not checked against the file for accuracy.
-
-FILE is the path to the picture file to be imported, or the URL if MIME type is -->
-
-For example, "|image/jpeg|||../cover.jpg" will embed the JPEG file at ../cover.jpg, defaulting to type 3 (front cover) and an empty description. The resolution and color info will be retrieved from the file itself.
-
-The specification "4|-->|CD|320x300x24/173|http://blah.blah/backcover.tiff" will embed the given URL, with type 4 (back cover), description "CD", and a manually specified resolution of 320x300, 24 bits-per-pixel, and 173 colors. The file at the URL will not be fetched; the URL itself is stored in the PICTURE metadata block.
-.TP
-\fB--export-picture-to=file\fR
-Export PICTURE block to a file. Use '-' for stdout. Only one FLAC file may be specified on the command line. The first PICTURE block will be exported unless --export-picture-to is preceded by a --block-number=# option to specify the exact metadata block to extract. Note that the block number is the one shown by --list.
-.TP
-\fB--add-replay-gain\fR
-Calculates the title and album gains/peaks of the given FLAC
-files as if all the files were part of one album, then stores
-them as FLAC tags. The tags are the same as
-those used by vorbisgain. Existing ReplayGain tags will be
-replaced. If only one FLAC file is given, the album and title
-gains will be the same. Since this operation requires two
-passes, it is always executed last, after all other operations
-have been completed and written to disk. All FLAC files
-specified must have the same resolution, sample rate, and
-number of channels. The sample rate must be one of 8, 11.025,
-12, 16, 22.05, 24, 32, 44.1, or 48 kHz.
-.TP
-\fB--remove-replay-gain\fR
+\f[B]--remove-all-tags-except=NAME1[=NAME2[=\&...]]\f[R]
+Remove all tags, except the vendor string and the tag names specified.
+Tag names must be separated by an = character.
+.TP
+\f[B]--set-tag=field\f[R]
+Add a tag.
+The field must comply with the Vorbis comment spec, of the form
+\[lq]NAME=VALUE\[rq].
+If there is currently no tag block, one will be created.
+.TP
+\f[B]--set-tag-from-file=field\f[R]
+Like --set-tag, except the VALUE is a filename whose contents will be
+read verbatim to set the tag value.
+Unless --no-utf8-convert is specified, the contents will be converted to
+UTF-8 from the local charset.
+This can be used to store a cuesheet in a tag (e.g.
+--set-tag-from-file=\[lq]CUESHEET=image.cue\[rq]).
+Do not try to store binary data in tag fields! Use APPLICATION blocks
+for that.
+.TP
+\f[B]--import-tags-from=file\f[R]
+Import tags from a file.
+Use `-' for stdin.
+Each line should be of the form NAME=VALUE.
+Multi-line comments are currently not supported.
+Specify --remove-all-tags and/or --no-utf8-convert before
+--import-tags-from if necessary.
+If FILE is `-' (stdin), only one FLAC file may be specified.
+.TP
+\f[B]--export-tags-to=file\f[R]
+Export tags to a file.
+Use `-' for stdout.
+Each line will be of the form NAME=VALUE.
+Specify --no-utf8-convert if necessary.
+.TP
+\f[B]--import-cuesheet-from=file\f[R]
+Import a cuesheet from a file.
+Use `-' for stdin.
+Only one FLAC file may be specified.
+A seekpoint will be added for each index point in the cuesheet to the
+SEEKTABLE unless --no-cued-seekpoints is specified.
+.TP
+\f[B]--export-cuesheet-to=file\f[R]
+Export CUESHEET block to a cuesheet file, suitable for use by CD
+authoring software.
+Use `-' for stdout.
+Only one FLAC file may be specified on the command line.
+.TP
+\f[B]--import-picture-from={\f[R]\f[I]FILENAME\f[R]\f[B]|\f[R]\f[I]SPECIFICATION\f[R]\f[B]}\f[R]
+Import a picture and store it in a PICTURE metadata block.
+More than one --import-picture-from command can be specified.
+Either a filename for the picture file or a more complete specification
+form can be used.
+The SPECIFICATION is a string whose parts are separated by | (pipe)
+characters.
+Some parts may be left empty to invoke default values.
+FILENAME is just shorthand for \[lq]||||FILENAME\[rq].
+For details on the specification, see the section \f[B]Picture
+specification\f[R] in the \f[B]flac(1)\f[R] man page.
+.TP
+\f[B]--export-picture-to=file\f[R]
+Export PICTURE block to a file.
+Use `-' for stdout.
+Only one FLAC file may be specified on the command line.
+The first PICTURE block will be exported unless --export-picture-to is
+preceded by a --block-number=# option to specify the exact metadata
+block to extract.
+Note that the block number is the one shown by --list.
+.TP
+\f[B]--add-replay-gain\f[R]
+Calculates the title and album gains/peaks of the given FLAC files as if
+all the files were part of one album, then stores them as FLAC tags.
+The tags are the same as those used by vorbisgain.
+Existing ReplayGain tags will be replaced.
+If only one FLAC file is given, the album and title gains will be the
+same.
+Since this operation requires two passes, it is always executed last,
+after all other operations have been completed and written to disk.
+All FLAC files specified must have the same resolution, sample rate, and
+number of channels.
+Only mono and stereo files are allowed, and the sample rate must be 8,
+11.025, 12, 16, 18.9, 22.05, 24, 28, 32, 36, 37.8, 44.1, 48, 56, 64, 72,
+75.6, 88.2, 96, 112, 128, 144, 151.2, 176.4, 192, 224, 256, 288, 302.4,
+352.8, 384, 448, 512, 576, or 604.8 kHz.
+.TP
+\f[B]--scan-replay-gain\f[R]
+Like --add-replay-gain, but only analyzes the files rather than writing
+them to the tags.
+.TP
+\f[B]--remove-replay-gain\f[R]
Removes the ReplayGain tags.
.TP
-\fB--add-seekpoint={\fI#\fB|\fIX\fB|\fI#x\fB|\fI#s\fB}\fR
-Add seek points to a SEEKTABLE block. Using #, a seek point at
-that sample number is added. Using X, a placeholder point is
-added at the end of a the table. Using #x, # evenly spaced seek
-points will be added, the first being at sample 0. Using #s, a
-seekpoint will be added every # seconds (# does not have to be a
-whole number; it can be, for example, 9.5, meaning a seekpoint
-every 9.5 seconds). If no SEEKTABLE block exists, one will be
-created. If one already exists, points will be added to the
-existing table, and any duplicates will be turned into placeholder
-points. You may use many --add-seekpoint options; the resulting
-SEEKTABLE will be the unique-ified union of all such values.
-Example: --add-seekpoint=100x --add-seekpoint=3.5s will add 100
-evenly spaced seekpoints and a seekpoint every 3.5 seconds.
-.TP
-\fB--add-padding=length\fR
-Add a padding block of the given length (in bytes). The overall
-length of the new block will be 4 + length; the extra 4 bytes is
-for the metadata block header.
-.SH "MAJOR OPERATIONS"
-.TP
-\fB--list\fR
-List the contents of one or more metadata blocks to stdout. By
-default, all metadata blocks are listed in text format. Use the
-following options to change this behavior:
-.RS
-.TP
-\fB--block-number=#[,#[...]]\fR
-An optional comma-separated list of block numbers to display.
-The first block, the STREAMINFO block, is block 0.
-.TP
-\fB--block-type=type[,type[...]]\fR
-.TP
-\fB--except-block-type=type[,type[...]]\fR
-An optional comma-separated list of block types to be included
-or ignored with this option. Use only one of --block-type or
---except-block-type. The valid block types are: STREAMINFO,
-PADDING, APPLICATION, SEEKTABLE, VORBIS_COMMENT. You may
-narrow down the types of APPLICATION blocks displayed as
-follows:
-
-APPLICATION:abcd The APPLICATION block(s) whose textual repre-
-sentation of the 4-byte ID is "abcd"
-APPLICATION:0xXXXXXXXX The APPLICATION block(s) whose hexadecimal big-
-endian representation of the 4-byte ID is
-"0xXXXXXXXX". For the example "abcd" above the
-hexadecimal equivalalent is 0x61626364
-.sp
-.RS
-.B "Note:"
-if both --block-number and --[except-]block-type are
-specified, the result is the logical AND of both
-arguments.
-.RE
-.TP
-\fB--application-data-format=hexdump|text\fR
-If the application block you are displaying contains binary
-data but your --data-format=text, you can display a hex dump
-of the application data contents instead using
---application-data-format=hexdump.
-.RE
-.TP
-\fB--remove\fR
-Remove one or more metadata blocks from the metadata. Unless
---dont-use-padding is specified, the blocks will be replaced with
-padding. You may not remove the STREAMINFO block.
-.RS
-.TP
-\fB--block-number=#[,#[...]]\fR
-.TP
-\fB--block-type=type[,type[...]]\fR
-.TP
-\fB--except-block-type=type[,type[...]]\fR
-See --list above for usage.
-.sp
-.RS
-.B "Note:"
-if both --block-number and --[except-]block-type are
+\f[B]--add-seekpoint={\f[R]\f[I]#\f[R]\f[B]|\f[R]\f[I]X\f[R]\f[B]|\f[R]\f[I]#x\f[R]\f[B]|\f[R]\f[I]#s\f[R]\f[B]}\f[R]
+Add seek points to a SEEKTABLE block.
+Using #, a seek point at that sample number is added.
+Using X, a placeholder point is added at the end of a the table.
+Using #x, # evenly spaced seek points will be added, the first being at
+sample 0.
+Using #s, a seekpoint will be added every # seconds (# does not have to
+be a whole number; it can be, for example, 9.5, meaning a seekpoint
+every 9.5 seconds).
+If no SEEKTABLE block exists, one will be created.
+If one already exists, points will be added to the existing table, and
+any duplicates will be turned into placeholder points.
+You may use many --add-seekpoint options; the resulting SEEKTABLE will
+be the unique-ified union of all such values.
+Example: --add-seekpoint=100x --add-seekpoint=3.5s will add 100 evenly
+spaced seekpoints and a seekpoint every 3.5 seconds.
+.TP
+\f[B]--add-padding=length\f[R]
+Add a padding block of the given length (in bytes).
+The overall length of the new block will be 4 + length; the extra 4
+bytes is for the metadata block header.
+.SH MAJOR OPERATIONS
+.TP
+\f[B]--list\f[R]
+List the contents of one or more metadata blocks to stdout.
+By default, all metadata blocks are listed in text format.
+Use the options \f[B]--block-number\f[R], \f[B]--block-type\f[R] or
+\f[B]--except-block-type\f[R] to change this behavior.
+.TP
+\f[B]--remove\f[R]
+Remove one or more metadata blocks from the metadata.
+Use the options \f[B]--block-number\f[R], \f[B]--block-type\f[R] or
+\f[B]--except-block-type\f[R] to specify which blocks should be removed.
+Note that if both --block-number and --[except-]block-type are
specified, the result is the logical AND of both arguments.
-.RE
-.RE
+Unless --dont-use-padding is specified, the blocks will be replaced with
+padding.
+You may not remove the STREAMINFO block.
.TP
-\fB--remove-all\fR
+\f[B]--block-number=#[,#[\&...]]\f[R]
+An optional comma-separated list of block numbers to display.
+The first block, the STREAMINFO block, is block 0.
+.PP
+\f[B]--block-type=type[,type[\&...]]\f[R]
+.TP
+\f[B]--except-block-type=type[,type[\&...]]\f[R]
+An optional comma-separated list of block types to be included or
+ignored with this option.
+Use only one of --block-type or --except-block-type.
+The valid block types are: STREAMINFO, PADDING, APPLICATION, SEEKTABLE,
+VORBIS_COMMENT, PICTURE.
+You may narrow down the types of APPLICATION blocks selected by
+appending APPLICATION with a colon and the ID of the APPLICATION block
+in either ASCII or hexadecimal representation.
+E.g.
+APPLICATION:abcd for the APPLICATION block(s) whose textual
+representation of the 4-byte ID is \[lq]abcd\[rq] or
+APPLICATION:0xXXXXXXXX for the APPLICATION block(s) whose hexadecimal
+big- endian representation of the 4-byte ID is \[lq]0xXXXXXXXX\[rq].
+For the example \[lq]abcd\[rq] above the hexadecimal equivalalent is
+0x61626364
+.TP
+\f[B]--application-data-format=hexdump|text\f[R]
+If the application block you are displaying contains binary data but
+your --data-format=text, you can display a hex dump of the application
+data contents instead using --application-data-format=hexdump.
+.TP
+\f[B]--data-format=binary|binary-headerless|text\f[R]
+For use with \[en]list.
+By default a human-readable text representation of the data is isplayed.
+You may specify \[en]data-format=binary to dump the raw binary form of
+each metadata block.
+Specify \[en]data-format=binary-headerless to omit output of metadata
+block headers, including the id of APPLICATION metadata blocks.
+.TP
+\f[B]--append\f[R]
+Insert a metadata block from a file.
+This must be a binary block as exported with \[en]list
+\[en]data-format=binary.
+The insertion point is defined with \[en]block-number=#.
+The new block will be added after the given block number.
+This prevents the illegal insertion of a block before the first
+STREAMINFO block.
+You may not \[en]append another STREAMINFO block.
+It is possible to copy a metadata block from one file to another with
+this option.
+For example use
+\f[C]metaflac --list --data-format=binary --block-number=6 file.flac > block\f[R]
+to export the block, and then import it with
+\f[C]metaflac --append anotherfile.flac < block\f[R]
+.TP
+\f[B]--remove-all\f[R]
Remove all metadata blocks (except the STREAMINFO block) from the
-metadata. Unless --dont-use-padding is specified, the blocks will
-be replaced with padding.
+metadata.
+Unless --dont-use-padding is specified, the blocks will be replaced with
+padding.
.TP
-\fB--merge-padding\fR
+\f[B]--merge-padding\f[R]
Merge adjacent PADDING blocks into single blocks.
.TP
-\fB--sort-padding\fR
-Move all PADDING blocks to the end of the metadata and merge them
-into a single block.
-.SH "SEE ALSO"
+\f[B]--sort-padding\f[R]
+Move all PADDING blocks to the end of the metadata and merge them into a
+single block.
+.SH SEE ALSO
.PP
-flac(1).
+\f[B]flac(1)\f[R]
diff --git a/3rdparty/libflac/man/metaflac.md b/3rdparty/libflac/man/metaflac.md
new file mode 100644
index 00000000000..8c049d743fa
--- /dev/null
+++ b/3rdparty/libflac/man/metaflac.md
@@ -0,0 +1,299 @@
+% metaflac(1) Version 1.4.3 | Free Lossless Audio Codec metadata tool
+
+# NAME
+
+metaflac - program to list, add, remove, or edit metadata in one or more
+FLAC files.
+
+# SYNOPSIS
+
+**metaflac** \[ *options* \] \[ *operations* \] *FLACfile ...*
+
+# DESCRIPTION
+
+Use **metaflac** to list, add, remove, or edit metadata in one or more
+FLAC files. You may perform one major operation, or many shorthand
+operations at a time.
+
+# GENERAL USAGE
+
+metaflac is the command-line .flac file metadata editor. You can use it
+to list the contents of metadata blocks, edit, delete or insert blocks,
+and manage padding.
+
+metaflac takes a set of "options" (though some are not optional) and a
+set of FLAC files to operate on. There are three kinds of "options":
+
+- Major operations, which specify a mode of operation like listing
+ blocks, removing blocks, etc. These will have sub-operations describing
+ exactly what is to be done.
+
+- Shorthand operations, which are convenient synonyms for major
+ operations. For example, there is a shorthand operation
+ --show-sample-rate that shows just the sample rate field from the
+ STREAMINFO metadata block.
+
+- Global options, which affect all the operations.
+
+All of these are described in the tables below. At least one shorthand
+or major operation must be supplied. You can use multiple shorthand
+operations to do more than one thing to a file or set of files. Most of
+the common things to do to metadata have shorthand operations. As an
+example, here is how to show the MD5 signatures for a set of three FLAC
+files:
+
+`metaflac --show-md5sum file1.flac file2.flac file3.flac`
+
+Another example; this removes all DESCRIPTION and COMMENT tags in a set
+of FLAC files, and uses the --preserve-modtime global option to keep the
+FLAC file modification times the same (usually when files are edited the
+modification time is set to the current time):
+
+`metaflac --preserve-modtime --remove-tag=DESCRIPTION --remove-tag=COMMENT file1.flac file2.flac file3.flac`
+
+# OPTIONS
+
+**\--preserve-modtime**
+: Preserve the original modification time in spite of edits.
+
+**\--with-filename**
+: Prefix each output line with the FLAC file name (the default if more
+ than one FLAC file is specified). This option has no effect for
+ options exporting to a file, like --export-tags-to.
+
+**\--no-filename**
+: Do not prefix each output line with the FLAC file name (the default
+ if only one FLAC file is specified).
+
+**\--no-utf8-convert**
+: Do not convert tags from UTF-8 to local charset, or vice versa. This
+ is useful for scripts, and setting tags in situations where the
+ locale is wrong.
+
+**\--dont-use-padding**
+: By default metaflac tries to use padding where possible to avoid
+ rewriting the entire file if the metadata size changes. Use this
+ option to tell metaflac to not take advantage of padding this way.
+
+# SHORTHAND OPERATIONS
+
+**\--show-md5sum**
+: Show the MD5 signature from the STREAMINFO block.
+
+**\--show-min-blocksize**
+: Show the minimum block size from the STREAMINFO block.
+
+**\--show-max-blocksize**
+: Show the maximum block size from the STREAMINFO block.
+
+**\--show-min-framesize**
+: Show the minimum frame size from the STREAMINFO block.
+
+**\--show-max-framesize**
+: Show the maximum frame size from the STREAMINFO block.
+
+**\--show-sample-rate**
+: Show the sample rate from the STREAMINFO block.
+
+**\--show-channels**
+: Show the number of channels from the STREAMINFO block.
+
+**\--show-bps**
+: Show the \# of bits per sample from the STREAMINFO block.
+
+**\--show-total-samples**
+: Show the total \# of samples from the STREAMINFO block.
+
+**\--show-vendor-tag**
+: Show the vendor string from the VORBIS_COMMENT block.
+
+**\--show-tag=name**
+: Show all tags where the field name matches 'name'.
+
+**\--show-all-tags**
+: Show all tags. This is an alias for --export-tags-to=-.
+
+**\--remove-tag=name**
+: Remove all tags whose field name is 'name'.
+
+**\--remove-first-tag=name**
+: Remove first tag whose field name is 'name'.
+
+**\--remove-all-tags**
+: Remove all tags, leaving only the vendor string.
+
+**\--remove-all-tags-except=NAME1\[=NAME2\[=...\]\]**
+: Remove all tags, except the vendor string and the tag names
+ specified. Tag names must be separated by an = character.
+
+**\--set-tag=field**
+: Add a tag. The field must comply with the Vorbis comment spec, of the
+ form "NAME=VALUE". If there is currently no tag block, one will be
+ created.
+
+**\--set-tag-from-file=field**
+: Like \--set-tag, except the VALUE is a filename whose contents will
+ be read verbatim to set the tag value. Unless \--no-utf8-convert is
+ specified, the contents will be converted to UTF-8 from the local
+ charset. This can be used to store a cuesheet in a tag (e.g.
+ \--set-tag-from-file="CUESHEET=image.cue"). Do not try to store
+ binary data in tag fields! Use APPLICATION blocks for that.
+
+**\--import-tags-from=file**
+: Import tags from a file. Use '-' for stdin. Each line should be of
+ the form NAME=VALUE. Multi-line comments are currently not supported.
+ Specify \--remove-all-tags and/or \--no-utf8-convert before
+ \--import-tags-from if necessary. If FILE is '-' (stdin), only one
+ FLAC file may be specified.
+
+**\--export-tags-to=file**
+: Export tags to a file. Use '-' for stdout. Each line will be of the
+ form NAME=VALUE. Specify \--no-utf8-convert if necessary.
+
+**\--import-cuesheet-from=file**
+: Import a cuesheet from a file. Use '-' for stdin. Only one FLAC file
+ may be specified. A seekpoint will be added for each index point in
+ the cuesheet to the SEEKTABLE unless \--no-cued-seekpoints is
+ specified.
+
+**\--export-cuesheet-to=file**
+: Export CUESHEET block to a cuesheet file, suitable for use by CD
+ authoring software. Use '-' for stdout. Only one FLAC file may be
+ specified on the command line.
+
+**\--import-picture-from={***FILENAME***\|***SPECIFICATION***}**
+: Import a picture and store it in a PICTURE metadata block. More than
+ one \--import-picture-from command can be specified. Either a filename
+ for the picture file or a more complete specification form can be
+ used. The SPECIFICATION is a string whose parts are separated by \|
+ (pipe) characters. Some parts may be left empty to invoke default
+ values. FILENAME is just shorthand for "\|\|\|\|FILENAME". For
+ details on the specification, see the section **Picture
+ specification** in the **flac(1)** man page.
+
+**\--export-picture-to=file**
+: Export PICTURE block to a file. Use '-' for stdout. Only one FLAC
+ file may be specified on the command line. The first PICTURE block
+ will be exported unless \--export-picture-to is preceded by a
+ \--block-number=# option to specify the exact metadata block to
+ extract. Note that the block number is the one shown by \--list.
+
+**\--add-replay-gain**
+: Calculates the title and album gains/peaks of the given FLAC files as
+ if all the files were part of one album, then stores them as FLAC
+ tags. The tags are the same as those used by vorbisgain. Existing
+ ReplayGain tags will be replaced. If only one FLAC file is given,
+ the album and title gains will be the same. Since this operation
+ requires two passes, it is always executed last, after all other
+ operations have been completed and written to disk. All FLAC files
+ specified must have the same resolution, sample rate, and number of
+ channels. Only mono and stereo files are allowed, and the sample
+ rate must be 8, 11.025, 12, 16, 18.9, 22.05, 24, 28, 32, 36, 37.8,
+ 44.1, 48, 56, 64, 72, 75.6, 88.2, 96, 112, 128, 144, 151.2, 176.4,
+ 192, 224, 256, 288, 302.4, 352.8, 384, 448, 512, 576, or 604.8 kHz.
+
+**\--scan-replay-gain**
+: Like \--add-replay-gain, but only analyzes the files rather than
+ writing them to the tags.
+
+**\--remove-replay-gain**
+: Removes the ReplayGain tags.
+
+**\--add-seekpoint={***\#***\|***X***\|***\#x***\|***\#s***}**
+: Add seek points to a SEEKTABLE block. Using \#, a seek point at that
+ sample number is added. Using X, a placeholder point is added at the
+ end of a the table. Using \#x, \# evenly spaced seek points will be
+ added, the first being at sample 0. Using \#s, a seekpoint will be
+ added every \# seconds (# does not have to be a whole number; it can
+ be, for example, 9.5, meaning a seekpoint every 9.5 seconds). If no
+ SEEKTABLE block exists, one will be created. If one already exists,
+ points will be added to the existing table, and any duplicates will
+ be turned into placeholder points. You may use many \--add-seekpoint
+ options; the resulting SEEKTABLE will be the unique-ified union of
+ all such values. Example: \--add-seekpoint=100x \--add-seekpoint=3.5s
+ will add 100 evenly spaced seekpoints and a seekpoint every 3.5
+ seconds.
+
+**\--add-padding=length**
+: Add a padding block of the given length (in bytes). The overall
+ length of the new block will be 4 + length; the extra 4 bytes is for
+ the metadata block header.
+
+# MAJOR OPERATIONS
+
+**\--list**
+: List the contents of one or more metadata blocks to stdout. By
+ default, all metadata blocks are listed in text format. Use the
+ options **\--block-number**, **\--block-type** or
+ **\--except-block-type** to change this behavior.
+
+**\--remove**
+: Remove one or more metadata blocks from the metadata. Use the options
+ **\--block-number**, **\--block-type** or **\--except-block-type**
+ to specify which blocks should be removed. Note that if both
+ \--block-number and \--[except-]block-type are specified, the result
+ is the logical AND of both arguments. Unless \--dont-use-padding
+ is specified, the blocks will be replaced with padding. You may not
+ remove the STREAMINFO block.
+
+**\--block-number=#\[,#\[...\]\]**
+: An optional comma-separated list of block numbers to display. The
+ first block, the STREAMINFO block, is block 0.
+
+**\--block-type=type\[,type\[...\]\]**
+
+**\--except-block-type=type\[,type\[...\]\]**
+: An optional comma-separated list of block types to be included or
+ ignored with this option. Use only one of \--block-type or
+ \--except-block-type. The valid block types are: STREAMINFO, PADDING,
+ APPLICATION, SEEKTABLE, VORBIS_COMMENT, PICTURE. You may narrow down
+ the types of APPLICATION blocks selected by appending APPLICATION
+ with a colon and the ID of the APPLICATION block in either ASCII
+ or hexadecimal representation. E.g. APPLICATION:abcd for the
+ APPLICATION block(s) whose textual representation of the 4-byte ID
+ is "abcd" or APPLICATION:0xXXXXXXXX for the APPLICATION block(s)
+ whose hexadecimal big- endian representation of the 4-byte ID
+ is "0xXXXXXXXX". For the example "abcd" above the hexadecimal
+ equivalalent is 0x61626364
+
+**\--application-data-format=hexdump\|text**
+: If the application block you are displaying contains binary data but
+ your \--data-format=text, you can display a hex dump of the
+ application data contents instead using
+ \--application-data-format=hexdump.
+
+**\--data-format=binary\|binary-headerless\|text**
+: For use with --list. By default a human-readable text
+ representation of the data is isplayed. You may specify
+ --data-format=binary to dump the raw binary form of each metadata
+ block. Specify --data-format=binary-headerless to omit output of
+ metadata block headers, including the id of APPLICATION metadata
+ blocks.
+
+**\--append**
+: Insert a metadata block from a file. This must be a binary block as
+ exported with --list --data-format=binary. The insertion point is
+ defined with --block-number=#. The new block will be added after the
+ given block number. This prevents the illegal insertion of a block
+ before the first STREAMINFO block. You may not --append another
+ STREAMINFO block. It is possible to copy a metadata block from one
+ file to another with this option. For example use
+ `metaflac --list --data-format=binary --block-number=6 file.flac > block`
+ to export the block, and then import it with
+ `metaflac --append anotherfile.flac < block`
+
+**\--remove-all**
+: Remove all metadata blocks (except the STREAMINFO block) from the
+ metadata. Unless \--dont-use-padding is specified, the blocks will be
+ replaced with padding.
+
+**\--merge-padding**
+: Merge adjacent PADDING blocks into single blocks.
+
+**\--sort-padding**
+: Move all PADDING blocks to the end of the metadata and merge them
+ into a single block.
+
+# SEE ALSO
+
+**flac(1)**
diff --git a/3rdparty/libflac/man/metaflac.sgml b/3rdparty/libflac/man/metaflac.sgml
deleted file mode 100644
index bb9fc8a2a5f..00000000000
--- a/3rdparty/libflac/man/metaflac.sgml
+++ /dev/null
@@ -1,570 +0,0 @@
-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-
-<!-- Process this file with docbook-to-man to generate an nroff manual
- page: `docbook-to-man manpage.sgml > manpage.1'. You may view
- the manual page with: `docbook-to-man manpage.sgml | nroff -man |
- less'. A typical entry in a Makefile or Makefile.am is:
-
-manpage.1: manpage.sgml
- docbook-to-man $< > $@
- -->
-
-<!-- This is based on an example constructed by Colin Watson
- <email>cjwatson@debian.org</email>, based on a man page template
- provided by Tom Christiansen <email>tchrist@jhereg.perl.com</email>
- and a DocBook man page example by Craig Small
- <email>csmall@debian.org</email>.
- -->
-
- <!-- Fill in the various UPPER CASE things here. -->
- <!ENTITY manfirstname "<firstname>dann</firstname>">
- <!ENTITY mansurname "<surname>frazier</surname>">
- <!-- Please adjust the date whenever revising the manpage. -->
- <!ENTITY mandate "<date>2006-11-14</date>">
- <!-- SECTION should be 1-8, maybe with subsection. Other parameters are
- allowed: see man(7), man(1). -->
- <!ENTITY mansection "<manvolnum>1</manvolnum>">
- <!ENTITY manemail "<email>dannf@debian.org</email>">
- <!ENTITY manusername "dannf">
- <!ENTITY manucpackage "<refentrytitle>METAFLAC</refentrytitle>">
- <!ENTITY manpackage "metaflac">
-]>
-
-<refentry>
- <refentryinfo>
- <address>
- &manemail;
- </address>
- <author>
- &manfirstname;
- &mansurname;
- </author>
- <copyright>
- <year>2002,2003,2004,2005</year>
- <holder>&manusername;</holder>
- </copyright>
- &mandate;
- </refentryinfo>
- <refmeta>
- &manucpackage;
-
- &mansection;
- </refmeta>
- <refnamediv>
- <refname>&manpackage;</refname>
-
- <refpurpose>
- program to list, add, remove, or edit metadata in one or more FLAC files.
- </refpurpose>
- </refnamediv>
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>&manpackage;</command>
-
- <group choice="opt"><arg><replaceable>options</replaceable></arg></group>
- <group choice="opt">
- <arg><replaceable>operations</replaceable></arg></group>
- <arg rep="repeat" choice="req"><replaceable>FLACfile</replaceable></arg>
- </cmdsynopsis>
- </refsynopsisdiv>
- <refsect1>
- <title>DESCRIPTION</title>
-
- <para>Use <command>&manpackage;</command> to list, add, remove, or edit
- metadata in one or more FLAC files. You may perform one major operation,
- or many shorthand operations at a time.</para>
-
- </refsect1>
- <refsect1>
- <title>OPTIONS</title>
-
- <variablelist>
- <varlistentry>
- <term><option>--preserve-modtime</option></term>
- <listitem>
- <para>
- Preserve the original modification time in spite of edits.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--with-filename</option></term>
- <listitem>
- <para>
- Prefix each output line with the FLAC file name (the default if
- more than one FLAC file is specified).
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--no-filename</option></term>
- <listitem>
- <para>
- Do not prefix each output line with the FLAC file name (the default
- if only one FLAC file is specified).
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--no-utf8-convert</option></term>
- <listitem>
- <para>
- Do not convert tags from UTF-8 to local charset, or vice versa. This is
- useful for scripts, and setting tags in situations where the locale is wrong.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--dont-use-padding</option></term>
- <listitem>
- <para>
- By default metaflac tries to use padding where possible to avoid
- rewriting the entire file if the metadata size changes. Use this
- option to tell metaflac to not take advantage of padding this way.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
- <refsect1>
- <title>SHORTHAND OPERATIONS</title>
-
- <variablelist>
- <varlistentry>
- <term><option>--show-md5sum</option></term>
- <listitem>
- <para>
- Show the MD5 signature from the STREAMINFO block.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--show-min-blocksize</option></term>
- <listitem>
- <para>
- Show the minimum block size from the STREAMINFO block.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--show-max-blocksize</option></term>
- <listitem>
- <para>
- Show the maximum block size from the STREAMINFO block.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--show-min-framesize</option></term>
- <listitem>
- <para>
- Show the minimum frame size from the STREAMINFO block.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--show-max-framesize</option></term>
- <listitem>
- <para>
- Show the maximum frame size from the STREAMINFO block.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--show-sample-rate</option></term>
- <listitem>
- <para>
- Show the sample rate from the STREAMINFO block.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--show-channels</option></term>
- <listitem>
- <para>
- Show the number of channels from the STREAMINFO block.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--show-bps</option></term>
- <listitem>
- <para>
- Show the # of bits per sample from the STREAMINFO block.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--show-total-samples</option></term>
- <listitem>
- <para>
- Show the total # of samples from the STREAMINFO block.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--show-vendor-tag</option></term>
- <listitem>
- <para>
- Show the vendor string from the VORBIS_COMMENT block.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--show-tag=name</option></term>
- <listitem>
- <para>
- Show all tags where the the field name matches 'name'.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--remove-tag=name</option></term>
- <listitem>
- <para>
- Remove all tags whose field name is 'name'.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--remove-first-tag=name</option></term>
- <listitem>
- <para>
- Remove first tag whose field name is 'name'.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--remove-all-tags</option></term>
- <listitem>
- <para>
- Remove all tags, leaving only the vendor string.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--set-tag=field</option></term>
- <listitem>
- <para>
- Add a tag. The field must comply with the
- Vorbis comment spec, of the form "NAME=VALUE". If there is
- currently no tag block, one will be created.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--set-tag-from-file=field</option></term>
- <listitem>
- <para>
- Like --set-tag, except the VALUE is a filename whose
- contents will be read verbatim to set the tag value.
- Unless --no-utf8-convert is specified, the contents will be
- converted to UTF-8 from the local charset. This can be used
- to store a cuesheet in a tag (e.g.
- --set-tag-from-file="CUESHEET=image.cue"). Do not try to
- store binary data in tag fields! Use APPLICATION blocks for
- that.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--import-tags-from=file</option></term>
- <listitem>
- <para>
- Import tags from a file. Use '-' for stdin. Each
- line should be of the form NAME=VALUE. Multi-line comments
- are currently not supported. Specify --remove-all-tags and/or
- --no-utf8-convert before --import-tags-from if necessary. If
- FILE is '-' (stdin), only one FLAC file may be specified.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--export-tags-to=file</option></term>
- <listitem>
- <para>
- Export tags to a file. Use '-' for stdout. Each
- line will be of the form NAME=VALUE. Specify
- --no-utf8-convert if necessary.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--import-cuesheet-from=file</option></term>
- <listitem>
- <para>
- Import a cuesheet from a file. Use '-' for stdin. Only one
- FLAC file may be specified. A seekpoint will be added for each
- index point in the cuesheet to the SEEKTABLE unless
- --no-cued-seekpoints is specified.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--export-cuesheet-to=file</option></term>
- <listitem>
- <para>
- Export CUESHEET block to a cuesheet file, suitable for use by
- CD authoring software. Use '-' for stdout. Only one FLAC file
- may be specified on the command line.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--import-picture-from</option>={<replaceable>FILENAME</replaceable>|<replaceable>SPECIFICATION</replaceable>}</term>
- <listitem>
- <para>Import a picture and store it in a PICTURE metadata block. More than one --import-picture-from command can be specified. Either a filename for the picture file or a more complete specification form can be used. The SPECIFICATION is a string whose parts are separated by | (pipe) characters. Some parts may be left empty to invoke default values. FILENAME is just shorthand for "||||FILENAME". The format of SPECIFICATION is</para>
- <para>[TYPE]|[MIME-TYPE]|[DESCRIPTION]|[WIDTHxHEIGHTxDEPTH[/COLORS]]|FILE</para>
- <para>TYPE is optional; it is a number from one of:</para>
- <para>0: Other</para>
- <para>1: 32x32 pixels 'file icon' (PNG only)</para>
- <para>2: Other file icon</para>
- <para>3: Cover (front)</para>
- <para>4: Cover (back)</para>
- <para>5: Leaflet page</para>
- <para>6: Media (e.g. label side of CD)</para>
- <para>7: Lead artist/lead performer/soloist</para>
- <para>8: Artist/performer</para>
- <para>9: Conductor</para>
- <para>10: Band/Orchestra</para>
- <para>11: Composer</para>
- <para>12: Lyricist/text writer</para>
- <para>13: Recording Location</para>
- <para>14: During recording</para>
- <para>15: During performance</para>
- <para>16: Movie/video screen capture</para>
- <para>17: A bright coloured fish</para>
- <para>18: Illustration</para>
- <para>19: Band/artist logotype</para>
- <para>20: Publisher/Studio logotype</para>
- <para>The default is 3 (front cover). There may only be one picture each of type 1 and 2 in a file.</para>
-
- <para>MIME-TYPE is optional; if left blank, it will be detected from the file. For best compatibility with players, use pictures with MIME type image/jpeg or image/png. The MIME type can also be --&gt; to mean that FILE is actually a URL to an image, though this use is discouraged.</para>
-
- <para>DESCRIPTION is optional; the default is an empty string.</para>
-
- <para>The next part specfies the resolution and color information. If the MIME-TYPE is image/jpeg, image/png, or image/gif, you can usually leave this empty and they can be detected from the file. Otherwise, you must specify the width in pixels, height in pixels, and color depth in bits-per-pixel. If the image has indexed colors you should also specify the number of colors used. When manually specified, it is not checked against the file for accuracy.</para>
-
- <para>FILE is the path to the picture file to be imported, or the URL if MIME type is --&gt;</para>
-
- <para>For example, "|image/jpeg|||../cover.jpg" will embed the JPEG file at ../cover.jpg, defaulting to type 3 (front cover) and an empty description. The resolution and color info will be retrieved from the file itself.</para>
-
- <para>The specification "4|-->|CD|320x300x24/173|http://blah.blah/backcover.tiff" will embed the given URL, with type 4 (back cover), description "CD", and a manually specified resolution of 320x300, 24 bits-per-pixel, and 173 colors. The file at the URL will not be fetched; the URL itself is stored in the PICTURE metadata block.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--export-picture-to=file</option></term>
- <listitem>
- <para>
- Export PICTURE block to a file. Use '-' for stdout. Only one FLAC file may be specified on the command line. The first PICTURE block will be exported unless --export-picture-to is preceded by a --block-number=# option to specify the exact metadata block to extract. Note that the block number is the one shown by --list.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--add-replay-gain</option></term>
- <listitem>
- <para>
- Calculates the title and album gains/peaks of the given FLAC
- files as if all the files were part of one album, then stores
- them as FLAC tags. The tags are the same as
- those used by vorbisgain. Existing ReplayGain tags will be
- replaced. If only one FLAC file is given, the album and title
- gains will be the same. Since this operation requires two
- passes, it is always executed last, after all other operations
- have been completed and written to disk. All FLAC files
- specified must have the same resolution, sample rate, and
- number of channels. The sample rate must be one of 8, 11.025,
- 12, 16, 22.05, 24, 32, 44.1, or 48 kHz.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--remove-replay-gain</option></term>
- <listitem>
- <para>
- Removes the ReplayGain tags.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--add-seekpoint</option>={<replaceable>#</replaceable>|<replaceable>X</replaceable>|<replaceable>#x</replaceable>|<replaceable>#s</replaceable>}</term>
- <listitem>
- <para>
- Add seek points to a SEEKTABLE block. Using #, a seek point at
- that sample number is added. Using X, a placeholder point is
- added at the end of a the table. Using #x, # evenly spaced seek
- points will be added, the first being at sample 0. Using #s, a
- seekpoint will be added every # seconds (# does not have to be a
- whole number; it can be, for example, 9.5, meaning a seekpoint
- every 9.5 seconds). If no SEEKTABLE block exists, one will be
- created. If one already exists, points will be added to the
- existing table, and any duplicates will be turned into placeholder
- points. You may use many --add-seekpoint options; the resulting
- SEEKTABLE will be the unique-ified union of all such values.
- Example: --add-seekpoint=100x --add-seekpoint=3.5s will add 100
- evenly spaced seekpoints and a seekpoint every 3.5 seconds.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--add-padding=length</option></term>
- <listitem>
- <para>
- Add a padding block of the given length (in bytes). The overall
- length of the new block will be 4 + length; the extra 4 bytes is
- for the metadata block header.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
- <refsect1>
- <title>MAJOR OPERATIONS</title>
-
- <variablelist>
- <varlistentry>
- <term><option>--list</option></term>
- <listitem>
- <para>
- List the contents of one or more metadata blocks to stdout. By
- default, all metadata blocks are listed in text format. Use the
- following options to change this behavior:
- </para>
- <variablelist>
- <varlistentry>
- <term><option>--block-number=#[,#[...]]</option></term>
- <listitem>
- <para>
- An optional comma-separated list of block numbers to display.
- The first block, the STREAMINFO block, is block 0.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--block-type=type[,type[...]]</option></term>
- <listitem><para></para></listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--except-block-type=type[,type[...]]</option></term>
- <listitem>
- <para>
- An optional comma-separated list of block types to be included
- or ignored with this option. Use only one of --block-type or
- --except-block-type. The valid block types are: STREAMINFO,
- PADDING, APPLICATION, SEEKTABLE, VORBIS_COMMENT. You may
- narrow down the types of APPLICATION blocks displayed as
- follows:
- </para>
- <para>
- APPLICATION:abcd The APPLICATION block(s) whose textual repre-
- sentation of the 4-byte ID is "abcd"
- APPLICATION:0xXXXXXXXX The APPLICATION block(s) whose hexadecimal big-
- endian representation of the 4-byte ID is
- "0xXXXXXXXX". For the example "abcd" above the
- hexadecimal equivalalent is 0x61626364
- </para>
- <note>
- <para>
- if both --block-number and --[except-]block-type are
- specified, the result is the logical AND of both
- arguments.</para></note>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--application-data-format=hexdump|text</option></term>
- <listitem>
- <para>
- If the application block you are displaying contains binary
- data but your --data-format=text, you can display a hex dump
- of the application data contents instead using
- --application-data-format=hexdump.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--remove</option></term>
- <listitem>
- <para>
- Remove one or more metadata blocks from the metadata. Unless
- --dont-use-padding is specified, the blocks will be replaced with
- padding. You may not remove the STREAMINFO block.
- </para>
- <variablelist>
- <varlistentry>
- <term><option>--block-number=#[,#[...]]</option></term>
- <listitem><para></para></listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--block-type=type[,type[...]]</option></term>
- <listitem><para></para></listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--except-block-type=type[,type[...]]</option></term>
- <listitem>
- <para>See --list above for usage.</para>
- <note>
- <para>
- if both --block-number and --[except-]block-type are
- specified, the result is the logical AND of both arguments.
- </para></note>
- </listitem>
- </varlistentry>
- </variablelist>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--remove-all</option></term>
- <listitem>
- <para>
- Remove all metadata blocks (except the STREAMINFO block) from the
- metadata. Unless --dont-use-padding is specified, the blocks will
- be replaced with padding.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--merge-padding</option></term>
- <listitem>
- <para>
- Merge adjacent PADDING blocks into single blocks.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--sort-padding</option></term>
- <listitem>
- <para>
- Move all PADDING blocks to the end of the metadata and merge them
- into a single block.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
-
- <refsect1>
- <title>SEE ALSO</title>
-
- <para>flac(1).</para>
- </refsect1>
-</refentry>
-
-<!-- Keep this comment at the end of the file
-Local variables:
-mode: sgml
-sgml-omittag:t
-sgml-shorttag:t
-sgml-minimize-attributes:nil
-sgml-always-quote-attributes:t
-sgml-indent-step:2
-sgml-indent-data:t
-sgml-parent-document:nil
-sgml-default-dtd-file:nil
-sgml-exposed-tags:nil
-sgml-local-catalogs:nil
-sgml-local-ecat-files:nil
-End:
--->
diff --git a/3rdparty/libflac/microbench/CMakeLists.txt b/3rdparty/libflac/microbench/CMakeLists.txt
new file mode 100644
index 00000000000..639915b6307
--- /dev/null
+++ b/3rdparty/libflac/microbench/CMakeLists.txt
@@ -0,0 +1,17 @@
+if(MSVC)
+ return()
+endif()
+
+set(CMAKE_REQUIRED_LIBRARIES rt)
+check_function_exists(clock_gettime HAVE_CLOCK_GETTIME)
+
+if(APPLE)
+ add_definitions(-DFLAC__SYS_DARWIN)
+endif()
+
+add_executable(benchmark_residual benchmark_residual.c util.c)
+target_include_directories(benchmark_residual PRIVATE
+ "$<TARGET_PROPERTY:FLAC,SOURCE_DIR>/include")
+target_link_libraries(benchmark_residual
+ FLAC
+ $<$<BOOL:${HAVE_CLOCK_GETTIME}>:rt>)
diff --git a/3rdparty/libflac/microbench/Makefile.am b/3rdparty/libflac/microbench/Makefile.am
new file mode 100644
index 00000000000..81de3adb809
--- /dev/null
+++ b/3rdparty/libflac/microbench/Makefile.am
@@ -0,0 +1,42 @@
+# FLAC - Free Lossless Audio Codec
+# Copyright (C) 2015-2023 Xiph.Org Foundation
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# - Neither the name of the Xiph.org Foundation nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src/libFLAC/include
+
+noinst_HEADERS = util.h
+
+noinst_PROGRAMS = benchmark_residual
+
+benchmark_residual_SOURCES = benchmark_residual.c util.c
+
+benchmark_residual_LDADD = @LIB_CLOCK_GETTIME@
+
+EXTRA_DIST = CMakeLists.txt
diff --git a/3rdparty/libflac/microbench/Makefile.in b/3rdparty/libflac/microbench/Makefile.in
new file mode 100644
index 00000000000..c3d3e67c732
--- /dev/null
+++ b/3rdparty/libflac/microbench/Makefile.in
@@ -0,0 +1,676 @@
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# FLAC - Free Lossless Audio Codec
+# Copyright (C) 2015-2023 Xiph.Org Foundation
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# - Neither the name of the Xiph.org Foundation nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = benchmark_residual$(EXEEXT)
+subdir = microbench
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+ $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_benchmark_residual_OBJECTS = benchmark_residual.$(OBJEXT) \
+ util.$(OBJEXT)
+benchmark_residual_OBJECTS = $(am_benchmark_residual_OBJECTS)
+benchmark_residual_DEPENDENCIES =
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/benchmark_residual.Po \
+ ./$(DEPDIR)/util.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(benchmark_residual_SOURCES)
+DIST_SOURCES = $(benchmark_residual_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+HEADERS = $(noinst_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
+FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
+FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OBJ_FORMAT = @OBJ_FORMAT@
+OGG_CFLAGS = @OGG_CFLAGS@
+OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src/libFLAC/include
+noinst_HEADERS = util.h
+benchmark_residual_SOURCES = benchmark_residual.c util.c
+benchmark_residual_LDADD = @LIB_CLOCK_GETTIME@
+EXTRA_DIST = CMakeLists.txt
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign microbench/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign microbench/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+benchmark_residual$(EXEEXT): $(benchmark_residual_OBJECTS) $(benchmark_residual_DEPENDENCIES) $(EXTRA_benchmark_residual_DEPENDENCIES)
+ @rm -f benchmark_residual$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(benchmark_residual_OBJECTS) $(benchmark_residual_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/benchmark_residual.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS) $(HEADERS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -f ./$(DEPDIR)/benchmark_residual.Po
+ -rm -f ./$(DEPDIR)/util.Po
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f ./$(DEPDIR)/benchmark_residual.Po
+ -rm -f ./$(DEPDIR)/util.Po
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/3rdparty/libflac/microbench/benchmark_residual.c b/3rdparty/libflac/microbench/benchmark_residual.c
new file mode 100644
index 00000000000..d9b19d7bb3f
--- /dev/null
+++ b/3rdparty/libflac/microbench/benchmark_residual.c
@@ -0,0 +1,151 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+#include <math.h>
+#include <string.h>
+#include "FLAC/ordinals.h"
+#include "share/compat.h"
+#include "private/bitmath.h"
+#include "private/fixed.h"
+#include "private/macros.h"
+#include "FLAC/assert.h"
+
+#include "util.h"
+
+static void FLAC__fixed_compute_residual_shift(const FLAC__int32 data[], unsigned data_len, unsigned order, FLAC__int32 residual[])
+{
+ const int idata_len = (int) data_len;
+ int i;
+
+ switch(order) {
+ case 0:
+ FLAC__ASSERT(sizeof(residual[0]) == sizeof(data[0]));
+ memcpy(residual, data, sizeof(residual[0])*data_len);
+ break;
+ case 1:
+ for(i = 0; i < idata_len; i++)
+ residual[i] = data[i] - data[i-1];
+ break;
+ case 2:
+ for(i = 0; i < idata_len; i++)
+ residual[i] = data[i] - (data[i-1] << 1) + data[i-2];
+ break;
+ case 3:
+ for(i = 0; i < idata_len; i++)
+ residual[i] = data[i] - (((data[i-1]-data[i-2])<<1) + (data[i-1]-data[i-2])) - data[i-3];
+ break;
+ case 4:
+ for(i = 0; i < idata_len; i++)
+ residual[i] = data[i] - ((data[i-1]+data[i-3])<<2) + ((data[i-2]<<2) + (data[i-2]<<1)) + data[i-4];
+ break;
+ default:
+ FLAC__ASSERT(0);
+ }
+}
+
+static void FLAC__fixed_compute_residual_mult(const FLAC__int32 data[], unsigned data_len, unsigned order, FLAC__int32 residual[])
+{
+ const int idata_len = (int)data_len;
+ int i;
+
+ switch(order) {
+ case 0:
+ FLAC__ASSERT(sizeof(residual[0]) == sizeof(data[0]));
+ memcpy(residual, data, sizeof(residual[0])*data_len);
+ break;
+ case 1:
+ for(i = 0; i < idata_len; i++)
+ residual[i] = data[i] - data[i-1];
+ break;
+ case 2:
+ for(i = 0; i < idata_len; i++)
+ residual[i] = data[i] - 2*data[i-1] + data[i-2];
+ break;
+ case 3:
+ for(i = 0; i < idata_len; i++)
+ residual[i] = data[i] - 3*data[i-1] + 3*data[i-2] - data[i-3];
+ break;
+ case 4:
+ for(i = 0; i < idata_len; i++)
+ residual[i] = data[i] - 4*data[i-1] + 6*data[i-2] - 4*data[i-3] + data[i-4];
+ break;
+ default:
+ FLAC__ASSERT(0);
+ }
+}
+
+static FLAC__int32 data [200000] ;
+static FLAC__int32 residual [200000] ;
+
+static unsigned bench_order = 0 ;
+
+static void
+bench_shift (void)
+{ FLAC__fixed_compute_residual_shift (data, ARRAY_LEN (data), bench_order, residual) ;
+}
+
+static void
+bench_mult (void)
+{ FLAC__fixed_compute_residual_mult (data, ARRAY_LEN (data), bench_order, residual) ;
+}
+
+int
+main (void)
+{ bench_stats stats ;
+
+ puts ("") ;
+
+ for (bench_order = 2 ; bench_order <= 4 ; bench_order ++) {
+ memset (&stats, 0, sizeof (stats)) ;
+ stats.testfunc = bench_shift ;
+ stats.run_count = 100 ;
+ stats.loop_count = 10 ;
+
+ benchmark_stats (&stats) ;
+ printf ("shift order %u : %f %f %f %f\n", bench_order, stats.min_time, stats.median_time, stats.mean_time, stats.max_time) ;
+
+ memset (&stats, 0, sizeof (stats)) ;
+ stats.testfunc = bench_mult ;
+ stats.run_count = 100 ;
+ stats.loop_count = 10 ;
+
+ benchmark_stats (&stats) ;
+ printf ("mult order %u : %f %f %f %f\n\n", bench_order, stats.min_time, stats.median_time, stats.mean_time, stats.max_time) ;
+ }
+
+ return 0 ;
+}
diff --git a/3rdparty/libflac/microbench/util.c b/3rdparty/libflac/microbench/util.c
new file mode 100644
index 00000000000..2ecd4a35bdb
--- /dev/null
+++ b/3rdparty/libflac/microbench/util.c
@@ -0,0 +1,205 @@
+/* FLAC - Free Lossless Audio Codec
+ * Copyright (C) 2015-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdlib.h>
+#include "util.h"
+
+#if defined _WIN32
+
+#include <windows.h>
+
+static double
+counter_diff (const LARGE_INTEGER * start, const LARGE_INTEGER * end)
+{
+ LARGE_INTEGER diff, freq;
+
+ QueryPerformanceFrequency(&freq);
+ diff.QuadPart = end->QuadPart - start->QuadPart;
+
+ return (double)diff.QuadPart/(double)freq.QuadPart;
+}
+
+double
+benchmark_function (void (*testfunc) (void), unsigned count)
+{
+ LARGE_INTEGER start, end;
+ unsigned k;
+
+ QueryPerformanceCounter (&start) ;
+
+ for (k = 0 ; k < count ; k++)
+ testfunc();
+
+ QueryPerformanceCounter (&end) ;
+
+ return counter_diff (&start, &end) / count ;
+} /* benchmark_function */
+
+#elif defined FLAC__SYS_DARWIN
+
+#include <mach/mach_time.h>
+
+static double
+counter_diff (const uint64_t * start, const uint64_t * end)
+{
+ mach_timebase_info_data_t t_info;
+ mach_timebase_info(&t_info);
+ uint64_t duration = *end - *start;
+
+ return duration * ((double)t_info.numer/(double)t_info.denom);
+}
+
+double
+benchmark_function (void (*testfunc) (void), unsigned count)
+{
+ uint64_t start, end;
+ unsigned k;
+
+ start = mach_absolute_time();
+
+ for (k = 0 ; k < count ; k++)
+ testfunc();
+
+ end = mach_absolute_time();
+
+ return counter_diff (&start, &end) / count ;
+} /* benchmark_function */
+
+#elif defined HAVE_CLOCK_GETTIME
+
+#include <time.h>
+#include <sys/time.h>
+
+static double
+timespec_diff (const struct timespec * start, const struct timespec * end)
+{ struct timespec diff;
+
+ if (end->tv_nsec - start->tv_nsec < 0)
+ { diff.tv_sec = end->tv_sec - start->tv_sec - 1 ;
+ diff.tv_nsec = 1000000000 + end->tv_nsec - start->tv_nsec ;
+ }
+ else
+ { diff.tv_sec = end->tv_sec - start->tv_sec ;
+ diff.tv_nsec = end->tv_nsec-start->tv_nsec ;
+ } ;
+
+ return diff.tv_sec + 1e-9 * diff.tv_nsec ;
+}
+
+double
+benchmark_function (void (*testfunc) (void), unsigned count)
+{ struct timespec start, end;
+ unsigned k ;
+
+ clock_gettime (CLOCK_PROCESS_CPUTIME_ID, &start) ;
+
+ for (k = 0 ; k < count ; k++)
+ testfunc () ;
+
+ clock_gettime (CLOCK_PROCESS_CPUTIME_ID, &end) ;
+
+ return timespec_diff (&start, &end) / count ;
+} /* benchmark_function */
+
+#else
+
+#include <time.h>
+#include <sys/time.h>
+
+static double
+timeval_diff (const struct timeval * start, const struct timeval * end)
+{ struct timeval diff;
+
+ if (end->tv_usec - start->tv_usec < 0)
+ { diff.tv_sec = end->tv_sec - start->tv_sec - 1 ;
+ diff.tv_usec = 1000000 + end->tv_usec - start->tv_usec ;
+ }
+ else
+ { diff.tv_sec = end->tv_sec - start->tv_sec ;
+ diff.tv_usec = end->tv_usec-start->tv_usec ;
+ } ;
+
+ return diff.tv_sec + 1e-6 * diff.tv_usec ;
+}
+
+double
+benchmark_function (void (*testfunc) (void), unsigned count)
+{ struct timeval start, end;
+ unsigned k ;
+
+ gettimeofday(&start, NULL);
+
+ for (k = 0 ; k < count ; k++)
+ testfunc () ;
+
+ gettimeofday(&end, NULL);
+
+ return timeval_diff (&start, &end) / count ;
+} /* benchmark_function */
+
+#endif
+
+static int
+double_cmp (const void * a, const void * b)
+{ const double * pa = (double *) a ;
+ const double * pb = (double *) b ;
+ return pa [0] < pb [0] ;
+} /* double_cmp */
+
+void
+benchmark_stats (bench_stats * stats)
+{ double sum, times [stats->run_count] ;
+ unsigned k ;
+
+ for (k = 0 ; k < stats->run_count ; k++)
+ times [k] = benchmark_function (stats->testfunc, stats->loop_count) ;
+
+ qsort (times, stats->run_count, sizeof (times [0]), double_cmp) ;
+
+ sum = 0.0 ;
+ stats->min_time = stats->max_time = times [0] ;
+ for (k = 0 ; k < stats->run_count ; k++)
+ { stats->min_time = stats->min_time < times [k] ? stats->min_time : times [k] ;
+ stats->max_time = stats->max_time > times [k] ? stats->max_time : times [k] ;
+ sum += times [k] ;
+ }
+ stats->mean_time = sum / stats->run_count ;
+ if (stats->run_count & 1)
+ stats->median_time = times [(stats->run_count + 1) / 2] ;
+ else
+ stats->median_time = 0.5 * (times [stats->run_count / 2] + times [(stats->run_count / 2) + 1]) ;
+
+ return ;
+} /* benchmark_stats */
diff --git a/3rdparty/libflac/microbench/util.h b/3rdparty/libflac/microbench/util.h
new file mode 100644
index 00000000000..1fba4466a34
--- /dev/null
+++ b/3rdparty/libflac/microbench/util.h
@@ -0,0 +1,43 @@
+/* FLAC - Free Lossless Audio Codec
+ * Copyright (C) 2015-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#define ARRAY_LEN(x) ((sizeof (x) / sizeof (x [0])))
+
+typedef struct bench_stats
+{ void (*testfunc) (void) ;
+ unsigned run_count ;
+ unsigned loop_count ;
+ double min_time, mean_time, median_time, max_time ;
+} bench_stats ;
+
+double benchmark_function (void (*testfunc) (void), unsigned count) ;
+
+void benchmark_stats (bench_stats * stats) ;
diff --git a/3rdparty/libflac/missing b/3rdparty/libflac/missing
index fc54c64ec96..1fe1611f185 100644..100755
--- a/3rdparty/libflac/missing
+++ b/3rdparty/libflac/missing
@@ -1,7 +1,10 @@
#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+# Common wrapper for a few potentially missing GNU programs.
+
+scriptversion=2018-03-07.03; # UTC
+
+# Copyright (C) 1996-2021 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -14,9 +17,7 @@
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -24,313 +25,191 @@
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
- echo 1>&2 "Try \`$0 --help' for more information"
+ echo 1>&2 "Try '$0 --help' for more information"
exit 1
fi
-run=:
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
- configure_ac=configure.ac
-else
- configure_ac=configure.in
-fi
+case $1 in
-case "$1" in
---run)
- # Try to run requested program, and just exit if it succeeds.
- run=
- shift
- "$@" && exit 0
- ;;
-esac
+ --is-lightweight)
+ # Used by our autoconf macros to check whether the available missing
+ # script is modern enough.
+ exit 0
+ ;;
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case "$1" in
+ --run)
+ # Back-compat with the calling convention used by older automake.
+ shift
+ ;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
- --run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
- aclocal touch file \`aclocal.m4'
- autoconf touch file \`configure'
- autoheader touch file \`config.h.in'
- automake touch all \`Makefile.in' files
- bison create \`y.tab.[ch]', if possible, from existing .[ch]
- flex create \`lex.yy.c', if possible, from existing .c
- help2man touch the output file
- lex create \`lex.yy.c', if possible, from existing .c
- makeinfo touch the output file
- tar try tar, gnutar, gtar, then tar without non-portable flags
- yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
+ aclocal autoconf autoheader autom4te automake makeinfo
+ bison yacc flex lex help2man
+
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
+
+Send bug reports to <bug-automake@gnu.org>."
+ exit $?
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
- echo "missing 0.4 - GNU automake"
+ echo "missing $scriptversion (GNU Automake)"
+ exit $?
;;
-*)
- echo 1>&2 "$0: Unknown \`$1' option"
- echo 1>&2 "Try \`$0 --help' for more information"
+ echo 1>&2 "$0: unknown '$1' option"
+ echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
- aclocal*)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- fi
-
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`acinclude.m4' or \`${configure_ac}'. You might want
- to install the \`Automake' and \`Perl' packages. Grab them from
- any GNU archive site."
- touch aclocal.m4
- ;;
-
- autoconf)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- fi
-
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`${configure_ac}'. You might want to install the
- \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
- archive site."
- touch configure
- ;;
-
- autoheader)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- fi
-
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`acconfig.h' or \`${configure_ac}'. You might want
- to install the \`Autoconf' and \`GNU m4' packages. Grab them
- from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
- test -z "$files" && files="config.h"
- touch_files=
- for f in $files; do
- case "$f" in
- *:*) touch_files="$touch_files "`echo "$f" |
- sed -e 's/^[^:]*://' -e 's/:.*//'`;;
- *) touch_files="$touch_files $f.in";;
- esac
- done
- touch $touch_files
- ;;
-
- automake*)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- fi
-
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
- You might want to install the \`Automake' and \`Perl' packages.
- Grab them from any GNU archive site."
- find . -type f -name Makefile.am -print |
- sed 's/\.am$/.in/' |
- while read f; do touch "$f"; done
- ;;
-
- autom4te)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- fi
-
- echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
- system. You might have modified some files without having the
- proper tools for further handling them.
- You can get \`$1' as part of \`Autoconf' from any GNU
- archive site."
-
- file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
- test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo "#! /bin/sh"
- echo "# Created by GNU Automake missing as a replacement of"
- echo "# $ $@"
- echo "exit 0"
- chmod +x $file
- exit 1
- fi
- ;;
-
- bison|yacc)
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified a \`.y' file. You may need the \`Bison' package
- in order for those modifications to take effect. You can get
- \`Bison' from any GNU archive site."
- rm -f y.tab.c y.tab.h
- if [ $# -ne 1 ]; then
- eval LASTARG="\${$#}"
- case "$LASTARG" in
- *.y)
- SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if [ -f "$SRCFILE" ]; then
- cp "$SRCFILE" y.tab.c
- fi
- SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if [ -f "$SRCFILE" ]; then
- cp "$SRCFILE" y.tab.h
- fi
- ;;
- esac
- fi
- if [ ! -f y.tab.h ]; then
- echo >y.tab.h
- fi
- if [ ! -f y.tab.c ]; then
- echo 'main() { return 0; }' >y.tab.c
- fi
- ;;
-
- lex|flex)
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified a \`.l' file. You may need the \`Flex' package
- in order for those modifications to take effect. You can get
- \`Flex' from any GNU archive site."
- rm -f lex.yy.c
- if [ $# -ne 1 ]; then
- eval LASTARG="\${$#}"
- case "$LASTARG" in
- *.l)
- SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if [ -f "$SRCFILE" ]; then
- cp "$SRCFILE" lex.yy.c
- fi
- ;;
- esac
- fi
- if [ ! -f lex.yy.c ]; then
- echo 'main() { return 0; }' >lex.yy.c
- fi
- ;;
-
- help2man)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- fi
-
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified a dependency of a manual page. You may need the
- \`Help2man' package in order for those modifications to take
- effect. You can get \`Help2man' from any GNU archive site."
-
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
- if test -z "$file"; then
- file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
- fi
- if [ -f "$file" ]; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo ".ab help2man is required to generate this page"
- exit 1
- fi
- ;;
-
- makeinfo)
- if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
- # We have makeinfo, but it failed.
- exit 1
- fi
-
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified a \`.texi' or \`.texinfo' file, or any other file
- indirectly affecting the aspect of the manual. The spurious
- call might also be the consequence of using a buggy \`make' (AIX,
- DU, IRIX). You might want to install the \`Texinfo' package or
- the \`GNU make' package. Grab either from any GNU archive site."
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
- if test -z "$file"; then
- file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
- fi
- touch $file
- ;;
-
- tar)
- shift
- if test -n "$run"; then
- echo 1>&2 "ERROR: \`tar' requires --run"
- exit 1
- fi
-
- # We have already tried tar in the generic part.
- # Look for gnutar/gtar before invocation to avoid ugly error
- # messages.
- if (gnutar --version > /dev/null 2>&1); then
- gnutar "$@" && exit 0
- fi
- if (gtar --version > /dev/null 2>&1); then
- gtar "$@" && exit 0
- fi
- firstarg="$1"
- if shift; then
- case "$firstarg" in
- *o*)
- firstarg=`echo "$firstarg" | sed s/o//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- case "$firstarg" in
- *h*)
- firstarg=`echo "$firstarg" | sed s/h//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- fi
+esac
- echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
- You may want to install GNU tar or Free paxutils, or check the
- command line arguments."
- exit 1
- ;;
+# Run the given program, remember its exit status.
+"$@"; st=$?
+
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
+
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch. This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+ msg="probably too old"
+elif test $st -eq 127; then
+ # Program was missing.
+ msg="missing on your system"
+else
+ # Program was found and executed, but failed. Give up.
+ exit $st
+fi
- *)
- echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
- system. You might have modified some files without having the
- proper tools for further handling them. Check the \`README' file,
- it often tells you about the needed prerequisites for installing
- this package. You may also peek at any GNU archive site, in case
- some other package would contain this missing \`$1' program."
- exit 1
+perl_URL=https://www.perl.org/
+flex_URL=https://github.com/westes/flex
+gnu_software_URL=https://www.gnu.org/software
+
+program_details ()
+{
+ case $1 in
+ aclocal|automake)
+ echo "The '$1' program is part of the GNU Automake package:"
+ echo "<$gnu_software_URL/automake>"
+ echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/autoconf>"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ autoconf|autom4te|autoheader)
+ echo "The '$1' program is part of the GNU Autoconf package:"
+ echo "<$gnu_software_URL/autoconf/>"
+ echo "It also requires GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ esac
+}
+
+give_advice ()
+{
+ # Normalize program name to check for.
+ normalized_program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+ printf '%s\n' "'$1' is $msg."
+
+ configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+ case $normalized_program in
+ autoconf*)
+ echo "You should only need it if you modified 'configure.ac',"
+ echo "or m4 files included by it."
+ program_details 'autoconf'
+ ;;
+ autoheader*)
+ echo "You should only need it if you modified 'acconfig.h' or"
+ echo "$configure_deps."
+ program_details 'autoheader'
+ ;;
+ automake*)
+ echo "You should only need it if you modified 'Makefile.am' or"
+ echo "$configure_deps."
+ program_details 'automake'
+ ;;
+ aclocal*)
+ echo "You should only need it if you modified 'acinclude.m4' or"
+ echo "$configure_deps."
+ program_details 'aclocal'
+ ;;
+ autom4te*)
+ echo "You might have modified some maintainer files that require"
+ echo "the 'autom4te' program to be rebuilt."
+ program_details 'autom4te'
+ ;;
+ bison*|yacc*)
+ echo "You should only need it if you modified a '.y' file."
+ echo "You may want to install the GNU Bison package:"
+ echo "<$gnu_software_URL/bison/>"
+ ;;
+ lex*|flex*)
+ echo "You should only need it if you modified a '.l' file."
+ echo "You may want to install the Fast Lexical Analyzer package:"
+ echo "<$flex_URL>"
+ ;;
+ help2man*)
+ echo "You should only need it if you modified a dependency" \
+ "of a man page."
+ echo "You may want to install the GNU Help2man package:"
+ echo "<$gnu_software_URL/help2man/>"
;;
-esac
-
-exit 0
+ makeinfo*)
+ echo "You should only need it if you modified a '.texi' file, or"
+ echo "any other file indirectly affecting the aspect of the manual."
+ echo "You might want to install the Texinfo package:"
+ echo "<$gnu_software_URL/texinfo/>"
+ echo "The spurious makeinfo call might also be the consequence of"
+ echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+ echo "want to install GNU make:"
+ echo "<$gnu_software_URL/make/>"
+ ;;
+ *)
+ echo "You might have modified some files without having the proper"
+ echo "tools for further handling them. Check the 'README' file, it"
+ echo "often tells you about the needed prerequisites for installing"
+ echo "this package. You may also peek at any GNU archive site, in"
+ echo "case some other package contains this missing '$1' program."
+ ;;
+ esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+ -e '2,$s/^/ /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
+
+# Local variables:
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/3rdparty/libflac/mkinstalldirs b/3rdparty/libflac/mkinstalldirs
deleted file mode 100644
index d2d5f21b611..00000000000
--- a/3rdparty/libflac/mkinstalldirs
+++ /dev/null
@@ -1,111 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain
-
-errstatus=0
-dirmode=""
-
-usage="\
-Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
-
-# process command line arguments
-while test $# -gt 0 ; do
- case $1 in
- -h | --help | --h*) # -h for help
- echo "$usage" 1>&2
- exit 0
- ;;
- -m) # -m PERM arg
- shift
- test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
- dirmode=$1
- shift
- ;;
- --) # stop option processing
- shift
- break
- ;;
- -*) # unknown option
- echo "$usage" 1>&2
- exit 1
- ;;
- *) # first non-opt arg
- break
- ;;
- esac
-done
-
-for file
-do
- if test -d "$file"; then
- shift
- else
- break
- fi
-done
-
-case $# in
- 0) exit 0 ;;
-esac
-
-case $dirmode in
- '')
- if mkdir -p -- . 2>/dev/null; then
- echo "mkdir -p -- $*"
- exec mkdir -p -- "$@"
- fi
- ;;
- *)
- if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
- echo "mkdir -m $dirmode -p -- $*"
- exec mkdir -m "$dirmode" -p -- "$@"
- fi
- ;;
-esac
-
-for file
-do
- set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
- shift
-
- pathcomp=
- for d
- do
- pathcomp="$pathcomp$d"
- case $pathcomp in
- -*) pathcomp=./$pathcomp ;;
- esac
-
- if test ! -d "$pathcomp"; then
- echo "mkdir $pathcomp"
-
- mkdir "$pathcomp" || lasterr=$?
-
- if test ! -d "$pathcomp"; then
- errstatus=$lasterr
- else
- if test ! -z "$dirmode"; then
- echo "chmod $dirmode $pathcomp"
- lasterr=""
- chmod "$dirmode" "$pathcomp" || lasterr=$?
-
- if test ! -z "$lasterr"; then
- errstatus=$lasterr
- fi
- fi
- fi
- fi
-
- pathcomp="$pathcomp/"
- done
-done
-
-exit $errstatus
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# End:
-# mkinstalldirs ends here
diff --git a/3rdparty/libflac/obj/Makefile.am b/3rdparty/libflac/obj/Makefile.am
deleted file mode 100644
index 01e37a95b42..00000000000
--- a/3rdparty/libflac/obj/Makefile.am
+++ /dev/null
@@ -1,20 +0,0 @@
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-SUBDIRS = \
- debug \
- release
diff --git a/3rdparty/libflac/obj/Makefile.in b/3rdparty/libflac/obj/Makefile.in
deleted file mode 100644
index b5c3a926ce7..00000000000
--- a/3rdparty/libflac/obj/Makefile.in
+++ /dev/null
@@ -1,523 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-SUBDIRS = \
- debug \
- release
-
-subdir = obj
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu obj/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- else \
- include_option=--include; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/obj/debug/Makefile.in b/3rdparty/libflac/obj/debug/Makefile.in
deleted file mode 100644
index 96d201736ef..00000000000
--- a/3rdparty/libflac/obj/debug/Makefile.in
+++ /dev/null
@@ -1,523 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-SUBDIRS = \
- bin \
- lib
-
-subdir = obj/debug
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu obj/debug/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- else \
- include_option=--include; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/obj/debug/bin/Makefile.am b/3rdparty/libflac/obj/debug/bin/Makefile.am
deleted file mode 100644
index 9b90e957a81..00000000000
--- a/3rdparty/libflac/obj/debug/bin/Makefile.am
+++ /dev/null
@@ -1,16 +0,0 @@
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
diff --git a/3rdparty/libflac/obj/debug/bin/Makefile.in b/3rdparty/libflac/obj/debug/bin/Makefile.in
deleted file mode 100644
index 66834d6bc4e..00000000000
--- a/3rdparty/libflac/obj/debug/bin/Makefile.in
+++ /dev/null
@@ -1,369 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-subdir = obj/debug/bin
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu obj/debug/bin/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
-
-
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/obj/debug/lib/Makefile.am b/3rdparty/libflac/obj/debug/lib/Makefile.am
deleted file mode 100644
index 9b90e957a81..00000000000
--- a/3rdparty/libflac/obj/debug/lib/Makefile.am
+++ /dev/null
@@ -1,16 +0,0 @@
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
diff --git a/3rdparty/libflac/obj/debug/lib/Makefile.in b/3rdparty/libflac/obj/debug/lib/Makefile.in
deleted file mode 100644
index 59cd20981a0..00000000000
--- a/3rdparty/libflac/obj/debug/lib/Makefile.in
+++ /dev/null
@@ -1,369 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-subdir = obj/debug/lib
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu obj/debug/lib/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
-
-
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/obj/release/Makefile.am b/3rdparty/libflac/obj/release/Makefile.am
deleted file mode 100644
index 18f4a30f56e..00000000000
--- a/3rdparty/libflac/obj/release/Makefile.am
+++ /dev/null
@@ -1,20 +0,0 @@
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-SUBDIRS = \
- bin \
- lib
diff --git a/3rdparty/libflac/obj/release/Makefile.in b/3rdparty/libflac/obj/release/Makefile.in
deleted file mode 100644
index 2b68489e927..00000000000
--- a/3rdparty/libflac/obj/release/Makefile.in
+++ /dev/null
@@ -1,523 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-SUBDIRS = \
- bin \
- lib
-
-subdir = obj/release
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu obj/release/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- else \
- include_option=--include; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/obj/release/bin/Makefile.am b/3rdparty/libflac/obj/release/bin/Makefile.am
deleted file mode 100644
index 9b90e957a81..00000000000
--- a/3rdparty/libflac/obj/release/bin/Makefile.am
+++ /dev/null
@@ -1,16 +0,0 @@
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
diff --git a/3rdparty/libflac/obj/release/bin/Makefile.in b/3rdparty/libflac/obj/release/bin/Makefile.in
deleted file mode 100644
index 8d815ffe1e4..00000000000
--- a/3rdparty/libflac/obj/release/bin/Makefile.in
+++ /dev/null
@@ -1,369 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-subdir = obj/release/bin
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu obj/release/bin/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
-
-
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/obj/release/lib/Makefile.am b/3rdparty/libflac/obj/release/lib/Makefile.am
deleted file mode 100644
index 9b90e957a81..00000000000
--- a/3rdparty/libflac/obj/release/lib/Makefile.am
+++ /dev/null
@@ -1,16 +0,0 @@
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
diff --git a/3rdparty/libflac/obj/release/lib/Makefile.in b/3rdparty/libflac/obj/release/lib/Makefile.in
deleted file mode 100644
index 28dec4900cf..00000000000
--- a/3rdparty/libflac/obj/release/lib/Makefile.in
+++ /dev/null
@@ -1,369 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-subdir = obj/release/lib
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu obj/release/lib/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
-
-
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/oss-fuzz/Makefile.am b/3rdparty/libflac/oss-fuzz/Makefile.am
new file mode 100644
index 00000000000..bf669aa36c3
--- /dev/null
+++ b/3rdparty/libflac/oss-fuzz/Makefile.am
@@ -0,0 +1,104 @@
+# FLAC - Free Lossless Audio Codec
+# Copyright (C) 2019-2023 Xiph.Org Foundation
+#
+# This file is part the FLAC project. FLAC is comprised of several
+# components distributed under different licenses. The codec libraries
+# are distributed under Xiph.Org's BSD-like license (see the file
+# COPYING.Xiph in this distribution). All other programs, libraries, and
+# plugins are distributed under the GPL (see COPYING.GPL). The documentation
+# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
+# FLAC distribution contains at the top the terms under which it may be
+# distributed.
+#
+# Since this particular file is relevant to all components of FLAC,
+# it may be distributed under the Xiph.Org license, which is the least
+# restrictive of those mentioned above. See the file COPYING.Xiph in this
+# distribution.
+
+AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/oss-fuzz
+
+AM_CFLAGS = ${LIB_FUZZING_ENGINE}
+AM_CXXFLAGS = -std=c++11 $(LIB_FUZZING_ENGINE)
+LDADD = $(flac_libs)
+
+
+EXTRA_DIST = \
+ fuzzer_encoder.dict \
+ common.h \
+ Readme.md \
+ fuzzing/datasource/datasource.hpp \
+ fuzzing/datasource/id.hpp \
+ fuzzing/exception.hpp \
+ fuzzing/memory.hpp \
+ fuzzing/types.hpp
+
+noinst_PROGRAMS =
+
+if USE_OSSFUZZERS
+noinst_PROGRAMS += fuzzer_encoder fuzzer_encoder_v2 fuzzer_decoder fuzzer_seek fuzzer_metadata fuzzer_reencoder fuzzer_tool_flac fuzzer_tool_metaflac
+endif
+
+fuzzer_encoder_SOURCES = encoder.cc
+fuzzer_encoder_v2_SOURCES = encoder_v2.cc
+fuzzer_decoder_SOURCES = decoder.cc
+fuzzer_seek_SOURCES = seek.cc
+fuzzer_metadata_SOURCES = metadata.cc
+fuzzer_reencoder_SOURCES = reencoder.cc
+fuzzer_tool_flac_SOURCES = ${flac_SOURCES} empty.cc tool_flac.c # empty.cc is to force use of C++ linker, which is mandated by oss-fuzz
+fuzzer_tool_flac_LDADD = \
+ $(top_builddir)/src/share/utf8/libutf8.la \
+ $(top_builddir)/src/share/grabbag/libgrabbag.la \
+ $(top_builddir)/src/share/getopt/libgetopt.la \
+ $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
+ $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \
+ $(top_builddir)/src/libFLAC/libFLAC.la \
+ @LTLIBICONV@ \
+ -lm
+fuzzer_tool_metaflac_SOURCES = ${metaflac_SOURCES} empty.cc tool_metaflac.c # empty.cc is to force use of C++ linker, which is mandated by oss-fuzz
+fuzzer_tool_metaflac_LDADD = \
+ $(top_builddir)/src/share/utf8/libutf8.la \
+ $(top_builddir)/src/share/grabbag/libgrabbag.la \
+ $(top_builddir)/src/share/getopt/libgetopt.la \
+ $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
+ $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \
+ $(top_builddir)/src/libFLAC/libFLAC.la \
+ @LTLIBICONV@ \
+ -lm
+
+flac_libs = \
+ $(top_builddir)/src/libFLAC/libFLAC-static.la \
+ $(top_builddir)/src/libFLAC++/libFLAC++-static.la \
+ @OGG_LIBS@ \
+ -lm
+
+flac_SOURCES = \
+ ${top_builddir}/src/flac/analyze.c \
+ ${top_builddir}/src/flac/decode.c \
+ ${top_builddir}/src/flac/encode.c \
+ ${top_builddir}/src/flac/foreign_metadata.c \
+ ${top_builddir}/src/flac/local_string_utils.c \
+ ${top_builddir}/src/flac/utils.c \
+ ${top_builddir}/src/flac/vorbiscomment.c \
+ ${top_builddir}/src/flac/analyze.h \
+ ${top_builddir}/src/flac/decode.h \
+ ${top_builddir}/src/flac/encode.h \
+ ${top_builddir}/src/flac/foreign_metadata.h \
+ ${top_builddir}/src/flac/local_string_utils.h \
+ ${top_builddir}/src/flac/utils.h \
+ ${top_builddir}/src/flac/vorbiscomment.h
+
+metaflac_SOURCES = \
+ ${top_builddir}/src/metaflac/operations.c \
+ ${top_builddir}/src/metaflac/operations_shorthand_cuesheet.c \
+ ${top_builddir}/src/metaflac/operations_shorthand_picture.c \
+ ${top_builddir}/src/metaflac/operations_shorthand_seektable.c \
+ ${top_builddir}/src/metaflac/operations_shorthand_streaminfo.c \
+ ${top_builddir}/src/metaflac/operations_shorthand_vorbiscomment.c \
+ ${top_builddir}/src/metaflac/options.c \
+ ${top_builddir}/src/metaflac/usage.c \
+ ${top_builddir}/src/metaflac/utils.c \
+ ${top_builddir}/src/metaflac/operations.h \
+ ${top_builddir}/src/metaflac/operations_shorthand.h \
+ ${top_builddir}/src/metaflac/options.h \
+ ${top_builddir}/src/metaflac/usage.h \
+ ${top_builddir}/src/metaflac/utils.h
diff --git a/3rdparty/libflac/oss-fuzz/Makefile.in b/3rdparty/libflac/oss-fuzz/Makefile.in
new file mode 100644
index 00000000000..27620a4e477
--- /dev/null
+++ b/3rdparty/libflac/oss-fuzz/Makefile.in
@@ -0,0 +1,1033 @@
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# FLAC - Free Lossless Audio Codec
+# Copyright (C) 2019-2023 Xiph.Org Foundation
+#
+# This file is part the FLAC project. FLAC is comprised of several
+# components distributed under different licenses. The codec libraries
+# are distributed under Xiph.Org's BSD-like license (see the file
+# COPYING.Xiph in this distribution). All other programs, libraries, and
+# plugins are distributed under the GPL (see COPYING.GPL). The documentation
+# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
+# FLAC distribution contains at the top the terms under which it may be
+# distributed.
+#
+# Since this particular file is relevant to all components of FLAC,
+# it may be distributed under the Xiph.Org license, which is the least
+# restrictive of those mentioned above. See the file COPYING.Xiph in this
+# distribution.
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = $(am__EXEEXT_1)
+@USE_OSSFUZZERS_TRUE@am__append_1 = fuzzer_encoder fuzzer_encoder_v2 fuzzer_decoder fuzzer_seek fuzzer_metadata fuzzer_reencoder fuzzer_tool_flac fuzzer_tool_metaflac
+subdir = oss-fuzz
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+@USE_OSSFUZZERS_TRUE@am__EXEEXT_1 = fuzzer_encoder$(EXEEXT) \
+@USE_OSSFUZZERS_TRUE@ fuzzer_encoder_v2$(EXEEXT) \
+@USE_OSSFUZZERS_TRUE@ fuzzer_decoder$(EXEEXT) \
+@USE_OSSFUZZERS_TRUE@ fuzzer_seek$(EXEEXT) \
+@USE_OSSFUZZERS_TRUE@ fuzzer_metadata$(EXEEXT) \
+@USE_OSSFUZZERS_TRUE@ fuzzer_reencoder$(EXEEXT) \
+@USE_OSSFUZZERS_TRUE@ fuzzer_tool_flac$(EXEEXT) \
+@USE_OSSFUZZERS_TRUE@ fuzzer_tool_metaflac$(EXEEXT)
+PROGRAMS = $(noinst_PROGRAMS)
+am_fuzzer_decoder_OBJECTS = decoder.$(OBJEXT)
+fuzzer_decoder_OBJECTS = $(am_fuzzer_decoder_OBJECTS)
+fuzzer_decoder_LDADD = $(LDADD)
+am__DEPENDENCIES_1 = $(top_builddir)/src/libFLAC/libFLAC-static.la \
+ $(top_builddir)/src/libFLAC++/libFLAC++-static.la
+fuzzer_decoder_DEPENDENCIES = $(am__DEPENDENCIES_1)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+am_fuzzer_encoder_OBJECTS = encoder.$(OBJEXT)
+fuzzer_encoder_OBJECTS = $(am_fuzzer_encoder_OBJECTS)
+fuzzer_encoder_LDADD = $(LDADD)
+fuzzer_encoder_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_fuzzer_encoder_v2_OBJECTS = encoder_v2.$(OBJEXT)
+fuzzer_encoder_v2_OBJECTS = $(am_fuzzer_encoder_v2_OBJECTS)
+fuzzer_encoder_v2_LDADD = $(LDADD)
+fuzzer_encoder_v2_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_fuzzer_metadata_OBJECTS = metadata.$(OBJEXT)
+fuzzer_metadata_OBJECTS = $(am_fuzzer_metadata_OBJECTS)
+fuzzer_metadata_LDADD = $(LDADD)
+fuzzer_metadata_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_fuzzer_reencoder_OBJECTS = reencoder.$(OBJEXT)
+fuzzer_reencoder_OBJECTS = $(am_fuzzer_reencoder_OBJECTS)
+fuzzer_reencoder_LDADD = $(LDADD)
+fuzzer_reencoder_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_fuzzer_seek_OBJECTS = seek.$(OBJEXT)
+fuzzer_seek_OBJECTS = $(am_fuzzer_seek_OBJECTS)
+fuzzer_seek_LDADD = $(LDADD)
+fuzzer_seek_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__dirstamp = $(am__leading_dot)dirstamp
+am__objects_1 = ${top_builddir}/src/flac/analyze.$(OBJEXT) \
+ ${top_builddir}/src/flac/decode.$(OBJEXT) \
+ ${top_builddir}/src/flac/encode.$(OBJEXT) \
+ ${top_builddir}/src/flac/foreign_metadata.$(OBJEXT) \
+ ${top_builddir}/src/flac/local_string_utils.$(OBJEXT) \
+ ${top_builddir}/src/flac/utils.$(OBJEXT) \
+ ${top_builddir}/src/flac/vorbiscomment.$(OBJEXT)
+am_fuzzer_tool_flac_OBJECTS = $(am__objects_1) empty.$(OBJEXT) \
+ tool_flac.$(OBJEXT)
+fuzzer_tool_flac_OBJECTS = $(am_fuzzer_tool_flac_OBJECTS)
+fuzzer_tool_flac_DEPENDENCIES = \
+ $(top_builddir)/src/share/utf8/libutf8.la \
+ $(top_builddir)/src/share/grabbag/libgrabbag.la \
+ $(top_builddir)/src/share/getopt/libgetopt.la \
+ $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
+ $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \
+ $(top_builddir)/src/libFLAC/libFLAC.la
+am__objects_2 = ${top_builddir}/src/metaflac/operations.$(OBJEXT) \
+ ${top_builddir}/src/metaflac/operations_shorthand_cuesheet.$(OBJEXT) \
+ ${top_builddir}/src/metaflac/operations_shorthand_picture.$(OBJEXT) \
+ ${top_builddir}/src/metaflac/operations_shorthand_seektable.$(OBJEXT) \
+ ${top_builddir}/src/metaflac/operations_shorthand_streaminfo.$(OBJEXT) \
+ ${top_builddir}/src/metaflac/operations_shorthand_vorbiscomment.$(OBJEXT) \
+ ${top_builddir}/src/metaflac/options.$(OBJEXT) \
+ ${top_builddir}/src/metaflac/usage.$(OBJEXT) \
+ ${top_builddir}/src/metaflac/utils.$(OBJEXT)
+am_fuzzer_tool_metaflac_OBJECTS = $(am__objects_2) empty.$(OBJEXT) \
+ tool_metaflac.$(OBJEXT)
+fuzzer_tool_metaflac_OBJECTS = $(am_fuzzer_tool_metaflac_OBJECTS)
+fuzzer_tool_metaflac_DEPENDENCIES = \
+ $(top_builddir)/src/share/utf8/libutf8.la \
+ $(top_builddir)/src/share/grabbag/libgrabbag.la \
+ $(top_builddir)/src/share/getopt/libgetopt.la \
+ $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
+ $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \
+ $(top_builddir)/src/libFLAC/libFLAC.la
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ${top_builddir}/src/flac/$(DEPDIR)/analyze.Po \
+ ${top_builddir}/src/flac/$(DEPDIR)/decode.Po \
+ ${top_builddir}/src/flac/$(DEPDIR)/encode.Po \
+ ${top_builddir}/src/flac/$(DEPDIR)/foreign_metadata.Po \
+ ${top_builddir}/src/flac/$(DEPDIR)/local_string_utils.Po \
+ ${top_builddir}/src/flac/$(DEPDIR)/utils.Po \
+ ${top_builddir}/src/flac/$(DEPDIR)/vorbiscomment.Po \
+ ${top_builddir}/src/metaflac/$(DEPDIR)/operations.Po \
+ ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_cuesheet.Po \
+ ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_picture.Po \
+ ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_seektable.Po \
+ ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_streaminfo.Po \
+ ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_vorbiscomment.Po \
+ ${top_builddir}/src/metaflac/$(DEPDIR)/options.Po \
+ ${top_builddir}/src/metaflac/$(DEPDIR)/usage.Po \
+ ${top_builddir}/src/metaflac/$(DEPDIR)/utils.Po \
+ ./$(DEPDIR)/decoder.Po ./$(DEPDIR)/empty.Po \
+ ./$(DEPDIR)/encoder.Po ./$(DEPDIR)/encoder_v2.Po \
+ ./$(DEPDIR)/metadata.Po ./$(DEPDIR)/reencoder.Po \
+ ./$(DEPDIR)/seek.Po ./$(DEPDIR)/tool_flac.Po \
+ ./$(DEPDIR)/tool_metaflac.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_@AM_V@)
+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
+am__v_CXX_0 = @echo " CXX " $@;
+am__v_CXX_1 =
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo " CXXLD " $@;
+am__v_CXXLD_1 =
+SOURCES = $(fuzzer_decoder_SOURCES) $(fuzzer_encoder_SOURCES) \
+ $(fuzzer_encoder_v2_SOURCES) $(fuzzer_metadata_SOURCES) \
+ $(fuzzer_reencoder_SOURCES) $(fuzzer_seek_SOURCES) \
+ $(fuzzer_tool_flac_SOURCES) $(fuzzer_tool_metaflac_SOURCES)
+DIST_SOURCES = $(fuzzer_decoder_SOURCES) $(fuzzer_encoder_SOURCES) \
+ $(fuzzer_encoder_v2_SOURCES) $(fuzzer_metadata_SOURCES) \
+ $(fuzzer_reencoder_SOURCES) $(fuzzer_seek_SOURCES) \
+ $(fuzzer_tool_flac_SOURCES) $(fuzzer_tool_metaflac_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
+FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
+FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OBJ_FORMAT = @OBJ_FORMAT@
+OGG_CFLAGS = @OGG_CFLAGS@
+OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/oss-fuzz
+AM_CFLAGS = ${LIB_FUZZING_ENGINE}
+AM_CXXFLAGS = -std=c++11 $(LIB_FUZZING_ENGINE)
+LDADD = $(flac_libs)
+EXTRA_DIST = \
+ fuzzer_encoder.dict \
+ common.h \
+ Readme.md \
+ fuzzing/datasource/datasource.hpp \
+ fuzzing/datasource/id.hpp \
+ fuzzing/exception.hpp \
+ fuzzing/memory.hpp \
+ fuzzing/types.hpp
+
+fuzzer_encoder_SOURCES = encoder.cc
+fuzzer_encoder_v2_SOURCES = encoder_v2.cc
+fuzzer_decoder_SOURCES = decoder.cc
+fuzzer_seek_SOURCES = seek.cc
+fuzzer_metadata_SOURCES = metadata.cc
+fuzzer_reencoder_SOURCES = reencoder.cc
+fuzzer_tool_flac_SOURCES = ${flac_SOURCES} empty.cc tool_flac.c # empty.cc is to force use of C++ linker, which is mandated by oss-fuzz
+fuzzer_tool_flac_LDADD = \
+ $(top_builddir)/src/share/utf8/libutf8.la \
+ $(top_builddir)/src/share/grabbag/libgrabbag.la \
+ $(top_builddir)/src/share/getopt/libgetopt.la \
+ $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
+ $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \
+ $(top_builddir)/src/libFLAC/libFLAC.la \
+ @LTLIBICONV@ \
+ -lm
+
+fuzzer_tool_metaflac_SOURCES = ${metaflac_SOURCES} empty.cc tool_metaflac.c # empty.cc is to force use of C++ linker, which is mandated by oss-fuzz
+fuzzer_tool_metaflac_LDADD = \
+ $(top_builddir)/src/share/utf8/libutf8.la \
+ $(top_builddir)/src/share/grabbag/libgrabbag.la \
+ $(top_builddir)/src/share/getopt/libgetopt.la \
+ $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
+ $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \
+ $(top_builddir)/src/libFLAC/libFLAC.la \
+ @LTLIBICONV@ \
+ -lm
+
+flac_libs = \
+ $(top_builddir)/src/libFLAC/libFLAC-static.la \
+ $(top_builddir)/src/libFLAC++/libFLAC++-static.la \
+ @OGG_LIBS@ \
+ -lm
+
+flac_SOURCES = \
+ ${top_builddir}/src/flac/analyze.c \
+ ${top_builddir}/src/flac/decode.c \
+ ${top_builddir}/src/flac/encode.c \
+ ${top_builddir}/src/flac/foreign_metadata.c \
+ ${top_builddir}/src/flac/local_string_utils.c \
+ ${top_builddir}/src/flac/utils.c \
+ ${top_builddir}/src/flac/vorbiscomment.c \
+ ${top_builddir}/src/flac/analyze.h \
+ ${top_builddir}/src/flac/decode.h \
+ ${top_builddir}/src/flac/encode.h \
+ ${top_builddir}/src/flac/foreign_metadata.h \
+ ${top_builddir}/src/flac/local_string_utils.h \
+ ${top_builddir}/src/flac/utils.h \
+ ${top_builddir}/src/flac/vorbiscomment.h
+
+metaflac_SOURCES = \
+ ${top_builddir}/src/metaflac/operations.c \
+ ${top_builddir}/src/metaflac/operations_shorthand_cuesheet.c \
+ ${top_builddir}/src/metaflac/operations_shorthand_picture.c \
+ ${top_builddir}/src/metaflac/operations_shorthand_seektable.c \
+ ${top_builddir}/src/metaflac/operations_shorthand_streaminfo.c \
+ ${top_builddir}/src/metaflac/operations_shorthand_vorbiscomment.c \
+ ${top_builddir}/src/metaflac/options.c \
+ ${top_builddir}/src/metaflac/usage.c \
+ ${top_builddir}/src/metaflac/utils.c \
+ ${top_builddir}/src/metaflac/operations.h \
+ ${top_builddir}/src/metaflac/operations_shorthand.h \
+ ${top_builddir}/src/metaflac/options.h \
+ ${top_builddir}/src/metaflac/usage.h \
+ ${top_builddir}/src/metaflac/utils.h
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .cc .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign oss-fuzz/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign oss-fuzz/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+fuzzer_decoder$(EXEEXT): $(fuzzer_decoder_OBJECTS) $(fuzzer_decoder_DEPENDENCIES) $(EXTRA_fuzzer_decoder_DEPENDENCIES)
+ @rm -f fuzzer_decoder$(EXEEXT)
+ $(AM_V_CXXLD)$(CXXLINK) $(fuzzer_decoder_OBJECTS) $(fuzzer_decoder_LDADD) $(LIBS)
+
+fuzzer_encoder$(EXEEXT): $(fuzzer_encoder_OBJECTS) $(fuzzer_encoder_DEPENDENCIES) $(EXTRA_fuzzer_encoder_DEPENDENCIES)
+ @rm -f fuzzer_encoder$(EXEEXT)
+ $(AM_V_CXXLD)$(CXXLINK) $(fuzzer_encoder_OBJECTS) $(fuzzer_encoder_LDADD) $(LIBS)
+
+fuzzer_encoder_v2$(EXEEXT): $(fuzzer_encoder_v2_OBJECTS) $(fuzzer_encoder_v2_DEPENDENCIES) $(EXTRA_fuzzer_encoder_v2_DEPENDENCIES)
+ @rm -f fuzzer_encoder_v2$(EXEEXT)
+ $(AM_V_CXXLD)$(CXXLINK) $(fuzzer_encoder_v2_OBJECTS) $(fuzzer_encoder_v2_LDADD) $(LIBS)
+
+fuzzer_metadata$(EXEEXT): $(fuzzer_metadata_OBJECTS) $(fuzzer_metadata_DEPENDENCIES) $(EXTRA_fuzzer_metadata_DEPENDENCIES)
+ @rm -f fuzzer_metadata$(EXEEXT)
+ $(AM_V_CXXLD)$(CXXLINK) $(fuzzer_metadata_OBJECTS) $(fuzzer_metadata_LDADD) $(LIBS)
+
+fuzzer_reencoder$(EXEEXT): $(fuzzer_reencoder_OBJECTS) $(fuzzer_reencoder_DEPENDENCIES) $(EXTRA_fuzzer_reencoder_DEPENDENCIES)
+ @rm -f fuzzer_reencoder$(EXEEXT)
+ $(AM_V_CXXLD)$(CXXLINK) $(fuzzer_reencoder_OBJECTS) $(fuzzer_reencoder_LDADD) $(LIBS)
+
+fuzzer_seek$(EXEEXT): $(fuzzer_seek_OBJECTS) $(fuzzer_seek_DEPENDENCIES) $(EXTRA_fuzzer_seek_DEPENDENCIES)
+ @rm -f fuzzer_seek$(EXEEXT)
+ $(AM_V_CXXLD)$(CXXLINK) $(fuzzer_seek_OBJECTS) $(fuzzer_seek_LDADD) $(LIBS)
+${top_builddir}/src/flac/$(am__dirstamp):
+ @$(MKDIR_P) ${top_builddir}/src/flac
+ @: > ${top_builddir}/src/flac/$(am__dirstamp)
+${top_builddir}/src/flac/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) ${top_builddir}/src/flac/$(DEPDIR)
+ @: > ${top_builddir}/src/flac/$(DEPDIR)/$(am__dirstamp)
+${top_builddir}/src/flac/analyze.$(OBJEXT): \
+ ${top_builddir}/src/flac/$(am__dirstamp) \
+ ${top_builddir}/src/flac/$(DEPDIR)/$(am__dirstamp)
+${top_builddir}/src/flac/decode.$(OBJEXT): \
+ ${top_builddir}/src/flac/$(am__dirstamp) \
+ ${top_builddir}/src/flac/$(DEPDIR)/$(am__dirstamp)
+${top_builddir}/src/flac/encode.$(OBJEXT): \
+ ${top_builddir}/src/flac/$(am__dirstamp) \
+ ${top_builddir}/src/flac/$(DEPDIR)/$(am__dirstamp)
+${top_builddir}/src/flac/foreign_metadata.$(OBJEXT): \
+ ${top_builddir}/src/flac/$(am__dirstamp) \
+ ${top_builddir}/src/flac/$(DEPDIR)/$(am__dirstamp)
+${top_builddir}/src/flac/local_string_utils.$(OBJEXT): \
+ ${top_builddir}/src/flac/$(am__dirstamp) \
+ ${top_builddir}/src/flac/$(DEPDIR)/$(am__dirstamp)
+${top_builddir}/src/flac/utils.$(OBJEXT): \
+ ${top_builddir}/src/flac/$(am__dirstamp) \
+ ${top_builddir}/src/flac/$(DEPDIR)/$(am__dirstamp)
+${top_builddir}/src/flac/vorbiscomment.$(OBJEXT): \
+ ${top_builddir}/src/flac/$(am__dirstamp) \
+ ${top_builddir}/src/flac/$(DEPDIR)/$(am__dirstamp)
+
+fuzzer_tool_flac$(EXEEXT): $(fuzzer_tool_flac_OBJECTS) $(fuzzer_tool_flac_DEPENDENCIES) $(EXTRA_fuzzer_tool_flac_DEPENDENCIES)
+ @rm -f fuzzer_tool_flac$(EXEEXT)
+ $(AM_V_CXXLD)$(CXXLINK) $(fuzzer_tool_flac_OBJECTS) $(fuzzer_tool_flac_LDADD) $(LIBS)
+${top_builddir}/src/metaflac/$(am__dirstamp):
+ @$(MKDIR_P) ${top_builddir}/src/metaflac
+ @: > ${top_builddir}/src/metaflac/$(am__dirstamp)
+${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) ${top_builddir}/src/metaflac/$(DEPDIR)
+ @: > ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp)
+${top_builddir}/src/metaflac/operations.$(OBJEXT): \
+ ${top_builddir}/src/metaflac/$(am__dirstamp) \
+ ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp)
+${top_builddir}/src/metaflac/operations_shorthand_cuesheet.$(OBJEXT): \
+ ${top_builddir}/src/metaflac/$(am__dirstamp) \
+ ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp)
+${top_builddir}/src/metaflac/operations_shorthand_picture.$(OBJEXT): \
+ ${top_builddir}/src/metaflac/$(am__dirstamp) \
+ ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp)
+${top_builddir}/src/metaflac/operations_shorthand_seektable.$(OBJEXT): \
+ ${top_builddir}/src/metaflac/$(am__dirstamp) \
+ ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp)
+${top_builddir}/src/metaflac/operations_shorthand_streaminfo.$(OBJEXT): \
+ ${top_builddir}/src/metaflac/$(am__dirstamp) \
+ ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp)
+${top_builddir}/src/metaflac/operations_shorthand_vorbiscomment.$(OBJEXT): \
+ ${top_builddir}/src/metaflac/$(am__dirstamp) \
+ ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp)
+${top_builddir}/src/metaflac/options.$(OBJEXT): \
+ ${top_builddir}/src/metaflac/$(am__dirstamp) \
+ ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp)
+${top_builddir}/src/metaflac/usage.$(OBJEXT): \
+ ${top_builddir}/src/metaflac/$(am__dirstamp) \
+ ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp)
+${top_builddir}/src/metaflac/utils.$(OBJEXT): \
+ ${top_builddir}/src/metaflac/$(am__dirstamp) \
+ ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp)
+
+fuzzer_tool_metaflac$(EXEEXT): $(fuzzer_tool_metaflac_OBJECTS) $(fuzzer_tool_metaflac_DEPENDENCIES) $(EXTRA_fuzzer_tool_metaflac_DEPENDENCIES)
+ @rm -f fuzzer_tool_metaflac$(EXEEXT)
+ $(AM_V_CXXLD)$(CXXLINK) $(fuzzer_tool_metaflac_OBJECTS) $(fuzzer_tool_metaflac_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+ -rm -f ${top_builddir}/src/flac/*.$(OBJEXT)
+ -rm -f ${top_builddir}/src/metaflac/*.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/flac/$(DEPDIR)/analyze.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/flac/$(DEPDIR)/decode.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/flac/$(DEPDIR)/encode.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/flac/$(DEPDIR)/foreign_metadata.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/flac/$(DEPDIR)/local_string_utils.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/flac/$(DEPDIR)/utils.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/flac/$(DEPDIR)/vorbiscomment.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/metaflac/$(DEPDIR)/operations.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_cuesheet.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_picture.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_seektable.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_streaminfo.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_vorbiscomment.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/metaflac/$(DEPDIR)/options.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/metaflac/$(DEPDIR)/usage.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/metaflac/$(DEPDIR)/utils.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decoder.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/empty.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encoder.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encoder_v2.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reencoder.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/seek.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_flac.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_metaflac.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+.cc.o:
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -rm -f ${top_builddir}/src/flac/$(DEPDIR)/$(am__dirstamp)
+ -rm -f ${top_builddir}/src/flac/$(am__dirstamp)
+ -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp)
+ -rm -f ${top_builddir}/src/metaflac/$(am__dirstamp)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -f ${top_builddir}/src/flac/$(DEPDIR)/analyze.Po
+ -rm -f ${top_builddir}/src/flac/$(DEPDIR)/decode.Po
+ -rm -f ${top_builddir}/src/flac/$(DEPDIR)/encode.Po
+ -rm -f ${top_builddir}/src/flac/$(DEPDIR)/foreign_metadata.Po
+ -rm -f ${top_builddir}/src/flac/$(DEPDIR)/local_string_utils.Po
+ -rm -f ${top_builddir}/src/flac/$(DEPDIR)/utils.Po
+ -rm -f ${top_builddir}/src/flac/$(DEPDIR)/vorbiscomment.Po
+ -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations.Po
+ -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_cuesheet.Po
+ -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_picture.Po
+ -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_seektable.Po
+ -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_streaminfo.Po
+ -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_vorbiscomment.Po
+ -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/options.Po
+ -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/usage.Po
+ -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/utils.Po
+ -rm -f ./$(DEPDIR)/decoder.Po
+ -rm -f ./$(DEPDIR)/empty.Po
+ -rm -f ./$(DEPDIR)/encoder.Po
+ -rm -f ./$(DEPDIR)/encoder_v2.Po
+ -rm -f ./$(DEPDIR)/metadata.Po
+ -rm -f ./$(DEPDIR)/reencoder.Po
+ -rm -f ./$(DEPDIR)/seek.Po
+ -rm -f ./$(DEPDIR)/tool_flac.Po
+ -rm -f ./$(DEPDIR)/tool_metaflac.Po
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f ${top_builddir}/src/flac/$(DEPDIR)/analyze.Po
+ -rm -f ${top_builddir}/src/flac/$(DEPDIR)/decode.Po
+ -rm -f ${top_builddir}/src/flac/$(DEPDIR)/encode.Po
+ -rm -f ${top_builddir}/src/flac/$(DEPDIR)/foreign_metadata.Po
+ -rm -f ${top_builddir}/src/flac/$(DEPDIR)/local_string_utils.Po
+ -rm -f ${top_builddir}/src/flac/$(DEPDIR)/utils.Po
+ -rm -f ${top_builddir}/src/flac/$(DEPDIR)/vorbiscomment.Po
+ -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations.Po
+ -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_cuesheet.Po
+ -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_picture.Po
+ -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_seektable.Po
+ -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_streaminfo.Po
+ -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_vorbiscomment.Po
+ -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/options.Po
+ -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/usage.Po
+ -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/utils.Po
+ -rm -f ./$(DEPDIR)/decoder.Po
+ -rm -f ./$(DEPDIR)/empty.Po
+ -rm -f ./$(DEPDIR)/encoder.Po
+ -rm -f ./$(DEPDIR)/encoder_v2.Po
+ -rm -f ./$(DEPDIR)/metadata.Po
+ -rm -f ./$(DEPDIR)/reencoder.Po
+ -rm -f ./$(DEPDIR)/seek.Po
+ -rm -f ./$(DEPDIR)/tool_flac.Po
+ -rm -f ./$(DEPDIR)/tool_metaflac.Po
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/3rdparty/libflac/oss-fuzz/Readme.md b/3rdparty/libflac/oss-fuzz/Readme.md
new file mode 100644
index 00000000000..90f27639b20
--- /dev/null
+++ b/3rdparty/libflac/oss-fuzz/Readme.md
@@ -0,0 +1,13 @@
+Fuzzers fuzzer_decoder.cc and fuzzer_encoder.cc were taken from
+
+ https://github.com/guidovranken/flac-fuzzers
+
+The header files in the directory fuzzing and below were taken from:
+
+ https://github.com/guidovranken/fuzzing-headers.git
+
+Some minor modifications were made to make them build with the default C++
+warning flags.
+
+The code mentioned above, contributed by Guido Vranken, is licensed under
+the MIT license. See the files themselves for details
diff --git a/3rdparty/libflac/oss-fuzz/common.h b/3rdparty/libflac/oss-fuzz/common.h
new file mode 100644
index 00000000000..9545f95e253
--- /dev/null
+++ b/3rdparty/libflac/oss-fuzz/common.h
@@ -0,0 +1,2 @@
+extern int alloc_check_threshold, alloc_check_counter;
+int alloc_check_threshold = INT32_MAX, alloc_check_counter = 0;
diff --git a/3rdparty/libflac/oss-fuzz/decoder.cc b/3rdparty/libflac/oss-fuzz/decoder.cc
new file mode 100644
index 00000000000..b7ddf21828d
--- /dev/null
+++ b/3rdparty/libflac/oss-fuzz/decoder.cc
@@ -0,0 +1,408 @@
+/* Copyright 2019 Guido Vranken
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject
+ * to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#include <cstddef>
+#include <cstdint>
+
+#include <fuzzing/datasource/datasource.hpp>
+#include <fuzzing/memory.hpp>
+
+#include "FLAC++/decoder.h"
+#include "FLAC++/metadata.h"
+#include "common.h"
+
+template <> FLAC__MetadataType fuzzing::datasource::Base::Get<FLAC__MetadataType>(const uint64_t id) {
+ (void)id;
+ switch ( Get<uint8_t>() ) {
+ case 0:
+ return FLAC__METADATA_TYPE_STREAMINFO;
+ case 1:
+ return FLAC__METADATA_TYPE_PADDING;
+ case 2:
+ return FLAC__METADATA_TYPE_APPLICATION;
+ case 3:
+ return FLAC__METADATA_TYPE_SEEKTABLE;
+ case 4:
+ return FLAC__METADATA_TYPE_VORBIS_COMMENT;
+ case 5:
+ return FLAC__METADATA_TYPE_CUESHEET;
+ case 6:
+ return FLAC__METADATA_TYPE_PICTURE;
+ case 7:
+ return FLAC__METADATA_TYPE_UNDEFINED;
+ case 8:
+ return FLAC__MAX_METADATA_TYPE;
+ default:
+ return FLAC__METADATA_TYPE_STREAMINFO;
+ }
+}
+
+namespace FLAC {
+ namespace Decoder {
+ class FuzzerStream : public Stream {
+ private:
+ fuzzing::datasource::Datasource& ds;
+ public:
+ FuzzerStream(fuzzing::datasource::Datasource& dsrc) :
+ Stream(), ds(dsrc) { }
+
+ ::FLAC__StreamDecoderReadStatus read_callback(FLAC__byte buffer[], size_t *bytes) override {
+ try {
+ const size_t maxCopySize = *bytes;
+
+ if ( maxCopySize > 0 ) {
+ /* memset just to test if this overwrites anything, and triggers ASAN */
+ memset(buffer, 0, maxCopySize);
+ }
+
+ const auto data = ds.GetData(0);
+ const auto dataSize = data.size();
+ const auto copySize = std::min(maxCopySize, dataSize);
+
+ if ( copySize > 0 ) {
+ memcpy(buffer, data.data(), copySize);
+ }
+
+ *bytes = copySize;
+
+ return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE;
+ } catch ( ... ) {
+ return FLAC__STREAM_DECODER_READ_STATUS_ABORT;
+ }
+ }
+
+ ::FLAC__StreamDecoderWriteStatus write_callback(const ::FLAC__Frame *frame, const FLAC__int32 * const buffer[]) override {
+ {
+ fuzzing::memory::memory_test(&(frame->header), sizeof(frame->header));
+ fuzzing::memory::memory_test(&(frame->footer), sizeof(frame->footer));
+ }
+
+ {
+ const auto numChannels = get_channels();
+ const size_t bytesPerChannel = frame->header.blocksize * sizeof(FLAC__int32);
+ for (size_t i = 0; i < numChannels; i++) {
+ fuzzing::memory::memory_test(buffer[i], bytesPerChannel);
+ }
+ }
+
+ try {
+ if ( ds.Get<bool>() == true ) {
+ return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
+ }
+ } catch ( ... ) { }
+ return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
+ }
+
+ void error_callback(::FLAC__StreamDecoderErrorStatus status) override {
+ fuzzing::memory::memory_test(status);
+ }
+
+ void metadata_callback(const ::FLAC__StreamMetadata *metadata) override {
+ Metadata::Prototype * cloned_object = nullptr;
+ fuzzing::memory::memory_test(metadata->type);
+ fuzzing::memory::memory_test(metadata->is_last);
+ fuzzing::memory::memory_test(metadata->length);
+ fuzzing::memory::memory_test(metadata->data);
+ if (metadata->type == FLAC__METADATA_TYPE_STREAMINFO)
+ cloned_object = new Metadata::StreamInfo(metadata);
+ else if (metadata->type == FLAC__METADATA_TYPE_PADDING)
+ cloned_object = new Metadata::Padding(metadata);
+ else if (metadata->type == FLAC__METADATA_TYPE_APPLICATION)
+ cloned_object = new Metadata::Application(metadata);
+ else if (metadata->type == FLAC__METADATA_TYPE_SEEKTABLE)
+ cloned_object = new Metadata::SeekTable(metadata);
+ else if (metadata->type == FLAC__METADATA_TYPE_VORBIS_COMMENT)
+ cloned_object = new Metadata::VorbisComment(metadata);
+ else if (metadata->type == FLAC__METADATA_TYPE_CUESHEET)
+ cloned_object = new Metadata::CueSheet(metadata);
+ else if (metadata->type == FLAC__METADATA_TYPE_PICTURE)
+ cloned_object = new Metadata::Picture(metadata);
+ else
+ return;
+ if (0 != cloned_object && *cloned_object == *metadata && cloned_object->is_valid()) {
+ if (cloned_object->get_type() == FLAC__METADATA_TYPE_SEEKTABLE)
+ dynamic_cast<Metadata::SeekTable *>(cloned_object)->is_legal();
+ if (cloned_object->get_type() == FLAC__METADATA_TYPE_PICTURE)
+ dynamic_cast<Metadata::Picture *>(cloned_object)->is_legal(NULL);
+ if (cloned_object->get_type() == FLAC__METADATA_TYPE_CUESHEET)
+ dynamic_cast<Metadata::CueSheet *>(cloned_object)->is_legal(true,NULL);
+ }
+ delete cloned_object;
+ }
+
+ ::FLAC__StreamDecoderSeekStatus seek_callback(FLAC__uint64 absolute_byte_offset) override {
+ fuzzing::memory::memory_test(absolute_byte_offset);
+
+ try {
+ if ( ds.Get<bool>() == true ) {
+ return FLAC__STREAM_DECODER_SEEK_STATUS_OK;
+ } else {
+ return FLAC__STREAM_DECODER_SEEK_STATUS_ERROR;
+ }
+ } catch ( ... ) {
+ return FLAC__STREAM_DECODER_SEEK_STATUS_OK;
+ }
+ }
+#if 0
+ ::FLAC__StreamDecoderTellStatus tell_callback(FLAC__uint64 *absolute_byte_offset) override {
+ fuzzing::memory::memory_test(*absolute_byte_offset);
+
+ try {
+ if ( ds.Get<bool>() == true ) {
+ return FLAC__STREAM_DECODER_TELL_STATUS_OK;
+ } else {
+ return FLAC__STREAM_DECODER_TELL_STATUS_ERROR;
+ }
+ } catch ( ... ) {
+ return FLAC__STREAM_DECODER_TELL_STATUS_OK;
+ }
+ }
+
+ ::FLAC__StreamDecoderLengthStatus length_callback(FLAC__uint64 *stream_length) override {
+ fuzzing::memory::memory_test(*stream_length);
+
+ try {
+ if ( ds.Get<bool>() == true ) {
+ return FLAC__STREAM_DECODER_LENGTH_STATUS_OK;
+ } else {
+ return FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR;
+ }
+ } catch ( ... ) {
+ return FLAC__STREAM_DECODER_LENGTH_STATUS_OK;
+ }
+ }
+#endif
+ };
+ }
+}
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
+ fuzzing::datasource::Datasource ds(data, size);
+ FLAC::Decoder::FuzzerStream decoder(ds);
+ bool use_ogg = true;
+
+ try {
+ if ( ds.Get<bool>() ) {
+ use_ogg = false;
+ }
+ if ( ds.Get<bool>() ) {
+#ifdef FUZZER_DEBUG
+ printf("set_ogg_serial_number\n");
+#endif
+ decoder.set_ogg_serial_number(ds.Get<long>());
+ }
+ if ( ds.Get<bool>() ) {
+#ifdef FUZZER_DEBUG
+ printf("set_md5_checking\n");
+#endif
+ decoder.set_md5_checking(ds.Get<bool>());
+ }
+ if ( ds.Get<bool>() ) {
+#ifdef FUZZER_DEBUG
+ printf("set_metadata_respond\n");
+#endif
+ decoder.set_metadata_respond(ds.Get<::FLAC__MetadataType>());
+ }
+ if ( ds.Get<bool>() ) {
+ const auto idVector = ds.GetData(0);
+ unsigned char id[4];
+ if ( idVector.size() >= sizeof(id) ) {
+ memcpy(id, idVector.data(), sizeof(id));
+#ifdef FUZZER_DEBUG
+ printf("set_metadata_respond_application\n");
+#endif
+ decoder.set_metadata_respond_application(id);
+ }
+ }
+ if ( ds.Get<bool>() ) {
+#ifdef FUZZER_DEBUG
+ printf("set_metadata_respond_all\n");
+#endif
+ decoder.set_metadata_respond_all();
+ }
+ if ( ds.Get<bool>() ) {
+#ifdef FUZZER_DEBUG
+ printf("set_metadata_ignore\n");
+#endif
+ decoder.set_metadata_ignore(ds.Get<::FLAC__MetadataType>());
+ }
+ if ( ds.Get<bool>() ) {
+ const auto idVector = ds.GetData(0);
+ unsigned char id[4];
+ if ( idVector.size() >= sizeof(id) ) {
+ memcpy(id, idVector.data(), sizeof(id));
+#ifdef FUZZER_DEBUG
+ printf("set_metadata_ignore_application\n");
+#endif
+ decoder.set_metadata_ignore_application(id);
+ }
+ }
+ if ( ds.Get<bool>() ) {
+#ifdef FUZZER_DEBUG
+ printf("set_metadata_ignore_all\n");
+#endif
+ decoder.set_metadata_ignore_all();
+ }
+ {
+ ::FLAC__StreamDecoderInitStatus ret;
+ if ( !use_ogg ) {
+ ret = decoder.init();
+ } else {
+ ret = decoder.init_ogg();
+ }
+
+ if ( ret != FLAC__STREAM_DECODER_INIT_STATUS_OK ) {
+ goto end;
+ }
+ }
+
+ while ( ds.Get<bool>() ) {
+ switch ( ds.Get<uint8_t>() ) {
+ case 0:
+ {
+#ifdef FUZZER_DEBUG
+ printf("flush\n");
+#endif
+ const bool res = decoder.flush();
+ fuzzing::memory::memory_test(res);
+ }
+ break;
+ case 1:
+ {
+#ifdef FUZZER_DEBUG
+ printf("reset\n");
+#endif
+ const bool res = decoder.reset();
+ fuzzing::memory::memory_test(res);
+ }
+ break;
+ case 2:
+ {
+#ifdef FUZZER_DEBUG
+ printf("process_single\n");
+#endif
+ const bool res = decoder.process_single();
+ fuzzing::memory::memory_test(res);
+ }
+ break;
+ case 3:
+ {
+#ifdef FUZZER_DEBUG
+ printf("process_until_end_of_metadata\n");
+#endif
+ const bool res = decoder.process_until_end_of_metadata();
+ fuzzing::memory::memory_test(res);
+ }
+ break;
+ case 4:
+ {
+#ifdef FUZZER_DEBUG
+ printf("process_until_end_of_stream\n");
+#endif
+ const bool res = decoder.process_until_end_of_stream();
+ fuzzing::memory::memory_test(res);
+ }
+ break;
+ case 5:
+ {
+#ifdef FUZZER_DEBUG
+ printf("skip_single_frame\n");
+#endif
+ const bool res = decoder.skip_single_frame();
+ fuzzing::memory::memory_test(res);
+ }
+ break;
+ case 6:
+ {
+#ifdef FUZZER_DEBUG
+ printf("seek_absolute\n");
+#endif
+ const bool res = decoder.seek_absolute(ds.Get<uint64_t>());
+ fuzzing::memory::memory_test(res);
+ }
+ break;
+ case 7:
+ {
+#ifdef FUZZER_DEBUG
+ printf("get_md5_checking\n");
+#endif
+ const bool res = decoder.get_md5_checking();
+ fuzzing::memory::memory_test(res);
+ }
+ break;
+ case 8:
+ {
+#ifdef FUZZER_DEBUG
+ printf("get_total_samples\n");
+#endif
+ const bool res = decoder.get_total_samples();
+ fuzzing::memory::memory_test(res);
+ }
+ break;
+ case 9:
+ {
+#ifdef FUZZER_DEBUG
+ printf("get_channels\n");
+#endif
+ const bool res = decoder.get_channels();
+ fuzzing::memory::memory_test(res);
+ }
+ break;
+ case 10:
+ {
+#ifdef FUZZER_DEBUG
+ printf("get_bits_per_sample\n");
+#endif
+ const bool res = decoder.get_bits_per_sample();
+ fuzzing::memory::memory_test(res);
+ }
+ break;
+ case 11:
+ {
+#ifdef FUZZER_DEBUG
+ printf("get_sample_rate\n");
+#endif
+ const bool res = decoder.get_sample_rate();
+ fuzzing::memory::memory_test(res);
+ }
+ break;
+ case 12:
+ {
+#ifdef FUZZER_DEBUG
+ printf("get_blocksize\n");
+#endif
+ const bool res = decoder.get_blocksize();
+ fuzzing::memory::memory_test(res);
+ }
+ break;
+ }
+ }
+ } catch ( ... ) { }
+
+end:
+ {
+ const bool res = decoder.finish();
+ fuzzing::memory::memory_test(res);
+ }
+ return 0;
+}
diff --git a/3rdparty/libflac/oss-fuzz/empty.cc b/3rdparty/libflac/oss-fuzz/empty.cc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/3rdparty/libflac/oss-fuzz/empty.cc
diff --git a/3rdparty/libflac/oss-fuzz/encoder.cc b/3rdparty/libflac/oss-fuzz/encoder.cc
new file mode 100644
index 00000000000..23cb39720e5
--- /dev/null
+++ b/3rdparty/libflac/oss-fuzz/encoder.cc
@@ -0,0 +1,257 @@
+/* Copyright 2019 Guido Vranken
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject
+ * to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#include <cstddef>
+#include <cstdint>
+#include <limits>
+
+#include <fuzzing/datasource/datasource.hpp>
+#include <fuzzing/memory.hpp>
+
+#include "FLAC++/encoder.h"
+#include "common.h"
+
+namespace FLAC {
+ namespace Encoder {
+ class FuzzerStream : public Stream {
+ private:
+ // fuzzing::datasource::Datasource& ds;
+ public:
+ FuzzerStream(fuzzing::datasource::Datasource&) :
+ Stream() { }
+
+ ::FLAC__StreamEncoderWriteStatus write_callback(const FLAC__byte buffer[], size_t bytes, uint32_t /* samples */, uint32_t /* current_frame */) override {
+ fuzzing::memory::memory_test(buffer, bytes);
+#if 0
+ try {
+ if ( ds.Get<bool>() == true ) {
+ return FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR;
+ }
+ } catch ( ... ) { }
+#endif
+ return FLAC__STREAM_ENCODER_WRITE_STATUS_OK;
+ }
+ };
+ }
+}
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
+ fuzzing::datasource::Datasource ds(data, size);
+ FLAC::Encoder::FuzzerStream encoder(ds);
+
+ try {
+ const int channels = ds.Get<uint8_t>();
+ const int bps = ds.Get<uint8_t>();
+ encoder.set_channels(channels);
+ encoder.set_bits_per_sample(bps);
+
+ {
+ const bool res = encoder.set_streamable_subset(ds.Get<bool>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_ogg_serial_number(ds.Get<long>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_verify(ds.Get<bool>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_compression_level(ds.Get<uint8_t>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_do_exhaustive_model_search(ds.Get<bool>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_do_mid_side_stereo(ds.Get<bool>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_loose_mid_side_stereo(ds.Get<bool>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const auto s = ds.Get<std::string>();
+ const bool res = encoder.set_apodization(s.data());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_max_lpc_order(ds.Get<uint8_t>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_qlp_coeff_precision(ds.Get<uint32_t>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_do_qlp_coeff_prec_search(ds.Get<bool>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_do_escape_coding(ds.Get<bool>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_min_residual_partition_order(ds.Get<uint32_t>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_max_residual_partition_order(ds.Get<uint32_t>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_rice_parameter_search_dist(ds.Get<uint32_t>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_total_samples_estimate(ds.Get<uint64_t>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_blocksize(ds.Get<uint16_t>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_limit_min_bitrate(ds.Get<bool>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_sample_rate(ds.Get<uint32_t>());
+ fuzzing::memory::memory_test(res);
+ }
+
+ if ( size > 2 * 65535 * 4 ) {
+ /* With large inputs and expensive options enabled, the fuzzer can get *really* slow.
+ * Some combinations can make the fuzzer timeout (>60 seconds). However, while combining
+ * options makes the fuzzer slower, most options do not expose new code when combined.
+ * Therefore, combining slow options is disabled for large inputs. Any input containing
+ * more than 65536 * 2 samples of 32 bits each (max blocksize, stereo) is considered large
+ */
+ encoder.set_do_qlp_coeff_prec_search(false);
+ encoder.set_do_exhaustive_model_search(false);
+ }
+ if ( size > 2 * 4096 * 4 + 250 ) {
+ /* With subdivide_tukey in the mix testing apodizations can get really expensive. Therefore
+ * this is disabled for inputs of more than one whole stereo block of 32-bit inputs plus a
+ * bit of overhead */
+ encoder.set_apodization("");
+ }
+
+ {
+ ::FLAC__StreamEncoderInitStatus ret;
+ if ( ds.Get<bool>() ) {
+ ret = encoder.init();
+ } else {
+ ret = encoder.init_ogg();
+ }
+
+ if ( ret != FLAC__STREAM_ENCODER_INIT_STATUS_OK ) {
+ goto end;
+ }
+ }
+
+ /* These sets must fail, because encoder is already initialized */
+ {
+ bool res = false;
+ res = res || encoder.set_streamable_subset(true);
+ res = res || encoder.set_ogg_serial_number(0);
+ res = res || encoder.set_verify(true);
+ res = res || encoder.set_compression_level(0);
+ res = res || encoder.set_do_exhaustive_model_search(true);
+ res = res || encoder.set_do_mid_side_stereo(true);
+ res = res || encoder.set_loose_mid_side_stereo(true);
+ res = res || encoder.set_apodization("test");
+ res = res || encoder.set_max_lpc_order(0);
+ res = res || encoder.set_qlp_coeff_precision(0);
+ res = res || encoder.set_do_qlp_coeff_prec_search(true);
+ res = res || encoder.set_do_escape_coding(true);
+ res = res || encoder.set_min_residual_partition_order(0);
+ res = res || encoder.set_max_residual_partition_order(0);
+ res = res || encoder.set_rice_parameter_search_dist(0);
+ res = res || encoder.set_total_samples_estimate(0);
+ res = res || encoder.set_channels(channels);
+ res = res || encoder.set_bits_per_sample(16);
+ res = res || encoder.set_limit_min_bitrate(true);
+ res = res || encoder.set_blocksize(3021);
+ res = res || encoder.set_sample_rate(44100);
+ fuzzing::memory::memory_test(res);
+ if(res)
+ abort();
+ }
+
+
+ {
+ /* XORing values as otherwise compiler will optimize, apparently */
+ bool res = false;
+ res = res != encoder.get_streamable_subset();
+ res = res != encoder.get_verify();
+ res = res != encoder.get_do_exhaustive_model_search();
+ res = res != encoder.get_do_mid_side_stereo();
+ res = res != encoder.get_loose_mid_side_stereo();
+ res = res != encoder.get_max_lpc_order();
+ res = res != encoder.get_qlp_coeff_precision();
+ res = res != encoder.get_do_qlp_coeff_prec_search();
+ res = res != encoder.get_do_escape_coding();
+ res = res != encoder.get_min_residual_partition_order();
+ res = res != encoder.get_max_residual_partition_order();
+ res = res != encoder.get_rice_parameter_search_dist();
+ res = res != encoder.get_total_samples_estimate();
+ res = res != encoder.get_channels();
+ res = res != encoder.get_bits_per_sample();
+ res = res != encoder.get_limit_min_bitrate();
+ res = res != encoder.get_blocksize();
+ res = res != encoder.get_sample_rate();
+ fuzzing::memory::memory_test(res);
+ }
+
+
+ while ( ds.Get<bool>() ) {
+ {
+ auto dat = ds.GetVector<FLAC__int32>();
+
+ if( ds.Get<bool>() )
+ /* Mask */
+ for (size_t i = 0; i < dat.size(); i++)
+ /* If we get here, bps is 4 or larger, or init will have failed */
+ dat[i] = (int32_t)(((uint32_t)(dat[i]) << (32-bps)) >> (32-bps));
+
+ const uint32_t samples = dat.size() / channels;
+ if ( samples > 0 ) {
+ const int32_t* ptr = dat.data();
+ const bool res = encoder.process_interleaved(ptr, samples);
+ fuzzing::memory::memory_test(res);
+ }
+ }
+ }
+ } catch ( ... ) { }
+
+end:
+ {
+ const bool res = encoder.finish();
+ fuzzing::memory::memory_test(res);
+ }
+ return 0;
+}
diff --git a/3rdparty/libflac/oss-fuzz/encoder_v2.cc b/3rdparty/libflac/oss-fuzz/encoder_v2.cc
new file mode 100644
index 00000000000..64483461cde
--- /dev/null
+++ b/3rdparty/libflac/oss-fuzz/encoder_v2.cc
@@ -0,0 +1,352 @@
+/* fuzzer_encoder_v2
+ * Copyright (C) 2022-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <cstdlib>
+#include <cstring> /* for memcpy */
+#include "FLAC/stream_encoder.h"
+#include "FLAC/metadata.h"
+extern "C" {
+#include "share/private.h"
+}
+#include "common.h"
+
+/* This C++ fuzzer uses the FLAC and not FLAC++ because the latter lacks a few
+ * hidden functions like FLAC__stream_encoder_disable_constant_subframes. It
+ * is still processed by a C++ compiler because that's what oss-fuzz expects */
+
+
+static FLAC__StreamEncoderWriteStatus write_callback(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame, void *client_data)
+{
+ (void)encoder, (void)buffer, (void)bytes, (void)samples, (void)current_frame, (void)client_data;
+ return FLAC__STREAM_ENCODER_WRITE_STATUS_OK;
+}
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
+{
+ FLAC__bool encoder_valid = true;
+ FLAC__StreamEncoder *encoder = 0;
+ FLAC__StreamEncoderState state;
+ FLAC__StreamMetadata *metadata[16] = {NULL};
+ unsigned num_metadata = 0;
+ FLAC__StreamMetadata_VorbisComment_Entry VorbisCommentField;
+
+ unsigned sample_rate, channels, bps;
+ uint64_t samples_estimate, samples_in_input;
+ unsigned compression_level, input_data_width, blocksize, max_lpc_order, qlp_coeff_precision, min_residual_partition_order, max_residual_partition_order, metadata_mask, instruction_set_disable_mask;
+ FLAC__bool ogg, write_to_file, interleaved;
+
+ FLAC__bool data_bools[24];
+
+ /* Set alloc threshold. This check was added later and no spare config
+ * bytes were left, so we're reusing the sample rate as that of little
+ * consequence to the encoder and decoder except reading the frame header */
+
+ if(size < 3)
+ return 0;
+ alloc_check_threshold = data[2];
+ alloc_check_counter = 0;
+
+ /* allocate the encoder */
+ if((encoder = FLAC__stream_encoder_new()) == NULL) {
+ fprintf(stderr, "ERROR: allocating encoder\n");
+ return 1;
+ }
+
+ /* Use first 20 byte for configuration */
+ if(size < 20){
+ FLAC__stream_encoder_delete(encoder);
+ return 0;
+ }
+
+ /* First 3 byte for sample rate, 4th byte for channels, 5th byte for bps */
+ sample_rate = ((unsigned)data[0] << 16) + ((unsigned)data[1] << 8) + data[2];
+ channels = data[3];
+ bps = data[4];
+
+ /* Number of samples estimate, format accepts 36-bit max */
+ samples_estimate = ((uint64_t)data[5] << 32) + ((unsigned)data[6] << 24) + ((unsigned)data[7] << 16) + ((unsigned)data[8] << 8) + data[9];
+
+ compression_level = data[10]&0b1111;
+ input_data_width = 1 + (data[10]>>4)%4;
+ samples_in_input = (size-20)/input_data_width;
+ blocksize = ((unsigned)data[11] << 8) + (unsigned)data[12];
+ max_lpc_order = data[13];
+ qlp_coeff_precision = data[14];
+ min_residual_partition_order = data[15] & 0b1111;
+ max_residual_partition_order = data[15] & 0b11110000;
+ metadata_mask = data[16];
+ instruction_set_disable_mask = data[17];
+
+ /* Get array of bools from configuration */
+ for(int i = 0; i < 16; i++)
+ data_bools[i] = data[18+i/8] & (1 << (i % 8));
+
+ ogg = data_bools[0];
+ interleaved = data_bools[1];
+ write_to_file = data_bools[13];
+
+ /* Set input and process parameters */
+ encoder_valid &= FLAC__stream_encoder_set_verify(encoder, data_bools[2]);
+ encoder_valid &= FLAC__stream_encoder_set_channels(encoder, channels);
+ encoder_valid &= FLAC__stream_encoder_set_bits_per_sample(encoder, bps);
+ encoder_valid &= FLAC__stream_encoder_set_sample_rate(encoder, sample_rate);
+ encoder_valid &= FLAC__stream_encoder_set_total_samples_estimate(encoder, samples_estimate);
+ encoder_valid &= FLAC__stream_encoder_disable_instruction_set(encoder, instruction_set_disable_mask);
+ encoder_valid &= FLAC__stream_encoder_set_limit_min_bitrate(encoder, data_bools[15]);
+
+ /* Set compression related parameters */
+ encoder_valid &= FLAC__stream_encoder_set_compression_level(encoder, compression_level);
+ if(data_bools[3]){
+ /* Bias towards regular compression levels */
+ encoder_valid &= FLAC__stream_encoder_set_blocksize(encoder, blocksize);
+ encoder_valid &= FLAC__stream_encoder_set_max_lpc_order(encoder, max_lpc_order);
+ encoder_valid &= FLAC__stream_encoder_set_qlp_coeff_precision(encoder, qlp_coeff_precision);
+ encoder_valid &= FLAC__stream_encoder_set_min_residual_partition_order(encoder, min_residual_partition_order);
+
+ /* With large inputs and expensive options enabled, the fuzzer can get *really* slow.
+ * Some combinations can make the fuzzer timeout (>60 seconds). However, while combining
+ * options makes the fuzzer slower, most options do not expose new code when combined.
+ * Therefore, combining slow options is disabled for large inputs. Any input containing
+ * more than 65536 * 2 samples (max blocksize, stereo) is considered large
+ */
+ if(samples_in_input < (2*65536)) {
+ encoder_valid &= FLAC__stream_encoder_set_streamable_subset(encoder, data_bools[4]);
+ encoder_valid &= FLAC__stream_encoder_set_do_qlp_coeff_prec_search(encoder, data_bools[5]);
+ encoder_valid &= FLAC__stream_encoder_set_do_escape_coding(encoder, data_bools[6]);
+ encoder_valid &= FLAC__stream_encoder_set_do_exhaustive_model_search(encoder, data_bools[7]);
+ /* Combining model search, precision search and a high residual partition order is especially
+ * expensive, so limit that even further. This high partition order can only be set on
+ * large blocksize and with streamable subset disabled */
+ if(samples_in_input < (2 * 4609) || data_bools[4] || !data_bools[7] || !data_bools[5] || max_residual_partition_order < 9 || blocksize < 4609)
+ encoder_valid &= FLAC__stream_encoder_set_max_residual_partition_order(encoder, max_residual_partition_order);
+ }
+ else {
+ if(!data_bools[4])
+ encoder_valid &= FLAC__stream_encoder_set_streamable_subset(encoder, false);
+ else if(data_bools[6])
+ encoder_valid &= FLAC__stream_encoder_set_do_escape_coding(encoder, true);
+ else if(data_bools[7])
+ encoder_valid &= FLAC__stream_encoder_set_do_exhaustive_model_search(encoder, true);
+ else if(data_bools[5])
+ encoder_valid &= FLAC__stream_encoder_set_do_qlp_coeff_prec_search(encoder, true);
+ }
+ encoder_valid &= FLAC__stream_encoder_set_do_mid_side_stereo(encoder, data_bools[8]);
+ encoder_valid &= FLAC__stream_encoder_set_loose_mid_side_stereo(encoder, data_bools[9]);
+
+ encoder_valid &= FLAC__stream_encoder_disable_constant_subframes(encoder, data_bools[10]);
+ encoder_valid &= FLAC__stream_encoder_disable_fixed_subframes(encoder, data_bools[11]);
+ encoder_valid &= FLAC__stream_encoder_disable_verbatim_subframes(encoder, data_bools[12]);
+ }
+
+ /* Disable alloc check if requested */
+ if(encoder_valid && data_bools[14])
+ alloc_check_threshold = INT32_MAX;
+
+ /* add metadata */
+ if(encoder_valid && (metadata_mask & 1)) {
+ if((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_STREAMINFO)) == NULL)
+ encoder_valid = false;
+ else
+ num_metadata++;
+ }
+ if(encoder_valid && (metadata_mask & 2) && size > 21){
+ if((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_PADDING)) == NULL)
+ encoder_valid = false;
+ else {
+ metadata[num_metadata++]->length = (((unsigned)data[20]) << 8) + (unsigned)(data[21]);
+ }
+ }
+ if(encoder_valid && (metadata_mask & 4) && size > 20){
+ FLAC__byte * application_data = (FLAC__byte *)malloc(size-20);
+ if(0 != application_data && ((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_APPLICATION)) == NULL))
+ encoder_valid = false;
+ else {
+ memcpy(application_data,data+20,size-20);
+ FLAC__metadata_object_application_set_data(metadata[num_metadata++], application_data, size-20, 0);
+ }
+ }
+ if(encoder_valid && (metadata_mask & 8) && size > 25){
+ if((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_SEEKTABLE)) == NULL)
+ encoder_valid = false;
+ else {
+ unsigned seekpoint_spacing = ((unsigned)data[22] << 8) + data[23];
+ unsigned total_samples_for_seekpoints = ((unsigned)data[24] << 8) + data[25];
+ FLAC__metadata_object_seektable_template_append_spaced_points_by_samples(metadata[num_metadata++], seekpoint_spacing, total_samples_for_seekpoints);
+ }
+ }
+ if(encoder_valid && (metadata_mask & 16)){
+ if((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_VORBIS_COMMENT)) != NULL) {
+ bool vorbiscomment_valid = true;
+ /* Append a vorbis comment */
+ if(!FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair(&VorbisCommentField, "COMMENTARY", "Nothing to 🤔 report"))
+ vorbiscomment_valid = false;
+ else {
+ if(FLAC__metadata_object_vorbiscomment_append_comment(metadata[num_metadata], VorbisCommentField, false)) {
+
+ /* Insert a vorbis comment at the first index */
+ if(!FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair(&VorbisCommentField, "COMMENTARY", "Still nothing to report 🤔🤣"))
+ vorbiscomment_valid = false;
+ else
+ if(!FLAC__metadata_object_vorbiscomment_insert_comment(metadata[num_metadata], 0, VorbisCommentField, false)) {
+ free(VorbisCommentField.entry);
+ vorbiscomment_valid = false;
+ }
+ }
+ else {
+ free(VorbisCommentField.entry);
+ vorbiscomment_valid = false;
+ }
+ }
+ if(!vorbiscomment_valid) {
+ FLAC__metadata_object_delete(metadata[num_metadata]);
+ metadata[num_metadata] = 0;
+ }
+ else
+ num_metadata++;
+ }
+ }
+ if(encoder_valid && (metadata_mask & 32)){
+ if((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_CUESHEET)) != NULL) {
+ if(!FLAC__metadata_object_cuesheet_insert_blank_track(metadata[num_metadata],0)) {
+ FLAC__metadata_object_delete(metadata[num_metadata]);
+ metadata[num_metadata] = 0;
+ }
+ else {
+ if(!FLAC__metadata_object_cuesheet_track_insert_blank_index(metadata[num_metadata],0,0)) {
+ FLAC__metadata_object_delete(metadata[num_metadata]);
+ metadata[num_metadata] = 0;
+ }
+ else {
+ metadata[num_metadata]->data.cue_sheet.tracks[0].number = 1;
+ num_metadata++;
+ }
+ }
+ }
+ }
+ if(encoder_valid && (metadata_mask & 64)){
+ if((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_PICTURE)) != NULL) {
+ num_metadata++;
+ }
+ }
+ if(encoder_valid && (metadata_mask & 128)){
+ if((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_UNDEFINED)) != NULL) {
+ metadata[num_metadata]->length = 24;
+ metadata[num_metadata]->data.unknown.data = (FLAC__byte *)calloc(24, 1);
+ num_metadata++;
+ }
+ }
+
+ if(num_metadata && encoder_valid)
+ encoder_valid = FLAC__stream_encoder_set_metadata(encoder, metadata, num_metadata);
+
+ /* initialize encoder */
+ if(encoder_valid) {
+ FLAC__StreamEncoderInitStatus init_status;
+ if(ogg)
+ if(write_to_file)
+ init_status = FLAC__stream_encoder_init_ogg_file(encoder, "/tmp/tmp.flac", NULL, NULL);
+ else
+ init_status = FLAC__stream_encoder_init_ogg_stream(encoder, NULL, write_callback, NULL, NULL, NULL, NULL);
+ else
+ if(write_to_file)
+ init_status = FLAC__stream_encoder_init_file(encoder, "/tmp/tmp.flac", NULL, NULL);
+ else
+ init_status = FLAC__stream_encoder_init_stream(encoder, write_callback, NULL, NULL, NULL, NULL);
+ if(init_status != FLAC__STREAM_ENCODER_INIT_STATUS_OK) {
+ encoder_valid = false;
+ }
+ }
+
+
+ /* send samples to encoder */
+ if(encoder_valid && size > (input_data_width*channels+26)) {
+ unsigned samples = (size - 26)/input_data_width/channels;
+ const uint8_t * pcm_data = data + 26;
+ int32_t * data_as_int32 = (int32_t *)malloc(4*samples*channels);
+ if(0 != data_as_int32){
+ for(unsigned i = 0; i < samples*channels; i++)
+ if(input_data_width == 1)
+ data_as_int32[i] = (int32_t)pcm_data[i] - 0x80;
+ else if(input_data_width == 2)
+ data_as_int32[i] = (((int32_t)pcm_data[i*2] << 8) + pcm_data[i*2+1]) - 0x8000;
+ else if(input_data_width == 3)
+ data_as_int32[i] = (((int32_t)pcm_data[i*3] << 16) + ((int32_t)pcm_data[i*3+1] << 8) + pcm_data[i*3+2]) - 0x800000;
+ else if(input_data_width == 4)
+ data_as_int32[i] = (((int64_t)pcm_data[i*4] << 24) + ((int32_t)pcm_data[i*4+1] << 16) + ((int32_t)pcm_data[i*4+2] << 8) + pcm_data[i*4+3]) - 0x80000000;
+
+ /* feed samples to encoder */
+ if(interleaved)
+ encoder_valid = FLAC__stream_encoder_process_interleaved(encoder, data_as_int32, samples);
+ else {
+ encoder_valid = FLAC__stream_encoder_process(encoder, (const int32_t*[]){data_as_int32,
+ data_as_int32+samples,
+ data_as_int32+samples*2,
+ data_as_int32+samples*3,
+ data_as_int32+samples*4, data_as_int32+samples*5, data_as_int32+samples*6, data_as_int32+samples*7}, samples);
+ }
+ free(data_as_int32);
+ }
+ else {
+ encoder_valid = false;
+ }
+ }
+
+ state = FLAC__stream_encoder_get_state(encoder);
+ if(!(state == FLAC__STREAM_ENCODER_OK ||
+ state == FLAC__STREAM_ENCODER_UNINITIALIZED ||
+ state == FLAC__STREAM_ENCODER_CLIENT_ERROR ||
+ ((state == FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR ||
+ state == FLAC__STREAM_ENCODER_FRAMING_ERROR ||
+ (state == FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR &&
+ FLAC__stream_encoder_get_verify_decoder_state(encoder) == FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR)) &&
+ alloc_check_threshold < INT32_MAX))) {
+ fprintf(stderr,"-----\nERROR: stream encoder returned %s\n-----\n",FLAC__stream_encoder_get_resolved_state_string(encoder));
+ if(state == FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA) {
+ uint32_t frame_number, channel, sample_number;
+ FLAC__int32 expected, got;
+ FLAC__stream_encoder_get_verify_decoder_error_stats(encoder, NULL, &frame_number, &channel, &sample_number, &expected, &got);
+ fprintf(stderr,"Frame number %d\nChannel %d\n Sample number %d\nExpected value %d\nGot %d\n", frame_number, channel, sample_number, expected, got);
+ }
+ abort();
+ }
+
+ FLAC__stream_encoder_finish(encoder);
+
+ /* now that encoding is finished, the metadata can be freed */
+ for(unsigned i = 0; i < 16; i++)
+ if(0 != metadata[i])
+ FLAC__metadata_object_delete(metadata[i]);
+
+ FLAC__stream_encoder_delete(encoder);
+
+ return 0;
+}
+
diff --git a/3rdparty/libflac/oss-fuzz/fuzzer_encoder.dict b/3rdparty/libflac/oss-fuzz/fuzzer_encoder.dict
new file mode 100644
index 00000000000..9662137e25c
--- /dev/null
+++ b/3rdparty/libflac/oss-fuzz/fuzzer_encoder.dict
@@ -0,0 +1,18 @@
+"bartlett"
+"bartlett_hann"
+"blackman"
+"blackman_harris_4term_92db"
+"connes"
+"flattop"
+"gauss()"
+"hamming"
+"hann"
+"kaiser_bessel"
+"nuttall"
+"rectangle"
+"triangle"
+"tukey(0)"
+"partial_tukey(0)"
+"punchout_tukey(0)"
+"subdivide_tukey(0)"
+"welch"
diff --git a/3rdparty/libflac/oss-fuzz/fuzzing/datasource/datasource.hpp b/3rdparty/libflac/oss-fuzz/fuzzing/datasource/datasource.hpp
new file mode 100644
index 00000000000..3c9484ebb79
--- /dev/null
+++ b/3rdparty/libflac/oss-fuzz/fuzzing/datasource/datasource.hpp
@@ -0,0 +1,190 @@
+/* Copyright 2019 Guido Vranken
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject
+ * to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#pragma once
+
+#include <fuzzing/exception.hpp>
+#include <fuzzing/types.hpp>
+#include <cstddef>
+#include <cstdint>
+#include <cstdlib>
+#include <cstring>
+#include <string>
+#include <vector>
+
+namespace fuzzing {
+namespace datasource {
+
+class Base
+{
+ protected:
+ virtual std::vector<uint8_t> get(const size_t min, const size_t max, const uint64_t id = 0) = 0;
+ public:
+ Base(void) = default;
+ virtual ~Base(void) = default;
+
+ template<class T> T Get(const uint64_t id = 0);
+ uint16_t GetChoice(const uint64_t id = 0);
+ std::vector<uint8_t> GetData(const uint64_t id, const size_t min = 0, const size_t max = 0);
+ template <class T> std::vector<T> GetVector(const uint64_t id = 0);
+
+ class OutOfData : public fuzzing::exception::FlowException {
+ public:
+ OutOfData() = default;
+ };
+
+ class DeserializationFailure : public fuzzing::exception::FlowException {
+ public:
+ DeserializationFailure() = default;
+ };
+};
+
+#ifndef FUZZING_HEADERS_NO_IMPL
+template<class T> T Base::Get(const uint64_t id)
+{
+ T ret;
+ const auto v = get(sizeof(ret), sizeof(ret), id);
+ memcpy(&ret, v.data(), sizeof(ret));
+ return ret;
+}
+
+template <> bool Base::Get<bool>(const uint64_t id)
+{
+ uint8_t ret;
+ const auto v = get(sizeof(ret), sizeof(ret), id);
+ memcpy(&ret, v.data(), sizeof(ret));
+ return (ret % 2) ? true : false;
+}
+
+template <> std::string Base::Get<std::string>(const uint64_t id)
+{
+ auto data = GetData(id);
+ return std::string(data.data(), data.data() + data.size());
+}
+
+template <> std::vector<std::string> Base::Get<std::vector<std::string>>(const uint64_t id)
+{
+ std::vector<std::string> ret;
+ while ( true ) {
+ auto data = GetData(id);
+ ret.push_back( std::string(data.data(), data.data() + data.size()) );
+ if ( Get<bool>(id) == false ) {
+ break;
+ }
+ }
+ return ret;
+}
+
+uint16_t Base::GetChoice(const uint64_t id)
+{
+ return Get<uint16_t>(id);
+}
+
+std::vector<uint8_t> Base::GetData(const uint64_t id, const size_t min, const size_t max)
+{
+ return get(min, max, id);
+}
+
+
+template <> types::String<> Base::Get<types::String<>>(const uint64_t id) {
+ const auto data = GetData(id);
+ types::String<> ret(data.data(), data.size());
+ return ret;
+}
+
+template <> types::Data<> Base::Get<types::Data<>>(const uint64_t id) {
+ const auto data = GetData(id);
+ types::Data<> ret(data.data(), data.size());
+ return ret;
+}
+
+template <class T>
+std::vector<T> Base::GetVector(const uint64_t id) {
+ std::vector<T> ret;
+
+ while ( Get<bool>(id) == true ) {
+ ret.push_back( Get<T>(id) );
+ }
+
+ return ret;
+}
+#endif
+
+class Datasource : public Base
+{
+ private:
+ const uint8_t* data;
+ const size_t size;
+ size_t idx;
+ size_t left;
+ std::vector<uint8_t> get(const size_t min, const size_t max, const uint64_t id = 0) override;
+
+ // Make copy constructor and assignment operator private.
+ Datasource(const Datasource &) : data(0), size(0), idx(0), left(0) {}
+ Datasource& operator=(const Datasource &) { return *this; }
+ public:
+ Datasource(const uint8_t* _data, const size_t _size);
+};
+
+#ifndef FUZZING_HEADERS_NO_IMPL
+Datasource::Datasource(const uint8_t* _data, const size_t _size) :
+ Base(), data(_data), size(_size), idx(0), left(size)
+{
+}
+
+std::vector<uint8_t> Datasource::get(const size_t min, const size_t max, const uint64_t id) {
+ (void)id;
+
+ uint32_t getSize;
+ if ( left < sizeof(getSize) ) {
+ throw OutOfData();
+ }
+ memcpy(&getSize, data + idx, sizeof(getSize));
+ idx += sizeof(getSize);
+ left -= sizeof(getSize);
+
+ if ( getSize < min ) {
+ getSize = min;
+ }
+ if ( max && getSize > max ) {
+ getSize = max;
+ }
+
+ if ( left < getSize ) {
+ throw OutOfData();
+ }
+
+ std::vector<uint8_t> ret(getSize);
+
+ if ( getSize > 0 ) {
+ memcpy(ret.data(), data + idx, getSize);
+ }
+ idx += getSize;
+ left -= getSize;
+
+ return ret;
+}
+#endif
+
+} /* namespace datasource */
+} /* namespace fuzzing */
diff --git a/3rdparty/libflac/oss-fuzz/fuzzing/datasource/id.hpp b/3rdparty/libflac/oss-fuzz/fuzzing/datasource/id.hpp
new file mode 100644
index 00000000000..457c9840e65
--- /dev/null
+++ b/3rdparty/libflac/oss-fuzz/fuzzing/datasource/id.hpp
@@ -0,0 +1,75 @@
+/* Copyright 2019 Guido Vranken
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject
+ * to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#pragma once
+
+#include <stdio.h>
+#include <stdint.h>
+#include <utility>
+#include <map>
+
+namespace fuzzing {
+namespace datasource {
+
+/* From: https://gist.github.com/underscorediscovery/81308642d0325fd386237cfa3b44785c */
+inline uint64_t hash_64_fnv1a(const void* key, const uint64_t len) {
+
+ const char* data = (char*)key;
+ uint64_t hash = 0xcbf29ce484222325;
+ uint64_t prime = 0x100000001b3;
+
+ for(uint64_t i = 0; i < len; ++i) {
+ uint8_t value = data[i];
+ hash = hash ^ value;
+ hash *= prime;
+ }
+
+ return hash;
+
+} //hash_64_fnv1a
+
+// FNV1a c++11 constexpr compile time hash functions, 32 and 64 bit
+// str should be a null terminated string literal, value should be left out
+// e.g hash_32_fnv1a_const("example")
+// code license: public domain or equivalent
+// post: https://notes.underscorediscovery.com/constexpr-fnv1a/
+
+constexpr uint32_t val_32_const = 0x811c9dc5;
+constexpr uint32_t prime_32_const = 0x1000193;
+constexpr uint64_t val_64_const = 0xcbf29ce484222325;
+constexpr uint64_t prime_64_const = 0x100000001b3;
+
+
+inline constexpr uint64_t ID(const char* const str, const uint64_t value = val_64_const) noexcept {
+ auto ret = (str[0] == '\0') ? value : ID(&str[1], (value ^ uint64_t(str[0])) * prime_64_const);
+ return ret;
+}
+
+inline constexpr std::pair<const char*, uint64_t> IDPair(const char* const str, const uint64_t value = val_64_const) noexcept {
+ return {str, ID(str, value)};
+}
+
+using IDMap = std::map<const char*, uint64_t>;
+
+} /* namespace datasource */
+} /* namespace fuzzing */
diff --git a/3rdparty/libflac/oss-fuzz/fuzzing/exception.hpp b/3rdparty/libflac/oss-fuzz/fuzzing/exception.hpp
new file mode 100644
index 00000000000..d1ec580cab8
--- /dev/null
+++ b/3rdparty/libflac/oss-fuzz/fuzzing/exception.hpp
@@ -0,0 +1,67 @@
+/* Copyright 2019 Guido Vranken
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject
+ * to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#pragma once
+
+#include <exception>
+#include <string>
+
+namespace fuzzing {
+namespace exception {
+
+class ExceptionBase : public std::exception {
+ public:
+ ExceptionBase(void) = default;
+ /* typeid(T).name */
+};
+
+/* Recoverable exception */
+class FlowException : public ExceptionBase {
+ public:
+ FlowException(void) : ExceptionBase() { }
+};
+
+/* Error in this library, should never happen */
+class LogicException : public ExceptionBase {
+ private:
+ std::string reason;
+ public:
+ LogicException(const std::string r) : ExceptionBase(), reason(r) { }
+ virtual const char* what(void) const throw() {
+ return reason.c_str();
+ }
+};
+
+/* Error in target application */
+class TargetException : public ExceptionBase {
+ private:
+ std::string reason;
+ public:
+ TargetException(const std::string r) : ExceptionBase(), reason(r) { }
+ virtual const char* what(void) const throw() {
+ return reason.c_str();
+ }
+};
+
+} /* namespace exception */
+} /* namespace fuzzing */
diff --git a/3rdparty/libflac/oss-fuzz/fuzzing/memory.hpp b/3rdparty/libflac/oss-fuzz/fuzzing/memory.hpp
new file mode 100644
index 00000000000..b324c3670c2
--- /dev/null
+++ b/3rdparty/libflac/oss-fuzz/fuzzing/memory.hpp
@@ -0,0 +1,96 @@
+/* Copyright 2019 Guido Vranken
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject
+ * to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#pragma once
+
+#include <stdio.h>
+#include <optional>
+
+#ifndef ASAN
+#define ASAN 0
+#endif
+
+#ifndef MSAN
+#define MSAN 0
+#endif
+
+namespace fuzzing {
+namespace memory {
+
+#ifndef FUZZING_HEADERS_NO_IMPL
+#if ASAN == 1
+extern "C" void *__asan_region_is_poisoned(const void *beg, size_t size);
+#endif
+
+#if MSAN == 1
+extern "C" void __msan_check_mem_is_initialized(const volatile void *x, size_t size);
+#endif
+
+void memory_test_asan(const void* data, const size_t size)
+{
+ (void)data;
+ (void)size;
+
+#if ASAN == 1
+ if ( __asan_region_is_poisoned(data, size) != NULL ) {
+ abort();
+ }
+#endif
+}
+
+void memory_test_msan(const void* data, const size_t size)
+{
+ (void)data;
+ (void)size;
+
+#if MSAN == 1
+ __msan_check_mem_is_initialized(data, size);
+#endif
+}
+
+void memory_test(const void* data, const size_t size)
+{
+ memory_test_asan(data, size);
+ memory_test_msan(data, size);
+}
+
+template <class T>
+void memory_test(const T& t)
+{
+ (void)t;
+}
+
+template <>
+void memory_test(const std::string& s)
+{
+ (void)s;
+
+#if MSAN == 1
+ memory_test(s.data(), s.size());
+#endif
+}
+
+#endif
+
+} /* namespace memory */
+} /* namespace fuzzing */
diff --git a/3rdparty/libflac/oss-fuzz/fuzzing/types.hpp b/3rdparty/libflac/oss-fuzz/fuzzing/types.hpp
new file mode 100644
index 00000000000..914e64f8ec6
--- /dev/null
+++ b/3rdparty/libflac/oss-fuzz/fuzzing/types.hpp
@@ -0,0 +1,158 @@
+/* Copyright 2019 Guido Vranken
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject
+ * to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#pragma once
+
+#include <cstdint>
+#include <cstdlib>
+#include <cstring>
+#include <fuzzing/memory.hpp>
+#include <vector>
+#include <string>
+
+namespace fuzzing {
+namespace types {
+
+template <typename CoreType, bool NullTerminated, bool UseMSAN = false>
+class Container {
+ private:
+ CoreType* InvalidAddress = (CoreType*)0x12;
+
+ CoreType* _data = InvalidAddress;
+ size_t _size = 0;
+
+#ifndef FUZZING_HEADERS_NO_IMPL
+ void copy(const void* data, size_t size) {
+ if ( size > 0 ) {
+ std::memcpy(_data, data, size);
+ }
+ }
+
+ void allocate(size_t size) {
+ if ( size > 0 ) {
+ _data = static_cast<CoreType*>(malloc(size * sizeof(CoreType)));
+ } else {
+ _data = InvalidAddress;
+ }
+ };
+
+ void allocate_and_copy(const void* data, size_t size) {
+ allocate(size);
+ copy(data, size);
+ }
+
+ void allocate_plus_1_and_copy(const void* data, size_t size) {
+ allocate(size+1);
+ copy(data, size);
+ }
+
+ void access_hook(void) const {
+ if ( UseMSAN == true ) {
+ memory::memory_test_msan(_data, _size);
+ }
+ }
+
+ void free(void) {
+ access_hook();
+
+ if ( _data != InvalidAddress ) {
+ std::free(_data);
+ _data = InvalidAddress;
+ _size = 0;
+ }
+ }
+
+#endif
+
+ public:
+#ifndef FUZZING_HEADERS_NO_IMPL
+ CoreType* data(void) {
+ access_hook();
+ return _data;
+ }
+
+ size_t size(void) const {
+ access_hook();
+ return _size;
+ }
+#endif
+
+ Container(void)
+#ifndef FUZZING_HEADERS_NO_IMPL
+ = default
+#endif
+ ;
+
+ Container(const void* data, const size_t size)
+#ifndef FUZZING_HEADERS_NO_IMPL
+ {
+ if ( NullTerminated == false ) {
+ allocate_and_copy(data, size);
+ } else {
+ allocate_plus_1_and_copy(data, size);
+ _data[size] = 0;
+ }
+
+ access_hook();
+ }
+#endif
+ ;
+
+ template<class T>
+ Container(const T& t)
+#ifndef FUZZING_HEADERS_NO_IMPL
+ {
+ Container(t.data(), t.size());
+ }
+#endif
+ ;
+
+ ~Container(void)
+#ifndef FUZZING_HEADERS_NO_IMPL
+ {
+ this->free();
+ }
+#endif
+ ;
+
+
+
+ // The copy constructor was not originally explicitly supplied
+ // so it must have been incorrectly just copying the pointers.
+ Container(const Container &c) {
+ InvalidAddress = c.InvalidAddress;
+ allocate_and_copy(c._data, c._size);
+ }
+
+ Container& operator=(Container &c) {
+ InvalidAddress = c.InvalidAddress;
+ allocate_and_copy(c._data, c._size);
+ }
+
+};
+
+template <bool UseMSAN = false> using String = Container<char, true, UseMSAN>;
+template <bool UseMSAN = false> using Data = Container<uint8_t, false, UseMSAN>;
+
+} /* namespace types */
+} /* namespace fuzzing */
diff --git a/3rdparty/libflac/oss-fuzz/metadata.cc b/3rdparty/libflac/oss-fuzz/metadata.cc
new file mode 100644
index 00000000000..ad27fe95558
--- /dev/null
+++ b/3rdparty/libflac/oss-fuzz/metadata.cc
@@ -0,0 +1,526 @@
+/* fuzzer_metadata
+ * Copyright (C) 2022-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <cstdlib>
+#include <cstdio>
+#include <cstring> /* for memcpy */
+#include <unistd.h>
+#include "FLAC++/metadata.h"
+#include "common.h"
+
+#define CONFIG_LENGTH 2
+
+#define min(x,y) (x<y?x:y)
+
+static void run_tests_with_level_0_interface(char filename[]);
+static void run_tests_with_level_1_interface(char filename[], bool readonly, bool preservestats, const uint8_t *data, size_t size);
+static void run_tests_with_level_2_interface(char filename[], bool ogg, bool use_padding, const uint8_t *data, size_t size);
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
+{
+ uint8_t command_length;
+ char filename[] = "/tmp/tmpXXXXXX.flac";
+ FLAC__bool init_bools[4];
+
+ /* Use first byte for configuration, leave at least one byte of input */
+ if(size < 1 + CONFIG_LENGTH){
+ return 0;
+ }
+
+ /* First 4 bits for configuration bools, next 4 for length of command section */
+ for(int i = 0; i < 4; i++)
+ init_bools[i] = data[i/8] & (1 << (i % 8));
+
+ command_length = data[0] >> 4;
+
+ if(0)//data[1] < 128) /* Use MSB as on/off */
+ alloc_check_threshold = data[1];
+ else
+ alloc_check_threshold = INT32_MAX;
+ alloc_check_counter = 0;
+
+
+ /* Leave at least one byte as input */
+ if(command_length >= size - 1 - CONFIG_LENGTH)
+ command_length = size - 1 - CONFIG_LENGTH;
+
+ /* Dump input to file */
+ {
+ int file_to_fuzz = mkstemps(filename, 5);
+
+ if (file_to_fuzz < 0)
+ abort();
+ write(file_to_fuzz,data+CONFIG_LENGTH+command_length,size-CONFIG_LENGTH-command_length);
+ close(file_to_fuzz);
+ }
+
+ run_tests_with_level_0_interface(filename);
+ run_tests_with_level_1_interface(filename, init_bools[1], init_bools[2], data+CONFIG_LENGTH, command_length/2);
+
+ /* Dump input to file, to start fresh for level 2 */
+ if(!init_bools[1]){
+ FILE * file_to_fuzz = fopen(filename,"w");
+ fwrite(data+CONFIG_LENGTH+command_length,1,size-CONFIG_LENGTH-command_length,file_to_fuzz);
+ fclose(file_to_fuzz);
+ }
+
+ run_tests_with_level_2_interface(filename, init_bools[0], init_bools[3], data+command_length/2+CONFIG_LENGTH, command_length/2);
+
+ remove(filename);
+
+ return 0;
+}
+
+static void run_tests_with_level_0_interface(char filename[]) {
+ FLAC::Metadata::StreamInfo streaminfo;
+ FLAC::Metadata::VorbisComment vorbis_comment;
+ FLAC::Metadata::CueSheet cue_sheet;
+ FLAC::Metadata::Picture picture;
+
+ FLAC::Metadata::get_streaminfo(filename,streaminfo);
+ FLAC::Metadata::get_tags(filename,vorbis_comment);
+ FLAC::Metadata::get_cuesheet(filename,cue_sheet);
+ FLAC::Metadata::get_picture(filename,picture, (FLAC__StreamMetadata_Picture_Type)(1), NULL, NULL, -1, -1, -1, -1);
+}
+
+static void run_tests_with_level_1_interface(char filename[], bool readonly, bool preservestats, const uint8_t *data, size_t size) {
+ FLAC::Metadata::SimpleIterator iterator;
+ FLAC::Metadata::Prototype *metadata_block = nullptr;
+ uint8_t id[4] = {0};
+
+ if(!iterator.is_valid())
+ return;
+
+ if(!iterator.init(filename,readonly,preservestats))
+ return;
+
+ for(size_t i = 0; i < size && iterator.status() == FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK; i++) {
+ switch(data[i] & 7) {
+ case 0:
+ iterator.get_block_type();
+ iterator.get_block_offset();
+ iterator.get_block_length();
+ iterator.get_application_id(id);
+ break;
+ case 1:
+ iterator.next();
+ break;
+ case 2:
+ iterator.prev();
+ break;
+ case 3:
+ iterator.delete_block(data[i] & 8);
+ break;
+ case 4:
+ if(metadata_block != 0) {
+ delete metadata_block;
+ metadata_block = nullptr;
+ }
+ metadata_block = iterator.get_block();
+ break;
+ case 5:
+ if(metadata_block != 0)
+ iterator.set_block(metadata_block,data[i] & 8);
+ break;
+ case 6:
+ if(metadata_block != 0)
+ iterator.insert_block_after(metadata_block, data[i] & 8);
+ break;
+ case 7:
+ iterator.status();
+ iterator.is_last();
+ iterator.is_writable();
+ break;
+ }
+ }
+ if(metadata_block != 0) {
+ delete metadata_block;
+ metadata_block = nullptr;
+ }
+
+
+}
+
+
+static void run_tests_with_level_2_interface(char filename[], bool ogg, bool use_padding, const uint8_t *data, size_t size) {
+ FLAC::Metadata::Chain chain;
+ FLAC::Metadata::Iterator iterator;
+ FLAC::Metadata::Prototype *metadata_block_get = nullptr;
+ FLAC::Metadata::Prototype *metadata_block_transfer = nullptr;
+ FLAC::Metadata::Prototype *metadata_block_put = nullptr;
+
+ if(!chain.is_valid())
+ return;
+
+ if(!chain.read(filename, ogg))
+ return;
+
+ iterator.init(chain);
+
+ for(size_t i = 0; i < size; i++) {
+ switch(data[i] & 15) {
+ case 0:
+ iterator.get_block_type();
+ break;
+ case 1:
+ iterator.next();
+ break;
+ case 2:
+ iterator.prev();
+ break;
+ case 3:
+ iterator.delete_block(data[i] & 16);
+ break;
+ case 4:
+ metadata_block_get = iterator.get_block();
+ if(metadata_block_get != 0 && metadata_block_get->is_valid()) {
+ if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) {
+ if(metadata_block_transfer != metadata_block_get) {
+ delete metadata_block_transfer;
+ metadata_block_transfer = nullptr;
+ metadata_block_transfer = FLAC::Metadata::clone(metadata_block_get);
+ }
+ }
+ else {
+ metadata_block_transfer = FLAC::Metadata::clone(metadata_block_get);
+ }
+ }
+ delete metadata_block_get;
+ break;
+ case 5:
+ if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) {
+ metadata_block_put = FLAC::Metadata::clone(metadata_block_transfer);
+ if(metadata_block_put != 0 && metadata_block_put->is_valid()) {
+ if(!iterator.insert_block_before(metadata_block_put))
+ delete metadata_block_put;
+ }
+ else
+ if(metadata_block_put != 0)
+ delete metadata_block_put;
+ }
+ break;
+ case 6:
+ if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) {
+ metadata_block_put = FLAC::Metadata::clone(metadata_block_transfer);
+ if(metadata_block_put != 0 && metadata_block_put->is_valid()) {
+ if(!iterator.insert_block_after(metadata_block_put))
+ delete metadata_block_put;
+ }
+ else
+ if(metadata_block_put != 0)
+ delete metadata_block_put;
+ }
+ break;
+ case 7:
+ if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) {
+ metadata_block_put = FLAC::Metadata::clone(metadata_block_transfer);
+ if(metadata_block_put != 0 && metadata_block_put->is_valid()) {
+ if(!iterator.set_block(metadata_block_put))
+ delete metadata_block_put;
+ }
+ else
+ if(metadata_block_put != 0)
+ delete metadata_block_put;
+ }
+ break;
+ case 8: /* Examine block */
+ if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) {
+ switch(metadata_block_transfer->get_type()) {
+ case FLAC__METADATA_TYPE_VORBIS_COMMENT:
+ {
+ uint32_t num_comments;
+ ::FLAC__StreamMetadata_VorbisComment_Entry entry;
+ FLAC::Metadata::VorbisComment::Entry entry_cpp;
+ FLAC::Metadata::VorbisComment * vorbiscomment = dynamic_cast<FLAC::Metadata::VorbisComment *>(metadata_block_transfer);
+ const ::FLAC__StreamMetadata * metadata_c = *metadata_block_transfer;
+ if(vorbiscomment == 0)
+ abort();
+ vorbiscomment->get_vendor_string();
+ num_comments = vorbiscomment->get_num_comments();
+ if(num_comments > 0) {
+ entry = metadata_c->data.vorbis_comment.comments[min(data[i]>>4,num_comments-1)];
+ if(entry.entry == 0)
+ abort();
+ if(vorbiscomment->get_comment(min(data[i]>>4,num_comments-1)).is_valid()) {
+ entry_cpp = vorbiscomment->get_comment(min(data[i]>>4,num_comments-1));
+ if(entry_cpp.is_valid() && entry_cpp.get_field() == 0)
+ abort();
+ vorbiscomment->find_entry_from(0,"TEST");
+ }
+ }
+
+ }
+ break;
+ case FLAC__METADATA_TYPE_CUESHEET:
+ {
+ uint32_t num_tracks, num_indices;
+ FLAC::Metadata::CueSheet * cuesheet = dynamic_cast<FLAC::Metadata::CueSheet *>(metadata_block_transfer);
+ if(cuesheet == 0 || !cuesheet->is_legal())
+ break;
+ cuesheet->is_legal(true); /* check CDDA subset */
+ cuesheet->calculate_cddb_id();
+ cuesheet->get_media_catalog_number();
+ cuesheet->get_lead_in();
+ cuesheet->get_is_cd();
+ num_tracks = cuesheet->get_num_tracks();
+ if(num_tracks > 0) {
+ FLAC::Metadata::CueSheet::Track track = cuesheet->get_track(min(data[i]>>4,num_tracks-1));
+ track.get_offset();
+ track.get_number();
+ track.get_isrc();
+ track.get_pre_emphasis();
+ num_indices = track.get_num_indices();
+ if(num_indices > 0) {
+ FLAC__StreamMetadata_CueSheet_Index index = track.get_index(min(data[i]>>4,num_indices-1));
+ (void)index;
+ }
+ }
+ }
+ break;
+ case FLAC__METADATA_TYPE_PICTURE:
+ {
+ char * violation = nullptr;
+ FLAC::Metadata::Picture * picture = dynamic_cast<FLAC::Metadata::Picture *>(metadata_block_transfer);
+ if(picture == 0 || !picture->is_legal((const char **)&violation))
+ break;
+ picture->get_data();
+ }
+ break;
+ default:
+ break;
+ }
+
+ }
+ break;
+ case 9: /* Replace or add in block */
+ if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) {
+ switch(metadata_block_transfer->get_type()) {
+ case FLAC__METADATA_TYPE_SEEKTABLE:
+ {
+ uint32_t num_seekpoints;
+ FLAC__StreamMetadata_SeekPoint seekpoint;
+ FLAC::Metadata::SeekTable * seektable = dynamic_cast<FLAC::Metadata::SeekTable *>(metadata_block_transfer);
+ if(seektable == 0)
+ break;
+ if(seektable->is_valid() && seektable->is_legal()) {
+ num_seekpoints = seektable->get_num_points();
+ if(num_seekpoints > 0) {
+ seekpoint = seektable->get_point(min(data[i]>>5,num_seekpoints-1));
+ seektable->set_point(0,seekpoint);
+ seektable->insert_point(min(data[i]>>5,num_seekpoints-1),seekpoint);
+ }
+ seektable->template_append_placeholders(4);
+ seektable->template_append_point(111111);
+ seektable->template_append_points((FLAC__uint64[]){222222, 333333, 444444}, 3);
+ seektable->template_append_spaced_points(data[i]>>5, 1234567);
+ seektable->template_append_spaced_points_by_samples(data[i]>>5, 2468000);
+ seektable->template_sort(data[i] & 16);
+ }
+ }
+ case FLAC__METADATA_TYPE_VORBIS_COMMENT:
+ {
+ uint32_t num_comments;
+ FLAC::Metadata::VorbisComment::Entry entry;
+ FLAC::Metadata::VorbisComment * vorbiscomment = dynamic_cast<FLAC::Metadata::VorbisComment *>(metadata_block_transfer);
+ if(vorbiscomment == 0)
+ break;
+ num_comments = vorbiscomment->get_num_comments();
+ if(num_comments > 0 && entry.is_valid()) {
+ if(vorbiscomment->get_comment(min(data[i]>>5,num_comments-1)).is_valid()) {
+ entry = vorbiscomment->get_comment(min(data[i]>>5,num_comments-1));
+ if(entry.is_valid()) {
+ vorbiscomment->replace_comment(entry,data[i] & 16);
+ vorbiscomment->set_comment(0,entry);
+ vorbiscomment->append_comment(entry);
+ vorbiscomment->insert_comment(0,entry);
+ }
+ }
+ }
+ }
+ break;
+ case FLAC__METADATA_TYPE_CUESHEET:
+ {
+ uint32_t num_tracks, num_indices;
+ FLAC::Metadata::CueSheet * cuesheet = dynamic_cast<FLAC::Metadata::CueSheet *>(metadata_block_transfer);
+ if(cuesheet == 0 || !cuesheet->is_legal())
+ break;
+ num_tracks = cuesheet->get_num_tracks();
+ if(num_tracks > 0) {
+ FLAC::Metadata::CueSheet::Track track = cuesheet->get_track(min(data[i]>>4,num_tracks-1));
+ num_indices = track.get_num_indices();
+ if(num_indices > 0) {
+ FLAC__StreamMetadata_CueSheet_Index index = track.get_index(min(data[i]>>4,num_indices-1));
+ track.set_index(0,index);
+ cuesheet->insert_index(0,0,index);
+ cuesheet->insert_blank_index(0,0);
+ }
+ cuesheet->insert_blank_track(0);
+ cuesheet->insert_track(0,track);
+ cuesheet->resize_indices(min(data[i]>>4,num_tracks-1),data[i]>>4);
+ }
+ }
+ break;
+ case FLAC__METADATA_TYPE_PICTURE:
+ {
+ FLAC::Metadata::Picture * picture = dynamic_cast<FLAC::Metadata::Picture *>(metadata_block_transfer);
+ const char testtext[] = "TEST";
+ if(picture == 0 || !picture->is_legal(NULL))
+ break;
+ picture->set_description((FLAC__byte *)&testtext);
+ picture->set_mime_type((const char *)&testtext);
+ picture->set_data((FLAC__byte *)&testtext,4);
+ }
+ break;
+ default:
+ break;
+ }
+
+ }
+ break;
+ case 10: /* Delete from block */
+ if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) {
+ switch(metadata_block_transfer->get_type()) {
+ case FLAC__METADATA_TYPE_SEEKTABLE:
+ {
+ uint32_t num_seekpoints;
+ FLAC::Metadata::SeekTable * seektable = dynamic_cast<FLAC::Metadata::SeekTable *>(metadata_block_transfer);
+ if(seektable == 0)
+ break;
+ if(seektable->is_valid() && seektable->is_legal()) {
+ num_seekpoints = seektable->get_num_points();
+ if(num_seekpoints > 0)
+ seektable->delete_point(min(data[i]>>4,num_seekpoints-1));
+ }
+ }
+ case FLAC__METADATA_TYPE_VORBIS_COMMENT:
+ {
+ uint32_t num_comments;
+ FLAC::Metadata::VorbisComment * vorbiscomment = dynamic_cast<FLAC::Metadata::VorbisComment *>(metadata_block_transfer);
+ if(vorbiscomment == 0)
+ break;
+ num_comments = vorbiscomment->get_num_comments();
+ if(num_comments > 0)
+ vorbiscomment->delete_comment(min(data[i]>>4,num_comments-1));
+ vorbiscomment->remove_entry_matching("TEST");
+ vorbiscomment->remove_entries_matching("TEST");
+ }
+ break;
+ case FLAC__METADATA_TYPE_CUESHEET:
+ {
+ uint32_t num_tracks;
+ FLAC::Metadata::CueSheet * cuesheet = dynamic_cast<FLAC::Metadata::CueSheet *>(metadata_block_transfer);
+ if(cuesheet == 0 || !cuesheet->is_legal())
+ break;
+ num_tracks = cuesheet->get_num_tracks();
+ if(num_tracks > 0) {
+ FLAC::Metadata::CueSheet::Track track = cuesheet->get_track(min(data[i]>>4,num_tracks-1));
+ if(track.get_num_indices() > 0)
+ cuesheet->delete_index(min(data[i]>>4,num_tracks-1),0);
+ cuesheet->delete_track(0);
+ }
+ }
+ break;
+ default:
+ break;
+ }
+
+ }
+ break;
+ case 11: /* Resize block */
+ if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) {
+ switch(metadata_block_transfer->get_type()) {
+ case FLAC__METADATA_TYPE_PADDING:
+ {
+ FLAC::Metadata::Padding * padding = dynamic_cast<FLAC::Metadata::Padding *>(metadata_block_transfer);
+ if(padding == 0)
+ break;
+ padding->set_length(data[i]>>4);
+ }
+ break;
+ case FLAC__METADATA_TYPE_SEEKTABLE:
+ {
+ FLAC::Metadata::SeekTable * seektable = dynamic_cast<FLAC::Metadata::SeekTable *>(metadata_block_transfer);
+ if(seektable == 0)
+ break;
+ seektable->resize_points(data[i]>>4);
+ }
+ break;
+ case FLAC__METADATA_TYPE_VORBIS_COMMENT:
+ {
+ FLAC::Metadata::VorbisComment * vorbiscomment = dynamic_cast<FLAC::Metadata::VorbisComment *>(metadata_block_transfer);
+ if(vorbiscomment == 0)
+ break;
+ vorbiscomment->resize_comments(data[i]>>4);
+ }
+ break;
+ case FLAC__METADATA_TYPE_CUESHEET:
+ {
+ uint32_t num_tracks;
+ FLAC::Metadata::CueSheet * cuesheet = dynamic_cast<FLAC::Metadata::CueSheet *>(metadata_block_transfer);
+ if(cuesheet == 0 || !cuesheet->is_legal())
+ break;
+ num_tracks = cuesheet->get_num_tracks();
+ if(num_tracks > 0) {
+ cuesheet->resize_indices(min(data[i]>>4,num_tracks-1),data[i]>>4);
+ }
+ cuesheet->resize_tracks(data[i]<<4);
+ }
+ break;
+ default:
+ break;
+ }
+
+ }
+ break;
+ case 12: /* Prototype functions */
+ if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) {
+ const ::FLAC__StreamMetadata * metadata_compare = *metadata_block_transfer;
+ metadata_block_transfer->get_is_last();
+ metadata_block_transfer->get_length();
+ metadata_block_transfer->set_is_last(data[i] & 16);
+ FLAC__metadata_object_is_equal(metadata_compare, metadata_compare);
+ }
+ break;
+ }
+ }
+ if(metadata_block_transfer != 0) {
+ delete metadata_block_transfer;
+ metadata_block_transfer = nullptr;
+ }
+
+ chain.status();
+ chain.sort_padding();
+ chain.merge_padding();
+
+ chain.check_if_tempfile_needed(!use_padding);
+ chain.write(use_padding);
+
+}
diff --git a/3rdparty/libflac/oss-fuzz/reencoder.cc b/3rdparty/libflac/oss-fuzz/reencoder.cc
new file mode 100644
index 00000000000..457fbd4ce3e
--- /dev/null
+++ b/3rdparty/libflac/oss-fuzz/reencoder.cc
@@ -0,0 +1,304 @@
+/* Copyright 2019 Guido Vranken
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject
+ * to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#include <cstddef>
+#include <cstdint>
+#include <limits>
+
+#include <fuzzing/datasource/datasource.hpp>
+#include <fuzzing/memory.hpp>
+
+#include "FLAC++/encoder.h"
+#include "FLAC++/decoder.h"
+#include "FLAC++/metadata.h"
+#include "common.h"
+
+#define MAX_NUM_METADATA_BLOCKS 2048
+
+namespace FLAC {
+ namespace Encoder {
+ class FuzzerStream : public Stream {
+ private:
+ // fuzzing::datasource::Datasource& ds;
+ public:
+ FuzzerStream(fuzzing::datasource::Datasource&) :
+ Stream() { }
+
+ ::FLAC__StreamEncoderWriteStatus write_callback(const FLAC__byte buffer[], size_t bytes, uint32_t /* samples */, uint32_t /* current_frame */) override {
+ fuzzing::memory::memory_test(buffer, bytes);
+ return FLAC__STREAM_ENCODER_WRITE_STATUS_OK;
+ }
+ };
+ }
+ namespace Decoder {
+ class FuzzerDecoder : public Stream {
+ private:
+ fuzzing::datasource::Datasource& ds;
+ FLAC::Encoder::FuzzerStream& encoder;
+ public:
+ FuzzerDecoder(fuzzing::datasource::Datasource& dsrc, FLAC::Encoder::FuzzerStream& encoder_arg) :
+ Stream(), ds(dsrc), encoder(encoder_arg) { }
+
+ ::FLAC__StreamMetadata * metadata_blocks[MAX_NUM_METADATA_BLOCKS] = {0};
+ int num_metadata_blocks = 0;
+
+ void metadata_callback(const ::FLAC__StreamMetadata *metadata) override {
+ if(num_metadata_blocks < MAX_NUM_METADATA_BLOCKS)
+ if((metadata_blocks[num_metadata_blocks] = FLAC__metadata_object_clone(metadata)) != NULL)
+ num_metadata_blocks++;
+ }
+
+ ::FLAC__StreamDecoderReadStatus read_callback(FLAC__byte buffer[], size_t *bytes) override {
+ try {
+ const size_t maxCopySize = *bytes;
+
+ if ( maxCopySize > 0 ) {
+ /* memset just to test if this overwrites anything, and triggers ASAN */
+ memset(buffer, 0, maxCopySize);
+ }
+
+ const auto data = ds.GetData(0);
+ const auto dataSize = data.size();
+ const auto copySize = std::min(maxCopySize, dataSize);
+
+ if ( copySize > 0 ) {
+ memcpy(buffer, data.data(), copySize);
+ }
+
+ *bytes = copySize;
+
+ return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE;
+ } catch ( ... ) {
+ return FLAC__STREAM_DECODER_READ_STATUS_ABORT;
+ }
+ }
+
+ ::FLAC__StreamDecoderWriteStatus write_callback(const ::FLAC__Frame *frame, const FLAC__int32 * const buffer[]) override {
+ {
+ fuzzing::memory::memory_test(&(frame->header), sizeof(frame->header));
+ fuzzing::memory::memory_test(&(frame->footer), sizeof(frame->footer));
+ }
+
+ {
+ const auto numChannels = get_channels();
+ const size_t bytesPerChannel = frame->header.blocksize * sizeof(FLAC__int32);
+ for (size_t i = 0; i < numChannels; i++) {
+ fuzzing::memory::memory_test(buffer[i], bytesPerChannel);
+ }
+ }
+
+ /* Data is checked, now pass it towards encoder */
+ if(encoder.get_state() == FLAC__STREAM_ENCODER_OK) {
+ if(encoder.get_channels() != get_channels())
+ return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
+ if(encoder.get_bits_per_sample() != get_bits_per_sample())
+ return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
+ encoder.process(buffer, frame->header.blocksize);
+ return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
+ }
+ else
+ return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
+ }
+ void error_callback(::FLAC__StreamDecoderErrorStatus status) override {
+ fuzzing::memory::memory_test(status);
+ }
+ };
+ }
+}
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
+ fuzzing::datasource::Datasource ds(data, size);
+ FLAC::Encoder::FuzzerStream encoder(ds);
+ FLAC::Decoder::FuzzerDecoder decoder(ds, encoder);
+
+ try {
+ const int channels = ds.Get<uint8_t>();
+ const int bps = ds.Get<uint8_t>();
+ encoder.set_channels(channels);
+ encoder.set_bits_per_sample(bps);
+
+ {
+ const bool res = encoder.set_streamable_subset(ds.Get<bool>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_ogg_serial_number(ds.Get<long>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_verify(ds.Get<bool>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_compression_level(ds.Get<uint8_t>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_do_mid_side_stereo(ds.Get<bool>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_loose_mid_side_stereo(ds.Get<bool>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_max_lpc_order(ds.Get<uint8_t>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_qlp_coeff_precision(ds.Get<uint32_t>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_do_escape_coding(ds.Get<bool>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_min_residual_partition_order(ds.Get<uint32_t>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_max_residual_partition_order(ds.Get<uint32_t>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_total_samples_estimate(ds.Get<uint64_t>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_blocksize(ds.Get<uint16_t>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_limit_min_bitrate(ds.Get<bool>());
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = encoder.set_sample_rate(ds.Get<uint32_t>());
+ fuzzing::memory::memory_test(res);
+ }
+
+ decoder.set_metadata_respond_all();
+
+ {
+ ::FLAC__StreamDecoderInitStatus ret;
+ if ( ds.Get<bool>() ) {
+ ret = decoder.init();
+ } else {
+ ret = decoder.init_ogg();
+ }
+
+ if ( ret != FLAC__STREAM_DECODER_INIT_STATUS_OK ) {
+ goto end;
+ }
+
+ decoder.process_until_end_of_metadata();
+ if(decoder.num_metadata_blocks > 0)
+ encoder.set_metadata(decoder.metadata_blocks, decoder.num_metadata_blocks);
+ }
+
+ {
+ ::FLAC__StreamEncoderInitStatus ret;
+ if ( ds.Get<bool>() ) {
+ ret = encoder.init();
+ } else {
+ ret = encoder.init_ogg();
+ }
+
+ if ( ret != FLAC__STREAM_ENCODER_INIT_STATUS_OK ) {
+ goto end;
+ }
+ }
+
+ /* These sets must fail, because encoder is already initialized */
+ {
+ bool res = false;
+ res = res || encoder.set_streamable_subset(true);
+ res = res || encoder.set_ogg_serial_number(0);
+ res = res || encoder.set_verify(true);
+ res = res || encoder.set_compression_level(0);
+ res = res || encoder.set_do_exhaustive_model_search(true);
+ res = res || encoder.set_do_mid_side_stereo(true);
+ res = res || encoder.set_loose_mid_side_stereo(true);
+ res = res || encoder.set_apodization("test");
+ res = res || encoder.set_max_lpc_order(0);
+ res = res || encoder.set_qlp_coeff_precision(0);
+ res = res || encoder.set_do_qlp_coeff_prec_search(true);
+ res = res || encoder.set_do_escape_coding(true);
+ res = res || encoder.set_min_residual_partition_order(0);
+ res = res || encoder.set_max_residual_partition_order(0);
+ res = res || encoder.set_rice_parameter_search_dist(0);
+ res = res || encoder.set_total_samples_estimate(0);
+ res = res || encoder.set_channels(channels);
+ res = res || encoder.set_bits_per_sample(16);
+ res = res || encoder.set_limit_min_bitrate(true);
+ res = res || encoder.set_blocksize(3021);
+ res = res || encoder.set_sample_rate(44100);
+ fuzzing::memory::memory_test(res);
+ if(res)
+ abort();
+ }
+
+
+ {
+ /* XORing values as otherwise compiler will optimize, apparently */
+ bool res = false;
+ res = res != encoder.get_streamable_subset();
+ res = res != encoder.get_verify();
+ res = res != encoder.get_do_exhaustive_model_search();
+ res = res != encoder.get_do_mid_side_stereo();
+ res = res != encoder.get_loose_mid_side_stereo();
+ res = res != encoder.get_max_lpc_order();
+ res = res != encoder.get_qlp_coeff_precision();
+ res = res != encoder.get_do_qlp_coeff_prec_search();
+ res = res != encoder.get_do_escape_coding();
+ res = res != encoder.get_min_residual_partition_order();
+ res = res != encoder.get_max_residual_partition_order();
+ res = res != encoder.get_rice_parameter_search_dist();
+ res = res != encoder.get_total_samples_estimate();
+ res = res != encoder.get_channels();
+ res = res != encoder.get_bits_per_sample();
+ res = res != encoder.get_limit_min_bitrate();
+ res = res != encoder.get_blocksize();
+ res = res != encoder.get_sample_rate();
+ fuzzing::memory::memory_test(res);
+ }
+
+ decoder.process_until_end_of_stream();
+
+ } catch ( ... ) { }
+
+end:
+ {
+ const bool res = encoder.finish();
+ fuzzing::memory::memory_test(res);
+ }
+ {
+ const bool res = decoder.finish();
+ fuzzing::memory::memory_test(res);
+ }
+ for(int i = 0; i < decoder.num_metadata_blocks; i++)
+ FLAC__metadata_object_delete(decoder.metadata_blocks[i]);
+
+ return 0;
+}
diff --git a/3rdparty/libflac/oss-fuzz/seek.cc b/3rdparty/libflac/oss-fuzz/seek.cc
new file mode 100644
index 00000000000..d3ccbe882e3
--- /dev/null
+++ b/3rdparty/libflac/oss-fuzz/seek.cc
@@ -0,0 +1,195 @@
+/* fuzzer_seek
+ * Copyright (C) 2022-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <cstdlib>
+#include <cstring> /* for memcpy */
+#include "FLAC/stream_decoder.h"
+#include "common.h"
+
+int write_abort_check_counter = -1;
+
+#if 0 /* set to 1 to debug */
+#define FPRINTF_DEBUG_ONLY(...) fprintf(__VA_ARGS__)
+#else
+#define FPRINTF_DEBUG_ONLY(...)
+#endif
+
+#define CONFIG_LENGTH 2
+
+static FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 *const buffer[], void *client_data)
+{
+ (void)decoder, (void)frame, (void)buffer, (void)client_data;
+ if(write_abort_check_counter > 0) {
+ write_abort_check_counter--;
+ if(write_abort_check_counter == 0)
+ return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
+ } else if(write_abort_check_counter == 0)
+ /* This must not happen: write callback called after abort is returned */
+ abort();
+ return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
+}
+
+static void error_callback(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus error, void *client_data)
+{
+ (void)decoder, (void)error, (void)client_data;
+}
+
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
+{
+ FLAC__bool decoder_valid = true;
+ FLAC__StreamDecoder *decoder;
+ uint8_t command_length;
+ FLAC__bool init_bools[16], ogg;
+
+ if(size > 2 && data[1] < 128) /* Use MSB as on/off */
+ alloc_check_threshold = data[1];
+ else
+ alloc_check_threshold = INT32_MAX;
+ alloc_check_counter = 0;
+
+ write_abort_check_counter = -1;
+
+ /* allocate the decoder */
+ if((decoder = FLAC__stream_decoder_new()) == NULL) {
+ fprintf(stderr, "ERROR: allocating decoder\n");
+ return 1;
+ }
+
+ /* Use first byte for configuration, leave at least one byte of input */
+ if(size < 1 + CONFIG_LENGTH){
+ FLAC__stream_decoder_delete(decoder);
+ return 0;
+ }
+
+ /* First 4 bits for configuration bools, next 4 for length of command section */
+ for(int i = 0; i < 4; i++)
+ init_bools[i] = data[i/8] & (1 << (i % 8));
+
+ command_length = data[0] >> 4;
+
+ /* Leave at least one byte as input */
+ if(command_length >= size - 1 - CONFIG_LENGTH)
+ command_length = size - 1 - CONFIG_LENGTH;
+
+ /* Dump decoder input to file */
+ {
+ FILE * file_to_decode = fopen("/tmp/tmp.flac","w");
+ fwrite(data+CONFIG_LENGTH+command_length,1,size-CONFIG_LENGTH-command_length,file_to_decode);
+ fclose(file_to_decode);
+ }
+
+ ogg = init_bools[0];
+
+ FLAC__stream_decoder_set_md5_checking(decoder,init_bools[1]);
+ if(init_bools[2])
+ FLAC__stream_decoder_set_metadata_respond_all(decoder);
+ if(init_bools[3])
+ FLAC__stream_decoder_set_metadata_ignore_all(decoder);
+
+ /* initialize decoder */
+ if(decoder_valid) {
+ FLAC__StreamDecoderInitStatus init_status;
+ if(ogg)
+ init_status = FLAC__stream_decoder_init_ogg_file(decoder, "/tmp/tmp.flac", write_callback, NULL, error_callback, NULL);
+ else
+ init_status = FLAC__stream_decoder_init_file(decoder, "/tmp/tmp.flac", write_callback, NULL, error_callback, NULL);
+ if(init_status != FLAC__STREAM_DECODER_INIT_STATUS_OK) {
+ decoder_valid = false;
+ }
+ }
+
+ /* Run commands */
+ for(uint8_t i = 0; decoder_valid && (i < command_length); i++){
+ const uint8_t * command = data+CONFIG_LENGTH+i;
+ uint8_t shift = 1u << (command[0] >> 3);
+ FLAC__uint64 seekpos;
+
+ switch(command[0] & 15){
+ case 0:
+ FPRINTF_DEBUG_ONLY(stderr,"end_of_stream\n");
+ decoder_valid = FLAC__stream_decoder_process_until_end_of_stream(decoder);
+ break;
+ case 1:
+ FPRINTF_DEBUG_ONLY(stderr,"end_of_metadata\n");
+ decoder_valid = FLAC__stream_decoder_process_until_end_of_metadata(decoder);
+ break;
+ case 2:
+ FPRINTF_DEBUG_ONLY(stderr,"single\n");
+ decoder_valid = FLAC__stream_decoder_process_single(decoder);
+ break;
+ case 3:
+ FPRINTF_DEBUG_ONLY(stderr,"skip_single\n");
+ decoder_valid = FLAC__stream_decoder_skip_single_frame(decoder);
+ break;
+ case 4:
+ FPRINTF_DEBUG_ONLY(stderr,"reset\n");
+ decoder_valid = FLAC__stream_decoder_reset(decoder);
+ break;
+ case 5:
+ FPRINTF_DEBUG_ONLY(stderr,"flush\n");
+ decoder_valid = FLAC__stream_decoder_flush(decoder);
+ break;
+ case 6:
+ case 14:
+ shift = 1u << (command[0] >> 3);
+ FPRINTF_DEBUG_ONLY(stderr,"seek short %hhu\n",shift);
+ decoder_valid = FLAC__stream_decoder_seek_absolute(decoder,shift);
+ break;
+ case 7:
+ if(i+8 >= command_length) /* Not enough data available to do this */
+ break;
+ seekpos = ((FLAC__uint64)command[1] << 56) +
+ ((FLAC__uint64)command[2] << 48) +
+ ((FLAC__uint64)command[3] << 40) +
+ ((FLAC__uint64)command[4] << 32) +
+ ((FLAC__uint64)command[5] << 24) +
+ ((FLAC__uint64)command[6] << 16) +
+ ((FLAC__uint64)command[7] << 8) +
+ command[8];
+ i+=8;
+ FPRINTF_DEBUG_ONLY(stderr,"seek long %lu\n",seekpos);
+ decoder_valid = FLAC__stream_decoder_seek_absolute(decoder,seekpos);
+ break;
+ case 8:
+ /* Set abort on write callback */
+ write_abort_check_counter = (command[0] >> 4) + 1;
+ break;
+ }
+ }
+
+ FLAC__stream_decoder_finish(decoder);
+
+ FLAC__stream_decoder_delete(decoder);
+
+ return 0;
+}
+
diff --git a/3rdparty/libflac/oss-fuzz/tool_flac.c b/3rdparty/libflac/oss-fuzz/tool_flac.c
new file mode 100644
index 00000000000..ce10a072017
--- /dev/null
+++ b/3rdparty/libflac/oss-fuzz/tool_flac.c
@@ -0,0 +1,117 @@
+/* fuzzer_tool_flac
+ * Copyright (C) 2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdlib.h>
+#include <string.h> /* for memcpy */
+#define FUZZ_TOOL_FLAC
+#define fprintf(...)
+#define printf(...)
+#include "../src/flac/main.c"
+#include "common.h"
+
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
+
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
+{
+ size_t size_left = size;
+ size_t arglen;
+ char * argv[67];
+ char exename[] = "flac";
+ char filename[] = "/tmp/fuzzXXXXXX";
+ int numarg = 0, maxarg;
+ int file_to_fuzz;
+ int tmp_stdout, tmp_stdin;
+ fpos_t pos_stdout;
+ bool use_stdin = false;
+
+ /* reset global vars */
+ flac__utils_verbosity_ = 0;
+ share__opterr = 0;
+ share__optind = 0;
+
+ if(size < 2)
+ return 0;
+
+ maxarg = data[0] & 63;
+ use_stdin = data[0] & 64;
+ size_left--;
+
+ argv[0] = exename;
+ numarg++;
+
+ /* Check whether input is zero delimited */
+ while((arglen = strnlen((char *)data+(size-size_left),size_left)) < size_left && numarg < maxarg) {
+ argv[numarg++] = (char *)data+(size-size_left);
+ size_left -= arglen + 1;
+ }
+
+ file_to_fuzz = mkstemp(filename);
+
+ if (file_to_fuzz < 0)
+ abort();
+ write(file_to_fuzz,data+(size-size_left),size_left);
+ close(file_to_fuzz);
+
+ /* redirect stdout */
+ fflush(stdout);
+ fgetpos(stdout,&pos_stdout);
+ tmp_stdout = dup(fileno(stdout));
+ freopen("/dev/null","w",stdout);
+
+ /* redirect stdin */
+ tmp_stdin = dup(fileno(stdin));
+
+ if(use_stdin)
+ freopen(filename,"r",stdin);
+ else {
+ freopen("/dev/null","r",stdin);
+ argv[numarg++] = filename;
+ }
+
+ main_to_fuzz(numarg,argv);
+
+ /* restore stdout */
+ fflush(stdout);
+ dup2(tmp_stdout, fileno(stdout));
+ close(tmp_stdout);
+ clearerr(stdout);
+ fsetpos(stdout,&pos_stdout);
+
+ /* restore stdin */
+ dup2(tmp_stdin, fileno(stdin));
+ close(tmp_stdin);
+ clearerr(stdin);
+
+ unlink(filename);
+
+ return 0;
+}
+
diff --git a/3rdparty/libflac/oss-fuzz/tool_metaflac.c b/3rdparty/libflac/oss-fuzz/tool_metaflac.c
new file mode 100644
index 00000000000..a6fafa26b75
--- /dev/null
+++ b/3rdparty/libflac/oss-fuzz/tool_metaflac.c
@@ -0,0 +1,136 @@
+/* fuzzer_tool_flac
+ * Copyright (C) 2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h> /* for memcpy */
+#define FUZZ_TOOL_METAFLAC
+#define fprintf(...)
+#define printf(...)
+#include "../src/metaflac/main.c"
+#include "common.h"
+
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
+
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
+{
+ size_t size_left = size;
+ size_t arglen;
+ char * argv[64];
+ char exename[] = "metaflac";
+ char filename[] = "/tmp/fuzzXXXXXX";
+ char filename_stdin[] = "/tmp/fuzzXXXXXX";
+ int numarg = 0, maxarg;
+ int file_to_fuzz;
+ int tmp_stdout, tmp_stdin;
+ fpos_t pos_stdout;
+ bool use_stdin = false;
+
+ share__opterr = 0;
+ share__optind = 0;
+
+
+ if(size < 2)
+ return 0;
+
+ maxarg = data[0] & 15;
+ use_stdin = data[0] & 16;
+ size_left--;
+
+ argv[0] = exename;
+ numarg++;
+
+ /* Check whether input is zero delimited */
+ while((arglen = strnlen((char *)data+(size-size_left),size_left)) < size_left && numarg < maxarg) {
+ argv[numarg++] = (char *)data+(size-size_left);
+ size_left -= arglen + 1;
+ }
+
+ /* Create file to feed directly */
+ file_to_fuzz = mkstemp(filename);
+ if (file_to_fuzz < 0)
+ abort();
+ if(use_stdin) {
+ write(file_to_fuzz,data+(size-size_left),size_left/2);
+ size_left -= size_left/2;
+ }
+ else
+ write(file_to_fuzz,data+(size-size_left),size_left);
+ close(file_to_fuzz);
+
+ argv[numarg++] = filename;
+
+ /* Create file to feed to stdin */
+ if(use_stdin) {
+ file_to_fuzz = mkstemp(filename_stdin);
+ if (file_to_fuzz < 0)
+ abort();
+ write(file_to_fuzz,data+(size-size_left),size_left);
+ close(file_to_fuzz);
+ }
+
+ /* redirect stdout */
+ fflush(stdout);
+ fgetpos(stdout,&pos_stdout);
+ tmp_stdout = dup(fileno(stdout));
+ freopen("/dev/null","w",stdout);
+
+ /* redirect stdin */
+ tmp_stdin = dup(fileno(stdin));
+ if(use_stdin)
+ freopen(filename_stdin,"r",stdin);
+ else {
+ freopen("/dev/null","r",stdin);
+ argv[numarg++] = filename;
+ }
+
+ main_to_fuzz(numarg,argv);
+
+ /* restore stdout */
+ fflush(stdout);
+ dup2(tmp_stdout, fileno(stdout));
+ close(tmp_stdout);
+ clearerr(stdout);
+ fsetpos(stdout,&pos_stdout);
+
+ /* restore stdin */
+ dup2(tmp_stdin, fileno(stdin));
+ close(tmp_stdin);
+ clearerr(stdin);
+
+ unlink(filename);
+
+ if(use_stdin)
+ unlink(filename_stdin);
+
+ return 0;
+}
+
diff --git a/3rdparty/libflac/src/CMakeLists.txt b/3rdparty/libflac/src/CMakeLists.txt
new file mode 100644
index 00000000000..262feeaddfc
--- /dev/null
+++ b/3rdparty/libflac/src/CMakeLists.txt
@@ -0,0 +1,36 @@
+cmake_minimum_required(VERSION 3.11)
+
+option(ENABLE_64_BIT_WORDS "Set FLAC__BYTES_PER_WORD to 8, for 64-bit machines. For 32-bit machines, turning this off might give a tiny speed improvement" ON)
+option(BUILD_UTILS "Build utils" OFF)
+
+add_subdirectory("libFLAC")
+if(BUILD_CXXLIBS)
+ add_subdirectory("libFLAC++")
+endif()
+add_subdirectory("share/replaygain_analysis")
+add_subdirectory("share/replaygain_synthesis")
+add_subdirectory("share/getopt")
+add_subdirectory("share/utf8")
+add_subdirectory("share/grabbag")
+
+if(BUILD_PROGRAMS)
+ add_subdirectory("flac")
+ add_subdirectory("metaflac")
+endif()
+if(BUILD_UTILS)
+ add_subdirectory(utils/flacdiff)
+ if(WIN32)
+ add_subdirectory(utils/flactimer)
+ endif()
+endif()
+
+if(BUILD_TESTING)
+ add_subdirectory("test_libs_common")
+ add_subdirectory("test_libFLAC")
+ if(BUILD_CXXLIBS)
+ add_subdirectory("test_libFLAC++")
+ endif()
+ add_subdirectory("test_grabbag")
+ add_subdirectory("test_seeking")
+ add_subdirectory("test_streams")
+endif()
diff --git a/3rdparty/libflac/src/Makefile.am b/3rdparty/libflac/src/Makefile.am
index 131383e6a17..e9d60a9bf32 100644
--- a/3rdparty/libflac/src/Makefile.am
+++ b/3rdparty/libflac/src/Makefile.am
@@ -1,8 +1,9 @@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -15,28 +16,25 @@
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-if FLaC__HAS_XMMS
-XMMS_DIRS = plugin_common plugin_xmms
-endif
-
if FLaC__WITH_CPPLIBS
CPPLIBS_DIRS = libFLAC++ test_libFLAC++
endif
+if FLaC__WITH_PROGRAMS
+PROGRAMS_DIRS = flac metaflac
+endif
+
SUBDIRS = \
libFLAC \
share \
- flac \
- metaflac \
- monkeys_audio_utilities \
- $(XMMS_DIRS) \
- plugin_winamp2 \
+ $(PROGRAMS_DIRS) \
test_grabbag \
test_libs_common \
test_libFLAC \
test_seeking \
test_streams \
+ utils \
$(CPPLIBS_DIRS)
EXTRA_DIST = \
- Makefile.lite
+ CMakeLists.txt
diff --git a/3rdparty/libflac/src/Makefile.in b/3rdparty/libflac/src/Makefile.in
index 14ac8913644..808cc51eb06 100644
--- a/3rdparty/libflac/src/Makefile.in
+++ b/3rdparty/libflac/src/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,10 +15,11 @@
@SET_MAKE@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -30,17 +31,67 @@
# it may be distributed under the Xiph.Org license, which is the least
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,116 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = src
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+DIST_SUBDIRS = libFLAC share flac metaflac test_grabbag \
+ test_libs_common test_libFLAC test_seeking test_streams utils \
+ libFLAC++ test_libFLAC++
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,207 +221,192 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
-@FLaC__HAS_XMMS_TRUE@XMMS_DIRS = plugin_common plugin_xmms
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
@FLaC__WITH_CPPLIBS_TRUE@CPPLIBS_DIRS = libFLAC++ test_libFLAC++
-
+@FLaC__WITH_PROGRAMS_TRUE@PROGRAMS_DIRS = flac metaflac
SUBDIRS = \
libFLAC \
share \
- flac \
- metaflac \
- monkeys_audio_utilities \
- $(XMMS_DIRS) \
- plugin_winamp2 \
+ $(PROGRAMS_DIRS) \
test_grabbag \
test_libs_common \
test_libFLAC \
test_seeking \
test_streams \
+ utils \
$(CPPLIBS_DIRS)
-
EXTRA_DIST = \
- Makefile.lite
-
-subdir = src
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
+ CMakeLists.txt
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = libFLAC share flac metaflac monkeys_audio_utilities \
- plugin_common plugin_xmms plugin_winamp2 test_grabbag \
- test_libs_common test_libFLAC test_seeking test_streams \
- libFLAC++ test_libFLAC++
all: all-recursive
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -274,21 +414,26 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -296,152 +441,131 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
+ empty_fix=.; \
else \
include_option=--include; \
+ empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -451,7 +575,6 @@ check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
-
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@@ -462,16 +585,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -482,25 +611,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
+html: html-recursive
+
+html-am:
+
info: info-recursive
info-am:
install-data-am:
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-recursive
+
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -519,26 +669,25 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/src/Makefile.lite b/3rdparty/libflac/src/Makefile.lite
deleted file mode 100644
index 1d496b02a56..00000000000
--- a/3rdparty/libflac/src/Makefile.lite
+++ /dev/null
@@ -1,61 +0,0 @@
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-.PHONY: all flac libFLAC libFLAC++ metaflac plugin_common plugin_xmms share test_grabbag test_libs_common test_libFLAC test_libFLAC++ test_seeking test_streams
-all: flac libFLAC libFLAC++ metaflac plugin_common plugin_xmms share test_grabbag test_libs_common test_libFLAC test_libFLAC++ test_seeking test_streams
-
-DEFAULT_CONFIG = release
-
-CONFIG = $(DEFAULT_CONFIG)
-
-debug : CONFIG = debug
-valgrind: CONFIG = valgrind
-release : CONFIG = release
-
-debug : all
-valgrind: all
-release : all
-
-flac libFLAC libFLAC++ metaflac plugin_common plugin_xmms share test_grabbag test_libs_common test_libFLAC test_libFLAC++ test_seeking test_streams:
- (cd $@ ; $(MAKE) -f Makefile.lite $(CONFIG))
-
-clean:
- -(cd flac ; $(MAKE) -f Makefile.lite clean)
- -(cd libFLAC ; $(MAKE) -f Makefile.lite clean)
- -(cd libFLAC++ ; $(MAKE) -f Makefile.lite clean)
- -(cd metaflac ; $(MAKE) -f Makefile.lite clean)
- -(cd plugin_common ; $(MAKE) -f Makefile.lite clean)
- -(cd plugin_xmms ; $(MAKE) -f Makefile.lite clean)
- -(cd share ; $(MAKE) -f Makefile.lite clean)
- -(cd test_grabbag ; $(MAKE) -f Makefile.lite clean)
- -(cd test_libs_common ; $(MAKE) -f Makefile.lite clean)
- -(cd test_libFLAC ; $(MAKE) -f Makefile.lite clean)
- -(cd test_libFLAC++ ; $(MAKE) -f Makefile.lite clean)
- -(cd test_seeking ; $(MAKE) -f Makefile.lite clean)
- -(cd test_streams ; $(MAKE) -f Makefile.lite clean)
-
-flac: libFLAC share
-libFLAC++: libFLAC
-metaflac: libFLAC share
-plugin_common: libFLAC
-plugin_xmms: libFLAC plugin_common
-share: libFLAC
-test_grabbag: share
-test_libFLAC++: libFLAC libFLAC++ test_libs_common
-test_libFLAC: libFLAC test_libs_common
-test_seeking: libFLAC
-test_streams: libFLAC
diff --git a/3rdparty/libflac/src/flac/CMakeLists.txt b/3rdparty/libflac/src/flac/CMakeLists.txt
new file mode 100644
index 00000000000..da7ce8de9c7
--- /dev/null
+++ b/3rdparty/libflac/src/flac/CMakeLists.txt
@@ -0,0 +1,25 @@
+check_include_file("sys/ioctl.h" HAVE_SYS_IOCTL_H)
+check_include_file("termios.h" HAVE_TERMIOS_H)
+
+add_executable(flacapp
+ analyze.c
+ decode.c
+ encode.c
+ foreign_metadata.c
+ main.c
+ local_string_utils.c
+ utils.c
+ vorbiscomment.c
+ version.rc
+ $<$<BOOL:${WIN32}>:../../include/share/win_utf8_io.h>
+ $<$<BOOL:${WIN32}>:../share/win_utf8_io/win_utf8_io.c>)
+set_property(TARGET flacapp PROPERTY RUNTIME_OUTPUT_NAME flac)
+set_property(TARGET flacapp PROPERTY PROJECT_LABEL "flac")
+target_link_libraries(flacapp
+ FLAC
+ getopt
+ replaygain_synthesis
+ utf8)
+
+install(TARGETS flacapp EXPORT targets
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
diff --git a/3rdparty/libflac/src/flac/Makefile.am b/3rdparty/libflac/src/flac/Makefile.am
index 638cd74d413..279a7cb9b64 100644
--- a/3rdparty/libflac/src/flac/Makefile.am
+++ b/3rdparty/libflac/src/flac/Makefile.am
@@ -1,5 +1,6 @@
# flac - Command-line FLAC encoder/decoder
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2000-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -11,22 +12,26 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+if OS_IS_WINDOWS
+win_utf8_lib = $(top_builddir)/src/share/win_utf8_io/libwin_utf8_io.la
+if HAVE_WINDRES
+flac_DEPENDENCIES = version.o
+windows_resource_link = -Wl,version.o
+endif
+endif
bin_PROGRAMS = flac
AM_CFLAGS = @OGG_CFLAGS@
-
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
EXTRA_DIST = \
- Makefile.lite \
- Makefile.lite.iffscan \
- flac.dsp \
- flac.vcproj \
+ CMakeLists.txt \
iffscan.c \
- iffscan.dsp \
- iffscan.vcproj
+ version.rc
flac_SOURCES = \
analyze.c \
@@ -46,13 +51,19 @@ flac_SOURCES = \
vorbiscomment.h
flac_LDADD = \
+ $(top_builddir)/src/share/utf8/libutf8.la \
$(top_builddir)/src/share/grabbag/libgrabbag.la \
- $(top_builddir)/src/share/getopt/libgetopt.a \
+ $(top_builddir)/src/share/getopt/libgetopt.la \
$(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
$(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \
- $(top_builddir)/src/share/utf8/libutf8.la \
$(top_builddir)/src/libFLAC/libFLAC.la \
- @OGG_LIBS@ \
- @LIBICONV@ \
- @MINGW_WINSOCK_LIBS@ \
+ $(win_utf8_lib) \
+ @LTLIBICONV@ \
-lm
+
+flac_LDFLAGS = $(AM_LDFLAGS) $(windows_resource_link)
+
+CLEANFILES = flac.exe
+
+.rc.o:
+ $(RC) $(AM_CPPFLAGS) $< $@
diff --git a/3rdparty/libflac/src/flac/Makefile.in b/3rdparty/libflac/src/flac/Makefile.in
index b828c301a86..bc1d11eb9b9 100644
--- a/3rdparty/libflac/src/flac/Makefile.in
+++ b/3rdparty/libflac/src/flac/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,8 @@
@SET_MAKE@
# flac - Command-line FLAC encoder/decoder
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2000-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -27,20 +28,71 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +104,128 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+@HAVE_WINDRES_FALSE@flac_DEPENDENCIES = \
+@HAVE_WINDRES_FALSE@ $(top_builddir)/src/share/utf8/libutf8.la \
+@HAVE_WINDRES_FALSE@ $(top_builddir)/src/share/grabbag/libgrabbag.la \
+@HAVE_WINDRES_FALSE@ $(top_builddir)/src/share/getopt/libgetopt.la \
+@HAVE_WINDRES_FALSE@ $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
+@HAVE_WINDRES_FALSE@ $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \
+@HAVE_WINDRES_FALSE@ $(top_builddir)/src/libFLAC/libFLAC.la \
+@HAVE_WINDRES_FALSE@ $(win_utf8_lib)
+@OS_IS_WINDOWS_FALSE@flac_DEPENDENCIES = $(top_builddir)/src/share/utf8/libutf8.la \
+@OS_IS_WINDOWS_FALSE@ $(top_builddir)/src/share/grabbag/libgrabbag.la \
+@OS_IS_WINDOWS_FALSE@ $(top_builddir)/src/share/getopt/libgetopt.la \
+@OS_IS_WINDOWS_FALSE@ $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
+@OS_IS_WINDOWS_FALSE@ $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \
+@OS_IS_WINDOWS_FALSE@ $(top_builddir)/src/libFLAC/libFLAC.la \
+@OS_IS_WINDOWS_FALSE@ $(win_utf8_lib)
+bin_PROGRAMS = flac$(EXEEXT)
+subdir = src/flac
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+PROGRAMS = $(bin_PROGRAMS)
+am_flac_OBJECTS = analyze.$(OBJEXT) decode.$(OBJEXT) encode.$(OBJEXT) \
+ foreign_metadata.$(OBJEXT) main.$(OBJEXT) \
+ local_string_utils.$(OBJEXT) utils.$(OBJEXT) \
+ vorbiscomment.$(OBJEXT)
+flac_OBJECTS = $(am_flac_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+flac_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(flac_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/analyze.Po ./$(DEPDIR)/decode.Po \
+ ./$(DEPDIR)/encode.Po ./$(DEPDIR)/foreign_metadata.Po \
+ ./$(DEPDIR)/local_string_utils.Po ./$(DEPDIR)/main.Po \
+ ./$(DEPDIR)/utils.Po ./$(DEPDIR)/vorbiscomment.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(flac_SOURCES)
+DIST_SOURCES = $(flac_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,172 +234,152 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
-bin_PROGRAMS = flac
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+@OS_IS_WINDOWS_TRUE@win_utf8_lib = $(top_builddir)/src/share/win_utf8_io/libwin_utf8_io.la
+@HAVE_WINDRES_TRUE@@OS_IS_WINDOWS_TRUE@flac_DEPENDENCIES = version.o
+@HAVE_WINDRES_TRUE@@OS_IS_WINDOWS_TRUE@windows_resource_link = -Wl,version.o
AM_CFLAGS = @OGG_CFLAGS@
-
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
EXTRA_DIST = \
- Makefile.lite \
- Makefile.lite.iffscan \
- flac.dsp \
- flac.vcproj \
+ CMakeLists.txt \
iffscan.c \
- iffscan.dsp \
- iffscan.vcproj
-
+ version.rc
flac_SOURCES = \
analyze.c \
@@ -250,149 +398,150 @@ flac_SOURCES = \
utils.h \
vorbiscomment.h
-
flac_LDADD = \
+ $(top_builddir)/src/share/utf8/libutf8.la \
$(top_builddir)/src/share/grabbag/libgrabbag.la \
- $(top_builddir)/src/share/getopt/libgetopt.a \
+ $(top_builddir)/src/share/getopt/libgetopt.la \
$(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
$(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \
- $(top_builddir)/src/share/utf8/libutf8.la \
$(top_builddir)/src/libFLAC/libFLAC.la \
- @OGG_LIBS@ \
- @LIBICONV@ \
- @MINGW_WINSOCK_LIBS@ \
+ $(win_utf8_lib) \
+ @LTLIBICONV@ \
-lm
-subdir = src/flac
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-bin_PROGRAMS = flac$(EXEEXT)
-PROGRAMS = $(bin_PROGRAMS)
-
-am_flac_OBJECTS = analyze.$(OBJEXT) decode.$(OBJEXT) encode.$(OBJEXT) \
- foreign_metadata.$(OBJEXT) main.$(OBJEXT) \
- local_string_utils.$(OBJEXT) utils.$(OBJEXT) \
- vorbiscomment.$(OBJEXT)
-flac_OBJECTS = $(am_flac_OBJECTS)
-flac_DEPENDENCIES = $(top_builddir)/src/share/grabbag/libgrabbag.la \
- $(top_builddir)/src/share/getopt/libgetopt.a \
- $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
- $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \
- $(top_builddir)/src/share/utf8/libutf8.la \
- $(top_builddir)/src/libFLAC/libFLAC.la
-flac_LDFLAGS =
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/analyze.Po ./$(DEPDIR)/decode.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/encode.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/foreign_metadata.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/local_string_utils.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/main.Po ./$(DEPDIR)/utils.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/vorbiscomment.Po
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(flac_SOURCES)
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(flac_SOURCES)
-
+flac_LDFLAGS = $(AM_LDFLAGS) $(windows_resource_link)
+CLEANFILES = flac.exe
all: all-am
.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/flac/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+.SUFFIXES: .c .lo .o .obj .rc
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/flac/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/flac/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(bindir)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \
- else :; fi; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p \
+ || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
- rm -f $(DESTDIR)$(bindir)/$$f; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-flac$(EXEEXT): $(flac_OBJECTS) $(flac_DEPENDENCIES)
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+flac$(EXEEXT): $(flac_OBJECTS) $(flac_DEPENDENCIES) $(EXTRA_flac_DEPENDENCIES)
@rm -f flac$(EXEEXT)
- $(LINK) $(flac_LDFLAGS) $(flac_OBJECTS) $(flac_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(flac_LINK) $(flac_OBJECTS) $(flac_LDADD) $(LIBS)
mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
+ -rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/analyze.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decode.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encode.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/foreign_metadata.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/local_string_utils.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vorbiscomment.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/analyze.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decode.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encode.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/foreign_metadata.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/local_string_utils.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vorbiscomment.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -400,101 +549,97 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
-
installdirs:
- $(mkinstalldirs) $(DESTDIR)$(bindir)
+ for dir in "$(DESTDIR)$(bindir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
@@ -505,16 +650,23 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -524,31 +676,67 @@ clean: clean-am
clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/analyze.Po
+ -rm -f ./$(DEPDIR)/decode.Po
+ -rm -f ./$(DEPDIR)/encode.Po
+ -rm -f ./$(DEPDIR)/foreign_metadata.Po
+ -rm -f ./$(DEPDIR)/local_string_utils.Po
+ -rm -f ./$(DEPDIR)/main.Po
+ -rm -f ./$(DEPDIR)/utils.Po
+ -rm -f ./$(DEPDIR)/vorbiscomment.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am: install-binPROGRAMS
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/analyze.Po
+ -rm -f ./$(DEPDIR)/decode.Po
+ -rm -f ./$(DEPDIR)/encode.Po
+ -rm -f ./$(DEPDIR)/foreign_metadata.Po
+ -rm -f ./$(DEPDIR)/local_string_utils.Po
+ -rm -f ./$(DEPDIR)/main.Po
+ -rm -f ./$(DEPDIR)/utils.Po
+ -rm -f ./$(DEPDIR)/vorbiscomment.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -565,19 +753,29 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-binPROGRAMS uninstall-info-am
+uninstall-am: uninstall-binPROGRAMS
+
+.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
- clean-generic clean-libtool ctags distclean distclean-compile \
- distclean-generic distclean-libtool distclean-tags distdir dvi \
- dvi-am info info-am install install-am install-binPROGRAMS \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-binPROGRAMS \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-binPROGRAMS \
- uninstall-info-am
+ tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
+
+.PRECIOUS: Makefile
+
+
+.rc.o:
+ $(RC) $(AM_CPPFLAGS) $< $@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/src/flac/Makefile.lite b/3rdparty/libflac/src/flac/Makefile.lite
deleted file mode 100644
index 9e8a0cc90a4..00000000000
--- a/3rdparty/libflac/src/flac/Makefile.lite
+++ /dev/null
@@ -1,47 +0,0 @@
-# flac - Command-line FLAC encoder/decoder
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#
-# GNU makefile
-#
-
-topdir = ../..
-libdir = $(topdir)/obj/$(BUILD)/lib
-
-PROGRAM_NAME = flac
-
-INCLUDES = -I./include -I$(topdir)/include -I$(OGG_INCLUDE_DIR)
-
-ifeq ($(DARWIN_BUILD),yes)
-EXPLICIT_LIBS = $(libdir)/libgrabbag.a $(libdir)/libFLAC.a $(libdir)/libreplaygain_analysis.a $(libdir)/libreplaygain_synthesis.a $(libdir)/libgetopt.a $(libdir)/libutf8.a $(OGG_LIB_DIR)/libogg.a -liconv -lm
-else
-LIBS = -lgrabbag -lFLAC -lreplaygain_analysis -lreplaygain_synthesis -lgetopt -lutf8 -L$(OGG_LIB_DIR) -logg -lm
-endif
-
-SRCS_C = \
- analyze.c \
- decode.c \
- encode.c \
- foreign_metadata.c \
- local_string_utils.c \
- main.c \
- utils.c \
- vorbiscomment.c
-
-include $(topdir)/build/exe.mk
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/src/flac/Makefile.lite.iffscan b/3rdparty/libflac/src/flac/Makefile.lite.iffscan
deleted file mode 100644
index b12bb10a60e..00000000000
--- a/3rdparty/libflac/src/flac/Makefile.lite.iffscan
+++ /dev/null
@@ -1,41 +0,0 @@
-# flac - Command-line FLAC encoder/decoder
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#
-# GNU makefile
-#
-
-topdir = ../..
-libdir = $(topdir)/obj/$(BUILD)/lib
-
-PROGRAM_NAME = iffscan
-
-INCLUDES = -I./include -I$(topdir)/include -I$(OGG_INCLUDE_DIR)
-
-ifeq ($(DARWIN_BUILD),yes)
-EXPLICIT_LIBS = $(libdir)/libFLAC.a $(OGG_LIB_DIR)/libogg.a -liconv -lm
-else
-LIBS = -lFLAC -L$(OGG_LIB_DIR) -logg -lm
-endif
-
-SRCS_C = \
- foreign_metadata.c \
- iffscan.c
-
-include $(topdir)/build/exe.mk
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/src/flac/analyze.c b/3rdparty/libflac/src/flac/analyze.c
index 47a5e76d7a9..0a85565e89b 100644
--- a/3rdparty/libflac/src/flac/analyze.c
+++ b/3rdparty/libflac/src/flac/analyze.c
@@ -1,5 +1,6 @@
/* flac - Command-line FLAC encoder/decoder
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,12 +12,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -25,19 +26,22 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+
#include "FLAC/all.h"
#include "analyze.h"
+#include "share/compat.h"
+
typedef struct {
FLAC__int32 residual;
- unsigned count;
+ uint32_t count;
} pair_t;
typedef struct {
pair_t buckets[FLAC__MAX_BLOCK_SIZE];
int peak_index;
- unsigned nbuckets;
- unsigned nsamples;
+ uint32_t nbuckets;
+ uint32_t nsamples;
double sum, sos;
double variance;
double mean;
@@ -47,7 +51,7 @@ typedef struct {
static subframe_stats_t all_;
static void init_stats(subframe_stats_t *stats);
-static void update_stats(subframe_stats_t *stats, FLAC__int32 residual, unsigned incr);
+static void update_stats(subframe_stats_t *stats, FLAC__int32 residual, uint32_t incr);
static void compute_stats(subframe_stats_t *stats);
static FLAC__bool dump_stats(const subframe_stats_t *stats, const char *filename);
@@ -58,36 +62,32 @@ void flac__analyze_init(analysis_options aopts)
}
}
-void flac__analyze_frame(const FLAC__Frame *frame, unsigned frame_number, FLAC__uint64 frame_offset, unsigned frame_bytes, analysis_options aopts, FILE *fout)
+void flac__analyze_frame(const FLAC__Frame *frame, uint32_t frame_number, FLAC__uint64 frame_offset, FLAC__uint64 frame_bytes, analysis_options aopts, FILE *fout)
{
- const unsigned channels = frame->header.channels;
+ const uint32_t channels = frame->header.channels;
char outfilename[1024];
subframe_stats_t stats;
- unsigned i, channel, partitions;
+ uint32_t i, channel, partitions;
/* do the human-readable part first */
-#ifdef _MSC_VER
- fprintf(fout, "frame=%u\toffset=%I64u\tbits=%u\tblocksize=%u\tsample_rate=%u\tchannels=%u\tchannel_assignment=%s\n", frame_number, frame_offset, frame_bytes*8, frame->header.blocksize, frame->header.sample_rate, channels, FLAC__ChannelAssignmentString[frame->header.channel_assignment]);
-#else
- fprintf(fout, "frame=%u\toffset=%llu\tbits=%u\tblocksize=%u\tsample_rate=%u\tchannels=%u\tchannel_assignment=%s\n", frame_number, (unsigned long long)frame_offset, frame_bytes*8, frame->header.blocksize, frame->header.sample_rate, channels, FLAC__ChannelAssignmentString[frame->header.channel_assignment]);
-#endif
+ fprintf(fout, "frame=%u\toffset=%" PRIu64 "\tbits=%" PRIu64 "\tblocksize=%u\tsample_rate=%u\tchannels=%u\tchannel_assignment=%s\n", frame_number, frame_offset, frame_bytes*8, frame->header.blocksize, frame->header.sample_rate, channels, FLAC__ChannelAssignmentString[frame->header.channel_assignment]);
for(channel = 0; channel < channels; channel++) {
const FLAC__Subframe *subframe = frame->subframes+channel;
const FLAC__bool is_rice2 = subframe->data.fixed.entropy_coding_method.type == FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2;
- const unsigned pesc = is_rice2? FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER : FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER;
+ const uint32_t pesc = is_rice2? FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER : FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER;
fprintf(fout, "\tsubframe=%u\twasted_bits=%u\ttype=%s", channel, subframe->wasted_bits, FLAC__SubframeTypeString[subframe->type]);
switch(subframe->type) {
case FLAC__SUBFRAME_TYPE_CONSTANT:
- fprintf(fout, "\tvalue=%d\n", subframe->data.constant.value);
+ fprintf(fout, "\tvalue=%" PRId64 "\n", subframe->data.constant.value);
break;
case FLAC__SUBFRAME_TYPE_FIXED:
FLAC__ASSERT(subframe->data.fixed.entropy_coding_method.type <= FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2);
fprintf(fout, "\torder=%u\tresidual_type=%s\tpartition_order=%u\n", subframe->data.fixed.order, is_rice2? "RICE2":"RICE", subframe->data.fixed.entropy_coding_method.data.partitioned_rice.order);
for(i = 0; i < subframe->data.fixed.order; i++)
- fprintf(fout, "\t\twarmup[%u]=%d\n", i, subframe->data.fixed.warmup[i]);
+ fprintf(fout, "\t\twarmup[%u]=%" PRId64 "\n", i, subframe->data.fixed.warmup[i]);
partitions = (1u << subframe->data.fixed.entropy_coding_method.data.partitioned_rice.order);
for(i = 0; i < partitions; i++) {
- unsigned parameter = subframe->data.fixed.entropy_coding_method.data.partitioned_rice.contents->parameters[i];
+ uint32_t parameter = subframe->data.fixed.entropy_coding_method.data.partitioned_rice.contents->parameters[i];
if(parameter == pesc)
fprintf(fout, "\t\tparameter[%u]=ESCAPE, raw_bits=%u\n", i, subframe->data.fixed.entropy_coding_method.data.partitioned_rice.contents->raw_bits[i]);
else
@@ -104,10 +104,10 @@ void flac__analyze_frame(const FLAC__Frame *frame, unsigned frame_number, FLAC__
for(i = 0; i < subframe->data.lpc.order; i++)
fprintf(fout, "\t\tqlp_coeff[%u]=%d\n", i, subframe->data.lpc.qlp_coeff[i]);
for(i = 0; i < subframe->data.lpc.order; i++)
- fprintf(fout, "\t\twarmup[%u]=%d\n", i, subframe->data.lpc.warmup[i]);
+ fprintf(fout, "\t\twarmup[%u]=%" PRId64 "\n", i, subframe->data.lpc.warmup[i]);
partitions = (1u << subframe->data.lpc.entropy_coding_method.data.partitioned_rice.order);
for(i = 0; i < partitions; i++) {
- unsigned parameter = subframe->data.lpc.entropy_coding_method.data.partitioned_rice.contents->parameters[i];
+ uint32_t parameter = subframe->data.lpc.entropy_coding_method.data.partitioned_rice.contents->parameters[i];
if(parameter == pesc)
fprintf(fout, "\t\tparameter[%u]=ESCAPE, raw_bits=%u\n", i, subframe->data.lpc.entropy_coding_method.data.partitioned_rice.contents->raw_bits[i]);
else
@@ -128,7 +128,7 @@ void flac__analyze_frame(const FLAC__Frame *frame, unsigned frame_number, FLAC__
if(aopts.do_residual_gnuplot) {
for(channel = 0; channel < channels; channel++) {
const FLAC__Subframe *subframe = frame->subframes+channel;
- unsigned residual_samples;
+ uint32_t residual_samples;
init_stats(&stats);
@@ -152,18 +152,20 @@ void flac__analyze_frame(const FLAC__Frame *frame, unsigned frame_number, FLAC__
update_stats(&all_, stats.buckets[i].residual, stats.buckets[i].count);
}
- /* write the subframe */
- sprintf(outfilename, "f%06u.s%u.gp", frame_number, channel);
- compute_stats(&stats);
+ if(stats.nsamples > 0) {
+ /* write the subframe */
+ flac_snprintf(outfilename, sizeof (outfilename), "f%06u.s%u.gp", frame_number, channel);
+ compute_stats(&stats);
- (void)dump_stats(&stats, outfilename);
+ (void)dump_stats(&stats, outfilename);
+ }
}
}
}
void flac__analyze_finish(analysis_options aopts)
{
- if(aopts.do_residual_gnuplot) {
+ if(aopts.do_residual_gnuplot && all_.nsamples > 0) {
compute_stats(&all_);
(void)dump_stats(&all_, "all");
}
@@ -178,9 +180,9 @@ void init_stats(subframe_stats_t *stats)
stats->sos = 0.0;
}
-void update_stats(subframe_stats_t *stats, FLAC__int32 residual, unsigned incr)
+void update_stats(subframe_stats_t *stats, FLAC__int32 residual, uint32_t incr)
{
- unsigned i;
+ uint32_t i;
const double r = (double)residual, a = r*incr;
stats->nsamples += incr;
@@ -213,12 +215,12 @@ void compute_stats(subframe_stats_t *stats)
FLAC__bool dump_stats(const subframe_stats_t *stats, const char *filename)
{
FILE *outfile;
- unsigned i;
+ uint32_t i;
const double m = stats->mean;
const double s1 = stats->stddev, s2 = s1*2, s3 = s1*3, s4 = s1*4, s5 = s1*5, s6 = s1*6;
const double p = stats->buckets[stats->peak_index].count;
- outfile = fopen(filename, "w");
+ outfile = flac_fopen(filename, "w");
if(0 == outfile) {
fprintf(stderr, "ERROR opening %s: %s\n", filename, strerror(errno));
@@ -243,5 +245,8 @@ FLAC__bool dump_stats(const subframe_stats_t *stats, const char *filename)
fprintf(outfile, "pause -1 'waiting...'\n");
fclose(outfile);
+#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+ unlink(filename);
+#endif
return true;
}
diff --git a/3rdparty/libflac/src/flac/analyze.h b/3rdparty/libflac/src/flac/analyze.h
index b58b6b875ff..ce07b145ec8 100644
--- a/3rdparty/libflac/src/flac/analyze.h
+++ b/3rdparty/libflac/src/flac/analyze.h
@@ -1,5 +1,6 @@
/* flac - Command-line FLAC encoder/decoder
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef flac__analyze_h
@@ -25,7 +26,7 @@ typedef struct {
} analysis_options;
void flac__analyze_init(analysis_options aopts);
-void flac__analyze_frame(const FLAC__Frame *frame, unsigned frame_number, FLAC__uint64 frame_offset, unsigned frame_bytes, analysis_options aopts, FILE *fout);
+void flac__analyze_frame(const FLAC__Frame *frame, uint32_t frame_number, FLAC__uint64 frame_offset, FLAC__uint64 frame_bytes, analysis_options aopts, FILE *fout);
void flac__analyze_finish(analysis_options aopts);
#endif
diff --git a/3rdparty/libflac/src/flac/decode.c b/3rdparty/libflac/src/flac/decode.c
index 1e537c064e2..90f7a6c8607 100644
--- a/3rdparty/libflac/src/flac/decode.c
+++ b/3rdparty/libflac/src/flac/decode.c
@@ -1,5 +1,6 @@
/* flac - Command-line FLAC encoder/decoder
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,35 +12,24 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
-#if defined _WIN32 && !defined __CYGWIN__
-/* where MSVC puts unlink() */
-# include <io.h>
-#else
-# include <unistd.h>
-#endif
-#if defined _MSC_VER || defined __MINGW32__
-#include <sys/types.h> /* for off_t */
-#if _MSC_VER <= 1600 /* @@@ [2G limit] */
-#define fseeko fseek
-#define ftello ftell
-#endif
-#endif
#include <errno.h>
#include <math.h> /* for floor() */
#include <stdio.h> /* for FILE etc. */
#include <string.h> /* for strcmp(), strerror() */
+#include <time.h> /* for clock() */
#include "FLAC/all.h"
#include "share/grabbag.h"
#include "share/replaygain_synthesis.h"
+#include "share/compat.h"
#include "decode.h"
typedef struct {
@@ -49,11 +39,12 @@ typedef struct {
long serial_number;
#endif
- FLAC__bool is_aiff_out;
- FLAC__bool is_wave_out;
+ FileFormat format;
+ FileSubFormat subformat;
FLAC__bool treat_warnings_as_errors;
FLAC__bool continue_through_decode_errors;
FLAC__bool channel_map_none;
+ FLAC__bool relaxed_foreign_metadata_handling;
struct {
replaygain_synthesis_spec_t spec;
@@ -74,10 +65,12 @@ typedef struct {
const char *outfilename;
FLAC__uint64 samples_processed;
- unsigned frame_counter;
+ uint32_t frame_counter;
FLAC__bool abort_flag;
FLAC__bool aborting_due_to_until; /* true if we intentionally abort decoding prematurely because we hit the --until point */
FLAC__bool aborting_due_to_unparseable; /* true if we abort decoding because we hit an unparseable frame */
+ FLAC__bool error_callback_suppress_messages; /* turn on to prevent repeating messages from the error callback */
+ FLAC__bool warn_user_about_foreign_metadata; /* to prevent more than one warning message per file */
FLAC__bool iff_headers_need_fixup;
@@ -86,9 +79,9 @@ typedef struct {
FLAC__bool got_stream_info;
FLAC__bool has_md5sum;
FLAC__uint64 total_samples;
- unsigned bps;
- unsigned channels;
- unsigned sample_rate;
+ uint32_t bps;
+ uint32_t channels;
+ uint32_t sample_rate;
FLAC__uint32 channel_mask;
/* these are used only in analyze mode */
@@ -99,7 +92,9 @@ typedef struct {
FILE *fout;
foreign_metadata_t *foreign_metadata; /* NULL unless --keep-foreign-metadata requested */
- off_t fm_offset1, fm_offset2, fm_offset3;
+ FLAC__off_t fm_offset1, fm_offset2, fm_offset3;
+
+ clock_t old_clock_t;
} DecoderSession;
@@ -109,21 +104,22 @@ static FLAC__bool is_big_endian_host_;
/*
* local routines
*/
-static FLAC__bool DecoderSession_construct(DecoderSession *d, FLAC__bool is_ogg, FLAC__bool use_first_serial_number, long serial_number, FLAC__bool is_aiff_out, FLAC__bool is_wave_out, FLAC__bool treat_warnings_as_errors, FLAC__bool continue_through_decode_errors, FLAC__bool channel_map_none, replaygain_synthesis_spec_t replaygain_synthesis_spec, FLAC__bool analysis_mode, analysis_options aopts, utils__SkipUntilSpecification *skip_specification, utils__SkipUntilSpecification *until_specification, utils__CueSpecification *cue_specification, foreign_metadata_t *foreign_metadata, const char *infilename, const char *outfilename);
+static FLAC__bool DecoderSession_construct(DecoderSession *d, FLAC__bool is_ogg, FLAC__bool use_first_serial_number, long serial_number, FileFormat format, FileSubFormat subformat, FLAC__bool treat_warnings_as_errors, FLAC__bool continue_through_decode_errors, FLAC__bool channel_map_none, FLAC__bool relaxed_foreign_metadata_handling, replaygain_synthesis_spec_t replaygain_synthesis_spec, FLAC__bool analysis_mode, analysis_options aopts, utils__SkipUntilSpecification *skip_specification, utils__SkipUntilSpecification *until_specification, utils__CueSpecification *cue_specification, foreign_metadata_t *foreign_metadata, const char *infilename, const char *outfilename);
static void DecoderSession_destroy(DecoderSession *d, FLAC__bool error_occurred);
static FLAC__bool DecoderSession_init_decoder(DecoderSession *d, const char *infilename);
static FLAC__bool DecoderSession_process(DecoderSession *d);
static int DecoderSession_finish_ok(DecoderSession *d);
static int DecoderSession_finish_error(DecoderSession *d);
-static FLAC__bool canonicalize_until_specification(utils__SkipUntilSpecification *spec, const char *inbasefilename, unsigned sample_rate, FLAC__uint64 skip, FLAC__uint64 total_samples_in_input);
+static FLAC__bool canonicalize_until_specification(utils__SkipUntilSpecification *spec, const char *inbasefilename, uint32_t sample_rate, FLAC__uint64 skip, FLAC__uint64 total_samples_in_input);
static FLAC__bool write_iff_headers(FILE *f, DecoderSession *decoder_session, FLAC__uint64 samples);
-static FLAC__bool write_riff_wave_fmt_chunk(FILE *f, FLAC__bool is_waveformatextensible, unsigned bps, unsigned channels, unsigned sample_rate, FLAC__uint32 channel_mask);
-static FLAC__bool write_aiff_form_comm_chunk(FILE *f, FLAC__uint64 samples, unsigned bps, unsigned channels, unsigned sample_rate);
+static FLAC__bool write_riff_wave_fmt_chunk_body(FILE *f, FLAC__bool is_waveformatextensible, uint32_t bps, uint32_t channels, uint32_t sample_rate, FLAC__uint32 channel_mask);
+static FLAC__bool write_aiff_form_comm_chunk(FILE *f, FLAC__uint64 samples, uint32_t bps, uint32_t channels, uint32_t sample_rate, FileFormat format, FileSubFormat subformat, FLAC__uint32 comm_length);
static FLAC__bool write_little_endian_uint16(FILE *f, FLAC__uint16 val);
static FLAC__bool write_little_endian_uint32(FILE *f, FLAC__uint32 val);
+static FLAC__bool write_little_endian_uint64(FILE *f, FLAC__uint64 val);
static FLAC__bool write_big_endian_uint16(FILE *f, FLAC__uint16 val);
static FLAC__bool write_big_endian_uint32(FILE *f, FLAC__uint32 val);
-static FLAC__bool write_sane_extended(FILE *f, unsigned val);
+static FLAC__bool write_sane_extended(FILE *f, uint32_t val);
static FLAC__bool fixup_iff_headers(DecoderSession *d);
static FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data);
static void metadata_callback(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data);
@@ -136,129 +132,56 @@ static void print_stats(const DecoderSession *decoder_session);
/*
* public routines
*/
-int flac__decode_aiff(const char *infilename, const char *outfilename, FLAC__bool analysis_mode, analysis_options aopts, wav_decode_options_t options)
+int flac__decode_file(const char *infilename, const char *outfilename, FLAC__bool analysis_mode, analysis_options aopts, decode_options_t options)
{
DecoderSession decoder_session;
- if(!
- DecoderSession_construct(
- &decoder_session,
-#if FLAC__HAS_OGG
- options.common.is_ogg,
- options.common.use_first_serial_number,
- options.common.serial_number,
-#else
- /*is_ogg=*/false,
- /*use_first_serial_number=*/false,
- /*serial_number=*/0,
-#endif
- /*is_aiff_out=*/true,
- /*is_wave_out=*/false,
- options.common.treat_warnings_as_errors,
- options.common.continue_through_decode_errors,
- options.common.channel_map_none,
- options.common.replaygain_synthesis_spec,
- analysis_mode,
- aopts,
- &options.common.skip_specification,
- &options.common.until_specification,
- options.common.has_cue_specification? &options.common.cue_specification : 0,
- options.foreign_metadata,
- infilename,
- outfilename
- )
- )
- return 1;
-
- if(!DecoderSession_init_decoder(&decoder_session, infilename))
- return DecoderSession_finish_error(&decoder_session);
-
- if(!DecoderSession_process(&decoder_session))
- return DecoderSession_finish_error(&decoder_session);
-
- return DecoderSession_finish_ok(&decoder_session);
-}
-
-int flac__decode_wav(const char *infilename, const char *outfilename, FLAC__bool analysis_mode, analysis_options aopts, wav_decode_options_t options)
-{
- DecoderSession decoder_session;
-
- if(!
- DecoderSession_construct(
- &decoder_session,
-#if FLAC__HAS_OGG
- options.common.is_ogg,
- options.common.use_first_serial_number,
- options.common.serial_number,
-#else
- /*is_ogg=*/false,
- /*use_first_serial_number=*/false,
- /*serial_number=*/0,
-#endif
- /*is_aiff_out=*/false,
- /*is_wave_out=*/true,
- options.common.treat_warnings_as_errors,
- options.common.continue_through_decode_errors,
- options.common.channel_map_none,
- options.common.replaygain_synthesis_spec,
- analysis_mode,
- aopts,
- &options.common.skip_specification,
- &options.common.until_specification,
- options.common.has_cue_specification? &options.common.cue_specification : 0,
- options.foreign_metadata,
- infilename,
- outfilename
- )
- )
- return 1;
-
- if(!DecoderSession_init_decoder(&decoder_session, infilename))
- return DecoderSession_finish_error(&decoder_session);
-
- if(!DecoderSession_process(&decoder_session))
- return DecoderSession_finish_error(&decoder_session);
-
- return DecoderSession_finish_ok(&decoder_session);
-}
-
-int flac__decode_raw(const char *infilename, const char *outfilename, FLAC__bool analysis_mode, analysis_options aopts, raw_decode_options_t options)
-{
- DecoderSession decoder_session;
-
- decoder_session.is_big_endian = options.is_big_endian;
- decoder_session.is_unsigned_samples = options.is_unsigned_samples;
+ FLAC__ASSERT(
+ options.format == FORMAT_WAVE ||
+ options.format == FORMAT_WAVE64 ||
+ options.format == FORMAT_RF64 ||
+ options.format == FORMAT_AIFF ||
+ options.format == FORMAT_AIFF_C ||
+ options.format == FORMAT_RAW
+ );
+
+ if(options.format == FORMAT_RAW) {
+ decoder_session.is_big_endian = options.format_options.raw.is_big_endian;
+ decoder_session.is_unsigned_samples = options.format_options.raw.is_unsigned_samples;
+ }
if(!
DecoderSession_construct(
&decoder_session,
#if FLAC__HAS_OGG
- options.common.is_ogg,
- options.common.use_first_serial_number,
- options.common.serial_number,
+ options.is_ogg,
+ options.use_first_serial_number,
+ options.serial_number,
#else
/*is_ogg=*/false,
/*use_first_serial_number=*/false,
/*serial_number=*/0,
#endif
- /*is_aiff_out=*/false,
- /*is_wave_out=*/false,
- options.common.treat_warnings_as_errors,
- options.common.continue_through_decode_errors,
- options.common.channel_map_none,
- options.common.replaygain_synthesis_spec,
+ options.format,
+ options.force_subformat,
+ options.treat_warnings_as_errors,
+ options.continue_through_decode_errors,
+ options.channel_map_none,
+ options.relaxed_foreign_metadata_handling,
+ options.replaygain_synthesis_spec,
analysis_mode,
aopts,
- &options.common.skip_specification,
- &options.common.until_specification,
- options.common.has_cue_specification? &options.common.cue_specification : 0,
- /*foreign_metadata=*/NULL,
+ &options.skip_specification,
+ &options.until_specification,
+ options.has_cue_specification? &options.cue_specification : 0,
+ options.format == FORMAT_RAW? NULL : options.format_options.iff.foreign_metadata,
infilename,
outfilename
)
)
return 1;
+ stats_new_file();
if(!DecoderSession_init_decoder(&decoder_session, infilename))
return DecoderSession_finish_error(&decoder_session);
@@ -268,7 +191,7 @@ int flac__decode_raw(const char *infilename, const char *outfilename, FLAC__bool
return DecoderSession_finish_ok(&decoder_session);
}
-FLAC__bool DecoderSession_construct(DecoderSession *d, FLAC__bool is_ogg, FLAC__bool use_first_serial_number, long serial_number, FLAC__bool is_aiff_out, FLAC__bool is_wave_out, FLAC__bool treat_warnings_as_errors, FLAC__bool continue_through_decode_errors, FLAC__bool channel_map_none, replaygain_synthesis_spec_t replaygain_synthesis_spec, FLAC__bool analysis_mode, analysis_options aopts, utils__SkipUntilSpecification *skip_specification, utils__SkipUntilSpecification *until_specification, utils__CueSpecification *cue_specification, foreign_metadata_t *foreign_metadata, const char *infilename, const char *outfilename)
+FLAC__bool DecoderSession_construct(DecoderSession *d, FLAC__bool is_ogg, FLAC__bool use_first_serial_number, long serial_number, FileFormat format, FileSubFormat subformat, FLAC__bool treat_warnings_as_errors, FLAC__bool continue_through_decode_errors, FLAC__bool channel_map_none, FLAC__bool relaxed_foreign_metadata_handling, replaygain_synthesis_spec_t replaygain_synthesis_spec, FLAC__bool analysis_mode, analysis_options aopts, utils__SkipUntilSpecification *skip_specification, utils__SkipUntilSpecification *until_specification, utils__CueSpecification *cue_specification, foreign_metadata_t *foreign_metadata, const char *infilename, const char *outfilename)
{
#if FLAC__HAS_OGG
d->is_ogg = is_ogg;
@@ -280,11 +203,12 @@ FLAC__bool DecoderSession_construct(DecoderSession *d, FLAC__bool is_ogg, FLAC__
(void)serial_number;
#endif
- d->is_aiff_out = is_aiff_out;
- d->is_wave_out = is_wave_out;
+ d->format = format;
+ d->subformat = subformat;
d->treat_warnings_as_errors = treat_warnings_as_errors;
d->continue_through_decode_errors = continue_through_decode_errors;
d->channel_map_none = channel_map_none;
+ d->relaxed_foreign_metadata_handling = relaxed_foreign_metadata_handling;
d->replaygain.spec = replaygain_synthesis_spec;
d->replaygain.apply = false;
d->replaygain.scale = 0.0;
@@ -305,6 +229,11 @@ FLAC__bool DecoderSession_construct(DecoderSession *d, FLAC__bool is_ogg, FLAC__
d->abort_flag = false;
d->aborting_due_to_until = false;
d->aborting_due_to_unparseable = false;
+ d->error_callback_suppress_messages = false;
+ if(relaxed_foreign_metadata_handling)
+ d->warn_user_about_foreign_metadata = false;
+ else
+ d->warn_user_about_foreign_metadata = true;
d->iff_headers_need_fixup = false;
@@ -313,7 +242,7 @@ FLAC__bool DecoderSession_construct(DecoderSession *d, FLAC__bool is_ogg, FLAC__
d->has_md5sum = false;
d->bps = 0;
d->channels = 0;
- d->sample_rate = 0;
+ d->sample_rate = UINT32_MAX;
d->channel_mask = 0;
d->decode_position = 0;
@@ -324,6 +253,8 @@ FLAC__bool DecoderSession_construct(DecoderSession *d, FLAC__bool is_ogg, FLAC__
d->foreign_metadata = foreign_metadata;
+ d->old_clock_t = 0;
+
FLAC__ASSERT(!(d->test_only && d->analysis_mode));
if(!d->test_only) {
@@ -331,7 +262,7 @@ FLAC__bool DecoderSession_construct(DecoderSession *d, FLAC__bool is_ogg, FLAC__
d->fout = grabbag__file_get_binary_stdout();
}
else {
- if(0 == (d->fout = fopen(outfilename, "wb"))) {
+ if(0 == (d->fout = flac_fopen(outfilename, "wb"))) {
flac__utils_printf(stderr, 1, "%s: ERROR: can't open output file %s: %s\n", d->inbasefilename, outfilename, strerror(errno));
DecoderSession_destroy(d, /*error_occurred=*/true);
return false;
@@ -348,9 +279,30 @@ FLAC__bool DecoderSession_construct(DecoderSession *d, FLAC__bool is_ogg, FLAC__
void DecoderSession_destroy(DecoderSession *d, FLAC__bool error_occurred)
{
if(0 != d->fout && d->fout != stdout) {
+#if defined _WIN32 && !defined __CYGWIN__
+ if(!error_occurred) {
+ FLAC__off_t written_size = ftello(d->fout);
+ if(written_size > 0) {
+ HANDLE fh = CreateFile_utf8(d->outfilename, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
+ if(fh != INVALID_HANDLE_VALUE) {
+ if(GetFileType(fh) == FILE_TYPE_DISK) {
+ LARGE_INTEGER size;
+ size.QuadPart = written_size;
+ if(SetFilePointerEx(fh, size, NULL, FILE_CURRENT)) /* correct the file size */
+ SetEndOfFile(fh);
+ }
+ CloseHandle(fh);
+ }
+ }
+ }
+#endif
fclose(d->fout);
+
+#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+ /* Always delete output file when fuzzing */
if(error_occurred)
- unlink(d->outfilename);
+#endif
+ flac_unlink(d->outfilename);
}
}
@@ -361,14 +313,30 @@ FLAC__bool DecoderSession_init_decoder(DecoderSession *decoder_session, const ch
is_big_endian_host_ = (*((FLAC__byte*)(&test)))? false : true;
- if(!decoder_session->analysis_mode && !decoder_session->test_only && (decoder_session->is_wave_out || decoder_session->is_aiff_out)) {
- if(decoder_session->foreign_metadata) {
- const char *error;
- if(!flac__foreign_metadata_read_from_flac(decoder_session->foreign_metadata, infilename, &error)) {
- flac__utils_printf(stderr, 1, "%s: ERROR reading foreign metadata: %s\n", decoder_session->inbasefilename, error);
+ if(decoder_session->test_only && strcmp(infilename, "-") != 0) {
+ /* When testing, we can be a little more pedantic, as long
+ * as we can seek properly */
+ FLAC__byte buffer[3];
+ FILE * f;
+
+ if(0 == (f = flac_fopen(infilename, "rb"))) {
+ flac__utils_printf(stderr, 1, "ERROR: can't open input file %s: %s\n", infilename, strerror(errno));
+ return false;
+ }
+
+ if(fread(buffer, 1, 3, f) < 3) {
+ flac__utils_printf(stderr, 1, "%s: ERROR checking for ID3v2 tag\n", decoder_session->inbasefilename);
+ fclose(f);
+ return false;
+ }
+ if(memcmp(buffer, "ID3", 3) == 0){
+ flac__utils_printf(stderr, 1, "%s: WARNING, ID3v2 tag found. This is non-standard and strongly discouraged\n", decoder_session->inbasefilename);
+ if(decoder_session->treat_warnings_as_errors) {
+ fclose(f);
return false;
}
}
+ fclose(f);
}
decoder_session->decoder = FLAC__stream_decoder_new();
@@ -381,9 +349,16 @@ FLAC__bool DecoderSession_init_decoder(DecoderSession *decoder_session, const ch
FLAC__stream_decoder_set_md5_checking(decoder_session->decoder, true);
if (0 != decoder_session->cue_specification)
FLAC__stream_decoder_set_metadata_respond(decoder_session->decoder, FLAC__METADATA_TYPE_CUESHEET);
- if (decoder_session->replaygain.spec.apply)
+ if (decoder_session->replaygain.spec.apply || !decoder_session->channel_map_none)
FLAC__stream_decoder_set_metadata_respond(decoder_session->decoder, FLAC__METADATA_TYPE_VORBIS_COMMENT);
+ if(!decoder_session->analysis_mode && !decoder_session->test_only && decoder_session->foreign_metadata == NULL) {
+ /* Warn user if foreign metadata is found */
+ uint32_t i;
+ for(i = 0; i < FLAC__FOREIGN_METADATA_NUMBER_OF_RECOGNIZED_APPLICATION_IDS; i++)
+ FLAC__stream_decoder_set_metadata_respond_application(decoder_session->decoder, (FLAC__byte *)FLAC__FOREIGN_METADATA_APPLICATION_ID[i]);
+ }
+
#if FLAC__HAS_OGG
if(decoder_session->is_ogg) {
if(!decoder_session->use_first_serial_number)
@@ -418,41 +393,70 @@ FLAC__bool DecoderSession_process(DecoderSession *d)
return false;
}
+ if(d->analysis_mode)
+ FLAC__stream_decoder_get_decode_position(d->decoder, &d->decode_position);
+
if(d->abort_flag)
return false;
/* set channel mapping */
- if(!d->channel_map_none) {
- /* currently FLAC order matches SMPTE/WAVEFORMATEXTENSIBLE order, so no reordering is necessary; see encode.c */
- /* only the channel mask must be set if it was not already picked up from the WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag */
+ /* currently FLAC order matches SMPTE/WAVEFORMATEXTENSIBLE order, so no reordering is necessary; see encode.c */
+ /* only the channel mask must be set if it was not already picked up from the WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag */
+ if(!d->channel_map_none && d->channel_mask == 0) {
if(d->channels == 1) {
- if(d->channel_mask == 0)
- d->channel_mask = 0x0001;
+ d->channel_mask = 0x0004;
}
else if(d->channels == 2) {
- if(d->channel_mask == 0)
- d->channel_mask = 0x0003;
+ d->channel_mask = 0x0003;
}
else if(d->channels == 3) {
- if(d->channel_mask == 0)
- d->channel_mask = 0x0007;
+ d->channel_mask = 0x0007;
}
else if(d->channels == 4) {
- if(d->channel_mask == 0)
- d->channel_mask = 0x0033;
+ d->channel_mask = 0x0033;
}
else if(d->channels == 5) {
- if(d->channel_mask == 0)
- d->channel_mask = 0x0607;
+ d->channel_mask = 0x0607;
}
else if(d->channels == 6) {
- if(d->channel_mask == 0)
- d->channel_mask = 0x060f;
+ d->channel_mask = 0x060f;
+ }
+ else if(d->channels == 7) {
+ d->channel_mask = 0x070f;
+ }
+ else if(d->channels == 8) {
+ d->channel_mask = 0x063f;
+ }
+ }
+
+#if defined _WIN32 && !defined __CYGWIN__
+ if(!d->analysis_mode && !d->test_only && d->total_samples > 0 && d->fout != stdout) {
+ HANDLE fh = CreateFile_utf8(d->outfilename, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
+ if(fh != INVALID_HANDLE_VALUE) {
+ if (GetFileType(fh) == FILE_TYPE_DISK) {
+ LARGE_INTEGER size;
+ size.QuadPart = d->total_samples * d->channels * ((d->bps+7)/8);
+ if(d->format != FORMAT_RAW) {
+ size.QuadPart += 512;
+ if(d->foreign_metadata) {
+ size_t i;
+ for(i = d->format==FORMAT_RF64?2:1; i < d->foreign_metadata->num_blocks; i++) {
+ if(i != d->foreign_metadata->format_block && i != d->foreign_metadata->audio_block)
+ size.QuadPart += d->foreign_metadata->blocks[i].size;
+ }
+ }
+ }
+
+ if(SetFilePointerEx(fh, size, NULL, FILE_CURRENT)) /* tell filesystem the expected filesize to eliminate fragmentation */
+ SetEndOfFile(fh);
+ }
+ CloseHandle(fh);
}
}
+#endif
/* write the WAVE/AIFF headers if necessary */
- if(!d->analysis_mode && !d->test_only && (d->is_wave_out || d->is_aiff_out)) {
+ if(!d->analysis_mode && !d->test_only && d->format != FORMAT_RAW) {
if(!write_iff_headers(d->fout, d, d->total_samples)) {
d->abort_flag = true;
return false;
@@ -482,13 +486,28 @@ FLAC__bool DecoderSession_process(DecoderSession *d)
return false;
}
- if(!d->analysis_mode && !d->test_only && (d->is_wave_out || d->is_aiff_out) && ((d->total_samples * d->channels * ((d->bps+7)/8)) & 1)) {
- if(flac__utils_fwrite("\000", 1, 1, d->fout) != 1) {
- print_error_with_state(d, d->is_wave_out?
- "ERROR writing pad byte to WAVE data chunk" :
- "ERROR writing pad byte to AIFF SSND chunk"
- );
- return false;
+ /* write padding bytes for alignment if necessary */
+ if(!d->analysis_mode && !d->test_only && d->format != FORMAT_RAW) {
+ const FLAC__uint64 data_size = d->total_samples * d->channels * ((d->bps+7)/8);
+ uint32_t padding;
+ if(d->format != FORMAT_WAVE64) {
+ padding = (uint32_t)(data_size & 1);
+ }
+ else {
+ /* 8-byte alignment for Wave64 */
+ padding = (8 - (uint32_t)(data_size & 7)) & 7;
+ }
+ for( ; padding > 0; --padding) {
+ if(flac__utils_fwrite("\000", 1, 1, d->fout) != 1) {
+ print_error_with_state(
+ d,
+ d->format == FORMAT_WAVE? "ERROR writing pad byte to WAVE data chunk" :
+ d->format == FORMAT_WAVE64? "ERROR writing pad bytes to WAVE64 data chunk" :
+ d->format == FORMAT_RF64? "ERROR writing pad byte to RF64 data chunk" :
+ "ERROR writing pad byte to AIFF SSND chunk"
+ );
+ return false;
+ }
}
}
@@ -507,22 +526,36 @@ int DecoderSession_finish_ok(DecoderSession *d)
if(d->analysis_mode)
flac__analyze_finish(d->aopts);
if(md5_failure) {
- flac__utils_printf(stderr, 1, "\r%s: ERROR, MD5 signature mismatch\n", d->inbasefilename);
+ stats_print_name(1, d->inbasefilename);
+ flac__utils_printf(stderr, 1, "ERROR, MD5 signature mismatch\n");
+ ok = d->continue_through_decode_errors;
+ }
+ else if(d->got_stream_info && d->total_samples && (d->total_samples > d->samples_processed)){
+ stats_print_name(1, d->inbasefilename);
+ flac__utils_printf(stderr, 1, "ERROR, decoded number of samples is smaller than the total number of samples set in the STREAMINFO\n");
ok = d->continue_through_decode_errors;
}
else {
if(!d->got_stream_info) {
- flac__utils_printf(stderr, 1, "\r%s: WARNING, cannot check MD5 signature since there was no STREAMINFO\n", d->inbasefilename);
+ stats_print_name(1, d->inbasefilename);
+ flac__utils_printf(stderr, 1, "WARNING, cannot check MD5 signature since there was no STREAMINFO\n");
ok = !d->treat_warnings_as_errors;
}
else if(!d->has_md5sum) {
- flac__utils_printf(stderr, 1, "\r%s: WARNING, cannot check MD5 signature since it was unset in the STREAMINFO\n", d->inbasefilename);
+ stats_print_name(1, d->inbasefilename);
+ flac__utils_printf(stderr, 1, "WARNING, cannot check MD5 signature since it was unset in the STREAMINFO\n");
ok = !d->treat_warnings_as_errors;
}
- flac__utils_printf(stderr, 2, "\r%s: %s \n", d->inbasefilename, d->test_only? "ok ":d->analysis_mode?"done ":"done");
+ else if(!d->total_samples) {
+ stats_print_name(1, d->inbasefilename);
+ flac__utils_printf(stderr, 1, "WARNING, cannot check total number of samples since it was unset in the STREAMINFO\n");
+ ok = !d->treat_warnings_as_errors;
+ }
+ stats_print_name(2, d->inbasefilename);
+ flac__utils_printf(stderr, 2, "%s \n", d->test_only? "ok ":d->analysis_mode?"done ":"done");
}
DecoderSession_destroy(d, /*error_occurred=*/!ok);
- if(!d->analysis_mode && !d->test_only && (d->is_wave_out || d->is_aiff_out)) {
+ if(!d->analysis_mode && !d->test_only && d->format != FORMAT_RAW) {
if(d->iff_headers_need_fixup || (!d->got_stream_info && strcmp(d->outfilename, "-"))) {
if(!fixup_iff_headers(d))
return 1;
@@ -533,6 +566,10 @@ int DecoderSession_finish_ok(DecoderSession *d)
flac__utils_printf(stderr, 1, "ERROR updating foreign metadata from %s to %s: %s\n", d->infilename, d->outfilename, error);
return 1;
}
+ if(!flac__foreign_metadata_compare_with_iff(d->foreign_metadata, d->infilename, d->outfilename, d->fm_offset3, &error)) {
+ flac__utils_printf(stderr, 1, "ERROR verifying foreign metadata restore from %s to %s: %s\n", d->infilename, d->outfilename, error);
+ return 1;
+ }
}
}
return ok? 0 : 1;
@@ -550,10 +587,13 @@ int DecoderSession_finish_error(DecoderSession *d)
return 1;
}
-FLAC__bool canonicalize_until_specification(utils__SkipUntilSpecification *spec, const char *inbasefilename, unsigned sample_rate, FLAC__uint64 skip, FLAC__uint64 total_samples_in_input)
+FLAC__bool canonicalize_until_specification(utils__SkipUntilSpecification *spec, const char *inbasefilename, uint32_t sample_rate, FLAC__uint64 skip, FLAC__uint64 total_samples_in_input)
{
/* convert from mm:ss.sss to sample number if necessary */
- flac__utils_canonicalize_skip_until_specification(spec, sample_rate);
+ if(!flac__utils_canonicalize_skip_until_specification(spec, sample_rate)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR, value of --until is too large\n", inbasefilename);
+ return false;
+ }
/* special case: if "--until=-0", use the special value '0' to mean "end-of-stream" */
if(spec->is_relative && spec->value.samples == 0) {
@@ -597,15 +637,42 @@ FLAC__bool canonicalize_until_specification(utils__SkipUntilSpecification *spec,
FLAC__bool write_iff_headers(FILE *f, DecoderSession *decoder_session, FLAC__uint64 samples)
{
- const char *fmt_desc = decoder_session->is_wave_out? "WAVE" : "AIFF";
- const FLAC__bool is_waveformatextensible = decoder_session->is_wave_out && (decoder_session->channel_mask == 2 || decoder_session->channel_mask > 3 || decoder_session->bps%8 || decoder_session->channels > 2);
- FLAC__uint64 data_size = samples * decoder_session->channels * ((decoder_session->bps+7)/8);
- const FLAC__uint32 aligned_data_size = (FLAC__uint32)((data_size+1) & (~1U)); /* we'll check for overflow later */
-
- unsigned foreign_metadata_size = 0; /* size of all non-audio non-fmt/COMM foreign metadata chunks */
+ const FileFormat format = decoder_session->format;
+ const FileSubFormat subformat = decoder_session->subformat;
+ const char *fmt_desc =
+ format==FORMAT_WAVE? "WAVE" :
+ format==FORMAT_WAVE64? "Wave64" :
+ format==FORMAT_RF64? "RF64" :
+ format==FORMAT_AIFF? "AIFF" :
+ "AIFC";
+ const FLAC__bool is_waveformatextensible =
+ subformat == SUBFORMAT_WAVE_EXTENSIBLE || (
+ (format == FORMAT_WAVE || format == FORMAT_WAVE64 || format == FORMAT_RF64) &&
+ subformat != SUBFORMAT_WAVE_PCM &&
+ (
+ (decoder_session->channel_mask != 0 && decoder_session->channel_mask != 0x0004 && decoder_session->channel_mask != 0x0003) ||
+ (decoder_session->bps != 8 && decoder_session->bps != 16) ||
+ decoder_session->channels > 2
+ ));
+ const FLAC__uint64 data_size = samples * decoder_session->channels * ((decoder_session->bps+7)/8);
+ const FLAC__uint64 aligned_data_size =
+ format == FORMAT_WAVE64?
+ (data_size+7) & (~(FLAC__uint64)7) :
+ (data_size+1) & (~(FLAC__uint64)1);
+
+ FLAC__uint64 iff_size;
+ uint32_t foreign_metadata_size = 0; /* size of all non-audio non-fmt/COMM foreign metadata chunks */
foreign_metadata_t *fm = decoder_session->foreign_metadata;
size_t i;
+ FLAC__ASSERT(
+ format == FORMAT_WAVE ||
+ format == FORMAT_WAVE64 ||
+ format == FORMAT_RF64 ||
+ format == FORMAT_AIFF ||
+ format == FORMAT_AIFF_C
+ );
+
if(samples == 0) {
if(f == stdout) {
flac__utils_printf(stderr, 1, "%s: WARNING, don't have accurate sample count available for %s header.\n", decoder_session->inbasefilename, fmt_desc);
@@ -623,33 +690,96 @@ FLAC__bool write_iff_headers(FILE *f, DecoderSession *decoder_session, FLAC__uin
FLAC__ASSERT(fm->format_block);
FLAC__ASSERT(fm->audio_block);
FLAC__ASSERT(fm->format_block < fm->audio_block);
- /* calc foreign metadata size; for RIFF/AIFF we always skip the first chunk, format chunk, and sound chunk since we write our own */
- for(i = 1; i < fm->num_blocks; i++) {
+ /* calc foreign metadata size; we always skip the first chunk, ds64 chunk, format chunk, and sound chunk since we write our own */
+ for(i = format==FORMAT_RF64?2:1; i < fm->num_blocks; i++) {
if(i != fm->format_block && i != fm->audio_block)
foreign_metadata_size += fm->blocks[i].size;
}
}
- if(data_size + foreign_metadata_size + 60/*worst-case*/ >= 0xFFFFFFF4) {
+ if(samples == 0)
+ iff_size = 0;
+ else if(format == FORMAT_WAVE || format == FORMAT_RF64)
+ /* 4 for WAVE form bytes */
+ /* +{36,0} for ds64 chunk */
+ /* +8+{40,16} for fmt chunk header and body */
+ /* +8 for data chunk header */
+ iff_size = 4 + (format==FORMAT_RF64?36:0) + 8+(is_waveformatextensible?40:16) + 8 + foreign_metadata_size + aligned_data_size;
+ else if(format == FORMAT_WAVE64)
+ /* 16+8 for RIFF GUID and size field */
+ /* +16 for WAVE GUID */
+ /* +16+8+{40,16} for fmt chunk header (GUID and size field) and body */
+ /* +16+8 for data chunk header (GUID and size field) */
+ iff_size = 16+8 + 16 + 16+8+(is_waveformatextensible?40:16) + 16+8 + foreign_metadata_size + aligned_data_size;
+ else if(format == FORMAT_AIFF)
+ iff_size = 46 + foreign_metadata_size + aligned_data_size;
+ else /* AIFF-C */
+ iff_size = 16 + foreign_metadata_size + aligned_data_size + (fm?fm->aifc_comm_length:0);
+
+ if(format != FORMAT_WAVE64 && format != FORMAT_RF64 && iff_size >= 0xFFFFFFF4) {
flac__utils_printf(stderr, 1, "%s: ERROR: stream is too big to fit in a single %s file\n", decoder_session->inbasefilename, fmt_desc);
return false;
}
- if(decoder_session->is_wave_out) {
- if(flac__utils_fwrite("RIFF", 1, 4, f) != 4)
- return false;
+ if(format == FORMAT_WAVE || format == FORMAT_WAVE64 || format == FORMAT_RF64) {
+ /* RIFF header */
+ switch(format) {
+ case FORMAT_WAVE:
+ if(flac__utils_fwrite("RIFF", 1, 4, f) != 4)
+ return false;
+ if(!write_little_endian_uint32(f, (FLAC__uint32)iff_size)) /* filesize-8 */
+ return false;
+ if(flac__utils_fwrite("WAVE", 1, 4, f) != 4)
+ return false;
+ break;
+ case FORMAT_WAVE64:
+ /* RIFF GUID 66666972-912E-11CF-A5D6-28DB04C10000 */
+ if(flac__utils_fwrite("\x72\x69\x66\x66\x2E\x91\xCF\x11\xA5\xD6\x28\xDB\x04\xC1\x00\x00", 1, 16, f) != 16)
+ return false;
+ if(!write_little_endian_uint64(f, iff_size))
+ return false;
+ /* WAVE GUID 65766177-ACF3-11D3-8CD1-00C04F8EDB8A */
+ if(flac__utils_fwrite("\x77\x61\x76\x65\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 1, 16, f) != 16)
+ return false;
+ break;
+ case FORMAT_RF64:
+ if(flac__utils_fwrite("RF64", 1, 4, f) != 4)
+ return false;
+ if(!write_little_endian_uint32(f, 0xffffffff))
+ return false;
+ if(flac__utils_fwrite("WAVE", 1, 4, f) != 4)
+ return false;
+ break;
+ default:
+ return false;
+ }
- if(!write_little_endian_uint32(f, foreign_metadata_size + aligned_data_size + (is_waveformatextensible?60:36))) /* filesize-8 */
- return false;
+ /* ds64 chunk for RF64 */
+ if(format == FORMAT_RF64) {
+ if(flac__utils_fwrite("ds64", 1, 4, f) != 4)
+ return false;
- if(flac__utils_fwrite("WAVE", 1, 4, f) != 4)
- return false;
+ if(!write_little_endian_uint32(f, 28)) /* chunk size */
+ return false;
+
+ if(!write_little_endian_uint64(f, iff_size))
+ return false;
+
+ if(!write_little_endian_uint64(f, data_size))
+ return false;
+
+ if(!write_little_endian_uint64(f, samples)) /*@@@@@@ correct? */
+ return false;
+
+ if(!write_little_endian_uint32(f, 0)) /* table size */
+ return false;
+ }
decoder_session->fm_offset1 = ftello(f);
if(fm) {
/* seek forward to {allocate} or {skip over already-written chunks} before "fmt " */
- for(i = 1; i < fm->format_block; i++) {
+ for(i = format==FORMAT_RF64?2:1; i < fm->format_block; i++) {
if(fseeko(f, fm->blocks[i].size, SEEK_CUR) < 0) {
flac__utils_printf(stderr, 1, "%s: ERROR: allocating/skipping foreign metadata before \"fmt \"\n", decoder_session->inbasefilename);
return false;
@@ -657,7 +787,22 @@ FLAC__bool write_iff_headers(FILE *f, DecoderSession *decoder_session, FLAC__uin
}
}
- if(!write_riff_wave_fmt_chunk(f, is_waveformatextensible, decoder_session->bps, decoder_session->channels, decoder_session->sample_rate, decoder_session->channel_mask))
+ if(format != FORMAT_WAVE64) {
+ if(flac__utils_fwrite("fmt ", 1, 4, f) != 4)
+ return false;
+ if(!write_little_endian_uint32(f, is_waveformatextensible? 40 : 16)) /* chunk size */
+ return false;
+ }
+ else { /* Wave64 */
+ /* fmt GUID 20746D66-ACF3-11D3-8CD1-00C04F8EDB8A */
+ if(flac__utils_fwrite("\x66\x6D\x74\x20\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 1, 16, f) != 16)
+ return false;
+ /* chunk size (+16+8 for GUID and size fields) */
+ if(!write_little_endian_uint64(f, 16+8+(is_waveformatextensible?40:16)))
+ return false;
+ }
+
+ if(!write_riff_wave_fmt_chunk_body(f, is_waveformatextensible, decoder_session->bps, decoder_session->channels, decoder_session->sample_rate, decoder_session->channel_mask))
return false;
decoder_session->fm_offset2 = ftello(f);
@@ -672,25 +817,37 @@ FLAC__bool write_iff_headers(FILE *f, DecoderSession *decoder_session, FLAC__uin
}
}
- if(flac__utils_fwrite("data", 1, 4, f) != 4)
- return false;
-
- if(!write_little_endian_uint32(f, (FLAC__uint32)data_size)) /* data size */
- return false;
+ if(format != FORMAT_WAVE64) {
+ if(flac__utils_fwrite("data", 1, 4, f) != 4)
+ return false;
+ if(!write_little_endian_uint32(f, format==FORMAT_RF64? 0xffffffff : (FLAC__uint32)data_size))
+ return false;
+ }
+ else { /* Wave64 */
+ /* data GUID 61746164-ACF3-11D3-8CD1-00C04F8EDB8A */
+ if(flac__utils_fwrite("\x64\x61\x74\x61\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 1, 16, f) != 16)
+ return false;
+ /* +16+8 for GUID and size fields */
+ if(!write_little_endian_uint64(f, 16+8 + data_size))
+ return false;
+ }
decoder_session->fm_offset3 = ftello(f) + aligned_data_size;
}
else {
- FLAC__uint32 ssnd_offset_size = (fm? fm->ssnd_offset_size : 0);
-
if(flac__utils_fwrite("FORM", 1, 4, f) != 4)
return false;
- if(!write_big_endian_uint32(f, foreign_metadata_size + aligned_data_size + 46 + ssnd_offset_size)) /* filesize-8 */
+ if(!write_big_endian_uint32(f, (FLAC__uint32)iff_size)) /* filesize-8 */
return false;
- if(flac__utils_fwrite("AIFF", 1, 4, f) != 4)
- return false;
+ if(format == FORMAT_AIFF) {
+ if(flac__utils_fwrite("AIFF", 1, 4, f) != 4)
+ return false;
+ }
+ else
+ if(flac__utils_fwrite("AIFC", 1, 4, f) != 4)
+ return false;
decoder_session->fm_offset1 = ftello(f);
@@ -704,7 +861,7 @@ FLAC__bool write_iff_headers(FILE *f, DecoderSession *decoder_session, FLAC__uin
}
}
- if(!write_aiff_form_comm_chunk(f, samples, decoder_session->bps, decoder_session->channels, decoder_session->sample_rate))
+ if(!write_aiff_form_comm_chunk(f, samples, decoder_session->bps, decoder_session->channels, decoder_session->sample_rate, format, subformat, fm?fm->aifc_comm_length:0))
return false;
decoder_session->fm_offset2 = ftello(f);
@@ -722,37 +879,23 @@ FLAC__bool write_iff_headers(FILE *f, DecoderSession *decoder_session, FLAC__uin
if(flac__utils_fwrite("SSND", 1, 4, f) != 4)
return false;
- if(!write_big_endian_uint32(f, (FLAC__uint32)data_size + 8 + ssnd_offset_size)) /* data size */
+ if(!write_big_endian_uint32(f, (FLAC__uint32)data_size + 8)) /* data size */
return false;
- if(!write_big_endian_uint32(f, ssnd_offset_size))
+ if(!write_big_endian_uint32(f, 0/*offset_size*/))
return false;
if(!write_big_endian_uint32(f, 0/*block_size*/))
return false;
- if(ssnd_offset_size) {
- /* seek forward to {allocate} or {skip over already-written} SSND offset */
- if(fseeko(f, ssnd_offset_size, SEEK_CUR) < 0) {
- flac__utils_printf(stderr, 1, "%s: ERROR: allocating/skipping \"SSND\" offset\n", decoder_session->inbasefilename);
- return false;
- }
- }
-
decoder_session->fm_offset3 = ftello(f) + aligned_data_size;
}
return true;
}
-FLAC__bool write_riff_wave_fmt_chunk(FILE *f, FLAC__bool is_waveformatextensible, unsigned bps, unsigned channels, unsigned sample_rate, FLAC__uint32 channel_mask)
+FLAC__bool write_riff_wave_fmt_chunk_body(FILE *f, FLAC__bool is_waveformatextensible, uint32_t bps, uint32_t channels, uint32_t sample_rate, FLAC__uint32 channel_mask)
{
- if(flac__utils_fwrite("fmt ", 1, 4, f) != 4)
- return false;
-
- if(!write_little_endian_uint32(f, is_waveformatextensible? 40 : 16)) /* chunk size */
- return false;
-
if(!write_little_endian_uint16(f, (FLAC__uint16)(is_waveformatextensible? 65534 : 1))) /* compression code */
return false;
@@ -789,14 +932,22 @@ FLAC__bool write_riff_wave_fmt_chunk(FILE *f, FLAC__bool is_waveformatextensible
return true;
}
-FLAC__bool write_aiff_form_comm_chunk(FILE *f, FLAC__uint64 samples, unsigned bps, unsigned channels, unsigned sample_rate)
+FLAC__bool write_aiff_form_comm_chunk(FILE *f, FLAC__uint64 samples, uint32_t bps, uint32_t channels, uint32_t sample_rate, FileFormat format, FileSubFormat subformat, FLAC__uint32 comm_length)
{
+ FLAC__uint32 i;
FLAC__ASSERT(samples <= 0xffffffff);
+ if(comm_length == 0) {
+ if(format == FORMAT_AIFF)
+ comm_length = 30;
+ else
+ comm_length = 36;
+ }
+
if(flac__utils_fwrite("COMM", 1, 4, f) != 4)
return false;
- if(!write_big_endian_uint32(f, 18)) /* chunk size = 18 */
+ if(!write_big_endian_uint32(f, comm_length-12)) /* chunk size = 18 */
return false;
if(!write_big_endian_uint16(f, (FLAC__uint16)channels))
@@ -811,6 +962,23 @@ FLAC__bool write_aiff_form_comm_chunk(FILE *f, FLAC__uint64 samples, unsigned bp
if(!write_sane_extended(f, sample_rate))
return false;
+ if(format == FORMAT_AIFF_C) {
+ if(subformat == SUBFORMAT_AIFF_C_NONE) {
+ if(flac__utils_fwrite("NONE", 1, 4, f) != 4)
+ return false;
+ }
+ else if(subformat == SUBFORMAT_AIFF_C_SOWT) {
+ if(flac__utils_fwrite("sowt", 1, 4, f) != 4)
+ return false;
+ }
+ for(i = 34; i < comm_length; i++) {
+ if(flac__utils_fwrite("\x00", 1, 1, f) != 1)
+ return false;
+ }
+ }
+
+
+
return true;
}
@@ -835,6 +1003,19 @@ FLAC__bool write_little_endian_uint32(FILE *f, FLAC__uint32 val)
return flac__utils_fwrite(b, 1, 4, f) == 4;
}
+FLAC__bool write_little_endian_uint64(FILE *f, FLAC__uint64 val)
+{
+ FLAC__byte *b = (FLAC__byte*)(&val);
+ if(is_big_endian_host_) {
+ FLAC__byte tmp;
+ tmp = b[7]; b[7] = b[0]; b[0] = tmp;
+ tmp = b[6]; b[6] = b[1]; b[1] = tmp;
+ tmp = b[5]; b[5] = b[2]; b[2] = tmp;
+ tmp = b[4]; b[4] = b[3]; b[3] = tmp;
+ }
+ return flac__utils_fwrite(b, 1, 8, f) == 8;
+}
+
FLAC__bool write_big_endian_uint16(FILE *f, FLAC__uint16 val)
{
FLAC__byte *b = (FLAC__byte*)(&val);
@@ -856,7 +1037,7 @@ FLAC__bool write_big_endian_uint32(FILE *f, FLAC__uint32 val)
return flac__utils_fwrite(b, 1, 4, f) == 4;
}
-FLAC__bool write_sane_extended(FILE *f, unsigned val)
+FLAC__bool write_sane_extended(FILE *f, uint32_t val)
/* Write to 'f' a SANE extended representation of 'val'. Return false if
* the write succeeds; return true otherwise.
*
@@ -864,13 +1045,19 @@ FLAC__bool write_sane_extended(FILE *f, unsigned val)
* of exponent, and 64 bits of significand (mantissa). Unlike most IEEE-754
* representations, it does not imply a 1 above the MSB of the significand.
*
- * Preconditions:
- * val!=0U
*/
{
- unsigned int shift, exponent;
+ uint32_t shift, exponent;
- FLAC__ASSERT(val!=0U); /* handling 0 would require a special case */
+ if(val == 0U) {
+ if(!write_big_endian_uint16(f, 0))
+ return false;
+ if(!write_big_endian_uint32(f, 0))
+ return false;
+ if(!write_big_endian_uint32(f, 0))
+ return false;
+ return true;
+ }
for(shift= 0U; (val>>(31-shift))==0U; ++shift)
;
@@ -889,8 +1076,12 @@ FLAC__bool write_sane_extended(FILE *f, unsigned val)
FLAC__bool fixup_iff_headers(DecoderSession *d)
{
- const char *fmt_desc = (d->is_wave_out? "WAVE" : "AIFF");
- FILE *f = fopen(d->outfilename, "r+b"); /* stream is positioned at beginning of file */
+ const char *fmt_desc =
+ d->format==FORMAT_WAVE? "WAVE" :
+ d->format==FORMAT_WAVE64? "Wave64" :
+ d->format==FORMAT_RF64? "RF64" :
+ "AIFF";
+ FILE *f = flac_fopen(d->outfilename, "r+b"); /* stream is positioned at beginning of file */
if(0 == f) {
flac__utils_printf(stderr, 1, "ERROR, couldn't open file %s while fixing up %s chunk size: %s\n", d->outfilename, fmt_desc, strerror(errno));
@@ -910,18 +1101,31 @@ FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder
{
DecoderSession *decoder_session = (DecoderSession*)client_data;
FILE *fout = decoder_session->fout;
- const unsigned bps = frame->header.bits_per_sample, channels = frame->header.channels;
- const unsigned shift = ((decoder_session->is_wave_out || decoder_session->is_aiff_out) && (bps%8)? 8-(bps%8): 0);
- FLAC__bool is_big_endian = (decoder_session->is_aiff_out? true : (decoder_session->is_wave_out? false : decoder_session->is_big_endian));
- FLAC__bool is_unsigned_samples = (decoder_session->is_aiff_out? false : (decoder_session->is_wave_out? bps<=8 : decoder_session->is_unsigned_samples));
- unsigned wide_samples = frame->header.blocksize, wide_sample, sample, channel, byte;
- unsigned frame_bytes = 0;
- static FLAC__int8 s8buffer[FLAC__MAX_BLOCK_SIZE * FLAC__MAX_CHANNELS * sizeof(FLAC__int32)]; /* WATCHOUT: can be up to 2 megs */
- FLAC__uint8 *u8buffer = (FLAC__uint8 *)s8buffer;
- FLAC__int16 *s16buffer = (FLAC__int16 *)s8buffer;
- FLAC__uint16 *u16buffer = (FLAC__uint16 *)s8buffer;
- FLAC__int32 *s32buffer = (FLAC__int32 *)s8buffer;
- FLAC__uint32 *u32buffer = (FLAC__uint32 *)s8buffer;
+ const uint32_t bps = frame->header.bits_per_sample, channels = frame->header.channels;
+ const uint32_t shift = (bps%8)? 8-(bps%8): 0;
+ FLAC__bool is_big_endian = (
+ (decoder_session->format == FORMAT_AIFF || (decoder_session->format == FORMAT_AIFF_C && decoder_session->subformat == SUBFORMAT_AIFF_C_NONE)) ? true : (
+ decoder_session->format == FORMAT_WAVE || decoder_session->format == FORMAT_WAVE64 || decoder_session->format == FORMAT_RF64 || (decoder_session->format == FORMAT_AIFF_C && decoder_session->subformat == SUBFORMAT_AIFF_C_SOWT) ? false :
+ decoder_session->is_big_endian
+ ));
+ FLAC__bool is_unsigned_samples = (
+ decoder_session->format == FORMAT_AIFF || decoder_session->format == FORMAT_AIFF_C ? false : (
+ decoder_session->format == FORMAT_WAVE || decoder_session->format == FORMAT_WAVE64 || decoder_session->format == FORMAT_RF64 ? bps<=8 :
+ decoder_session->is_unsigned_samples
+ ));
+ uint32_t wide_samples = frame->header.blocksize, wide_sample, sample, channel;
+ FLAC__uint64 frame_bytes = 0;
+
+ static union
+ { /* The arrays defined within this union are all the same size. */
+ FLAC__int8 s8buffer [FLAC__MAX_BLOCK_SIZE * FLAC__MAX_CHANNELS * sizeof(FLAC__int32)]; /* WATCHOUT: can be up to 2 megs */
+ FLAC__uint8 u8buffer [FLAC__MAX_BLOCK_SIZE * FLAC__MAX_CHANNELS * sizeof(FLAC__int32)];
+ FLAC__int16 s16buffer [FLAC__MAX_BLOCK_SIZE * FLAC__MAX_CHANNELS * sizeof(FLAC__int16)];
+ FLAC__uint16 u16buffer [FLAC__MAX_BLOCK_SIZE * FLAC__MAX_CHANNELS * sizeof(FLAC__int16)];
+ FLAC__int32 s32buffer [FLAC__MAX_BLOCK_SIZE * FLAC__MAX_CHANNELS];
+ FLAC__uint32 u32buffer [FLAC__MAX_BLOCK_SIZE * FLAC__MAX_CHANNELS];
+ } ubuf;
+
size_t bytes_to_write = 0;
(void)decoder;
@@ -943,6 +1147,10 @@ FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder
else {
/* must not have gotten STREAMINFO, save the bps from the frame header */
FLAC__ASSERT(!decoder_session->got_stream_info);
+ if(decoder_session->format == FORMAT_RAW && ((decoder_session->bps % 8) != 0 || decoder_session->bps < 4)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: bits per sample is %u, must be 8/16/24/32 for raw format output\n", decoder_session->inbasefilename, decoder_session->bps);
+ return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
+ }
decoder_session->bps = bps;
}
@@ -964,7 +1172,7 @@ FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder
}
/* sanity-check the sample rate */
- if(decoder_session->sample_rate) {
+ if(decoder_session->sample_rate < UINT32_MAX) {
if(frame->header.sample_rate != decoder_session->sample_rate) {
if(decoder_session->got_stream_info)
flac__utils_printf(stderr, 1, "%s: ERROR, sample rate is %u in frame but %u in STREAMINFO\n", decoder_session->inbasefilename, frame->header.sample_rate, decoder_session->sample_rate);
@@ -983,9 +1191,8 @@ FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder
/*
* limit the number of samples to accept based on --until
*/
- FLAC__ASSERT(!decoder_session->skip_specification->is_relative);
/* if we never got the total_samples from the metadata, the skip and until specs would never have been canonicalized, so protect against that: */
- if(decoder_session->skip_specification->is_relative) {
+ if(decoder_session->skip_specification->is_relative || !decoder_session->got_stream_info) {
if(decoder_session->skip_specification->value.samples == 0) /* special case for when no --skip was given */
decoder_session->skip_specification->is_relative = false; /* convert to our meaning of beginning-of-stream */
else {
@@ -993,7 +1200,7 @@ FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder
return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
}
}
- if(decoder_session->until_specification->is_relative) {
+ if(decoder_session->until_specification->is_relative || !decoder_session->got_stream_info) {
if(decoder_session->until_specification->value.samples == 0) /* special case for when no --until was given */
decoder_session->until_specification->is_relative = false; /* convert to our meaning of end-of-stream */
else {
@@ -1009,7 +1216,7 @@ FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder
const FLAC__uint64 input_samples_passed = skip + decoder_session->samples_processed;
FLAC__ASSERT(until >= input_samples_passed);
if(input_samples_passed + wide_samples > until)
- wide_samples = (unsigned)(until - input_samples_passed);
+ wide_samples = (uint32_t)(until - input_samples_passed);
if (wide_samples == 0) {
decoder_session->abort_flag = true;
decoder_session->aborting_due_to_until = true;
@@ -1020,7 +1227,7 @@ FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder
if(decoder_session->analysis_mode) {
FLAC__uint64 dpos;
FLAC__stream_decoder_get_decode_position(decoder_session->decoder, &dpos);
- frame_bytes = (unsigned)(dpos-decoder_session->decode_position);
+ frame_bytes = (dpos-decoder_session->decode_position);
decoder_session->decode_position = dpos;
}
@@ -1028,8 +1235,16 @@ FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder
decoder_session->samples_processed += wide_samples;
decoder_session->frame_counter++;
- if(!(decoder_session->frame_counter & 0x3f))
+#if 0 /* in case time.h with clock() isn't available for some reason */
+ if(!(decoder_session->frame_counter & 0x1ff))
+ print_stats(decoder_session);
+#else
+ if((clock() - decoder_session->old_clock_t) > (CLOCKS_PER_SEC/4)) {
print_stats(decoder_session);
+ decoder_session->old_clock_t = clock();
+ }
+#endif
+
if(decoder_session->analysis_mode) {
flac__analyze_frame(frame, decoder_session->frame_counter-1, decoder_session->decode_position-frame_bytes, frame_bytes, decoder_session->aopts, fout);
@@ -1038,11 +1253,11 @@ FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder
if(shift && !decoder_session->replaygain.apply) {
for(wide_sample = 0; wide_sample < wide_samples; wide_sample++)
for(channel = 0; channel < channels; channel++)
- ((FLAC__int32**)buffer)[channel][wide_sample] <<= shift;/*@@@@@@un-const'ing the buffer is hacky but safe*/
+ ((uint32_t **)buffer)[channel][wide_sample] <<= shift;/*@@@@@@un-const'ing the buffer is hacky but safe*/
}
if(decoder_session->replaygain.apply) {
bytes_to_write = FLAC__replaygain_synthesis__apply_gain(
- u8buffer,
+ ubuf.u8buffer,
!is_big_endian,
is_unsigned_samples,
buffer,
@@ -1058,17 +1273,17 @@ FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder
}
/* first some special code for common cases */
else if(is_big_endian == is_big_endian_host_ && !is_unsigned_samples && channels == 2 && bps+shift == 16) {
- FLAC__int16 *buf1_ = s16buffer + 1;
+ FLAC__int16 *buf1_ = ubuf.s16buffer + 1;
if(is_big_endian)
- memcpy(s16buffer, ((FLAC__byte*)(buffer[0]))+2, sizeof(FLAC__int32) * wide_samples - 2);
+ memcpy(ubuf.s16buffer, ((FLAC__byte*)(buffer[0]))+2, sizeof(FLAC__int32) * wide_samples - 2);
else
- memcpy(s16buffer, buffer[0], sizeof(FLAC__int32) * wide_samples);
+ memcpy(ubuf.s16buffer, buffer[0], sizeof(FLAC__int32) * wide_samples);
for(sample = 0; sample < wide_samples; sample++, buf1_+=2)
*buf1_ = (FLAC__int16)buffer[1][sample];
bytes_to_write = 4 * sample;
}
else if(is_big_endian == is_big_endian_host_ && !is_unsigned_samples && channels == 1 && bps+shift == 16) {
- FLAC__int16 *buf1_ = s16buffer;
+ FLAC__int16 *buf1_ = ubuf.s16buffer;
for(sample = 0; sample < wide_samples; sample++)
*buf1_++ = (FLAC__int16)buffer[0][sample];
bytes_to_write = 2 * sample;
@@ -1078,44 +1293,45 @@ FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder
if(is_unsigned_samples) {
if(channels == 2) {
for(sample = wide_sample = 0; wide_sample < wide_samples; wide_sample++) {
- u16buffer[sample++] = (FLAC__uint16)(buffer[0][wide_sample] + 0x8000);
- u16buffer[sample++] = (FLAC__uint16)(buffer[1][wide_sample] + 0x8000);
+ ubuf.u16buffer[sample++] = (FLAC__uint16)(buffer[0][wide_sample] + 0x8000);
+ ubuf.u16buffer[sample++] = (FLAC__uint16)(buffer[1][wide_sample] + 0x8000);
}
}
else if(channels == 1) {
for(sample = wide_sample = 0; wide_sample < wide_samples; wide_sample++)
- u16buffer[sample++] = (FLAC__uint16)(buffer[0][wide_sample] + 0x8000);
+ ubuf.u16buffer[sample++] = (FLAC__uint16)(buffer[0][wide_sample] + 0x8000);
}
else { /* works for any 'channels' but above flavors are faster for 1 and 2 */
for(sample = wide_sample = 0; wide_sample < wide_samples; wide_sample++)
for(channel = 0; channel < channels; channel++, sample++)
- u16buffer[sample] = (FLAC__uint16)(buffer[channel][wide_sample] + 0x8000);
+ ubuf.u16buffer[sample] = (FLAC__uint16)(buffer[channel][wide_sample] + 0x8000);
}
}
else {
if(channels == 2) {
for(sample = wide_sample = 0; wide_sample < wide_samples; wide_sample++) {
- s16buffer[sample++] = (FLAC__int16)(buffer[0][wide_sample]);
- s16buffer[sample++] = (FLAC__int16)(buffer[1][wide_sample]);
+ ubuf.s16buffer[sample++] = (FLAC__int16)(buffer[0][wide_sample]);
+ ubuf.s16buffer[sample++] = (FLAC__int16)(buffer[1][wide_sample]);
}
}
else if(channels == 1) {
for(sample = wide_sample = 0; wide_sample < wide_samples; wide_sample++)
- s16buffer[sample++] = (FLAC__int16)(buffer[0][wide_sample]);
+ ubuf.s16buffer[sample++] = (FLAC__int16)(buffer[0][wide_sample]);
}
else { /* works for any 'channels' but above flavors are faster for 1 and 2 */
for(sample = wide_sample = 0; wide_sample < wide_samples; wide_sample++)
for(channel = 0; channel < channels; channel++, sample++)
- s16buffer[sample] = (FLAC__int16)(buffer[channel][wide_sample]);
+ ubuf.s16buffer[sample] = (FLAC__int16)(buffer[channel][wide_sample]);
}
}
if(is_big_endian != is_big_endian_host_) {
- unsigned char tmp;
- const unsigned bytes = sample * 2;
- for(byte = 0; byte < bytes; byte += 2) {
- tmp = u8buffer[byte];
- u8buffer[byte] = u8buffer[byte+1];
- u8buffer[byte+1] = tmp;
+ uint8_t tmp;
+ const uint32_t bytes = sample * 2;
+ uint32_t b;
+ for(b = 0; b < bytes; b += 2) {
+ tmp = ubuf.u8buffer[b];
+ ubuf.u8buffer[b] = ubuf.u8buffer[b+1];
+ ubuf.u8buffer[b+1] = tmp;
}
}
bytes_to_write = 2 * sample;
@@ -1124,43 +1340,44 @@ FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder
if(is_unsigned_samples) {
for(sample = wide_sample = 0; wide_sample < wide_samples; wide_sample++)
for(channel = 0; channel < channels; channel++, sample++)
- u32buffer[sample] = buffer[channel][wide_sample] + 0x800000;
+ ubuf.u32buffer[sample] = buffer[channel][wide_sample] + 0x800000;
}
else {
for(sample = wide_sample = 0; wide_sample < wide_samples; wide_sample++)
for(channel = 0; channel < channels; channel++, sample++)
- s32buffer[sample] = buffer[channel][wide_sample];
+ ubuf.s32buffer[sample] = buffer[channel][wide_sample];
}
if(is_big_endian != is_big_endian_host_) {
- unsigned char tmp;
- const unsigned bytes = sample * 4;
- for(byte = 0; byte < bytes; byte += 4) {
- tmp = u8buffer[byte];
- u8buffer[byte] = u8buffer[byte+3];
- u8buffer[byte+3] = tmp;
- tmp = u8buffer[byte+1];
- u8buffer[byte+1] = u8buffer[byte+2];
- u8buffer[byte+2] = tmp;
+ uint8_t tmp;
+ const uint32_t bytes = sample * 4;
+ uint32_t b;
+ for(b = 0; b < bytes; b += 4) {
+ tmp = ubuf.u8buffer[b];
+ ubuf.u8buffer[b] = ubuf.u8buffer[b+3];
+ ubuf.u8buffer[b+3] = tmp;
+ tmp = ubuf.u8buffer[b+1];
+ ubuf.u8buffer[b+1] = ubuf.u8buffer[b+2];
+ ubuf.u8buffer[b+2] = tmp;
}
}
if(is_big_endian) {
- unsigned lbyte;
- const unsigned bytes = sample * 4;
- for(lbyte = byte = 0; byte < bytes; ) {
- byte++;
- u8buffer[lbyte++] = u8buffer[byte++];
- u8buffer[lbyte++] = u8buffer[byte++];
- u8buffer[lbyte++] = u8buffer[byte++];
+ uint32_t b, lbyte;
+ const uint32_t bytes = sample * 4;
+ for(lbyte = b = 0; b < bytes; ) {
+ b++;
+ ubuf.u8buffer[lbyte++] = ubuf.u8buffer[b++];
+ ubuf.u8buffer[lbyte++] = ubuf.u8buffer[b++];
+ ubuf.u8buffer[lbyte++] = ubuf.u8buffer[b++];
}
}
else {
- unsigned lbyte;
- const unsigned bytes = sample * 4;
- for(lbyte = byte = 0; byte < bytes; ) {
- u8buffer[lbyte++] = u8buffer[byte++];
- u8buffer[lbyte++] = u8buffer[byte++];
- u8buffer[lbyte++] = u8buffer[byte++];
- byte++;
+ uint32_t b, lbyte;
+ const uint32_t bytes = sample * 4;
+ for(lbyte = b = 0; b < bytes; ) {
+ ubuf.u8buffer[lbyte++] = ubuf.u8buffer[b++];
+ ubuf.u8buffer[lbyte++] = ubuf.u8buffer[b++];
+ ubuf.u8buffer[lbyte++] = ubuf.u8buffer[b++];
+ b++;
}
}
bytes_to_write = 3 * sample;
@@ -1169,15 +1386,41 @@ FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder
if(is_unsigned_samples) {
for(sample = wide_sample = 0; wide_sample < wide_samples; wide_sample++)
for(channel = 0; channel < channels; channel++, sample++)
- u8buffer[sample] = (FLAC__uint8)(buffer[channel][wide_sample] + 0x80);
+ ubuf.u8buffer[sample] = (FLAC__uint8)(buffer[channel][wide_sample] + 0x80);
}
else {
for(sample = wide_sample = 0; wide_sample < wide_samples; wide_sample++)
for(channel = 0; channel < channels; channel++, sample++)
- s8buffer[sample] = (FLAC__int8)(buffer[channel][wide_sample]);
+ ubuf.s8buffer[sample] = (FLAC__int8)(buffer[channel][wide_sample]);
}
bytes_to_write = sample;
}
+ else if(bps+shift == 32) {
+ if(is_unsigned_samples) {
+ for(sample = wide_sample = 0; wide_sample < wide_samples; wide_sample++)
+ for(channel = 0; channel < channels; channel++, sample++)
+ ubuf.u32buffer[sample] = buffer[channel][wide_sample];
+ }
+ else {
+ for(sample = wide_sample = 0; wide_sample < wide_samples; wide_sample++)
+ for(channel = 0; channel < channels; channel++, sample++)
+ ubuf.s32buffer[sample] = buffer[channel][wide_sample];
+ }
+ if(is_big_endian != is_big_endian_host_) {
+ uint8_t tmp;
+ const uint32_t bytes = sample * 4;
+ uint32_t b;
+ for(b = 0; b < bytes; b += 4) {
+ tmp = ubuf.u8buffer[b];
+ ubuf.u8buffer[b] = ubuf.u8buffer[b+3];
+ ubuf.u8buffer[b+3] = tmp;
+ tmp = ubuf.u8buffer[b+1];
+ ubuf.u8buffer[b+1] = ubuf.u8buffer[b+2];
+ ubuf.u8buffer[b+2] = tmp;
+ }
+ }
+ bytes_to_write = 4 * sample;
+ }
else {
FLAC__ASSERT(0);
/* double protection */
@@ -1187,7 +1430,7 @@ FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder
}
}
if(bytes_to_write > 0) {
- if(flac__utils_fwrite(u8buffer, 1, bytes_to_write, fout) != bytes_to_write) {
+ if(flac__utils_fwrite(ubuf.u8buffer, 1, bytes_to_write, fout) != bytes_to_write) {
/* if a pipe closed when writing to stdout, we let it go without an error message */
if(errno == EPIPE && decoder_session->fout == stdout)
decoder_session->aborting_due_to_until = true;
@@ -1202,18 +1445,30 @@ void metadata_callback(const FLAC__StreamDecoder *decoder, const FLAC__StreamMet
{
DecoderSession *decoder_session = (DecoderSession*)client_data;
- if(decoder_session->analysis_mode)
- FLAC__stream_decoder_get_decode_position(decoder, &decoder_session->decode_position);
+ (void)decoder;
if(metadata->type == FLAC__METADATA_TYPE_STREAMINFO) {
FLAC__uint64 skip, until;
+
+ if(decoder_session->got_stream_info){
+ /* There was already a STREAMINFO received */
+ flac__utils_printf(stderr, 1, "%s: ERROR, more than one STREAMINFO found\n", decoder_session->inbasefilename);
+ if(!decoder_session->continue_through_decode_errors)
+ decoder_session->abort_flag = true;
+ return;
+ }
+
decoder_session->got_stream_info = true;
- decoder_session->has_md5sum = memcmp(metadata->data.stream_info.md5sum, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16);
+ decoder_session->has_md5sum = memcmp(metadata->data.stream_info.md5sum, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) != 0;
decoder_session->bps = metadata->data.stream_info.bits_per_sample;
decoder_session->channels = metadata->data.stream_info.channels;
decoder_session->sample_rate = metadata->data.stream_info.sample_rate;
- flac__utils_canonicalize_skip_until_specification(decoder_session->skip_specification, decoder_session->sample_rate);
+ if(!flac__utils_canonicalize_skip_until_specification(decoder_session->skip_specification, decoder_session->sample_rate)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR, value of --skip is too large\n", decoder_session->inbasefilename);
+ decoder_session->abort_flag = true;
+ return;
+ }
FLAC__ASSERT(decoder_session->skip_specification->value.samples >= 0);
skip = (FLAC__uint64)decoder_session->skip_specification->value.samples;
@@ -1245,8 +1500,14 @@ void metadata_callback(const FLAC__StreamDecoder *decoder, const FLAC__StreamMet
decoder_session->total_samples -= (metadata->data.stream_info.total_samples - until);
}
- if(decoder_session->bps < 4 || decoder_session->bps > 24) {
- flac__utils_printf(stderr, 1, "%s: ERROR: bits per sample is %u, must be 4-24\n", decoder_session->inbasefilename, decoder_session->bps);
+ if(decoder_session->format == FORMAT_RAW && ((decoder_session->bps % 8) != 0 || decoder_session->bps < 4)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: bits per sample is %u, must be 8/16/24/32 for raw format output\n", decoder_session->inbasefilename, decoder_session->bps);
+ decoder_session->abort_flag = true;
+ return;
+ }
+
+ if(decoder_session->bps < 4 || decoder_session->bps > 32) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: bits per sample is %u, must be 4-32\n", decoder_session->inbasefilename, decoder_session->bps);
decoder_session->abort_flag = true;
return;
}
@@ -1284,6 +1545,13 @@ void metadata_callback(const FLAC__StreamDecoder *decoder, const FLAC__StreamMet
return;
}
}
+ else if(decoder_session->bps == 0) {
+ flac__utils_printf(stderr, 1, "%s: WARNING: can't apply ReplayGain, bit-per-sample value is invalid\n", decoder_session->inbasefilename);
+ if(decoder_session->treat_warnings_as_errors) {
+ decoder_session->abort_flag = true;
+ return;
+ }
+ }
else {
const char *ls[] = { "no", "peak", "hard" };
const char *ns[] = { "no", "low", "medium", "high" };
@@ -1297,17 +1565,39 @@ void metadata_callback(const FLAC__StreamDecoder *decoder, const FLAC__StreamMet
}
(void)flac__utils_get_channel_mask_tag(metadata, &decoder_session->channel_mask);
}
+ else if(metadata->type == FLAC__METADATA_TYPE_APPLICATION && decoder_session->warn_user_about_foreign_metadata) {
+ /* Foreign metadata signalling */
+ flac__utils_printf(stderr, 1, "%s: WARNING: found foreign metadata, use --keep-foreign-metadata to restore\n", decoder_session->inbasefilename);
+ decoder_session->warn_user_about_foreign_metadata = false;
+ }
}
void error_callback(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
{
DecoderSession *decoder_session = (DecoderSession*)client_data;
(void)decoder;
- flac__utils_printf(stderr, 1, "%s: *** Got error code %d:%s\n", decoder_session->inbasefilename, status, FLAC__StreamDecoderErrorStatusString[status]);
+ if(!decoder_session->error_callback_suppress_messages) {
+ stats_print_name(1, decoder_session->inbasefilename);
+ flac__utils_printf(stderr, 1, "*** Got error code %d:%s\n", status, FLAC__StreamDecoderErrorStatusString[status]);
+ }
if(!decoder_session->continue_through_decode_errors) {
- decoder_session->abort_flag = true;
- if(status == FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM)
+ /* if we got a sync error while looking for metadata, either it's not a FLAC file (more likely) or the file is corrupted */
+ if(
+ !decoder_session->error_callback_suppress_messages &&
+ status == FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC &&
+ FLAC__stream_decoder_get_state(decoder) == FLAC__STREAM_DECODER_SEARCH_FOR_METADATA
+ ) {
+ flac__utils_printf(stderr, 1,
+ "\n"
+ "The input file is either not a FLAC file or is corrupted. If you are\n"
+ "convinced it is a FLAC file, you can rerun the same command and add the\n"
+ "-F parameter to try and recover as much as possible from the file.\n"
+ );
+ decoder_session->error_callback_suppress_messages = true;
+ }
+ else if(status == FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM)
decoder_session->aborting_due_to_unparseable = true;
+ decoder_session->abort_flag = true;
}
}
@@ -1323,8 +1613,13 @@ void print_error_with_init_status(const DecoderSession *d, const char *message,
if (init_status == FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FILE) {
flac__utils_printf(stderr, 1,
"\n"
+#ifdef _WIN32
+ "An error occurred opening the input file; it is likely that it does not exist,\n"
+ "is not readable or has a filename that exceeds the path length limit.\n"
+#else
"An error occurred opening the input file; it is likely that it does not exist\n"
"or is not readable.\n"
+#endif
);
}
}
@@ -1346,7 +1641,7 @@ void print_error_with_state(const DecoderSession *d, const char *message)
"not able to decode the file. If the version number is not, the file\n"
"may be corrupted, or you may have found a bug. In this case please\n"
"submit a bug report to\n"
- " http://sourceforge.net/bugs/?func=addbug&group_id=13478\n"
+ " https://github.com/xiph/flac/issues\n"
"Make sure to use the \"Monitor\" feature to monitor the bug status.\n",
d->inbasefilename, FLAC__VERSION_STRING
);
@@ -1356,24 +1651,23 @@ void print_error_with_state(const DecoderSession *d, const char *message)
void print_stats(const DecoderSession *decoder_session)
{
if(flac__utils_verbosity_ >= 2) {
-#if defined _MSC_VER || defined __MINGW32__
- /* with MSVC you have to spoon feed it the casting */
- const double progress = (double)(FLAC__int64)decoder_session->samples_processed / (double)(FLAC__int64)decoder_session->total_samples * 100.0;
-#else
const double progress = (double)decoder_session->samples_processed / (double)decoder_session->total_samples * 100.0;
-#endif
+
if(decoder_session->total_samples > 0) {
- fprintf(stderr, "\r%s: %s%u%% complete",
- decoder_session->inbasefilename,
+ if ((uint32_t)floor(progress + 0.5) == 100)
+ return;
+
+ stats_print_name(2, decoder_session->inbasefilename);
+ stats_print_info(2, "%s%u%% complete",
decoder_session->test_only? "testing, " : decoder_session->analysis_mode? "analyzing, " : "",
- (unsigned)floor(progress + 0.5)
+ (uint32_t)floor(progress + 0.5)
);
}
else {
- fprintf(stderr, "\r%s: %s %u samples",
- decoder_session->inbasefilename,
+ stats_print_name(2, decoder_session->inbasefilename);
+ stats_print_info(2, "%s %" PRIu64 " samples",
decoder_session->test_only? "tested" : decoder_session->analysis_mode? "analyzed" : "wrote",
- (unsigned)decoder_session->samples_processed
+ decoder_session->samples_processed
);
}
}
diff --git a/3rdparty/libflac/src/flac/decode.h b/3rdparty/libflac/src/flac/decode.h
index 2ab9deb6605..24f5723dada 100644
--- a/3rdparty/libflac/src/flac/decode.h
+++ b/3rdparty/libflac/src/flac/decode.h
@@ -1,5 +1,6 @@
/* flac - Command-line FLAC encoder/decoder
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,15 +12,15 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef flac__decode_h
#define flac__decode_h
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -51,24 +52,22 @@ typedef struct {
FLAC__bool has_cue_specification;
utils__CueSpecification cue_specification;
FLAC__bool channel_map_none; /* --channel-map=none specified, eventually will expand to take actual channel map */
-} decode_options_t;
-
-/* used for AIFF also */
-typedef struct {
- decode_options_t common;
- foreign_metadata_t *foreign_metadata; /* NULL unless --keep-foreign-metadata requested */
-} wav_decode_options_t;
+ FLAC__bool relaxed_foreign_metadata_handling;
+ FileSubFormat force_subformat;
-typedef struct {
- decode_options_t common;
-
- FLAC__bool is_big_endian;
- FLAC__bool is_unsigned_samples;
-} raw_decode_options_t;
+ FileFormat format;
+ union {
+ struct {
+ FLAC__bool is_big_endian;
+ FLAC__bool is_unsigned_samples;
+ } raw;
+ struct {
+ foreign_metadata_t *foreign_metadata; /* NULL unless --keep-foreign-metadata requested */
+ } iff;
+ } format_options;
+} decode_options_t;
/* outfile == 0 => test only */
-int flac__decode_aiff(const char *infilename, const char *outfilename, FLAC__bool analysis_mode, analysis_options aopts, wav_decode_options_t options);
-int flac__decode_wav(const char *infilename, const char *outfilename, FLAC__bool analysis_mode, analysis_options aopts, wav_decode_options_t options);
-int flac__decode_raw(const char *infilename, const char *outfilename, FLAC__bool analysis_mode, analysis_options aopts, raw_decode_options_t options);
+int flac__decode_file(const char *infilename, const char *outfilename, FLAC__bool analysis_mode, analysis_options aopts, decode_options_t options);
#endif
diff --git a/3rdparty/libflac/src/flac/encode.c b/3rdparty/libflac/src/flac/encode.c
index 8d2434993e5..a945b356a52 100644
--- a/3rdparty/libflac/src/flac/encode.c
+++ b/3rdparty/libflac/src/flac/encode.c
@@ -1,5 +1,6 @@
/* flac - Command-line FLAC encoder/decoder
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,37 +12,30 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
-#if defined _WIN32 && !defined __CYGWIN__
-/* where MSVC puts unlink() */
-# include <io.h>
-#else
-# include <unistd.h>
-#endif
-#if defined _MSC_VER || defined __MINGW32__
-#include <sys/types.h> /* for off_t */
-#if _MSC_VER <= 1600 /* @@@ [2G limit] */
-#define fseeko fseek
-#define ftello ftell
-#endif
-#endif
#include <errno.h>
#include <limits.h> /* for LONG_MAX */
#include <math.h> /* for floor() */
#include <stdio.h> /* for FILE etc. */
#include <stdlib.h> /* for malloc */
#include <string.h> /* for strcmp(), strerror() */
+#include <time.h> /* for clock() */
+#include <sys/stat.h>
#include "FLAC/all.h"
#include "share/alloc.h"
#include "share/grabbag.h"
+#include "share/compat.h"
+#include "share/private.h"
+#include "share/safe_str.h"
+#include "share/endswap.h"
#include "encode.h"
#ifdef min
@@ -53,10 +47,32 @@
#endif
#define max(x,y) ((x)>(y)?(x):(y))
-/* this MUST be >= 588 so that sector aligning can take place with one read */
+/* this MUST be < 2^sizeof(size_t) / ( FLAC__MAX_CHANNELS * (FLAC__MAX_BITS_PER_SAMPLE/8) ) */
#define CHUNK_OF_SAMPLES 2048
typedef struct {
+ uint32_t sample_rate;
+ uint32_t channels;
+ uint32_t bits_per_sample; /* width of sample point, including 'shift' bits, valid bps is bits_per_sample-shift */
+ uint32_t shift; /* # of LSBs samples have been shifted left by */
+ uint32_t bytes_per_wide_sample; /* for convenience, always == channels*((bps+7)/8), or 0 if N/A to input format (like FLAC) */
+ FLAC__bool is_unsigned_samples;
+ FLAC__bool is_big_endian;
+ FLAC__uint32 channel_mask;
+} SampleInfo;
+
+/* this is the client_data attached to the FLAC decoder when encoding from a FLAC file */
+typedef struct {
+ FLAC__off_t filesize;
+ const FLAC__byte *lookahead;
+ uint32_t lookahead_length;
+ size_t num_metadata_blocks;
+ FLAC__StreamMetadata *metadata_blocks[1024]; /*@@@ BAD MAGIC number */
+ FLAC__uint64 samples_left_to_process;
+ FLAC__bool fatal_error;
+} FLACDecoderData;
+
+typedef struct {
#if FLAC__HAS_OGG
FLAC__bool use_ogg;
#endif
@@ -67,73 +83,75 @@ typedef struct {
const char *infilename;
const char *outfilename;
- FLAC__uint64 skip;
- FLAC__uint64 until; /* a value of 0 mean end-of-stream (i.e. --until=-0) */
FLAC__bool treat_warnings_as_errors;
FLAC__bool continue_through_decode_errors;
FLAC__bool replay_gain;
- unsigned channels;
- unsigned bits_per_sample;
- unsigned sample_rate;
- FLAC__uint64 unencoded_size;
- FLAC__uint64 total_samples_to_encode;
+ FLAC__uint64 total_samples_to_encode; /* (i.e. "wide samples" aka "sample frames") WATCHOUT: may be 0 to mean 'unknown' */
+ FLAC__uint64 unencoded_size; /* an estimate of the input size, only used in the progress indicator */
FLAC__uint64 bytes_written;
FLAC__uint64 samples_written;
- unsigned stats_mask;
+#if 0 /* in case time.h with clock() isn't available for some reason */
+ uint32_t stats_frames_interval;
+ uint32_t old_frames_written;
+#else
+ clock_t old_clock_t;
+#endif
+
+ SampleInfo info;
+
+ FileFormat format;
+ union {
+ struct {
+ FLAC__uint64 data_bytes;
+ } iff;
+ struct {
+ FLAC__StreamDecoder *decoder;
+ FLACDecoderData client_data;
+ } flac;
+ } fmt;
FLAC__StreamEncoder *encoder;
FILE *fin;
FLAC__StreamMetadata *seek_table_template;
+ double progress, compression_ratio;
} EncoderSession;
-/* this is data attached to the FLAC decoder when encoding from a FLAC file */
-typedef struct {
- EncoderSession *encoder_session;
- off_t filesize;
- const FLAC__byte *lookahead;
- unsigned lookahead_length;
- size_t num_metadata_blocks;
- FLAC__StreamMetadata *metadata_blocks[1024]; /*@@@ BAD MAGIC number */
- FLAC__uint64 samples_left_to_process;
- FLAC__bool fatal_error;
-} FLACDecoderData;
-
const int FLAC_ENCODE__DEFAULT_PADDING = 8192;
static FLAC__bool is_big_endian_host_;
-static unsigned char ucbuffer_[CHUNK_OF_SAMPLES*FLAC__MAX_CHANNELS*((FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE+7)/8)];
-static signed char *scbuffer_ = (signed char *)ucbuffer_;
-static FLAC__uint16 *usbuffer_ = (FLAC__uint16 *)ucbuffer_;
-static FLAC__int16 *ssbuffer_ = (FLAC__int16 *)ucbuffer_;
+#define UBUFFER_INT8_SIZE 0x10000
+
+static union {
+ FLAC__int8 s8[UBUFFER_INT8_SIZE];
+ FLAC__uint8 u8[UBUFFER_INT8_SIZE];
+ FLAC__int16 s16[UBUFFER_INT8_SIZE/2];
+ FLAC__uint16 u16[UBUFFER_INT8_SIZE/2];
+ FLAC__int32 s32[UBUFFER_INT8_SIZE/4];
+ FLAC__uint32 u32[UBUFFER_INT8_SIZE/4];
+} ubuffer;
+
static FLAC__int32 in_[FLAC__MAX_CHANNELS][CHUNK_OF_SAMPLES];
static FLAC__int32 *input_[FLAC__MAX_CHANNELS];
/*
- * unpublished debug routines from the FLAC libs
- */
-extern FLAC__bool FLAC__stream_encoder_disable_constant_subframes(FLAC__StreamEncoder *encoder, FLAC__bool value);
-extern FLAC__bool FLAC__stream_encoder_disable_fixed_subframes(FLAC__StreamEncoder *encoder, FLAC__bool value);
-extern FLAC__bool FLAC__stream_encoder_disable_verbatim_subframes(FLAC__StreamEncoder *encoder, FLAC__bool value);
-extern FLAC__bool FLAC__stream_encoder_set_do_md5(FLAC__StreamEncoder *encoder, FLAC__bool value);
-
-/*
* local routines
*/
-static FLAC__bool EncoderSession_construct(EncoderSession *e, FLAC__bool use_ogg, FLAC__bool verify, FLAC__bool treat_warnings_as_errors, FLAC__bool continue_through_decode_errors, FILE *infile, const char *infilename, const char *outfilename);
+static FLAC__bool EncoderSession_construct(EncoderSession *e, encode_options_t options, FLAC__off_t infilesize, FILE *infile, const char *infilename, const char *outfilename, const FLAC__byte *lookahead, uint32_t lookahead_length);
static void EncoderSession_destroy(EncoderSession *e);
-static int EncoderSession_finish_ok(EncoderSession *e, int info_align_carry, int info_align_zero, foreign_metadata_t *foreign_metadata);
+static int EncoderSession_finish_ok(EncoderSession *e, foreign_metadata_t *foreign_metadata, FLAC__bool error_on_compression_fail);
static int EncoderSession_finish_error(EncoderSession *e);
-static FLAC__bool EncoderSession_init_encoder(EncoderSession *e, encode_options_t options, FLAC__uint32 channel_mask, unsigned channels, unsigned bps, unsigned sample_rate, const foreign_metadata_t *foreign_metadata, FLACDecoderData *flac_decoder_data);
-static FLAC__bool EncoderSession_process(EncoderSession *e, const FLAC__int32 * const buffer[], unsigned samples);
+static FLAC__bool EncoderSession_init_encoder(EncoderSession *e, encode_options_t options);
+static FLAC__bool EncoderSession_process(EncoderSession *e, const FLAC__int32 * const buffer[], uint32_t samples);
+static FLAC__bool EncoderSession_format_is_iff(const EncoderSession *e);
static FLAC__bool convert_to_seek_table_template(const char *requested_seek_points, int num_requested_seek_points, FLAC__StreamMetadata *cuesheet, EncoderSession *e);
-static FLAC__bool canonicalize_until_specification(utils__SkipUntilSpecification *spec, const char *inbasefilename, unsigned sample_rate, FLAC__uint64 skip, FLAC__uint64 total_samples_in_input);
-static FLAC__bool verify_metadata(const EncoderSession *e, FLAC__StreamMetadata **metadata, unsigned num_metadata);
-static FLAC__bool format_input(FLAC__int32 *dest[], unsigned wide_samples, FLAC__bool is_big_endian, FLAC__bool is_unsigned_samples, unsigned channels, unsigned bps, unsigned shift, size_t *channel_map);
-static void encoder_progress_callback(const FLAC__StreamEncoder *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate, void *client_data);
+static FLAC__bool canonicalize_until_specification(utils__SkipUntilSpecification *spec, const char *inbasefilename, uint32_t sample_rate, FLAC__uint64 skip, FLAC__uint64 total_samples_in_input);
+static FLAC__bool verify_metadata(const EncoderSession *e, FLAC__StreamMetadata **metadata, uint32_t num_metadata);
+static FLAC__bool format_input(FLAC__int32 *dest[], uint32_t wide_samples, FLAC__bool is_big_endian, FLAC__bool is_unsigned_samples, uint32_t channels, uint32_t bps, uint32_t shift, size_t *channel_map);
+static void encoder_progress_callback(const FLAC__StreamEncoder *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, uint32_t frames_written, uint32_t total_frames_estimate, void *client_data);
static FLAC__StreamDecoderReadStatus flac_decoder_read_callback(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data);
static FLAC__StreamDecoderSeekStatus flac_decoder_seek_callback(const FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data);
static FLAC__StreamDecoderTellStatus flac_decoder_tell_callback(const FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data);
@@ -142,530 +160,121 @@ static FLAC__bool flac_decoder_eof_callback(const FLAC__StreamDecoder *decoder,
static FLAC__StreamDecoderWriteStatus flac_decoder_write_callback(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data);
static void flac_decoder_metadata_callback(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data);
static void flac_decoder_error_callback(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data);
-static FLAC__bool parse_cuesheet(FLAC__StreamMetadata **cuesheet, const char *cuesheet_filename, const char *inbasefilename, FLAC__bool is_cdda, FLAC__uint64 lead_out_offset, FLAC__bool treat_warnings_as_errors);
+static FLAC__bool parse_cuesheet(FLAC__StreamMetadata **cuesheet, const char *cuesheet_filename, const char *inbasefilename, uint32_t sample_rate, FLAC__bool is_cdda, FLAC__uint64 lead_out_offset, FLAC__bool treat_warnings_as_errors);
static void print_stats(const EncoderSession *encoder_session);
static void print_error_with_init_status(const EncoderSession *e, const char *message, FLAC__StreamEncoderInitStatus init_status);
static void print_error_with_state(const EncoderSession *e, const char *message);
static void print_verify_error(EncoderSession *e);
-static FLAC__bool read_little_endian_uint16(FILE *f, FLAC__uint16 *val, FLAC__bool eof_ok, const char *fn);
-static FLAC__bool read_little_endian_uint32(FILE *f, FLAC__uint32 *val, FLAC__bool eof_ok, const char *fn);
-static FLAC__bool read_big_endian_uint16(FILE *f, FLAC__uint16 *val, FLAC__bool eof_ok, const char *fn);
-static FLAC__bool read_big_endian_uint32(FILE *f, FLAC__uint32 *val, FLAC__bool eof_ok, const char *fn);
-static FLAC__bool read_sane_extended(FILE *f, FLAC__uint32 *val, FLAC__bool eof_ok, const char *fn);
+static FLAC__bool read_bytes(FILE *f, FLAC__byte *buf, size_t n, FLAC__bool eof_ok, const char *fn);
+static FLAC__bool read_uint16(FILE *f, FLAC__bool big_endian, FLAC__uint16 *val, const char *fn);
+static FLAC__bool read_uint32(FILE *f, FLAC__bool big_endian, FLAC__uint32 *val, const char *fn);
+static FLAC__bool read_uint64(FILE *f, FLAC__bool big_endian, FLAC__uint64 *val, const char *fn);
+static FLAC__bool read_sane_extended(FILE *f, FLAC__uint32 *val, const char *fn);
static FLAC__bool fskip_ahead(FILE *f, FLAC__uint64 offset);
-static unsigned count_channel_mask_bits(FLAC__uint32 mask);
-#if 0
-static FLAC__uint32 limit_channel_mask(FLAC__uint32 mask, unsigned channels);
-#endif
+static uint32_t count_channel_mask_bits(FLAC__uint32 mask);
-/*
- * public routines
- */
-int flac__encode_aif(FILE *infile, off_t infilesize, const char *infilename, const char *outfilename, const FLAC__byte *lookahead, unsigned lookahead_length, wav_encode_options_t options, FLAC__bool is_aifc)
+static FLAC__bool get_sample_info_raw(EncoderSession *e, encode_options_t options)
{
- EncoderSession encoder_session;
- FLAC__uint16 x;
- FLAC__uint32 xx;
- unsigned int channels= 0U, bps= 0U, shift= 0U, sample_rate= 0U, sample_frames= 0U;
- size_t channel_map[FLAC__MAX_CHANNELS];
- FLAC__bool got_comm_chunk= false, got_ssnd_chunk= false;
- int info_align_carry= -1, info_align_zero= -1;
- FLAC__bool is_big_endian_pcm = true;
+ e->info.sample_rate = options.format_options.raw.sample_rate;
+ e->info.channels = options.format_options.raw.channels;
+ e->info.bits_per_sample = options.format_options.raw.bps;
+ e->info.shift = 0;
+ e->info.bytes_per_wide_sample = options.format_options.raw.channels * ((options.format_options.raw.bps+7)/8);
+ e->info.is_unsigned_samples = options.format_options.raw.is_unsigned_samples;
+ e->info.is_big_endian = options.format_options.raw.is_big_endian;
+ e->info.channel_mask = 0;
- (void)infilesize; /* silence compiler warning about unused parameter */
- (void)lookahead; /* silence compiler warning about unused parameter */
- (void)lookahead_length; /* silence compiler warning about unused parameter */
+ return true;
+}
- if(!
- EncoderSession_construct(
- &encoder_session,
-#if FLAC__HAS_OGG
- options.common.use_ogg,
-#else
- /*use_ogg=*/false,
-#endif
- options.common.verify,
- options.common.treat_warnings_as_errors,
- options.common.continue_through_decode_errors,
- infile,
- infilename,
- outfilename
- )
- )
- return 1;
+static FLAC__bool get_sample_info_wave(EncoderSession *e, encode_options_t options)
+{
+ FLAC__bool got_fmt_chunk = false, got_data_chunk = false, got_ds64_chunk = false;
+ uint32_t sample_rate = 0, channels = 0, bps = 0, shift = 0, block_align = 0;
+ FLAC__uint32 channel_mask = 0;
+ FLAC__uint64 ds64_data_size = 0;
- /* initialize default channel map that preserves channel order */
- {
- size_t i;
- for(i = 0; i < sizeof(channel_map)/sizeof(channel_map[0]); i++)
- channel_map[i] = i;
- }
+ e->info.is_unsigned_samples = false;
+ e->info.is_big_endian = false;
- if(options.foreign_metadata) {
- const char *error;
- if(!flac__foreign_metadata_read_from_aiff(options.foreign_metadata, infilename, &error)) {
- flac__utils_printf(stderr, 1, "%s: ERROR reading foreign metadata: %s\n", encoder_session.inbasefilename, error);
- return EncoderSession_finish_error(&encoder_session);
+ if(e->format == FORMAT_WAVE64) {
+ /*
+ * lookahead[] already has "riff\x2E\x91\xCF\x11\xA5\xD6\x28\xDB", skip over remaining header
+ */
+ if(!fskip_ahead(e->fin, 16+8+16-12)) { /* riff GUID + riff size + WAVE GUID - lookahead */
+ flac__utils_printf(stderr, 1, "%s: ERROR during read while skipping over remaining \"riff\" header\n", e->inbasefilename);
+ return false;
}
}
+ /* else lookahead[] already has "RIFFxxxxWAVE" or "RF64xxxxWAVE" */
- /* lookahead[] already has "FORMxxxxAIFF", do sub-chunks */
-
- while(1) {
- size_t c= 0U;
- char chunk_id[5] = { '\0', '\0', '\0', '\0', '\0' }; /* one extra byte for terminating NUL so we can also treat it like a C string */
-
- /* chunk identifier; really conservative about behavior of fread() and feof() */
- if(feof(infile) || ((c= fread(chunk_id, 1U, 4U, infile)), c==0U && feof(infile)))
- break;
- else if(c<4U || feof(infile)) {
- flac__utils_printf(stderr, 1, "%s: ERROR: incomplete chunk identifier\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
-
- if(got_comm_chunk==false && !memcmp(chunk_id, "COMM", 4)) { /* common chunk */
- unsigned long skip;
- const FLAC__uint32 minimum_comm_size = (is_aifc? 22 : 18);
+ while(!feof(e->fin) && !got_data_chunk) {
+ /* chunk IDs are 4 bytes for WAVE/RF64, 16 for Wave64 */
+ /* for WAVE/RF64 we want the 5th char zeroed so we can treat it like a C string */
+ char chunk_id[16] = { '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0' };
- /* COMM chunk size */
- if(!read_big_endian_uint32(infile, &xx, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
- else if(xx<minimum_comm_size) {
- flac__utils_printf(stderr, 1, "%s: ERROR: non-standard %s 'COMM' chunk has length = %u\n", encoder_session.inbasefilename, is_aifc? "AIFF-C" : "AIFF", (unsigned int)xx);
- return EncoderSession_finish_error(&encoder_session);
- }
- else if(!is_aifc && xx!=minimum_comm_size) {
- flac__utils_printf(stderr, 1, "%s: WARNING: non-standard %s 'COMM' chunk has length = %u, expected %u\n", encoder_session.inbasefilename, is_aifc? "AIFF-C" : "AIFF", (unsigned int)xx, minimum_comm_size);
- if(encoder_session.treat_warnings_as_errors)
- return EncoderSession_finish_error(&encoder_session);
- }
- skip= (xx-minimum_comm_size)+(xx & 1U);
-
- /* number of channels */
- if(!read_big_endian_uint16(infile, &x, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
- else if(x==0U || x>FLAC__MAX_CHANNELS) {
- flac__utils_printf(stderr, 1, "%s: ERROR: unsupported number channels %u\n", encoder_session.inbasefilename, (unsigned int)x);
- return EncoderSession_finish_error(&encoder_session);
- }
- else if(x>2U && !options.common.channel_map_none) {
- flac__utils_printf(stderr, 1, "%s: ERROR: unsupported number channels %u for AIFF\n", encoder_session.inbasefilename, (unsigned int)x);
- return EncoderSession_finish_error(&encoder_session);
- }
- else if(options.common.sector_align && x!=2U) {
- flac__utils_printf(stderr, 1, "%s: ERROR: file has %u channels, must be 2 for --sector-align\n", encoder_session.inbasefilename, (unsigned int)x);
- return EncoderSession_finish_error(&encoder_session);
- }
- channels= x;
-
- /* number of sample frames */
- if(!read_big_endian_uint32(infile, &xx, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
- sample_frames= xx;
-
- /* bits per sample */
- if(!read_big_endian_uint16(infile, &x, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
- else if(x<4U || x>24U) {
- flac__utils_printf(stderr, 1, "%s: ERROR: unsupported bits-per-sample %u\n", encoder_session.inbasefilename, (unsigned int)x);
- return EncoderSession_finish_error(&encoder_session);
- }
- else if(options.common.sector_align && x!=16U) {
- flac__utils_printf(stderr, 1, "%s: ERROR: file has %u bits-per-sample, must be 16 for --sector-align\n", encoder_session.inbasefilename, (unsigned int)x);
- return EncoderSession_finish_error(&encoder_session);
- }
- bps= x;
- shift= (bps%8)? 8-(bps%8) : 0; /* SSND data is always byte-aligned, left-justified but format_input() will double-check */
- bps+= shift;
-
- /* sample rate */
- if(!read_sane_extended(infile, &xx, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
- else if(!FLAC__format_sample_rate_is_valid(xx)) {
- flac__utils_printf(stderr, 1, "%s: ERROR: unsupported sample rate %u\n", encoder_session.inbasefilename, (unsigned int)xx);
- return EncoderSession_finish_error(&encoder_session);
- }
- else if(options.common.sector_align && xx!=44100U) {
- flac__utils_printf(stderr, 1, "%s: ERROR: file's sample rate is %u, must be 44100 for --sector-align\n", encoder_session.inbasefilename, (unsigned int)xx);
- return EncoderSession_finish_error(&encoder_session);
- }
- sample_rate= xx;
-
- /* check compression type for AIFF-C */
- if(is_aifc) {
- if(!read_big_endian_uint32(infile, &xx, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
- if(xx == 0x736F7774) /* "sowt" */
- is_big_endian_pcm = false;
- else if(xx == 0x4E4F4E45) /* "NONE" */
- ; /* nothing to do, we already default to big-endian */
- else {
- flac__utils_printf(stderr, 1, "%s: ERROR: can't handle AIFF-C compression type \"%c%c%c%c\"\n", encoder_session.inbasefilename, (char)(xx>>24), (char)((xx>>16)&8), (char)((xx>>8)&8), (char)(xx&8));
- return EncoderSession_finish_error(&encoder_session);
- }
- }
-
- /* set channel mapping */
- /* FLAC order follows SMPTE and WAVEFORMATEXTENSIBLE but with fewer channels, which are: */
- /* front left, front right, center, LFE, back left, back right, surround left, surround right */
- /* specs say the channel ordering is:
- * 1 2 3 4 5 6
- * ___________________________________________________
- * 2 stereo l r
- * 3 l r c
- * 4 l c r S
- * quad (ambiguous with 4ch) Fl Fr Bl Br
- * 5 Fl Fr Fc Sl Sr
- * 6 l lc c r rc S
- * l:left r:right c:center Fl:front-left Fr:front-right Bl:back-left Br:back-right Lc:left-center Rc:right-center S:surround
- * so we only have unambiguous mappings for 2, 3, and 5 channels
- */
- if(
- options.common.channel_map_none ||
- channels == 1 || /* 1 channel: (mono) */
- channels == 2 || /* 2 channels: left, right */
- channels == 3 || /* 3 channels: left, right, center */
- channels == 5 /* 5 channels: front left, front right, center, surround left, surround right */
- ) {
- /* keep default channel order */
- }
- else {
- flac__utils_printf(stderr, 1, "%s: ERROR: unsupported number channels %u for AIFF\n", encoder_session.inbasefilename, channels);
- return EncoderSession_finish_error(&encoder_session);
- }
-
- /* skip any extra data in the COMM chunk */
- if(!fskip_ahead(infile, skip)) {
- flac__utils_printf(stderr, 1, "%s: ERROR during read while skipping over extra COMM data\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
-
- /*
- * now that we know the sample rate, canonicalize the
- * --skip string to a number of samples:
- */
- flac__utils_canonicalize_skip_until_specification(&options.common.skip_specification, sample_rate);
- FLAC__ASSERT(options.common.skip_specification.value.samples >= 0);
- encoder_session.skip = (FLAC__uint64)options.common.skip_specification.value.samples;
- FLAC__ASSERT(!options.common.sector_align || encoder_session.skip == 0);
-
- got_comm_chunk= true;
+ if(!read_bytes(e->fin, (FLAC__byte*)chunk_id, e->format==FORMAT_WAVE64?16:4, /*eof_ok=*/true, e->inbasefilename)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: incomplete chunk identifier\n", e->inbasefilename);
+ return false;
}
- else if(got_ssnd_chunk==false && !memcmp(chunk_id, "SSND", 4)) { /* sound data chunk */
- unsigned int offset= 0U, block_size= 0U, align_remainder= 0U, data_bytes;
- const size_t bytes_per_frame= channels*(bps>>3);
- FLAC__uint64 total_samples_in_input, trim = 0;
- FLAC__bool pad= false;
-
- if(got_comm_chunk==false) {
- flac__utils_printf(stderr, 1, "%s: ERROR: got 'SSND' chunk before 'COMM' chunk\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
-
- /* SSND chunk size */
- if(!read_big_endian_uint32(infile, &xx, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
- if(options.common.ignore_chunk_sizes) {
- FLAC__ASSERT(!options.common.sector_align);
- data_bytes = (unsigned)(-(int)bytes_per_frame); /* max out data_bytes; we'll use EOF as signal to stop reading */
- }
- else {
- data_bytes= xx;
- data_bytes-= 8U; /* discount the offset and block size fields */
- }
- pad= (data_bytes & 1U) ? true : false;
-
- /* offset */
- if(!read_big_endian_uint32(infile, &xx, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
- offset= xx;
- data_bytes-= offset;
-
- /* block size */
- if(!read_big_endian_uint32(infile, &xx, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
- else if(xx!=0U) {
- flac__utils_printf(stderr, 1, "%s: ERROR: block size is %u; must be 0\n", encoder_session.inbasefilename, (unsigned int)xx);
- return EncoderSession_finish_error(&encoder_session);
- }
- block_size= xx;
-
- /* skip any SSND offset bytes */
- FLAC__ASSERT(offset<=LONG_MAX);
- if(!fskip_ahead(infile, offset)) {
- flac__utils_printf(stderr, 1, "%s: ERROR: skipping offset in SSND chunk\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
- if(data_bytes!=(sample_frames*bytes_per_frame)) {
- flac__utils_printf(stderr, 1, "%s: ERROR: SSND chunk size inconsistent with sample frame count\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
-
- /* *options.common.align_reservoir_samples will be 0 unless --sector-align is used */
- FLAC__ASSERT(options.common.sector_align || *options.common.align_reservoir_samples == 0);
- total_samples_in_input = data_bytes / bytes_per_frame + *options.common.align_reservoir_samples;
-
- /*
- * now that we know the input size, canonicalize the
- * --until string to an absolute sample number:
- */
- if(!canonicalize_until_specification(&options.common.until_specification, encoder_session.inbasefilename, sample_rate, encoder_session.skip, total_samples_in_input))
- return EncoderSession_finish_error(&encoder_session);
- encoder_session.until = (FLAC__uint64)options.common.until_specification.value.samples;
- FLAC__ASSERT(!options.common.sector_align || encoder_session.until == 0);
-
- if(encoder_session.skip>0U) {
- if(!fskip_ahead(infile, encoder_session.skip*bytes_per_frame)) {
- flac__utils_printf(stderr, 1, "%s: ERROR during read while skipping samples\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
- }
-
- data_bytes-= (unsigned int)encoder_session.skip*bytes_per_frame; /*@@@ WATCHOUT: 4GB limit */
- if(options.common.ignore_chunk_sizes) {
- encoder_session.total_samples_to_encode= 0;
- flac__utils_printf(stderr, 2, "(No runtime statistics possible; please wait for encoding to finish...)\n");
- FLAC__ASSERT(0 == encoder_session.until);
- }
- else {
- encoder_session.total_samples_to_encode= total_samples_in_input - encoder_session.skip;
- }
- if(encoder_session.until > 0) {
- trim = total_samples_in_input - encoder_session.until;
- FLAC__ASSERT(total_samples_in_input > 0);
- FLAC__ASSERT(!options.common.sector_align);
- data_bytes-= (unsigned int)trim*bytes_per_frame;
- encoder_session.total_samples_to_encode-= trim;
- }
- if(options.common.sector_align) {
- align_remainder= (unsigned int)(encoder_session.total_samples_to_encode % 588U);
- if(options.common.is_last_file)
- encoder_session.total_samples_to_encode+= (588U-align_remainder); /* will pad with zeroes */
- else
- encoder_session.total_samples_to_encode-= align_remainder; /* will stop short and carry over to next file */
- }
-
- /* +54 for the size of the AIFF headers; this is just an estimate for the progress indicator and doesn't need to be exact */
- encoder_session.unencoded_size= encoder_session.total_samples_to_encode*bytes_per_frame+54;
-
- if(!EncoderSession_init_encoder(&encoder_session, options.common, /*channel_mask=*/0, channels, bps-shift, sample_rate, options.foreign_metadata, /*flac_decoder_data=*/0))
- return EncoderSession_finish_error(&encoder_session);
-
- /* first do any samples in the reservoir */
- if(options.common.sector_align && *options.common.align_reservoir_samples>0U) {
+ if(feof(e->fin))
+ break;
- if(!EncoderSession_process(&encoder_session, (const FLAC__int32 *const *)options.common.align_reservoir, *options.common.align_reservoir_samples)) {
- print_error_with_state(&encoder_session, "ERROR during encoding");
- return EncoderSession_finish_error(&encoder_session);
- }
- }
+ if(e->format == FORMAT_RF64 && !memcmp(chunk_id, "ds64", 4)) { /* RF64 64-bit sizes chunk */
+ FLAC__uint32 xx, data_bytes;
- /* decrement the data_bytes counter if we need to align the file */
- if(options.common.sector_align) {
- if(options.common.is_last_file)
- *options.common.align_reservoir_samples= 0U;
- else {
- *options.common.align_reservoir_samples= align_remainder;
- data_bytes-= (*options.common.align_reservoir_samples)*bytes_per_frame;
- }
+ if(got_ds64_chunk) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: file has multiple 'ds64' chunks\n", e->inbasefilename);
+ return false;
}
-
- /* now do from the file */
- while(data_bytes>0) {
- size_t bytes_read= fread(ucbuffer_, 1U, min(data_bytes, CHUNK_OF_SAMPLES*bytes_per_frame), infile);
-
- if(bytes_read==0U) {
- if(ferror(infile)) {
- flac__utils_printf(stderr, 1, "%s: ERROR during read\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
- else if(feof(infile)) {
- if(options.common.ignore_chunk_sizes) {
- flac__utils_printf(stderr, 1, "%s: INFO: hit EOF with --ignore-chunk-sizes, got %u samples\n", encoder_session.inbasefilename, (unsigned)encoder_session.samples_written);
- }
- else {
- flac__utils_printf(stderr, 1, "%s: WARNING: unexpected EOF; expected %u samples, got %u samples\n", encoder_session.inbasefilename, (unsigned)encoder_session.total_samples_to_encode, (unsigned)encoder_session.samples_written);
- if(encoder_session.treat_warnings_as_errors)
- return EncoderSession_finish_error(&encoder_session);
- }
- data_bytes= 0;
- }
- }
- else {
- if(bytes_read % bytes_per_frame != 0U) {
- flac__utils_printf(stderr, 1, "%s: ERROR: got partial sample\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
- else {
- unsigned int frames= bytes_read/bytes_per_frame;
- if(!format_input(input_, frames, is_big_endian_pcm, /*is_unsigned_samples=*/false, channels, bps, shift, channel_map))
- return EncoderSession_finish_error(&encoder_session);
-
- if(!EncoderSession_process(&encoder_session, (const FLAC__int32 *const *)input_, frames)) {
- print_error_with_state(&encoder_session, "ERROR during encoding");
- return EncoderSession_finish_error(&encoder_session);
- }
- else
- data_bytes-= bytes_read;
- }
- }
+ if(got_fmt_chunk) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: 'ds64' chunk appears after 'fmt ' or 'data' chunk\n", e->inbasefilename);
+ return false;
}
- if(trim>0) {
- FLAC__ASSERT(!options.common.sector_align);
- if(!fskip_ahead(infile, trim*bytes_per_frame)) {
- flac__utils_printf(stderr, 1, "%s: ERROR during read while skipping samples\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
+ /* ds64 chunk size */
+ if(!read_uint32(e->fin, /*big_endian=*/false, &xx, e->inbasefilename))
+ return false;
+ data_bytes = xx;
+ if(data_bytes < 28) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: non-standard 'ds64' chunk has length = %u\n", e->inbasefilename, (uint32_t)data_bytes);
+ return false;
}
+ if(data_bytes & 1) /* should never happen, but enforce WAVE alignment rules */
+ data_bytes++;
- /* now read unaligned samples into reservoir or pad with zeroes if necessary */
- if(options.common.sector_align) {
- if(options.common.is_last_file) {
- unsigned int pad_frames= 588U-align_remainder;
-
- if(pad_frames<588U) {
- unsigned int i;
-
- info_align_zero= pad_frames;
- for(i= 0U; i<channels; ++i)
- memset(input_[i], 0, sizeof(input_[0][0])*pad_frames);
-
- if(!EncoderSession_process(&encoder_session, (const FLAC__int32 *const *)input_, pad_frames)) {
- print_error_with_state(&encoder_session, "ERROR during encoding");
- return EncoderSession_finish_error(&encoder_session);
- }
- }
- }
- else {
- if(*options.common.align_reservoir_samples > 0) {
- size_t bytes_read= fread(ucbuffer_, 1U, (*options.common.align_reservoir_samples)*bytes_per_frame, infile);
+ /* RIFF 64-bit size, lo/hi */
+ if(!read_uint32(e->fin, /*big_endian=*/false, &xx, e->inbasefilename))
+ return false;
+ if(!read_uint32(e->fin, /*big_endian=*/false, &xx, e->inbasefilename))
+ return false;
- FLAC__ASSERT(CHUNK_OF_SAMPLES>=588U);
- if(bytes_read==0U && ferror(infile)) {
- flac__utils_printf(stderr, 1, "%s: ERROR during read\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
- else if(bytes_read != (*options.common.align_reservoir_samples) * bytes_per_frame) {
- flac__utils_printf(stderr, 1, "%s: WARNING: unexpected EOF; read %u bytes; expected %u samples, got %u samples\n", encoder_session.inbasefilename, (unsigned int)bytes_read, (unsigned int)encoder_session.total_samples_to_encode, (unsigned int)encoder_session.samples_written);
- if(encoder_session.treat_warnings_as_errors)
- return EncoderSession_finish_error(&encoder_session);
- }
- else {
- info_align_carry= *options.common.align_reservoir_samples;
- if(!format_input(options.common.align_reservoir, *options.common.align_reservoir_samples, is_big_endian_pcm, /*is_unsigned_samples=*/false, channels, bps, shift, channel_map))
- return EncoderSession_finish_error(&encoder_session);
- }
- }
- }
- }
+ /* 'data' 64-bit size */
+ if(!read_uint64(e->fin, /*big_endian=*/false, &ds64_data_size, e->inbasefilename))
+ return false;
- if(pad==true) {
- unsigned char tmp;
+ data_bytes -= 16;
- if(fread(&tmp, 1U, 1U, infile)<1U) {
- flac__utils_printf(stderr, 1, "%s: ERROR during read of SSND pad byte\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
+ /* skip any extra data in the ds64 chunk */
+ if(!fskip_ahead(e->fin, data_bytes)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR during read while skipping over extra 'ds64' data\n", e->inbasefilename);
+ return false;
}
- got_ssnd_chunk= true;
+ got_ds64_chunk = true;
}
- else { /* other chunk */
- if(!options.foreign_metadata) {
- if(!memcmp(chunk_id, "COMM", 4))
- flac__utils_printf(stderr, 1, "%s: WARNING: skipping extra 'COMM' chunk (use --keep-foreign-metadata to keep)\n", encoder_session.inbasefilename);
- else if(!memcmp(chunk_id, "SSND", 4))
- flac__utils_printf(stderr, 1, "%s: WARNING: skipping extra 'SSND' chunk (use --keep-foreign-metadata to keep)\n", encoder_session.inbasefilename);
- else if(!options.foreign_metadata)
- flac__utils_printf(stderr, 1, "%s: WARNING: skipping unknown chunk '%s' (use --keep-foreign-metadata to keep)\n", encoder_session.inbasefilename, chunk_id);
- if(encoder_session.treat_warnings_as_errors)
- return EncoderSession_finish_error(&encoder_session);
- }
-
- /* chunk size */
- if(!read_big_endian_uint32(infile, &xx, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
- else {
- unsigned long skip= xx+(xx & 1U);
-
- FLAC__ASSERT(skip<=LONG_MAX);
- if(!fskip_ahead(infile, skip)) {
- fprintf(stderr, "%s: ERROR during read while skipping over unknown chunk\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
+ else if(
+ !memcmp(chunk_id, "fmt ", 4) &&
+ (e->format!=FORMAT_WAVE64 || !memcmp(chunk_id, "fmt \xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 16))
+ ) { /* format chunk */
+ FLAC__uint16 x;
+ FLAC__uint32 xx, data_bytes;
+ FLAC__uint16 wFormatTag; /* wFormatTag word from the 'fmt ' chunk */
+
+ if(got_fmt_chunk) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: file has multiple 'fmt ' chunks\n", e->inbasefilename);
+ return false;
}
- }
- }
-
- if(got_ssnd_chunk==false && sample_frames!=0U) {
- flac__utils_printf(stderr, 1, "%s: ERROR: missing SSND chunk\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
-
- return EncoderSession_finish_ok(&encoder_session, info_align_carry, info_align_zero, options.foreign_metadata);
-}
-
-int flac__encode_wav(FILE *infile, off_t infilesize, const char *infilename, const char *outfilename, const FLAC__byte *lookahead, unsigned lookahead_length, wav_encode_options_t options)
-{
- EncoderSession encoder_session;
- FLAC__bool is_unsigned_samples = false;
- unsigned channels = 0, bps = 0, sample_rate = 0, shift = 0;
- size_t bytes_read;
- size_t channel_map[FLAC__MAX_CHANNELS];
- FLAC__uint16 x, format; /* format is the wFormatTag word from the 'fmt ' chunk */
- FLAC__uint32 xx, channel_mask = 0;
- FLAC__bool got_fmt_chunk = false, got_data_chunk = false;
- unsigned align_remainder = 0;
- int info_align_carry = -1, info_align_zero = -1;
-
- (void)infilesize;
- (void)lookahead;
- (void)lookahead_length;
-
- if(!
- EncoderSession_construct(
- &encoder_session,
-#if FLAC__HAS_OGG
- options.common.use_ogg,
-#else
- /*use_ogg=*/false,
-#endif
- options.common.verify,
- options.common.treat_warnings_as_errors,
- options.common.continue_through_decode_errors,
- infile,
- infilename,
- outfilename
- )
- )
- return 1;
-
- /* initialize default channel map that preserves channel order */
- {
- size_t i;
- for(i = 0; i < sizeof(channel_map)/sizeof(channel_map[0]); i++)
- channel_map[i] = i;
- }
-
- if(options.foreign_metadata) {
- const char *error;
- if(!flac__foreign_metadata_read_from_wave(options.foreign_metadata, infilename, &error)) {
- flac__utils_printf(stderr, 1, "%s: ERROR reading foreign metadata: %s\n", encoder_session.inbasefilename, error);
- return EncoderSession_finish_error(&encoder_session);
- }
- }
-
- /*
- * lookahead[] already has "RIFFxxxxWAVE", do sub-chunks
- */
- while(!feof(infile)) {
- if(!read_little_endian_uint32(infile, &xx, true, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
- if(feof(infile))
- break;
- if(xx == 0x20746d66 && !got_fmt_chunk) { /* "fmt " */
- unsigned block_align, data_bytes;
/* see
* http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html
@@ -673,7 +282,7 @@ int flac__encode_wav(FILE *infile, off_t infilesize, const char *infilename, con
* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/audio_r/hh/Audio_r/aud-prop_d40f094e-44f9-4baa-8a15-03e4fb369501.xml.asp
*
* WAVEFORMAT is
- * 4 byte: subchunk size
+ * 4 byte: chunk size
* 2 byte: format type: 1 for WAVE_FORMAT_PCM, 65534 for WAVE_FORMAT_EXTENSIBLE
* 2 byte: # channels
* 4 byte: sample rate (Hz)
@@ -695,910 +304,1071 @@ int flac__encode_wav(FILE *infile, off_t infilesize, const char *infilename, con
* If the channel mask has more set bits than # of channels, the extra MSBs are ignored.
* If the channel mask has less set bits than # of channels, the extra channels are unassigned to any speaker.
*
- * Data is supposed to be unsigned for bps <= 8 else signed.
+ * Data is supposed to be uint32_t for bps <= 8 else signed.
*/
- /* fmt sub-chunk size */
- if(!read_little_endian_uint32(infile, &xx, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
+ /* fmt chunk size */
+ if(!read_uint32(e->fin, /*big_endian=*/false, &xx, e->inbasefilename))
+ return false;
data_bytes = xx;
- if(data_bytes < 16) {
- flac__utils_printf(stderr, 1, "%s: ERROR: found non-standard 'fmt ' sub-chunk which has length = %u\n", encoder_session.inbasefilename, data_bytes);
- return EncoderSession_finish_error(&encoder_session);
+ if(e->format == FORMAT_WAVE64) {
+ /* other half of the size field should be 0 */
+ if(!read_uint32(e->fin, /*big_endian=*/false, &xx, e->inbasefilename))
+ return false;
+ if(xx) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: freakishly large Wave64 'fmt ' chunk has length = 0x%08X%08X\n", e->inbasefilename, (uint32_t)xx, (uint32_t)data_bytes);
+ return false;
+ }
+ /* subtract size of header */
+ if (data_bytes < 16+8) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: freakishly small Wave64 'fmt ' chunk has length = 0x%08X%08X\n", e->inbasefilename, (uint32_t)xx, (uint32_t)data_bytes);
+ return false;
+ }
+ data_bytes -= (16+8);
}
- /* format code */
- if(!read_little_endian_uint16(infile, &format, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
- if(format != 1 /*WAVE_FORMAT_PCM*/ && format != 65534 /*WAVE_FORMAT_EXTENSIBLE*/) {
- flac__utils_printf(stderr, 1, "%s: ERROR: unsupported format type %u\n", encoder_session.inbasefilename, (unsigned)format);
- return EncoderSession_finish_error(&encoder_session);
+ if(data_bytes < 16 || data_bytes > (UINT32_MAX-8)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: non-standard 'fmt ' chunk has length = %u\n", e->inbasefilename, (uint32_t)data_bytes);
+ return false;
}
- /* number of channels */
- if(!read_little_endian_uint16(infile, &x, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
- channels = (unsigned)x;
- if(channels == 0 || channels > FLAC__MAX_CHANNELS) {
- flac__utils_printf(stderr, 1, "%s: ERROR: unsupported number of channels %u\n", encoder_session.inbasefilename, channels);
- return EncoderSession_finish_error(&encoder_session);
+ if(e->format != FORMAT_WAVE64) {
+ if(data_bytes & 1) /* should never happen, but enforce WAVE alignment rules */
+ data_bytes++;
}
- else if(options.common.sector_align && channels != 2) {
- flac__utils_printf(stderr, 1, "%s: ERROR: file has %u channels, must be 2 for --sector-align\n", encoder_session.inbasefilename, channels);
- return EncoderSession_finish_error(&encoder_session);
+ else { /* Wave64 */
+ data_bytes = (data_bytes+7) & (~7u); /* should never happen, but enforce Wave64 alignment rules */
+ }
+
+ /* format code */
+ if(!read_uint16(e->fin, /*big_endian=*/false, &wFormatTag, e->inbasefilename))
+ return false;
+ if(wFormatTag != 1 /*WAVE_FORMAT_PCM*/ && wFormatTag != 65534 /*WAVE_FORMAT_EXTENSIBLE*/) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: unsupported format type %u\n", e->inbasefilename, (uint32_t)wFormatTag);
+ return false;
}
+
+ /* number of channels */
+ if(!read_uint16(e->fin, /*big_endian=*/false, &x, e->inbasefilename))
+ return false;
+ channels = (uint32_t)x;
+
/* sample rate */
- if(!read_little_endian_uint32(infile, &xx, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
+ if(!read_uint32(e->fin, /*big_endian=*/false, &xx, e->inbasefilename))
+ return false;
sample_rate = xx;
- if(!FLAC__format_sample_rate_is_valid(sample_rate)) {
- flac__utils_printf(stderr, 1, "%s: ERROR: unsupported sample rate %u\n", encoder_session.inbasefilename, sample_rate);
- return EncoderSession_finish_error(&encoder_session);
- }
- else if(options.common.sector_align && sample_rate != 44100) {
- flac__utils_printf(stderr, 1, "%s: ERROR: file's sample rate is %u, must be 44100 for --sector-align\n", encoder_session.inbasefilename, sample_rate);
- return EncoderSession_finish_error(&encoder_session);
- }
+
/* avg bytes per second (ignored) */
- if(!read_little_endian_uint32(infile, &xx, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
+ if(!read_uint32(e->fin, /*big_endian=*/false, &xx, e->inbasefilename))
+ return false;
/* block align */
- if(!read_little_endian_uint16(infile, &x, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
- block_align = (unsigned)x;
+ if(!read_uint16(e->fin, /*big_endian=*/false, &x, e->inbasefilename))
+ return false;
+ block_align = x;
/* bits per sample */
- if(!read_little_endian_uint16(infile, &x, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
- bps = (unsigned)x;
- is_unsigned_samples = (bps <= 8);
- if(format == 1) {
+ if(!read_uint16(e->fin, /*big_endian=*/false, &x, e->inbasefilename))
+ return false;
+ bps = (uint32_t)x;
+
+ e->info.is_unsigned_samples = (bps <= 8);
+
+ if(wFormatTag == 1) {
if(bps != 8 && bps != 16) {
if(bps == 24 || bps == 32) {
/* let these slide with a warning since they're unambiguous */
- flac__utils_printf(stderr, 1, "%s: WARNING: legacy WAVE file has format type %u but bits-per-sample=%u\n", encoder_session.inbasefilename, (unsigned)format, bps);
- if(encoder_session.treat_warnings_as_errors)
- return EncoderSession_finish_error(&encoder_session);
+ flac__utils_printf(stderr, 1, "%s: WARNING: legacy WAVE file has format type %u but bits-per-sample=%u\n", e->inbasefilename, (uint32_t)wFormatTag, bps);
+ if(e->treat_warnings_as_errors)
+ return false;
}
else {
/* @@@ we could add an option to specify left- or right-justified blocks so we knew how to set 'shift' */
- flac__utils_printf(stderr, 1, "%s: ERROR: legacy WAVE file has format type %u but bits-per-sample=%u\n", encoder_session.inbasefilename, (unsigned)format, bps);
- return EncoderSession_finish_error(&encoder_session);
- }
- }
-#if 0 /* @@@ reinstate once we can get an answer about whether the samples are left- or right-justified */
- if((bps+7)/8 * channels == block_align) {
- if(bps % 8) {
- /* assume legacy file is byte aligned with some LSBs zero; this is double-checked in format_input() */
- flac__utils_printf(stderr, 1, "%s: WARNING: legacy WAVE file (format type %d) has block alignment=%u, bits-per-sample=%u, channels=%u\n", encoder_session.inbasefilename, (unsigned)format, block_align, bps, channels);
- if(encoder_session.treat_warnings_as_errors)
- return EncoderSession_finish_error(&encoder_session);
- shift = 8 - (bps % 8);
- bps += shift;
+ flac__utils_printf(stderr, 1, "%s: ERROR: legacy WAVE file has format type %u but bits-per-sample=%u\n", e->inbasefilename, (uint32_t)wFormatTag, bps);
+ return false;
}
- else
- shift = 0;
}
- else {
- flac__utils_printf(stderr, 1, "%s: ERROR: illegal WAVE file (format type %d) has block alignment=%u, bits-per-sample=%u, channels=%u\n", encoder_session.inbasefilename, (unsigned)format, block_align, bps, channels);
- return EncoderSession_finish_error(&encoder_session);
+ if((bps+7)/8 * channels != block_align) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: legacy WAVE file has block alignment=%u, bits-per-sample=%u, channels=%u\n", e->inbasefilename, (uint32_t)wFormatTag, block_align, bps, channels);
+ return false;
}
-#else
- shift = 0;
-#endif
- if(channels > 2 && !options.common.channel_map_none) {
- flac__utils_printf(stderr, 1, "%s: ERROR: WAVE has >2 channels but is not WAVE_FORMAT_EXTENSIBLE; cannot assign channels\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
+ if(channels > 2 && !options.channel_map_none) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: WAVE has >2 channels but is not WAVE_FORMAT_EXTENSIBLE; cannot assign channels\n", e->inbasefilename);
+ return false;
}
FLAC__ASSERT(data_bytes >= 16);
data_bytes -= 16;
}
else {
if(data_bytes < 40) {
- flac__utils_printf(stderr, 1, "%s: ERROR: invalid WAVEFORMATEXTENSIBLE chunk with size %u\n", encoder_session.inbasefilename, data_bytes);
- return EncoderSession_finish_error(&encoder_session);
+ flac__utils_printf(stderr, 1, "%s: ERROR: invalid WAVEFORMATEXTENSIBLE chunk with size %u\n", e->inbasefilename, (uint32_t)data_bytes);
+ return false;
}
/* cbSize */
- if(!read_little_endian_uint16(infile, &x, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
+ if(!read_uint16(e->fin, /*big_endian=*/false, &x, e->inbasefilename))
+ return false;
if(x < 22) {
- flac__utils_printf(stderr, 1, "%s: ERROR: invalid WAVEFORMATEXTENSIBLE chunk with cbSize %u\n", encoder_session.inbasefilename, (unsigned)x);
- return EncoderSession_finish_error(&encoder_session);
+ flac__utils_printf(stderr, 1, "%s: ERROR: invalid WAVEFORMATEXTENSIBLE chunk with cbSize %u\n", e->inbasefilename, (uint32_t)x);
+ return false;
}
/* valid bps */
- if(!read_little_endian_uint16(infile, &x, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
- if((unsigned)x > bps) {
- flac__utils_printf(stderr, 1, "%s: ERROR: invalid WAVEFORMATEXTENSIBLE chunk with wValidBitsPerSample (%u) > wBitsPerSample (%u)\n", encoder_session.inbasefilename, (unsigned)x, bps);
- return EncoderSession_finish_error(&encoder_session);
+ if(!read_uint16(e->fin, /*big_endian=*/false, &x, e->inbasefilename))
+ return false;
+ if((uint32_t)x > bps) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: invalid WAVEFORMATEXTENSIBLE chunk with wValidBitsPerSample (%u) > wBitsPerSample (%u)\n", e->inbasefilename, (uint32_t)x, bps);
+ return false;
}
- shift = bps - (unsigned)x;
+ shift = bps - (uint32_t)x;
/* channel mask */
- if(!read_little_endian_uint32(infile, &channel_mask, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
- /* for mono/stereo and unassigned channels, we fake the mask */
- if(channel_mask == 0) {
- if(channels == 1)
- channel_mask = 0x0001;
- else if(channels == 2)
- channel_mask = 0x0003;
- }
- /* set channel mapping */
- /* FLAC order follows SMPTE and WAVEFORMATEXTENSIBLE but with fewer channels, which are: */
- /* front left, front right, center, LFE, back left, back right, surround left, surround right */
- /* the default mapping is sufficient for 1-6 channels and 7-8 are currently unspecified anyway */
-#if 0
- /* @@@ example for dolby/vorbis order, for reference later in case it becomes important */
- if(
- options.common.channel_map_none ||
- channel_mask == 0x0001 || /* 1 channel: (mono) */
- channel_mask == 0x0003 || /* 2 channels: front left, front right */
- channel_mask == 0x0033 || /* 4 channels: front left, front right, back left, back right */
- channel_mask == 0x0603 /* 4 channels: front left, front right, side left, side right */
- ) {
- /* keep default channel order */
- }
- else if(
- channel_mask == 0x0007 || /* 3 channels: front left, front right, front center */
- channel_mask == 0x0037 || /* 5 channels: front left, front right, front center, back left, back right */
- channel_mask == 0x0607 /* 5 channels: front left, front right, front center, side left, side right */
- ) {
- /* to dolby order: front left, center, front right [, surround left, surround right ] */
- channel_map[1] = 2;
- channel_map[2] = 1;
- }
- else if(
- channel_mask == 0x003f || /* 6 channels: front left, front right, front center, LFE, back left, back right */
- channel_mask == 0x060f /* 6 channels: front left, front right, front center, LFE, side left, side right */
- ) {
- /* to dolby order: front left, center, front right, surround left, surround right, LFE */
- channel_map[1] = 2;
- channel_map[2] = 1;
- channel_map[3] = 5;
- channel_map[4] = 3;
- channel_map[5] = 4;
- }
-#else
- if(
- options.common.channel_map_none ||
- channel_mask == 0x0001 || /* 1 channel: (mono) */
- channel_mask == 0x0003 || /* 2 channels: front left, front right */
- channel_mask == 0x0007 || /* 3 channels: front left, front right, front center */
- channel_mask == 0x0033 || /* 4 channels: front left, front right, back left, back right */
- channel_mask == 0x0603 || /* 4 channels: front left, front right, side left, side right */
- channel_mask == 0x0037 || /* 5 channels: front left, front right, front center, back left, back right */
- channel_mask == 0x0607 || /* 5 channels: front left, front right, front center, side left, side right */
- channel_mask == 0x003f || /* 6 channels: front left, front right, front center, LFE, back left, back right */
- channel_mask == 0x060f /* 6 channels: front left, front right, front center, LFE, side left, side right */
- ) {
- /* keep default channel order */
- }
-#endif
- else {
- flac__utils_printf(stderr, 1, "%s: ERROR: WAVEFORMATEXTENSIBLE chunk with unsupported channel mask=0x%04X\n", encoder_session.inbasefilename, (unsigned)channel_mask);
- return EncoderSession_finish_error(&encoder_session);
- }
- if(!options.common.channel_map_none) {
- if(count_channel_mask_bits(channel_mask) < channels) {
- flac__utils_printf(stderr, 1, "%s: ERROR: WAVEFORMATEXTENSIBLE chunk: channel mask 0x%04X has unassigned channels (#channels=%u)\n", encoder_session.inbasefilename, (unsigned)channel_mask, channels);
- return EncoderSession_finish_error(&encoder_session);
- }
-#if 0
- /* supporting this is too difficult with channel mapping; e.g. what if mask is 0x003f but #channels=4?
- * there would be holes in the order that would have to be filled in, or the mask would have to be
- * limited and the logic above rerun to see if it still fits into the FLAC mapping.
- */
- else if(count_channel_mask_bits(channel_mask) > channels)
- channel_mask = limit_channel_mask(channel_mask, channels);
-#else
- else if(count_channel_mask_bits(channel_mask) > channels) {
- flac__utils_printf(stderr, 1, "%s: ERROR: WAVEFORMATEXTENSIBLE chunk: channel mask 0x%04X has extra bits for non-existant channels (#channels=%u)\n", encoder_session.inbasefilename, (unsigned)channel_mask, channels);
- return EncoderSession_finish_error(&encoder_session);
- }
-#endif
+ if(!read_uint32(e->fin, /*big_endian=*/false, &channel_mask, e->inbasefilename))
+ return false;
+
+ if(count_channel_mask_bits(channel_mask) > channels) {
+ flac__utils_printf(stderr, 1, "%s: WARNING: WAVEFORMATEXTENSIBLE chunk: channel mask 0x%04X has extra bits for non-existant channels (#channels=%u)\n", e->inbasefilename, (uint32_t)channel_mask, channels);
+ if(e->treat_warnings_as_errors)
+ return false;
}
/* first part of GUID */
- if(!read_little_endian_uint16(infile, &x, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
+ if(!read_uint16(e->fin, /*big_endian=*/false, &x, e->inbasefilename))
+ return false;
if(x != 1) {
- flac__utils_printf(stderr, 1, "%s: ERROR: unsupported WAVEFORMATEXTENSIBLE chunk with non-PCM format %u\n", encoder_session.inbasefilename, (unsigned)x);
- return EncoderSession_finish_error(&encoder_session);
+ flac__utils_printf(stderr, 1, "%s: ERROR: unsupported WAVEFORMATEXTENSIBLE chunk with non-PCM format %u\n", e->inbasefilename, (uint32_t)x);
+ return false;
}
data_bytes -= 26;
}
- if(bps-shift < 4 || bps-shift > 24) {
- flac__utils_printf(stderr, 1, "%s: ERROR: unsupported bits-per-sample %u\n", encoder_session.inbasefilename, bps-shift);
- return EncoderSession_finish_error(&encoder_session);
- }
- else if(options.common.sector_align && bps-shift != 16) {
- flac__utils_printf(stderr, 1, "%s: ERROR: file has %u bits-per-sample, must be 16 for --sector-align\n", encoder_session.inbasefilename, bps-shift);
- return EncoderSession_finish_error(&encoder_session);
- }
+ e->info.bytes_per_wide_sample = channels * (bps / 8);
- /* skip any extra data in the fmt sub-chunk */
- if(!fskip_ahead(infile, data_bytes)) {
- flac__utils_printf(stderr, 1, "%s: ERROR during read while skipping over extra 'fmt' data\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
+ /* skip any extra data in the fmt chunk */
+ if(!fskip_ahead(e->fin, data_bytes)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR during read while skipping over extra 'fmt' data\n", e->inbasefilename);
+ return false;
}
- /*
- * now that we know the sample rate, canonicalize the
- * --skip string to a number of samples:
- */
- flac__utils_canonicalize_skip_until_specification(&options.common.skip_specification, sample_rate);
- FLAC__ASSERT(options.common.skip_specification.value.samples >= 0);
- encoder_session.skip = (FLAC__uint64)options.common.skip_specification.value.samples;
- FLAC__ASSERT(!options.common.sector_align || encoder_session.skip == 0);
-
got_fmt_chunk = true;
}
- else if(xx == 0x61746164 && !got_data_chunk && got_fmt_chunk) { /* "data" */
- FLAC__uint64 total_samples_in_input, trim = 0;
- FLAC__bool pad = false;
- const size_t bytes_per_wide_sample = channels * (bps >> 3);
- unsigned data_bytes;
+ else if(
+ !memcmp(chunk_id, "data", 4) &&
+ (e->format!=FORMAT_WAVE64 || !memcmp(chunk_id, "data\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 16))
+ ) { /* data chunk */
+ FLAC__uint32 xx;
+ FLAC__uint64 data_bytes;
+
+ if(!got_fmt_chunk) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: got 'data' chunk before 'fmt' chunk\n", e->inbasefilename);
+ return false;
+ }
/* data size */
- if(!read_little_endian_uint32(infile, &xx, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
- if(options.common.ignore_chunk_sizes) {
- FLAC__ASSERT(!options.common.sector_align);
- data_bytes = (unsigned)(-(int)bytes_per_wide_sample); /* max out data_bytes; we'll use EOF as signal to stop reading */
- }
- else {
+ if(e->format != FORMAT_WAVE64) {
+ if(!read_uint32(e->fin, /*big_endian=*/false, &xx, e->inbasefilename))
+ return false;
data_bytes = xx;
- if(0 == data_bytes) {
- flac__utils_printf(stderr, 1, "%s: ERROR: 'data' subchunk has size of 0\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
- }
- pad = (data_bytes & 1U) ? true : false;
-
- /* *options.common.align_reservoir_samples will be 0 unless --sector-align is used */
- FLAC__ASSERT(options.common.sector_align || *options.common.align_reservoir_samples == 0);
- total_samples_in_input = data_bytes / bytes_per_wide_sample + *options.common.align_reservoir_samples;
-
- /*
- * now that we know the input size, canonicalize the
- * --until string to an absolute sample number:
- */
- if(!canonicalize_until_specification(&options.common.until_specification, encoder_session.inbasefilename, sample_rate, encoder_session.skip, total_samples_in_input))
- return EncoderSession_finish_error(&encoder_session);
- encoder_session.until = (FLAC__uint64)options.common.until_specification.value.samples;
- FLAC__ASSERT(!options.common.sector_align || encoder_session.until == 0);
-
- if(encoder_session.skip > 0) {
- if(!fskip_ahead(infile, encoder_session.skip * bytes_per_wide_sample)) {
- flac__utils_printf(stderr, 1, "%s: ERROR during read while skipping samples\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
- }
-
- data_bytes -= (unsigned)encoder_session.skip * bytes_per_wide_sample; /*@@@ WATCHOUT: 4GB limit */
- if(options.common.ignore_chunk_sizes) {
- encoder_session.total_samples_to_encode = 0;
- flac__utils_printf(stderr, 2, "(No runtime statistics possible; please wait for encoding to finish...)\n");
- FLAC__ASSERT(0 == encoder_session.until);
- }
- else {
- encoder_session.total_samples_to_encode = total_samples_in_input - encoder_session.skip;
- }
- if(encoder_session.until > 0) {
- trim = total_samples_in_input - encoder_session.until;
- FLAC__ASSERT(total_samples_in_input > 0);
- FLAC__ASSERT(!options.common.sector_align);
- data_bytes -= (unsigned int)trim * bytes_per_wide_sample;
- encoder_session.total_samples_to_encode -= trim;
- }
- if(options.common.sector_align) {
- align_remainder = (unsigned)(encoder_session.total_samples_to_encode % 588);
- if(options.common.is_last_file)
- encoder_session.total_samples_to_encode += (588-align_remainder); /* will pad with zeroes */
- else
- encoder_session.total_samples_to_encode -= align_remainder; /* will stop short and carry over to next file */
- }
-
- /* +44 for the size of the WAV headers; this is just an estimate for the progress indicator and doesn't need to be exact */
- encoder_session.unencoded_size = encoder_session.total_samples_to_encode * bytes_per_wide_sample + 44;
-
- if(!EncoderSession_init_encoder(&encoder_session, options.common, channel_mask, channels, bps-shift, sample_rate, options.foreign_metadata, /*flac_decoder_data=*/0))
- return EncoderSession_finish_error(&encoder_session);
-
- /*
- * first do any samples in the reservoir
- */
- if(options.common.sector_align && *options.common.align_reservoir_samples > 0) {
- if(!EncoderSession_process(&encoder_session, (const FLAC__int32 * const *)options.common.align_reservoir, *options.common.align_reservoir_samples)) {
- print_error_with_state(&encoder_session, "ERROR during encoding");
- return EncoderSession_finish_error(&encoder_session);
- }
}
-
- /*
- * decrement the data_bytes counter if we need to align the file
- */
- if(options.common.sector_align) {
- if(options.common.is_last_file) {
- *options.common.align_reservoir_samples = 0;
- }
- else {
- *options.common.align_reservoir_samples = align_remainder;
- data_bytes -= (*options.common.align_reservoir_samples) * bytes_per_wide_sample;
+ else { /* Wave64 */
+ if(!read_uint64(e->fin, /*big_endian=*/false, &data_bytes, e->inbasefilename))
+ return false;
+ /* subtract size of header */
+ if (data_bytes < 16+8) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: freakishly small Wave64 'data' chunk has length = 0x00000000%08X\n", e->inbasefilename, (uint32_t)data_bytes);
+ return false;
}
+ data_bytes -= (16+8);
}
-
- /*
- * now do from the file
- */
- while(data_bytes > 0) {
- bytes_read = fread(ucbuffer_, sizeof(unsigned char), min(data_bytes, CHUNK_OF_SAMPLES * bytes_per_wide_sample), infile);
- if(bytes_read == 0) {
- if(ferror(infile)) {
- flac__utils_printf(stderr, 1, "%s: ERROR during read\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
- else if(feof(infile)) {
- if(options.common.ignore_chunk_sizes) {
- flac__utils_printf(stderr, 1, "%s: INFO: hit EOF with --ignore-chunk-sizes, got %u samples\n", encoder_session.inbasefilename, (unsigned)encoder_session.samples_written);
- }
- else {
- flac__utils_printf(stderr, 1, "%s: WARNING: unexpected EOF; expected %u samples, got %u samples\n", encoder_session.inbasefilename, (unsigned)encoder_session.total_samples_to_encode, (unsigned)encoder_session.samples_written);
- if(encoder_session.treat_warnings_as_errors)
- return EncoderSession_finish_error(&encoder_session);
- }
- data_bytes = 0;
- }
- }
- else {
- if(bytes_read % bytes_per_wide_sample != 0) {
- flac__utils_printf(stderr, 1, "%s: ERROR: got partial sample\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
- else {
- unsigned wide_samples = bytes_read / bytes_per_wide_sample;
- if(!format_input(input_, wide_samples, /*is_big_endian=*/false, is_unsigned_samples, channels, bps, shift, channel_map))
- return EncoderSession_finish_error(&encoder_session);
-
- if(!EncoderSession_process(&encoder_session, (const FLAC__int32 * const *)input_, wide_samples)) {
- print_error_with_state(&encoder_session, "ERROR during encoding");
- return EncoderSession_finish_error(&encoder_session);
- }
- data_bytes -= bytes_read;
- }
+ if(e->format == FORMAT_RF64) {
+ if(!got_ds64_chunk) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: RF64 file has no 'ds64' chunk before 'data' chunk\n", e->inbasefilename);
+ return false;
}
+ if(data_bytes == 0xffffffff)
+ data_bytes = ds64_data_size;
}
-
- if(trim > 0) {
- FLAC__ASSERT(!options.common.sector_align);
- if(!fskip_ahead(infile, trim * bytes_per_wide_sample)) {
- flac__utils_printf(stderr, 1, "%s: ERROR during read while skipping samples\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
+ if(options.ignore_chunk_sizes) {
+ if(data_bytes) {
+ flac__utils_printf(stderr, 1, "%s: WARNING: 'data' chunk has non-zero size, using --ignore-chunk-sizes is probably a bad idea\n", e->inbasefilename, chunk_id);
+ if(e->treat_warnings_as_errors)
+ return false;
}
+ data_bytes = (FLAC__uint64)0 - (FLAC__uint64)e->info.bytes_per_wide_sample; /* max out data_bytes; we'll use EOF as signal to stop reading */
}
-
- /*
- * now read unaligned samples into reservoir or pad with zeroes if necessary
- */
- if(options.common.sector_align) {
- if(options.common.is_last_file) {
- unsigned wide_samples = 588 - align_remainder;
- if(wide_samples < 588) {
- unsigned channel;
-
- info_align_zero = wide_samples;
- for(channel = 0; channel < channels; channel++)
- memset(input_[channel], 0, sizeof(input_[0][0]) * wide_samples);
-
- if(!EncoderSession_process(&encoder_session, (const FLAC__int32 * const *)input_, wide_samples)) {
- print_error_with_state(&encoder_session, "ERROR during encoding");
- return EncoderSession_finish_error(&encoder_session);
- }
- }
- }
- else {
- if(*options.common.align_reservoir_samples > 0) {
- FLAC__ASSERT(CHUNK_OF_SAMPLES >= 588);
- bytes_read = fread(ucbuffer_, sizeof(unsigned char), (*options.common.align_reservoir_samples) * bytes_per_wide_sample, infile);
- if(bytes_read == 0 && ferror(infile)) {
- flac__utils_printf(stderr, 1, "%s: ERROR during read\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
- else if(bytes_read != (*options.common.align_reservoir_samples) * bytes_per_wide_sample) {
- flac__utils_printf(stderr, 1, "%s: WARNING: unexpected EOF; read %u bytes; expected %u samples, got %u samples\n", encoder_session.inbasefilename, (unsigned)bytes_read, (unsigned)encoder_session.total_samples_to_encode, (unsigned)encoder_session.samples_written);
- if(encoder_session.treat_warnings_as_errors)
- return EncoderSession_finish_error(&encoder_session);
- }
- else {
- info_align_carry = *options.common.align_reservoir_samples;
- if(!format_input(options.common.align_reservoir, *options.common.align_reservoir_samples, /*is_big_endian=*/false, is_unsigned_samples, channels, bps, shift, channel_map))
- return EncoderSession_finish_error(&encoder_session);
- }
- }
- }
+ else if(0 == data_bytes) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: 'data' chunk has size of 0\n", e->inbasefilename);
+ return false;
}
- if(pad == true) {
- unsigned char tmp;
-
- if(fread(&tmp, 1U, 1U, infile) < 1U) {
- flac__utils_printf(stderr, 1, "%s: ERROR during read of data pad byte\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
- }
+ e->fmt.iff.data_bytes = data_bytes;
got_data_chunk = true;
+ break;
}
else {
- if(xx == 0x61746164 && !got_fmt_chunk) { /* "data" */
- flac__utils_printf(stderr, 1, "%s: ERROR: got 'data' sub-chunk before 'fmt' sub-chunk\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
-
- if(!options.foreign_metadata) {
- if(xx == 0x20746d66 && got_fmt_chunk) /* "fmt " */
- flac__utils_printf(stderr, 1, "%s: WARNING: skipping extra 'fmt ' sub-chunk (use --keep-foreign-metadata to keep)\n", encoder_session.inbasefilename);
- else if(xx == 0x61746164) /* "data" */
- flac__utils_printf(stderr, 1, "%s: WARNING: skipping extra 'data' sub-chunk (use --keep-foreign-metadata to keep)\n", encoder_session.inbasefilename);
+ FLAC__uint32 xx;
+ FLAC__uint64 skip;
+ if(!options.format_options.iff.foreign_metadata) {
+ if(e->format != FORMAT_WAVE64)
+ flac__utils_printf(stderr, 1, "%s: WARNING: skipping unknown chunk '%s' (use --keep-foreign-metadata to keep)\n", e->inbasefilename, chunk_id);
else
- flac__utils_printf(stderr, 1, "%s: WARNING: skipping unknown sub-chunk '%c%c%c%c' (use --keep-foreign-metadata to keep)\n", encoder_session.inbasefilename, (char)(xx&255), (char)((xx>>8)&255), (char)((xx>>16)&255), (char)(xx>>24));
- if(encoder_session.treat_warnings_as_errors)
- return EncoderSession_finish_error(&encoder_session);
+ flac__utils_printf(stderr, 1, "%s: WARNING: skipping unknown chunk %02X%02X%02X%02X-%02X%02X-%02X%02X-%02X%02X-%02X%02X%02X%02X%02X%02X (use --keep-foreign-metadata to keep)\n",
+ e->inbasefilename,
+ (uint32_t)((const uint8_t *)chunk_id)[3],
+ (uint32_t)((const uint8_t *)chunk_id)[2],
+ (uint32_t)((const uint8_t *)chunk_id)[1],
+ (uint32_t)((const uint8_t *)chunk_id)[0],
+ (uint32_t)((const uint8_t *)chunk_id)[5],
+ (uint32_t)((const uint8_t *)chunk_id)[4],
+ (uint32_t)((const uint8_t *)chunk_id)[7],
+ (uint32_t)((const uint8_t *)chunk_id)[6],
+ (uint32_t)((const uint8_t *)chunk_id)[9],
+ (uint32_t)((const uint8_t *)chunk_id)[8],
+ (uint32_t)((const uint8_t *)chunk_id)[10],
+ (uint32_t)((const uint8_t *)chunk_id)[11],
+ (uint32_t)((const uint8_t *)chunk_id)[12],
+ (uint32_t)((const uint8_t *)chunk_id)[13],
+ (uint32_t)((const uint8_t *)chunk_id)[14],
+ (uint32_t)((const uint8_t *)chunk_id)[15]
+ );
+ if(e->treat_warnings_as_errors)
+ return false;
}
- /* sub-chunk size */
- if(!read_little_endian_uint32(infile, &xx, false, encoder_session.inbasefilename))
- return EncoderSession_finish_error(&encoder_session);
- else {
- unsigned long skip = xx+(xx & 1U);
-
- FLAC__ASSERT(skip<=LONG_MAX);
- if(!fskip_ahead(infile, skip)) {
- flac__utils_printf(stderr, 1, "%s: ERROR during read while skipping over unsupported sub-chunk\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
+ /* chunk size */
+ if(e->format != FORMAT_WAVE64) {
+ if(!read_uint32(e->fin, /*big_endian=*/false, &xx, e->inbasefilename))
+ return false;
+ skip = xx;
+ skip += skip & 1;
+ }
+ else { /* Wave64 */
+ if(!read_uint64(e->fin, /*big_endian=*/false, &skip, e->inbasefilename))
+ return false;
+ skip = (skip+7) & (~(FLAC__uint64)7);
+ /* subtract size of header */
+ if (skip < 16+8) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: freakishly small Wave64 chunk has length = 0x00000000%08X\n", e->inbasefilename, (uint32_t)skip);
+ return false;
+ }
+ skip -= (16+8);
+ }
+ if(skip) {
+ if(!fskip_ahead(e->fin, skip)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR during read while skipping over chunk\n", e->inbasefilename);
+ return false;
}
}
}
}
- return EncoderSession_finish_ok(&encoder_session, info_align_carry, info_align_zero, options.foreign_metadata);
+ if(!got_fmt_chunk) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: didn't find fmt chunk\n", e->inbasefilename);
+ return false;
+ }
+ if(!got_data_chunk) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: didn't find data chunk\n", e->inbasefilename);
+ return false;
+ }
+
+ e->info.sample_rate = sample_rate;
+ e->info.channels = channels;
+ e->info.bits_per_sample = bps;
+ e->info.shift = shift;
+ e->info.channel_mask = channel_mask;
+
+ return true;
}
-int flac__encode_raw(FILE *infile, off_t infilesize, const char *infilename, const char *outfilename, const FLAC__byte *lookahead, unsigned lookahead_length, raw_encode_options_t options)
+static FLAC__bool get_sample_info_aiff(EncoderSession *e, encode_options_t options)
{
- EncoderSession encoder_session;
- size_t bytes_read;
- const size_t bytes_per_wide_sample = options.channels * (options.bps >> 3);
- unsigned align_remainder = 0;
- int info_align_carry = -1, info_align_zero = -1;
- FLAC__uint64 total_samples_in_input = 0;
-
- FLAC__ASSERT(!options.common.sector_align || options.channels == 2);
- FLAC__ASSERT(!options.common.sector_align || options.bps == 16);
- FLAC__ASSERT(!options.common.sector_align || options.sample_rate == 44100);
- FLAC__ASSERT(!options.common.sector_align || infilesize >= 0);
- FLAC__ASSERT(!options.common.replay_gain || options.channels <= 2);
- FLAC__ASSERT(!options.common.replay_gain || grabbag__replaygain_is_valid_sample_frequency(options.sample_rate));
-
- if(!
- EncoderSession_construct(
- &encoder_session,
-#if FLAC__HAS_OGG
- options.common.use_ogg,
-#else
- /*use_ogg=*/false,
-#endif
- options.common.verify,
- options.common.treat_warnings_as_errors,
- options.common.continue_through_decode_errors,
- infile,
- infilename,
- outfilename
- )
- )
- return 1;
+ FLAC__bool got_comm_chunk = false, got_ssnd_chunk = false;
+ uint32_t sample_rate = 0, channels = 0, bps = 0, shift = 0;
+ FLAC__uint64 sample_frames = 0;
+ FLAC__uint32 channel_mask = 0;
+
+ e->info.is_unsigned_samples = false;
+ e->info.is_big_endian = true;
/*
- * now that we know the sample rate, canonicalize the
- * --skip string to a number of samples:
+ * lookahead[] already has "FORMxxxxAIFF", do chunks
*/
- flac__utils_canonicalize_skip_until_specification(&options.common.skip_specification, options.sample_rate);
- FLAC__ASSERT(options.common.skip_specification.value.samples >= 0);
- encoder_session.skip = (FLAC__uint64)options.common.skip_specification.value.samples;
- FLAC__ASSERT(!options.common.sector_align || encoder_session.skip == 0);
+ while(!feof(e->fin) && !got_ssnd_chunk) {
+ char chunk_id[5] = { '\0', '\0', '\0', '\0', '\0' }; /* one extra byte for terminating NUL so we can also treat it like a C string */
+ if(!read_bytes(e->fin, (FLAC__byte*)chunk_id, 4, /*eof_ok=*/true, e->inbasefilename)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: incomplete chunk identifier\n", e->inbasefilename);
+ return false;
+ }
+ if(feof(e->fin))
+ break;
- if(infilesize < 0)
- total_samples_in_input = 0;
- else {
- /* *options.common.align_reservoir_samples will be 0 unless --sector-align is used */
- FLAC__ASSERT(options.common.sector_align || *options.common.align_reservoir_samples == 0);
- total_samples_in_input = (FLAC__uint64)infilesize / bytes_per_wide_sample + *options.common.align_reservoir_samples;
- }
+ if(!memcmp(chunk_id, "COMM", 4)) { /* common chunk */
+ FLAC__uint16 x;
+ FLAC__uint32 xx;
+ uint64_t skip;
+ const FLAC__bool is_aifc = e->format == FORMAT_AIFF_C;
+ const FLAC__uint32 minimum_comm_size = (is_aifc? 22 : 18);
- /*
- * now that we know the input size, canonicalize the
- * --until strings to a number of samples:
- */
- if(!canonicalize_until_specification(&options.common.until_specification, encoder_session.inbasefilename, options.sample_rate, encoder_session.skip, total_samples_in_input))
- return EncoderSession_finish_error(&encoder_session);
- encoder_session.until = (FLAC__uint64)options.common.until_specification.value.samples;
- FLAC__ASSERT(!options.common.sector_align || encoder_session.until == 0);
-
- infilesize -= (off_t)encoder_session.skip * bytes_per_wide_sample;
- encoder_session.total_samples_to_encode = total_samples_in_input - encoder_session.skip;
- if(encoder_session.until > 0) {
- const FLAC__uint64 trim = total_samples_in_input - encoder_session.until;
- FLAC__ASSERT(total_samples_in_input > 0);
- FLAC__ASSERT(!options.common.sector_align);
- infilesize -= (off_t)trim * bytes_per_wide_sample;
- encoder_session.total_samples_to_encode -= trim;
- }
- if(infilesize >= 0 && options.common.sector_align) {
- FLAC__ASSERT(encoder_session.skip == 0);
- align_remainder = (unsigned)(encoder_session.total_samples_to_encode % 588);
- if(options.common.is_last_file)
- encoder_session.total_samples_to_encode += (588-align_remainder); /* will pad with zeroes */
- else
- encoder_session.total_samples_to_encode -= align_remainder; /* will stop short and carry over to next file */
- }
- encoder_session.unencoded_size = encoder_session.total_samples_to_encode * bytes_per_wide_sample;
+ if(got_comm_chunk) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: file has multiple 'COMM' chunks\n", e->inbasefilename);
+ return false;
+ }
- if(encoder_session.total_samples_to_encode <= 0)
- flac__utils_printf(stderr, 2, "(No runtime statistics possible; please wait for encoding to finish...)\n");
+ /* COMM chunk size */
+ if(!read_uint32(e->fin, /*big_endian=*/true, &xx, e->inbasefilename))
+ return false;
+ else if(xx < minimum_comm_size) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: non-standard %s 'COMM' chunk has length = %u\n", e->inbasefilename, is_aifc? "AIFF-C" : "AIFF", (uint32_t)xx);
+ return false;
+ }
+ else if(!is_aifc && xx != minimum_comm_size) {
+ flac__utils_printf(stderr, 1, "%s: WARNING: non-standard %s 'COMM' chunk has length = %u, expected %u\n", e->inbasefilename, is_aifc? "AIFF-C" : "AIFF", (uint32_t)xx, minimum_comm_size);
+ if(e->treat_warnings_as_errors)
+ return false;
+ }
+ skip = (xx-minimum_comm_size)+(xx & 1);
- if(encoder_session.skip > 0) {
- unsigned skip_bytes = bytes_per_wide_sample * (unsigned)encoder_session.skip;
- if(skip_bytes > lookahead_length) {
- skip_bytes -= lookahead_length;
- lookahead_length = 0;
- if(!fskip_ahead(infile, skip_bytes)) {
- flac__utils_printf(stderr, 1, "%s: ERROR during read while skipping samples\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
+ /* number of channels */
+ if(!read_uint16(e->fin, /*big_endian=*/true, &x, e->inbasefilename))
+ return false;
+ channels = (uint32_t)x;
+ if(channels > 2 && !options.channel_map_none) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: unsupported number of channels %u for AIFF\n", e->inbasefilename, channels);
+ return false;
}
- }
- else {
- lookahead += skip_bytes;
- lookahead_length -= skip_bytes;
- }
- }
- if(!EncoderSession_init_encoder(&encoder_session, options.common, /*channel_mask=*/0, options.channels, options.bps, options.sample_rate, /*foreign_metadata=*/0, /*flac_decoder_data=*/0))
- return EncoderSession_finish_error(&encoder_session);
+ /* number of sample frames */
+ if(!read_uint32(e->fin, /*big_endian=*/true, &xx, e->inbasefilename))
+ return false;
+ sample_frames = xx;
- /*
- * first do any samples in the reservoir
- */
- if(options.common.sector_align && *options.common.align_reservoir_samples > 0) {
- if(!EncoderSession_process(&encoder_session, (const FLAC__int32 * const *)options.common.align_reservoir, *options.common.align_reservoir_samples)) {
- print_error_with_state(&encoder_session, "ERROR during encoding");
- return EncoderSession_finish_error(&encoder_session);
- }
- }
+ /* bits per sample */
+ if(!read_uint16(e->fin, /*big_endian=*/true, &x, e->inbasefilename))
+ return false;
+ bps = (uint32_t)x;
+ shift = (bps%8)? 8-(bps%8) : 0; /* SSND data is always byte-aligned, left-justified but format_input() will double-check */
+ bps += shift;
- /*
- * decrement infilesize if we need to align the file
- */
- if(options.common.sector_align) {
- FLAC__ASSERT(infilesize >= 0);
- if(options.common.is_last_file) {
- *options.common.align_reservoir_samples = 0;
- }
- else {
- *options.common.align_reservoir_samples = align_remainder;
- infilesize -= (off_t)((*options.common.align_reservoir_samples) * bytes_per_wide_sample);
- FLAC__ASSERT(infilesize >= 0);
- }
- }
+ /* sample rate */
+ if(!read_sane_extended(e->fin, &xx, e->inbasefilename))
+ return false;
+ sample_rate = xx;
- /*
- * now do from the file
- */
- if(infilesize < 0) {
- while(!feof(infile)) {
- if(lookahead_length > 0) {
- FLAC__ASSERT(lookahead_length < CHUNK_OF_SAMPLES * bytes_per_wide_sample);
- memcpy(ucbuffer_, lookahead, lookahead_length);
- bytes_read = fread(ucbuffer_+lookahead_length, sizeof(unsigned char), CHUNK_OF_SAMPLES * bytes_per_wide_sample - lookahead_length, infile) + lookahead_length;
- if(ferror(infile)) {
- flac__utils_printf(stderr, 1, "%s: ERROR during read\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
+ /* check compression type for AIFF-C */
+ if(is_aifc) {
+ if(!read_uint32(e->fin, /*big_endian=*/true, &xx, e->inbasefilename))
+ return false;
+ if(xx == 0x736F7774) /* "sowt" */
+ e->info.is_big_endian = false;
+ else if(xx == 0x4E4F4E45) /* "NONE" */
+ ; /* nothing to do, we already default to big-endian */
+ else {
+ flac__utils_printf(stderr, 1, "%s: ERROR: can't handle AIFF-C compression type \"%c%c%c%c\"\n", e->inbasefilename, (char)(xx>>24), (char)((xx>>16)&8), (char)((xx>>8)&8), (char)(xx&8));
+ return false;
}
- lookahead_length = 0;
}
- else
- bytes_read = fread(ucbuffer_, sizeof(unsigned char), CHUNK_OF_SAMPLES * bytes_per_wide_sample, infile);
- if(bytes_read == 0) {
- if(ferror(infile)) {
- flac__utils_printf(stderr, 1, "%s: ERROR during read\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
- }
- else if(bytes_read % bytes_per_wide_sample != 0) {
- flac__utils_printf(stderr, 1, "%s: ERROR: got partial sample\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
+ /* set channel mapping */
+ /* FLAC order follows SMPTE and WAVEFORMATEXTENSIBLE but with fewer channels, which are: */
+ /* front left, front right, center, LFE, back left, back right, surround left, surround right */
+ /* specs say the channel ordering is:
+ * 1 2 3 4 5 6
+ * ___________________________________________________
+ * 2 stereo l r
+ * 3 l r c
+ * 4 l c r S
+ * quad (ambiguous with 4ch) Fl Fr Bl Br
+ * 5 Fl Fr Fc Sl Sr
+ * 6 l lc c r rc S
+ * l:left r:right c:center Fl:front-left Fr:front-right Bl:back-left Br:back-right Lc:left-center Rc:right-center S:surround
+ * so we only have unambiguous mappings for 2, 3, and 5 channels
+ */
+ if(
+ options.channel_map_none ||
+ channels == 1 || /* 1 channel: (mono) */
+ channels == 2 || /* 2 channels: left, right */
+ channels == 3 || /* 3 channels: left, right, center */
+ channels == 5 /* 5 channels: front left, front right, center, surround left, surround right */
+ ) {
+ /* keep default channel order */
}
else {
- unsigned wide_samples = bytes_read / bytes_per_wide_sample;
- if(!format_input(input_, wide_samples, options.is_big_endian, options.is_unsigned_samples, options.channels, options.bps, /*shift=*/0, /*channel_map=*/0))
- return EncoderSession_finish_error(&encoder_session);
+ flac__utils_printf(stderr, 1, "%s: ERROR: unsupported number of channels %u for AIFF\n", e->inbasefilename, channels);
+ return false;
+ }
- if(!EncoderSession_process(&encoder_session, (const FLAC__int32 * const *)input_, wide_samples)) {
- print_error_with_state(&encoder_session, "ERROR during encoding");
- return EncoderSession_finish_error(&encoder_session);
- }
+ e->info.bytes_per_wide_sample = channels * (bps / 8);
+
+ /* skip any extra data in the COMM chunk */
+ if(!fskip_ahead(e->fin, skip)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR during read while skipping over extra COMM data\n", e->inbasefilename);
+ return false;
}
+
+ got_comm_chunk = true;
}
- }
- else {
- const FLAC__uint64 max_input_bytes = infilesize;
- FLAC__uint64 total_input_bytes_read = 0;
- while(total_input_bytes_read < max_input_bytes) {
- {
- size_t wanted = (CHUNK_OF_SAMPLES * bytes_per_wide_sample);
- wanted = (size_t) min((FLAC__uint64)wanted, max_input_bytes - total_input_bytes_read);
-
- if(lookahead_length > 0) {
- FLAC__ASSERT(lookahead_length <= wanted);
- memcpy(ucbuffer_, lookahead, lookahead_length);
- wanted -= lookahead_length;
- bytes_read = lookahead_length;
- if(wanted > 0) {
- bytes_read += fread(ucbuffer_+lookahead_length, sizeof(unsigned char), wanted, infile);
- if(ferror(infile)) {
- flac__utils_printf(stderr, 1, "%s: ERROR during read\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
- }
- lookahead_length = 0;
- }
- else
- bytes_read = fread(ucbuffer_, sizeof(unsigned char), wanted, infile);
+ else if(!memcmp(chunk_id, "SSND", 4) && !got_ssnd_chunk) { /* sound data chunk */
+ FLAC__uint32 xx;
+ FLAC__uint64 data_bytes;
+ uint32_t offset = 0;
+
+ if(!got_comm_chunk) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: got 'SSND' chunk before 'COMM' chunk\n", e->inbasefilename);
+ return false;
}
- if(bytes_read == 0) {
- if(ferror(infile)) {
- flac__utils_printf(stderr, 1, "%s: ERROR during read\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
- else if(feof(infile)) {
- flac__utils_printf(stderr, 1, "%s: WARNING: unexpected EOF; expected %u samples, got %u samples\n", encoder_session.inbasefilename, (unsigned)encoder_session.total_samples_to_encode, (unsigned)encoder_session.samples_written);
- if(encoder_session.treat_warnings_as_errors)
- return EncoderSession_finish_error(&encoder_session);
- total_input_bytes_read = max_input_bytes;
+ /* SSND chunk size */
+ if(!read_uint32(e->fin, /*big_endian=*/true, &xx, e->inbasefilename))
+ return false;
+ data_bytes = xx;
+ if(options.ignore_chunk_sizes) {
+ if(data_bytes) {
+ flac__utils_printf(stderr, 1, "%s: WARNING: 'SSND' chunk has non-zero size, using --ignore-chunk-sizes is probably a bad idea\n", e->inbasefilename, chunk_id);
+ if(e->treat_warnings_as_errors)
+ return false;
}
+ data_bytes = (FLAC__uint64)0 - (FLAC__uint64)e->info.bytes_per_wide_sample; /* max out data_bytes; we'll use EOF as signal to stop reading */
+ }
+ else if(data_bytes <= 8) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: 'SSND' chunk has size <= 8\n", e->inbasefilename);
+ return false;
}
else {
- if(bytes_read % bytes_per_wide_sample != 0) {
- flac__utils_printf(stderr, 1, "%s: ERROR: got partial sample\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
- else {
- unsigned wide_samples = bytes_read / bytes_per_wide_sample;
- if(!format_input(input_, wide_samples, options.is_big_endian, options.is_unsigned_samples, options.channels, options.bps, /*shift=*/0, /*channel_map=*/0))
- return EncoderSession_finish_error(&encoder_session);
+ data_bytes -= 8; /* discount the offset and block size fields */
+ }
- if(!EncoderSession_process(&encoder_session, (const FLAC__int32 * const *)input_, wide_samples)) {
- print_error_with_state(&encoder_session, "ERROR during encoding");
- return EncoderSession_finish_error(&encoder_session);
- }
- total_input_bytes_read += bytes_read;
+ /* offset */
+ if(!read_uint32(e->fin, /*big_endian=*/true, &xx, e->inbasefilename))
+ return false;
+ offset = xx;
+ data_bytes -= offset;
+
+ /* block size */
+ if(!read_uint32(e->fin, /*big_endian=*/true, &xx, e->inbasefilename))
+ return false;
+ if(xx && !options.ignore_chunk_sizes)
+ data_bytes -= (xx - (data_bytes % xx));
+ if(options.ignore_chunk_sizes) {
+ if(xx) {
+ flac__utils_printf(stderr, 1, "%s: WARNING: 'SSND' chunk has non-zero blocksize, using --ignore-chunk-sizes is probably a bad idea\n", e->inbasefilename, chunk_id);
+ if(e->treat_warnings_as_errors)
+ return false;
}
}
- }
- }
- /*
- * now read unaligned samples into reservoir or pad with zeroes if necessary
- */
- if(options.common.sector_align) {
- if(options.common.is_last_file) {
- unsigned wide_samples = 588 - align_remainder;
- if(wide_samples < 588) {
- unsigned channel;
-
- info_align_zero = wide_samples;
- for(channel = 0; channel < options.channels; channel++)
- memset(input_[channel], 0, sizeof(input_[0][0]) * wide_samples);
-
- if(!EncoderSession_process(&encoder_session, (const FLAC__int32 * const *)input_, wide_samples)) {
- print_error_with_state(&encoder_session, "ERROR during encoding");
- return EncoderSession_finish_error(&encoder_session);
- }
+ /* skip any SSND offset bytes */
+ if(!fskip_ahead(e->fin, offset)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: skipping offset in SSND chunk\n", e->inbasefilename);
+ return false;
}
+
+ e->fmt.iff.data_bytes = data_bytes;
+
+ got_ssnd_chunk = true;
}
else {
- if(*options.common.align_reservoir_samples > 0) {
- FLAC__ASSERT(CHUNK_OF_SAMPLES >= 588);
- bytes_read = fread(ucbuffer_, sizeof(unsigned char), (*options.common.align_reservoir_samples) * bytes_per_wide_sample, infile);
- if(bytes_read == 0 && ferror(infile)) {
- flac__utils_printf(stderr, 1, "%s: ERROR during read\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
- else if(bytes_read != (*options.common.align_reservoir_samples) * bytes_per_wide_sample) {
- flac__utils_printf(stderr, 1, "%s: WARNING: unexpected EOF; read %u bytes; expected %u samples, got %u samples\n", encoder_session.inbasefilename, (unsigned)bytes_read, (unsigned)encoder_session.total_samples_to_encode, (unsigned)encoder_session.samples_written);
- if(encoder_session.treat_warnings_as_errors)
- return EncoderSession_finish_error(&encoder_session);
- }
- else {
- info_align_carry = *options.common.align_reservoir_samples;
- if(!format_input(options.common.align_reservoir, *options.common.align_reservoir_samples, options.is_big_endian, options.is_unsigned_samples, options.channels, options.bps, /*shift=*/0, /*channel_map=*/0))
- return EncoderSession_finish_error(&encoder_session);
+ FLAC__uint32 xx;
+ if(!options.format_options.iff.foreign_metadata) {
+ flac__utils_printf(stderr, 1, "%s: WARNING: skipping unknown chunk '%s' (use --keep-foreign-metadata to keep)\n", e->inbasefilename, chunk_id);
+ if(e->treat_warnings_as_errors)
+ return false;
+ }
+
+ /* chunk size */
+ if(!read_uint32(e->fin, /*big_endian=*/true, &xx, e->inbasefilename))
+ return false;
+ else {
+ uint64_t skip = xx + (xx & 1);
+
+ FLAC__ASSERT(skip <= LONG_MAX);
+ if(!fskip_ahead(e->fin, skip)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR during read while skipping over chunk\n", e->inbasefilename);
+ return false;
}
}
}
}
- return EncoderSession_finish_ok(&encoder_session, info_align_carry, info_align_zero, /*foreign_metadata=*/0);
-}
+ if(!got_comm_chunk) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: didn't find COMM chunk\n", e->inbasefilename);
+ return false;
+ }
+ if(!got_ssnd_chunk && sample_frames) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: didn't find SSND chunk\n", e->inbasefilename);
+ return false;
+ }
-int flac__encode_flac(FILE *infile, off_t infilesize, const char *infilename, const char *outfilename, const FLAC__byte *lookahead, unsigned lookahead_length, flac_encode_options_t options, FLAC__bool input_is_ogg)
-{
- EncoderSession encoder_session;
- FLAC__StreamDecoder *decoder = 0;
- FLACDecoderData decoder_data;
- size_t i;
- int retval;
-
- if(!
- EncoderSession_construct(
- &encoder_session,
-#if FLAC__HAS_OGG
- options.common.use_ogg,
-#else
- /*use_ogg=*/false,
-#endif
- options.common.verify,
- options.common.treat_warnings_as_errors,
- options.common.continue_through_decode_errors,
- infile,
- infilename,
- outfilename
- )
- )
- return 1;
+ e->info.sample_rate = sample_rate;
+ e->info.channels = channels;
+ e->info.bits_per_sample = bps;
+ e->info.shift = shift;
+ e->info.channel_mask = channel_mask;
- decoder_data.encoder_session = &encoder_session;
- decoder_data.filesize = (infilesize == (off_t)(-1)? 0 : infilesize);
- decoder_data.lookahead = lookahead;
- decoder_data.lookahead_length = lookahead_length;
- decoder_data.num_metadata_blocks = 0;
- decoder_data.samples_left_to_process = 0;
- decoder_data.fatal_error = false;
+ return true;
+}
- /*
- * set up FLAC decoder for the input
- */
- if (0 == (decoder = FLAC__stream_decoder_new())) {
- flac__utils_printf(stderr, 1, "%s: ERROR: creating decoder for FLAC input\n", encoder_session.inbasefilename);
- return EncoderSession_finish_error(&encoder_session);
- }
+static FLAC__bool get_sample_info_flac(EncoderSession *e)
+{
if (!(
- FLAC__stream_decoder_set_md5_checking(decoder, false) &&
- FLAC__stream_decoder_set_metadata_respond_all(decoder)
+ FLAC__stream_decoder_set_md5_checking(e->fmt.flac.decoder, false) &&
+ FLAC__stream_decoder_set_metadata_respond_all(e->fmt.flac.decoder)
)) {
- flac__utils_printf(stderr, 1, "%s: ERROR: setting up decoder for FLAC input\n", encoder_session.inbasefilename);
- goto fubar1; /*@@@ yuck */
+ flac__utils_printf(stderr, 1, "%s: ERROR: setting up decoder for FLAC input\n", e->inbasefilename);
+ return false;
}
- if (input_is_ogg) {
- if (FLAC__stream_decoder_init_ogg_stream(decoder, flac_decoder_read_callback, flac_decoder_seek_callback, flac_decoder_tell_callback, flac_decoder_length_callback, flac_decoder_eof_callback, flac_decoder_write_callback, flac_decoder_metadata_callback, flac_decoder_error_callback, /*client_data=*/&decoder_data) != FLAC__STREAM_DECODER_INIT_STATUS_OK) {
- flac__utils_printf(stderr, 1, "%s: ERROR: initializing decoder for Ogg FLAC input, state = %s\n", encoder_session.inbasefilename, FLAC__stream_decoder_get_resolved_state_string(decoder));
- goto fubar1; /*@@@ yuck */
+ if (e->format == FORMAT_OGGFLAC) {
+ if (FLAC__stream_decoder_init_ogg_stream(e->fmt.flac.decoder, flac_decoder_read_callback, flac_decoder_seek_callback, flac_decoder_tell_callback, flac_decoder_length_callback, flac_decoder_eof_callback, flac_decoder_write_callback, flac_decoder_metadata_callback, flac_decoder_error_callback, /*client_data=*/e) != FLAC__STREAM_DECODER_INIT_STATUS_OK) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: initializing decoder for Ogg FLAC input, state = %s\n", e->inbasefilename, FLAC__stream_decoder_get_resolved_state_string(e->fmt.flac.decoder));
+ return false;
}
}
- else if (FLAC__stream_decoder_init_stream(decoder, flac_decoder_read_callback, flac_decoder_seek_callback, flac_decoder_tell_callback, flac_decoder_length_callback, flac_decoder_eof_callback, flac_decoder_write_callback, flac_decoder_metadata_callback, flac_decoder_error_callback, /*client_data=*/&decoder_data) != FLAC__STREAM_DECODER_INIT_STATUS_OK) {
- flac__utils_printf(stderr, 1, "%s: ERROR: initializing decoder for FLAC input, state = %s\n", encoder_session.inbasefilename, FLAC__stream_decoder_get_resolved_state_string(decoder));
- goto fubar1; /*@@@ yuck */
+ else if (FLAC__stream_decoder_init_stream(e->fmt.flac.decoder, flac_decoder_read_callback, flac_decoder_seek_callback, flac_decoder_tell_callback, flac_decoder_length_callback, flac_decoder_eof_callback, flac_decoder_write_callback, flac_decoder_metadata_callback, flac_decoder_error_callback, /*client_data=*/e) != FLAC__STREAM_DECODER_INIT_STATUS_OK) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: initializing decoder for FLAC input, state = %s\n", e->inbasefilename, FLAC__stream_decoder_get_resolved_state_string(e->fmt.flac.decoder));
+ return false;
}
- if (!FLAC__stream_decoder_process_until_end_of_metadata(decoder) || decoder_data.fatal_error) {
- if (decoder_data.fatal_error)
- flac__utils_printf(stderr, 1, "%s: ERROR: out of memory or too many metadata blocks while reading metadata in FLAC input\n", encoder_session.inbasefilename);
+ if (!FLAC__stream_decoder_process_until_end_of_metadata(e->fmt.flac.decoder) || e->fmt.flac.client_data.fatal_error) {
+ if (e->fmt.flac.client_data.fatal_error)
+ flac__utils_printf(stderr, 1, "%s: ERROR: out of memory or too many metadata blocks while reading metadata in FLAC input\n", e->inbasefilename);
else
- flac__utils_printf(stderr, 1, "%s: ERROR: reading metadata in FLAC input, state = %s\n", encoder_session.inbasefilename, FLAC__stream_decoder_get_resolved_state_string(decoder));
- goto fubar1; /*@@@ yuck */
+ flac__utils_printf(stderr, 1, "%s: ERROR: reading metadata in FLAC input, state = %s\n", e->inbasefilename, FLAC__stream_decoder_get_resolved_state_string(e->fmt.flac.decoder));
+ return false;
}
- if (decoder_data.num_metadata_blocks == 0) {
- flac__utils_printf(stderr, 1, "%s: ERROR: reading metadata in FLAC input, got no metadata blocks\n", encoder_session.inbasefilename);
- goto fubar2; /*@@@ yuck */
+ if (e->fmt.flac.client_data.num_metadata_blocks == 0) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: reading metadata in FLAC input, got no metadata blocks\n", e->inbasefilename);
+ return false;
}
- else if (decoder_data.metadata_blocks[0]->type != FLAC__METADATA_TYPE_STREAMINFO) {
- flac__utils_printf(stderr, 1, "%s: ERROR: reading metadata in FLAC input, first metadata block is not STREAMINFO\n", encoder_session.inbasefilename);
- goto fubar2; /*@@@ yuck */
+ else if (e->fmt.flac.client_data.metadata_blocks[0]->type != FLAC__METADATA_TYPE_STREAMINFO) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: reading metadata in FLAC input, first metadata block is not STREAMINFO\n", e->inbasefilename);
+ return false;
}
- else if (decoder_data.metadata_blocks[0]->data.stream_info.total_samples == 0) {
- flac__utils_printf(stderr, 1, "%s: ERROR: FLAC input has STREAMINFO with unknown total samples which is not supported\n", encoder_session.inbasefilename);
- goto fubar2; /*@@@ yuck */
+ else if (e->fmt.flac.client_data.metadata_blocks[0]->data.stream_info.total_samples == 0) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: FLAC input has STREAMINFO with unknown total samples which is not supported\n", e->inbasefilename);
+ return false;
}
- /*
- * now that we have the STREAMINFO and know the sample rate,
- * canonicalize the --skip string to a number of samples:
- */
- flac__utils_canonicalize_skip_until_specification(&options.common.skip_specification, decoder_data.metadata_blocks[0]->data.stream_info.sample_rate);
- FLAC__ASSERT(options.common.skip_specification.value.samples >= 0);
- encoder_session.skip = (FLAC__uint64)options.common.skip_specification.value.samples;
- FLAC__ASSERT(!options.common.sector_align); /* --sector-align with FLAC input is not supported */
+ e->info.sample_rate = e->fmt.flac.client_data.metadata_blocks[0]->data.stream_info.sample_rate;
+ e->info.channels = e->fmt.flac.client_data.metadata_blocks[0]->data.stream_info.channels;
+ e->info.bits_per_sample = e->fmt.flac.client_data.metadata_blocks[0]->data.stream_info.bits_per_sample;
+ e->info.shift = 0;
+ e->info.bytes_per_wide_sample = 0;
+ e->info.is_unsigned_samples = false; /* not applicable for FLAC input */
+ e->info.is_big_endian = false; /* not applicable for FLAC input */
+ e->info.channel_mask = 0;
+
+ return true;
+}
+
+/*
+ * public routines
+ */
+int flac__encode_file(FILE *infile, FLAC__off_t infilesize, const char *infilename, const char *outfilename, const FLAC__byte *lookahead, uint32_t lookahead_length, encode_options_t options)
+{
+ EncoderSession encoder_session;
+ size_t channel_map[FLAC__MAX_CHANNELS];
+
+ if(!EncoderSession_construct(&encoder_session, options, infilesize, infile, infilename, outfilename, lookahead, lookahead_length))
+ return 1;
+
+ /* initialize default channel map that preserves channel order */
+ {
+ size_t i;
+ for(i = 0; i < sizeof(channel_map)/sizeof(channel_map[0]); i++)
+ channel_map[i] = i;
+ }
+
+ /* read foreign metadata if requested */
+ if(EncoderSession_format_is_iff(&encoder_session) && options.format_options.iff.foreign_metadata) {
+ const char *error;
+ if(!(
+ options.format == FORMAT_WAVE || options.format == FORMAT_RF64?
+ flac__foreign_metadata_read_from_wave(options.format_options.iff.foreign_metadata, infilename, &error) :
+ options.format == FORMAT_WAVE64?
+ flac__foreign_metadata_read_from_wave64(options.format_options.iff.foreign_metadata, infilename, &error) :
+ flac__foreign_metadata_read_from_aiff(options.format_options.iff.foreign_metadata, infilename, &error)
+ )) {
+ if(options.relaxed_foreign_metadata_handling) {
+ flac__utils_printf(stderr, 1, "%s: WARNING reading foreign metadata: %s\n", encoder_session.inbasefilename, error);
+ if(encoder_session.treat_warnings_as_errors)
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ else {
+ flac__utils_printf(stderr, 1, "%s: ERROR reading foreign metadata: %s\n", encoder_session.inbasefilename, error);
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ }
+ }
+
+ /* initialize encoder session with info about the audio (channels/bps/resolution/endianness/etc) */
+ switch(options.format) {
+ case FORMAT_RAW:
+ if(!get_sample_info_raw(&encoder_session, options))
+ return EncoderSession_finish_error(&encoder_session);
+ break;
+ case FORMAT_WAVE:
+ case FORMAT_WAVE64:
+ case FORMAT_RF64:
+ if(!get_sample_info_wave(&encoder_session, options))
+ return EncoderSession_finish_error(&encoder_session);
+ break;
+ case FORMAT_AIFF:
+ case FORMAT_AIFF_C:
+ if(!get_sample_info_aiff(&encoder_session, options))
+ return EncoderSession_finish_error(&encoder_session);
+ break;
+ case FORMAT_FLAC:
+ case FORMAT_OGGFLAC:
+ /*
+ * set up FLAC decoder for the input
+ */
+ if (0 == (encoder_session.fmt.flac.decoder = FLAC__stream_decoder_new())) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: creating decoder for FLAC input\n", encoder_session.inbasefilename);
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ if(!get_sample_info_flac(&encoder_session))
+ return EncoderSession_finish_error(&encoder_session);
+ break;
+ default:
+ FLAC__ASSERT(0);
+ /* double protection */
+ return EncoderSession_finish_error(&encoder_session);
+ }
+
+ /* some more checks */
+ if(encoder_session.info.channels == 0 || encoder_session.info.channels > FLAC__MAX_CHANNELS) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: unsupported number of channels %u\n", encoder_session.inbasefilename, encoder_session.info.channels);
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ if(!FLAC__format_sample_rate_is_valid(encoder_session.info.sample_rate)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: unsupported sample rate %u\n", encoder_session.inbasefilename, encoder_session.info.sample_rate);
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ if(encoder_session.info.bits_per_sample-encoder_session.info.shift < 4 || encoder_session.info.bits_per_sample-encoder_session.info.shift > 32) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: unsupported bits-per-sample %u\n", encoder_session.inbasefilename, encoder_session.info.bits_per_sample-encoder_session.info.shift);
+ return EncoderSession_finish_error(&encoder_session);
+ }
{
- FLAC__uint64 total_samples_in_input, trim = 0;
+ FLAC__uint64 total_samples_in_input; /* WATCHOUT: may be 0 to mean "unknown" */
+ FLAC__uint64 skip;
+ FLAC__uint64 until; /* a value of 0 mean end-of-stream (i.e. --until=-0) */
+ uint32_t consecutive_eos_count = 0;
+
+ switch(options.format) {
+ case FORMAT_RAW:
+ if(infilesize < 0)
+ total_samples_in_input = 0;
+ else
+ total_samples_in_input = (FLAC__uint64)infilesize / encoder_session.info.bytes_per_wide_sample;
+ break;
+ case FORMAT_WAVE:
+ case FORMAT_WAVE64:
+ case FORMAT_RF64:
+ case FORMAT_AIFF:
+ case FORMAT_AIFF_C:
+ /* truncation in the division removes any padding byte that was counted in encoder_session.fmt.iff.data_bytes */
+ total_samples_in_input = encoder_session.fmt.iff.data_bytes / encoder_session.info.bytes_per_wide_sample;
+
+ /* check for chunks trailing the audio data */
+ if(!options.ignore_chunk_sizes && !options.format_options.iff.foreign_metadata
+ && infilesize != (FLAC__off_t)(-1)) {
+ FLAC__off_t current_position = ftello(encoder_session.fin);
+ if(current_position > 0) {
+ FLAC__uint64 end_of_data_chunk = current_position + encoder_session.fmt.iff.data_bytes;
+ if(end_of_data_chunk < (FLAC__uint64)infilesize) {
+ flac__utils_printf(stderr, 1, "%s: WARNING: there is data trailing the audio data. Use --keep-foreign-metadata or --ignore-chunk-sizes to keep it\n", encoder_session.inbasefilename);
+ if(encoder_session.treat_warnings_as_errors)
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ else if(end_of_data_chunk > (FLAC__uint64)infilesize) {
+ flac__utils_printf(stderr, 1, "%s: WARNING: the length of the data chunk overruns the end of the file. Please consult the manual on the --ignore-chunk-sizes option\n", encoder_session.inbasefilename);
+ if(encoder_session.treat_warnings_as_errors)
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ }
+ }
+ break;
+ case FORMAT_FLAC:
+ case FORMAT_OGGFLAC:
+ total_samples_in_input = encoder_session.fmt.flac.client_data.metadata_blocks[0]->data.stream_info.total_samples;
+ break;
+ default:
+ FLAC__ASSERT(0);
+ /* double protection */
+ return EncoderSession_finish_error(&encoder_session);
+ }
- total_samples_in_input = decoder_data.metadata_blocks[0]->data.stream_info.total_samples;
+ /*
+ * now that we know the sample rate, canonicalize the
+ * --skip string to an absolute sample number:
+ */
+ if(!flac__utils_canonicalize_skip_until_specification(&options.skip_specification, encoder_session.info.sample_rate)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: value of --skip is too large\n", encoder_session.inbasefilename, encoder_session.info.bits_per_sample-encoder_session.info.shift);
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ FLAC__ASSERT(options.skip_specification.value.samples >= 0);
+ skip = (FLAC__uint64)options.skip_specification.value.samples;
/*
- * now that we know the input size, canonicalize the
+ * now that we possibly know the input size, canonicalize the
* --until string to an absolute sample number:
*/
- if(!canonicalize_until_specification(&options.common.until_specification, encoder_session.inbasefilename, decoder_data.metadata_blocks[0]->data.stream_info.sample_rate, encoder_session.skip, total_samples_in_input))
- goto fubar2; /*@@@ yuck */
- encoder_session.until = (FLAC__uint64)options.common.until_specification.value.samples;
-
- encoder_session.total_samples_to_encode = total_samples_in_input - encoder_session.skip;
- if(encoder_session.until > 0) {
- trim = total_samples_in_input - encoder_session.until;
+ if(!canonicalize_until_specification(&options.until_specification, encoder_session.inbasefilename, encoder_session.info.sample_rate, skip, total_samples_in_input))
+ return EncoderSession_finish_error(&encoder_session);
+ until = (FLAC__uint64)options.until_specification.value.samples;
+
+ /* adjust encoding parameters based on skip and until values */
+ switch(options.format) {
+ case FORMAT_RAW:
+ FLAC__ASSERT(sizeof(FLAC__off_t) == 8);
+ if(skip >= INT64_MAX / encoder_session.info.bytes_per_wide_sample) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: value of --skip is too large\n", encoder_session.inbasefilename, encoder_session.info.bits_per_sample-encoder_session.info.shift);
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ infilesize -= (FLAC__off_t)skip * encoder_session.info.bytes_per_wide_sample;
+ encoder_session.total_samples_to_encode = total_samples_in_input - skip;
+ break;
+ case FORMAT_WAVE:
+ case FORMAT_WAVE64:
+ case FORMAT_RF64:
+ case FORMAT_AIFF:
+ case FORMAT_AIFF_C:
+ FLAC__ASSERT(sizeof(FLAC__off_t) == 8);
+ if(skip >= INT64_MAX / encoder_session.info.bytes_per_wide_sample) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: value of --skip is too large\n", encoder_session.inbasefilename, encoder_session.info.bits_per_sample-encoder_session.info.shift);
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ encoder_session.fmt.iff.data_bytes -= skip * encoder_session.info.bytes_per_wide_sample;
+ if(options.ignore_chunk_sizes) {
+ encoder_session.total_samples_to_encode = 0;
+ FLAC__ASSERT(0 == until);
+ }
+ else {
+ encoder_session.total_samples_to_encode = total_samples_in_input - skip;
+ }
+ break;
+ case FORMAT_FLAC:
+ case FORMAT_OGGFLAC:
+ encoder_session.total_samples_to_encode = total_samples_in_input - skip;
+ break;
+ default:
+ FLAC__ASSERT(0);
+ /* double protection */
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ if(until > 0) {
+ const FLAC__uint64 trim = total_samples_in_input - until;
FLAC__ASSERT(total_samples_in_input > 0);
+ if(options.format == FORMAT_RAW)
+ infilesize -= (FLAC__off_t)trim * encoder_session.info.bytes_per_wide_sample;
+ else if(EncoderSession_format_is_iff(&encoder_session))
+ encoder_session.fmt.iff.data_bytes -= trim * encoder_session.info.bytes_per_wide_sample;
encoder_session.total_samples_to_encode -= trim;
}
+ switch(options.format) {
+ case FORMAT_RAW:
+ encoder_session.unencoded_size = encoder_session.total_samples_to_encode * encoder_session.info.bytes_per_wide_sample;
+ break;
+ case FORMAT_WAVE:
+ /* +44 for the size of the WAVE headers; this is just an estimate for the progress indicator and doesn't need to be exact */
+ encoder_session.unencoded_size = encoder_session.total_samples_to_encode * encoder_session.info.bytes_per_wide_sample + 44;
+ break;
+ case FORMAT_WAVE64:
+ /* +44 for the size of the WAVE headers; this is just an estimate for the progress indicator and doesn't need to be exact */
+ encoder_session.unencoded_size = encoder_session.total_samples_to_encode * encoder_session.info.bytes_per_wide_sample + 104;
+ break;
+ case FORMAT_RF64:
+ /* +72 for the size of the RF64 headers; this is just an estimate for the progress indicator and doesn't need to be exact */
+ encoder_session.unencoded_size = encoder_session.total_samples_to_encode * encoder_session.info.bytes_per_wide_sample + 80;
+ break;
+ case FORMAT_AIFF:
+ case FORMAT_AIFF_C:
+ /* +54 for the size of the AIFF headers; this is just an estimate for the progress indicator and doesn't need to be exact */
+ encoder_session.unencoded_size = encoder_session.total_samples_to_encode * encoder_session.info.bytes_per_wide_sample + 54;
+ break;
+ case FORMAT_FLAC:
+ case FORMAT_OGGFLAC:
+ if(infilesize < 0)
+ /* if we don't know, use 0 as hint to progress indicator (which is the only place this is used): */
+ encoder_session.unencoded_size = 0;
+ else if(skip == 0 && until == 0)
+ encoder_session.unencoded_size = (FLAC__uint64)infilesize;
+ else if(total_samples_in_input)
+ encoder_session.unencoded_size = (FLAC__uint64)infilesize * encoder_session.total_samples_to_encode / total_samples_in_input;
+ else
+ encoder_session.unencoded_size = (FLAC__uint64)infilesize;
+ break;
+ default:
+ FLAC__ASSERT(0);
+ /* double protection */
+ return EncoderSession_finish_error(&encoder_session);
+ }
+
+ if(encoder_session.total_samples_to_encode == 0) {
+ encoder_session.unencoded_size = 0;
+ flac__utils_printf(stderr, 2, "(No runtime statistics possible; please wait for encoding to finish...)\n");
+ }
- encoder_session.unencoded_size = decoder_data.filesize;
+ if(options.format == FORMAT_FLAC || options.format == FORMAT_OGGFLAC)
+ encoder_session.fmt.flac.client_data.samples_left_to_process = encoder_session.total_samples_to_encode;
- /* (channel mask will get copied over from the source VORBIS_COMMENT if it exists) */
- if(!EncoderSession_init_encoder(&encoder_session, options.common, /*channel_mask=*/0, decoder_data.metadata_blocks[0]->data.stream_info.channels, decoder_data.metadata_blocks[0]->data.stream_info.bits_per_sample, decoder_data.metadata_blocks[0]->data.stream_info.sample_rate, /*foreign_metadata=*/0, &decoder_data))
- goto fubar2; /*@@@ yuck */
+ stats_new_file();
+ /* init the encoder */
+ if(!EncoderSession_init_encoder(&encoder_session, options))
+ return EncoderSession_finish_error(&encoder_session);
- /*
- * have to wait until the FLAC encoder is set up for writing
- * before any seeking in the input FLAC file, because the seek
- * itself will usually call the decoder's write callback, and
- * our decoder's write callback passes samples to our FLAC
- * encoder
- */
- decoder_data.samples_left_to_process = encoder_session.total_samples_to_encode;
- if(encoder_session.skip > 0) {
- if(!FLAC__stream_decoder_seek_absolute(decoder, encoder_session.skip)) {
- flac__utils_printf(stderr, 1, "%s: ERROR while skipping samples, FLAC decoder state = %s\n", encoder_session.inbasefilename, FLAC__stream_decoder_get_resolved_state_string(decoder));
- goto fubar2; /*@@@ yuck */
+ /* skip over any samples as requested */
+ if(skip > 0) {
+ switch(options.format) {
+ case FORMAT_RAW:
+ {
+ uint32_t skip_bytes = encoder_session.info.bytes_per_wide_sample * (uint32_t)skip;
+ if(skip_bytes > lookahead_length) {
+ skip_bytes -= lookahead_length;
+ lookahead_length = 0;
+ if(!fskip_ahead(encoder_session.fin, skip_bytes)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR during read while skipping samples\n", encoder_session.inbasefilename);
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ }
+ else {
+ lookahead += skip_bytes;
+ lookahead_length -= skip_bytes;
+ }
+ }
+ break;
+ case FORMAT_WAVE:
+ case FORMAT_WAVE64:
+ case FORMAT_RF64:
+ case FORMAT_AIFF:
+ case FORMAT_AIFF_C:
+ if(!fskip_ahead(encoder_session.fin, skip * encoder_session.info.bytes_per_wide_sample)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR during read while skipping samples\n", encoder_session.inbasefilename);
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ break;
+ case FORMAT_FLAC:
+ case FORMAT_OGGFLAC:
+ /*
+ * have to wait until the FLAC encoder is set up for writing
+ * before any seeking in the input FLAC file, because the seek
+ * itself will usually call the decoder's write callback, and
+ * our decoder's write callback passes samples to our FLAC
+ * encoder
+ */
+ if(!FLAC__stream_decoder_seek_absolute(encoder_session.fmt.flac.decoder, skip)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR while skipping samples, FLAC decoder state = %s\n", encoder_session.inbasefilename, FLAC__stream_decoder_get_resolved_state_string(encoder_session.fmt.flac.decoder));
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ break;
+ default:
+ FLAC__ASSERT(0);
+ /* double protection */
+ return EncoderSession_finish_error(&encoder_session);
}
}
/*
* now do samples from the file
*/
- while(!decoder_data.fatal_error && decoder_data.samples_left_to_process > 0) {
- /* We can also hit the end of stream without samples_left_to_process
- * going to 0 if there are errors and continue_through_decode_errors
- * is on, so we want to break in that case too:
- */
- if(encoder_session.continue_through_decode_errors && FLAC__stream_decoder_get_state(decoder) == FLAC__STREAM_DECODER_END_OF_STREAM)
+ switch(options.format) {
+ case FORMAT_RAW:
+ if(infilesize < 0) {
+ size_t bytes_read;
+ while(!feof(infile)) {
+ if(lookahead_length > 0) {
+ FLAC__ASSERT(lookahead_length < CHUNK_OF_SAMPLES * encoder_session.info.bytes_per_wide_sample);
+ memcpy(ubuffer.u8, lookahead, lookahead_length);
+ bytes_read = fread(ubuffer.u8+lookahead_length, sizeof(uint8_t), CHUNK_OF_SAMPLES * encoder_session.info.bytes_per_wide_sample - lookahead_length, infile) + lookahead_length;
+ if(ferror(infile)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR during read\n", encoder_session.inbasefilename);
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ lookahead_length = 0;
+ }
+ else
+ bytes_read = fread(ubuffer.u8, sizeof(uint8_t), CHUNK_OF_SAMPLES * encoder_session.info.bytes_per_wide_sample, infile);
+
+ if(bytes_read == 0) {
+ if(ferror(infile)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR during read\n", encoder_session.inbasefilename);
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ }
+ else if(bytes_read % encoder_session.info.bytes_per_wide_sample != 0) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: got partial sample\n", encoder_session.inbasefilename);
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ else {
+ uint32_t wide_samples = bytes_read / encoder_session.info.bytes_per_wide_sample;
+ if(!format_input(input_, wide_samples, encoder_session.info.is_big_endian, encoder_session.info.is_unsigned_samples, encoder_session.info.channels, encoder_session.info.bits_per_sample, encoder_session.info.shift, channel_map))
+ return EncoderSession_finish_error(&encoder_session);
+
+ if(!EncoderSession_process(&encoder_session, (const FLAC__int32 * const *)input_, wide_samples)) {
+ print_error_with_state(&encoder_session, "ERROR during encoding");
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ }
+ }
+ }
+ else {
+ size_t bytes_read;
+ const FLAC__uint64 max_input_bytes = infilesize;
+ FLAC__uint64 total_input_bytes_read = 0;
+ while(total_input_bytes_read < max_input_bytes) {
+ {
+ size_t wanted = (CHUNK_OF_SAMPLES * encoder_session.info.bytes_per_wide_sample);
+ wanted = (size_t) min((FLAC__uint64)wanted, max_input_bytes - total_input_bytes_read);
+
+ if(lookahead_length > 0) {
+ if(lookahead_length <= wanted) {
+ memcpy(ubuffer.u8, lookahead, lookahead_length);
+ wanted -= lookahead_length;
+ bytes_read = lookahead_length;
+ }
+ else {
+ /* This happens when --until is used on a very short file */
+ FLAC__ASSERT(lookahead_length < CHUNK_OF_SAMPLES * encoder_session.info.bytes_per_wide_sample);
+ memcpy(ubuffer.u8, lookahead, wanted);
+ wanted = 0;
+ bytes_read = wanted;
+ }
+ if(wanted > 0) {
+ bytes_read += fread(ubuffer.u8+lookahead_length, sizeof(uint8_t), wanted, infile);
+ if(ferror(infile)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR during read\n", encoder_session.inbasefilename);
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ }
+ lookahead_length = 0;
+ }
+ else
+ bytes_read = fread(ubuffer.u8, sizeof(uint8_t), wanted, infile);
+ }
+
+ if(bytes_read == 0) {
+ if(ferror(infile)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR during read\n", encoder_session.inbasefilename);
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ else if(feof(infile)) {
+ flac__utils_printf(stderr, 1, "%s: WARNING: unexpected EOF; expected %" PRIu64 " samples, got %" PRIu64 " samples\n", encoder_session.inbasefilename, encoder_session.total_samples_to_encode, encoder_session.samples_written);
+ if(encoder_session.treat_warnings_as_errors)
+ return EncoderSession_finish_error(&encoder_session);
+ total_input_bytes_read = max_input_bytes;
+ }
+ }
+ else {
+ if(bytes_read % encoder_session.info.bytes_per_wide_sample != 0) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: got partial sample\n", encoder_session.inbasefilename);
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ else {
+ uint32_t wide_samples = bytes_read / encoder_session.info.bytes_per_wide_sample;
+ if(!format_input(input_, wide_samples, encoder_session.info.is_big_endian, encoder_session.info.is_unsigned_samples, encoder_session.info.channels, encoder_session.info.bits_per_sample, encoder_session.info.shift, channel_map))
+ return EncoderSession_finish_error(&encoder_session);
+
+ if(!EncoderSession_process(&encoder_session, (const FLAC__int32 * const *)input_, wide_samples)) {
+ print_error_with_state(&encoder_session, "ERROR during encoding");
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ total_input_bytes_read += bytes_read;
+ }
+ }
+ }
+ }
break;
- if(!FLAC__stream_decoder_process_single(decoder)) {
- flac__utils_printf(stderr, 1, "%s: ERROR: while decoding FLAC input, state = %s\n", encoder_session.inbasefilename, FLAC__stream_decoder_get_resolved_state_string(decoder));
- goto fubar2; /*@@@ yuck */
- }
- }
- if(decoder_data.fatal_error) {
- flac__utils_printf(stderr, 1, "%s: ERROR: while decoding FLAC input, state = %s\n", encoder_session.inbasefilename, FLAC__stream_decoder_get_resolved_state_string(decoder));
- goto fubar2; /*@@@ yuck */
+ case FORMAT_WAVE:
+ case FORMAT_WAVE64:
+ case FORMAT_RF64:
+ case FORMAT_AIFF:
+ case FORMAT_AIFF_C:
+ while(encoder_session.fmt.iff.data_bytes > 0) {
+ const size_t bytes_to_read =
+ (size_t) min (sizeof (ubuffer.u8),
+ min (encoder_session.fmt.iff.data_bytes,
+ CHUNK_OF_SAMPLES * (uint64_t) encoder_session.info.bytes_per_wide_sample));
+ size_t bytes_read = fread(ubuffer.u8, sizeof(uint8_t), bytes_to_read, infile);
+ if(bytes_read == 0) {
+ if(ferror(infile)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR during read\n", encoder_session.inbasefilename);
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ else if(feof(infile)) {
+ if(options.ignore_chunk_sizes) {
+ flac__utils_printf(stderr, 1, "%s: INFO: hit EOF with --ignore-chunk-sizes, got %" PRIu64 " samples\n", encoder_session.inbasefilename, encoder_session.samples_written);
+ }
+ else {
+ flac__utils_printf(stderr, 1, "%s: WARNING: unexpected EOF; expected %" PRIu64 " samples, got %" PRIu64 " samples\n", encoder_session.inbasefilename, encoder_session.total_samples_to_encode, encoder_session.samples_written);
+ if(encoder_session.treat_warnings_as_errors)
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ encoder_session.fmt.iff.data_bytes = 0;
+ }
+ }
+ else {
+ if(bytes_read % encoder_session.info.bytes_per_wide_sample != 0) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: got partial sample\n", encoder_session.inbasefilename);
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ else {
+ uint32_t wide_samples = bytes_read / encoder_session.info.bytes_per_wide_sample;
+ if(!format_input(input_, wide_samples, encoder_session.info.is_big_endian, encoder_session.info.is_unsigned_samples, encoder_session.info.channels, encoder_session.info.bits_per_sample, encoder_session.info.shift, channel_map))
+ return EncoderSession_finish_error(&encoder_session);
+
+ if(!EncoderSession_process(&encoder_session, (const FLAC__int32 * const *)input_, wide_samples)) {
+ print_error_with_state(&encoder_session, "ERROR during encoding");
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ encoder_session.fmt.iff.data_bytes -= bytes_read;
+ }
+ }
+ }
+ break;
+ case FORMAT_FLAC:
+ case FORMAT_OGGFLAC:
+ consecutive_eos_count = 0;
+ while(!encoder_session.fmt.flac.client_data.fatal_error && encoder_session.fmt.flac.client_data.samples_left_to_process > 0) {
+ FLAC__StreamDecoderState decoder_state;
+ /* We can also hit the end of stream without samples_left_to_process
+ * going to 0 if there are errors and continue_through_decode_errors
+ * is on, so we want to break in that case too:
+ */
+ decoder_state = FLAC__stream_decoder_get_state(encoder_session.fmt.flac.decoder);
+ if(encoder_session.continue_through_decode_errors && decoder_state == FLAC__STREAM_DECODER_END_OF_STREAM)
+ break;
+
+ consecutive_eos_count = decoder_state == FLAC__STREAM_DECODER_END_OF_STREAM ? consecutive_eos_count + 1 : 0;
+
+ /* Exit loop if we get two or more consecutive FLAC__STREAM_DECODER_END_OF_STREAM events. */
+ if(consecutive_eos_count >= 2) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: %d consecutive FLAC__STREAM_DECODER_END_OF_STREAM events.\n", encoder_session.inbasefilename, consecutive_eos_count);
+ break;
+ }
+
+ if(decoder_state == FLAC__STREAM_DECODER_ABORTED || !FLAC__stream_decoder_process_single(encoder_session.fmt.flac.decoder)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: while decoding FLAC input, state = %s\n", encoder_session.inbasefilename, FLAC__stream_decoder_get_resolved_state_string(encoder_session.fmt.flac.decoder));
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ }
+ if(encoder_session.fmt.flac.client_data.fatal_error) {
+ flac__utils_printf(stderr, 1, "%s: ERROR: while decoding FLAC input, state = %s\n", encoder_session.inbasefilename, FLAC__stream_decoder_get_resolved_state_string(encoder_session.fmt.flac.decoder));
+ return EncoderSession_finish_error(&encoder_session);
+ }
+ break;
+ default:
+ FLAC__ASSERT(0);
+ /* double protection */
+ return EncoderSession_finish_error(&encoder_session);
}
- }
- FLAC__stream_decoder_delete(decoder);
- retval = EncoderSession_finish_ok(&encoder_session, -1, -1, /*foreign_metadata=*/0);
- /* have to wail until encoder is completely finished before deleting because of the final step of writing the seekpoint offsets */
- for(i = 0; i < decoder_data.num_metadata_blocks; i++)
- FLAC__metadata_object_delete(decoder_data.metadata_blocks[i]);
- return retval;
+ }
-fubar2:
- for(i = 0; i < decoder_data.num_metadata_blocks; i++)
- FLAC__metadata_object_delete(decoder_data.metadata_blocks[i]);
-fubar1:
- FLAC__stream_decoder_delete(decoder);
- return EncoderSession_finish_error(&encoder_session);
+ return EncoderSession_finish_ok(
+ &encoder_session,
+ EncoderSession_format_is_iff(&encoder_session)? options.format_options.iff.foreign_metadata : 0,
+ options.error_on_compression_fail
+ );
}
-FLAC__bool EncoderSession_construct(EncoderSession *e, FLAC__bool use_ogg, FLAC__bool verify, FLAC__bool treat_warnings_as_errors, FLAC__bool continue_through_decode_errors, FILE *infile, const char *infilename, const char *outfilename)
+FLAC__bool EncoderSession_construct(EncoderSession *e, encode_options_t options, FLAC__off_t infilesize, FILE *infile, const char *infilename, const char *outfilename, const FLAC__byte *lookahead, uint32_t lookahead_length)
{
- unsigned i;
+ uint32_t i;
FLAC__uint32 test = 1;
/*
@@ -1616,13 +1386,11 @@ FLAC__bool EncoderSession_construct(EncoderSession *e, FLAC__bool use_ogg, FLAC_
*/
#if FLAC__HAS_OGG
- e->use_ogg = use_ogg;
-#else
- (void)use_ogg;
+ e->use_ogg = options.use_ogg;
#endif
- e->verify = verify;
- e->treat_warnings_as_errors = treat_warnings_as_errors;
- e->continue_through_decode_errors = continue_through_decode_errors;
+ e->verify = options.verify;
+ e->treat_warnings_as_errors = options.treat_warnings_as_errors;
+ e->continue_through_decode_errors = options.continue_through_decode_errors;
e->is_stdout = (0 == strcmp(outfilename, "-"));
e->outputfile_opened = false;
@@ -1631,12 +1399,49 @@ FLAC__bool EncoderSession_construct(EncoderSession *e, FLAC__bool use_ogg, FLAC_
e->infilename = infilename;
e->outfilename = outfilename;
- e->skip = 0; /* filled in later after the sample_rate is known */
- e->unencoded_size = 0;
e->total_samples_to_encode = 0;
+ e->unencoded_size = 0;
e->bytes_written = 0;
e->samples_written = 0;
- e->stats_mask = 0;
+#if 0 /* in case time.h with clock() isn't available for some reason */
+ e->stats_frames_interval = 0;
+ e->old_frames_written = 0;
+#else
+ e->old_clock_t = 0;
+#endif
+ e->compression_ratio = 0.0;
+
+ memset(&e->info, 0, sizeof(e->info));
+
+ e->format = options.format;
+
+ switch(options.format) {
+ case FORMAT_RAW:
+ break;
+ case FORMAT_WAVE:
+ case FORMAT_WAVE64:
+ case FORMAT_RF64:
+ case FORMAT_AIFF:
+ case FORMAT_AIFF_C:
+ e->fmt.iff.data_bytes = 0;
+ break;
+ case FORMAT_FLAC:
+ case FORMAT_OGGFLAC:
+ e->fmt.flac.decoder = 0;
+ e->fmt.flac.client_data.filesize = infilesize;
+ e->fmt.flac.client_data.lookahead = lookahead;
+ e->fmt.flac.client_data.lookahead_length = lookahead_length;
+ e->fmt.flac.client_data.num_metadata_blocks = 0;
+ e->fmt.flac.client_data.samples_left_to_process = 0;
+ e->fmt.flac.client_data.fatal_error = false;
+ break;
+ default:
+#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+ FLAC__ASSERT(0);
+#endif
+ /* double protection */
+ return false;
+ }
e->encoder = 0;
@@ -1660,6 +1465,16 @@ FLAC__bool EncoderSession_construct(EncoderSession *e, FLAC__bool use_ogg, FLAC_
void EncoderSession_destroy(EncoderSession *e)
{
+ if(e->format == FORMAT_FLAC || e->format == FORMAT_OGGFLAC) {
+ size_t i;
+ if(e->fmt.flac.decoder)
+ FLAC__stream_decoder_delete(e->fmt.flac.decoder);
+ e->fmt.flac.decoder = 0;
+ for(i = 0; i < e->fmt.flac.client_data.num_metadata_blocks; i++)
+ FLAC__metadata_object_delete(e->fmt.flac.client_data.metadata_blocks[i]);
+ e->fmt.flac.client_data.num_metadata_blocks = 0;
+ }
+
if(e->fin != stdin)
fclose(e->fin);
@@ -1674,7 +1489,7 @@ void EncoderSession_destroy(EncoderSession *e)
}
}
-int EncoderSession_finish_ok(EncoderSession *e, int info_align_carry, int info_align_zero, foreign_metadata_t *foreign_metadata)
+int EncoderSession_finish_ok(EncoderSession *e, foreign_metadata_t *foreign_metadata, FLAC__bool error_on_compression_fail)
{
FLAC__StreamEncoderState fse_state = FLAC__STREAM_ENCODER_OK;
int ret = 0;
@@ -1700,14 +1515,6 @@ int EncoderSession_finish_ok(EncoderSession *e, int info_align_carry, int info_a
print_verify_error(e);
ret = 1;
}
- else {
- if(info_align_carry >= 0) {
- flac__utils_printf(stderr, 1, "%s: INFO: sector alignment causing %d samples to be carried over\n", e->inbasefilename, info_align_carry);
- }
- if(info_align_zero >= 0) {
- flac__utils_printf(stderr, 1, "%s: INFO: sector alignment causing %d zero samples to be appended\n", e->inbasefilename, info_align_zero);
- }
- }
/*@@@@@@ should this go here or somewhere else? */
if(ret == 0 && foreign_metadata) {
@@ -1718,6 +1525,22 @@ int EncoderSession_finish_ok(EncoderSession *e, int info_align_carry, int info_a
}
}
+ if (e->compression_ratio >= 1.0 && error_on_compression_fail) {
+ flac__utils_printf(stderr, 1,
+ "FAILURE: Compression failed (ratio %0.3f, should be < 1.0).\n"
+ "This happens for some files for one or more of the following reasons:\n"
+ " * Recompressing an existing FLAC from a higher to a lower compression setting.\n"
+ " * Insufficient input data (e.g. very short files, < 10000 frames).\n"
+ " * The audio data is not compressible (e.g. a full range white noise signal).\n"
+ , e->compression_ratio);
+ ret = 1;
+ }
+
+#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+ /* Always delete output file when fuzzing */
+ flac_unlink(e->outfilename);
+#endif
+
EncoderSession_destroy(e);
return ret;
@@ -1730,19 +1553,24 @@ int EncoderSession_finish_error(EncoderSession *e)
if(e->total_samples_to_encode > 0)
flac__utils_printf(stderr, 2, "\n");
- if(FLAC__stream_encoder_get_state(e->encoder) == FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA)
+ if(FLAC__stream_encoder_get_state(e->encoder) == FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA) {
print_verify_error(e);
- else if(e->outputfile_opened)
+ EncoderSession_destroy(e);
+ }
+ else if(e->outputfile_opened) {
/* only want to delete the file if we opened it; otherwise it could be an existing file and our overwrite failed */
- unlink(e->outfilename);
-
- EncoderSession_destroy(e);
+ /* Windows cannot unlink an open file, so close it first */
+ EncoderSession_destroy(e);
+ flac_unlink(e->outfilename);
+ }
+ else
+ EncoderSession_destroy(e);
return 1;
}
typedef struct {
- unsigned num_metadata;
+ uint32_t num_metadata;
FLAC__bool *needs_delete;
FLAC__StreamMetadata **metadata;
FLAC__StreamMetadata *cuesheet; /* always needs to be deleted */
@@ -1758,7 +1586,7 @@ static void static_metadata_init(static_metadata_t *m)
static void static_metadata_clear(static_metadata_t *m)
{
- unsigned i;
+ uint32_t i;
for(i = 0; i < m->num_metadata; i++)
if(m->needs_delete[i])
FLAC__metadata_object_delete(m->metadata[i]);
@@ -1774,10 +1602,10 @@ static void static_metadata_clear(static_metadata_t *m)
static FLAC__bool static_metadata_append(static_metadata_t *m, FLAC__StreamMetadata *d, FLAC__bool needs_delete)
{
void *x;
- if(0 == (x = safe_realloc_muladd2_(m->metadata, sizeof(*m->metadata), /*times (*/m->num_metadata, /*+*/1/*)*/)))
+ if(0 == (x = safe_realloc_nofree_muladd2_(m->metadata, sizeof(*m->metadata), /*times (*/m->num_metadata, /*+*/1/*)*/)))
return false;
m->metadata = (FLAC__StreamMetadata**)x;
- if(0 == (x = safe_realloc_muladd2_(m->needs_delete, sizeof(*m->needs_delete), /*times (*/m->num_metadata, /*+*/1/*)*/)))
+ if(0 == (x = safe_realloc_nofree_muladd2_(m->needs_delete, sizeof(*m->needs_delete), /*times (*/m->num_metadata, /*+*/1/*)*/)))
return false;
m->needs_delete = (FLAC__bool*)x;
m->metadata[m->num_metadata] = d;
@@ -1786,12 +1614,16 @@ static FLAC__bool static_metadata_append(static_metadata_t *m, FLAC__StreamMetad
return true;
}
-FLAC__bool EncoderSession_init_encoder(EncoderSession *e, encode_options_t options, FLAC__uint32 channel_mask, unsigned channels, unsigned bps, unsigned sample_rate, const foreign_metadata_t *foreign_metadata, FLACDecoderData *flac_decoder_data)
+FLAC__bool EncoderSession_init_encoder(EncoderSession *e, encode_options_t options)
{
+ const uint32_t channels = e->info.channels;
+ const uint32_t bps = e->info.bits_per_sample - e->info.shift;
+ const uint32_t sample_rate = e->info.sample_rate;
+ FLACDecoderData *flac_decoder_data = (e->format == FORMAT_FLAC || e->format == FORMAT_OGGFLAC)? &e->fmt.flac.client_data : 0;
FLAC__StreamMetadata padding;
FLAC__StreamMetadata **metadata = 0;
static_metadata_t static_metadata;
- unsigned num_metadata = 0, i;
+ uint32_t num_metadata = 0, ic;
FLAC__StreamEncoderInitStatus init_status;
const FLAC__bool is_cdda = (channels == 1 || channels == 2) && (bps == 16) && (sample_rate == 44100);
char apodizations[2000];
@@ -1801,9 +1633,6 @@ FLAC__bool EncoderSession_init_encoder(EncoderSession *e, encode_options_t optio
static_metadata_init(&static_metadata);
e->replay_gain = options.replay_gain;
- e->channels = channels;
- e->bits_per_sample = bps;
- e->sample_rate = sample_rate;
apodizations[0] = '\0';
@@ -1824,7 +1653,7 @@ FLAC__bool EncoderSession_init_encoder(EncoderSession *e, encode_options_t optio
}
}
- if(!parse_cuesheet(&static_metadata.cuesheet, options.cuesheet_filename, e->inbasefilename, is_cdda, e->total_samples_to_encode, e->treat_warnings_as_errors))
+ if(!parse_cuesheet(&static_metadata.cuesheet, options.cuesheet_filename, e->inbasefilename, sample_rate, is_cdda, e->total_samples_to_encode, e->treat_warnings_as_errors))
return false;
if(!convert_to_seek_table_template(options.requested_seek_points, options.num_requested_seek_points, options.cued_seekpoints? static_metadata.cuesheet : 0, e)) {
@@ -1840,6 +1669,7 @@ FLAC__bool EncoderSession_init_encoder(EncoderSession *e, encode_options_t optio
* metadata as the basis for the encoded file
*/
{
+ uint32_t i;
/*
* first handle pictures: simple append any --pictures
* specified.
@@ -1869,7 +1699,7 @@ FLAC__bool EncoderSession_init_encoder(EncoderSession *e, encode_options_t optio
if(flac_decoder_data->metadata_blocks[i]->type == FLAC__METADATA_TYPE_VORBIS_COMMENT)
vc_found = true;
if(flac_decoder_data->metadata_blocks[i]->type == FLAC__METADATA_TYPE_VORBIS_COMMENT && options.vorbis_comment->data.vorbis_comment.num_comments > 0) {
- (void) flac__utils_get_channel_mask_tag(flac_decoder_data->metadata_blocks[i], &channel_mask);
+ (void) flac__utils_get_channel_mask_tag(flac_decoder_data->metadata_blocks[i], &e->info.channel_mask);
flac__utils_printf(stderr, 1, "%s: WARNING, replacing tags from input FLAC file with those given on the command-line\n", e->inbasefilename);
if(e->treat_warnings_as_errors) {
static_metadata_clear(&static_metadata);
@@ -1885,7 +1715,7 @@ FLAC__bool EncoderSession_init_encoder(EncoderSession *e, encode_options_t optio
if((!vc_found || options.vorbis_comment->data.vorbis_comment.num_comments > 0) && flac_decoder_data->num_metadata_blocks < sizeof(flac_decoder_data->metadata_blocks)/sizeof(flac_decoder_data->metadata_blocks[0])) {
/* prepend ours */
FLAC__StreamMetadata *vc = FLAC__metadata_object_clone(options.vorbis_comment);
- if(0 == vc || (channel_mask && !flac__utils_set_channel_mask_tag(vc, channel_mask))) {
+ if(0 == vc || (e->info.channel_mask && !flac__utils_set_channel_mask_tag(vc, e->info.channel_mask))) {
flac__utils_printf(stderr, 1, "%s: ERROR allocating memory for VORBIS_COMMENT block\n", e->inbasefilename);
static_metadata_clear(&static_metadata);
return false;
@@ -1916,7 +1746,7 @@ FLAC__bool EncoderSession_init_encoder(EncoderSession *e, encode_options_t optio
}
existing_cuesheet_is_bad = true;
}
- else if(e->total_samples_to_encode != cs->tracks[cs->num_tracks-1].offset) {
+ else if(cs->num_tracks > 0 && e->total_samples_to_encode != cs->tracks[cs->num_tracks-1].offset) {
flac__utils_printf(stderr, 1, "%s: WARNING, lead-out offset of cuesheet in input FLAC file does not match input length, dropping existing cuesheet...\n", e->inbasefilename);
if(e->treat_warnings_as_errors) {
static_metadata_clear(&static_metadata);
@@ -2036,8 +1866,15 @@ FLAC__bool EncoderSession_init_encoder(EncoderSession *e, encode_options_t optio
flac_decoder_data->num_metadata_blocks = j;
if(options.padding > 0)
p = options.padding;
- if(p < 0)
- p = e->total_samples_to_encode / e->sample_rate < 20*60? FLAC_ENCODE__DEFAULT_PADDING : FLAC_ENCODE__DEFAULT_PADDING*8;
+ if(p < 0) {
+ if(sample_rate == 0)
+ p = FLAC_ENCODE__DEFAULT_PADDING;
+ else
+ p = e->total_samples_to_encode / sample_rate < 20*60? FLAC_ENCODE__DEFAULT_PADDING : FLAC_ENCODE__DEFAULT_PADDING*8;
+ }
+ if(p > 0)
+ p += (e->replay_gain ? GRABBAG__REPLAYGAIN_MAX_TAG_SPACE_REQUIRED : 0);
+ p = min(p, (int)((1u << FLAC__STREAM_METADATA_LENGTH_LEN) - 1));
if(options.padding != 0) {
if(p > 0 && flac_decoder_data->num_metadata_blocks < sizeof(flac_decoder_data->metadata_blocks)/sizeof(flac_decoder_data->metadata_blocks[0])) {
flac_decoder_data->metadata_blocks[flac_decoder_data->num_metadata_blocks] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_PADDING);
@@ -2060,20 +1897,26 @@ FLAC__bool EncoderSession_init_encoder(EncoderSession *e, encode_options_t optio
* we're not encoding from FLAC so we will build the metadata
* from scratch
*/
+ const foreign_metadata_t *foreign_metadata = EncoderSession_format_is_iff(e)? options.format_options.iff.foreign_metadata : 0;
+ uint32_t i;
+
if(e->seek_table_template->data.seek_table.num_points > 0) {
e->seek_table_template->is_last = false; /* the encoder will set this for us */
static_metadata_append(&static_metadata, e->seek_table_template, /*needs_delete=*/false);
}
if(0 != static_metadata.cuesheet)
static_metadata_append(&static_metadata, static_metadata.cuesheet, /*needs_delete=*/false);
- if(channel_mask) {
- if(!flac__utils_set_channel_mask_tag(options.vorbis_comment, channel_mask)) {
+ if(e->info.channel_mask) {
+ options.vorbis_comment_with_channel_mask_tag = FLAC__metadata_object_clone(options.vorbis_comment);
+ if(!flac__utils_set_channel_mask_tag(options.vorbis_comment_with_channel_mask_tag, e->info.channel_mask)) {
flac__utils_printf(stderr, 1, "%s: ERROR adding channel mask tag\n", e->inbasefilename);
static_metadata_clear(&static_metadata);
return false;
}
+ static_metadata_append(&static_metadata, options.vorbis_comment_with_channel_mask_tag, /*needs_delete=*/true);
}
- static_metadata_append(&static_metadata, options.vorbis_comment, /*needs_delete=*/false);
+ else
+ static_metadata_append(&static_metadata, options.vorbis_comment, /*needs_delete=*/false);
for(i = 0; i < options.num_pictures; i++)
static_metadata_append(&static_metadata, options.pictures[i], /*needs_delete=*/false);
if(foreign_metadata) {
@@ -2086,13 +1929,16 @@ FLAC__bool EncoderSession_init_encoder(EncoderSession *e, encode_options_t optio
}
static_metadata_append(&static_metadata, p, /*needs_delete=*/true);
static_metadata.metadata[static_metadata.num_metadata-1]->length = FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8 + foreign_metadata->blocks[i].size;
-/*fprintf(stderr,"@@@@@@ add PADDING=%u\n",static_metadata.metadata[static_metadata.num_metadata-1]->length);*/
}
}
if(options.padding != 0) {
padding.is_last = false; /* the encoder will set this for us */
padding.type = FLAC__METADATA_TYPE_PADDING;
- padding.length = (unsigned)(options.padding>0? options.padding : (e->total_samples_to_encode / e->sample_rate < 20*60? FLAC_ENCODE__DEFAULT_PADDING : FLAC_ENCODE__DEFAULT_PADDING*8));
+ if(sample_rate == 0)
+ padding.length = (uint32_t)(options.padding>0? options.padding : FLAC_ENCODE__DEFAULT_PADDING) + (e->replay_gain ? GRABBAG__REPLAYGAIN_MAX_TAG_SPACE_REQUIRED : 0);
+ else
+ padding.length = (uint32_t)(options.padding>0? options.padding : (e->total_samples_to_encode / sample_rate < 20*60? FLAC_ENCODE__DEFAULT_PADDING : FLAC_ENCODE__DEFAULT_PADDING*8)) + (e->replay_gain ? GRABBAG__REPLAYGAIN_MAX_TAG_SPACE_REQUIRED : 0);
+ padding.length = min(padding.length, (1u << FLAC__STREAM_METADATA_LENGTH_LEN) - 1);
static_metadata_append(&static_metadata, &padding, /*needs_delete=*/false);
}
metadata = static_metadata.metadata;
@@ -2114,62 +1960,71 @@ FLAC__bool EncoderSession_init_encoder(EncoderSession *e, encode_options_t optio
FLAC__stream_encoder_set_channels(e->encoder, channels);
FLAC__stream_encoder_set_bits_per_sample(e->encoder, bps);
FLAC__stream_encoder_set_sample_rate(e->encoder, sample_rate);
- for(i = 0; i < options.num_compression_settings; i++) {
- switch(options.compression_settings[i].type) {
+ for(ic = 0; ic < options.num_compression_settings; ic++) {
+ switch(options.compression_settings[ic].type) {
case CST_BLOCKSIZE:
- FLAC__stream_encoder_set_blocksize(e->encoder, options.compression_settings[i].value.t_unsigned);
+ FLAC__stream_encoder_set_blocksize(e->encoder, options.compression_settings[ic].value.t_unsigned);
break;
case CST_COMPRESSION_LEVEL:
- FLAC__stream_encoder_set_compression_level(e->encoder, options.compression_settings[i].value.t_unsigned);
+ FLAC__stream_encoder_set_compression_level(e->encoder, options.compression_settings[ic].value.t_unsigned);
apodizations[0] = '\0';
break;
case CST_DO_MID_SIDE:
- FLAC__stream_encoder_set_do_mid_side_stereo(e->encoder, options.compression_settings[i].value.t_bool);
+ FLAC__stream_encoder_set_do_mid_side_stereo(e->encoder, options.compression_settings[ic].value.t_bool);
break;
case CST_LOOSE_MID_SIDE:
- FLAC__stream_encoder_set_loose_mid_side_stereo(e->encoder, options.compression_settings[i].value.t_bool);
+ FLAC__stream_encoder_set_loose_mid_side_stereo(e->encoder, options.compression_settings[ic].value.t_bool);
break;
case CST_APODIZATION:
- if(strlen(apodizations)+strlen(options.compression_settings[i].value.t_string)+2 >= sizeof(apodizations)) {
+ if(strlen(apodizations)+strlen(options.compression_settings[ic].value.t_string)+2 >= sizeof(apodizations)) {
flac__utils_printf(stderr, 1, "%s: ERROR: too many apodization functions requested\n", e->inbasefilename);
static_metadata_clear(&static_metadata);
return false;
}
else {
- strcat(apodizations, options.compression_settings[i].value.t_string);
- strcat(apodizations, ";");
+ safe_strncat(apodizations, options.compression_settings[ic].value.t_string, sizeof(apodizations));
+ safe_strncat(apodizations, ";", sizeof(apodizations));
}
break;
case CST_MAX_LPC_ORDER:
- FLAC__stream_encoder_set_max_lpc_order(e->encoder, options.compression_settings[i].value.t_unsigned);
+#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+ FLAC__stream_encoder_set_max_lpc_order(e->encoder, options.compression_settings[ic].value.t_unsigned);
+#endif
break;
case CST_QLP_COEFF_PRECISION:
- FLAC__stream_encoder_set_qlp_coeff_precision(e->encoder, options.compression_settings[i].value.t_unsigned);
+ FLAC__stream_encoder_set_qlp_coeff_precision(e->encoder, options.compression_settings[ic].value.t_unsigned);
break;
case CST_DO_QLP_COEFF_PREC_SEARCH:
- FLAC__stream_encoder_set_do_qlp_coeff_prec_search(e->encoder, options.compression_settings[i].value.t_bool);
+#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+ FLAC__stream_encoder_set_do_qlp_coeff_prec_search(e->encoder, options.compression_settings[ic].value.t_bool);
+#endif
break;
case CST_DO_ESCAPE_CODING:
- FLAC__stream_encoder_set_do_escape_coding(e->encoder, options.compression_settings[i].value.t_bool);
+ FLAC__stream_encoder_set_do_escape_coding(e->encoder, options.compression_settings[ic].value.t_bool);
break;
case CST_DO_EXHAUSTIVE_MODEL_SEARCH:
- FLAC__stream_encoder_set_do_exhaustive_model_search(e->encoder, options.compression_settings[i].value.t_bool);
+#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+ FLAC__stream_encoder_set_do_exhaustive_model_search(e->encoder, options.compression_settings[ic].value.t_bool);
+#endif
break;
case CST_MIN_RESIDUAL_PARTITION_ORDER:
- FLAC__stream_encoder_set_min_residual_partition_order(e->encoder, options.compression_settings[i].value.t_unsigned);
+ FLAC__stream_encoder_set_min_residual_partition_order(e->encoder, options.compression_settings[ic].value.t_unsigned);
break;
case CST_MAX_RESIDUAL_PARTITION_ORDER:
- FLAC__stream_encoder_set_max_residual_partition_order(e->encoder, options.compression_settings[i].value.t_unsigned);
+ FLAC__stream_encoder_set_max_residual_partition_order(e->encoder, options.compression_settings[ic].value.t_unsigned);
break;
case CST_RICE_PARAMETER_SEARCH_DIST:
- FLAC__stream_encoder_set_rice_parameter_search_dist(e->encoder, options.compression_settings[i].value.t_unsigned);
+ FLAC__stream_encoder_set_rice_parameter_search_dist(e->encoder, options.compression_settings[ic].value.t_unsigned);
break;
}
}
+#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
if(*apodizations)
FLAC__stream_encoder_set_apodization(e->encoder, apodizations);
+#endif
FLAC__stream_encoder_set_total_samples_estimate(e->encoder, e->total_samples_to_encode);
FLAC__stream_encoder_set_metadata(e->encoder, (num_metadata > 0)? metadata : 0, num_metadata);
+ FLAC__stream_encoder_set_limit_min_bitrate(e->encoder, options.limit_min_bitrate);
FLAC__stream_encoder_disable_constant_subframes(e->encoder, options.debug.disable_constant_subframes);
FLAC__stream_encoder_disable_fixed_subframes(e->encoder, options.debug.disable_fixed_subframes);
@@ -2182,6 +2037,13 @@ FLAC__bool EncoderSession_init_encoder(EncoderSession *e, encode_options_t optio
}
FLAC__stream_encoder_set_do_md5(e->encoder, false);
}
+ else if(e->is_stdout) {
+ flac__utils_printf(stderr, 1, "%s: WARNING, cannot write back MD5 sum when encoding to stdout\n", e->inbasefilename);
+ if(e->treat_warnings_as_errors) {
+ static_metadata_clear(&static_metadata);
+ return false;
+ }
+ }
#if FLAC__HAS_OGG
if(e->use_ogg) {
@@ -2205,20 +2067,22 @@ FLAC__bool EncoderSession_init_encoder(EncoderSession *e, encode_options_t optio
else
e->outputfile_opened = true;
- e->stats_mask =
- (FLAC__stream_encoder_get_do_exhaustive_model_search(e->encoder) && FLAC__stream_encoder_get_do_qlp_coeff_prec_search(e->encoder))? 0x07 :
- (FLAC__stream_encoder_get_do_exhaustive_model_search(e->encoder) || FLAC__stream_encoder_get_do_qlp_coeff_prec_search(e->encoder))? 0x0f :
- 0x3f;
+#if 0 /* in case time.h with clock() isn't available for some reason */
+ e->stats_frames_interval =
+ (FLAC__stream_encoder_get_do_exhaustive_model_search(e->encoder) && FLAC__stream_encoder_get_do_qlp_coeff_prec_search(e->encoder))? 0x1f :
+ (FLAC__stream_encoder_get_do_exhaustive_model_search(e->encoder) || FLAC__stream_encoder_get_do_qlp_coeff_prec_search(e->encoder))? 0x3f :
+ 0xff;
+#endif
static_metadata_clear(&static_metadata);
return true;
}
-FLAC__bool EncoderSession_process(EncoderSession *e, const FLAC__int32 * const buffer[], unsigned samples)
+FLAC__bool EncoderSession_process(EncoderSession *e, const FLAC__int32 * const buffer[], uint32_t samples)
{
if(e->replay_gain) {
- if(!grabbag__replaygain_analyze(buffer, e->channels==2, e->bits_per_sample, samples)) {
+ if(!grabbag__replaygain_analyze(buffer, e->info.channels==2, e->info.bits_per_sample, samples)) {
flac__utils_printf(stderr, 1, "%s: WARNING, error while calculating ReplayGain\n", e->inbasefilename);
if(e->treat_warnings_as_errors)
return false;
@@ -2228,6 +2092,16 @@ FLAC__bool EncoderSession_process(EncoderSession *e, const FLAC__int32 * const b
return FLAC__stream_encoder_process(e->encoder, buffer, samples);
}
+FLAC__bool EncoderSession_format_is_iff(const EncoderSession *e)
+{
+ return
+ e->format == FORMAT_WAVE ||
+ e->format == FORMAT_WAVE64 ||
+ e->format == FORMAT_RF64 ||
+ e->format == FORMAT_AIFF ||
+ e->format == FORMAT_AIFF_C;
+}
+
FLAC__bool convert_to_seek_table_template(const char *requested_seek_points, int num_requested_seek_points, FLAC__StreamMetadata *cuesheet, EncoderSession *e)
{
const FLAC__bool only_placeholders = e->is_stdout;
@@ -2236,24 +2110,23 @@ FLAC__bool convert_to_seek_table_template(const char *requested_seek_points, int
if(num_requested_seek_points == 0 && 0 == cuesheet)
return true;
- if(num_requested_seek_points < 0) {
#if FLAC__HAS_OGG
- /*@@@@@@ workaround ogg bug: too many seekpoints makes table not fit in one page */
- if(e->use_ogg && e->total_samples_to_encode > 0 && e->total_samples_to_encode / e->sample_rate / 10 > 230)
- requested_seek_points = "230x;";
- else
+ if(e->use_ogg)
+ return true;
#endif
- requested_seek_points = "10s;";
+
+ if(num_requested_seek_points < 0) {
+ requested_seek_points = "10s;";
num_requested_seek_points = 1;
}
if(num_requested_seek_points > 0) {
- if(!grabbag__seektable_convert_specification_to_template(requested_seek_points, only_placeholders, e->total_samples_to_encode, e->sample_rate, e->seek_table_template, &has_real_points))
+ if(!grabbag__seektable_convert_specification_to_template(requested_seek_points, only_placeholders, e->total_samples_to_encode, e->info.sample_rate, e->seek_table_template, &has_real_points))
return false;
}
if(0 != cuesheet) {
- unsigned i, j;
+ uint32_t i, j;
const FLAC__StreamMetadata_CueSheet *cs = &cuesheet->data.cue_sheet;
for(i = 0; i < cs->num_tracks; i++) {
const FLAC__StreamMetadata_CueSheet_Track *tr = cs->tracks+i;
@@ -2279,10 +2152,13 @@ FLAC__bool convert_to_seek_table_template(const char *requested_seek_points, int
return true;
}
-FLAC__bool canonicalize_until_specification(utils__SkipUntilSpecification *spec, const char *inbasefilename, unsigned sample_rate, FLAC__uint64 skip, FLAC__uint64 total_samples_in_input)
+FLAC__bool canonicalize_until_specification(utils__SkipUntilSpecification *spec, const char *inbasefilename, uint32_t sample_rate, FLAC__uint64 skip, FLAC__uint64 total_samples_in_input)
{
/* convert from mm:ss.sss to sample number if necessary */
- flac__utils_canonicalize_skip_until_specification(spec, sample_rate);
+ if(!flac__utils_canonicalize_skip_until_specification(spec, sample_rate)) {
+ flac__utils_printf(stderr, 1, "%s: ERROR, value of --until is too large\n", inbasefilename);
+ return false;
+ }
/* special case: if "--until=-0", use the special value '0' to mean "end-of-stream" */
if(spec->is_relative && spec->value.samples == 0) {
@@ -2324,11 +2200,11 @@ FLAC__bool canonicalize_until_specification(utils__SkipUntilSpecification *spec,
return true;
}
-FLAC__bool verify_metadata(const EncoderSession *e, FLAC__StreamMetadata **metadata, unsigned num_metadata)
+FLAC__bool verify_metadata(const EncoderSession *e, FLAC__StreamMetadata **metadata, uint32_t num_metadata)
{
FLAC__bool metadata_picture_has_type1 = false;
FLAC__bool metadata_picture_has_type2 = false;
- unsigned i;
+ uint32_t i;
FLAC__ASSERT(0 != metadata);
for(i = 0; i < num_metadata; i++) {
@@ -2371,9 +2247,9 @@ FLAC__bool verify_metadata(const EncoderSession *e, FLAC__StreamMetadata **metad
return true;
}
-FLAC__bool format_input(FLAC__int32 *dest[], unsigned wide_samples, FLAC__bool is_big_endian, FLAC__bool is_unsigned_samples, unsigned channels, unsigned bps, unsigned shift, size_t *channel_map)
+FLAC__bool format_input(FLAC__int32 *dest[], uint32_t wide_samples, FLAC__bool is_big_endian, FLAC__bool is_unsigned_samples, uint32_t channels, uint32_t bps, uint32_t shift, size_t *channel_map)
{
- unsigned wide_sample, sample, channel, byte;
+ uint32_t wide_sample, sample, channel;
FLAC__int32 *out[FLAC__MAX_CHANNELS];
if(0 == channel_map) {
@@ -2387,67 +2263,130 @@ FLAC__bool format_input(FLAC__int32 *dest[], unsigned wide_samples, FLAC__bool i
if(bps == 8) {
if(is_unsigned_samples) {
- for(sample = wide_sample = 0; wide_sample < wide_samples; wide_sample++)
- for(channel = 0; channel < channels; channel++, sample++)
- out[channel][wide_sample] = (FLAC__int32)ucbuffer_[sample] - 0x80;
+ for(channel = 0; channel < channels; channel++)
+ for(sample = channel, wide_sample = 0; wide_sample < wide_samples; wide_sample++, sample+=channels)
+ out[channel][wide_sample] = (FLAC__int32)ubuffer.u8[sample] - 0x80;
}
else {
- for(sample = wide_sample = 0; wide_sample < wide_samples; wide_sample++)
- for(channel = 0; channel < channels; channel++, sample++)
- out[channel][wide_sample] = (FLAC__int32)scbuffer_[sample];
+ for(channel = 0; channel < channels; channel++)
+ for(sample = channel, wide_sample = 0; wide_sample < wide_samples; wide_sample++, sample+=channels)
+ out[channel][wide_sample] = (FLAC__int32)ubuffer.s8[sample];
}
}
else if(bps == 16) {
- if(is_big_endian != is_big_endian_host_) {
- unsigned char tmp;
- const unsigned bytes = wide_samples * channels * (bps >> 3);
- for(byte = 0; byte < bytes; byte += 2) {
- tmp = ucbuffer_[byte];
- ucbuffer_[byte] = ucbuffer_[byte+1];
- ucbuffer_[byte+1] = tmp;
- }
- }
if(is_unsigned_samples) {
- for(sample = wide_sample = 0; wide_sample < wide_samples; wide_sample++)
- for(channel = 0; channel < channels; channel++, sample++)
- out[channel][wide_sample] = (FLAC__int32)usbuffer_[sample] - 0x8000;
+ if(is_big_endian != is_big_endian_host_) {
+ for(channel = 0; channel < channels; channel++)
+ for(sample = channel, wide_sample = 0; wide_sample < wide_samples; wide_sample++, sample+=channels)
+ out[channel][wide_sample] = (FLAC__int32)(ENDSWAP_16(ubuffer.u16[sample])) - 0x8000;
+ }
+ else {
+ for(channel = 0; channel < channels; channel++)
+ for(sample = channel, wide_sample = 0; wide_sample < wide_samples; wide_sample++, sample+=channels)
+ out[channel][wide_sample] = (FLAC__int32)ubuffer.u16[sample] - 0x8000;
+ }
}
else {
- for(sample = wide_sample = 0; wide_sample < wide_samples; wide_sample++)
- for(channel = 0; channel < channels; channel++, sample++)
- out[channel][wide_sample] = (FLAC__int32)ssbuffer_[sample];
+ if(is_big_endian != is_big_endian_host_) {
+ for(channel = 0; channel < channels; channel++)
+ for(sample = channel, wide_sample = 0; wide_sample < wide_samples; wide_sample++, sample+=channels)
+ out[channel][wide_sample] = (int16_t)(ENDSWAP_16(ubuffer.s16[sample]));
+
+ }
+ else {
+ for(channel = 0; channel < channels; channel++)
+ for(sample = channel, wide_sample = 0; wide_sample < wide_samples; wide_sample++, sample+=channels)
+ out[channel][wide_sample] = ubuffer.s16[sample];
+ }
}
}
else if(bps == 24) {
if(!is_big_endian) {
- unsigned char tmp;
- const unsigned bytes = wide_samples * channels * (bps >> 3);
- for(byte = 0; byte < bytes; byte += 3) {
- tmp = ucbuffer_[byte];
- ucbuffer_[byte] = ucbuffer_[byte+2];
- ucbuffer_[byte+2] = tmp;
+ if(is_unsigned_samples) {
+ for(channel = 0; channel < channels; channel++) {
+ uint32_t b = 3*channel;
+ for(wide_sample = 0; wide_sample < wide_samples; wide_sample++) {
+ uint32_t t;
+ t = ubuffer.u8[b];
+ t |= (uint32_t)(ubuffer.u8[b+1]) << 8;
+ t |= (uint32_t)(ubuffer.u8[b+2]) << 16;
+ out[channel][wide_sample] = (FLAC__int32)t - 0x800000;
+ b += 3*channels;
+ }
+ }
}
- }
- if(is_unsigned_samples) {
- for(byte = sample = wide_sample = 0; wide_sample < wide_samples; wide_sample++)
- for(channel = 0; channel < channels; channel++, sample++) {
- out[channel][wide_sample] = ucbuffer_[byte++]; out[channel][wide_sample] <<= 8;
- out[channel][wide_sample] |= ucbuffer_[byte++]; out[channel][wide_sample] <<= 8;
- out[channel][wide_sample] |= ucbuffer_[byte++];
- out[channel][wide_sample] -= 0x800000;
+ else {
+ for(channel = 0; channel < channels; channel++) {
+ uint32_t b = 3*channel;
+ for(wide_sample = 0; wide_sample < wide_samples; wide_sample++) {
+ uint32_t t;
+ t = ubuffer.u8[b];
+ t |= (uint32_t)(ubuffer.u8[b+1]) << 8;
+ t |= (uint32_t)((int32_t)(ubuffer.s8[b+2])) << 16;
+ out[channel][wide_sample] = t;
+ b += 3*channels;
+ }
}
+ }
}
else {
- for(byte = sample = wide_sample = 0; wide_sample < wide_samples; wide_sample++)
- for(channel = 0; channel < channels; channel++, sample++) {
- out[channel][wide_sample] = scbuffer_[byte++]; out[channel][wide_sample] <<= 8;
- out[channel][wide_sample] |= ucbuffer_[byte++]; out[channel][wide_sample] <<= 8;
- out[channel][wide_sample] |= ucbuffer_[byte++];
+ if(is_unsigned_samples) {
+ for(channel = 0; channel < channels; channel++) {
+ uint32_t b = 3*channel;
+ for(wide_sample = 0; wide_sample < wide_samples; wide_sample++) {
+ uint32_t t;
+ t = ubuffer.u8[b]; t <<= 8;
+ t |= ubuffer.u8[b+1]; t <<= 8;
+ t |= ubuffer.u8[b+2];
+ out[channel][wide_sample] = (FLAC__int32)t - 0x800000;
+ b += 3*channels;
+ }
+ }
+ }
+ else {
+ for(channel = 0; channel < channels; channel++) {
+ uint32_t b = 3*channel;
+ for(wide_sample = 0; wide_sample < wide_samples; wide_sample++) {
+ uint32_t t;
+ t = ubuffer.s8[b]; t <<= 8;
+ t |= ubuffer.u8[b+1]; t <<= 8;
+ t |= ubuffer.u8[b+2];
+ out[channel][wide_sample] = t;
+ b += 3*channels;
+ }
}
+ }
+ }
+ }
+ else if(bps == 32) {
+ if(is_unsigned_samples) {
+ if(is_big_endian != is_big_endian_host_) {
+ for(channel = 0; channel < channels; channel++)
+ for(sample = channel, wide_sample = 0; wide_sample < wide_samples; wide_sample++, sample+=channels)
+ out[channel][wide_sample] = ENDSWAP_32(ubuffer.u32[sample]) - 0x80000000;
+ }
+ else {
+ for(channel = 0; channel < channels; channel++)
+ for(sample = channel, wide_sample = 0; wide_sample < wide_samples; wide_sample++, sample+=channels)
+ out[channel][wide_sample] = ubuffer.u32[sample] - 0x80000000;
+ }
+ }
+ else {
+ if(is_big_endian != is_big_endian_host_) {
+ for(channel = 0; channel < channels; channel++)
+ for(sample = channel, wide_sample = 0; wide_sample < wide_samples; wide_sample++, sample+=channels)
+ out[channel][wide_sample] = ENDSWAP_32(ubuffer.s32[sample]);
+ }
+ else {
+ for(channel = 0; channel < channels; channel++)
+ for(sample = channel, wide_sample = 0; wide_sample < wide_samples; wide_sample++, sample+=channels)
+ out[channel][wide_sample] = ubuffer.s32[sample];
+ }
}
}
else {
- FLAC__ASSERT(0);
+ flac__utils_printf(stderr, 1, "ERROR: unsupported input format\n");
+ return false;
}
if(shift > 0) {
FLAC__int32 mask = (1<<shift)-1;
@@ -2463,23 +2402,40 @@ FLAC__bool format_input(FLAC__int32 *dest[], unsigned wide_samples, FLAC__bool i
return true;
}
-void encoder_progress_callback(const FLAC__StreamEncoder *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate, void *client_data)
+void encoder_progress_callback(const FLAC__StreamEncoder *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, uint32_t frames_written, uint32_t total_frames_estimate, void *client_data)
{
- EncoderSession *encoder_session = (EncoderSession*)client_data;
+ EncoderSession *e = (EncoderSession*)client_data;
+
+ const FLAC__uint64 uesize = e->unencoded_size;
- (void)encoder, (void)total_frames_estimate;
+ (void)encoder, (void)total_frames_estimate, (void) frames_written;
- encoder_session->bytes_written = bytes_written;
- encoder_session->samples_written = samples_written;
+ e->bytes_written = bytes_written;
+ e->samples_written = samples_written;
- if(encoder_session->total_samples_to_encode > 0 && !((frames_written-1) & encoder_session->stats_mask))
- print_stats(encoder_session);
+ e->progress = e->total_samples_to_encode ? (double)samples_written / (double)e->total_samples_to_encode : 0;
+ e->compression_ratio = (e->progress && uesize) ? (double)e->bytes_written / ((double)uesize * min(1.0, e->progress)) : 0;
+
+#if 0 /* in case time.h with clock() isn't available for some reason */
+ if(e->total_samples_to_encode > 0 && frames_written - e->old_frames_written > e->stats_frames_interval) {
+ print_stats(e);
+ e->old_frames_written = frames_written;
+ }
+#else
+ if(e->total_samples_to_encode > 0 && (clock() - e->old_clock_t) > (CLOCKS_PER_SEC/4)) {
+ print_stats(e);
+ e->old_clock_t = clock();
+ }
+
+#endif
}
FLAC__StreamDecoderReadStatus flac_decoder_read_callback(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data)
{
size_t n = 0;
- FLACDecoderData *data = (FLACDecoderData*)client_data;
+ EncoderSession *e = (EncoderSession*)client_data;
+ FLACDecoderData *data = &e->fmt.flac.client_data;
+
(void)decoder;
if (data->fatal_error)
@@ -2496,8 +2452,8 @@ FLAC__StreamDecoderReadStatus flac_decoder_read_callback(const FLAC__StreamDecod
/* get the rest from file */
if (*bytes > n) {
- *bytes = n + fread(buffer, 1, *bytes-n, data->encoder_session->fin);
- if(ferror(data->encoder_session->fin))
+ *bytes = n + fread(buffer, 1, *bytes-n, e->fin);
+ if(ferror(e->fin))
return FLAC__STREAM_DECODER_READ_STATUS_ABORT;
else if(0 == *bytes)
return FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM;
@@ -2510,10 +2466,10 @@ FLAC__StreamDecoderReadStatus flac_decoder_read_callback(const FLAC__StreamDecod
FLAC__StreamDecoderSeekStatus flac_decoder_seek_callback(const FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data)
{
- FLACDecoderData *data = (FLACDecoderData*)client_data;
+ EncoderSession *e = (EncoderSession*)client_data;
(void)decoder;
- if(fseeko(data->encoder_session->fin, (off_t)absolute_byte_offset, SEEK_SET) < 0)
+ if(fseeko(e->fin, (FLAC__off_t)absolute_byte_offset, SEEK_SET) < 0)
return FLAC__STREAM_DECODER_SEEK_STATUS_ERROR;
else
return FLAC__STREAM_DECODER_SEEK_STATUS_OK;
@@ -2521,11 +2477,11 @@ FLAC__StreamDecoderSeekStatus flac_decoder_seek_callback(const FLAC__StreamDecod
FLAC__StreamDecoderTellStatus flac_decoder_tell_callback(const FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data)
{
- FLACDecoderData *data = (FLACDecoderData*)client_data;
- off_t pos;
+ EncoderSession *e = (EncoderSession*)client_data;
+ FLAC__off_t pos;
(void)decoder;
- if((pos = ftello(data->encoder_session->fin)) < 0)
+ if((pos = ftello(e->fin)) < 0)
return FLAC__STREAM_DECODER_TELL_STATUS_ERROR;
else {
*absolute_byte_offset = (FLAC__uint64)pos;
@@ -2535,10 +2491,11 @@ FLAC__StreamDecoderTellStatus flac_decoder_tell_callback(const FLAC__StreamDecod
FLAC__StreamDecoderLengthStatus flac_decoder_length_callback(const FLAC__StreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data)
{
- FLACDecoderData *data = (FLACDecoderData*)client_data;
+ const EncoderSession *e = (EncoderSession*)client_data;
+ const FLACDecoderData *data = &e->fmt.flac.client_data;
(void)decoder;
- if(0 == data->filesize)
+ if(data->filesize < 0)
return FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR;
else {
*stream_length = (FLAC__uint64)data->filesize;
@@ -2548,20 +2505,33 @@ FLAC__StreamDecoderLengthStatus flac_decoder_length_callback(const FLAC__StreamD
FLAC__bool flac_decoder_eof_callback(const FLAC__StreamDecoder *decoder, void *client_data)
{
- FLACDecoderData *data = (FLACDecoderData*)client_data;
+ EncoderSession *e = (EncoderSession*)client_data;
(void)decoder;
- return feof(data->encoder_session->fin)? true : false;
+ return feof(e->fin)? true : false;
}
FLAC__StreamDecoderWriteStatus flac_decoder_write_callback(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data)
{
- FLACDecoderData *data = (FLACDecoderData*)client_data;
+ EncoderSession *e = (EncoderSession*)client_data;
+ FLACDecoderData *data = &e->fmt.flac.client_data;
FLAC__uint64 n = min(data->samples_left_to_process, frame->header.blocksize);
(void)decoder;
- if(!EncoderSession_process(data->encoder_session, buffer, (unsigned)n)) {
- print_error_with_state(data->encoder_session, "ERROR during encoding");
+ /* Do some checks */
+ if(frame->header.channels != e->info.channels) {
+ print_error_with_state(e, "ERROR: number of channels of input changed mid-stream");
+ data->fatal_error = true;
+ return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
+ }
+ if(frame->header.bits_per_sample > e->info.bits_per_sample) {
+ print_error_with_state(e, "ERROR: bits-per-sample of input changed mid-stream");
+ data->fatal_error = true;
+ return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
+ }
+
+ if(!EncoderSession_process(e, buffer, (uint32_t)n)) {
+ print_error_with_state(e, "ERROR during encoding");
data->fatal_error = true;
return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
}
@@ -2572,7 +2542,8 @@ FLAC__StreamDecoderWriteStatus flac_decoder_write_callback(const FLAC__StreamDec
void flac_decoder_metadata_callback(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
{
- FLACDecoderData *data = (FLACDecoderData*)client_data;
+ EncoderSession *e = (EncoderSession*)client_data;
+ FLACDecoderData *data = &e->fmt.flac.client_data;
(void)decoder;
if (data->fatal_error)
@@ -2589,18 +2560,20 @@ void flac_decoder_metadata_callback(const FLAC__StreamDecoder *decoder, const FL
void flac_decoder_error_callback(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
{
- FLACDecoderData *data = (FLACDecoderData*)client_data;
+ EncoderSession *e = (EncoderSession*)client_data;
+ FLACDecoderData *data = &e->fmt.flac.client_data;
(void)decoder;
- flac__utils_printf(stderr, 1, "%s: ERROR got %s while decoding FLAC input\n", data->encoder_session->inbasefilename, FLAC__StreamDecoderErrorStatusString[status]);
- if(!data->encoder_session->continue_through_decode_errors)
+ stats_print_name(1, e->inbasefilename);
+ flac__utils_printf(stderr, 1, "ERROR got %s while decoding FLAC input\n", FLAC__StreamDecoderErrorStatusString[status]);
+ if(!e->continue_through_decode_errors)
data->fatal_error = true;
}
-FLAC__bool parse_cuesheet(FLAC__StreamMetadata **cuesheet, const char *cuesheet_filename, const char *inbasefilename, FLAC__bool is_cdda, FLAC__uint64 lead_out_offset, FLAC__bool treat_warnings_as_errors)
+FLAC__bool parse_cuesheet(FLAC__StreamMetadata **cuesheet, const char *cuesheet_filename, const char *inbasefilename, uint32_t sample_rate, FLAC__bool is_cdda, FLAC__uint64 lead_out_offset, FLAC__bool treat_warnings_as_errors)
{
FILE *f;
- unsigned last_line_read;
+ uint32_t last_line_read;
const char *error_message;
if(0 == cuesheet_filename)
@@ -2611,12 +2584,12 @@ FLAC__bool parse_cuesheet(FLAC__StreamMetadata **cuesheet, const char *cuesheet_
return false;
}
- if(0 == (f = fopen(cuesheet_filename, "r"))) {
+ if(0 == (f = flac_fopen(cuesheet_filename, "r"))) {
flac__utils_printf(stderr, 1, "%s: ERROR opening cuesheet \"%s\" for reading: %s\n", inbasefilename, cuesheet_filename, strerror(errno));
return false;
}
- *cuesheet = grabbag__cuesheet_parse(f, &error_message, &last_line_read, is_cdda, lead_out_offset);
+ *cuesheet = grabbag__cuesheet_parse(f, &error_message, &last_line_read, sample_rate, is_cdda, lead_out_offset);
fclose(f);
@@ -2641,30 +2614,30 @@ FLAC__bool parse_cuesheet(FLAC__StreamMetadata **cuesheet, const char *cuesheet_
return true;
}
-void print_stats(const EncoderSession *encoder_session)
+static void print_stats(const EncoderSession *encoder_session)
{
- const FLAC__uint64 samples_written = min(encoder_session->total_samples_to_encode, encoder_session->samples_written);
-#if defined _MSC_VER || defined __MINGW32__
- /* with MSVC you have to spoon feed it the casting */
- const double progress = (double)(FLAC__int64)samples_written / (double)(FLAC__int64)encoder_session->total_samples_to_encode;
- const double ratio = (double)(FLAC__int64)encoder_session->bytes_written / ((double)(FLAC__int64)encoder_session->unencoded_size * min(1.0, progress));
-#else
- const double progress = (double)samples_written / (double)encoder_session->total_samples_to_encode;
- const double ratio = (double)encoder_session->bytes_written / ((double)encoder_session->unencoded_size * min(1.0, progress));
-#endif
+ if(flac__utils_verbosity_ >= 2) {
+ char ratiostr[16];
- FLAC__ASSERT(encoder_session->total_samples_to_encode > 0);
+ FLAC__ASSERT(encoder_session->total_samples_to_encode > 0);
- if(samples_written == encoder_session->total_samples_to_encode) {
- flac__utils_printf(stderr, 2, "\r%s:%s wrote %u bytes, ratio=%0.3f",
- encoder_session->inbasefilename,
- encoder_session->verify? " Verify OK," : "",
- (unsigned)encoder_session->bytes_written,
- ratio
- );
- }
- else {
- flac__utils_printf(stderr, 2, "\r%s: %u%% complete, ratio=%0.3f", encoder_session->inbasefilename, (unsigned)floor(progress * 100.0 + 0.5), ratio);
+ if (encoder_session->compression_ratio > 0.0)
+ flac_snprintf(ratiostr, sizeof(ratiostr), "%0.3f", encoder_session->compression_ratio);
+ else
+ flac_snprintf(ratiostr, sizeof(ratiostr), "N/A");
+
+ if(encoder_session->samples_written == encoder_session->total_samples_to_encode) {
+ stats_print_name(2, encoder_session->inbasefilename);
+ stats_print_info(2, "%swrote %" PRIu64 " bytes, ratio=%s",
+ encoder_session->verify? "Verify OK, " : "",
+ encoder_session->bytes_written,
+ ratiostr
+ );
+ }
+ else {
+ stats_print_name(2, encoder_session->inbasefilename);
+ stats_print_info(2, "%u%% complete, ratio=%s", (uint32_t)floor(encoder_session->progress * 100.0 + 0.5), ratiostr);
+ }
}
}
@@ -2694,7 +2667,12 @@ void print_error_with_init_status(const EncoderSession *e, const char *message,
"\n"
"An error occurred opening the output file; it is likely that the output\n"
"directory does not exist or is not writable, the output file already exists and\n"
+#ifdef _WIN32
+ "is not writeable, the disk is full or the file has a filename that exceeds the\n"
+ "path length limit.\n"
+#else
"is not writable, or the disk is full.\n"
+#endif
);
}
}
@@ -2704,7 +2682,7 @@ void print_error_with_init_status(const EncoderSession *e, const char *message,
"The encoding parameters specified do not conform to the FLAC Subset and may not\n"
"be streamable or playable in hardware devices. If you really understand the\n"
"consequences, you can add --lax to the command-line options to encode with\n"
- "these parameters anyway. See http://flac.sourceforge.net/format.html#subset\n"
+ "these parameters anyway. See http://xiph.org/flac/format.html#subset\n"
);
}
}
@@ -2732,33 +2710,33 @@ void print_error_with_state(const EncoderSession *e, const char *message)
void print_verify_error(EncoderSession *e)
{
FLAC__uint64 absolute_sample;
- unsigned frame_number;
- unsigned channel;
- unsigned sample;
+ uint32_t frame_number;
+ uint32_t channel;
+ uint32_t sample;
FLAC__int32 expected;
FLAC__int32 got;
FLAC__stream_encoder_get_verify_decoder_error_stats(e->encoder, &absolute_sample, &frame_number, &channel, &sample, &expected, &got);
flac__utils_printf(stderr, 1, "%s: ERROR: mismatch in decoded data, verify FAILED!\n", e->inbasefilename);
- flac__utils_printf(stderr, 1, " Absolute sample=%u, frame=%u, channel=%u, sample=%u, expected %d, got %d\n", (unsigned)absolute_sample, frame_number, channel, sample, expected, got);
+ flac__utils_printf(stderr, 1, " Absolute sample=%" PRIu64 ", frame=%u, channel=%u, sample=%u, expected %d, got %d\n", absolute_sample, frame_number, channel, sample, expected, got);
flac__utils_printf(stderr, 1, " In all known cases, verify errors are caused by hardware problems,\n");
flac__utils_printf(stderr, 1, " usually overclocking or bad RAM. Delete %s\n", e->outfilename);
flac__utils_printf(stderr, 1, " and repeat the flac command exactly as before. If it does not give a\n");
flac__utils_printf(stderr, 1, " verify error in the exact same place each time you try it, then there is\n");
flac__utils_printf(stderr, 1, " a problem with your hardware; please see the FAQ:\n");
- flac__utils_printf(stderr, 1, " http://flac.sourceforge.net/faq.html#tools__hardware_prob\n");
+ flac__utils_printf(stderr, 1, " http://xiph.org/flac/faq.html#tools__hardware_prob\n");
flac__utils_printf(stderr, 1, " If it does fail in the exact same place every time, keep\n");
flac__utils_printf(stderr, 1, " %s and submit a bug report to:\n", e->outfilename);
- flac__utils_printf(stderr, 1, " https://sourceforge.net/bugs/?func=addbug&group_id=13478\n");
+ flac__utils_printf(stderr, 1, " https://github.com/xiph/flac/issues\n");
flac__utils_printf(stderr, 1, " Make sure to upload the FLAC file and use the \"Monitor\" feature to\n");
flac__utils_printf(stderr, 1, " monitor the bug status.\n");
flac__utils_printf(stderr, 1, "Verify FAILED! Do not trust %s\n", e->outfilename);
}
-FLAC__bool read_little_endian_uint16(FILE *f, FLAC__uint16 *val, FLAC__bool eof_ok, const char *fn)
+FLAC__bool read_bytes(FILE *f, FLAC__byte *buf, size_t n, FLAC__bool eof_ok, const char *fn)
{
- size_t bytes_read = fread(val, 1, 2, f);
+ size_t bytes_read = fread(buf, 1, n, f);
if(bytes_read == 0) {
if(!eof_ok) {
@@ -2768,148 +2746,102 @@ FLAC__bool read_little_endian_uint16(FILE *f, FLAC__uint16 *val, FLAC__bool eof_
else
return true;
}
- else if(bytes_read < 2) {
+ if(bytes_read < n) {
flac__utils_printf(stderr, 1, "%s: ERROR: unexpected EOF\n", fn);
return false;
}
- else {
- if(is_big_endian_host_) {
- FLAC__byte tmp, *b = (FLAC__byte*)val;
- tmp = b[1]; b[1] = b[0]; b[0] = tmp;
- }
- return true;
- }
+ return true;
}
-FLAC__bool read_little_endian_uint32(FILE *f, FLAC__uint32 *val, FLAC__bool eof_ok, const char *fn)
+FLAC__bool read_uint16(FILE *f, FLAC__bool big_endian, FLAC__uint16 *val, const char *fn)
{
- size_t bytes_read = fread(val, 1, 4, f);
-
- if(bytes_read == 0) {
- if(!eof_ok) {
- flac__utils_printf(stderr, 1, "%s: ERROR: unexpected EOF\n", fn);
- return false;
- }
- else
- return true;
- }
- else if(bytes_read < 4) {
- flac__utils_printf(stderr, 1, "%s: ERROR: unexpected EOF\n", fn);
+ if(!read_bytes(f, (FLAC__byte*)val, 2, /*eof_ok=*/false, fn))
return false;
+ if(is_big_endian_host_ != big_endian) {
+ FLAC__byte tmp, *b = (FLAC__byte*)val;
+ tmp = b[1]; b[1] = b[0]; b[0] = tmp;
}
- else {
- if(is_big_endian_host_) {
- FLAC__byte tmp, *b = (FLAC__byte*)val;
- tmp = b[3]; b[3] = b[0]; b[0] = tmp;
- tmp = b[2]; b[2] = b[1]; b[1] = tmp;
- }
- return true;
- }
+ return true;
}
-FLAC__bool read_big_endian_uint16(FILE *f, FLAC__uint16 *val, FLAC__bool eof_ok, const char *fn)
+FLAC__bool read_uint32(FILE *f, FLAC__bool big_endian, FLAC__uint32 *val, const char *fn)
{
- unsigned char buf[4];
- size_t bytes_read= fread(buf, 1, 2, f);
-
- if(bytes_read==0U && eof_ok)
- return true;
- else if(bytes_read<2U) {
- flac__utils_printf(stderr, 1, "%s: ERROR: unexpected EOF\n", fn);
+ if(!read_bytes(f, (FLAC__byte*)val, 4, /*eof_ok=*/false, fn))
return false;
+ if(is_big_endian_host_ != big_endian) {
+ FLAC__byte tmp, *b = (FLAC__byte*)val;
+ tmp = b[3]; b[3] = b[0]; b[0] = tmp;
+ tmp = b[2]; b[2] = b[1]; b[1] = tmp;
}
-
- /* this is independent of host endianness */
- *val= (FLAC__uint16)(buf[0])<<8 | buf[1];
-
return true;
}
-FLAC__bool read_big_endian_uint32(FILE *f, FLAC__uint32 *val, FLAC__bool eof_ok, const char *fn)
+FLAC__bool read_uint64(FILE *f, FLAC__bool big_endian, FLAC__uint64 *val, const char *fn)
{
- unsigned char buf[4];
- size_t bytes_read= fread(buf, 1, 4, f);
-
- if(bytes_read==0U && eof_ok)
- return true;
- else if(bytes_read<4U) {
- flac__utils_printf(stderr, 1, "%s: ERROR: unexpected EOF\n", fn);
+ if(!read_bytes(f, (FLAC__byte*)val, 8, /*eof_ok=*/false, fn))
return false;
+ if(is_big_endian_host_ != big_endian) {
+ FLAC__byte tmp, *b = (FLAC__byte*)val;
+ tmp = b[7]; b[7] = b[0]; b[0] = tmp;
+ tmp = b[6]; b[6] = b[1]; b[1] = tmp;
+ tmp = b[5]; b[5] = b[2]; b[2] = tmp;
+ tmp = b[4]; b[4] = b[3]; b[3] = tmp;
}
-
- /* this is independent of host endianness */
- *val= (FLAC__uint32)(buf[0])<<24 | (FLAC__uint32)(buf[1])<<16 |
- (FLAC__uint32)(buf[2])<<8 | buf[3];
-
return true;
}
-FLAC__bool read_sane_extended(FILE *f, FLAC__uint32 *val, FLAC__bool eof_ok, const char *fn)
+FLAC__bool read_sane_extended(FILE *f, FLAC__uint32 *val, const char *fn)
/* Read an IEEE 754 80-bit (aka SANE) extended floating point value from 'f',
* convert it into an integral value and store in 'val'. Return false if only
- * between 1 and 9 bytes remain in 'f', if 0 bytes remain in 'f' and 'eof_ok' is
- * false, or if the value is negative, between zero and one, or too large to be
- * represented by 'val'; return true otherwise.
+ * between 1 and 9 bytes remain in 'f', if 0 bytes remain in 'f', or if the
+ * value is negative, between zero and one, or too large to be represented by
+ * 'val'; return true otherwise.
*/
{
- unsigned int i;
- unsigned char buf[10];
- size_t bytes_read= fread(buf, 1U, 10U, f);
- FLAC__int16 e= ((FLAC__uint16)(buf[0])<<8 | (FLAC__uint16)(buf[1]))-0x3FFF;
- FLAC__int16 shift= 63-e;
- FLAC__uint64 p= 0U;
-
- if(bytes_read==0U && eof_ok)
- return true;
- else if(bytes_read<10U) {
- flac__utils_printf(stderr, 1, "%s: ERROR: unexpected EOF\n", fn);
+ uint32_t i;
+ FLAC__byte buf[10];
+ FLAC__uint64 p = 0;
+ FLAC__int16 e;
+ FLAC__int16 shift;
+
+ if(!read_bytes(f, buf, sizeof(buf), /*eof_ok=*/false, fn))
return false;
- }
- else if((buf[0]>>7)==1U || e<0 || e>63) {
+ e = ((FLAC__uint16)(buf[0])<<8 | (FLAC__uint16)(buf[1]))-0x3FFF;
+ shift = 63-e;
+ if((buf[0]>>7)==1U || e<0 || e>=63) {
flac__utils_printf(stderr, 1, "%s: ERROR: invalid floating-point value\n", fn);
return false;
}
- for(i= 0U; i<8U; ++i)
- p|= (FLAC__uint64)(buf[i+2])<<(56U-i*8);
- *val= (FLAC__uint32)((p>>shift)+(p>>(shift-1) & 0x1));
+ for(i = 0; i < 8; ++i)
+ p |= (FLAC__uint64)(buf[i+2])<<(56U-i*8);
+ *val = (FLAC__uint32)((p>>shift)+(p>>(shift-1) & 0x1));
return true;
}
FLAC__bool fskip_ahead(FILE *f, FLAC__uint64 offset)
{
- static unsigned char dump[8192];
-
-#ifdef _MSC_VER
- if(f == stdin) {
- /* MS' stdio impl can't even seek forward on stdin, have to use pure non-fseek() version: */
- while(offset > 0) {
- const long need = (long)min(offset, sizeof(dump));
- if((long)fread(dump, 1, need, f) < need)
- return false;
- offset -= need;
- }
- }
- else
-#endif
+ static uint8_t dump[8192];
+ struct flac_stat_s stb;
+
+ if(flac_fstat(fileno(f), &stb) == 0 && (stb.st_mode & S_IFMT) == S_IFREG)
{
- while(offset > 0) {
- long need = (long)min(offset, LONG_MAX);
- if(fseeko(f, need, SEEK_CUR) < 0) {
- need = (long)min(offset, sizeof(dump));
- if((long)fread(dump, 1, need, f) < need)
- return false;
- }
- offset -= need;
- }
+ if(fseeko(f, offset, SEEK_CUR) == 0)
+ return true;
+ }
+ while(offset > 0) {
+ const long need = (long)min(offset, sizeof(dump));
+ if((long)fread(dump, 1, need, f) < need)
+ return false;
+ offset -= need;
}
return true;
}
-unsigned count_channel_mask_bits(FLAC__uint32 mask)
+uint32_t count_channel_mask_bits(FLAC__uint32 mask)
{
- unsigned count = 0;
+ uint32_t count = 0;
while(mask) {
if(mask & 1)
count++;
@@ -2918,19 +2850,3 @@ unsigned count_channel_mask_bits(FLAC__uint32 mask)
return count;
}
-#if 0
-FLAC__uint32 limit_channel_mask(FLAC__uint32 mask, unsigned channels)
-{
- FLAC__uint32 x = 0x80000000;
- unsigned count = count_channel_mask_bits(mask);
- while(x && count > channels) {
- if(mask & x) {
- mask &= ~x;
- count--;
- }
- x >>= 1;
- }
- FLAC__ASSERT(count_channel_mask_bits(mask) == channels);
- return mask;
-}
-#endif
diff --git a/3rdparty/libflac/src/flac/encode.h b/3rdparty/libflac/src/flac/encode.h
index 13ee7d39a02..2d65c506899 100644
--- a/3rdparty/libflac/src/flac/encode.h
+++ b/3rdparty/libflac/src/flac/encode.h
@@ -1,5 +1,6 @@
/* flac - Command-line FLAC encoder/decoder
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,21 +12,22 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef flac__encode_h
#define flac__encode_h
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "FLAC/metadata.h"
#include "foreign_metadata.h"
#include "utils.h"
+#include "share/compat.h"
extern const int FLAC_ENCODE__DEFAULT_PADDING;
@@ -74,19 +76,33 @@ typedef struct {
FLAC__bool cued_seekpoints;
FLAC__bool channel_map_none; /* --channel-map=none specified, eventually will expand to take actual channel map */
- /* options related to --replay-gain and --sector-align */
FLAC__bool is_first_file;
FLAC__bool is_last_file;
- FLAC__int32 **align_reservoir;
- unsigned *align_reservoir_samples;
FLAC__bool replay_gain;
FLAC__bool ignore_chunk_sizes;
- FLAC__bool sector_align;
+ FLAC__bool error_on_compression_fail;
+ FLAC__bool limit_min_bitrate;
+ FLAC__bool relaxed_foreign_metadata_handling;
FLAC__StreamMetadata *vorbis_comment;
+ FLAC__StreamMetadata *vorbis_comment_with_channel_mask_tag;
FLAC__StreamMetadata *pictures[64];
unsigned num_pictures;
+ FileFormat format;
+ union {
+ struct {
+ FLAC__bool is_big_endian;
+ FLAC__bool is_unsigned_samples;
+ unsigned channels;
+ unsigned bps;
+ unsigned sample_rate;
+ } raw;
+ struct {
+ foreign_metadata_t *foreign_metadata; /* NULL unless --keep-foreign-metadata requested */
+ } iff;
+ } format_options;
+
struct {
FLAC__bool disable_constant_subframes;
FLAC__bool disable_fixed_subframes;
@@ -95,28 +111,6 @@ typedef struct {
} debug;
} encode_options_t;
-typedef struct {
- encode_options_t common;
- foreign_metadata_t *foreign_metadata; /* NULL unless --keep-foreign-metadata requested */
-} wav_encode_options_t;
-
-typedef struct {
- encode_options_t common;
-
- FLAC__bool is_big_endian;
- FLAC__bool is_unsigned_samples;
- unsigned channels;
- unsigned bps;
- unsigned sample_rate;
-} raw_encode_options_t;
-
-typedef struct {
- encode_options_t common;
-} flac_encode_options_t;
-
-int flac__encode_aif(FILE *infile, off_t infilesize, const char *infilename, const char *outfilename, const FLAC__byte *lookahead, unsigned lookahead_length, wav_encode_options_t options, FLAC__bool is_aifc);
-int flac__encode_wav(FILE *infile, off_t infilesize, const char *infilename, const char *outfilename, const FLAC__byte *lookahead, unsigned lookahead_length, wav_encode_options_t options);
-int flac__encode_raw(FILE *infile, off_t infilesize, const char *infilename, const char *outfilename, const FLAC__byte *lookahead, unsigned lookahead_length, raw_encode_options_t options);
-int flac__encode_flac(FILE *infile, off_t infilesize, const char *infilename, const char *outfilename, const FLAC__byte *lookahead, unsigned lookahead_length, flac_encode_options_t options, FLAC__bool input_is_ogg);
+int flac__encode_file(FILE *infile, FLAC__off_t infilesize, const char *infilename, const char *outfilename, const FLAC__byte *lookahead, uint32_t lookahead_length, encode_options_t options);
#endif
diff --git a/3rdparty/libflac/src/flac/flac.dsp b/3rdparty/libflac/src/flac/flac.dsp
deleted file mode 100644
index ae2ad597d00..00000000000
--- a/3rdparty/libflac/src/flac/flac.dsp
+++ /dev/null
@@ -1,156 +0,0 @@
-# Microsoft Developer Studio Project File - Name="flac" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=flac - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "flac.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "flac.mak" CFG="flac - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "flac - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "flac - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "flac - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\obj\release\bin"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /I "..\..\include" /D "NDEBUG" /D "FLAC__NO_DLL" /D "FLAC__HAS_OGG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\obj\release\lib\grabbag_static.lib ..\..\obj\release\lib\libFLAC_static.lib ..\..\obj\release\lib\replaygain_analysis_static.lib ..\..\obj\release\lib\replaygain_synthesis_static.lib ..\..\obj\release\lib\getopt_static.lib ..\..\obj\release\lib\utf8_static.lib ..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "flac - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\obj\debug\bin"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "." /I "..\..\include" /D "_DEBUG" /D "DEBUG" /D "FLAC__NO_DLL" /D "FLAC__HAS_OGG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\obj\debug\lib\grabbag_static.lib ..\..\obj\debug\lib\libFLAC_static.lib ..\..\obj\debug\lib\replaygain_analysis_static.lib ..\..\obj\debug\lib\replaygain_synthesis_static.lib ..\..\obj\debug\lib\getopt_static.lib ..\..\obj\debug\lib\utf8_static.lib ..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "flac - Win32 Release"
-# Name "flac - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\analyze.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\decode.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\encode.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\foreign_metadata.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\main.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\local_string_utils.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\utils.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\vorbiscomment.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\analyze.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\decode.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\encode.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\foreign_metadata.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\local_string_utils.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\utils.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\vorbiscomment.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/flac/flac.vcproj b/3rdparty/libflac/src/flac/flac.vcproj
deleted file mode 100644
index 0680364335e..00000000000
--- a/3rdparty/libflac/src/flac/flac.vcproj
+++ /dev/null
@@ -1,260 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="flac"
- ProjectGUID="{4cefbc7d-c215-11db-8314-0800200c9a66}"
- RootNamespace="flac"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\obj\debug\bin"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".;..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;FLAC__HAS_OGG;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="2"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\obj\release\bin"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".;..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;FLAC__HAS_OGG;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="1"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\analyze.h"
- >
- </File>
- <File
- RelativePath=".\decode.h"
- >
- </File>
- <File
- RelativePath=".\encode.h"
- >
- </File>
- <File
- RelativePath=".\foreign_metadata.h"
- >
- </File>
- <File
- RelativePath=".\local_string_utils.h"
- >
- </File>
- <File
- RelativePath=".\utils.h"
- >
- </File>
- <File
- RelativePath=".\vorbiscomment.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\analyze.c"
- >
- </File>
- <File
- RelativePath=".\decode.c"
- >
- </File>
- <File
- RelativePath=".\encode.c"
- >
- </File>
- <File
- RelativePath=".\foreign_metadata.c"
- >
- </File>
- <File
- RelativePath=".\local_string_utils.c"
- >
- </File>
- <File
- RelativePath=".\main.c"
- >
- </File>
- <File
- RelativePath=".\utils.c"
- >
- </File>
- <File
- RelativePath=".\vorbiscomment.c"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/flac/foreign_metadata.c b/3rdparty/libflac/src/flac/foreign_metadata.c
index 3fc5310bbf4..f63fc3e60a5 100644
--- a/3rdparty/libflac/src/flac/foreign_metadata.c
+++ b/3rdparty/libflac/src/flac/foreign_metadata.c
@@ -1,5 +1,6 @@
/* flac - Command-line FLAC encoder/decoder
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,28 +12,22 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
-#if defined _MSC_VER || defined __MINGW32__
-#include <sys/types.h> /* for off_t */
-#if _MSC_VER <= 1600 /* @@@ [2G limit] */
-#define fseeko fseek
-#define ftello ftell
-#endif
-#endif
#include <stdio.h> /* for FILE etc. */
#include <stdlib.h> /* for calloc() etc. */
#include <string.h> /* for memcmp() etc. */
#include "FLAC/assert.h"
#include "FLAC/metadata.h"
#include "share/alloc.h"
+#include "share/compat.h"
#include "foreign_metadata.h"
#ifdef min
@@ -40,8 +35,7 @@
#endif
#define min(x,y) ((x)<(y)?(x):(y))
-
-static const char *FLAC__FOREIGN_METADATA_APPLICATION_ID[2] = { "aiff" , "riff" };
+const char *FLAC__FOREIGN_METADATA_APPLICATION_ID[FLAC__FOREIGN_METADATA_NUMBER_OF_RECOGNIZED_APPLICATION_IDS] = { "aiff" , "riff", "w64 " };
static FLAC__uint32 unpack32be_(const FLAC__byte *b)
{
@@ -53,9 +47,15 @@ static FLAC__uint32 unpack32le_(const FLAC__byte *b)
return (FLAC__uint32)b[0] + ((FLAC__uint32)b[1]<<8) + ((FLAC__uint32)b[2]<<16) + ((FLAC__uint32)b[3]<<24);
}
+static FLAC__uint64 unpack64le_(const FLAC__byte *b)
+{
+ return (FLAC__uint64)b[0] + ((FLAC__uint64)b[1]<<8) + ((FLAC__uint64)b[2]<<16) + ((FLAC__uint64)b[3]<<24) + ((FLAC__uint64)b[4]<<32) + ((FLAC__uint64)b[5]<<40) + ((FLAC__uint64)b[6]<<48) + ((FLAC__uint64)b[7]<<56);
+}
+
+/* copies 'size' bytes from file 'fin' to 'fout', filling in *error with 'read_error' or 'write_error' as necessary */
static FLAC__bool copy_data_(FILE *fin, FILE *fout, size_t size, const char **error, const char * const read_error, const char * const write_error)
{
- static FLAC__byte buffer[4096];
+ FLAC__byte buffer[4096];
size_t left;
for(left = size; left > 0; ) {
size_t need = min(sizeof(buffer), left);
@@ -72,9 +72,39 @@ static FLAC__bool copy_data_(FILE *fin, FILE *fout, size_t size, const char **er
return true;
}
-static FLAC__bool append_block_(foreign_metadata_t *fm, off_t offset, FLAC__uint32 size, const char **error)
+/* compare 'size' bytes from file 'fin' to 'fout', filling in *error with 'read_error' or 'write_error' as necessary */
+static FLAC__bool compare_data_(FILE *fin, FILE *fout, size_t size, const char **error, const char * const read_error, const char * const write_error, const char * const compare_error)
{
- foreign_block_t *fb = safe_realloc_muladd2_(fm->blocks, sizeof(foreign_block_t), /*times (*/fm->num_blocks, /*+*/1/*)*/);
+ FLAC__byte buffer_in[4096];
+ FLAC__byte buffer_out[4096]; /* sizes need to be the same */
+ size_t left;
+ for(left = size; left > 0; ) {
+ size_t need = min(sizeof(buffer_in), left);
+ if(fread(buffer_in, 1, need, fin) < need) {
+ if(error) *error = read_error;
+ return false;
+ }
+ if(fread(buffer_out, 1, need, fout) < need) {
+ if(error) *error = write_error;
+ return false;
+ }
+ if(memcmp(buffer_in, buffer_out, need)) {
+ if(error) *error = compare_error;
+ return false;
+ }
+ left -= need;
+ }
+ return true;
+}
+
+static FLAC__bool append_block_(foreign_metadata_t *fm, FLAC__off_t offset, FLAC__uint32 size, const char **error)
+{
+ foreign_block_t *fb;
+ if(size >= ((1u << FLAC__STREAM_METADATA_LENGTH_LEN) - FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8)) {
+ if(error) *error = "found foreign metadata chunk is too large (max is 16MiB per chunk)";
+ return false;
+ }
+ fb = safe_realloc_nofree_muladd2_(fm->blocks, sizeof(foreign_block_t), /*times (*/fm->num_blocks, /*+*/1/*)*/);
if(fb) {
fb[fm->num_blocks].offset = offset;
fb[fm->num_blocks].size = size;
@@ -89,7 +119,7 @@ static FLAC__bool append_block_(foreign_metadata_t *fm, off_t offset, FLAC__uint
static FLAC__bool read_from_aiff_(foreign_metadata_t *fm, FILE *f, const char **error)
{
FLAC__byte buffer[12];
- off_t offset, eof_offset;
+ FLAC__off_t offset, eof_offset;
if((offset = ftello(f)) < 0) {
if(error) *error = "ftello() error (001)";
return false;
@@ -100,7 +130,7 @@ static FLAC__bool read_from_aiff_(foreign_metadata_t *fm, FILE *f, const char **
}
if(!append_block_(fm, offset, 12, error))
return false;
- eof_offset = 8 + unpack32be_(buffer+4);
+ eof_offset = (FLAC__off_t)8 + (FLAC__off_t)unpack32be_(buffer+4);
while(!feof(f)) {
FLAC__uint32 size;
if((offset = ftello(f)) < 0) {
@@ -148,9 +178,15 @@ static FLAC__bool read_from_aiff_(foreign_metadata_t *fm, FILE *f, const char **
if(error) *error = "invalid AIFF file: seek error (010)";
return false;
}
+ /* WATCHOUT: For SSND we ignore the blockSize and are not saving any
+ * unaligned part at the end of the chunk. In retrospect it is pretty
+ * pointless to save the unaligned data before the PCM but now it is
+ * done and cast in stone.
+ */
}
if(!append_block_(fm, offset, 8 + (memcmp(buffer, "SSND", 4)? size : 8 + fm->ssnd_offset_size), error))
return false;
+ /* skip to next chunk */
if(fseeko(f, size, SEEK_CUR) < 0) {
if(error) *error = "invalid AIFF file: seek error (011)";
return false;
@@ -174,20 +210,30 @@ static FLAC__bool read_from_aiff_(foreign_metadata_t *fm, FILE *f, const char **
static FLAC__bool read_from_wave_(foreign_metadata_t *fm, FILE *f, const char **error)
{
FLAC__byte buffer[12];
- off_t offset, eof_offset;
+ FLAC__off_t offset, eof_offset = -1, ds64_data_size = -1;
if((offset = ftello(f)) < 0) {
if(error) *error = "ftello() error (001)";
return false;
}
- if(fread(buffer, 1, 12, f) < 12 || memcmp(buffer, "RIFF", 4) || memcmp(buffer+8, "WAVE", 4)) {
+ if(fread(buffer, 1, 12, f) < 12 || (memcmp(buffer, "RIFF", 4) && memcmp(buffer, "RF64", 4)) || memcmp(buffer+8, "WAVE", 4)) {
if(error) *error = "unsupported RIFF layout (002)";
return false;
}
+ if(!memcmp(buffer, "RF64", 4))
+ fm->is_rf64 = true;
+ if(fm->is_rf64 && sizeof(FLAC__off_t) < 8) {
+ if(error) *error = "RF64 is not supported on this compile (r00)";
+ return false;
+ }
if(!append_block_(fm, offset, 12, error))
return false;
- eof_offset = 8 + unpack32le_(buffer+4);
+ if(!fm->is_rf64 || unpack32le_(buffer+4) != 0xffffffff) {
+ eof_offset = (FLAC__off_t)8 + (FLAC__off_t)unpack32le_(buffer+4);
+ if(eof_offset & 1) /* fix odd RIFF size */
+ eof_offset++;
+ }
while(!feof(f)) {
- FLAC__uint32 size;
+ FLAC__off_t size;
if((offset = ftello(f)) < 0) {
if(error) *error = "ftello() error (003)";
return false;
@@ -223,14 +269,77 @@ static FLAC__bool read_from_wave_(foreign_metadata_t *fm, FILE *f, const char **
return false;
}
fm->audio_block = fm->num_blocks;
+ if(fm->is_rf64 && fm->num_blocks < 2) {
+ if(error) *error = "invalid RF64 file: \"data\" chunk before \"ds64\" chunk (r01)";
+ return false;
+ }
}
if(!append_block_(fm, offset, 8 + (memcmp(buffer, "data", 4)? size : 0), error))
return false;
- if(fseeko(f, size, SEEK_CUR) < 0) {
- if(error) *error = "invalid WAVE file: seek error (009)";
- return false;
+ /* parse ds64 chunk if necessary */
+ if(fm->is_rf64 && fm->num_blocks == 2) {
+ FLAC__byte buffer2[7*4];
+ if(memcmp(buffer, "ds64", 4)) {
+ if(error) *error = "invalid RF64 file: \"ds64\" chunk does not immediately follow \"WAVE\" marker (r02)";
+ return false;
+ }
+ /* unpack the size again since we don't want the padding byte effect */
+ size = unpack32le_(buffer+4);
+ if(size < (FLAC__off_t)sizeof(buffer2)) {
+ if(error) *error = "invalid RF64 file: \"ds64\" chunk size is < 28 (r03)";
+ return false;
+ }
+ if(size > (FLAC__off_t)sizeof(buffer2)) {
+ if(error) *error = "RF64 file has \"ds64\" chunk with extra size table, which is not currently supported (r04)";
+ return false;
+ }
+ if(fread(buffer2, 1, sizeof(buffer2), f) < sizeof(buffer2)) {
+ if(error) *error = "unexpected EOF reading \"ds64\" chunk data in RF64 file (r05)";
+ return false;
+ }
+ ds64_data_size = (FLAC__off_t)unpack64le_(buffer2+8);
+ if(ds64_data_size == (FLAC__off_t)(-1)) {
+ if(error) *error = "RF64 file has \"ds64\" chunk with data size == -1 (r08)";
+ return false;
+ }
+ /* check if pad byte needed */
+ if(ds64_data_size & 1)
+ ds64_data_size++;
+ /* @@@ [2^63 limit] */
+ if(ds64_data_size < 0) {
+ if(error) *error = "RF64 file too large (r09)";
+ return false;
+ }
+ if(unpack32le_(buffer2+24)) {
+ if(error) *error = "RF64 file has \"ds64\" chunk with extra size table, which is not currently supported (r06)";
+ return false;
+ }
+ eof_offset = (FLAC__off_t)8 + (FLAC__off_t)unpack64le_(buffer2);
+ /* @@@ [2^63 limit] */
+ if((FLAC__off_t)unpack64le_(buffer2) < 0 || eof_offset < 0) {
+ if(error) *error = "RF64 file too large (r07)";
+ return false;
+ }
+ }
+ else { /* skip to next chunk */
+ if(fm->is_rf64 && !memcmp(buffer, "data", 4) && unpack32le_(buffer+4) == 0xffffffff) {
+ if(fseeko(f, ds64_data_size, SEEK_CUR) < 0) {
+ if(error) *error = "invalid RF64 file: seek error (r10)";
+ return false;
+ }
+ }
+ else {
+ if(fseeko(f, size, SEEK_CUR) < 0) {
+ if(error) *error = "invalid WAVE file: seek error (009)";
+ return false;
+ }
+ }
}
}
+ if(fm->is_rf64 && eof_offset == (FLAC__off_t)(-1)) {
+ if(error) *error = "invalid RF64 file: all RIFF sizes are -1 (r11)";
+ return false;
+ }
if(eof_offset != ftello(f)) {
if(error) *error = "invalid WAVE file: unexpected EOF (010)";
return false;
@@ -246,10 +355,98 @@ static FLAC__bool read_from_wave_(foreign_metadata_t *fm, FILE *f, const char **
return true;
}
+static FLAC__bool read_from_wave64_(foreign_metadata_t *fm, FILE *f, const char **error)
+{
+ FLAC__byte buffer[40];
+ FLAC__off_t offset, eof_offset = -1;
+ if((offset = ftello(f)) < 0) {
+ if(error) *error = "ftello() error (001)";
+ return false;
+ }
+ if(
+ fread(buffer, 1, 40, f) < 40 ||
+ /* RIFF GUID 66666972-912E-11CF-A5D6-28DB04C10000 */
+ memcmp(buffer, "\x72\x69\x66\x66\x2E\x91\xCF\x11\xA5\xD6\x28\xDB\x04\xC1\x00\x00", 16) ||
+ /* WAVE GUID 65766177-ACF3-11D3-8CD1-00C04F8EDB8A */
+ memcmp(buffer+24, "\x77\x61\x76\x65\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 16)
+ ) {
+ if(error) *error = "unsupported Wave64 layout (002)";
+ return false;
+ }
+ if(sizeof(FLAC__off_t) < 8) {
+ if(error) *error = "Wave64 is not supported on this compile (r00)";
+ return false;
+ }
+ if(!append_block_(fm, offset, 40, error))
+ return false;
+ eof_offset = (FLAC__off_t)unpack64le_(buffer+16); /*@@@ [2^63 limit] */
+ while(!feof(f)) {
+ FLAC__uint64 size;
+ if((offset = ftello(f)) < 0) {
+ if(error) *error = "ftello() error (003)";
+ return false;
+ }
+ if((size = fread(buffer, 1, 24, f)) < 24) {
+ if(size == 0 && feof(f))
+ break;
+ if(error) *error = "invalid Wave64 file (004)";
+ return false;
+ }
+ size = unpack64le_(buffer+16);
+ /* check if pad bytes needed */
+ if(size & 7)
+ size = (size+7) & (~((FLAC__uint64)7));
+ /* fmt GUID 20746D66-ACF3-11D3-8CD1-00C04F8EDB8A */
+ if(!memcmp(buffer, "\x66\x6D\x74\x20\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 16)) {
+ if(fm->format_block) {
+ if(error) *error = "invalid Wave64 file: multiple \"fmt \" chunks (005)";
+ return false;
+ }
+ if(fm->audio_block) {
+ if(error) *error = "invalid Wave64 file: \"data\" chunk before \"fmt \" chunk (006)";
+ return false;
+ }
+ fm->format_block = fm->num_blocks;
+ }
+ /* data GUID 61746164-ACF3-11D3-8CD1-00C04F8EDB8A */
+ else if(!memcmp(buffer, "\x64\x61\x74\x61\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 16)) {
+ if(fm->audio_block) {
+ if(error) *error = "invalid Wave64 file: multiple \"data\" chunks (007)";
+ return false;
+ }
+ if(!fm->format_block) {
+ if(error) *error = "invalid Wave64 file: \"data\" chunk before \"fmt \" chunk (008)";
+ return false;
+ }
+ fm->audio_block = fm->num_blocks;
+ }
+ if(!append_block_(fm, offset, memcmp(buffer, "\x64\x61\x74\x61\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 16)? (FLAC__uint32)size : 16+8, error))
+ return false;
+ /* skip to next chunk */
+ if(fseeko(f, size-24, SEEK_CUR) < 0) {
+ if(error) *error = "invalid Wave64 file: seek error (009)";
+ return false;
+ }
+ }
+ if(eof_offset != ftello(f)) {
+ if(error) *error = "invalid Wave64 file: unexpected EOF (010)";
+ return false;
+ }
+ if(!fm->format_block) {
+ if(error) *error = "invalid Wave64 file: missing \"fmt \" chunk (011)";
+ return false;
+ }
+ if(!fm->audio_block) {
+ if(error) *error = "invalid Wave64 file: missing \"data\" chunk (012)";
+ return false;
+ }
+ return true;
+}
+
static FLAC__bool write_to_flac_(foreign_metadata_t *fm, FILE *fin, FILE *fout, FLAC__Metadata_SimpleIterator *it, const char **error)
{
FLAC__byte buffer[4];
- const unsigned ID_LEN = FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8;
+ const uint32_t ID_LEN = FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8;
size_t block_num = 0;
FLAC__ASSERT(sizeof(buffer) >= ID_LEN);
while(block_num < fm->num_blocks) {
@@ -304,9 +501,10 @@ static FLAC__bool write_to_flac_(foreign_metadata_t *fm, FILE *fin, FILE *fout,
static FLAC__bool read_from_flac_(foreign_metadata_t *fm, FILE *f, FLAC__Metadata_SimpleIterator *it, const char **error)
{
- FLAC__byte id[4], buffer[12];
- off_t offset;
- FLAC__bool type_found = false;
+ FLAC__byte id[4], buffer[32];
+ FLAC__off_t offset;
+ FLAC__uint32 length;
+ FLAC__bool first_block = true, type_found = false, ds64_found = false;
FLAC__ASSERT(FLAC__STREAM_METADATA_APPLICATION_ID_LEN == sizeof(id)*8);
@@ -314,29 +512,54 @@ static FLAC__bool read_from_flac_(foreign_metadata_t *fm, FILE *f, FLAC__Metadat
if(FLAC__metadata_simple_iterator_get_block_type(it) != FLAC__METADATA_TYPE_APPLICATION)
continue;
if(!FLAC__metadata_simple_iterator_get_application_id(it, id)) {
- if(error) *error = "FLAC__metadata_simple_iterator_get_application_id() error (003)";
+ if(error) *error = "FLAC__metadata_simple_iterator_get_application_id() error (002)";
return false;
}
- if(memcmp(id, FLAC__FOREIGN_METADATA_APPLICATION_ID[fm->type], sizeof(id)))
+ if(first_block) {
+ uint32_t i;
+ for(i = 0; i < FLAC__FOREIGN_METADATA_NUMBER_OF_RECOGNIZED_APPLICATION_IDS; i++)
+ if(memcmp(id, FLAC__FOREIGN_METADATA_APPLICATION_ID[i], sizeof(id)) == 0) {
+ fm->type = i;
+ first_block = false;
+ }
+ if(first_block) /* means no first foreign metadata block was found yet */
+ continue;
+ }
+ else if(memcmp(id, FLAC__FOREIGN_METADATA_APPLICATION_ID[fm->type], sizeof(id)))
continue;
offset = FLAC__metadata_simple_iterator_get_block_offset(it);
+ length = FLAC__metadata_simple_iterator_get_block_length(it);
/* skip over header and app ID */
offset += (FLAC__STREAM_METADATA_IS_LAST_LEN + FLAC__STREAM_METADATA_TYPE_LEN + FLAC__STREAM_METADATA_LENGTH_LEN) / 8;
offset += sizeof(id);
/* look for format or audio blocks */
- if(fseek(f, offset, SEEK_SET) < 0) {
- if(error) *error = "seek error (004)";
+ if(fseeko(f, offset, SEEK_SET) < 0) {
+ if(error) *error = "seek error (003)";
return false;
}
if(fread(buffer, 1, 4, f) != 4) {
- if(error) *error = "read error (005)";
+ if(error) *error = "read error (004)";
return false;
}
- if(fm->num_blocks == 0) {
- if(fm->type == FOREIGN_BLOCK_TYPE__RIFF && 0 == memcmp(buffer, "RIFF", 4))
+ if(fm->num_blocks == 0) { /* first block? */
+ /* Initialize bools */
+ fm->is_wavefmtex = 0;
+ fm->is_aifc = 0;
+ fm->is_sowt = 0;
+ fm->is_rf64 = 0 == memcmp(buffer, "RF64", 4);
+
+ if(fm->type == FOREIGN_BLOCK_TYPE__RIFF && (0 == memcmp(buffer, "RIFF", 4) || fm->is_rf64))
+ type_found = true;
+ else if(fm->type == FOREIGN_BLOCK_TYPE__WAVE64 && 0 == memcmp(buffer, "riff", 4)) /* use first 4 bytes instead of whole GUID */
type_found = true;
- else if(fm->type == FOREIGN_BLOCK_TYPE__AIFF && 0 == memcmp(buffer, "FORM", 4))
+ else if(fm->type == FOREIGN_BLOCK_TYPE__AIFF && 0 == memcmp(buffer, "FORM", 4)) {
type_found = true;
+ if(fread(buffer+4, 1, 8, f) != 8) {
+ if(error) *error = "read error (020)";
+ return false;
+ }
+ fm->is_aifc = 0 == memcmp(buffer+8, "AIFC", 4);
+ }
else {
if(error) *error = "unsupported foreign metadata found, may need newer FLAC decoder (005)";
return false;
@@ -359,6 +582,11 @@ static FLAC__bool read_from_flac_(foreign_metadata_t *fm, FILE *f, FLAC__Metadat
return false;
}
fm->format_block = fm->num_blocks;
+ if(fread(buffer+4, 1, 8, f) != 8) {
+ if(error) *error = "read error (020)";
+ return false;
+ }
+ fm->is_wavefmtex = 0 == memcmp(buffer+8, "\xfe\xff", 2);
}
else if(!memcmp(buffer, "data", 4)) {
if(fm->audio_block) {
@@ -371,32 +599,71 @@ static FLAC__bool read_from_flac_(foreign_metadata_t *fm, FILE *f, FLAC__Metadat
}
fm->audio_block = fm->num_blocks;
}
+ else if(fm->is_rf64 && fm->num_blocks == 1) {
+ if(memcmp(buffer, "ds64", 4)) {
+ if(error) *error = "invalid RF64 metadata: second chunk is not \"ds64\" (011)";
+ return false;
+ }
+ ds64_found = true;
+ }
+ }
+ else if(fm->type == FOREIGN_BLOCK_TYPE__WAVE64) {
+ if(!memcmp(buffer, "fmt ", 4)) { /* use first 4 bytes instead of whole GUID */
+ if(fm->format_block) {
+ if(error) *error = "invalid Wave64 metadata: multiple \"fmt \" chunks (012)";
+ return false;
+ }
+ if(fm->audio_block) {
+ if(error) *error = "invalid Wave64 metadata: \"data\" chunk before \"fmt \" chunk (013)";
+ return false;
+ }
+ fm->format_block = fm->num_blocks;
+ }
+ else if(!memcmp(buffer, "data", 4)) { /* use first 4 bytes instead of whole GUID */
+ if(fm->audio_block) {
+ if(error) *error = "invalid Wave64 metadata: multiple \"data\" chunks (014)";
+ return false;
+ }
+ if(!fm->format_block) {
+ if(error) *error = "invalid Wave64 metadata: \"data\" chunk before \"fmt \" chunk (015)";
+ return false;
+ }
+ fm->audio_block = fm->num_blocks;
+ }
}
else if(fm->type == FOREIGN_BLOCK_TYPE__AIFF) {
if(!memcmp(buffer, "COMM", 4)) {
if(fm->format_block) {
- if(error) *error = "invalid AIFF metadata: multiple \"COMM\" chunks (011)";
+ if(error) *error = "invalid AIFF metadata: multiple \"COMM\" chunks (016)";
return false;
}
if(fm->audio_block) {
- if(error) *error = "invalid AIFF metadata: \"SSND\" chunk before \"COMM\" chunk (012)";
+ if(error) *error = "invalid AIFF metadata: \"SSND\" chunk before \"COMM\" chunk (017)";
return false;
}
fm->format_block = fm->num_blocks;
+ if(fm->is_aifc) {
+ if(fread(buffer+4, 1, 26, f) != 26) {
+ if(error) *error = "read error (020)";
+ return false;
+ }
+ fm->is_sowt = 0 == memcmp(buffer+26, "sowt", 2);
+ fm->aifc_comm_length = length;
+ }
}
else if(!memcmp(buffer, "SSND", 4)) {
if(fm->audio_block) {
- if(error) *error = "invalid AIFF metadata: multiple \"SSND\" chunks (013)";
+ if(error) *error = "invalid AIFF metadata: multiple \"SSND\" chunks (018)";
return false;
}
if(!fm->format_block) {
- if(error) *error = "invalid AIFF metadata: \"SSND\" chunk before \"COMM\" chunk (014)";
+ if(error) *error = "invalid AIFF metadata: \"SSND\" chunk before \"COMM\" chunk (019)";
return false;
}
fm->audio_block = fm->num_blocks;
/* read SSND offset size */
if(fread(buffer+4, 1, 8, f) != 8) {
- if(error) *error = "read error (015)";
+ if(error) *error = "read error (020)";
return false;
}
fm->ssnd_offset_size = unpack32be_(buffer+8);
@@ -405,64 +672,126 @@ static FLAC__bool read_from_flac_(foreign_metadata_t *fm, FILE *f, FLAC__Metadat
else {
FLAC__ASSERT(0);
/* double protection: */
- if(error) *error = "unsupported foreign metadata found, may need newer FLAC decoder (016)";
+ if(error) *error = "unsupported foreign metadata found, may need newer FLAC decoder (021)";
return false;
}
if(!append_block_(fm, offset, FLAC__metadata_simple_iterator_get_block_length(it)-sizeof(id), error))
return false;
}
- if(!type_found) {
- if(error) *error = "no foreign metadata found (017)";
+ if(fm->is_rf64 && !ds64_found) {
+ if(error) *error = "invalid RF64 file: second chunk is not \"ds64\" (023)";
return false;
}
if(!fm->format_block) {
- if(error) *error = fm->type==FOREIGN_BLOCK_TYPE__RIFF? "invalid WAVE file: missing \"fmt \" chunk (018)" : "invalid AIFF file: missing \"COMM\" chunk (018)";
+ if(error)
+ *error =
+ fm->type==FOREIGN_BLOCK_TYPE__RIFF? "invalid WAVE file: missing \"fmt \" chunk (024)" :
+ fm->type==FOREIGN_BLOCK_TYPE__WAVE64? "invalid Wave64 file: missing \"fmt \" chunk (025)" :
+ "invalid AIFF file: missing \"COMM\" chunk (026)";
return false;
}
if(!fm->audio_block) {
- if(error) *error = fm->type==FOREIGN_BLOCK_TYPE__RIFF? "invalid WAVE file: missing \"data\" chunk (019)" : "invalid AIFF file: missing \"SSND\" chunk (019)";
+ if(error)
+ *error =
+ fm->type==FOREIGN_BLOCK_TYPE__RIFF? "invalid WAVE file: missing \"data\" chunk (027)" :
+ fm->type==FOREIGN_BLOCK_TYPE__WAVE64? "invalid Wave64 file: missing \"data\" chunk (028)" :
+ "invalid AIFF file: missing \"SSND\" chunk (029)";
return false;
}
return true;
}
-static FLAC__bool write_to_iff_(foreign_metadata_t *fm, FILE *fin, FILE *fout, off_t offset1, off_t offset2, off_t offset3, const char **error)
+static FLAC__bool write_to_iff_(foreign_metadata_t *fm, FILE *fin, FILE *fout, FLAC__off_t offset1, FLAC__off_t offset2, FLAC__off_t offset3, const char **error)
{
size_t i;
if(fseeko(fout, offset1, SEEK_SET) < 0) {
- if(error) *error = "seek failed in WAVE/AIFF file (002)";
+ if(error) *error = "seek failed in WAVE/AIFF file";
return false;
}
- for(i = 1; i < fm->format_block; i++) {
+
+ /* don't write first (RIFF/RF64/FORM) chunk, or ds64 chunk in the case of RF64 */
+ for(i = fm->is_rf64?2:1; i < fm->format_block; i++) {
if(fseeko(fin, fm->blocks[i].offset, SEEK_SET) < 0) {
- if(error) *error = "seek failed in FLAC file (003)";
+ if(error) *error = "seek failed in FLAC file";
return false;
}
- if(!copy_data_(fin, fout, fm->blocks[i].size, error, "read failed in WAVE/AIFF file (004)", "write failed in FLAC file (005)"))
+ if(!copy_data_(fin, fout, fm->blocks[i].size, error, "read failed in FLAC file", "write failed in WAVE/AIFF file"))
return false;
}
+
+ if(fm->is_aifc) {
+ /* Need to restore compression type name */
+ if(fseeko(fout, 30, SEEK_CUR) < 0) {
+ if(error) *error = "seek failed in AIFF-C file";
+ return false;
+ }
+ if(fseeko(fin, fm->blocks[i].offset+30, SEEK_SET) < 0) {
+ if(error) *error = "seek failed in FLAC file";
+ return false;
+ }
+ if(!copy_data_(fin, fout, fm->aifc_comm_length-34, error, "read failed in FLAC file", "write failed in WAVE/AIFF file"))
+ return false;
+ /* Now seek back */
+ if(fseeko(fout, ((FLAC__int32)(fm->aifc_comm_length) * -1) + 4, SEEK_CUR) < 0) {
+ if(error) *error = "seek failed in AIFF-C file";
+ return false;
+ }
+ }
if(fseeko(fout, offset2, SEEK_SET) < 0) {
if(error) *error = "seek failed in WAVE/AIFF file (006)";
return false;
}
for(i = fm->format_block+1; i < fm->audio_block; i++) {
if(fseeko(fin, fm->blocks[i].offset, SEEK_SET) < 0) {
- if(error) *error = "seek failed in FLAC file (007)";
+ if(error) *error = "seek failed in FLAC file";
return false;
}
- if(!copy_data_(fin, fout, fm->blocks[i].size, error, "read failed in WAVE/AIFF file (008)", "write failed in FLAC file (009)"))
+ if(!copy_data_(fin, fout, fm->blocks[i].size, error, "read failed in FLAC file", "write failed in WAVE/AIFF file"))
return false;
}
if(fseeko(fout, offset3, SEEK_SET) < 0) {
- if(error) *error = "seek failed in WAVE/AIFF file (010)";
+ if(error) *error = "seek failed in WAVE/AIFF file";
return false;
}
for(i = fm->audio_block+1; i < fm->num_blocks; i++) {
if(fseeko(fin, fm->blocks[i].offset, SEEK_SET) < 0) {
- if(error) *error = "seek failed in FLAC file (011)";
+ if(error) *error = "seek failed in FLAC file";
+ return false;
+ }
+ if(!copy_data_(fin, fout, fm->blocks[i].size, error, "read failed in FLAC file", "write failed in WAVE/AIFF file"))
+ return false;
+ }
+ return true;
+}
+
+static FLAC__bool compare_with_iff_(foreign_metadata_t *fm, FILE *fin, FILE *fout, FLAC__off_t offset3, const char **error)
+{
+ size_t i;
+
+ /* Compare blocks before audio data */
+ for(i = 0; i <= (fm->audio_block); i++) {
+ if(fseeko(fin, fm->blocks[i].offset, SEEK_SET) < 0) {
+ if(error) *error = "seek failed in FLAC file";
+ return false;
+ }
+ if(!compare_data_(fin, fout, fm->blocks[i].size, error, "read failed in FLAC file", "read failed in WAVE/AIFF file",
+ i==0?"stored main chunk length differs from written length":(
+ i==fm->format_block?"stored foreign format block differs from written block. Perhaps the file is being restored to a different format than that of the original file":(
+ i==fm->audio_block?"stored audio length differs from written length. Perhaps the file changed in length after being originally encoded":"restore of foreign metadata failed"))))
+ return false;
+ }
+
+ /* Seek beyond audio */
+ if(fseeko(fout, offset3, SEEK_SET) < 0) {
+ if(error) *error = "seek failed in WAVE/AIFF file";
+ return false;
+ }
+ for(; i < fm->num_blocks; i++) {
+ if(fseeko(fin, fm->blocks[i].offset, SEEK_SET) < 0) {
+ if(error) *error = "seek failed in FLAC file";
return false;
}
- if(!copy_data_(fin, fout, fm->blocks[i].size, error, "read failed in WAVE/AIFF file (012)", "write failed in FLAC file (013)"))
+ if(!compare_data_(fin, fout, fm->blocks[i].size, error, "read failed in FLAC file", "read failed in WAVE/AIFF file", "restore of foreign metadata failed"))
return false;
}
return true;
@@ -470,9 +799,12 @@ static FLAC__bool write_to_iff_(foreign_metadata_t *fm, FILE *fin, FILE *fout, o
foreign_metadata_t *flac__foreign_metadata_new(foreign_block_type_t type)
{
- foreign_metadata_t *x = (foreign_metadata_t*)calloc(sizeof(foreign_metadata_t), 1);
- if(x)
+ /* calloc() to zero all the member variables */
+ foreign_metadata_t *x = calloc(sizeof(foreign_metadata_t), 1);
+ if(x) {
x->type = type;
+ x->is_rf64 = false;
+ }
return x;
}
@@ -488,7 +820,7 @@ void flac__foreign_metadata_delete(foreign_metadata_t *fm)
FLAC__bool flac__foreign_metadata_read_from_aiff(foreign_metadata_t *fm, const char *filename, const char **error)
{
FLAC__bool ok;
- FILE *f = fopen(filename, "rb");
+ FILE *f = flac_fopen(filename, "rb");
if(!f) {
if(error) *error = "can't open AIFF file for reading (000)";
return false;
@@ -501,7 +833,7 @@ FLAC__bool flac__foreign_metadata_read_from_aiff(foreign_metadata_t *fm, const c
FLAC__bool flac__foreign_metadata_read_from_wave(foreign_metadata_t *fm, const char *filename, const char **error)
{
FLAC__bool ok;
- FILE *f = fopen(filename, "rb");
+ FILE *f = flac_fopen(filename, "rb");
if(!f) {
if(error) *error = "can't open WAVE file for reading (000)";
return false;
@@ -511,6 +843,19 @@ FLAC__bool flac__foreign_metadata_read_from_wave(foreign_metadata_t *fm, const c
return ok;
}
+FLAC__bool flac__foreign_metadata_read_from_wave64(foreign_metadata_t *fm, const char *filename, const char **error)
+{
+ FLAC__bool ok;
+ FILE *f = flac_fopen(filename, "rb");
+ if(!f) {
+ if(error) *error = "can't open Wave64 file for reading (000)";
+ return false;
+ }
+ ok = read_from_wave64_(fm, f, error);
+ fclose(f);
+ return ok;
+}
+
FLAC__bool flac__foreign_metadata_write_to_flac(foreign_metadata_t *fm, const char *infilename, const char *outfilename, const char **error)
{
FLAC__bool ok;
@@ -525,12 +870,12 @@ FLAC__bool flac__foreign_metadata_write_to_flac(foreign_metadata_t *fm, const ch
FLAC__metadata_simple_iterator_delete(it);
return false;
}
- if(0 == (fin = fopen(infilename, "rb"))) {
+ if(0 == (fin = flac_fopen(infilename, "rb"))) {
if(error) *error = "can't open WAVE/AIFF file for reading (002)";
FLAC__metadata_simple_iterator_delete(it);
return false;
}
- if(0 == (fout = fopen(outfilename, "r+b"))) {
+ if(0 == (fout = flac_fopen(outfilename, "r+b"))) {
if(error) *error = "can't open FLAC file for updating (003)";
FLAC__metadata_simple_iterator_delete(it);
fclose(fin);
@@ -557,7 +902,7 @@ FLAC__bool flac__foreign_metadata_read_from_flac(foreign_metadata_t *fm, const c
FLAC__metadata_simple_iterator_delete(it);
return false;
}
- if(0 == (f = fopen(filename, "rb"))) {
+ if(0 == (f = flac_fopen(filename, "rb"))) {
if(error) *error = "can't open FLAC file for reading (002)";
FLAC__metadata_simple_iterator_delete(it);
return false;
@@ -568,15 +913,15 @@ FLAC__bool flac__foreign_metadata_read_from_flac(foreign_metadata_t *fm, const c
return ok;
}
-FLAC__bool flac__foreign_metadata_write_to_iff(foreign_metadata_t *fm, const char *infilename, const char *outfilename, off_t offset1, off_t offset2, off_t offset3, const char **error)
+FLAC__bool flac__foreign_metadata_write_to_iff(foreign_metadata_t *fm, const char *infilename, const char *outfilename, FLAC__off_t offset1, FLAC__off_t offset2, FLAC__off_t offset3, const char **error)
{
FLAC__bool ok;
FILE *fin, *fout;
- if(0 == (fin = fopen(infilename, "rb"))) {
+ if(0 == (fin = flac_fopen(infilename, "rb"))) {
if(error) *error = "can't open FLAC file for reading (000)";
return false;
}
- if(0 == (fout = fopen(outfilename, "r+b"))) {
+ if(0 == (fout = flac_fopen(outfilename, "r+b"))) {
if(error) *error = "can't open WAVE/AIFF file for updating (001)";
fclose(fin);
return false;
@@ -586,3 +931,22 @@ FLAC__bool flac__foreign_metadata_write_to_iff(foreign_metadata_t *fm, const cha
fclose(fout);
return ok;
}
+
+FLAC__bool flac__foreign_metadata_compare_with_iff(foreign_metadata_t *fm, const char *infilename, const char *outfilename, FLAC__off_t offset3, const char **error)
+{
+ FLAC__bool ok;
+ FILE *fin, *fout;
+ if(0 == (fin = flac_fopen(infilename, "rb"))) {
+ if(error) *error = "can't open FLAC file for reading";
+ return false;
+ }
+ if(0 == (fout = flac_fopen(outfilename, "rb"))) {
+ if(error) *error = "can't open WAVE/AIFF file for comparing";
+ fclose(fin);
+ return false;
+ }
+ ok = compare_with_iff_(fm, fin, fout, offset3, error);
+ fclose(fin);
+ fclose(fout);
+ return ok;
+}
diff --git a/3rdparty/libflac/src/flac/foreign_metadata.h b/3rdparty/libflac/src/flac/foreign_metadata.h
index baeda20e9cd..fa68d46f5d9 100644
--- a/3rdparty/libflac/src/flac/foreign_metadata.h
+++ b/3rdparty/libflac/src/flac/foreign_metadata.h
@@ -1,5 +1,6 @@
/* flac - Command-line FLAC encoder/decoder
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,37 +12,58 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef flac__foreign_metadata_h
#define flac__foreign_metadata_h
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "FLAC/metadata.h"
#include "utils.h"
+#include "share/compat.h"
+
+#define FLAC__FOREIGN_METADATA_NUMBER_OF_RECOGNIZED_APPLICATION_IDS 3
+
+extern const char *FLAC__FOREIGN_METADATA_APPLICATION_ID[FLAC__FOREIGN_METADATA_NUMBER_OF_RECOGNIZED_APPLICATION_IDS];
/* WATCHOUT: these enums are used to index internal arrays */
-typedef enum { FOREIGN_BLOCK_TYPE__AIFF = 0, FOREIGN_BLOCK_TYPE__RIFF = 1 } foreign_block_type_t;
+typedef enum {
+ FOREIGN_BLOCK_TYPE__AIFF = 0, /* for AIFF and AIFF-C */
+ FOREIGN_BLOCK_TYPE__RIFF = 1, /* for WAVE and RF64 */
+ FOREIGN_BLOCK_TYPE__WAVE64 = 2 /* only for Sony's flavor */
+} foreign_block_type_t;
typedef struct {
/* for encoding, this will be the offset in the WAVE/AIFF file of the chunk */
/* for decoding, this will be the offset in the FLAC file of the chunk data inside the APPLICATION block */
- off_t offset;
+ FLAC__off_t offset;
+ /* size is the actual size in bytes of the chunk to be stored/recreated. */
+ /* It includes the 8 bytes of chunk type and size, and any padding byte for alignment. */
+ /* For 'data'/'SSND' chunks, the size does not include the actual sound or padding bytes */
+ /* because these are not stored, they are recreated from the compressed FLAC stream. */
+ /* So for RIFF 'data', size is 8, and for AIFF 'SSND', size is 8 + 8 + ssnd_offset_size */
+ /* 32 bit size is OK because we only care about the non-sound data and FLAC metadata */
+ /* only supports a few megs anyway. */
FLAC__uint32 size;
} foreign_block_t;
typedef struct {
- foreign_block_type_t type; /* currently we don't support multiple foreign types in a stream (an maybe never will) */
+ foreign_block_type_t type; /* currently we don't support multiple foreign types in a stream (and maybe never will) */
foreign_block_t *blocks;
size_t num_blocks;
size_t format_block; /* block number of 'fmt ' or 'COMM' chunk */
size_t audio_block; /* block number of 'data' or 'SSND' chunk */
+ FLAC__bool is_rf64; /* always false if type!=RIFF */
+ FLAC__bool is_wavefmtex; /* always false if type!=RIFF */
+ FLAC__bool is_aifc; /* always false if type!=AIFF */
+ FLAC__bool is_sowt; /* always false if type!=AIFF */
+ FLAC__uint32 aifc_comm_length;
FLAC__uint32 ssnd_offset_size; /* 0 if type!=AIFF */
} foreign_metadata_t;
@@ -51,9 +73,11 @@ void flac__foreign_metadata_delete(foreign_metadata_t *fm);
FLAC__bool flac__foreign_metadata_read_from_aiff(foreign_metadata_t *fm, const char *filename, const char **error);
FLAC__bool flac__foreign_metadata_read_from_wave(foreign_metadata_t *fm, const char *filename, const char **error);
+FLAC__bool flac__foreign_metadata_read_from_wave64(foreign_metadata_t *fm, const char *filename, const char **error);
FLAC__bool flac__foreign_metadata_write_to_flac(foreign_metadata_t *fm, const char *infilename, const char *outfilename, const char **error);
FLAC__bool flac__foreign_metadata_read_from_flac(foreign_metadata_t *fm, const char *filename, const char **error);
-FLAC__bool flac__foreign_metadata_write_to_iff(foreign_metadata_t *fm, const char *infilename, const char *outfilename, off_t offset1, off_t offset2, off_t offset3, const char **error);
+FLAC__bool flac__foreign_metadata_write_to_iff(foreign_metadata_t *fm, const char *infilename, const char *outfilename, FLAC__off_t offset1, FLAC__off_t offset2, FLAC__off_t offset3, const char **error);
+FLAC__bool flac__foreign_metadata_compare_with_iff(foreign_metadata_t *fm, const char *infilename, const char *outfilename, FLAC__off_t offset3, const char **error);
#endif
diff --git a/3rdparty/libflac/src/flac/iffscan.c b/3rdparty/libflac/src/flac/iffscan.c
index d03b65bc8b9..a5472e0c0cf 100644
--- a/3rdparty/libflac/src/flac/iffscan.c
+++ b/3rdparty/libflac/src/flac/iffscan.c
@@ -1,5 +1,6 @@
/* iffscan - Simple AIFF/RIFF chunk scanner
- * Copyright (C) 2007 Josh Coalson
+ * Copyright (C) 2007-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,25 +12,19 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#if defined _MSC_VER || defined __MINGW32__
-#include <sys/types.h> /* for off_t */
-#if _MSC_VER <= 1600 /* @@@ [2G limit] */
-#define fseeko fseek
-#define ftello ftell
-#endif
-#endif
+#include "share/compat.h"
#include "foreign_metadata.h"
static FLAC__uint32 unpack32be_(const FLAC__byte *b)
@@ -42,6 +37,11 @@ static FLAC__uint32 unpack32le_(const FLAC__byte *b)
return (FLAC__uint32)b[0] + ((FLAC__uint32)b[1]<<8) + ((FLAC__uint32)b[2]<<16) + ((FLAC__uint32)b[3]<<24);
}
+static FLAC__uint64 unpack64le_(const FLAC__byte *b)
+{
+ return (FLAC__uint64)b[0] + ((FLAC__uint64)b[1]<<8) + ((FLAC__uint64)b[2]<<16) + ((FLAC__uint64)b[3]<<24) + ((FLAC__uint64)b[4]<<32) + ((FLAC__uint64)b[5]<<40) + ((FLAC__uint64)b[6]<<48) + ((FLAC__uint64)b[7]<<56);
+}
+
static FLAC__uint32 unpack32_(const FLAC__byte *b, foreign_block_type_t type)
{
if(type == FOREIGN_BLOCK_TYPE__AIFF)
@@ -53,57 +53,74 @@ static FLAC__uint32 unpack32_(const FLAC__byte *b, foreign_block_type_t type)
int main(int argc, char *argv[])
{
FILE *f;
- char buf[12];
+ char buf[36];
foreign_metadata_t *fm;
const char *fn, *error;
size_t i;
FLAC__uint32 size;
+#ifdef _WIN32
+ if (get_utf8_argv(&argc, &argv) != 0) {
+ fprintf(stderr, "ERROR: failed to convert command line parameters to UTF-8\n");
+ return 1;
+ }
+#endif
+
if(argc != 2) {
- fprintf(stderr, "usage: %s { file.wav | file.aif }\n", argv[0]);
+ flac_fprintf(stderr, "usage: %s { file.wav | file.aif }\n", argv[0]);
return 1;
}
fn = argv[1];
- if(0 == (f = fopen(fn, "rb")) || fread(buf, 1, 4, f) != 4) {
- fprintf(stderr, "ERROR opening %s for reading\n", fn);
+ if(0 == (f = flac_fopen(fn, "rb")) || fread(buf, 1, 4, f) != 4) {
+ flac_fprintf(stderr, "ERROR opening %s for reading\n", fn);
return 1;
}
fclose(f);
- if(0 == (fm = flac__foreign_metadata_new(memcmp(buf, "RIFF", 4)? FOREIGN_BLOCK_TYPE__AIFF : FOREIGN_BLOCK_TYPE__RIFF))) {
- fprintf(stderr, "ERROR: out of memory\n");
+ if(0 == (fm = flac__foreign_metadata_new(memcmp(buf, "RIFF", 4) && memcmp(buf, "RF64", 4)? FOREIGN_BLOCK_TYPE__AIFF : FOREIGN_BLOCK_TYPE__RIFF))) {
+ flac_fprintf(stderr, "ERROR: out of memory\n");
return 1;
}
if(fm->type == FOREIGN_BLOCK_TYPE__AIFF) {
if(!flac__foreign_metadata_read_from_aiff(fm, fn, &error)) {
- fprintf(stderr, "ERROR reading chunks from %s: %s\n", fn, error);
+ flac_fprintf(stderr, "ERROR reading chunks from %s: %s\n", fn, error);
return 1;
}
}
else {
if(!flac__foreign_metadata_read_from_wave(fm, fn, &error)) {
- fprintf(stderr, "ERROR reading chunks from %s: %s\n", fn, error);
+ flac_fprintf(stderr, "ERROR reading chunks from %s: %s\n", fn, error);
return 1;
}
}
- if(0 == (f = fopen(fn, "rb"))) {
- fprintf(stderr, "ERROR opening %s for reading\n", fn);
+ if(0 == (f = flac_fopen(fn, "rb"))) {
+ flac_fprintf(stderr, "ERROR opening %s for reading\n", fn);
return 1;
}
for(i = 0; i < fm->num_blocks; i++) {
if(fseeko(f, fm->blocks[i].offset, SEEK_SET) < 0) {
- fprintf(stderr, "ERROR seeking in %s\n", fn);
+ flac_fprintf(stderr, "ERROR seeking in %s\n", fn);
return 1;
}
- if(fread(buf, 1, 12, f) != 12) {
- fprintf(stderr, "ERROR reading %s\n", fn);
+ if(fread(buf, 1, i==0?12:8, f) != (i==0?12:8)) {
+ flac_fprintf(stderr, "ERROR reading %s\n", fn);
return 1;
}
- size = unpack32_((const FLAC__byte*)buf+4, fm->type);
+ size = unpack32_((FLAC__byte*)buf+4, fm->type);
printf("block:[%c%c%c%c] size=%08x=(%10u)", buf[0], buf[1], buf[2], buf[3], size, size);
if(i == 0)
printf(" type:[%c%c%c%c]", buf[8], buf[9], buf[10], buf[11]);
else if(fm->type == FOREIGN_BLOCK_TYPE__AIFF && i == fm->audio_block)
printf(" offset size=%08x=(%10u)", fm->ssnd_offset_size, fm->ssnd_offset_size);
+ else if(fm->type == FOREIGN_BLOCK_TYPE__RIFF && i == 1 && !memcmp(buf, "ds64", 4)) {
+ if(fread(buf+8, 1, 36-8, f) != 36-8) {
+ flac_fprintf(stderr, "ERROR reading %s\n", fn);
+ return 1;
+ }
+ printf("\n RIFF size=%016" PRIx64 "=(%20" PRIu64 ")", unpack64le_((FLAC__byte*)buf+8), unpack64le_((FLAC__byte*)buf+8));
+ printf("\n data size=%016" PRIx64 "=(%20" PRIu64 ")", unpack64le_((FLAC__byte*)buf+16), unpack64le_((FLAC__byte*)buf+16));
+ printf("\n sample count=%016" PRIx64 "=(%20" PRIu64 ")", unpack64le_((FLAC__byte*)buf+24), unpack64le_((FLAC__byte*)buf+24));
+ printf("\n table size=%08x=(%10u)", unpack32le_((FLAC__byte*)buf+32), unpack32le_((FLAC__byte*)buf+32));
+ }
printf("\n");
}
fclose(f);
diff --git a/3rdparty/libflac/src/flac/iffscan.dsp b/3rdparty/libflac/src/flac/iffscan.dsp
deleted file mode 100644
index f3d0e4120f0..00000000000
--- a/3rdparty/libflac/src/flac/iffscan.dsp
+++ /dev/null
@@ -1,108 +0,0 @@
-# Microsoft Developer Studio Project File - Name="iffscan" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=iffscan - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "iffscan.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "iffscan.mak" CFG="iffscan - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "iffscan - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "iffscan - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "iffscan - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\obj\release\bin"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /I "..\..\include" /D "NDEBUG" /D "FLAC__NO_DLL" /D "FLAC__HAS_OGG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\obj\release\lib\libFLAC_static.lib ..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "iffscan - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\obj\debug\bin"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "." /I "..\..\include" /D "_DEBUG" /D "DEBUG" /D "FLAC__NO_DLL" /D "FLAC__HAS_OGG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\obj\debug\lib\libFLAC_static.lib ..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "iffscan - Win32 Release"
-# Name "iffscan - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\iffscan.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\foreign_metadata.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\foreign_metadata.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/flac/iffscan.vcproj b/3rdparty/libflac/src/flac/iffscan.vcproj
deleted file mode 100644
index 0651666b1db..00000000000
--- a/3rdparty/libflac/src/flac/iffscan.vcproj
+++ /dev/null
@@ -1,212 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="iffscan"
- ProjectGUID="{4cefbc94-c215-11db-8314-0800200c9a66}"
- RootNamespace="iffscan"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\obj\debug\bin"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".;..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;FLAC__HAS_OGG;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="2"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\obj\release\bin"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".;..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;FLAC__HAS_OGG;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="1"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-6E5FBE522BFB}"
- >
- <File
- RelativePath=".\foreign_metadata.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2D32A752A2FF}"
- >
- <File
- RelativePath=".\foreign_metadata.c"
- >
- </File>
- <File
- RelativePath=".\iffscan.c"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/flac/local_string_utils.c b/3rdparty/libflac/src/flac/local_string_utils.c
index d0f8ed3499d..7e252334a72 100644
--- a/3rdparty/libflac/src/flac/local_string_utils.c
+++ b/3rdparty/libflac/src/flac/local_string_utils.c
@@ -1,7 +1,7 @@
/* flac - Command-line FLAC encoder/decoder
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
diff --git a/3rdparty/libflac/src/flac/local_string_utils.h b/3rdparty/libflac/src/flac/local_string_utils.h
index e43041bad28..01f891f7967 100644
--- a/3rdparty/libflac/src/flac/local_string_utils.h
+++ b/3rdparty/libflac/src/flac/local_string_utils.h
@@ -1,5 +1,6 @@
/* flac - Command-line FLAC encoder/decoder
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef flac__local_string_utils_h
diff --git a/3rdparty/libflac/src/flac/main.c b/3rdparty/libflac/src/flac/main.c
index f3716a8097f..c22e602c1e9 100644
--- a/3rdparty/libflac/src/flac/main.c
+++ b/3rdparty/libflac/src/flac/main.c
@@ -1,5 +1,6 @@
/* flac - Command-line FLAC encoder/decoder
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,12 +12,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -36,6 +37,9 @@
#include "FLAC/all.h"
#include "share/alloc.h"
#include "share/grabbag.h"
+#include "share/compat.h"
+#include "share/endswap.h"
+#include "share/safe_str.h"
#include "analyze.h"
#include "decode.h"
#include "encode.h"
@@ -43,12 +47,6 @@
#include "utils.h"
#include "vorbiscomment.h"
-#if defined _MSC_VER || defined __MINGW32__ || defined __EMX__
-#define FLAC__STRCASECMP stricmp
-#else
-#define FLAC__STRCASECMP strcasecmp
-#endif
-
#if 0
/*[JEC] was:#if HAVE_GETOPT_LONG*/
/*[JEC] see flac/include/share/getopt.h as to why the change */
@@ -57,8 +55,6 @@
# include "share/getopt.h"
#endif
-typedef enum { RAW, WAV, AIF, FLAC, OGGFLAC } FileFormat;
-
static int do_it(void);
static FLAC__bool init_options(void);
@@ -67,7 +63,7 @@ static int parse_option(int short_option, const char *long_option, const char *o
static void free_options(void);
static void add_compression_setting_bool(compression_setting_type_t type, FLAC__bool value);
static void add_compression_setting_string(compression_setting_type_t type, const char *value);
-static void add_compression_setting_unsigned(compression_setting_type_t type, unsigned value);
+static void add_compression_setting_uint32_t(compression_setting_type_t type, uint32_t value);
static int usage_error(const char *message, ...);
static void short_usage(void);
@@ -80,17 +76,12 @@ static int encode_file(const char *infilename, FLAC__bool is_first_file, FLAC__b
static int decode_file(const char *infilename);
static const char *get_encoded_outfilename(const char *infilename);
-static const char *get_decoded_outfilename(const char *infilename);
+static const char *get_decoded_outfilename(const char *infilename, const FileFormat format);
static const char *get_outfilename(const char *infilename, const char *suffix);
static void die(const char *message);
static int conditional_fclose(FILE *f);
static char *local_strdup(const char *source);
-#ifdef _MSC_VER
-/* There's no strtoll() in MSVC6 so we just write a specialized one */
-static FLAC__int64 local__strtoll(const char *src, char **endptr);
-#endif
-
/*
* share__getopt format struct; note that for long options with no
@@ -100,24 +91,26 @@ static struct share__option long_options_[] = {
/*
* general options
*/
- { "help" , share__no_argument, 0, 'h' },
- { "explain" , share__no_argument, 0, 'H' },
- { "version" , share__no_argument, 0, 'v' },
- { "decode" , share__no_argument, 0, 'd' },
- { "analyze" , share__no_argument, 0, 'a' },
- { "test" , share__no_argument, 0, 't' },
- { "stdout" , share__no_argument, 0, 'c' },
- { "silent" , share__no_argument, 0, 's' },
- { "totally-silent" , share__no_argument, 0, 0 },
- { "warnings-as-errors" , share__no_argument, 0, 'w' },
- { "force" , share__no_argument, 0, 'f' },
- { "delete-input-file" , share__no_argument, 0, 0 },
- { "keep-foreign-metadata" , share__no_argument, 0, 0 },
- { "output-prefix" , share__required_argument, 0, 0 },
- { "output-name" , share__required_argument, 0, 'o' },
- { "skip" , share__required_argument, 0, 0 },
- { "until" , share__required_argument, 0, 0 },
- { "channel-map" , share__required_argument, 0, 0 }, /* undocumented */
+ { "help" , share__no_argument, 0, 'h' },
+ { "explain" , share__no_argument, 0, 'H' },
+ { "version" , share__no_argument, 0, 'v' },
+ { "decode" , share__no_argument, 0, 'd' },
+ { "analyze" , share__no_argument, 0, 'a' },
+ { "test" , share__no_argument, 0, 't' },
+ { "stdout" , share__no_argument, 0, 'c' },
+ { "silent" , share__no_argument, 0, 's' },
+ { "totally-silent" , share__no_argument, 0, 0 },
+ { "warnings-as-errors" , share__no_argument, 0, 'w' },
+ { "force" , share__no_argument, 0, 'f' },
+ { "delete-input-file" , share__no_argument, 0, 0 },
+ { "preserve-modtime" , share__no_argument, 0, 0 },
+ { "keep-foreign-metadata" , share__no_argument, 0, 0 },
+ { "keep-foreign-metadata-if-present" , share__no_argument, 0, 0 },
+ { "output-prefix" , share__required_argument, 0, 0 },
+ { "output-name" , share__required_argument, 0, 'o' },
+ { "skip" , share__required_argument, 0, 0 },
+ { "until" , share__required_argument, 0, 0 },
+ { "channel-map" , share__required_argument, 0, 0 }, /* undocumented */
/*
* decoding options
@@ -147,12 +140,17 @@ static struct share__option long_options_[] = {
{ "best" , share__no_argument, 0, '8' },
{ "fast" , share__no_argument, 0, '0' },
{ "verify" , share__no_argument, 0, 'V' },
- { "force-aiff-format" , share__no_argument, 0, 0 },
{ "force-raw-format" , share__no_argument, 0, 0 },
+ { "force-aiff-format" , share__no_argument, 0, 0 },
+ { "force-rf64-format" , share__no_argument, 0, 0 },
+ { "force-wave64-format" , share__no_argument, 0, 0 },
+ { "force-legacy-wave-format" , share__no_argument, 0, 0 },
+ { "force-extensible-wave-format",share__no_argument,0, 0 },
+ { "force-aiff-c-none-format" , share__no_argument, 0, 0 },
+ { "force-aiff-c-sowt-format" , share__no_argument, 0, 0 },
{ "lax" , share__no_argument, 0, 0 },
{ "replay-gain" , share__no_argument, 0, 0 },
{ "ignore-chunk-sizes" , share__no_argument, 0, 0 },
- { "sector-align" , share__no_argument, 0, 0 },
{ "seekpoint" , share__required_argument, 0, 'S' },
{ "padding" , share__required_argument, 0, 'P' },
#if FLAC__HAS_OGG
@@ -174,6 +172,8 @@ static struct share__option long_options_[] = {
{ "sample-rate" , share__required_argument, 0, 0 },
{ "sign" , share__required_argument, 0, 0 },
{ "input-size" , share__required_argument, 0, 0 },
+ { "error-on-compression-fail" , share__no_argument, 0, 0 },
+ { "limit-min-bitrate" , share__no_argument, 0, 0 },
/*
* analysis options
@@ -184,6 +184,7 @@ static struct share__option long_options_[] = {
/*
* negatives
*/
+ { "no-preserve-modtime" , share__no_argument, 0, 0 },
{ "no-decode-through-errors" , share__no_argument, 0, 0 },
{ "no-silent" , share__no_argument, 0, 0 },
{ "no-force" , share__no_argument, 0, 0 },
@@ -192,7 +193,6 @@ static struct share__option long_options_[] = {
{ "no-keep-foreign-metadata" , share__no_argument, 0, 0 },
{ "no-replay-gain" , share__no_argument, 0, 0 },
{ "no-ignore-chunk-sizes" , share__no_argument, 0, 0 },
- { "no-sector-align" , share__no_argument, 0, 0 },
{ "no-utf8-convert" , share__no_argument, 0, 0 },
{ "no-lax" , share__no_argument, 0, 0 },
#if FLAC__HAS_OGG
@@ -207,6 +207,7 @@ static struct share__option long_options_[] = {
{ "no-warnings-as-errors" , share__no_argument, 0, 0 },
{ "no-residual-gnuplot" , share__no_argument, 0, 0 },
{ "no-residual-text" , share__no_argument, 0, 0 },
+ { "no-error-on-compression-fail", share__no_argument, 0, 0 },
/*
* undocumented debugging options for the test suite
*/
@@ -240,13 +241,20 @@ static struct {
FLAC__bool has_serial_number; /* true iff --serial-number was used */
long serial_number; /* this is the Ogg serial number and is unused for native FLAC */
FLAC__bool force_to_stdout;
- FLAC__bool force_aiff_format;
FLAC__bool force_raw_format;
+ FLAC__bool force_aiff_format;
+ FLAC__bool force_rf64_format;
+ FLAC__bool force_wave64_format;
+ FLAC__bool force_legacy_wave_format;
+ FLAC__bool force_extensible_wave_format;
+ FLAC__bool force_aiff_c_none_format;
+ FLAC__bool force_aiff_c_sowt_format;
FLAC__bool delete_input;
+ FLAC__bool preserve_modtime;
FLAC__bool keep_foreign_metadata;
+ FLAC__bool keep_foreign_metadata_if_present;
FLAC__bool replay_gain;
FLAC__bool ignore_chunk_sizes;
- FLAC__bool sector_align;
FLAC__bool utf8_convert; /* true by default, to convert tag strings from locale to utf-8, false if --no-utf8-convert used */
const char *cmdline_forced_outfilename;
const char *output_prefix;
@@ -262,19 +270,21 @@ static struct {
int format_channels;
int format_bps;
int format_sample_rate;
- off_t format_input_size;
+ FLAC__off_t format_input_size;
char requested_seek_points[5000]; /* bad MAGIC NUMBER but buffer overflow is checked */
int num_requested_seek_points; /* -1 => no -S options were given, 0 => -S- was given */
const char *cuesheet_filename;
FLAC__bool cued_seekpoints;
FLAC__bool channel_map_none; /* --channel-map=none specified, eventually will expand to take actual channel map */
+ FLAC__bool error_on_compression_fail;
+ FLAC__bool limit_min_bitrate;
- unsigned num_files;
+ uint32_t num_files;
char **filenames;
FLAC__StreamMetadata *vorbis_comment;
FLAC__StreamMetadata *pictures[64];
- unsigned num_pictures;
+ uint32_t num_pictures;
struct {
FLAC__bool disable_constant_subframes;
@@ -289,12 +299,12 @@ static struct {
* miscellaneous globals
*/
-static FLAC__int32 align_reservoir_0[588], align_reservoir_1[588]; /* for carrying over samples from --sector-align */
-static FLAC__int32 *align_reservoir[2] = { align_reservoir_0, align_reservoir_1 };
-static unsigned align_reservoir_samples = 0; /* 0 .. 587 */
-
+#ifndef FUZZ_TOOL_FLAC
int main(int argc, char *argv[])
+#else
+static int main_to_fuzz(int argc, char *argv[])
+#endif
{
int retval = 0;
@@ -302,9 +312,28 @@ int main(int argc, char *argv[])
_response(&argc, &argv);
_wildcard(&argc, &argv);
#endif
+#ifdef _WIN32
+ if (get_utf8_argv(&argc, &argv) != 0) {
+ fprintf(stderr, "ERROR: failed to convert command line parameters to UTF-8\n");
+ return 1;
+ }
+#endif
- srand((unsigned)time(0));
+ srand((uint32_t)time(0));
+#ifdef _WIN32
+ {
+ const char *var;
+ var = getenv("LC_ALL");
+ if (!var)
+ var = getenv("LC_NUMERIC");
+ if (!var)
+ var = getenv("LANG");
+ if (!var || strcmp(var, "C") != 0)
+ setlocale(LC_ALL, "");
+ }
+#else
setlocale(LC_ALL, "");
+#endif
if(!init_options()) {
flac__utils_printf(stderr, 1, "ERROR: allocating memory\n");
retval = 1;
@@ -366,19 +395,27 @@ int do_it(void)
return usage_error("ERROR: --cue may not be combined with --skip or --until\n");
if(option_values.format_channels >= 0) {
- if(option_values.format_channels == 0 || (unsigned)option_values.format_channels > FLAC__MAX_CHANNELS)
+ if(option_values.format_channels == 0 || (uint32_t)option_values.format_channels > FLAC__MAX_CHANNELS)
return usage_error("ERROR: invalid number of channels '%u', must be > 0 and <= %u\n", option_values.format_channels, FLAC__MAX_CHANNELS);
}
if(option_values.format_bps >= 0) {
- if(option_values.format_bps != 8 && option_values.format_bps != 16 && option_values.format_bps != 24)
- return usage_error("ERROR: invalid bits per sample '%u' (must be 8/16/24)\n", option_values.format_bps);
+ if(option_values.format_bps != 8 && option_values.format_bps != 16 && option_values.format_bps != 24 && option_values.format_bps != 32)
+ return usage_error("ERROR: invalid bits per sample '%u' (must be 8/16/24/32)\n", option_values.format_bps);
}
if(option_values.format_sample_rate >= 0) {
if(!FLAC__format_sample_rate_is_valid(option_values.format_sample_rate))
return usage_error("ERROR: invalid sample rate '%u', must be > 0 and <= %u\n", option_values.format_sample_rate, FLAC__MAX_SAMPLE_RATE);
}
- if(option_values.force_raw_format && option_values.force_aiff_format)
- return usage_error("ERROR: only one of --force-raw-format and --force-aiff-format allowed\n");
+ if((option_values.force_raw_format?1:0) +
+ (option_values.force_aiff_format?1:0) +
+ (option_values.force_rf64_format?1:0) +
+ (option_values.force_wave64_format?1:0) +
+ (option_values.force_legacy_wave_format?1:0) +
+ (option_values.force_extensible_wave_format?1:0) +
+ (option_values.force_aiff_c_none_format?1:0) +
+ (option_values.force_aiff_c_sowt_format?1:0)
+ > 1)
+ return usage_error("ERROR: only one of force format options allowed\n");
if(option_values.mode_decode) {
if(!option_values.force_raw_format) {
if(option_values.format_is_big_endian >= 0)
@@ -397,8 +434,6 @@ int do_it(void)
if(option_values.ignore_chunk_sizes) {
if(option_values.mode_decode)
return usage_error("ERROR: --ignore-chunk-sizes only allowed for encoding\n");
- if(0 != option_values.sector_align)
- return usage_error("ERROR: --ignore-chunk-sizes not allowed with --sector-align\n");
if(0 != option_values.until_specification)
return usage_error("ERROR: --ignore-chunk-sizes not allowed with --until\n");
if(0 != option_values.cue_specification)
@@ -406,22 +441,6 @@ int do_it(void)
if(0 != option_values.cuesheet_filename)
return usage_error("ERROR: --ignore-chunk-sizes not allowed with --cuesheet\n");
}
- if(option_values.sector_align) {
- if(option_values.mode_decode)
- return usage_error("ERROR: --sector-align only allowed for encoding\n");
- if(0 != option_values.skip_specification)
- return usage_error("ERROR: --sector-align not allowed with --skip\n");
- if(0 != option_values.until_specification)
- return usage_error("ERROR: --sector-align not allowed with --until\n");
- if(0 != option_values.cue_specification)
- return usage_error("ERROR: --sector-align not allowed with --cue\n");
- if(option_values.format_channels >= 0 && option_values.format_channels != 2)
- return usage_error("ERROR: --sector-align can only be done with stereo input\n");
- if(option_values.format_bps >= 0 && option_values.format_bps != 16)
- return usage_error("ERROR: --sector-align can only be done with 16-bit samples\n");
- if(option_values.format_sample_rate >= 0 && option_values.format_sample_rate != 44100)
- return usage_error("ERROR: --sector-align can only be done with a sample rate of 44100\n");
- }
if(option_values.replay_gain) {
if(option_values.force_to_stdout)
return usage_error("ERROR: --replay-gain not allowed with -c/--stdout\n");
@@ -431,20 +450,11 @@ int do_it(void)
return usage_error("ERROR: --replay-gain can only be done with mono/stereo input\n");
if(option_values.format_sample_rate >= 0 && !grabbag__replaygain_is_valid_sample_frequency(option_values.format_sample_rate))
return usage_error("ERROR: invalid sample rate used with --replay-gain\n");
- /*
- * We want to reserve padding space for the ReplayGain
- * tags that we will set later, to avoid rewriting the
- * whole file.
- */
if(
(option_values.padding >= 0 && option_values.padding < (int)GRABBAG__REPLAYGAIN_MAX_TAG_SPACE_REQUIRED) ||
(option_values.padding < 0 && FLAC_ENCODE__DEFAULT_PADDING < (int)GRABBAG__REPLAYGAIN_MAX_TAG_SPACE_REQUIRED)
) {
flac__utils_printf(stderr, 1, "NOTE: --replay-gain may leave a small PADDING block even with --no-padding\n");
- option_values.padding = GRABBAG__REPLAYGAIN_MAX_TAG_SPACE_REQUIRED;
- }
- else {
- option_values.padding += GRABBAG__REPLAYGAIN_MAX_TAG_SPACE_REQUIRED;
}
}
if(option_values.num_files > 1 && option_values.cmdline_forced_outfilename) {
@@ -456,7 +466,7 @@ int do_it(void)
if(!option_values.mode_decode && 0 != option_values.cuesheet_filename && option_values.num_files > 1) {
return usage_error("ERROR: --cuesheet cannot be used when encoding multiple files\n");
}
- if(option_values.keep_foreign_metadata) {
+ if(option_values.keep_foreign_metadata || option_values.keep_foreign_metadata_if_present) {
/* we're not going to try and support the re-creation of broken WAVE files */
if(option_values.ignore_chunk_sizes)
return usage_error("ERROR: using --keep-foreign-metadata cannot be used with --ignore-chunk-sizes\n");
@@ -464,15 +474,13 @@ int do_it(void)
return usage_error("ERROR: --keep-foreign-metadata is not allowed in test mode\n");
if(option_values.analyze)
return usage_error("ERROR: --keep-foreign-metadata is not allowed in analyis mode\n");
- /*@@@@@@*/
- if(option_values.delete_input)
- return usage_error("ERROR: using --delete-input-file with --keep-foreign-metadata has been disabled until more testing has been done.\n");
flac__utils_printf(stderr, 1, "NOTE: --keep-foreign-metadata is a new feature; make sure to test the output file before deleting the original.\n");
}
}
flac__utils_printf(stderr, 2, "\n");
- flac__utils_printf(stderr, 2, "flac %s, Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson\n", FLAC__VERSION_STRING);
+ flac__utils_printf(stderr, 2, "flac %s\n", FLAC__VERSION_STRING);
+ flac__utils_printf(stderr, 2, "Copyright (C) 2000-2009 Josh Coalson, 2011-2023 Xiph.Org Foundation\n");
flac__utils_printf(stderr, 2, "flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are\n");
flac__utils_printf(stderr, 2, "welcome to redistribute it under certain conditions. Type `flac' for details.\n\n");
@@ -483,7 +491,7 @@ int do_it(void)
retval = decode_file("-");
}
else {
- unsigned i;
+ uint32_t i;
if(option_values.num_files > 1)
option_values.cmdline_forced_outfilename = 0;
for(i = 0, retval = 0; i < option_values.num_files; i++) {
@@ -504,14 +512,16 @@ int do_it(void)
retval = encode_file("-", first, true);
}
else {
- unsigned i;
+ uint32_t i;
if(option_values.num_files > 1)
option_values.cmdline_forced_outfilename = 0;
for(i = 0, retval = 0; i < option_values.num_files; i++) {
if(0 == strcmp(option_values.filenames[i], "-") && !first)
continue;
- retval |= encode_file(option_values.filenames[i], first, i == (option_values.num_files-1));
- first = false;
+ if(encode_file(option_values.filenames[i], first, i == (option_values.num_files-1)))
+ retval = 1;
+ else
+ first = false;
}
if(option_values.replay_gain && retval == 0) {
float album_gain, album_peak;
@@ -522,13 +532,7 @@ int do_it(void)
flac__utils_printf(stderr, 1, "ERROR: filename too long: %s", option_values.filenames[i]);
return 1;
}
- if(0 == strcmp(option_values.filenames[i], "-")) {
- FLAC__ASSERT(0);
- /* double protection */
- flac__utils_printf(stderr, 1, "internal error\n");
- return 2;
- }
- if(0 != (error = grabbag__replaygain_store_to_file_album(outfilename, album_gain, album_peak, /*preserve_modtime=*/true))) {
+ if(0 != (error = grabbag__replaygain_store_to_file_album(outfilename, album_gain, album_peak, option_values.preserve_modtime))) {
flac__utils_printf(stderr, 1, "%s: ERROR writing ReplayGain album tags (%s)\n", outfilename, error);
retval = 1;
}
@@ -544,6 +548,7 @@ FLAC__bool init_options(void)
{
option_values.show_help = false;
option_values.show_explain = false;
+ option_values.show_version = false;
option_values.mode_decode = false;
option_values.verify = false;
option_values.treat_warnings_as_errors = false;
@@ -561,13 +566,20 @@ FLAC__bool init_options(void)
option_values.has_serial_number = false;
option_values.serial_number = 0;
option_values.force_to_stdout = false;
- option_values.force_aiff_format = false;
option_values.force_raw_format = false;
+ option_values.force_aiff_format = false;
+ option_values.force_rf64_format = false;
+ option_values.force_wave64_format = false;
+ option_values.force_legacy_wave_format = false;
+ option_values.force_extensible_wave_format = false;
+ option_values.force_aiff_c_none_format = false;
+ option_values.force_aiff_c_sowt_format = false;
option_values.delete_input = false;
+ option_values.preserve_modtime = true;
option_values.keep_foreign_metadata = false;
+ option_values.keep_foreign_metadata_if_present = false;
option_values.replay_gain = false;
option_values.ignore_chunk_sizes = false;
- option_values.sector_align = false;
option_values.utf8_convert = true;
option_values.cmdline_forced_outfilename = 0;
option_values.output_prefix = 0;
@@ -585,12 +597,14 @@ FLAC__bool init_options(void)
option_values.format_channels = -1;
option_values.format_bps = -1;
option_values.format_sample_rate = -1;
- option_values.format_input_size = (off_t)(-1);
+ option_values.format_input_size = (FLAC__off_t)(-1);
option_values.requested_seek_points[0] = '\0';
option_values.num_requested_seek_points = -1;
option_values.cuesheet_filename = 0;
option_values.cued_seekpoints = true;
option_values.channel_map_none = false;
+ option_values.error_on_compression_fail = false;
+ option_values.limit_min_bitrate = false;
option_values.num_files = 0;
option_values.filenames = 0;
@@ -638,8 +652,8 @@ int parse_options(int argc, char *argv[])
option_values.num_files = argc - share__optind;
if(option_values.num_files > 0) {
- unsigned i = 0;
- if(0 == (option_values.filenames = (char**)malloc(sizeof(char*) * option_values.num_files)))
+ uint32_t i = 0;
+ if(0 == (option_values.filenames = malloc(sizeof(char*) * option_values.num_files)))
die("out of memory allocating space for file names list");
while(share__optind < argc)
option_values.filenames[i++] = local_strdup(argv[share__optind++]);
@@ -651,8 +665,6 @@ int parse_options(int argc, char *argv[])
int parse_option(int short_option, const char *long_option, const char *option_argument)
{
const char *violation;
- char *p;
- int i;
if(short_option == 0) {
FLAC__ASSERT(0 != long_option);
@@ -662,9 +674,15 @@ int parse_option(int short_option, const char *long_option, const char *option_a
else if(0 == strcmp(long_option, "delete-input-file")) {
option_values.delete_input = true;
}
+ else if(0 == strcmp(long_option, "preserve-modtime")) {
+ option_values.preserve_modtime = true;
+ }
else if(0 == strcmp(long_option, "keep-foreign-metadata")) {
option_values.keep_foreign_metadata = true;
}
+ else if(0 == strcmp(long_option, "keep-foreign-metadata-if-present")) {
+ option_values.keep_foreign_metadata_if_present = true;
+ }
else if(0 == strcmp(long_option, "output-prefix")) {
FLAC__ASSERT(0 != option_argument);
option_values.output_prefix = option_argument;
@@ -681,17 +699,12 @@ int parse_option(int short_option, const char *long_option, const char *option_a
FLAC__ASSERT(0 != option_argument);
{
char *end;
-#ifdef _MSC_VER
- FLAC__int64 i;
- i = local__strtoll(option_argument, &end);
-#else
- long long i;
- i = strtoll(option_argument, &end, 10);
-#endif
+ FLAC__int64 ix;
+ ix = strtoll(option_argument, &end, 10);
if(0 == strlen(option_argument) || *end)
return usage_error("ERROR: --%s must be a number\n", long_option);
- option_values.format_input_size = (off_t)i;
- if(option_values.format_input_size != i) /* check if off_t is smaller than long long */
+ option_values.format_input_size = (FLAC__off_t)ix;
+ if(option_values.format_input_size != ix) /* check if FLAC__off_t is smaller than long long */
return usage_error("ERROR: --%s too large; this build of flac does not support filesizes over 2GB\n", long_option);
if(option_values.format_input_size <= 0)
return usage_error("ERROR: --%s must be > 0\n", long_option);
@@ -736,7 +749,7 @@ int parse_option(int short_option, const char *long_option, const char *option_a
option_values.cuesheet_filename = option_argument;
}
else if(0 == strcmp(long_option, "picture")) {
- const unsigned max_pictures = sizeof(option_values.pictures)/sizeof(option_values.pictures[0]);
+ const uint32_t max_pictures = sizeof(option_values.pictures)/sizeof(option_values.pictures[0]);
FLAC__ASSERT(0 != option_argument);
if(option_values.num_pictures >= max_pictures)
return usage_error("ERROR: too many --picture arguments, only %u allowed\n", max_pictures);
@@ -752,11 +765,29 @@ int parse_option(int short_option, const char *long_option, const char *option_a
else if(0 == strcmp(long_option, "no-cued-seekpoints")) {
option_values.cued_seekpoints = false;
}
+ else if(0 == strcmp(long_option, "force-raw-format")) {
+ option_values.force_raw_format = true;
+ }
else if(0 == strcmp(long_option, "force-aiff-format")) {
option_values.force_aiff_format = true;
}
- else if(0 == strcmp(long_option, "force-raw-format")) {
- option_values.force_raw_format = true;
+ else if(0 == strcmp(long_option, "force-rf64-format")) {
+ option_values.force_rf64_format = true;
+ }
+ else if(0 == strcmp(long_option, "force-wave64-format")) {
+ option_values.force_wave64_format = true;
+ }
+ else if(0 == strcmp(long_option, "force-legacy-wave-format")) {
+ option_values.force_legacy_wave_format = true;
+ }
+ else if(0 == strcmp(long_option, "force-extensible-wave-format")) {
+ option_values.force_extensible_wave_format = true;
+ }
+ else if(0 == strcmp(long_option, "force-aiff-c-none-format")) {
+ option_values.force_aiff_c_none_format = true;
+ }
+ else if(0 == strcmp(long_option, "force-aiff-c-sowt-format")) {
+ option_values.force_aiff_c_sowt_format = true;
}
else if(0 == strcmp(long_option, "lax")) {
option_values.lax = true;
@@ -767,9 +798,6 @@ int parse_option(int short_option, const char *long_option, const char *option_a
else if(0 == strcmp(long_option, "ignore-chunk-sizes")) {
option_values.ignore_chunk_sizes = true;
}
- else if(0 == strcmp(long_option, "sector-align")) {
- option_values.sector_align = true;
- }
#if FLAC__HAS_OGG
else if(0 == strcmp(long_option, "ogg")) {
option_values.use_ogg = true;
@@ -815,14 +843,22 @@ int parse_option(int short_option, const char *long_option, const char *option_a
else if(0 == strcmp(long_option, "residual-text")) {
option_values.aopts.do_residual_text = true;
}
+ else if(0 == strcmp(long_option, "limit-min-bitrate")) {
+ option_values.limit_min_bitrate = true;
+ }
/*
* negatives
*/
+ else if(0 == strcmp(long_option, "no-preserve-modtime")) {
+ option_values.preserve_modtime = false;
+ }
else if(0 == strcmp(long_option, "no-decode-through-errors")) {
option_values.continue_through_decode_errors = false;
}
else if(0 == strcmp(long_option, "no-silent")) {
+#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
flac__utils_verbosity_ = 2;
+#endif
}
else if(0 == strcmp(long_option, "no-force")) {
option_values.force_file_overwrite = false;
@@ -836,6 +872,7 @@ int parse_option(int short_option, const char *long_option, const char *option_a
}
else if(0 == strcmp(long_option, "no-keep-foreign-metadata")) {
option_values.keep_foreign_metadata = false;
+ option_values.keep_foreign_metadata_if_present = false;
}
else if(0 == strcmp(long_option, "no-replay-gain")) {
option_values.replay_gain = false;
@@ -843,9 +880,6 @@ int parse_option(int short_option, const char *long_option, const char *option_a
else if(0 == strcmp(long_option, "no-ignore-chunk-sizes")) {
option_values.ignore_chunk_sizes = false;
}
- else if(0 == strcmp(long_option, "no-sector-align")) {
- option_values.sector_align = false;
- }
else if(0 == strcmp(long_option, "no-utf8-convert")) {
option_values.utf8_convert = false;
}
@@ -898,6 +932,12 @@ int parse_option(int short_option, const char *long_option, const char *option_a
else if(0 == strcmp(long_option, "no-md5-sum")) {
option_values.debug.do_md5 = false;
}
+ else if(0 == strcmp(long_option, "no-error-on-compression-fail")) {
+ option_values.error_on_compression_fail = false;
+ }
+ else if(0 == strcmp(long_option, "error-on-compression-fail")) {
+ option_values.error_on_compression_fail = true;
+ }
}
else {
switch(short_option) {
@@ -925,7 +965,9 @@ int parse_option(int short_option, const char *long_option, const char *option_a
option_values.force_to_stdout = true;
break;
case 's':
+#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
flac__utils_verbosity_ = 1;
+#endif
break;
case 'f':
option_values.force_file_overwrite = true;
@@ -951,7 +993,7 @@ int parse_option(int short_option, const char *long_option, const char *option_a
case '6':
case '7':
case '8':
- add_compression_setting_unsigned(CST_COMPRESSION_LEVEL, short_option-'0');
+ add_compression_setting_uint32_t(CST_COMPRESSION_LEVEL, short_option-'0');
break;
case '9':
return usage_error("ERROR: compression level '9' is reserved\n");
@@ -975,8 +1017,8 @@ int parse_option(int short_option, const char *long_option, const char *option_a
return usage_error("ERROR: too many seekpoints requested\n");
}
else {
- strcat(option_values.requested_seek_points, option_argument);
- strcat(option_values.requested_seek_points, ";");
+ size_t len = strlen(option_values.requested_seek_points);
+ flac_snprintf(option_values.requested_seek_points+len, sizeof(option_values.requested_seek_points) - len, "%s;", option_argument);
}
}
break;
@@ -987,11 +1029,14 @@ int parse_option(int short_option, const char *long_option, const char *option_a
return usage_error("ERROR: argument to -%c must be >= 0; for no padding use -%c-\n", short_option, short_option);
break;
case 'b':
- FLAC__ASSERT(0 != option_argument);
- i = atoi(option_argument);
- if((i < (int)FLAC__MIN_BLOCK_SIZE || i > (int)FLAC__MAX_BLOCK_SIZE))
- return usage_error("ERROR: invalid blocksize (-%c) '%d', must be >= %u and <= %u\n", short_option, i, FLAC__MIN_BLOCK_SIZE, FLAC__MAX_BLOCK_SIZE);
- add_compression_setting_unsigned(CST_BLOCKSIZE, (unsigned)i);
+ {
+ uint32_t i ;
+ FLAC__ASSERT(0 != option_argument);
+ i = atoi(option_argument);
+ if((i < (int)FLAC__MIN_BLOCK_SIZE || i > (int)FLAC__MAX_BLOCK_SIZE))
+ return usage_error("ERROR: invalid blocksize (-%c) '%d', must be >= %u and <= %u\n", short_option, i, FLAC__MIN_BLOCK_SIZE, FLAC__MAX_BLOCK_SIZE);
+ add_compression_setting_uint32_t(CST_BLOCKSIZE, (uint32_t)i);
+ }
break;
case 'e':
add_compression_setting_bool(CST_DO_EXHAUSTIVE_MODEL_SEARCH, true);
@@ -1000,11 +1045,14 @@ int parse_option(int short_option, const char *long_option, const char *option_a
add_compression_setting_bool(CST_DO_ESCAPE_CODING, true);
break;
case 'l':
- FLAC__ASSERT(0 != option_argument);
- i = atoi(option_argument);
- if((i < 0 || i > (int)FLAC__MAX_LPC_ORDER))
- return usage_error("ERROR: invalid LPC order (-%c) '%d', must be >= %u and <= %u\n", short_option, i, 0, FLAC__MAX_LPC_ORDER);
- add_compression_setting_unsigned(CST_MAX_LPC_ORDER, (unsigned)i);
+ {
+ uint32_t i ;
+ FLAC__ASSERT(0 != option_argument);
+ i = atoi(option_argument);
+ if(i > FLAC__MAX_LPC_ORDER)
+ return usage_error("ERROR: invalid LPC order (-%c) '%d', must be >= %u and <= %u\n", short_option, i, 0, FLAC__MAX_LPC_ORDER);
+ add_compression_setting_uint32_t(CST_MAX_LPC_ORDER, i);
+ }
break;
case 'A':
FLAC__ASSERT(0 != option_argument);
@@ -1022,38 +1070,46 @@ int parse_option(int short_option, const char *long_option, const char *option_a
add_compression_setting_bool(CST_DO_QLP_COEFF_PREC_SEARCH, true);
break;
case 'q':
- FLAC__ASSERT(0 != option_argument);
- i = atoi(option_argument);
- if(i < 0 || (i > 0 && (i < (int)FLAC__MIN_QLP_COEFF_PRECISION || i > (int)FLAC__MAX_QLP_COEFF_PRECISION)))
- return usage_error("ERROR: invalid value '%d' for qlp coeff precision (-%c), must be 0 or between %u and %u, inclusive\n", i, short_option, FLAC__MIN_QLP_COEFF_PRECISION, FLAC__MAX_QLP_COEFF_PRECISION);
- add_compression_setting_unsigned(CST_QLP_COEFF_PRECISION, (unsigned)i);
- break;
- case 'r':
- FLAC__ASSERT(0 != option_argument);
- p = strchr(option_argument, ',');
- if(0 == p) {
- add_compression_setting_unsigned(CST_MIN_RESIDUAL_PARTITION_ORDER, 0);
+ {
+ uint32_t i ;
+ FLAC__ASSERT(0 != option_argument);
i = atoi(option_argument);
- if(i < 0)
- return usage_error("ERROR: invalid value '%d' for residual partition order (-%c), must be between 0 and %u, inclusive\n", i, short_option, FLAC__MAX_RICE_PARTITION_ORDER);
- add_compression_setting_unsigned(CST_MAX_RESIDUAL_PARTITION_ORDER, (unsigned)i);
+ if((i > 0 && (i < FLAC__MIN_QLP_COEFF_PRECISION || i > FLAC__MAX_QLP_COEFF_PRECISION)))
+ return usage_error("ERROR: invalid value '%d' for qlp coeff precision (-%c), must be 0 or between %u and %u, inclusive\n", i, short_option, FLAC__MIN_QLP_COEFF_PRECISION, FLAC__MAX_QLP_COEFF_PRECISION);
+ add_compression_setting_uint32_t(CST_QLP_COEFF_PRECISION, i);
}
- else {
- i = atoi(option_argument);
- if(i < 0)
- return usage_error("ERROR: invalid value '%d' for min residual partition order (-%c), must be between 0 and %u, inclusive\n", i, short_option, FLAC__MAX_RICE_PARTITION_ORDER);
- add_compression_setting_unsigned(CST_MIN_RESIDUAL_PARTITION_ORDER, (unsigned)i);
- i = atoi(++p);
- if(i < 0)
- return usage_error("ERROR: invalid value '%d' for max residual partition order (-%c), must be between 0 and %u, inclusive\n", i, short_option, FLAC__MAX_RICE_PARTITION_ORDER);
- add_compression_setting_unsigned(CST_MAX_RESIDUAL_PARTITION_ORDER, (unsigned)i);
+ break;
+ case 'r':
+ {
+ uint32_t i;
+ char * p;
+ FLAC__ASSERT(0 != option_argument);
+ p = strchr(option_argument, ',');
+ if(0 == p) {
+ add_compression_setting_uint32_t(CST_MIN_RESIDUAL_PARTITION_ORDER, 0);
+ i = atoi(option_argument);
+ if(i > FLAC__MAX_RICE_PARTITION_ORDER)
+ return usage_error("ERROR: invalid value '%d' for residual partition order (-%c), must be between 0 and %u, inclusive\n", i, short_option, FLAC__MAX_RICE_PARTITION_ORDER);
+ add_compression_setting_uint32_t(CST_MAX_RESIDUAL_PARTITION_ORDER, i);
+ }
+ else {
+ i = atoi(option_argument);
+ if(i > FLAC__MAX_RICE_PARTITION_ORDER)
+ return usage_error("ERROR: invalid value '%d' for min residual partition order (-%c), must be between 0 and %u, inclusive\n", i, short_option, FLAC__MAX_RICE_PARTITION_ORDER);
+ add_compression_setting_uint32_t(CST_MIN_RESIDUAL_PARTITION_ORDER, i);
+ i = atoi(++p);
+ if(i > FLAC__MAX_RICE_PARTITION_ORDER)
+ return usage_error("ERROR: invalid value '%d' for max residual partition order (-%c), must be between 0 and %u, inclusive\n", i, short_option, FLAC__MAX_RICE_PARTITION_ORDER);
+ add_compression_setting_uint32_t(CST_MAX_RESIDUAL_PARTITION_ORDER, i);
+ }
}
break;
case 'R':
- i = atoi(option_argument);
- if(i < 0)
- return usage_error("ERROR: invalid value '%d' for Rice parameter search distance (-%c), must be >= 0\n", i, short_option);
- add_compression_setting_unsigned(CST_RICE_PARAMETER_SEARCH_DIST, (unsigned)i);
+ {
+ uint32_t i;
+ i = atoi(option_argument);
+ add_compression_setting_uint32_t(CST_RICE_PARAMETER_SEARCH_DIST, i);
+ }
break;
default:
FLAC__ASSERT(0);
@@ -1065,7 +1121,7 @@ int parse_option(int short_option, const char *long_option, const char *option_a
void free_options(void)
{
- unsigned i;
+ uint32_t i;
if(0 != option_values.filenames) {
for(i = 0; i < option_values.num_files; i++) {
if(0 != option_values.filenames[i])
@@ -1082,7 +1138,11 @@ void free_options(void)
void add_compression_setting_bool(compression_setting_type_t type, FLAC__bool value)
{
if(option_values.num_compression_settings >= sizeof(option_values.compression_settings)/sizeof(option_values.compression_settings[0]))
+#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
die("too many compression settings");
+#else
+ return;
+#endif
option_values.compression_settings[option_values.num_compression_settings].type = type;
option_values.compression_settings[option_values.num_compression_settings].value.t_bool = value;
option_values.num_compression_settings++;
@@ -1091,19 +1151,34 @@ void add_compression_setting_bool(compression_setting_type_t type, FLAC__bool va
void add_compression_setting_string(compression_setting_type_t type, const char *value)
{
if(option_values.num_compression_settings >= sizeof(option_values.compression_settings)/sizeof(option_values.compression_settings[0]))
+#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
die("too many compression settings");
+#else
+ return;
+#endif
option_values.compression_settings[option_values.num_compression_settings].type = type;
option_values.compression_settings[option_values.num_compression_settings].value.t_string = value;
option_values.num_compression_settings++;
}
-void add_compression_setting_unsigned(compression_setting_type_t type, unsigned value)
+void add_compression_setting_uint32_t(compression_setting_type_t type, uint32_t value)
{
if(option_values.num_compression_settings >= sizeof(option_values.compression_settings)/sizeof(option_values.compression_settings[0]))
+#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
die("too many compression settings");
- option_values.compression_settings[option_values.num_compression_settings].type = type;
- option_values.compression_settings[option_values.num_compression_settings].value.t_unsigned = value;
- option_values.num_compression_settings++;
+#else
+ return;
+#endif
+ if(type == CST_COMPRESSION_LEVEL) {
+ /* Compression level always goes first */
+ option_values.compression_settings[0].type = type;
+ option_values.compression_settings[0].value.t_unsigned = value;
+ }
+ else {
+ option_values.compression_settings[option_values.num_compression_settings].type = type;
+ option_values.compression_settings[option_values.num_compression_settings].value.t_unsigned = value;
+ option_values.num_compression_settings++;
+ }
}
int usage_error(const char *message, ...)
@@ -1115,7 +1190,9 @@ int usage_error(const char *message, ...)
va_start(args, message);
+#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
(void) vfprintf(stderr, message, args);
+#endif
va_end(args);
@@ -1134,7 +1211,8 @@ static void usage_header(void)
{
printf("===============================================================================\n");
printf("flac - Command-line FLAC encoder/decoder version %s\n", FLAC__VERSION_STRING);
- printf("Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson\n");
+ printf("Copyright (C) 2000-2009 Josh Coalson\n");
+ printf("Copyright (C) 2011-2023 Xiph.Org Foundation\n");
printf("\n");
printf("This program is free software; you can redistribute it and/or\n");
printf("modify it under the terms of the GNU General Public License\n");
@@ -1146,9 +1224,9 @@ static void usage_header(void)
printf("MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n");
printf("GNU General Public License for more details.\n");
printf("\n");
- printf("You should have received a copy of the GNU General Public License\n");
- printf("along with this program; if not, write to the Free Software\n");
- printf("Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n");
+ printf("You should have received a copy of the GNU General Public License along\n");
+ printf("with this program; if not, write to the Free Software Foundation, Inc.,\n");
+ printf("51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n");
printf("===============================================================================\n");
}
@@ -1156,10 +1234,13 @@ static void usage_summary(void)
{
printf("Usage:\n");
printf("\n");
- printf(" Encoding: flac [<general-options>] [<encoding/format-options>] [INPUTFILE [...]]\n");
- printf(" Decoding: flac -d [<general-options>] [<format-options>] [FLACFILE [...]]\n");
- printf(" Testing: flac -t [<general-options>] [FLACFILE [...]]\n");
- printf("Analyzing: flac -a [<general-options>] [<analysis-options>] [FLACFILE [...]]\n");
+ printf(" Encoding: flac [<general/encoding/format options>] [INPUTFILE [...]]\n");
+ printf(" Decoding: flac -d [<general/decoding/format options>] [FLACFILE [...]]\n");
+ printf(" Testing: flac -t [<general options>] [FLACFILE [...]]\n");
+ printf("Analyzing: flac -a [<general/analysis options>] [FLACFILE [...]]\n");
+ printf("\n");
+ printf("Be sure to read the list of known bugs at:\n");
+ printf("http://xiph.org/flac/documentation_bugs.html\n");
printf("\n");
}
@@ -1170,6 +1251,9 @@ void short_usage(void)
printf("This is the short help; for all options use 'flac --help'; for even more\n");
printf("instructions use 'flac --explain'\n");
printf("\n");
+ printf("Be sure to read the list of known bugs at:\n");
+ printf("http://xiph.org/flac/documentation_bugs.html\n");
+ printf("\n");
printf("To encode:\n");
printf(" flac [-#] [INPUTFILE [...]]\n");
printf("\n");
@@ -1202,7 +1286,10 @@ void show_help(void)
printf(" -o, --output-name=FILENAME Force the output file name\n");
printf(" --output-prefix=STRING Prepend STRING to output names\n");
printf(" --delete-input-file Deletes after a successful encode/decode\n");
+ printf(" --preserve-modtime Output files keep timestamp of input (default)\n");
printf(" --keep-foreign-metadata Save/restore WAVE or AIFF non-audio chunks\n");
+ printf(" --keep-foreign-metadata-if-present Save/restore WAVE or AIFF non-audio\n");
+ printf(" but not return an error when no such chunks are found\n");
printf(" --skip={#|mm:ss.ss} Skip the given initial samples for each input\n");
printf(" --until={#|[+|-]mm:ss.ss} Stop at the given sample for each input file\n");
#if FLAC__HAS_OGG
@@ -1218,10 +1305,7 @@ void show_help(void)
printf("encoding options:\n");
printf(" -V, --verify Verify a correct encoding\n");
printf(" --lax Allow encoder to generate non-Subset files\n");
-#if 0 /*@@@ currently undocumented */
printf(" --ignore-chunk-sizes Ignore data chunk sizes in WAVE/AIFF files\n");
-#endif
- printf(" --sector-align Align multiple files on sector boundaries\n");
printf(" --replay-gain Calculate ReplayGain & store in FLAC tags\n");
printf(" --cuesheet=FILENAME Import cuesheet and store in CUESHEET block\n");
printf(" --picture=SPECIFICATION Import picture and store in PICTURE block\n");
@@ -1236,8 +1320,11 @@ void show_help(void)
printf(" -4, --compression-level-4 Synonymous with -l 8 -b 4096 -M -r 4\n");
printf(" -5, --compression-level-5 Synonymous with -l 8 -b 4096 -m -r 5\n");
printf(" -6, --compression-level-6 Synonymous with -l 8 -b 4096 -m -r 6\n");
- printf(" -7, --compression-level-7 Synonymous with -l 8 -b 4096 -m -e -r 6\n");
- printf(" -8, --compression-level-8, --best Synonymous with -l 12 -b 4096 -m -e -r 6\n");
+ printf(" -A subdivide_tukey(2)\n");
+ printf(" -7, --compression-level-7 Synonymous with -l 12 -b 4096 -m -r 6\n");
+ printf(" -A subdivide_tukey(2)\n");
+ printf(" -8, --compression-level-8, --best Synonymous with -l 12 -b 4096 -m -r 6\n");
+ printf(" -A subdivide_tukey(3)\n");
printf(" -b, --blocksize=# Specify blocksize in samples\n");
printf(" -m, --mid-side Try mid-side coding for each frame\n");
printf(" -M, --adaptive-mid-side Adaptive mid-side coding for all frames\n");
@@ -1247,19 +1334,30 @@ void show_help(void)
printf(" -p, --qlp-coeff-precision-search Exhaustively search LP coeff quantization\n");
printf(" -q, --qlp-coeff-precision=# Specify precision in bits\n");
printf(" -r, --rice-partition-order=[#,]# Set [min,]max residual partition order\n");
+ printf(" --limit-min-bitrate Limit minimum bitrate (for streaming)\n");
printf("format options:\n");
+ printf(" --force-raw-format Treat input or output as raw samples\n");
+ printf(" --force-aiff-format Decode to AIFF format\n");
+ printf(" --force-rf64-format Decode to RF64 format\n");
+ printf(" --force-wave64-format Decode to Wave64 format\n");
+ printf(" --force-legacy-wave-format Decode to legacy wave format\n");
+ printf(" --force-extensible-wave-format Decode to extensible wave format\n");
+ printf(" --force-aiff-c-none-format Decode to AIFF-C NONE format\n");
+ printf(" --force-aiff-c-sowt-format Decode to AIFF-C sowt format\n");
+ printf("raw format options:\n");
printf(" --endian={big|little} Set byte order for samples\n");
printf(" --channels=# Number of channels\n");
printf(" --bps=# Number of bits per sample\n");
printf(" --sample-rate=# Sample rate in Hz\n");
printf(" --sign={signed|unsigned} Sign of samples\n");
printf(" --input-size=# Size of the raw input in bytes\n");
- printf(" --force-aiff-format Force decoding to AIFF format\n");
- printf(" --force-raw-format Treat input or output as raw samples\n");
printf("negative options:\n");
printf(" --no-adaptive-mid-side\n");
+ printf(" --no-cued-seekpoints\n");
printf(" --no-decode-through-errors\n");
printf(" --no-delete-input-file\n");
+ printf(" --no-error-on-compression-fail\n");
+ printf(" --no-preserve-modtime\n");
printf(" --no-keep-foreign-metadata\n");
printf(" --no-exhaustive-model-search\n");
printf(" --no-lax\n");
@@ -1272,10 +1370,7 @@ void show_help(void)
printf(" --no-replay-gain\n");
printf(" --no-residual-gnuplot\n");
printf(" --no-residual-text\n");
-#if 0 /*@@@ currently undocumented */
printf(" --no-ignore-chunk-sizes\n");
-#endif
- printf(" --no-sector-align\n");
printf(" --no-seektable\n");
printf(" --no-silent\n");
printf(" --no-force\n");
@@ -1288,9 +1383,9 @@ void show_explain(void)
usage_header();
usage_summary();
printf("For encoding:\n");
- printf(" The input file(s) may be a PCM WAVE file, AIFF (or uncompressed AIFF-C)\n");
- printf(" file, or raw samples.\n");
- printf(" The output file(s) will be in native FLAC or Ogg FLAC format\n");
+ printf(" The input file(s) may be a PCM WAVE, Wave64, RF64 file, AIFF (or uncompressed\n");
+ printf(" AIFF-C) file, or raw samples. The output file(s) will be in native FLAC\n");
+ printf(" or Ogg FLAC format\n");
printf("For decoding, the reverse is true.\n");
printf("\n");
printf("A single INPUTFILE may be - for stdin. No INPUTFILE implies stdin. Use of\n");
@@ -1301,12 +1396,6 @@ void show_explain(void)
printf("since the former allows flac to seek backwards to write the STREAMINFO or\n");
printf("WAVE/AIFF header contents when necessary.\n");
printf("\n");
- printf("flac checks for the presence of a AIFF/WAVE header to decide whether or not to\n");
- printf("treat an input file as AIFF/WAVE format or raw samples. If any input file is\n");
- printf("raw you must specify the format options {-fb|fl} -fc -fp and -fs, which will\n");
- printf("apply to all raw files. You can force AIFF/WAVE files to be treated as raw\n");
- printf("files using -fr.\n");
- printf("\n");
printf("general options:\n");
printf(" -v, --version Show the flac version number\n");
printf(" -h, --help Show basic usage a list of all options\n");
@@ -1338,6 +1427,11 @@ void show_explain(void)
printf(" successful encode or decode. If there was an\n");
printf(" error (including a verify error) the input file\n");
printf(" is left intact.\n");
+ printf(" --preserve-modtime Output files have their timestamps/permissions\n");
+ printf(" set to match those of their inputs (this is\n");
+ printf(" default). Use --no-preserve-modtime to make\n");
+ printf(" output files have the current time and default\n");
+ printf(" permissions.\n");
printf(" --keep-foreign-metadata If encoding, save WAVE or AIFF non-audio chunks\n");
printf(" in FLAC metadata. If decoding, restore any saved\n");
printf(" non-audio chunks from FLAC metadata when writing\n");
@@ -1345,6 +1439,14 @@ void show_explain(void)
printf(" transcoded, e.g. WAVE chunks saved in a FLAC file\n");
printf(" cannot be restored when decoding to AIFF. Input\n");
printf(" and output must be regular files, not stdin/out.\n");
+ printf(" With this option, FLAC will pick the right\n");
+ printf(" output format on decoding.\n");
+ printf(" --keep-foreign-metadata-if-present As previous option, but do not throw\n");
+ printf(" an error in case no foreign metadata is found,\n");
+ printf(" the wrong kind of foreign metadata is found (on\n");
+ printf(" decoding) or if the foreign could not be parsed,\n");
+ printf(" i.e. all foreign metadata related errors are\n");
+ printf(" treated as warnings.\n");
printf(" --skip={#|mm:ss.ss} Skip the first # samples of each input file; can\n");
printf(" be used both for encoding and decoding. The\n");
printf(" alternative form mm:ss.ss can be used to specify\n");
@@ -1408,22 +1510,22 @@ void show_explain(void)
printf(" output in parallel and comparing to the\n");
printf(" original\n");
printf(" --lax Allow encoder to generate non-Subset files\n");
-#if 0 /*@@@ currently undocumented */
printf(" --ignore-chunk-sizes Ignore data chunk sizes in WAVE/AIFF files;\n");
printf(" useful when piping data from programs which\n");
printf(" generate bogus data chunk sizes.\n");
-#endif
- printf(" --sector-align Align encoding of multiple CD format WAVE files\n");
- printf(" on sector boundaries.\n");
printf(" --replay-gain Calculate ReplayGain values and store them as\n");
printf(" FLAC tags. Title gains/peaks will be computed\n");
printf(" for each file, and an album gain/peak will be\n");
printf(" computed for all files. All input files must\n");
printf(" have the same resolution, sample rate, and\n");
- printf(" number of channels. The sample rate must be\n");
- printf(" one of 8, 11.025, 12, 16, 22.05, 24, 32, 44.1,\n");
- printf(" or 48 kHz. NOTE: this option may also leave a\n");
- printf(" few extra bytes in the PADDING block.\n");
+ printf(" number of channels. Only mono and stereo files\n");
+ printf(" are allowed, and the sample rate must be 8,\n");
+ printf(" 11.025, 12, 16, 18.9, 22.05, 24, 28, 32, 36,\n");
+ printf(" 37.8, 44.1, 48, 56, 64, 72, 75.6, 88.2, 96, 112,\n");
+ printf(" 128, 144, 151.2, 176.4, 192, 224, 256, 288,\n");
+ printf(" 302.4, 352.8, 384, 448, 512, 576, or 604.8 kHz.\n");
+ printf(" NOTE: this option may also leave a few extra\n");
+ printf(" bytes in the PADDING block.\n");
printf(" --cuesheet=FILENAME Import the given cuesheet file and store it in\n");
printf(" a CUESHEET metadata block. This option may only\n");
printf(" be used when encoding a single file. A\n");
@@ -1469,7 +1571,7 @@ void show_explain(void)
printf(" mean that FILE is actually a URL to an image, though this use is\n");
printf(" discouraged.\n");
printf(" DESCRIPTION is optional; the default is an empty string\n");
- printf(" The next part specfies the resolution and color information. If\n");
+ printf(" The next part specifies the resolution and color information. If\n");
printf(" the MIME-TYPE is image/jpeg, image/png, or image/gif, you can\n");
printf(" usually leave this empty and they can be detected from the file.\n");
printf(" Otherwise, you must specify the width in pixels, height in pixels,\n");
@@ -1518,20 +1620,25 @@ void show_explain(void)
printf(" block of 8192 bytes by default, or 65536 bytes\n");
printf(" if the input audio is more than 20 minutes long.\n");
printf(" -b, --blocksize=# Specify the blocksize in samples; the default is\n");
- printf(" 1152 for -l 0, else 4096; must be one of 192,\n");
- printf(" 576, 1152, 2304, 4608, 256, 512, 1024, 2048,\n");
- printf(" 4096 (and 8192 or 16384 if the sample rate is\n");
- printf(" >48kHz) for Subset streams.\n");
+ printf(" 1152 for -l 0, else 4096; for subset streams this\n");
+ printf(" must be <= 4608 if the samplerate <= 48kHz,\n");
+ printf(" for subset streams with a higher samplerates it\n");
+ printf(" must be <= 16384.\n");
printf(" -0, --compression-level-0, --fast Synonymous with -l 0 -b 1152 -r 3\n");
+ printf(" --no-mid-side\n");
printf(" -1, --compression-level-1 Synonymous with -l 0 -b 1152 -M -r 3\n");
printf(" -2, --compression-level-2 Synonymous with -l 0 -b 1152 -m -r 3\n");
printf(" -3, --compression-level-3 Synonymous with -l 6 -b 4096 -r 4\n");
+ printf(" --no-mid-side\n");
printf(" -4, --compression-level-4 Synonymous with -l 8 -b 4096 -M -r 4\n");
printf(" -5, --compression-level-5 Synonymous with -l 8 -b 4096 -m -r 5\n");
printf(" -5 is the default setting\n");
printf(" -6, --compression-level-6 Synonymous with -l 8 -b 4096 -m -r 6\n");
- printf(" -7, --compression-level-7 Synonymous with -l 8 -b 4096 -m -e -r 6\n");
- printf(" -8, --compression-level-8, --best Synonymous with -l 12 -b 4096 -m -e -r 6\n");
+ printf(" -A subdivide_tukey(2)\n");
+ printf(" -7, --compression-level-7 Synonymous with -l 12 -b 4096 -m -r 6\n");
+ printf(" -A subdivide_tukey(2)\n");
+ printf(" -8, --compression-level-8, --best Synonymous with -l 12 -b 4096 -m -r 6\n");
+ printf(" -A subdivide_tukey(3)\n");
printf(" -m, --mid-side Try mid-side coding for each frame\n");
printf(" (stereo only)\n");
printf(" -M, --adaptive-mid-side Adaptive mid-side coding for all frames\n");
@@ -1542,12 +1649,13 @@ void show_explain(void)
printf(" blackman, blackman_harris_4term_92db,\n");
printf(" connes, flattop, gauss(STDDEV), hamming,\n");
printf(" hann, kaiser_bessel, nuttall, rectangle,\n");
- printf(" triangle, tukey(P), welch. More than one\n");
- printf(" may be specified but encoding time is a\n");
- printf(" multiple of the number of functions since\n");
- printf(" they are each tried in turn. The encoder\n");
- printf(" chooses suitable defaults in the absence\n");
- printf(" of any -A options.\n");
+ printf(" triangle, tukey(P), welch, partial_tukey(n)\n");
+ printf(" punchout_tukey(n) and subdivide_tukey(n).\n");
+ printf(" More than one may be specified but encoding\n");
+ printf(" time is a multiple of the number of\n");
+ printf(" functions since they are each tried in \n");
+ printf(" turn. The encoder chooses suitable\n");
+ printf(" defaults in the absence of any -A options.\n");
printf(" -l, --max-lpc-order=# Max LPC order; 0 => only fixed predictors.\n");
printf(" Must be <= 12 for Subset streams if sample\n");
printf(" rate is <=48kHz.\n");
@@ -1556,38 +1664,63 @@ void show_explain(void)
printf(" does nothing if using -l 0\n");
printf(" -q, --qlp-coeff-precision=# Specify precision in bits of quantized\n");
printf(" linear-predictor coefficients; 0 => let\n");
- printf(" encoder decide (the minimun is %u, the\n", FLAC__MIN_QLP_COEFF_PRECISION);
+ printf(" encoder decide (the minimum is %u, the\n", FLAC__MIN_QLP_COEFF_PRECISION);
printf(" default is -q 0)\n");
printf(" -r, --rice-partition-order=[#,]# Set [min,]max residual partition order\n");
- printf(" (# is 0..16; min defaults to 0; the\n");
- printf(" default is -r 0; above 4 doesn't usually\n");
- printf(" help much)\n");
+ printf(" (# is 0 to 15 inclusive; min defaults to 0;\n");
+ printf(" the default is -r 0; above 4 does not\n");
+ printf(" usually help much)\n");
+ printf(" --limit-min-bitrate Limit minimum bitrate by not allowing\n");
+ printf(" frames consisting of only constant\n");
+ printf(" subframes. This ensures a bitrate of at\n");
+ printf(" least 1 bit/sample, for example 48kbit/s\n");
+ printf(" for 48kHz input. This is mostly beneficial\n");
+ printf(" for internet streaming.\n");
printf("format options:\n");
+ printf(" --force-raw-format Force input (when encoding) or output (when\n");
+ printf(" decoding) to be treated as raw samples\n");
+ printf(" --force-aiff-format\n");
+ printf(" --force-rf64-format\n");
+ printf(" --force-wave64-format\n");
+ printf(" Force the decoder to output AIFF/RF64/WAVE64 format respectively.\n");
+ printf(" This option is not needed if the output filename (as set by -o)\n");
+ printf(" ends with *.aif* or *.aiff*, *.rf64* and *.w64* respectively. Also,\n");
+ printf(" this option has no effect when encoding since input is\n");
+ printf(" auto-detected. When none of these options nor\n");
+ printf(" --keep-foreign-metadata are given and no output filename is set,\n");
+ printf(" the output format is WAV by default.\n");
+ printf(" --force-legacy-wave-format\n");
+ printf(" --force-extensible-wave-format\n");
+ printf(" Instruct the decoder to output a WAVE file with WAVE_FORMAT_PCM and\n");
+ printf(" WAVE_FORMAT_EXTENSIBLE respectively. If none of these options nor\n");
+ printf(" --keep-foreign-metadata are given, FLAC outputs WAVE_FORMAT_PCM\n");
+ printf(" for mono or stereo with a bit depth of 8 or 16 bits, and\n");
+ printf(" WAVE_FORMAT_EXTENSIBLE for all other audio formats.\n");
+ printf(" --force-aiff-c-none-format\n");
+ printf(" --force-aiff-c-sowt-format\n");
+ printf(" Instruct the decoder to output an AIFF-C file with format NONE and\n");
+ printf(" sowt respectively.\n");
+ printf("raw format options:\n");
printf(" --endian={big|little} Set byte order for samples\n");
printf(" --channels=# Number of channels\n");
printf(" --bps=# Number of bits per sample\n");
printf(" --sample-rate=# Sample rate in Hz\n");
- printf(" --sign={signed|unsigned} Sign of samples (the default is signed)\n");
+ printf(" --sign={signed|unsigned} Sign of samples\n");
printf(" --input-size=# Size of the raw input in bytes. If you are\n");
printf(" encoding raw samples from stdin, you must set\n");
printf(" this option in order to be able to use --skip,\n");
- printf(" --until, --cue-sheet, or other options that need\n");
+ printf(" --until, --cuesheet, or other options that need\n");
printf(" to know the size of the input beforehand. If\n");
printf(" the size given is greater than what is found in\n");
printf(" the input stream, the encoder will complain\n");
printf(" about an unexpected end-of-file. If the size\n");
printf(" given is less, samples will be truncated.\n");
- printf(" --force-aiff-format Force the decoder to output AIFF format. This\n");
- printf(" option is not needed if the output filename (as\n");
- printf(" set by -o) ends with .aif or .aiff; this option\n");
- printf(" has no effect when encoding since input AIFF is\n");
- printf(" auto-detected.\n");
- printf(" --force-raw-format Force input (when encoding) or output (when\n");
- printf(" decoding) to be treated as raw samples\n");
printf("negative options:\n");
printf(" --no-adaptive-mid-side\n");
+ printf(" --no-cued-seekpoints\n");
printf(" --no-decode-through-errors\n");
printf(" --no-delete-input-file\n");
+ printf(" --no-preserve-modtime\n");
printf(" --no-keep-foreign-metadata\n");
printf(" --no-exhaustive-model-search\n");
printf(" --no-lax\n");
@@ -1599,10 +1732,7 @@ void show_explain(void)
printf(" --no-qlp-coeff-prec-search\n");
printf(" --no-residual-gnuplot\n");
printf(" --no-residual-text\n");
-#if 0 /*@@@ currently undocumented */
printf(" --no-ignore-chunk-sizes\n");
-#endif
- printf(" --no-sector-align\n");
printf(" --no-seektable\n");
printf(" --no-silent\n");
printf(" --no-force\n");
@@ -1613,23 +1743,22 @@ void show_explain(void)
void format_mistake(const char *infilename, FileFormat wrong, FileFormat right)
{
/* WATCHOUT: indexed by FileFormat */
- static const char * const ff[] = { "raw", "WAVE", "AIFF", "FLAC", "Ogg FLAC" };
- flac__utils_printf(stderr, 1, "WARNING: %s is not a %s file; treating as a %s file\n", infilename, ff[wrong], ff[right]);
+ flac__utils_printf(stderr, 1, "WARNING: %s is not a%s file; treating as a%s file\n", infilename, FileFormatString[wrong], FileFormatString[right]);
}
int encode_file(const char *infilename, FLAC__bool is_first_file, FLAC__bool is_last_file)
{
FILE *encode_infile;
FLAC__byte lookahead[12];
- unsigned lookahead_length = 0;
- FileFormat input_format = RAW;
- FLAC__bool is_aifc = false;
+ uint32_t lookahead_length = 0, master_chunk_size = 0;
+ FileFormat input_format = FORMAT_RAW;
int retval;
- off_t infilesize;
- encode_options_t common_options;
+ FLAC__off_t infilesize;
+ encode_options_t encode_options;
const char *outfilename = get_encoded_outfilename(infilename); /* the final name of the encoded file */
/* internal_outfilename is the file we will actually write to; it will be a temporary name if infilename==outfilename */
char *internal_outfilename = 0; /* NULL implies 'use outfilename' */
+ size_t infilename_length;
if(0 == outfilename) {
flac__utils_printf(stderr, 1, "ERROR: filename too long: %s", infilename);
@@ -1637,12 +1766,13 @@ int encode_file(const char *infilename, FLAC__bool is_first_file, FLAC__bool is_
}
if(0 == strcmp(infilename, "-")) {
- infilesize = (off_t)(-1);
+ infilesize = (FLAC__off_t)(-1);
encode_infile = grabbag__file_get_binary_stdin();
}
- else {
+ else
+ {
infilesize = grabbag__file_get_filesize(infilename);
- if(0 == (encode_infile = fopen(infilename, "rb"))) {
+ if(0 == (encode_infile = flac_fopen(infilename, "rb"))) {
flac__utils_printf(stderr, 1, "ERROR: can't open input file %s: %s\n", infilename, strerror(errno));
return 1;
}
@@ -1650,69 +1780,102 @@ int encode_file(const char *infilename, FLAC__bool is_first_file, FLAC__bool is_
if(!option_values.force_raw_format) {
/* first set format based on name */
- if(strlen(infilename) >= 4 && 0 == FLAC__STRCASECMP(infilename+(strlen(infilename)-4), ".wav"))
- input_format = WAV;
- else if(strlen(infilename) >= 4 && 0 == FLAC__STRCASECMP(infilename+(strlen(infilename)-4), ".aif"))
- input_format = AIF;
- else if(strlen(infilename) >= 5 && 0 == FLAC__STRCASECMP(infilename+(strlen(infilename)-5), ".aiff"))
- input_format = AIF;
- else if(strlen(infilename) >= 5 && 0 == FLAC__STRCASECMP(infilename+(strlen(infilename)-5), ".flac"))
- input_format = FLAC;
- else if(strlen(infilename) >= 4 && 0 == FLAC__STRCASECMP(infilename+(strlen(infilename)-4), ".oga"))
- input_format = OGGFLAC;
- else if(strlen(infilename) >= 4 && 0 == FLAC__STRCASECMP(infilename+(strlen(infilename)-4), ".ogg"))
- input_format = OGGFLAC;
+ infilename_length = strlen(infilename);
+ if(infilename_length >= 4 && 0 == FLAC__STRCASECMP(infilename+(infilename_length-4), ".wav"))
+ input_format = FORMAT_WAVE;
+ else if(infilename_length >= 5 && 0 == FLAC__STRCASECMP(infilename+(infilename_length-5), ".rf64"))
+ input_format = FORMAT_RF64;
+ else if(infilename_length >= 4 && 0 == FLAC__STRCASECMP(infilename+(infilename_length-4), ".w64"))
+ input_format = FORMAT_WAVE64;
+ else if(infilename_length >= 4 && 0 == FLAC__STRCASECMP(infilename+(infilename_length-4), ".aif"))
+ input_format = FORMAT_AIFF;
+ else if(infilename_length >= 5 && 0 == FLAC__STRCASECMP(infilename+(infilename_length-5), ".aiff"))
+ input_format = FORMAT_AIFF;
+ else if(infilename_length >= 5 && 0 == FLAC__STRCASECMP(infilename+(infilename_length-5), ".flac"))
+ input_format = FORMAT_FLAC;
+ else if(infilename_length >= 4 && 0 == FLAC__STRCASECMP(infilename+(infilename_length-4), ".oga"))
+ input_format = FORMAT_OGGFLAC;
+ else if(infilename_length >= 4 && 0 == FLAC__STRCASECMP(infilename+(infilename_length-4), ".ogg"))
+ input_format = FORMAT_OGGFLAC;
/* attempt to guess the file type based on the first 12 bytes */
if((lookahead_length = fread(lookahead, 1, 12, encode_infile)) < 12) {
- if(input_format != RAW) {
- format_mistake(infilename, input_format, RAW);
+ /* all supported non-raw formats have at least 12 bytes of header to read */
+ if(input_format != FORMAT_RAW) {
+ format_mistake(infilename, input_format, FORMAT_RAW);
if(option_values.treat_warnings_as_errors) {
conditional_fclose(encode_infile);
return 1;
}
}
- input_format = RAW;
+ /* force to raw */
+ input_format = FORMAT_RAW;
}
else {
- if(!strncmp((const char *)lookahead, "ID3", 3)) {
+ if(!memcmp(lookahead, "ID3", 3)) {
flac__utils_printf(stderr, 1, "ERROR: input file %s has an ID3v2 tag\n", infilename);
+ conditional_fclose(encode_infile);
return 1;
}
- else if(!strncmp((const char *)lookahead, "RIFF", 4) && !strncmp((const char *)lookahead+8, "WAVE", 4))
- input_format = WAV;
- else if(!strncmp((const char *)lookahead, "FORM", 4) && !strncmp((const char *)lookahead+8, "AIFF", 4))
- input_format = AIF;
- else if(!strncmp((const char *)lookahead, "FORM", 4) && !strncmp((const char *)lookahead+8, "AIFC", 4)) {
- input_format = AIF;
- is_aifc = true;
- }
+ else if(!memcmp(lookahead, "RIFF", 4) && !memcmp(lookahead+8, "WAVE", 4))
+ input_format = FORMAT_WAVE;
+ else if(!memcmp(lookahead, "RF64", 4) && !memcmp(lookahead+8, "WAVE", 4))
+ input_format = FORMAT_RF64;
+ else if(!memcmp(lookahead, "riff\x2E\x91\xCF\x11\xA5\xD6\x28\xDB", 12)) /* just check 1st 12 bytes of GUID */
+ input_format = FORMAT_WAVE64;
+ else if(!memcmp(lookahead, "FORM", 4) && !memcmp(lookahead+8, "AIFF", 4))
+ input_format = FORMAT_AIFF;
+ else if(!memcmp(lookahead, "FORM", 4) && !memcmp(lookahead+8, "AIFC", 4))
+ input_format = FORMAT_AIFF_C;
else if(!memcmp(lookahead, FLAC__STREAM_SYNC_STRING, sizeof(FLAC__STREAM_SYNC_STRING)))
- input_format = FLAC;
- /* this could be made more accurate by looking at the first packet */
+ input_format = FORMAT_FLAC;
+ /*@@@ this could be made more accurate by looking at the first packet to make sure it's Ogg FLAC and not, say, Ogg Vorbis. we do catch such problems later though. */
else if(!memcmp(lookahead, "OggS", 4))
- input_format = OGGFLAC;
+ input_format = FORMAT_OGGFLAC;
else {
- if(input_format != RAW) {
- format_mistake(infilename, input_format, RAW);
+ /* didn't find header of any supported format */
+ if(input_format != FORMAT_RAW) {
+ format_mistake(infilename, input_format, FORMAT_RAW);
if(option_values.treat_warnings_as_errors) {
conditional_fclose(encode_infile);
return 1;
}
}
- input_format = RAW;
+ /* force to raw */
+ input_format = FORMAT_RAW;
}
}
}
- if(option_values.keep_foreign_metadata) {
+ if(!option_values.ignore_chunk_sizes
+ && (input_format == FORMAT_WAVE || input_format == FORMAT_AIFF || input_format == FORMAT_AIFF_C)
+ && infilesize >= UINT32_MAX) {
+ conditional_fclose(encode_infile);
+ return usage_error("ERROR: file %s is too large to be valid.\n"
+ "Please consult the manual on the --ignore-chunk-sizes option\n\n", infilename);
+ }
+
+ if(input_format == FORMAT_WAVE || input_format == FORMAT_AIFF || input_format == FORMAT_AIFF_C) {
+ memcpy(&master_chunk_size,lookahead+4,sizeof(master_chunk_size));
+ if((input_format != FORMAT_WAVE) != CPU_IS_BIG_ENDIAN /* logical xor */)
+ /* true for WAVE on big endian CPUs or AIFF/AIFF-C on little endian CPUs */
+ master_chunk_size = ENDSWAP_32(master_chunk_size);
+
+ if(infilesize != (FLAC__off_t)(-1) && infilesize > 8 && (infilesize - 8) != master_chunk_size) {
+ flac__utils_printf(stderr, 1, "WARNING: %s chunk size of file %s does not agree with filesize\n", (input_format == FORMAT_WAVE)?"RIFF":"FORM", infilename);
+ if(option_values.treat_warnings_as_errors)
+ return 1;
+ }
+ }
+
+ if(option_values.keep_foreign_metadata || option_values.keep_foreign_metadata_if_present) {
if(encode_infile == stdin || option_values.force_to_stdout) {
conditional_fclose(encode_infile);
return usage_error("ERROR: --keep-foreign-metadata cannot be used when encoding from stdin or to stdout\n");
}
- if(input_format != WAV && input_format != AIF) {
+ if(input_format != FORMAT_WAVE && input_format != FORMAT_WAVE64 && input_format != FORMAT_RF64 && input_format != FORMAT_AIFF && input_format != FORMAT_AIFF_C) {
conditional_fclose(encode_infile);
- return usage_error("ERROR: --keep-foreign-metadata can only be used with WAVE or AIFF input\n");
+ return usage_error("ERROR: --keep-foreign-metadata can only be used with WAVE, Wave64, RF64, or AIFF input\n");
}
}
@@ -1720,8 +1883,8 @@ int encode_file(const char *infilename, FLAC__bool is_first_file, FLAC__bool is_
* Error if output file already exists (and -f not used).
* Use grabbag__file_get_filesize() as a cheap way to check.
*/
- if(!option_values.test_only && !option_values.force_file_overwrite && strcmp(outfilename, "-") && grabbag__file_get_filesize(outfilename) != (off_t)(-1)) {
- if(input_format == FLAC) {
+ if(!option_values.test_only && !option_values.force_file_overwrite && strcmp(outfilename, "-") && grabbag__file_get_filesize(outfilename) != (FLAC__off_t)(-1)) {
+ if(input_format == FORMAT_FLAC) {
/* need more detailed error message when re-flac'ing to avoid confusing the user */
flac__utils_printf(stderr, 1,
"ERROR: output file %s already exists.\n\n"
@@ -1732,7 +1895,7 @@ int encode_file(const char *infilename, FLAC__bool is_first_file, FLAC__bool is_
outfilename
);
}
- else if(input_format == OGGFLAC) {
+ else if(input_format == FORMAT_OGGFLAC) {
/* need more detailed error message when re-flac'ing to avoid confusing the user */
flac__utils_printf(stderr, 1,
"ERROR: output file %s already exists.\n\n"
@@ -1750,7 +1913,7 @@ int encode_file(const char *infilename, FLAC__bool is_first_file, FLAC__bool is_
}
if(option_values.format_input_size >= 0) {
- if (input_format != RAW || infilesize >= 0) {
+ if (input_format != FORMAT_RAW || infilesize >= 0) {
flac__utils_printf(stderr, 1, "ERROR: can only use --input-size when encoding raw samples from stdin\n");
conditional_fclose(encode_infile);
return 1;
@@ -1760,25 +1923,20 @@ int encode_file(const char *infilename, FLAC__bool is_first_file, FLAC__bool is_
}
}
- if(option_values.sector_align && (input_format == FLAC || input_format == OGGFLAC)) {
- flac__utils_printf(stderr, 1, "ERROR: can't use --sector-align when the input file is FLAC or Ogg FLAC\n");
- conditional_fclose(encode_infile);
- return 1;
- }
- if(option_values.sector_align && input_format == RAW && infilesize < 0) {
- flac__utils_printf(stderr, 1, "ERROR: can't use --sector-align when the input size is unknown\n");
- conditional_fclose(encode_infile);
- return 1;
- }
-
- if(input_format == RAW) {
+ if(input_format == FORMAT_RAW) {
if(option_values.format_is_big_endian < 0 || option_values.format_is_unsigned_samples < 0 || option_values.format_channels < 0 || option_values.format_bps < 0 || option_values.format_sample_rate < 0) {
conditional_fclose(encode_infile);
return usage_error("ERROR: for encoding a raw file you must specify a value for --endian, --sign, --channels, --bps, and --sample-rate\n");
}
}
+ else {
+ if(option_values.format_is_big_endian >= 0 || option_values.format_is_unsigned_samples >= 0 || option_values.format_channels >= 0 || option_values.format_bps >= 0 || option_values.format_sample_rate >= 0) {
+ conditional_fclose(encode_infile);
+ return usage_error("ERROR: raw format options (--endian, --sign, --channels, --bps, and --sample-rate) are not allowed for non-raw input\n");
+ }
+ }
- if(/*@@@@@@why no stdin?*/encode_infile == stdin || option_values.force_to_stdout) {
+ if(option_values.force_to_stdout) {
if(option_values.replay_gain) {
conditional_fclose(encode_infile);
return usage_error("ERROR: --replay-gain cannot be used when encoding to stdout\n");
@@ -1789,111 +1947,113 @@ int encode_file(const char *infilename, FLAC__bool is_first_file, FLAC__bool is_
return usage_error("ERROR: --replay-gain cannot be used when encoding to Ogg FLAC yet\n");
}
- if(!flac__utils_parse_skip_until_specification(option_values.skip_specification, &common_options.skip_specification) || common_options.skip_specification.is_relative) {
+ if(!flac__utils_parse_skip_until_specification(option_values.skip_specification, &encode_options.skip_specification) || encode_options.skip_specification.is_relative) {
conditional_fclose(encode_infile);
return usage_error("ERROR: invalid value for --skip\n");
}
- if(!flac__utils_parse_skip_until_specification(option_values.until_specification, &common_options.until_specification)) { /*@@@@ more checks: no + without --skip, no - unless known total_samples_to_{en,de}code */
+ if(!flac__utils_parse_skip_until_specification(option_values.until_specification, &encode_options.until_specification)) { /*@@@@ more checks: no + without --skip, no - unless known total_samples_to_{en,de}code */
conditional_fclose(encode_infile);
return usage_error("ERROR: invalid value for --until\n");
}
/* if there is no "--until" we want to default to "--until=-0" */
if(0 == option_values.until_specification)
- common_options.until_specification.is_relative = true;
+ encode_options.until_specification.is_relative = true;
- common_options.verify = option_values.verify;
- common_options.treat_warnings_as_errors = option_values.treat_warnings_as_errors;
+ encode_options.verify = option_values.verify;
+ encode_options.treat_warnings_as_errors = option_values.treat_warnings_as_errors;
#if FLAC__HAS_OGG
- common_options.use_ogg = option_values.use_ogg;
+ encode_options.use_ogg = option_values.use_ogg;
/* set a random serial number if one has not yet been specified */
if(!option_values.has_serial_number) {
option_values.serial_number = rand();
option_values.has_serial_number = true;
}
- common_options.serial_number = option_values.serial_number++;
+ encode_options.serial_number = option_values.serial_number++;
#endif
- common_options.lax = option_values.lax;
- common_options.padding = option_values.padding;
- common_options.num_compression_settings = option_values.num_compression_settings;
- FLAC__ASSERT(sizeof(common_options.compression_settings) >= sizeof(option_values.compression_settings));
- memcpy(common_options.compression_settings, option_values.compression_settings, sizeof(option_values.compression_settings));
- common_options.requested_seek_points = option_values.requested_seek_points;
- common_options.num_requested_seek_points = option_values.num_requested_seek_points;
- common_options.cuesheet_filename = option_values.cuesheet_filename;
- common_options.continue_through_decode_errors = option_values.continue_through_decode_errors;
- common_options.cued_seekpoints = option_values.cued_seekpoints;
- common_options.channel_map_none = option_values.channel_map_none;
- common_options.is_first_file = is_first_file;
- common_options.is_last_file = is_last_file;
- common_options.align_reservoir = align_reservoir;
- common_options.align_reservoir_samples = &align_reservoir_samples;
- common_options.replay_gain = option_values.replay_gain;
- common_options.ignore_chunk_sizes = option_values.ignore_chunk_sizes;
- common_options.sector_align = option_values.sector_align;
- common_options.vorbis_comment = option_values.vorbis_comment;
- FLAC__ASSERT(sizeof(common_options.pictures) >= sizeof(option_values.pictures));
- memcpy(common_options.pictures, option_values.pictures, sizeof(option_values.pictures));
- common_options.num_pictures = option_values.num_pictures;
- common_options.debug.disable_constant_subframes = option_values.debug.disable_constant_subframes;
- common_options.debug.disable_fixed_subframes = option_values.debug.disable_fixed_subframes;
- common_options.debug.disable_verbatim_subframes = option_values.debug.disable_verbatim_subframes;
- common_options.debug.do_md5 = option_values.debug.do_md5;
+ encode_options.lax = option_values.lax;
+ encode_options.padding = option_values.padding;
+ encode_options.num_compression_settings = option_values.num_compression_settings;
+ FLAC__ASSERT(sizeof(encode_options.compression_settings) >= sizeof(option_values.compression_settings));
+ memcpy(encode_options.compression_settings, option_values.compression_settings, sizeof(option_values.compression_settings));
+ encode_options.requested_seek_points = option_values.requested_seek_points;
+ encode_options.num_requested_seek_points = option_values.num_requested_seek_points;
+ encode_options.cuesheet_filename = option_values.cuesheet_filename;
+ encode_options.continue_through_decode_errors = option_values.continue_through_decode_errors;
+ encode_options.cued_seekpoints = option_values.cued_seekpoints;
+ encode_options.channel_map_none = option_values.channel_map_none;
+ encode_options.is_first_file = is_first_file;
+ encode_options.is_last_file = is_last_file;
+ encode_options.replay_gain = option_values.replay_gain;
+ encode_options.ignore_chunk_sizes = option_values.ignore_chunk_sizes;
+ encode_options.vorbis_comment = option_values.vorbis_comment;
+ FLAC__ASSERT(sizeof(encode_options.pictures) >= sizeof(option_values.pictures));
+ memcpy(encode_options.pictures, option_values.pictures, sizeof(option_values.pictures));
+ encode_options.num_pictures = option_values.num_pictures;
+ encode_options.format = input_format;
+ encode_options.debug.disable_constant_subframes = option_values.debug.disable_constant_subframes;
+ encode_options.debug.disable_fixed_subframes = option_values.debug.disable_fixed_subframes;
+ encode_options.debug.disable_verbatim_subframes = option_values.debug.disable_verbatim_subframes;
+ encode_options.debug.do_md5 = option_values.debug.do_md5;
+ encode_options.error_on_compression_fail = option_values.error_on_compression_fail;
+ encode_options.limit_min_bitrate = option_values.limit_min_bitrate;
+ encode_options.relaxed_foreign_metadata_handling = option_values.keep_foreign_metadata_if_present;
/* if infilename and outfilename point to the same file, we need to write to a temporary file */
if(encode_infile != stdin && grabbag__file_are_same(infilename, outfilename)) {
static const char *tmp_suffix = ".tmp,fl-ac+en'c";
+ size_t dest_len = strlen(outfilename) + strlen(tmp_suffix) + 1;
/*@@@@ still a remote possibility that a file with this filename exists */
- if(0 == (internal_outfilename = (char *)safe_malloc_add_3op_(strlen(outfilename), /*+*/strlen(tmp_suffix), /*+*/1))) {
+ if((internal_outfilename = safe_malloc_(dest_len)) == NULL) {
flac__utils_printf(stderr, 1, "ERROR allocating memory for tempfile name\n");
conditional_fclose(encode_infile);
return 1;
}
- strcpy(internal_outfilename, outfilename);
- strcat(internal_outfilename, tmp_suffix);
+ flac_snprintf(internal_outfilename, dest_len, "%s%s", outfilename, tmp_suffix);
}
- if(input_format == RAW) {
- raw_encode_options_t options;
-
- options.common = common_options;
- options.is_big_endian = option_values.format_is_big_endian;
- options.is_unsigned_samples = option_values.format_is_unsigned_samples;
- options.channels = option_values.format_channels;
- options.bps = option_values.format_bps;
- options.sample_rate = option_values.format_sample_rate;
+ if(input_format == FORMAT_RAW) {
+ encode_options.format_options.raw.is_big_endian = option_values.format_is_big_endian;
+ encode_options.format_options.raw.is_unsigned_samples = option_values.format_is_unsigned_samples;
+ encode_options.format_options.raw.channels = option_values.format_channels;
+ encode_options.format_options.raw.bps = option_values.format_bps;
+ encode_options.format_options.raw.sample_rate = option_values.format_sample_rate;
- retval = flac__encode_raw(encode_infile, infilesize, infilename, internal_outfilename? internal_outfilename : outfilename, lookahead, lookahead_length, options);
+ retval = flac__encode_file(encode_infile, infilesize, infilename, internal_outfilename? internal_outfilename : outfilename, lookahead, lookahead_length, encode_options);
}
- else if(input_format == FLAC || input_format == OGGFLAC) {
- flac_encode_options_t options;
-
- options.common = common_options;
-
- retval = flac__encode_flac(encode_infile, infilesize, infilename, internal_outfilename? internal_outfilename : outfilename, lookahead, lookahead_length, options, input_format==OGGFLAC);
+ else if(input_format == FORMAT_FLAC || input_format == FORMAT_OGGFLAC) {
+ retval = flac__encode_file(encode_infile, infilesize, infilename, internal_outfilename? internal_outfilename : outfilename, lookahead, lookahead_length, encode_options);
}
- else {
- wav_encode_options_t options;
-
- options.common = common_options;
- options.foreign_metadata = 0;
-
- /* read foreign metadata if requested */
- if(option_values.keep_foreign_metadata) {
- if(0 == (options.foreign_metadata = flac__foreign_metadata_new(input_format==AIF? FOREIGN_BLOCK_TYPE__AIFF : FOREIGN_BLOCK_TYPE__RIFF))) {
+ else if(input_format == FORMAT_WAVE || input_format == FORMAT_WAVE64 || input_format == FORMAT_RF64 || input_format == FORMAT_AIFF || input_format == FORMAT_AIFF_C) {
+ encode_options.format_options.iff.foreign_metadata = 0;
+
+ /* initialize foreign metadata if requested */
+ if(option_values.keep_foreign_metadata || option_values.keep_foreign_metadata_if_present) {
+ encode_options.format_options.iff.foreign_metadata =
+ flac__foreign_metadata_new(
+ input_format==FORMAT_WAVE || input_format==FORMAT_RF64?
+ FOREIGN_BLOCK_TYPE__RIFF :
+ input_format==FORMAT_WAVE64?
+ FOREIGN_BLOCK_TYPE__WAVE64 :
+ FOREIGN_BLOCK_TYPE__AIFF
+ );
+ if(0 == encode_options.format_options.iff.foreign_metadata) {
flac__utils_printf(stderr, 1, "ERROR: creating foreign metadata object\n");
conditional_fclose(encode_infile);
+ if(internal_outfilename != 0)
+ free(internal_outfilename);
return 1;
}
}
- if(input_format == AIF)
- retval = flac__encode_aif(encode_infile, infilesize, infilename, internal_outfilename? internal_outfilename : outfilename, lookahead, lookahead_length, options, is_aifc);
- else
- retval = flac__encode_wav(encode_infile, infilesize, infilename, internal_outfilename? internal_outfilename : outfilename, lookahead, lookahead_length, options);
+ retval = flac__encode_file(encode_infile, infilesize, infilename, internal_outfilename? internal_outfilename : outfilename, lookahead, lookahead_length, encode_options);
- if(options.foreign_metadata)
- flac__foreign_metadata_delete(options.foreign_metadata);
+ if(encode_options.format_options.iff.foreign_metadata)
+ flac__foreign_metadata_delete(encode_options.format_options.iff.foreign_metadata);
+ }
+ else {
+ FLAC__ASSERT(0);
+ retval = 1; /* double protection */
}
if(retval == 0) {
@@ -1903,28 +2063,28 @@ int encode_file(const char *infilename, FLAC__bool is_first_file, FLAC__bool is_
const char *error;
grabbag__replaygain_get_title(&title_gain, &title_peak);
if(
- 0 != (error = grabbag__replaygain_store_to_file_reference(internal_outfilename? internal_outfilename : outfilename, /*preserve_modtime=*/true)) ||
- 0 != (error = grabbag__replaygain_store_to_file_title(internal_outfilename? internal_outfilename : outfilename, title_gain, title_peak, /*preserve_modtime=*/true))
+ 0 != (error = grabbag__replaygain_store_to_file_reference(internal_outfilename? internal_outfilename : outfilename, option_values.preserve_modtime)) ||
+ 0 != (error = grabbag__replaygain_store_to_file_title(internal_outfilename? internal_outfilename : outfilename, title_gain, title_peak, option_values.preserve_modtime))
) {
flac__utils_printf(stderr, 1, "%s: ERROR writing ReplayGain reference/title tags (%s)\n", outfilename, error);
retval = 1;
}
}
- if(strcmp(infilename, "-"))
+ if(option_values.preserve_modtime && strcmp(infilename, "-"))
grabbag__file_copy_metadata(infilename, internal_outfilename? internal_outfilename : outfilename);
}
}
/* rename temporary file if necessary */
if(retval == 0 && internal_outfilename != 0) {
- if(rename(internal_outfilename, outfilename) < 0) {
+ if(flac_rename(internal_outfilename, outfilename) < 0) {
#if defined _MSC_VER || defined __MINGW32__ || defined __EMX__
- /* on some flavors of windows, rename() will fail if the destination already exists, so we unlink and try again */
- if(unlink(outfilename) < 0) {
+ /* on some flavors of windows, flac_rename() will fail if the destination already exists, so we unlink and try again */
+ if(flac_unlink(outfilename) < 0) {
flac__utils_printf(stderr, 1, "ERROR: moving new FLAC file %s back on top of original FLAC file %s, keeping both\n", internal_outfilename, outfilename);
retval = 1;
}
- else if(rename(internal_outfilename, outfilename) < 0) {
+ else if(flac_rename(internal_outfilename, outfilename) < 0) {
flac__utils_printf(stderr, 1, "ERROR: moving new FLAC file %s back on top of original FLAC file %s, you must do it\n", internal_outfilename, outfilename);
retval = 1;
}
@@ -1937,7 +2097,7 @@ int encode_file(const char *infilename, FLAC__bool is_first_file, FLAC__bool is_
/* handle --delete-input-file, but don't want to delete if piping from stdin, or if input filename and output filename are the same */
if(retval == 0 && option_values.delete_input && strcmp(infilename, "-") && internal_outfilename == 0)
- unlink(infilename);
+ flac_unlink(infilename);
if(internal_outfilename != 0)
free(internal_outfilename);
@@ -1949,52 +2109,157 @@ int decode_file(const char *infilename)
{
int retval;
FLAC__bool treat_as_ogg = false;
- FileFormat output_format = WAV;
- decode_options_t common_options;
- const char *outfilename = get_decoded_outfilename(infilename);
+ FileFormat output_format = FORMAT_WAVE;
+ FileSubFormat output_subformat = SUBFORMAT_UNSPECIFIED;
+ decode_options_t decode_options;
+ foreign_metadata_t *foreign_metadata = 0;
+ const char *outfilename = get_outfilename(infilename, ". "); /* Placeholder until we know what the actual suffix is */
+ size_t infilename_length;
if(0 == outfilename) {
flac__utils_printf(stderr, 1, "ERROR: filename too long: %s", infilename);
return 1;
}
- /*
- * Error if output file already exists (and -f not used).
- * Use grabbag__file_get_filesize() as a cheap way to check.
- */
- if(!option_values.test_only && !option_values.force_file_overwrite && strcmp(outfilename, "-") && grabbag__file_get_filesize(outfilename) != (off_t)(-1)) {
- flac__utils_printf(stderr, 1, "ERROR: output file %s already exists, use -f to override\n", outfilename);
- return 1;
+ if(!option_values.analyze && !option_values.test_only &&(option_values.keep_foreign_metadata || option_values.keep_foreign_metadata_if_present)) {
+ const char *error;
+ if(0 == strcmp(infilename, "-") || 0 == strcmp(outfilename, "-"))
+ return usage_error("ERROR: --keep-foreign-metadata cannot be used when decoding from stdin or to stdout\n");
+ if(output_format == FORMAT_RAW)
+ return usage_error("ERROR: --keep-foreign-metadata cannot be used with raw output\n");
+ decode_options.format_options.iff.foreign_metadata = 0;
+ /* initialize foreign metadata structure */
+ foreign_metadata = flac__foreign_metadata_new(FOREIGN_BLOCK_TYPE__RIFF); /* RIFF is just a placeholder */
+ if(0 == foreign_metadata) {
+ flac__utils_printf(stderr, 1, "ERROR: creating foreign metadata object\n");
+ return 1;
+ }
+ if(!flac__foreign_metadata_read_from_flac(foreign_metadata, infilename, &error)) {
+ if(option_values.keep_foreign_metadata_if_present) {
+ flac__utils_printf(stderr, 1, "%s: WARNING reading foreign metadata: %s\n", infilename, error);
+ if(option_values.treat_warnings_as_errors) {
+ flac__foreign_metadata_delete(foreign_metadata);
+ return 1;
+ }
+ else {
+ /* Couldn't find foreign metadata, stop processing */
+ flac__foreign_metadata_delete(foreign_metadata);
+ foreign_metadata = 0;
+ }
+ }
+ else {
+ flac__utils_printf(stderr, 1, "%s: ERROR reading foreign metadata: %s\n", infilename, error);
+ flac__foreign_metadata_delete(foreign_metadata);
+ return 1;
+ }
+ }
}
if(option_values.force_raw_format)
- output_format = RAW;
+ output_format = FORMAT_RAW;
else if(
option_values.force_aiff_format ||
(strlen(outfilename) >= 4 && 0 == FLAC__STRCASECMP(outfilename+(strlen(outfilename)-4), ".aif")) ||
(strlen(outfilename) >= 5 && 0 == FLAC__STRCASECMP(outfilename+(strlen(outfilename)-5), ".aiff"))
)
- output_format = AIF;
+ output_format = FORMAT_AIFF;
+ else if(
+ option_values.force_rf64_format ||
+ (strlen(outfilename) >= 5 && 0 == FLAC__STRCASECMP(outfilename+(strlen(outfilename)-5), ".rf64"))
+ )
+ output_format = FORMAT_RF64;
+ else if(
+ option_values.force_wave64_format ||
+ (strlen(outfilename) >= 4 && 0 == FLAC__STRCASECMP(outfilename+(strlen(outfilename)-4), ".w64"))
+ )
+ output_format = FORMAT_WAVE64;
+ else if(foreign_metadata != NULL) {
+ /* Pick a format based on what the foreign metadata contains */
+ if(foreign_metadata->type == FOREIGN_BLOCK_TYPE__WAVE64)
+ output_format = FORMAT_WAVE64;
+ else if(foreign_metadata->is_rf64)
+ output_format = FORMAT_RF64;
+ else if(foreign_metadata->type == FOREIGN_BLOCK_TYPE__AIFF) {
+ output_format = FORMAT_AIFF;
+ if(foreign_metadata->is_aifc) {
+ output_format = FORMAT_AIFF_C;
+ }
+ }
+ else
+ output_format = FORMAT_WAVE;
+ }
else
- output_format = WAV;
+ output_format = FORMAT_WAVE;
+
+ /* Now do subformats */
+ if(option_values.force_legacy_wave_format)
+ output_subformat = SUBFORMAT_WAVE_PCM;
+ else if(option_values.force_extensible_wave_format)
+ output_subformat = SUBFORMAT_WAVE_EXTENSIBLE;
+ else if(option_values.force_aiff_c_none_format) {
+ output_format = FORMAT_AIFF_C;
+ output_subformat = SUBFORMAT_AIFF_C_NONE;
+ }
+ else if(option_values.force_aiff_c_sowt_format) {
+ output_format = FORMAT_AIFF_C;
+ output_subformat = SUBFORMAT_AIFF_C_SOWT;
+ }
+ else if(foreign_metadata != NULL) {
+ if(foreign_metadata->is_wavefmtex)
+ output_subformat = SUBFORMAT_WAVE_EXTENSIBLE;
+ else if(output_format == FORMAT_WAVE)
+ output_subformat = SUBFORMAT_WAVE_PCM;
+ else if(foreign_metadata->is_aifc) {
+ if(foreign_metadata->is_sowt)
+ output_subformat = SUBFORMAT_AIFF_C_SOWT;
+ else
+ output_subformat = SUBFORMAT_AIFF_C_NONE;
+ }
+ }
- if(!option_values.test_only && !option_values.analyze) {
- if(output_format == RAW && (option_values.format_is_big_endian < 0 || option_values.format_is_unsigned_samples < 0))
- return usage_error("ERROR: for decoding to a raw file you must specify a value for --endian and --sign\n");
+
+ /* Check whether output format agrees with foreign metadata */
+ if(foreign_metadata != NULL) {
+ if((output_format != FORMAT_WAVE && output_format != FORMAT_RF64) && foreign_metadata->type == FOREIGN_BLOCK_TYPE__RIFF) {
+ flac__foreign_metadata_delete(foreign_metadata);
+ return usage_error("ERROR: foreign metadata type RIFF cannot be restored to a%s file, only to WAVE and RF64\n",FileFormatString[output_format]);
+ }
+ if((output_format != FORMAT_AIFF && output_format != FORMAT_AIFF_C) && foreign_metadata->type == FOREIGN_BLOCK_TYPE__AIFF) {
+ flac__foreign_metadata_delete(foreign_metadata);
+ return usage_error("ERROR: foreign metadata type AIFF cannot be restored to a%s file, only to AIFF and AIFF-C\n",FileFormatString[output_format]);
+ }
+ if(output_format != FORMAT_WAVE64 && foreign_metadata->type == FOREIGN_BLOCK_TYPE__WAVE64) {
+ flac__foreign_metadata_delete(foreign_metadata);
+ return usage_error("ERROR: foreign metadata type Wave64 cannot be restored to a%s file, only to Wave64\n",FileFormatString[output_format]);
+ }
}
- if(option_values.keep_foreign_metadata) {
- if(0 == strcmp(infilename, "-") || 0 == strcmp(outfilename, "-"))
- return usage_error("ERROR: --keep-foreign-metadata cannot be used when decoding from stdin or to stdout\n");
- if(output_format != WAV && output_format != AIF)
- return usage_error("ERROR: --keep-foreign-metadata can only be used with WAVE or AIFF output\n");
+ /* Now reassemble outfilename */
+ get_decoded_outfilename(infilename, output_format);
+
+ /*
+ * Error if output file already exists (and -f not used).
+ * Use grabbag__file_get_filesize() as a cheap way to check.
+ */
+ if(!option_values.test_only && !option_values.force_file_overwrite && strcmp(outfilename, "-") && grabbag__file_get_filesize(outfilename) != (FLAC__off_t)(-1)) {
+ flac__utils_printf(stderr, 1, "ERROR: output file %s already exists, use -f to override\n", outfilename);
+ flac__foreign_metadata_delete(foreign_metadata);
+ return 1;
}
+ if(!option_values.test_only && !option_values.analyze) {
+ if(output_format == FORMAT_RAW && (option_values.format_is_big_endian < 0 || option_values.format_is_unsigned_samples < 0)) {
+ flac__foreign_metadata_delete(foreign_metadata);
+ return usage_error("ERROR: for decoding to a raw file you must specify a value for --endian and --sign\n");
+ }
+ }
+
+ infilename_length = strlen(infilename);
if(option_values.use_ogg)
treat_as_ogg = true;
- else if(strlen(infilename) >= 4 && 0 == FLAC__STRCASECMP(infilename+(strlen(infilename)-4), ".oga"))
+ else if(infilename_length >= 4 && 0 == FLAC__STRCASECMP(infilename+(infilename_length-4), ".oga"))
treat_as_ogg = true;
- else if(strlen(infilename) >= 4 && 0 == FLAC__STRCASECMP(infilename+(strlen(infilename)-4), ".ogg"))
+ else if(infilename_length >= 4 && 0 == FLAC__STRCASECMP(infilename+(infilename_length-4), ".ogg"))
treat_as_ogg = true;
else
treat_as_ogg = false;
@@ -2002,74 +2267,68 @@ int decode_file(const char *infilename)
#if !FLAC__HAS_OGG
if(treat_as_ogg) {
flac__utils_printf(stderr, 1, "%s: Ogg support has not been built into this copy of flac\n", infilename);
+ flac__foreign_metadata_delete(foreign_metadata);
return 1;
}
#endif
- if(!flac__utils_parse_skip_until_specification(option_values.skip_specification, &common_options.skip_specification) || common_options.skip_specification.is_relative)
+ if(!flac__utils_parse_skip_until_specification(option_values.skip_specification, &decode_options.skip_specification) || decode_options.skip_specification.is_relative) {
+ flac__foreign_metadata_delete(foreign_metadata);
return usage_error("ERROR: invalid value for --skip\n");
+ }
- if(!flac__utils_parse_skip_until_specification(option_values.until_specification, &common_options.until_specification)) /*@@@ more checks: no + without --skip, no - unless known total_samples_to_{en,de}code */
+ if(!flac__utils_parse_skip_until_specification(option_values.until_specification, &decode_options.until_specification)) { /*@@@ more checks: no + without --skip, no - unless known total_samples_to_{en,de}code */
+ flac__foreign_metadata_delete(foreign_metadata);
return usage_error("ERROR: invalid value for --until\n");
+ }
/* if there is no "--until" we want to default to "--until=-0" */
if(0 == option_values.until_specification)
- common_options.until_specification.is_relative = true;
+ decode_options.until_specification.is_relative = true;
if(option_values.cue_specification) {
- if(!flac__utils_parse_cue_specification(option_values.cue_specification, &common_options.cue_specification))
+ if(!flac__utils_parse_cue_specification(option_values.cue_specification, &decode_options.cue_specification)) {
+ flac__foreign_metadata_delete(foreign_metadata);
return usage_error("ERROR: invalid value for --cue\n");
- common_options.has_cue_specification = true;
+ }
+ decode_options.has_cue_specification = true;
}
else
- common_options.has_cue_specification = false;
+ decode_options.has_cue_specification = false;
- common_options.treat_warnings_as_errors = option_values.treat_warnings_as_errors;
- common_options.continue_through_decode_errors = option_values.continue_through_decode_errors;
- common_options.replaygain_synthesis_spec = option_values.replaygain_synthesis_spec;
+ decode_options.treat_warnings_as_errors = option_values.treat_warnings_as_errors;
+ decode_options.continue_through_decode_errors = option_values.continue_through_decode_errors;
+ decode_options.relaxed_foreign_metadata_handling = option_values.keep_foreign_metadata_if_present;
+ decode_options.replaygain_synthesis_spec = option_values.replaygain_synthesis_spec;
+ decode_options.force_subformat = output_subformat;
#if FLAC__HAS_OGG
- common_options.is_ogg = treat_as_ogg;
- common_options.use_first_serial_number = !option_values.has_serial_number;
- common_options.serial_number = option_values.serial_number;
+ decode_options.is_ogg = treat_as_ogg;
+ decode_options.use_first_serial_number = !option_values.has_serial_number;
+ decode_options.serial_number = option_values.serial_number;
#endif
- common_options.channel_map_none = option_values.channel_map_none;
-
- if(output_format == RAW) {
- raw_decode_options_t options;
+ decode_options.channel_map_none = option_values.channel_map_none;
+ decode_options.format = output_format;
- options.common = common_options;
- options.is_big_endian = option_values.format_is_big_endian;
- options.is_unsigned_samples = option_values.format_is_unsigned_samples;
+ if(output_format == FORMAT_RAW) {
+ decode_options.format_options.raw.is_big_endian = option_values.format_is_big_endian;
+ decode_options.format_options.raw.is_unsigned_samples = option_values.format_is_unsigned_samples;
- retval = flac__decode_raw(infilename, option_values.test_only? 0 : outfilename, option_values.analyze, option_values.aopts, options);
+ retval = flac__decode_file(infilename, option_values.test_only? 0 : outfilename, option_values.analyze, option_values.aopts, decode_options);
}
else {
- wav_decode_options_t options;
+ decode_options.format_options.iff.foreign_metadata = foreign_metadata;
- options.common = common_options;
- options.foreign_metadata = 0;
+ retval = flac__decode_file(infilename, option_values.test_only? 0 : outfilename, option_values.analyze, option_values.aopts, decode_options);
- /* read foreign metadata if requested */
- if(option_values.keep_foreign_metadata) {
- if(0 == (options.foreign_metadata = flac__foreign_metadata_new(output_format==AIF? FOREIGN_BLOCK_TYPE__AIFF : FOREIGN_BLOCK_TYPE__RIFF))) {
- flac__utils_printf(stderr, 1, "ERROR: creating foreign metadata object\n");
- return 1;
- }
- }
-
- if(output_format == AIF)
- retval = flac__decode_aiff(infilename, option_values.test_only? 0 : outfilename, option_values.analyze, option_values.aopts, options);
- else
- retval = flac__decode_wav(infilename, option_values.test_only? 0 : outfilename, option_values.analyze, option_values.aopts, options);
-
- if(options.foreign_metadata)
- flac__foreign_metadata_delete(options.foreign_metadata);
}
+ if(foreign_metadata)
+ flac__foreign_metadata_delete(foreign_metadata);
+
if(retval == 0 && strcmp(infilename, "-")) {
- if(strcmp(outfilename, "-"))
+ if(option_values.preserve_modtime && strcmp(outfilename, "-"))
grabbag__file_copy_metadata(infilename, outfilename);
if(option_values.delete_input && !option_values.test_only && !option_values.analyze)
- unlink(infilename);
+ flac_unlink(infilename);
}
return retval;
@@ -2078,34 +2337,62 @@ int decode_file(const char *infilename)
const char *get_encoded_outfilename(const char *infilename)
{
const char *suffix = (option_values.use_ogg? ".oga" : ".flac");
- return get_outfilename(infilename, suffix);
+ const char *p;
+
+ if(option_values.output_prefix) {
+ p = grabbag__file_get_basename(infilename);
+ }
+ else {
+ p = infilename;
+ }
+
+ return get_outfilename(p, suffix);
}
-const char *get_decoded_outfilename(const char *infilename)
+const char *get_decoded_outfilename(const char *infilename, const FileFormat format)
{
const char *suffix;
+ const char *p;
+
+ if(option_values.output_prefix) {
+ p = grabbag__file_get_basename(infilename);
+ }
+ else {
+ p = infilename;
+ }
+
if(option_values.analyze) {
suffix = ".ana";
}
- else if(option_values.force_raw_format) {
+ else if(format == FORMAT_RAW) {
suffix = ".raw";
}
- else if(option_values.force_aiff_format) {
+ else if(format == FORMAT_AIFF) {
suffix = ".aiff";
}
+ else if(format == FORMAT_AIFF_C) {
+ suffix = ".aifc";
+ }
+ else if(format == FORMAT_RF64) {
+ suffix = ".rf64";
+ }
+ else if(format == FORMAT_WAVE64) {
+ suffix = ".w64";
+ }
else {
suffix = ".wav";
}
- return get_outfilename(infilename, suffix);
+ return get_outfilename(p, suffix);
}
const char *get_outfilename(const char *infilename, const char *suffix)
{
if(0 == option_values.cmdline_forced_outfilename) {
- static char buffer[4096]; /* @@@ bad MAGIC NUMBER */
+ static char buffer[4096];
if(0 == strcmp(infilename, "-") || option_values.force_to_stdout) {
- strcpy(buffer, "-");
+ buffer [0] = '-';
+ buffer [1] = 0;
}
else {
char *p;
@@ -2153,29 +2440,3 @@ char *local_strdup(const char *source)
die("out of memory during strdup()");
return ret;
}
-
-#ifdef _MSC_VER
-/* There's no strtoll() in MSVC6 so we just write a specialized one */
-FLAC__int64 local__strtoll(const char *src, char **endptr)
-{
- FLAC__bool neg = false;
- FLAC__int64 ret = 0;
- int c;
- FLAC__ASSERT(0 != src);
- if(*src == '-') {
- neg = true;
- src++;
- }
- while(0 != (c = *src)) {
- c -= '0';
- if(c >= 0 && c <= 9)
- ret = (ret * 10) + c;
- else
- break;
- src++;
- }
- if(endptr)
- *endptr = (char*)src;
- return neg? -ret : ret;
-}
-#endif
diff --git a/3rdparty/libflac/src/flac/utils.c b/3rdparty/libflac/src/flac/utils.c
index bca8af761cc..446150d41de 100644
--- a/3rdparty/libflac/src/flac/utils.c
+++ b/3rdparty/libflac/src/flac/utils.c
@@ -1,5 +1,6 @@
/* flac - Command-line FLAC encoder/decoder
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,23 +12,36 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
-#include "utils.h"
-#include "FLAC/assert.h"
-#include "FLAC/metadata.h"
#include <math.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include "utils.h"
+#include "FLAC/assert.h"
+#include "FLAC/metadata.h"
+#include "share/compat.h"
+#ifndef _WIN32
+#ifndef _XOPEN_SOURCE
+#define _XOPEN_SOURCE
+#endif
+#include <wchar.h>
+#ifdef HAVE_TERMIOS_H
+# include <termios.h>
+#endif
+#ifdef HAVE_SYS_IOCTL_H
+# include <sys/ioctl.h>
+#endif
+#endif
const char *CHANNEL_MASK_TAG = "WAVEFORMATEXTENSIBLE_CHANNEL_MASK";
@@ -42,8 +56,18 @@ static FLAC__bool local__parse_uint64_(const char *s, FLAC__uint64 *value)
return false;
while('\0' != (c = *s++))
- if(c >= '0' && c <= '9')
- ret = ret * 10 + (c - '0');
+ if(c >= '0' && c <= '9') {
+ if(ret > UINT64_MAX / 10) /* check for overflow */
+ return false;
+ else if(ret == UINT64_MAX / 10) {
+ FLAC__uint64 tmp = ret;
+ ret = ret * 10 + (c - '0');
+ if(ret < tmp)
+ return false;
+ }
+ else
+ ret = ret * 10 + (c - '0');
+ }
else
return false;
@@ -54,8 +78,8 @@ static FLAC__bool local__parse_uint64_(const char *s, FLAC__uint64 *value)
static FLAC__bool local__parse_timecode_(const char *s, double *value)
{
double ret;
- unsigned i;
- char c;
+ uint32_t i;
+ char c, *endptr;
/* parse [0-9][0-9]*: */
c = *s++;
@@ -74,21 +98,18 @@ static FLAC__bool local__parse_timecode_(const char *s, double *value)
/* parse [0-9]*[.,]?[0-9]* i.e. a sign-less rational number (. or , OK for fractional seconds, to support different locales) */
if(strspn(s, "1234567890.,") != strlen(s))
return false;
- {
- const char *p = strpbrk(s, ".,");
- if(p && 0 != strpbrk(++p, ".,"))
- return false;
- }
- ret += atof(s);
+ ret += strtod(s, &endptr);
+ if (endptr == s || *endptr)
+ return false;
*value = ret;
return true;
}
-static FLAC__bool local__parse_cue_(const char *s, const char *end, unsigned *track, unsigned *index)
+static FLAC__bool local__parse_cue_(const char *s, const char *end, uint32_t *track, uint32_t *indx)
{
FLAC__bool got_track = false, got_index = false;
- unsigned t = 0, i = 0;
+ uint32_t t = 0, i = 0;
char c;
while(end? s < end : *s != '\0') {
@@ -112,7 +133,7 @@ static FLAC__bool local__parse_cue_(const char *s, const char *end, unsigned *tr
return false;
}
*track = t;
- *index = i;
+ *indx = i;
return got_track && got_index;
}
@@ -121,20 +142,20 @@ static FLAC__bool local__parse_cue_(const char *s, const char *end, unsigned *tr
* does not require sorted cuesheets). but if it's not sorted, picking a
* nearest cue point has no significance.
*/
-static FLAC__uint64 local__find_closest_cue_(const FLAC__StreamMetadata_CueSheet *cuesheet, unsigned track, unsigned index, FLAC__uint64 total_samples, FLAC__bool look_forward)
+static FLAC__uint64 local__find_closest_cue_(const FLAC__StreamMetadata_CueSheet *cuesheet, uint32_t track, uint32_t indx, FLAC__uint64 total_samples, FLAC__bool look_forward)
{
int t, i;
if(look_forward) {
for(t = 0; t < (int)cuesheet->num_tracks; t++)
for(i = 0; i < (int)cuesheet->tracks[t].num_indices; i++)
- if(cuesheet->tracks[t].number > track || (cuesheet->tracks[t].number == track && cuesheet->tracks[t].indices[i].number >= index))
+ if(cuesheet->tracks[t].number > track || (cuesheet->tracks[t].number == track && cuesheet->tracks[t].indices[i].number >= indx))
return cuesheet->tracks[t].offset + cuesheet->tracks[t].indices[i].offset;
return total_samples;
}
else {
for(t = (int)cuesheet->num_tracks - 1; t >= 0; t--)
for(i = (int)cuesheet->tracks[t].num_indices - 1; i >= 0; i--)
- if(cuesheet->tracks[t].number < track || (cuesheet->tracks[t].number == track && cuesheet->tracks[t].indices[i].number <= index))
+ if(cuesheet->tracks[t].number < track || (cuesheet->tracks[t].number == track && cuesheet->tracks[t].indices[i].number <= indx))
return cuesheet->tracks[t].offset + cuesheet->tracks[t].indices[i].offset;
return 0;
}
@@ -149,9 +170,109 @@ void flac__utils_printf(FILE *stream, int level, const char *format, ...)
va_start(args, format);
- (void) vfprintf(stream, format, args);
+ (void) flac_vfprintf(stream, format, args);
+
+ va_end(args);
+
+#ifdef _MSC_VER
+ if(stream == stderr)
+ fflush(stream); /* for some reason stderr is buffered in at least some if not all MSC libs */
+#endif
+ }
+}
+
+/* variables and functions for console status output */
+static FLAC__bool is_name_printed;
+static int stats_char_count = 0;
+static int console_width;
+static int console_chars_left;
+
+int get_console_width(void)
+{
+ int width = 0;
+#if defined _WIN32
+ width = win_get_console_width();
+#elif defined __EMX__
+ int s[2];
+ _scrsize (s);
+ width = s[0];
+#elif defined TIOCGWINSZ
+ struct winsize w;
+ if (ioctl(STDOUT_FILENO, TIOCGWINSZ, &w) != -1)
+ width = w.ws_col;
+#endif
+ if (width <= 0)
+ width = 80;
+ return width;
+}
+
+size_t strlen_console(const char *text)
+{
+#ifdef _WIN32
+ return strlen_utf8(text);
+#elif defined(__DJGPP__) /* workaround for DJGPP missing wcswidth() */
+ return strlen(text);
+#else
+ size_t len;
+ wchar_t *wtmp;
+
+ len = strlen(text)+1;
+ wtmp = (wchar_t *)malloc(len*sizeof(wchar_t));
+ if (wtmp == NULL) return len-1;
+ mbstowcs(wtmp, text, len);
+ len = wcswidth(wtmp, len);
+ free(wtmp);
+
+ return len;
+#endif
+}
+
+void stats_new_file(void)
+{
+ is_name_printed = false;
+}
+
+void stats_clear(void)
+{
+ while (stats_char_count > 0 && stats_char_count--)
+ fprintf(stderr, "\b");
+}
+
+void stats_print_name(int level, const char *name)
+{
+ int len;
+ if (flac__utils_verbosity_ >= level) {
+ stats_clear();
+ if(is_name_printed) return;
+
+ console_width = get_console_width();
+ len = strlen_console(name)+2;
+ console_chars_left = console_width - (len % console_width);
+ flac_fprintf(stderr, "%s: ", name);
+ is_name_printed = true;
+ }
+}
+
+void stats_print_info(int level, const char *format, ...)
+{
+ char tmp[80];
+ int len, clear_len;
+
+ if (flac__utils_verbosity_ >= level) {
+ va_list args;
+ va_start(args, format);
+ len = flac_vsnprintf(tmp, sizeof(tmp), format, args);
va_end(args);
+ stats_clear();
+ if (len >= console_chars_left) {
+ clear_len = console_chars_left;
+ while (clear_len > 0 && clear_len--) fprintf(stderr, " ");
+ fprintf(stderr, "\n");
+ console_chars_left = console_width;
+ }
+ stats_char_count = fprintf(stderr, "%s", tmp);
+ fflush(stderr);
}
}
@@ -189,6 +310,8 @@ FLAC__bool flac__utils_parse_skip_until_specification(const char *s, utils__Skip
if(local__parse_uint64_(s, &val)) {
spec->value_is_samples = true;
+ if(val > INT64_MAX)
+ return false;
spec->value.samples = (FLAC__int64)val;
if(is_negative)
spec->value.samples = -(spec->value.samples);
@@ -207,13 +330,17 @@ FLAC__bool flac__utils_parse_skip_until_specification(const char *s, utils__Skip
return true;
}
-void flac__utils_canonicalize_skip_until_specification(utils__SkipUntilSpecification *spec, unsigned sample_rate)
+FLAC__bool flac__utils_canonicalize_skip_until_specification(utils__SkipUntilSpecification *spec, uint32_t sample_rate)
{
FLAC__ASSERT(0 != spec);
if(!spec->value_is_samples) {
- spec->value.samples = (FLAC__int64)(spec->value.seconds * (double)sample_rate);
+ double samples = spec->value.seconds * (double)sample_rate;
+ if(samples >= (double)INT64_MAX || samples <= (double)INT64_MIN)
+ return false;
+ spec->value.samples = (FLAC__int64)(samples);
spec->value_is_samples = true;
}
+ return true;
}
FLAC__bool flac__utils_parse_cue_specification(const char *s, utils__CueSpecification *spec)
@@ -281,13 +408,9 @@ FLAC__bool flac__utils_set_channel_mask_tag(FLAC__StreamMetadata *object, FLAC__
FLAC__ASSERT(object);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_VORBIS_COMMENT);
- FLAC__ASSERT(strlen(CHANNEL_MASK_TAG+1+2+16+1) <= sizeof(tag)); /* +1 for =, +2 for 0x, +16 for digits, +1 for NUL */
+ FLAC__ASSERT(strlen(CHANNEL_MASK_TAG)+1+2+16+1 <= sizeof(tag)); /* +1 for =, +2 for 0x, +16 for digits, +1 for NUL */
entry.entry = (FLAC__byte*)tag;
-#if defined _MSC_VER || defined __MINGW32__
- if((entry.length = _snprintf(tag, sizeof(tag), "%s=0x%04X", CHANNEL_MASK_TAG, (unsigned)channel_mask)) >= sizeof(tag))
-#else
- if((entry.length = snprintf(tag, sizeof(tag), "%s=0x%04X", CHANNEL_MASK_TAG, (unsigned)channel_mask)) >= sizeof(tag))
-#endif
+ if((entry.length = flac_snprintf(tag, sizeof(tag), "%s=0x%04X", CHANNEL_MASK_TAG, (uint32_t)channel_mask)) >= sizeof(tag))
return false;
if(!FLAC__metadata_object_vorbiscomment_replace_comment(object, entry, /*all=*/true, /*copy=*/true))
return false;
@@ -297,7 +420,7 @@ FLAC__bool flac__utils_set_channel_mask_tag(FLAC__StreamMetadata *object, FLAC__
FLAC__bool flac__utils_get_channel_mask_tag(const FLAC__StreamMetadata *object, FLAC__uint32 *channel_mask)
{
int offset;
- unsigned val;
+ uint32_t val;
char *p;
FLAC__ASSERT(object);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_VORBIS_COMMENT);
@@ -307,7 +430,7 @@ FLAC__bool flac__utils_get_channel_mask_tag(const FLAC__StreamMetadata *object,
return false;
if(0 == (p = strchr((const char *)object->data.vorbis_comment.comments[offset].entry, '='))) /* should never happen, but just in case */
return false;
- if(strncmp(p, "=0x", 3))
+ if(FLAC__STRNCASECMP(p, "=0x", 3))
return false;
if(sscanf(p+3, "%x", &val) != 1)
return false;
diff --git a/3rdparty/libflac/src/flac/utils.h b/3rdparty/libflac/src/flac/utils.h
index 74ab29e3e3e..931b4a6e5df 100644
--- a/3rdparty/libflac/src/flac/utils.h
+++ b/3rdparty/libflac/src/flac/utils.h
@@ -1,5 +1,6 @@
/* flac - Command-line FLAC encoder/decoder
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,15 +12,15 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef flac__utils_h
#define flac__utils_h
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -27,6 +28,12 @@
#include "FLAC/format.h" /* for FLAC__StreamMetadata_CueSheet */
#include <stdio.h> /* for FILE */
+typedef enum { FORMAT_RAW, FORMAT_WAVE, FORMAT_WAVE64, FORMAT_RF64, FORMAT_AIFF, FORMAT_AIFF_C, FORMAT_FLAC, FORMAT_OGGFLAC } FileFormat;
+static const char * const FileFormatString[] = { " raw", " WAVE", " Wave64", "n RF64", "n AIFF", "n AIFF-C", " FLAC", "n Ogg FLAC" };
+
+typedef enum { SUBFORMAT_UNSPECIFIED = 0, SUBFORMAT_WAVE_PCM, SUBFORMAT_WAVE_EXTENSIBLE, SUBFORMAT_AIFF_C_NONE, SUBFORMAT_AIFF_C_SOWT } FileSubFormat;
+
+
typedef struct {
FLAC__bool is_relative; /* i.e. specification string started with + or - */
FLAC__bool value_is_samples;
@@ -51,8 +58,15 @@ size_t flac__utils_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stre
extern int flac__utils_verbosity_;
void flac__utils_printf(FILE *stream, int level, const char *format, ...);
+int get_console_width(void);
+size_t strlen_console(const char *text);
+void stats_new_file(void);
+void stats_clear(void);
+void stats_print_name(int level, const char *name);
+void stats_print_info(int level, const char *format, ...);
+
FLAC__bool flac__utils_parse_skip_until_specification(const char *s, utils__SkipUntilSpecification *spec);
-void flac__utils_canonicalize_skip_until_specification(utils__SkipUntilSpecification *spec, unsigned sample_rate);
+FLAC__bool flac__utils_canonicalize_skip_until_specification(utils__SkipUntilSpecification *spec, uint32_t sample_rate);
FLAC__bool flac__utils_parse_cue_specification(const char *s, utils__CueSpecification *spec);
void flac__utils_canonicalize_cue_specification(const utils__CueSpecification *cue_spec, const FLAC__StreamMetadata_CueSheet *cuesheet, FLAC__uint64 total_samples, utils__SkipUntilSpecification *skip_spec, utils__SkipUntilSpecification *until_spec);
diff --git a/3rdparty/libflac/src/flac/version.rc b/3rdparty/libflac/src/flac/version.rc
new file mode 100644
index 00000000000..00842b924c5
--- /dev/null
+++ b/3rdparty/libflac/src/flac/version.rc
@@ -0,0 +1,38 @@
+#include <winver.h>
+#include "config.h"
+
+#if (defined GIT_COMMIT_HASH && defined GIT_COMMIT_DATE)
+# ifdef GIT_COMMIT_TAG
+# define VERSIONSTRING GIT_COMMIT_TAG
+# else
+# define VERSIONSTRING "git-" GIT_COMMIT_HASH
+# endif
+#else
+# define VERSIONSTRING PACKAGE_VERSION
+#endif
+
+#define xstr(s) str(s)
+#define str(s) #s
+
+VS_VERSION_INFO VERSIONINFO
+FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
+FILEFLAGS 0
+FILEOS VOS__WINDOWS32
+FILETYPE VFT_DLL
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "FileDescription", "flac command line tool for Windows"
+ VALUE "ProductName", "Free Lossless Audio Codec"
+ VALUE "ProductVersion", VERSIONSTRING
+ VALUE "CompanyName", "Xiph.Org"
+ VALUE "LegalCopyright", "2000-2009 Josh Coalson, 2011-2023 Xiph.Org Foundation"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
diff --git a/3rdparty/libflac/src/flac/vorbiscomment.c b/3rdparty/libflac/src/flac/vorbiscomment.c
index 6b35a1e6359..3941ec24080 100644
--- a/3rdparty/libflac/src/flac/vorbiscomment.c
+++ b/3rdparty/libflac/src/flac/vorbiscomment.c
@@ -1,5 +1,6 @@
/* flac - Command-line FLAC encoder/decoder
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,12 +12,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -29,6 +30,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include "share/compat.h"
/*
@@ -40,7 +42,7 @@ typedef struct {
char *field; /* the whole field as passed on the command line, i.e. "NAME=VALUE" */
char *field_name;
/* according to the vorbis spec, field values can contain \0 so simple C strings are not enough here */
- unsigned field_value_length;
+ uint32_t field_value_length;
char *field_value;
FLAC__bool field_value_from_file; /* true if field_value holds a filename for the value, false for plain value */
} Argument_VcField;
@@ -61,7 +63,7 @@ static char *local_strdup(const char *source)
return ret;
}
-static FLAC__bool parse_vorbis_comment_field(const char *field_ref, char **field, char **name, char **value, unsigned *length, const char **violation)
+static FLAC__bool parse_vorbis_comment_field(const char *field_ref, char **field, char **name, char **value, uint32_t *length, const char **violation)
{
static const char * const violations[] = {
"field name contains invalid character",
@@ -102,7 +104,7 @@ static FLAC__bool parse_vorbis_comment_field(const char *field_ref, char **field
static FLAC__bool set_vc_field(FLAC__StreamMetadata *block, const Argument_VcField *field, FLAC__bool *needs_write, FLAC__bool raw, const char **violation)
{
FLAC__StreamMetadata_VorbisComment_Entry entry;
- char *converted;
+ char *converted = NULL;
FLAC__ASSERT(0 != block);
FLAC__ASSERT(block->type == FLAC__METADATA_TYPE_VORBIS_COMMENT);
@@ -113,7 +115,7 @@ static FLAC__bool set_vc_field(FLAC__StreamMetadata *block, const Argument_VcFie
/* read the file into 'data' */
FILE *f = 0;
char *data = 0;
- const off_t size = grabbag__file_get_filesize(field->field_value);
+ const FLAC__off_t size = grabbag__file_get_filesize(field->field_value);
if(size < 0) {
*violation = "can't open file for tag value";
return false;
@@ -125,7 +127,7 @@ static FLAC__bool set_vc_field(FLAC__StreamMetadata *block, const Argument_VcFie
if(0 == (data = malloc(size+1)))
die("out of memory allocating tag value");
data[size] = '\0';
- if(0 == (f = fopen(field->field_value, "rb")) || fread(data, 1, size, f) != (size_t)size) {
+ if(0 == (f = flac_fopen(field->field_value, "rb")) || fread(data, 1, size, f) != (size_t)size) {
free(data);
if(f)
fclose(f);
@@ -169,6 +171,9 @@ static FLAC__bool set_vc_field(FLAC__StreamMetadata *block, const Argument_VcFie
}
else {
FLAC__bool needs_free = false;
+#ifdef _WIN32 /* everything in UTF-8 already. Must not alter */
+ entry.entry = (FLAC__byte *)field->field;
+#else
if(raw) {
entry.entry = (FLAC__byte *)field->field;
}
@@ -180,6 +185,7 @@ static FLAC__bool set_vc_field(FLAC__StreamMetadata *block, const Argument_VcFie
*violation = "error converting comment to UTF-8";
return false;
}
+#endif
entry.length = strlen((const char *)entry.entry);
if(!FLAC__format_vorbiscomment_entry_is_legal(entry.entry, entry.length)) {
if(needs_free)
@@ -188,7 +194,7 @@ static FLAC__bool set_vc_field(FLAC__StreamMetadata *block, const Argument_VcFie
* our previous parsing has already established that the field
* name is OK, so it must be the field value
*/
- *violation = "tag value for is not valid UTF-8";
+ *violation = "tag value is not valid UTF-8";
return false;
}
@@ -237,7 +243,7 @@ FLAC__bool flac__vorbiscomment_add(FLAC__StreamMetadata *block, const char *comm
return false;
}
- if(!set_vc_field(block, &parsed, &dummy, raw, violation)) {
+ if(parsed.field_value_length > 0 && !set_vc_field(block, &parsed, &dummy, raw, violation)) {
free_field(&parsed);
return false;
}
diff --git a/3rdparty/libflac/src/flac/vorbiscomment.h b/3rdparty/libflac/src/flac/vorbiscomment.h
index 1ff70067867..a6dcb164bf9 100644
--- a/3rdparty/libflac/src/flac/vorbiscomment.h
+++ b/3rdparty/libflac/src/flac/vorbiscomment.h
@@ -1,5 +1,6 @@
/* flac - Command-line FLAC encoder/decoder
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef flac__vorbiscomment_h
diff --git a/3rdparty/libflac/src/libFLAC++/CMakeLists.txt b/3rdparty/libflac/src/libFLAC++/CMakeLists.txt
new file mode 100644
index 00000000000..3be43ba18f2
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC++/CMakeLists.txt
@@ -0,0 +1,41 @@
+add_library(FLAC++
+ metadata.cpp
+ stream_decoder.cpp
+ stream_encoder.cpp
+ version.rc)
+set_property(TARGET FLAC++ PROPERTY PROJECT_LABEL "libFLAC++")
+target_compile_definitions(FLAC++
+ PRIVATE $<$<BOOL:${BUILD_SHARED_LIBS}>:FLACPP_API_EXPORTS>
+ PUBLIC $<$<NOT:$<BOOL:${BUILD_SHARED_LIBS}>>:FLAC__NO_DLL>)
+if(NOT WIN32)
+ target_compile_definitions(FLAC++ PRIVATE $<$<BOOL:${BUILD_SHARED_LIBS}>:FLAC__USE_VISIBILITY_ATTR>)
+endif()
+target_include_directories(FLAC++ INTERFACE
+ "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
+target_link_libraries(FLAC++ PUBLIC FLAC)
+if(BUILD_SHARED_LIBS)
+ set_target_properties(FLAC++ PROPERTIES
+ VERSION 10.0.1
+ SOVERSION 10)
+ if(NOT WIN32)
+ set_target_properties(FLAC++ PROPERTIES CXX_VISIBILITY_PRESET hidden)
+ endif()
+endif()
+
+add_library(FLAC::FLAC++ ALIAS FLAC++)
+
+install(TARGETS FLAC++ EXPORT targets
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}/"
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/"
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}/")
+
+if(INSTALL_PKGCONFIG_MODULES)
+ set(prefix "${CMAKE_INSTALL_PREFIX}")
+ set(exec_prefix "${CMAKE_INSTALL_PREFIX}")
+ set(libdir "${CMAKE_INSTALL_FULL_LIBDIR}")
+ set(includedir "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
+ configure_file(flac++.pc.in flac++.pc @ONLY)
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/flac++.pc"
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+endif()
diff --git a/3rdparty/libflac/src/libFLAC++/Makefile.am b/3rdparty/libflac/src/libFLAC++/Makefile.am
index 360caa193dd..0b2853b2062 100644
--- a/3rdparty/libflac/src/libFLAC++/Makefile.am
+++ b/3rdparty/libflac/src/libFLAC++/Makefile.am
@@ -1,5 +1,6 @@
# libFLAC++ - Free Lossless Audio Codec library
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2002-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -29,27 +30,39 @@
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
lib_LTLIBRARIES = libFLAC++.la
+noinst_LTLIBRARIES = libFLAC++-static.la
m4datadir = $(datadir)/aclocal
m4data_DATA = libFLAC++.m4
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = flac++.pc
-
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
EXTRA_DIST = \
- Makefile.lite \
+ CMakeLists.txt \
flac++.pc.in \
- libFLAC++_dynamic.dsp \
- libFLAC++_dynamic.vcproj \
- libFLAC++_static.dsp \
- libFLAC++_static.vcproj \
- libFLAC++.m4
-
-# see 'http://www.gnu.org/software/libtool/manual.html#Libtool-versioning' for numbering convention
-libFLAC___la_LDFLAGS = -version-info 8:0:2
-libFLAC___la_LIBADD = ../libFLAC/libFLAC.la
+ libFLAC++.m4 \
+ version.rc
-libFLAC___la_SOURCES = \
+libFLAC___sources = \
metadata.cpp \
stream_decoder.cpp \
stream_encoder.cpp
+
+if OS_IS_WINDOWS
+if HAVE_WINDRES
+libFLAC___la_DEPENDENCIES = version.o
+windows_resource_link = -Wl,version.o
+endif
+endif
+
+# see 'http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning' for numbering convention
+libFLAC___la_LDFLAGS = $(AM_LDFLAGS) -no-undefined -version-info 10:1:0 $(windows_resource_link)
+libFLAC___la_LIBADD = ../libFLAC/libFLAC.la
+libFLAC___la_SOURCES = $(libFLAC___sources)
+
+libFLAC___static_la_SOURCES = $(libFLAC___sources)
+libFLAC___static_la_LIBADD = ../libFLAC/libFLAC-static.la
+
+.rc.o:
+ $(RC) $(AM_CPPFLAGS) $< $@
diff --git a/3rdparty/libflac/src/libFLAC++/Makefile.in b/3rdparty/libflac/src/libFLAC++/Makefile.in
index 834b46444c2..eff1fca1947 100644
--- a/3rdparty/libflac/src/libFLAC++/Makefile.in
+++ b/3rdparty/libflac/src/libFLAC++/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,8 @@
@SET_MAKE@
# libFLAC++ - Free Lossless Audio Codec library
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2002-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -44,16 +45,68 @@
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
+
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -65,12 +118,144 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+@HAVE_WINDRES_FALSE@libFLAC___la_DEPENDENCIES = ../libFLAC/libFLAC.la
+@OS_IS_WINDOWS_FALSE@libFLAC___la_DEPENDENCIES = \
+@OS_IS_WINDOWS_FALSE@ ../libFLAC/libFLAC.la
+subdir = src/libFLAC++
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES = flac++.pc
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(m4datadir)" \
+ "$(DESTDIR)$(pkgconfigdir)"
+LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
+libFLAC___static_la_DEPENDENCIES = ../libFLAC/libFLAC-static.la
+am__objects_1 = metadata.lo stream_decoder.lo stream_encoder.lo
+am_libFLAC___static_la_OBJECTS = $(am__objects_1)
+libFLAC___static_la_OBJECTS = $(am_libFLAC___static_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+am_libFLAC___la_OBJECTS = $(am__objects_1)
+libFLAC___la_OBJECTS = $(am_libFLAC___la_OBJECTS)
+libFLAC___la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(libFLAC___la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/metadata.Plo \
+ ./$(DEPDIR)/stream_decoder.Plo ./$(DEPDIR)/stream_encoder.Plo
+am__mv = mv -f
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_@AM_V@)
+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
+am__v_CXX_0 = @echo " CXX " $@;
+am__v_CXX_1 =
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo " CXXLD " $@;
+am__v_CXXLD_1 =
+SOURCES = $(libFLAC___static_la_SOURCES) $(libFLAC___la_SOURCES)
+DIST_SOURCES = $(libFLAC___static_la_SOURCES) $(libFLAC___la_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+DATA = $(m4data_DATA) $(pkgconfig_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/flac++.pc.in \
+ $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -79,440 +264,437 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
lib_LTLIBRARIES = libFLAC++.la
-
+noinst_LTLIBRARIES = libFLAC++-static.la
m4datadir = $(datadir)/aclocal
m4data_DATA = libFLAC++.m4
-
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = flac++.pc
-
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
EXTRA_DIST = \
- Makefile.lite \
+ CMakeLists.txt \
flac++.pc.in \
- libFLAC++_dynamic.dsp \
- libFLAC++_dynamic.vcproj \
- libFLAC++_static.dsp \
- libFLAC++_static.vcproj \
- libFLAC++.m4
-
+ libFLAC++.m4 \
+ version.rc
-# see 'http://www.gnu.org/software/libtool/manual.html#Libtool-versioning' for numbering convention
-libFLAC___la_LDFLAGS = -version-info 8:0:2
-libFLAC___la_LIBADD = ../libFLAC/libFLAC.la
-
-libFLAC___la_SOURCES = \
+libFLAC___sources = \
metadata.cpp \
stream_decoder.cpp \
stream_encoder.cpp
-subdir = src/libFLAC++
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = flac++.pc
-LTLIBRARIES = $(lib_LTLIBRARIES)
-
-libFLAC___la_DEPENDENCIES = ../libFLAC/libFLAC.la
-am_libFLAC___la_OBJECTS = metadata.lo stream_decoder.lo \
- stream_encoder.lo
-libFLAC___la_OBJECTS = $(am_libFLAC___la_OBJECTS)
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/metadata.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/stream_decoder.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/stream_encoder.Plo
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(libFLAC___la_SOURCES)
-DATA = $(m4data_DATA) $(pkgconfig_DATA)
-
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am flac++.pc.in
-SOURCES = $(libFLAC___la_SOURCES)
+@HAVE_WINDRES_TRUE@@OS_IS_WINDOWS_TRUE@libFLAC___la_DEPENDENCIES = version.o
+@HAVE_WINDRES_TRUE@@OS_IS_WINDOWS_TRUE@windows_resource_link = -Wl,version.o
+# see 'http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning' for numbering convention
+libFLAC___la_LDFLAGS = $(AM_LDFLAGS) -no-undefined -version-info 10:1:0 $(windows_resource_link)
+libFLAC___la_LIBADD = ../libFLAC/libFLAC.la
+libFLAC___la_SOURCES = $(libFLAC___sources)
+libFLAC___static_la_SOURCES = $(libFLAC___sources)
+libFLAC___static_la_LIBADD = ../libFLAC/libFLAC-static.la
all: all-am
.SUFFIXES:
-.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/libFLAC++/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-flac++.pc: $(top_builddir)/config.status flac++.pc.in
+.SUFFIXES: .cpp .lo .o .obj .rc
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/libFLAC++/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/libFLAC++/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+flac++.pc: $(top_builddir)/config.status $(srcdir)/flac++.pc.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-libLTLIBRARIES_INSTALL = $(INSTALL)
+
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(libdir)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f"; \
- $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p"; \
- $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
done
clean-libLTLIBRARIES:
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" = "$$p" && dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libFLAC++.la: $(libFLAC___la_OBJECTS) $(libFLAC___la_DEPENDENCIES)
- $(CXXLINK) -rpath $(libdir) $(libFLAC___la_LDFLAGS) $(libFLAC___la_OBJECTS) $(libFLAC___la_LIBADD) $(LIBS)
+ @list='$(lib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+libFLAC++-static.la: $(libFLAC___static_la_OBJECTS) $(libFLAC___static_la_DEPENDENCIES) $(EXTRA_libFLAC___static_la_DEPENDENCIES)
+ $(AM_V_CXXLD)$(CXXLINK) $(libFLAC___static_la_OBJECTS) $(libFLAC___static_la_LIBADD) $(LIBS)
+
+libFLAC++.la: $(libFLAC___la_OBJECTS) $(libFLAC___la_DEPENDENCIES) $(EXTRA_libFLAC___la_DEPENDENCIES)
+ $(AM_V_CXXLD)$(libFLAC___la_LINK) -rpath $(libdir) $(libFLAC___la_OBJECTS) $(libFLAC___la_LIBADD) $(LIBS)
mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
+ -rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream_decoder.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream_encoder.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream_decoder.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream_encoder.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.cpp.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCXX_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
.cpp.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCXX_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cpp.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCXX_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-m4dataDATA_INSTALL = $(INSTALL_DATA)
install-m4dataDATA: $(m4data_DATA)
@$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(m4datadir)
- @list='$(m4data_DATA)'; for p in $$list; do \
+ @list='$(m4data_DATA)'; test -n "$(m4datadir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(m4datadir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(m4datadir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(m4dataDATA_INSTALL) $$d$$p $(DESTDIR)$(m4datadir)/$$f"; \
- $(m4dataDATA_INSTALL) $$d$$p $(DESTDIR)$(m4datadir)/$$f; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(m4datadir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(m4datadir)" || exit $$?; \
done
uninstall-m4dataDATA:
@$(NORMAL_UNINSTALL)
- @list='$(m4data_DATA)'; for p in $$list; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(m4datadir)/$$f"; \
- rm -f $(DESTDIR)$(m4datadir)/$$f; \
- done
-pkgconfigDATA_INSTALL = $(INSTALL_DATA)
+ @list='$(m4data_DATA)'; test -n "$(m4datadir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(m4datadir)'; $(am__uninstall_files_from_dir)
install-pkgconfigDATA: $(pkgconfig_DATA)
@$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(pkgconfigdir)
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(pkgconfigDATA_INSTALL) $$d$$p $(DESTDIR)$(pkgconfigdir)/$$f"; \
- $(pkgconfigDATA_INSTALL) $$d$$p $(DESTDIR)$(pkgconfigdir)/$$f; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
done
uninstall-pkgconfigDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(pkgconfigdir)/$$f"; \
- rm -f $(DESTDIR)$(pkgconfigdir)/$$f; \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
-CTAGS = ctags
-CTAGSFLAGS =
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(LTLIBRARIES) $(DATA)
-
installdirs:
- $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(m4datadir) $(DESTDIR)$(pkgconfigdir)
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(m4datadir)" "$(DESTDIR)$(pkgconfigdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
@@ -523,16 +705,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -540,34 +728,60 @@ maintainer-clean-generic:
clean: clean-am
clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
- mostlyclean-am
+ clean-noinstLTLIBRARIES mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/metadata.Plo
+ -rm -f ./$(DEPDIR)/stream_decoder.Plo
+ -rm -f ./$(DEPDIR)/stream_encoder.Plo
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am: install-m4dataDATA install-pkgconfigDATA
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am: install-libLTLIBRARIES
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/metadata.Plo
+ -rm -f ./$(DEPDIR)/stream_decoder.Plo
+ -rm -f ./$(DEPDIR)/stream_encoder.Plo
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -584,24 +798,34 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \
- uninstall-m4dataDATA uninstall-pkgconfigDATA
+uninstall-am: uninstall-libLTLIBRARIES uninstall-m4dataDATA \
+ uninstall-pkgconfigDATA
+
+.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool ctags distclean \
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-generic clean-libLTLIBRARIES clean-libtool \
+ clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \
distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am \
install-libLTLIBRARIES install-m4dataDATA install-man \
- install-pkgconfigDATA install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am \
- uninstall-libLTLIBRARIES uninstall-m4dataDATA \
+ install-pdf install-pdf-am install-pkgconfigDATA install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am uninstall-libLTLIBRARIES uninstall-m4dataDATA \
uninstall-pkgconfigDATA
+.PRECIOUS: Makefile
+
+
+.rc.o:
+ $(RC) $(AM_CPPFLAGS) $< $@
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/3rdparty/libflac/src/libFLAC++/Makefile.lite b/3rdparty/libflac/src/libFLAC++/Makefile.lite
deleted file mode 100644
index ec1f6781b9a..00000000000
--- a/3rdparty/libflac/src/libFLAC++/Makefile.lite
+++ /dev/null
@@ -1,47 +0,0 @@
-# libFLAC++ - Free Lossless Audio Codec library
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# - Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# - Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# - Neither the name of the Xiph.org Foundation nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#
-# GNU makefile
-#
-
-topdir = ../..
-
-LIB_NAME = libFLAC++
-INCLUDES = -I$(topdir)/include
-
-SRCS_CPP = \
- metadata.cpp \
- stream_decoder.cpp \
- stream_encoder.cpp
-
-include $(topdir)/build/lib.mk
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/src/libFLAC++/flac++.pc.in b/3rdparty/libflac/src/libFLAC++/flac++.pc.in
index f5483117b90..f09c251a64c 100644
--- a/3rdparty/libflac/src/libFLAC++/flac++.pc.in
+++ b/3rdparty/libflac/src/libFLAC++/flac++.pc.in
@@ -7,5 +7,5 @@ Name: FLAC++
Description: Free Lossless Audio Codec Library (C++ API)
Version: @VERSION@
Requires: flac
-Libs: -L${libdir} -lFLAC++ -lm
-Cflags: -I${includedir}/FLAC++
+Libs: -L${libdir} -lFLAC++
+Cflags: -I${includedir}
diff --git a/3rdparty/libflac/src/libFLAC++/libFLAC++.m4 b/3rdparty/libflac/src/libFLAC++/libFLAC++.m4
index bf37529dde6..e5e13450574 100644
--- a/3rdparty/libflac/src/libFLAC++/libFLAC++.m4
+++ b/3rdparty/libflac/src/libFLAC++/libFLAC++.m4
@@ -51,19 +51,16 @@ dnl
dnl Now check if the installed libFLAC++ is sufficiently new.
dnl
rm -f conf.libFLAC++test
- AC_TRY_RUN([
+ AC_RUN_IFELSE([AC_LANG_PROGRAM([[
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <FLAC++/decoder.h>
-
-int main ()
-{
+]],[[
system("touch conf.libFLAC++test");
return 0;
-}
+]])],[],[no_libFLACPP=yes],[echo $ac_n "cross compiling; assumed OK... $ac_c"])
-],, no_libFLACPP=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
CXXFLAGS="$ac_save_CXXFLAGS"
LIBS="$ac_save_LIBS"
@@ -97,7 +94,7 @@ int main ()
echo "*** If you have an old version installed, it is best to remove it, although"
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
[ echo "*** The test program failed to compile or link. See the file config.log for the"
- echo "*** exact error that occured. This usually means libFLAC++ was incorrectly installed"
+ echo "*** exact error that occurred. This usually means libFLAC++ was incorrectly installed"
echo "*** or that you have moved libFLAC++ since it was installed. In the latter case, you"
echo "*** may want to edit the libFLAC++-config script: $LIBFLACPP_CONFIG" ])
CFLAGS="$ac_save_CFLAGS"
diff --git a/3rdparty/libflac/src/libFLAC++/libFLAC++_dynamic.dsp b/3rdparty/libflac/src/libFLAC++/libFLAC++_dynamic.dsp
deleted file mode 100644
index 4cf8d8adcb8..00000000000
--- a/3rdparty/libflac/src/libFLAC++/libFLAC++_dynamic.dsp
+++ /dev/null
@@ -1,139 +0,0 @@
-# Microsoft Developer Studio Project File - Name="libFLAC++_dynamic" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=libFLAC++_dynamic - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "libFLAC++_dynamic.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "libFLAC++_dynamic.mak" CFG="libFLAC++_dynamic - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "libFLAC++_dynamic - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "libFLAC++_dynamic - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "libFLAC++"
-# PROP Scc_LocalPath "..\.."
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "libFLAC++_dynamic - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\obj\release\lib"
-# PROP Intermediate_Dir "Release_dynamic"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I ".\include" /I "..\..\include" /D "NDEBUG" /D "FLACPP_API_EXPORTS" /D "_WINDOWS" /D "_WINDLL" /D "WIN32" /D "_USRDLL" /FR /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG" /d "_USRDLL"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 ..\..\obj\release\lib\libFLAC.lib /nologo /subsystem:windows /dll /machine:I386 /out:"..\..\obj\release\bin/libFLAC++.dll"
-
-!ELSEIF "$(CFG)" == "libFLAC++_dynamic - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\obj\debug\lib"
-# PROP Intermediate_Dir "Debug_dynamic"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I ".\include" /I "..\..\include" /D "_DEBUG" /D "DEBUG" /D "FLACPP_API_EXPORTS" /D "_WINDOWS" /D "_WINDLL" /D "WIN32" /D "_USRDLL" /FR /FD /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG" /d "_USRDLL"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\obj\debug\lib\libFLAC.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"..\..\obj\debug\bin/libFLAC++.dll" /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "libFLAC++_dynamic - Win32 Release"
-# Name "libFLAC++_dynamic - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp"
-# Begin Source File
-
-SOURCE=.\metadata.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\stream_decoder.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\stream_encoder.cpp
-# End Source File
-# End Group
-# Begin Group "Private Header Files"
-
-# PROP Default_Filter ""
-# End Group
-# Begin Group "Protected Header Files"
-
-# PROP Default_Filter ""
-# End Group
-# Begin Group "Public Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE="..\..\include\FLAC++\all.h"
-# End Source File
-# Begin Source File
-
-SOURCE="..\..\include\FLAC++\decoder.h"
-# End Source File
-# Begin Source File
-
-SOURCE="..\..\include\FLAC++\encoder.h"
-# End Source File
-# Begin Source File
-
-SOURCE="..\..\include\FLAC++\export.h"
-# End Source File
-# Begin Source File
-
-SOURCE="..\..\include\FLAC++\metadata.h"
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/libFLAC++/libFLAC++_dynamic.vcproj b/3rdparty/libflac/src/libFLAC++/libFLAC++_dynamic.vcproj
deleted file mode 100644
index 01aa2ea39fd..00000000000
--- a/3rdparty/libflac/src/libFLAC++/libFLAC++_dynamic.vcproj
+++ /dev/null
@@ -1,230 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="libFLAC++_dynamic"
- ProjectGUID="{4cefbc85-c215-11db-8314-0800200c9a66}"
- RootNamespace="libFLAC++_dynamic"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\obj\debug\lib"
- IntermediateDirectory="Debug_dynamic"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".\include;..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FLACPP_API_EXPORTS;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- SubSystem="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\obj\release\lib"
- IntermediateDirectory="Release_dynamic"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".\include;..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;FLACPP_API_EXPORTS"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\metadata.cpp"
- >
- </File>
- <File
- RelativePath=".\stream_decoder.cpp"
- >
- </File>
- <File
- RelativePath=".\stream_encoder.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Public Header Files"
- >
- <File
- RelativePath="..\..\include\FLAC++\all.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC++\decoder.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC++\encoder.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC++\export.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC++\metadata.h"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/libFLAC++/libFLAC++_static.dsp b/3rdparty/libflac/src/libFLAC++/libFLAC++_static.dsp
deleted file mode 100644
index f887419e8dc..00000000000
--- a/3rdparty/libflac/src/libFLAC++/libFLAC++_static.dsp
+++ /dev/null
@@ -1,132 +0,0 @@
-# Microsoft Developer Studio Project File - Name="libFLAC++_static" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=libFLAC++_static - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "libFLAC++_static.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "libFLAC++_static.mak" CFG="libFLAC++_static - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "libFLAC++_static - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "libFLAC++_static - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "libFLAC++"
-# PROP Scc_LocalPath "..\.."
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "libFLAC++_static - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\obj\release\lib"
-# PROP Intermediate_Dir "Release_static"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I ".\include" /I "..\..\include" /D "FLAC__NO_DLL" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ELSEIF "$(CFG)" == "libFLAC++_static - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\obj\debug\lib"
-# PROP Intermediate_Dir "Debug_static"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I ".\include" /I "..\..\include" /D "FLAC__NO_DLL" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ENDIF
-
-# Begin Target
-
-# Name "libFLAC++_static - Win32 Release"
-# Name "libFLAC++_static - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp"
-# Begin Source File
-
-SOURCE=.\metadata.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\stream_decoder.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\stream_encoder.cpp
-# End Source File
-# End Group
-# Begin Group "Private Header Files"
-
-# PROP Default_Filter ""
-# End Group
-# Begin Group "Protected Header Files"
-
-# PROP Default_Filter ""
-# End Group
-# Begin Group "Public Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE="..\..\include\FLAC++\all.h"
-# End Source File
-# Begin Source File
-
-SOURCE="..\..\include\FLAC++\decoder.h"
-# End Source File
-# Begin Source File
-
-SOURCE="..\..\include\FLAC++\encoder.h"
-# End Source File
-# Begin Source File
-
-SOURCE="..\..\include\FLAC++\export.h"
-# End Source File
-# Begin Source File
-
-SOURCE="..\..\include\FLAC++\metadata.h"
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/libFLAC++/libFLAC++_static.vcproj b/3rdparty/libflac/src/libFLAC++/libFLAC++_static.vcproj
deleted file mode 100644
index 9d752239307..00000000000
--- a/3rdparty/libflac/src/libFLAC++/libFLAC++_static.vcproj
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="libFLAC++_static"
- ProjectGUID="{4cefbc86-c215-11db-8314-0800200c9a66}"
- RootNamespace="libFLAC++_static"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\obj\debug\lib"
- IntermediateDirectory="Debug_static"
- ConfigurationType="4"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".\include;..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\obj\debug\lib\$(ProjectName).lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\obj\release\lib"
- IntermediateDirectory="Release_static"
- ConfigurationType="4"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".\include;..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\obj\release\lib\$(ProjectName).lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\metadata.cpp"
- >
- </File>
- <File
- RelativePath=".\stream_decoder.cpp"
- >
- </File>
- <File
- RelativePath=".\stream_encoder.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Public Header Files"
- >
- <File
- RelativePath="..\..\include\FLAC++\all.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC++\decoder.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC++\encoder.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC++\export.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC++\metadata.h"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/libFLAC++/metadata.cpp b/3rdparty/libflac/src/libFLAC++/metadata.cpp
index 7039624582f..beab110903c 100644
--- a/3rdparty/libflac/src/libFLAC++/metadata.cpp
+++ b/3rdparty/libflac/src/libFLAC++/metadata.cpp
@@ -1,5 +1,6 @@
/* libFLAC++ - Free Lossless Audio Codec library
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -30,11 +31,15 @@
*/
#define __STDC_LIMIT_MACROS 1 /* otherwise SIZE_MAX is not defined for c++ */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include "share/alloc.h"
#include "FLAC++/metadata.h"
#include "FLAC/assert.h"
-#include <stdlib.h> // for malloc(), free()
-#include <string.h> // for memcpy() etc.
+#include <cstdlib> // for malloc(), free()
+#include <cstring> // for memcpy() etc.
#ifdef _MSC_VER
// warning C4800: 'int' : forcing to bool 'true' or 'false' (performance warning)
@@ -50,6 +55,9 @@ namespace FLAC {
Prototype *construct_block(::FLAC__StreamMetadata *object)
{
+ if (0 == object)
+ return 0;
+
Prototype *ret = 0;
switch(object->type) {
case FLAC__METADATA_TYPE_STREAMINFO:
@@ -80,7 +88,7 @@ namespace FLAC {
return ret;
}
- }
+ } // namespace local
FLACPP_API Prototype *clone(const Prototype *object)
{
@@ -97,24 +105,23 @@ namespace FLAC {
if(0 != streaminfo)
return new StreamInfo(*streaminfo);
- else if(0 != padding)
+ if(0 != padding)
return new Padding(*padding);
- else if(0 != application)
+ if(0 != application)
return new Application(*application);
- else if(0 != seektable)
+ if(0 != seektable)
return new SeekTable(*seektable);
- else if(0 != vorbiscomment)
+ if(0 != vorbiscomment)
return new VorbisComment(*vorbiscomment);
- else if(0 != cuesheet)
+ if(0 != cuesheet)
return new CueSheet(*cuesheet);
- else if(0 != picture)
+ if(0 != picture)
return new Picture(*picture);
- else if(0 != unknown)
+ if(0 != unknown)
return new Unknown(*unknown);
- else {
- FLAC__ASSERT(0);
- return 0;
- }
+
+ FLAC__ASSERT(0);
+ return 0;
}
//
@@ -198,7 +205,7 @@ namespace FLAC {
bool Prototype::get_is_last() const
{
FLAC__ASSERT(is_valid());
- return (bool)object_->is_last;
+ return static_cast<bool>(object_->is_last);
}
FLAC__MetadataType Prototype::get_type() const
@@ -207,7 +214,7 @@ namespace FLAC {
return object_->type;
}
- unsigned Prototype::get_length() const
+ uint32_t Prototype::get_length() const
{
FLAC__ASSERT(is_valid());
return object_->length;
@@ -231,43 +238,43 @@ namespace FLAC {
StreamInfo::~StreamInfo()
{ }
- unsigned StreamInfo::get_min_blocksize() const
+ uint32_t StreamInfo::get_min_blocksize() const
{
FLAC__ASSERT(is_valid());
return object_->data.stream_info.min_blocksize;
}
- unsigned StreamInfo::get_max_blocksize() const
+ uint32_t StreamInfo::get_max_blocksize() const
{
FLAC__ASSERT(is_valid());
return object_->data.stream_info.max_blocksize;
}
- unsigned StreamInfo::get_min_framesize() const
+ uint32_t StreamInfo::get_min_framesize() const
{
FLAC__ASSERT(is_valid());
return object_->data.stream_info.min_framesize;
}
- unsigned StreamInfo::get_max_framesize() const
+ uint32_t StreamInfo::get_max_framesize() const
{
FLAC__ASSERT(is_valid());
return object_->data.stream_info.max_framesize;
}
- unsigned StreamInfo::get_sample_rate() const
+ uint32_t StreamInfo::get_sample_rate() const
{
FLAC__ASSERT(is_valid());
return object_->data.stream_info.sample_rate;
}
- unsigned StreamInfo::get_channels() const
+ uint32_t StreamInfo::get_channels() const
{
FLAC__ASSERT(is_valid());
return object_->data.stream_info.channels;
}
- unsigned StreamInfo::get_bits_per_sample() const
+ uint32_t StreamInfo::get_bits_per_sample() const
{
FLAC__ASSERT(is_valid());
return object_->data.stream_info.bits_per_sample;
@@ -285,7 +292,7 @@ namespace FLAC {
return object_->data.stream_info.md5sum;
}
- void StreamInfo::set_min_blocksize(unsigned value)
+ void StreamInfo::set_min_blocksize(uint32_t value)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(value >= FLAC__MIN_BLOCK_SIZE);
@@ -293,7 +300,7 @@ namespace FLAC {
object_->data.stream_info.min_blocksize = value;
}
- void StreamInfo::set_max_blocksize(unsigned value)
+ void StreamInfo::set_max_blocksize(uint32_t value)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(value >= FLAC__MIN_BLOCK_SIZE);
@@ -301,28 +308,28 @@ namespace FLAC {
object_->data.stream_info.max_blocksize = value;
}
- void StreamInfo::set_min_framesize(unsigned value)
+ void StreamInfo::set_min_framesize(uint32_t value)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(value < (1u << FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN));
object_->data.stream_info.min_framesize = value;
}
- void StreamInfo::set_max_framesize(unsigned value)
+ void StreamInfo::set_max_framesize(uint32_t value)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(value < (1u << FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN));
object_->data.stream_info.max_framesize = value;
}
- void StreamInfo::set_sample_rate(unsigned value)
+ void StreamInfo::set_sample_rate(uint32_t value)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(FLAC__format_sample_rate_is_valid(value));
object_->data.stream_info.sample_rate = value;
}
- void StreamInfo::set_channels(unsigned value)
+ void StreamInfo::set_channels(uint32_t value)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(value > 0);
@@ -330,7 +337,7 @@ namespace FLAC {
object_->data.stream_info.channels = value;
}
- void StreamInfo::set_bits_per_sample(unsigned value)
+ void StreamInfo::set_bits_per_sample(uint32_t value)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(value >= FLAC__MIN_BITS_PER_SAMPLE);
@@ -349,7 +356,7 @@ namespace FLAC {
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(0 != value);
- memcpy(object_->data.stream_info.md5sum, value, 16);
+ std::memcpy(object_->data.stream_info.md5sum, value, 16);
}
@@ -361,10 +368,16 @@ namespace FLAC {
Prototype(FLAC__metadata_object_new(FLAC__METADATA_TYPE_PADDING), /*copy=*/false)
{ }
+ Padding::Padding(uint32_t length):
+ Prototype(FLAC__metadata_object_new(FLAC__METADATA_TYPE_PADDING), /*copy=*/false)
+ {
+ set_length(length);
+ }
+
Padding::~Padding()
{ }
- void Padding::set_length(unsigned length)
+ void Padding::set_length(uint32_t length)
{
FLAC__ASSERT(is_valid());
object_->length = length;
@@ -398,19 +411,19 @@ namespace FLAC {
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(0 != value);
- memcpy(object_->data.application.id, value, 4);
+ std::memcpy(object_->data.application.id, value, 4);
}
- bool Application::set_data(const FLAC__byte *data, unsigned length)
+ bool Application::set_data(const FLAC__byte *data, uint32_t length)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_object_application_set_data(object_, (FLAC__byte*)data, length, true);
+ return static_cast<bool>(::FLAC__metadata_object_application_set_data(object_, const_cast<FLAC__byte*>(data), length, true));
}
- bool Application::set_data(FLAC__byte *data, unsigned length, bool copy)
+ bool Application::set_data(FLAC__byte *data, uint32_t length, bool copy)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_object_application_set_data(object_, data, length, copy);
+ return static_cast<bool>(::FLAC__metadata_object_application_set_data(object_, data, length, copy));
}
@@ -425,44 +438,86 @@ namespace FLAC {
SeekTable::~SeekTable()
{ }
- unsigned SeekTable::get_num_points() const
+ uint32_t SeekTable::get_num_points() const
{
FLAC__ASSERT(is_valid());
return object_->data.seek_table.num_points;
}
- ::FLAC__StreamMetadata_SeekPoint SeekTable::get_point(unsigned index) const
+ ::FLAC__StreamMetadata_SeekPoint SeekTable::get_point(uint32_t indx) const
{
FLAC__ASSERT(is_valid());
- FLAC__ASSERT(index < object_->data.seek_table.num_points);
- return object_->data.seek_table.points[index];
+ FLAC__ASSERT(indx < object_->data.seek_table.num_points);
+ return object_->data.seek_table.points[indx];
}
- void SeekTable::set_point(unsigned index, const ::FLAC__StreamMetadata_SeekPoint &point)
+ bool SeekTable::resize_points(uint32_t new_num_points)
{
FLAC__ASSERT(is_valid());
- FLAC__ASSERT(index < object_->data.seek_table.num_points);
- ::FLAC__metadata_object_seektable_set_point(object_, index, point);
+ return static_cast<bool>(::FLAC__metadata_object_seektable_resize_points(object_, new_num_points));
}
- bool SeekTable::insert_point(unsigned index, const ::FLAC__StreamMetadata_SeekPoint &point)
+ void SeekTable::set_point(uint32_t indx, const ::FLAC__StreamMetadata_SeekPoint &point)
{
FLAC__ASSERT(is_valid());
- FLAC__ASSERT(index <= object_->data.seek_table.num_points);
- return (bool)::FLAC__metadata_object_seektable_insert_point(object_, index, point);
+ FLAC__ASSERT(indx < object_->data.seek_table.num_points);
+ ::FLAC__metadata_object_seektable_set_point(object_, indx, point);
}
- bool SeekTable::delete_point(unsigned index)
+ bool SeekTable::insert_point(uint32_t indx, const ::FLAC__StreamMetadata_SeekPoint &point)
{
FLAC__ASSERT(is_valid());
- FLAC__ASSERT(index < object_->data.seek_table.num_points);
- return (bool)::FLAC__metadata_object_seektable_delete_point(object_, index);
+ FLAC__ASSERT(indx <= object_->data.seek_table.num_points);
+ return static_cast<bool>(::FLAC__metadata_object_seektable_insert_point(object_, indx, point));
+ }
+
+ bool SeekTable::delete_point(uint32_t indx)
+ {
+ FLAC__ASSERT(is_valid());
+ FLAC__ASSERT(indx < object_->data.seek_table.num_points);
+ return static_cast<bool>(::FLAC__metadata_object_seektable_delete_point(object_, indx));
}
bool SeekTable::is_legal() const
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_object_seektable_is_legal(object_);
+ return static_cast<bool>(::FLAC__metadata_object_seektable_is_legal(object_));
+ }
+
+ bool SeekTable::template_append_placeholders(uint32_t num)
+ {
+ FLAC__ASSERT(is_valid());
+ return static_cast<bool>(::FLAC__metadata_object_seektable_template_append_placeholders(object_, num));
+ }
+
+ bool SeekTable::template_append_point(FLAC__uint64 sample_number)
+ {
+ FLAC__ASSERT(is_valid());
+ return static_cast<bool>(::FLAC__metadata_object_seektable_template_append_point(object_, sample_number));
+ }
+
+ bool SeekTable::template_append_points(FLAC__uint64 sample_numbers[], uint32_t num)
+ {
+ FLAC__ASSERT(is_valid());
+ return static_cast<bool>(::FLAC__metadata_object_seektable_template_append_points(object_, sample_numbers, num));
+ }
+
+ bool SeekTable::template_append_spaced_points(uint32_t num, FLAC__uint64 total_samples)
+ {
+ FLAC__ASSERT(is_valid());
+ return static_cast<bool>(::FLAC__metadata_object_seektable_template_append_spaced_points(object_, num, total_samples));
+ }
+
+ bool SeekTable::template_append_spaced_points_by_samples(uint32_t samples, FLAC__uint64 total_samples)
+ {
+ FLAC__ASSERT(is_valid());
+ return static_cast<bool>(::FLAC__metadata_object_seektable_template_append_spaced_points_by_samples(object_, samples, total_samples));
+ }
+
+ bool SeekTable::template_sort(bool compact)
+ {
+ FLAC__ASSERT(is_valid());
+ return static_cast<bool>(::FLAC__metadata_object_seektable_template_sort(object_, compact));
}
@@ -470,47 +525,83 @@ namespace FLAC {
// VorbisComment::Entry
//
- VorbisComment::Entry::Entry()
+ VorbisComment::Entry::Entry() :
+ is_valid_(true),
+ entry_(),
+ field_name_(0),
+ field_name_length_(0),
+ field_value_(0),
+ field_value_length_(0)
{
zero();
}
- VorbisComment::Entry::Entry(const char *field, unsigned field_length)
+ VorbisComment::Entry::Entry(const char *field, uint32_t field_length) :
+ is_valid_(true),
+ entry_(),
+ field_name_(0),
+ field_name_length_(0),
+ field_value_(0),
+ field_value_length_(0)
{
zero();
construct(field, field_length);
}
- VorbisComment::Entry::Entry(const char *field)
+ VorbisComment::Entry::Entry(const char *field) :
+ is_valid_(true),
+ entry_(),
+ field_name_(0),
+ field_name_length_(0),
+ field_value_(0),
+ field_value_length_(0)
{
zero();
construct(field);
}
- VorbisComment::Entry::Entry(const char *field_name, const char *field_value, unsigned field_value_length)
+ VorbisComment::Entry::Entry(const char *field_name, const char *field_value, uint32_t field_value_length) :
+ is_valid_(true),
+ entry_(),
+ field_name_(0),
+ field_name_length_(0),
+ field_value_(0),
+ field_value_length_(0)
{
zero();
construct(field_name, field_value, field_value_length);
}
- VorbisComment::Entry::Entry(const char *field_name, const char *field_value)
+ VorbisComment::Entry::Entry(const char *field_name, const char *field_value) :
+ is_valid_(true),
+ entry_(),
+ field_name_(0),
+ field_name_length_(0),
+ field_value_(0),
+ field_value_length_(0)
{
zero();
construct(field_name, field_value);
}
- VorbisComment::Entry::Entry(const Entry &entry)
+ VorbisComment::Entry::Entry(const Entry &entry) :
+ is_valid_(true),
+ entry_(),
+ field_name_(0),
+ field_name_length_(0),
+ field_value_(0),
+ field_value_length_(0)
{
FLAC__ASSERT(entry.is_valid());
zero();
- construct((const char *)entry.entry_.entry, entry.entry_.length);
+ construct(reinterpret_cast<const char *>(entry.entry_.entry), entry.entry_.length);
}
VorbisComment::Entry &VorbisComment::Entry::operator=(const Entry &entry)
{
FLAC__ASSERT(entry.is_valid());
clear();
- construct((const char *)entry.entry_.entry, entry.entry_.length);
+ construct(reinterpret_cast<const char *>(entry.entry_.entry), entry.entry_.length);
return *this;
}
@@ -524,19 +615,19 @@ namespace FLAC {
return is_valid_;
}
- unsigned VorbisComment::Entry::get_field_length() const
+ uint32_t VorbisComment::Entry::get_field_length() const
{
FLAC__ASSERT(is_valid());
return entry_.length;
}
- unsigned VorbisComment::Entry::get_field_name_length() const
+ uint32_t VorbisComment::Entry::get_field_name_length() const
{
FLAC__ASSERT(is_valid());
return field_name_length_;
}
- unsigned VorbisComment::Entry::get_field_value_length() const
+ uint32_t VorbisComment::Entry::get_field_value_length() const
{
FLAC__ASSERT(is_valid());
return field_value_length_;
@@ -551,7 +642,7 @@ namespace FLAC {
const char *VorbisComment::Entry::get_field() const
{
FLAC__ASSERT(is_valid());
- return (const char *)entry_.entry;
+ return reinterpret_cast<const char *>(entry_.entry);
}
const char *VorbisComment::Entry::get_field_name() const
@@ -566,22 +657,22 @@ namespace FLAC {
return field_value_;
}
- bool VorbisComment::Entry::set_field(const char *field, unsigned field_length)
+ bool VorbisComment::Entry::set_field(const char *field, uint32_t field_length)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(0 != field);
- if(!::FLAC__format_vorbiscomment_entry_is_legal((const ::FLAC__byte*)field, field_length))
+ if(!::FLAC__format_vorbiscomment_entry_is_legal(reinterpret_cast<const ::FLAC__byte*>(field), field_length))
return is_valid_ = false;
clear_entry();
- if(0 == (entry_.entry = (FLAC__byte*)safe_malloc_add_2op_(field_length, /*+*/1))) {
+ if(0 == (entry_.entry = static_cast<FLAC__byte*>(safe_malloc_add_2op_(field_length, /*+*/1)))) {
is_valid_ = false;
}
else {
entry_.length = field_length;
- memcpy(entry_.entry, field, field_length);
+ std::memcpy(entry_.entry, field, field_length);
entry_.entry[field_length] = '\0';
(void) parse_field();
}
@@ -591,7 +682,7 @@ namespace FLAC {
bool VorbisComment::Entry::set_field(const char *field)
{
- return set_field(field, strlen(field));
+ return set_field(field, std::strlen(field));
}
bool VorbisComment::Entry::set_field_name(const char *field_name)
@@ -608,29 +699,29 @@ namespace FLAC {
is_valid_ = false;
}
else {
- field_name_length_ = strlen(field_name_);
+ field_name_length_ = std::strlen(field_name_);
compose_field();
}
return is_valid_;
}
- bool VorbisComment::Entry::set_field_value(const char *field_value, unsigned field_value_length)
+ bool VorbisComment::Entry::set_field_value(const char *field_value, uint32_t field_value_length)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(0 != field_value);
- if(!::FLAC__format_vorbiscomment_entry_value_is_legal((const FLAC__byte*)field_value, field_value_length))
+ if(!::FLAC__format_vorbiscomment_entry_value_is_legal(reinterpret_cast<const FLAC__byte*>(field_value), field_value_length))
return is_valid_ = false;
clear_field_value();
- if(0 == (field_value_ = (char *)safe_malloc_add_2op_(field_value_length, /*+*/1))) {
+ if(0 == (field_value_ = static_cast<char *>(safe_malloc_add_2op_(field_value_length, /*+*/1)))) {
is_valid_ = false;
}
else {
field_value_length_ = field_value_length;
- memcpy(field_value_, field_value, field_value_length);
+ std::memcpy(field_value_, field_value, field_value_length);
field_value_[field_value_length] = '\0';
compose_field();
}
@@ -640,7 +731,7 @@ namespace FLAC {
bool VorbisComment::Entry::set_field_value(const char *field_value)
{
- return set_field_value(field_value, strlen(field_value));
+ return set_field_value(field_value, std::strlen(field_value));
}
void VorbisComment::Entry::zero()
@@ -665,7 +756,7 @@ namespace FLAC {
void VorbisComment::Entry::clear_entry()
{
if(0 != entry_.entry) {
- free(entry_.entry);
+ std::free(entry_.entry);
entry_.entry = 0;
entry_.length = 0;
}
@@ -674,7 +765,7 @@ namespace FLAC {
void VorbisComment::Entry::clear_field_name()
{
if(0 != field_name_) {
- free(field_name_);
+ std::free(field_name_);
field_name_ = 0;
field_name_length_ = 0;
}
@@ -683,13 +774,13 @@ namespace FLAC {
void VorbisComment::Entry::clear_field_value()
{
if(0 != field_value_) {
- free(field_value_);
+ std::free(field_value_);
field_value_ = 0;
field_value_length_ = 0;
}
}
- void VorbisComment::Entry::construct(const char *field, unsigned field_length)
+ void VorbisComment::Entry::construct(const char *field, uint32_t field_length)
{
if(set_field(field, field_length))
parse_field();
@@ -697,10 +788,10 @@ namespace FLAC {
void VorbisComment::Entry::construct(const char *field)
{
- construct(field, strlen(field));
+ construct(field, std::strlen(field));
}
- void VorbisComment::Entry::construct(const char *field_name, const char *field_value, unsigned field_value_length)
+ void VorbisComment::Entry::construct(const char *field_name, const char *field_value, uint32_t field_value_length)
{
if(set_field_name(field_name) && set_field_value(field_value, field_value_length))
compose_field();
@@ -708,22 +799,23 @@ namespace FLAC {
void VorbisComment::Entry::construct(const char *field_name, const char *field_value)
{
- construct(field_name, field_value, strlen(field_value));
+ construct(field_name, field_value, std::strlen(field_value));
}
void VorbisComment::Entry::compose_field()
{
clear_entry();
- if(0 == (entry_.entry = (FLAC__byte*)safe_malloc_add_4op_(field_name_length_, /*+*/1, /*+*/field_value_length_, /*+*/1))) {
+ if(0 == (entry_.entry = static_cast<FLAC__byte*>(safe_malloc_add_4op_(field_name_length_, /*+*/1, /*+*/field_value_length_, /*+*/1)))) {
is_valid_ = false;
}
else {
- memcpy(entry_.entry, field_name_, field_name_length_);
+ std::memcpy(entry_.entry, field_name_, field_name_length_);
entry_.length += field_name_length_;
- memcpy(entry_.entry + entry_.length, "=", 1);
+ std::memcpy(entry_.entry + entry_.length, "=", 1);
entry_.length += 1;
- memcpy(entry_.entry + entry_.length, field_value_, field_value_length_);
+ if (field_value_length_ > 0)
+ std::memcpy(entry_.entry + entry_.length, field_value_, field_value_length_);
entry_.length += field_value_length_;
entry_.entry[entry_.length] = '\0';
is_valid_ = true;
@@ -735,33 +827,33 @@ namespace FLAC {
clear_field_name();
clear_field_value();
- const char *p = (const char *)memchr(entry_.entry, '=', entry_.length);
+ const char *p = static_cast<const char *>(std::memchr(entry_.entry, '=', entry_.length));
if(0 == p)
- p = (const char *)entry_.entry + entry_.length;
+ p = reinterpret_cast<const char *>(entry_.entry) + entry_.length;
- field_name_length_ = (unsigned)(p - (const char *)entry_.entry);
- if(0 == (field_name_ = (char *)safe_malloc_add_2op_(field_name_length_, /*+*/1))) { // +1 for the trailing \0
+ field_name_length_ = static_cast<uint32_t>(p - reinterpret_cast<const char *>(entry_.entry));
+ if(0 == (field_name_ = static_cast<char *>(safe_malloc_add_2op_(field_name_length_, /*+*/1)))) { // +1 for the trailing \0
is_valid_ = false;
return;
}
- memcpy(field_name_, entry_.entry, field_name_length_);
+ std::memcpy(field_name_, entry_.entry, field_name_length_);
field_name_[field_name_length_] = '\0';
if(entry_.length - field_name_length_ == 0) {
field_value_length_ = 0;
- if(0 == (field_value_ = (char *)safe_malloc_(0))) {
+ if(0 == (field_value_ = static_cast<char *>(safe_malloc_(0)))) {
is_valid_ = false;
return;
}
}
else {
field_value_length_ = entry_.length - field_name_length_ - 1;
- if(0 == (field_value_ = (char *)safe_malloc_add_2op_(field_value_length_, /*+*/1))) { // +1 for the trailing \0
+ if(0 == (field_value_ = static_cast<char *>(safe_malloc_add_2op_(field_value_length_, /*+*/1)))) { // +1 for the trailing \0
is_valid_ = false;
return;
}
- memcpy(field_value_, ++p, field_value_length_);
+ std::memcpy(field_value_, ++p, field_value_length_);
field_value_[field_value_length_] = '\0';
}
@@ -780,7 +872,7 @@ namespace FLAC {
VorbisComment::~VorbisComment()
{ }
- unsigned VorbisComment::get_num_comments() const
+ uint32_t VorbisComment::get_num_comments() const
{
FLAC__ASSERT(is_valid());
return object_->data.vorbis_comment.num_comments;
@@ -792,46 +884,76 @@ namespace FLAC {
return object_->data.vorbis_comment.vendor_string.entry;
}
- VorbisComment::Entry VorbisComment::get_comment(unsigned index) const
+ VorbisComment::Entry VorbisComment::get_comment(uint32_t indx) const
{
FLAC__ASSERT(is_valid());
- FLAC__ASSERT(index < object_->data.vorbis_comment.num_comments);
- return Entry((const char *)object_->data.vorbis_comment.comments[index].entry, object_->data.vorbis_comment.comments[index].length);
+ FLAC__ASSERT(indx < object_->data.vorbis_comment.num_comments);
+ return Entry(reinterpret_cast<const char *>(object_->data.vorbis_comment.comments[indx].entry), object_->data.vorbis_comment.comments[indx].length);
}
bool VorbisComment::set_vendor_string(const FLAC__byte *string)
{
FLAC__ASSERT(is_valid());
// vendor_string is a special kind of entry
- const ::FLAC__StreamMetadata_VorbisComment_Entry vendor_string = { strlen((const char *)string), (FLAC__byte*)string }; // we can cheat on const-ness because we make a copy below:
- return (bool)::FLAC__metadata_object_vorbiscomment_set_vendor_string(object_, vendor_string, /*copy=*/true);
+ const ::FLAC__StreamMetadata_VorbisComment_Entry vendor_string = { static_cast<FLAC__uint32>(std::strlen(reinterpret_cast<const char *>(string))), const_cast<FLAC__byte*>(string) }; // we can cheat on const-ness because we make a copy below:
+ return static_cast<bool>(::FLAC__metadata_object_vorbiscomment_set_vendor_string(object_, vendor_string, /*copy=*/true));
}
- bool VorbisComment::set_comment(unsigned index, const VorbisComment::Entry &entry)
+ bool VorbisComment::resize_comments(uint32_t new_num_comments)
{
FLAC__ASSERT(is_valid());
- FLAC__ASSERT(index < object_->data.vorbis_comment.num_comments);
- return (bool)::FLAC__metadata_object_vorbiscomment_set_comment(object_, index, entry.get_entry(), /*copy=*/true);
+ return static_cast<bool>(::FLAC__metadata_object_vorbiscomment_resize_comments(object_, new_num_comments));
}
- bool VorbisComment::insert_comment(unsigned index, const VorbisComment::Entry &entry)
+ bool VorbisComment::set_comment(uint32_t indx, const VorbisComment::Entry &entry)
{
FLAC__ASSERT(is_valid());
- FLAC__ASSERT(index <= object_->data.vorbis_comment.num_comments);
- return (bool)::FLAC__metadata_object_vorbiscomment_insert_comment(object_, index, entry.get_entry(), /*copy=*/true);
+ FLAC__ASSERT(indx < object_->data.vorbis_comment.num_comments);
+ return static_cast<bool>(::FLAC__metadata_object_vorbiscomment_set_comment(object_, indx, entry.get_entry(), /*copy=*/true));
+ }
+
+ bool VorbisComment::insert_comment(uint32_t indx, const VorbisComment::Entry &entry)
+ {
+ FLAC__ASSERT(is_valid());
+ FLAC__ASSERT(indx <= object_->data.vorbis_comment.num_comments);
+ return static_cast<bool>(::FLAC__metadata_object_vorbiscomment_insert_comment(object_, indx, entry.get_entry(), /*copy=*/true));
}
bool VorbisComment::append_comment(const VorbisComment::Entry &entry)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_object_vorbiscomment_append_comment(object_, entry.get_entry(), /*copy=*/true);
+ return static_cast<bool>(::FLAC__metadata_object_vorbiscomment_append_comment(object_, entry.get_entry(), /*copy=*/true));
}
- bool VorbisComment::delete_comment(unsigned index)
+ bool VorbisComment::replace_comment(const VorbisComment::Entry &entry, bool all)
{
FLAC__ASSERT(is_valid());
- FLAC__ASSERT(index < object_->data.vorbis_comment.num_comments);
- return (bool)::FLAC__metadata_object_vorbiscomment_delete_comment(object_, index);
+ return static_cast<bool>(::FLAC__metadata_object_vorbiscomment_replace_comment(object_, entry.get_entry(), static_cast<FLAC__bool>(all), /*copy=*/true));
+ }
+
+ bool VorbisComment::delete_comment(uint32_t indx)
+ {
+ FLAC__ASSERT(is_valid());
+ FLAC__ASSERT(indx < object_->data.vorbis_comment.num_comments);
+ return static_cast<bool>(::FLAC__metadata_object_vorbiscomment_delete_comment(object_, indx));
+ }
+
+ int VorbisComment::find_entry_from(uint32_t offset, const char *field_name)
+ {
+ FLAC__ASSERT(is_valid());
+ return ::FLAC__metadata_object_vorbiscomment_find_entry_from(object_, offset, field_name);
+ }
+
+ int VorbisComment::remove_entry_matching(const char *field_name)
+ {
+ FLAC__ASSERT(is_valid());
+ return ::FLAC__metadata_object_vorbiscomment_remove_entry_matching(object_, field_name);
+ }
+
+ int VorbisComment::remove_entries_matching(const char *field_name)
+ {
+ FLAC__ASSERT(is_valid());
+ return ::FLAC__metadata_object_vorbiscomment_remove_entries_matching(object_, field_name);
}
@@ -870,7 +992,7 @@ namespace FLAC {
return(0 != object_);
}
- ::FLAC__StreamMetadata_CueSheet_Index CueSheet::Track::get_index(unsigned i) const
+ ::FLAC__StreamMetadata_CueSheet_Index CueSheet::Track::get_index(uint32_t i) const
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(i < object_->num_indices);
@@ -881,22 +1003,22 @@ namespace FLAC {
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(0 != value);
- memcpy(object_->isrc, value, 12);
+ std::memcpy(object_->isrc, value, 12);
object_->isrc[12] = '\0';
}
- void CueSheet::Track::set_type(unsigned value)
+ void CueSheet::Track::set_type(uint32_t value)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(value <= 1);
object_->type = value;
}
- void CueSheet::Track::set_index(unsigned i, const ::FLAC__StreamMetadata_CueSheet_Index &index)
+ void CueSheet::Track::set_index(uint32_t i, const ::FLAC__StreamMetadata_CueSheet_Index &indx)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(i < object_->num_indices);
- object_->indices[i] = index;
+ object_->indices[i] = indx;
}
@@ -929,13 +1051,13 @@ namespace FLAC {
return object_->data.cue_sheet.is_cd? true : false;
}
- unsigned CueSheet::get_num_tracks() const
+ uint32_t CueSheet::get_num_tracks() const
{
FLAC__ASSERT(is_valid());
return object_->data.cue_sheet.num_tracks;
}
- CueSheet::Track CueSheet::get_track(unsigned i) const
+ CueSheet::Track CueSheet::get_track(uint32_t i) const
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(i < object_->data.cue_sheet.num_tracks);
@@ -946,7 +1068,7 @@ namespace FLAC {
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(0 != value);
- memcpy(object_->data.cue_sheet.media_catalog_number, value, 128);
+ std::memcpy(object_->data.cue_sheet.media_catalog_number, value, 128);
object_->data.cue_sheet.media_catalog_number[128] = '\0';
}
@@ -962,57 +1084,85 @@ namespace FLAC {
object_->data.cue_sheet.is_cd = value;
}
- void CueSheet::set_index(unsigned track_num, unsigned index_num, const ::FLAC__StreamMetadata_CueSheet_Index &index)
+ void CueSheet::set_index(uint32_t track_num, uint32_t index_num, const ::FLAC__StreamMetadata_CueSheet_Index &indx)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(track_num < object_->data.cue_sheet.num_tracks);
FLAC__ASSERT(index_num < object_->data.cue_sheet.tracks[track_num].num_indices);
- object_->data.cue_sheet.tracks[track_num].indices[index_num] = index;
+ object_->data.cue_sheet.tracks[track_num].indices[index_num] = indx;
}
- bool CueSheet::insert_index(unsigned track_num, unsigned index_num, const ::FLAC__StreamMetadata_CueSheet_Index &index)
+ bool CueSheet::resize_indices(uint32_t track_num, uint32_t new_num_indices)
+ {
+ FLAC__ASSERT(is_valid());
+ FLAC__ASSERT(track_num < object_->data.cue_sheet.num_tracks);
+ return static_cast<bool>(::FLAC__metadata_object_cuesheet_track_resize_indices(object_, track_num, new_num_indices));
+ }
+
+ bool CueSheet::insert_index(uint32_t track_num, uint32_t index_num, const ::FLAC__StreamMetadata_CueSheet_Index &indx)
+ {
+ FLAC__ASSERT(is_valid());
+ FLAC__ASSERT(track_num < object_->data.cue_sheet.num_tracks);
+ FLAC__ASSERT(index_num <= object_->data.cue_sheet.tracks[track_num].num_indices);
+ return static_cast<bool>(::FLAC__metadata_object_cuesheet_track_insert_index(object_, track_num, index_num, indx));
+ }
+
+ bool CueSheet::insert_blank_index(uint32_t track_num, uint32_t index_num)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(track_num < object_->data.cue_sheet.num_tracks);
FLAC__ASSERT(index_num <= object_->data.cue_sheet.tracks[track_num].num_indices);
- return (bool)::FLAC__metadata_object_cuesheet_track_insert_index(object_, track_num, index_num, index);
+ return static_cast<bool>(::FLAC__metadata_object_cuesheet_track_insert_blank_index(object_, track_num, index_num));
}
- bool CueSheet::delete_index(unsigned track_num, unsigned index_num)
+ bool CueSheet::delete_index(uint32_t track_num, uint32_t index_num)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(track_num < object_->data.cue_sheet.num_tracks);
FLAC__ASSERT(index_num < object_->data.cue_sheet.tracks[track_num].num_indices);
- return (bool)::FLAC__metadata_object_cuesheet_track_delete_index(object_, track_num, index_num);
+ return static_cast<bool>(::FLAC__metadata_object_cuesheet_track_delete_index(object_, track_num, index_num));
+ }
+
+ bool CueSheet::resize_tracks(uint32_t new_num_tracks)
+ {
+ FLAC__ASSERT(is_valid());
+ return static_cast<bool>(::FLAC__metadata_object_cuesheet_resize_tracks(object_, new_num_tracks));
}
- bool CueSheet::set_track(unsigned i, const CueSheet::Track &track)
+ bool CueSheet::set_track(uint32_t i, const CueSheet::Track &track)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(i < object_->data.cue_sheet.num_tracks);
// We can safely const_cast since copy=true
- return (bool)::FLAC__metadata_object_cuesheet_set_track(object_, i, const_cast< ::FLAC__StreamMetadata_CueSheet_Track*>(track.get_track()), /*copy=*/true);
+ return static_cast<bool>(::FLAC__metadata_object_cuesheet_set_track(object_, i, const_cast< ::FLAC__StreamMetadata_CueSheet_Track*>(track.get_track()), /*copy=*/true));
}
- bool CueSheet::insert_track(unsigned i, const CueSheet::Track &track)
+ bool CueSheet::insert_track(uint32_t i, const CueSheet::Track &track)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(i <= object_->data.cue_sheet.num_tracks);
// We can safely const_cast since copy=true
- return (bool)::FLAC__metadata_object_cuesheet_insert_track(object_, i, const_cast< ::FLAC__StreamMetadata_CueSheet_Track*>(track.get_track()), /*copy=*/true);
+ return static_cast<bool>(::FLAC__metadata_object_cuesheet_insert_track(object_, i, const_cast< ::FLAC__StreamMetadata_CueSheet_Track*>(track.get_track()), /*copy=*/true));
+ }
+
+ bool CueSheet::insert_blank_track(uint32_t i)
+ {
+ FLAC__ASSERT(is_valid());
+ FLAC__ASSERT(i <= object_->data.cue_sheet.num_tracks);
+ return static_cast<bool>(::FLAC__metadata_object_cuesheet_insert_blank_track(object_, i));
}
- bool CueSheet::delete_track(unsigned i)
+ bool CueSheet::delete_track(uint32_t i)
{
FLAC__ASSERT(is_valid());
FLAC__ASSERT(i < object_->data.cue_sheet.num_tracks);
- return (bool)::FLAC__metadata_object_cuesheet_delete_track(object_, i);
+ return static_cast<bool>(::FLAC__metadata_object_cuesheet_delete_track(object_, i));
}
bool CueSheet::is_legal(bool check_cd_da_subset, const char **violation) const
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_object_cuesheet_is_legal(object_, check_cd_da_subset, violation);
+ return static_cast<bool>(::FLAC__metadata_object_cuesheet_is_legal(object_, check_cd_da_subset, violation));
}
FLAC__uint32 CueSheet::calculate_cddb_id() const
@@ -1097,14 +1247,14 @@ namespace FLAC {
{
FLAC__ASSERT(is_valid());
// We can safely const_cast since copy=true
- return (bool)::FLAC__metadata_object_picture_set_mime_type(object_, const_cast<char*>(string), /*copy=*/true);
+ return static_cast<bool>(::FLAC__metadata_object_picture_set_mime_type(object_, const_cast<char*>(string), /*copy=*/true));
}
bool Picture::set_description(const FLAC__byte *string)
{
FLAC__ASSERT(is_valid());
// We can safely const_cast since copy=true
- return (bool)::FLAC__metadata_object_picture_set_description(object_, const_cast<FLAC__byte*>(string), /*copy=*/true);
+ return static_cast<bool>(::FLAC__metadata_object_picture_set_description(object_, const_cast<FLAC__byte*>(string), /*copy=*/true));
}
void Picture::set_width(FLAC__uint32 value) const
@@ -1135,7 +1285,13 @@ namespace FLAC {
{
FLAC__ASSERT(is_valid());
// We can safely const_cast since copy=true
- return (bool)::FLAC__metadata_object_picture_set_data(object_, const_cast<FLAC__byte*>(data), data_length, /*copy=*/true);
+ return static_cast<bool>(::FLAC__metadata_object_picture_set_data(object_, const_cast<FLAC__byte*>(data), data_length, /*copy=*/true));
+ }
+
+ bool Picture::is_legal(const char **violation)
+ {
+ FLAC__ASSERT(is_valid());
+ return static_cast<bool>(::FLAC__metadata_object_picture_is_legal(object_, violation));
}
@@ -1156,16 +1312,16 @@ namespace FLAC {
return object_->data.application.data;
}
- bool Unknown::set_data(const FLAC__byte *data, unsigned length)
+ bool Unknown::set_data(const FLAC__byte *data, uint32_t length)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_object_application_set_data(object_, (FLAC__byte*)data, length, true);
+ return static_cast<bool>(::FLAC__metadata_object_application_set_data(object_, const_cast<FLAC__byte*>(data), length, true));
}
- bool Unknown::set_data(FLAC__byte *data, unsigned length, bool copy)
+ bool Unknown::set_data(FLAC__byte *data, uint32_t length, bool copy)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_object_application_set_data(object_, data, length, copy);
+ return static_cast<bool>(::FLAC__metadata_object_application_set_data(object_, data, length, copy));
}
@@ -1249,7 +1405,7 @@ namespace FLAC {
return false;
}
- FLACPP_API bool get_picture(const char *filename, Picture *&picture, ::FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, unsigned max_width, unsigned max_height, unsigned max_depth, unsigned max_colors)
+ FLACPP_API bool get_picture(const char *filename, Picture *&picture, ::FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, uint32_t max_width, uint32_t max_height, uint32_t max_depth, uint32_t max_colors)
{
FLAC__ASSERT(0 != filename);
@@ -1265,7 +1421,7 @@ namespace FLAC {
return false;
}
- FLACPP_API bool get_picture(const char *filename, Picture &picture, ::FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, unsigned max_width, unsigned max_height, unsigned max_depth, unsigned max_colors)
+ FLACPP_API bool get_picture(const char *filename, Picture &picture, ::FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, uint32_t max_width, uint32_t max_height, uint32_t max_depth, uint32_t max_colors)
{
FLAC__ASSERT(0 != filename);
@@ -1306,7 +1462,7 @@ namespace FLAC {
{
FLAC__ASSERT(0 != filename);
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_simple_iterator_init(iterator_, filename, read_only, preserve_file_stats);
+ return static_cast<bool>(::FLAC__metadata_simple_iterator_init(iterator_, filename, read_only, preserve_file_stats));
}
bool SimpleIterator::is_valid() const
@@ -1323,26 +1479,26 @@ namespace FLAC {
bool SimpleIterator::is_writable() const
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_simple_iterator_is_writable(iterator_);
+ return static_cast<bool>(::FLAC__metadata_simple_iterator_is_writable(iterator_));
}
bool SimpleIterator::next()
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_simple_iterator_next(iterator_);
+ return static_cast<bool>(::FLAC__metadata_simple_iterator_next(iterator_));
}
bool SimpleIterator::prev()
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_simple_iterator_prev(iterator_);
+ return static_cast<bool>(::FLAC__metadata_simple_iterator_prev(iterator_));
}
//@@@@ add to tests
bool SimpleIterator::is_last() const
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_simple_iterator_is_last(iterator_);
+ return static_cast<bool>(::FLAC__metadata_simple_iterator_is_last(iterator_));
}
//@@@@ add to tests
@@ -1359,7 +1515,7 @@ namespace FLAC {
}
//@@@@ add to tests
- unsigned SimpleIterator::get_block_length() const
+ uint32_t SimpleIterator::get_block_length() const
{
FLAC__ASSERT(is_valid());
return ::FLAC__metadata_simple_iterator_get_block_length(iterator_);
@@ -1369,7 +1525,7 @@ namespace FLAC {
bool SimpleIterator::get_application_id(FLAC__byte *id)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_simple_iterator_get_application_id(iterator_, id);
+ return static_cast<bool>(::FLAC__metadata_simple_iterator_get_application_id(iterator_, id));
}
Prototype *SimpleIterator::get_block()
@@ -1382,20 +1538,20 @@ namespace FLAC {
{
FLAC__ASSERT(0 != block);
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_simple_iterator_set_block(iterator_, block->object_, use_padding);
+ return static_cast<bool>(::FLAC__metadata_simple_iterator_set_block(iterator_, block->object_, use_padding));
}
bool SimpleIterator::insert_block_after(Prototype *block, bool use_padding)
{
FLAC__ASSERT(0 != block);
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_simple_iterator_insert_block_after(iterator_, block->object_, use_padding);
+ return static_cast<bool>(::FLAC__metadata_simple_iterator_insert_block_after(iterator_, block->object_, use_padding));
}
bool SimpleIterator::delete_block(bool use_padding)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_simple_iterator_delete_block(iterator_, use_padding);
+ return static_cast<bool>(::FLAC__metadata_simple_iterator_delete_block(iterator_, use_padding));
}
@@ -1437,8 +1593,8 @@ namespace FLAC {
FLAC__ASSERT(0 != filename);
FLAC__ASSERT(is_valid());
return is_ogg?
- (bool)::FLAC__metadata_chain_read_ogg(chain_, filename) :
- (bool)::FLAC__metadata_chain_read(chain_, filename)
+ static_cast<bool>(::FLAC__metadata_chain_read_ogg(chain_, filename)) :
+ static_cast<bool>(::FLAC__metadata_chain_read(chain_, filename))
;
}
@@ -1446,33 +1602,33 @@ namespace FLAC {
{
FLAC__ASSERT(is_valid());
return is_ogg?
- (bool)::FLAC__metadata_chain_read_ogg_with_callbacks(chain_, handle, callbacks) :
- (bool)::FLAC__metadata_chain_read_with_callbacks(chain_, handle, callbacks)
+ static_cast<bool>(::FLAC__metadata_chain_read_ogg_with_callbacks(chain_, handle, callbacks)) :
+ static_cast<bool>(::FLAC__metadata_chain_read_with_callbacks(chain_, handle, callbacks))
;
}
bool Chain::check_if_tempfile_needed(bool use_padding)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_chain_check_if_tempfile_needed(chain_, use_padding);
+ return static_cast<bool>(::FLAC__metadata_chain_check_if_tempfile_needed(chain_, use_padding));
}
bool Chain::write(bool use_padding, bool preserve_file_stats)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_chain_write(chain_, use_padding, preserve_file_stats);
+ return static_cast<bool>(::FLAC__metadata_chain_write(chain_, use_padding, preserve_file_stats));
}
bool Chain::write(bool use_padding, ::FLAC__IOHandle handle, ::FLAC__IOCallbacks callbacks)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_chain_write_with_callbacks(chain_, use_padding, handle, callbacks);
+ return static_cast<bool>(::FLAC__metadata_chain_write_with_callbacks(chain_, use_padding, handle, callbacks));
}
bool Chain::write(bool use_padding, ::FLAC__IOHandle handle, ::FLAC__IOCallbacks callbacks, ::FLAC__IOHandle temp_handle, ::FLAC__IOCallbacks temp_callbacks)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_chain_write_with_callbacks_and_tempfile(chain_, use_padding, handle, callbacks, temp_handle, temp_callbacks);
+ return static_cast<bool>(::FLAC__metadata_chain_write_with_callbacks_and_tempfile(chain_, use_padding, handle, callbacks, temp_handle, temp_callbacks));
}
void Chain::merge_padding()
@@ -1519,13 +1675,13 @@ namespace FLAC {
bool Iterator::next()
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_iterator_next(iterator_);
+ return static_cast<bool>(::FLAC__metadata_iterator_next(iterator_));
}
bool Iterator::prev()
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_iterator_prev(iterator_);
+ return static_cast<bool>(::FLAC__metadata_iterator_prev(iterator_));
}
::FLAC__MetadataType Iterator::get_block_type() const
@@ -1547,7 +1703,7 @@ namespace FLAC {
{
FLAC__ASSERT(0 != block);
FLAC__ASSERT(is_valid());
- bool ret = (bool)::FLAC__metadata_iterator_set_block(iterator_, block->object_);
+ bool ret = static_cast<bool>(::FLAC__metadata_iterator_set_block(iterator_, block->object_));
if(ret) {
block->set_reference(true);
delete block;
@@ -1558,14 +1714,14 @@ namespace FLAC {
bool Iterator::delete_block(bool replace_with_padding)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__metadata_iterator_delete_block(iterator_, replace_with_padding);
+ return static_cast<bool>(::FLAC__metadata_iterator_delete_block(iterator_, replace_with_padding));
}
bool Iterator::insert_block_before(Prototype *block)
{
FLAC__ASSERT(0 != block);
FLAC__ASSERT(is_valid());
- bool ret = (bool)::FLAC__metadata_iterator_insert_block_before(iterator_, block->object_);
+ bool ret = static_cast<bool>(::FLAC__metadata_iterator_insert_block_before(iterator_, block->object_));
if(ret) {
block->set_reference(true);
delete block;
@@ -1577,7 +1733,7 @@ namespace FLAC {
{
FLAC__ASSERT(0 != block);
FLAC__ASSERT(is_valid());
- bool ret = (bool)::FLAC__metadata_iterator_insert_block_after(iterator_, block->object_);
+ bool ret = static_cast<bool>(::FLAC__metadata_iterator_insert_block_after(iterator_, block->object_));
if(ret) {
block->set_reference(true);
delete block;
@@ -1585,5 +1741,5 @@ namespace FLAC {
return ret;
}
- }
-}
+ } // namespace Metadata
+} // namespace FLAC
diff --git a/3rdparty/libflac/src/libFLAC++/stream_decoder.cpp b/3rdparty/libflac/src/libFLAC++/stream_decoder.cpp
index fee69ba0de3..6e351d94b29 100644
--- a/3rdparty/libflac/src/libFLAC++/stream_decoder.cpp
+++ b/3rdparty/libflac/src/libFLAC++/stream_decoder.cpp
@@ -1,5 +1,6 @@
/* libFLAC++ - Free Lossless Audio Codec library
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -29,6 +30,10 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include "FLAC++/decoder.h"
#include "FLAC/assert.h"
@@ -66,49 +71,49 @@ namespace FLAC {
bool Stream::set_ogg_serial_number(long value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_decoder_set_ogg_serial_number(decoder_, value);
+ return static_cast<bool>(::FLAC__stream_decoder_set_ogg_serial_number(decoder_, value));
}
bool Stream::set_md5_checking(bool value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_decoder_set_md5_checking(decoder_, value);
+ return static_cast<bool>(::FLAC__stream_decoder_set_md5_checking(decoder_, value));
}
bool Stream::set_metadata_respond(::FLAC__MetadataType type)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_decoder_set_metadata_respond(decoder_, type);
+ return static_cast<bool>(::FLAC__stream_decoder_set_metadata_respond(decoder_, type));
}
bool Stream::set_metadata_respond_application(const FLAC__byte id[4])
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_decoder_set_metadata_respond_application(decoder_, id);
+ return static_cast<bool>(::FLAC__stream_decoder_set_metadata_respond_application(decoder_, id));
}
bool Stream::set_metadata_respond_all()
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_decoder_set_metadata_respond_all(decoder_);
+ return static_cast<bool>(::FLAC__stream_decoder_set_metadata_respond_all(decoder_));
}
bool Stream::set_metadata_ignore(::FLAC__MetadataType type)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_decoder_set_metadata_ignore(decoder_, type);
+ return static_cast<bool>(::FLAC__stream_decoder_set_metadata_ignore(decoder_, type));
}
bool Stream::set_metadata_ignore_application(const FLAC__byte id[4])
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_decoder_set_metadata_ignore_application(decoder_, id);
+ return static_cast<bool>(::FLAC__stream_decoder_set_metadata_ignore_application(decoder_, id));
}
bool Stream::set_metadata_ignore_all()
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_decoder_set_metadata_ignore_all(decoder_);
+ return static_cast<bool>(::FLAC__stream_decoder_set_metadata_ignore_all(decoder_));
}
Stream::State Stream::get_state() const
@@ -120,7 +125,7 @@ namespace FLAC {
bool Stream::get_md5_checking() const
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_decoder_get_md5_checking(decoder_);
+ return static_cast<bool>(::FLAC__stream_decoder_get_md5_checking(decoder_));
}
FLAC__uint64 Stream::get_total_samples() const
@@ -129,7 +134,7 @@ namespace FLAC {
return ::FLAC__stream_decoder_get_total_samples(decoder_);
}
- unsigned Stream::get_channels() const
+ uint32_t Stream::get_channels() const
{
FLAC__ASSERT(is_valid());
return ::FLAC__stream_decoder_get_channels(decoder_);
@@ -141,19 +146,19 @@ namespace FLAC {
return ::FLAC__stream_decoder_get_channel_assignment(decoder_);
}
- unsigned Stream::get_bits_per_sample() const
+ uint32_t Stream::get_bits_per_sample() const
{
FLAC__ASSERT(is_valid());
return ::FLAC__stream_decoder_get_bits_per_sample(decoder_);
}
- unsigned Stream::get_sample_rate() const
+ uint32_t Stream::get_sample_rate() const
{
FLAC__ASSERT(is_valid());
return ::FLAC__stream_decoder_get_sample_rate(decoder_);
}
- unsigned Stream::get_blocksize() const
+ uint32_t Stream::get_blocksize() const
{
FLAC__ASSERT(is_valid());
return ::FLAC__stream_decoder_get_blocksize(decoder_);
@@ -180,49 +185,49 @@ namespace FLAC {
bool Stream::finish()
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_decoder_finish(decoder_);
+ return static_cast<bool>(::FLAC__stream_decoder_finish(decoder_));
}
bool Stream::flush()
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_decoder_flush(decoder_);
+ return static_cast<bool>(::FLAC__stream_decoder_flush(decoder_));
}
bool Stream::reset()
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_decoder_reset(decoder_);
+ return static_cast<bool>(::FLAC__stream_decoder_reset(decoder_));
}
bool Stream::process_single()
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_decoder_process_single(decoder_);
+ return static_cast<bool>(::FLAC__stream_decoder_process_single(decoder_));
}
bool Stream::process_until_end_of_metadata()
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_decoder_process_until_end_of_metadata(decoder_);
+ return static_cast<bool>(::FLAC__stream_decoder_process_until_end_of_metadata(decoder_));
}
bool Stream::process_until_end_of_stream()
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_decoder_process_until_end_of_stream(decoder_);
+ return static_cast<bool>(::FLAC__stream_decoder_process_until_end_of_stream(decoder_));
}
bool Stream::skip_single_frame()
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_decoder_skip_single_frame(decoder_);
+ return static_cast<bool>(::FLAC__stream_decoder_skip_single_frame(decoder_));
}
bool Stream::seek_absolute(FLAC__uint64 sample)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_decoder_seek_absolute(decoder_, sample);
+ return static_cast<bool>(::FLAC__stream_decoder_seek_absolute(decoder_, sample));
}
::FLAC__StreamDecoderSeekStatus Stream::seek_callback(FLAC__uint64 absolute_byte_offset)
@@ -385,5 +390,5 @@ namespace FLAC {
return ::FLAC__STREAM_DECODER_READ_STATUS_ABORT; // double protection
}
- }
-}
+ } // namespace Decoder
+} // namespace FLAC
diff --git a/3rdparty/libflac/src/libFLAC++/stream_encoder.cpp b/3rdparty/libflac/src/libFLAC++/stream_encoder.cpp
index cf65f230661..837712948be 100644
--- a/3rdparty/libflac/src/libFLAC++/stream_encoder.cpp
+++ b/3rdparty/libflac/src/libFLAC++/stream_encoder.cpp
@@ -1,5 +1,6 @@
/* libFLAC++ - Free Lossless Audio Codec library
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -29,6 +30,10 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include "FLAC++/encoder.h"
#include "FLAC++/metadata.h"
#include "FLAC/assert.h"
@@ -67,152 +72,149 @@ namespace FLAC {
bool Stream::set_ogg_serial_number(long value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_ogg_serial_number(encoder_, value);
+ return static_cast<bool>(::FLAC__stream_encoder_set_ogg_serial_number(encoder_, value));
}
bool Stream::set_verify(bool value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_verify(encoder_, value);
+ return static_cast<bool>(::FLAC__stream_encoder_set_verify(encoder_, value));
}
bool Stream::set_streamable_subset(bool value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_streamable_subset(encoder_, value);
+ return static_cast<bool>(::FLAC__stream_encoder_set_streamable_subset(encoder_, value));
}
- bool Stream::set_channels(unsigned value)
+ bool Stream::set_channels(uint32_t value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_channels(encoder_, value);
+ return static_cast<bool>(::FLAC__stream_encoder_set_channels(encoder_, value));
}
- bool Stream::set_bits_per_sample(unsigned value)
+ bool Stream::set_bits_per_sample(uint32_t value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_bits_per_sample(encoder_, value);
+ return static_cast<bool>(::FLAC__stream_encoder_set_bits_per_sample(encoder_, value));
}
- bool Stream::set_sample_rate(unsigned value)
+ bool Stream::set_sample_rate(uint32_t value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_sample_rate(encoder_, value);
+ return static_cast<bool>(::FLAC__stream_encoder_set_sample_rate(encoder_, value));
}
- bool Stream::set_compression_level(unsigned value)
+ bool Stream::set_compression_level(uint32_t value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_compression_level(encoder_, value);
+ return static_cast<bool>(::FLAC__stream_encoder_set_compression_level(encoder_, value));
}
- bool Stream::set_blocksize(unsigned value)
+ bool Stream::set_blocksize(uint32_t value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_blocksize(encoder_, value);
+ return static_cast<bool>(::FLAC__stream_encoder_set_blocksize(encoder_, value));
}
bool Stream::set_do_mid_side_stereo(bool value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_do_mid_side_stereo(encoder_, value);
+ return static_cast<bool>(::FLAC__stream_encoder_set_do_mid_side_stereo(encoder_, value));
}
bool Stream::set_loose_mid_side_stereo(bool value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_loose_mid_side_stereo(encoder_, value);
+ return static_cast<bool>(::FLAC__stream_encoder_set_loose_mid_side_stereo(encoder_, value));
}
bool Stream::set_apodization(const char *specification)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_apodization(encoder_, specification);
+ return static_cast<bool>(::FLAC__stream_encoder_set_apodization(encoder_, specification));
}
- bool Stream::set_max_lpc_order(unsigned value)
+ bool Stream::set_max_lpc_order(uint32_t value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_max_lpc_order(encoder_, value);
+ return static_cast<bool>(::FLAC__stream_encoder_set_max_lpc_order(encoder_, value));
}
- bool Stream::set_qlp_coeff_precision(unsigned value)
+ bool Stream::set_qlp_coeff_precision(uint32_t value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_qlp_coeff_precision(encoder_, value);
+ return static_cast<bool>(::FLAC__stream_encoder_set_qlp_coeff_precision(encoder_, value));
}
bool Stream::set_do_qlp_coeff_prec_search(bool value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_do_qlp_coeff_prec_search(encoder_, value);
+ return static_cast<bool>(::FLAC__stream_encoder_set_do_qlp_coeff_prec_search(encoder_, value));
}
bool Stream::set_do_escape_coding(bool value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_do_escape_coding(encoder_, value);
+ return static_cast<bool>(::FLAC__stream_encoder_set_do_escape_coding(encoder_, value));
}
bool Stream::set_do_exhaustive_model_search(bool value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_do_exhaustive_model_search(encoder_, value);
+ return static_cast<bool>(::FLAC__stream_encoder_set_do_exhaustive_model_search(encoder_, value));
}
- bool Stream::set_min_residual_partition_order(unsigned value)
+ bool Stream::set_min_residual_partition_order(uint32_t value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_min_residual_partition_order(encoder_, value);
+ return static_cast<bool>(::FLAC__stream_encoder_set_min_residual_partition_order(encoder_, value));
}
- bool Stream::set_max_residual_partition_order(unsigned value)
+ bool Stream::set_max_residual_partition_order(uint32_t value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_max_residual_partition_order(encoder_, value);
+ return static_cast<bool>(::FLAC__stream_encoder_set_max_residual_partition_order(encoder_, value));
}
- bool Stream::set_rice_parameter_search_dist(unsigned value)
+ bool Stream::set_rice_parameter_search_dist(uint32_t value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_rice_parameter_search_dist(encoder_, value);
+ return static_cast<bool>(::FLAC__stream_encoder_set_rice_parameter_search_dist(encoder_, value));
}
bool Stream::set_total_samples_estimate(FLAC__uint64 value)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_total_samples_estimate(encoder_, value);
+ return static_cast<bool>(::FLAC__stream_encoder_set_total_samples_estimate(encoder_, value));
}
- bool Stream::set_metadata(::FLAC__StreamMetadata **metadata, unsigned num_blocks)
+ bool Stream::set_metadata(::FLAC__StreamMetadata **metadata, uint32_t num_blocks)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_set_metadata(encoder_, metadata, num_blocks);
+ return static_cast<bool>(::FLAC__stream_encoder_set_metadata(encoder_, metadata, num_blocks));
}
- bool Stream::set_metadata(FLAC::Metadata::Prototype **metadata, unsigned num_blocks)
+ bool Stream::set_metadata(FLAC::Metadata::Prototype **metadata, uint32_t num_blocks)
{
FLAC__ASSERT(is_valid());
-#if (defined _MSC_VER) || (defined __BORLANDC__) || (defined __SUNPRO_CC)
- // MSVC++ can't handle:
- // ::FLAC__StreamMetadata *m[num_blocks];
- // so we do this ugly workaround
+ // because C++ doesn't have VLA's (variable length arrays)
+ // this ugly workaround is needed
::FLAC__StreamMetadata **m = new ::FLAC__StreamMetadata*[num_blocks];
-#else
- ::FLAC__StreamMetadata *m[num_blocks];
-#endif
- for(unsigned i = 0; i < num_blocks; i++) {
+ for(uint32_t i = 0; i < num_blocks; i++) {
// we can get away with the const_cast since we know the encoder will only correct the is_last flags
- m[i] = const_cast< ::FLAC__StreamMetadata*>((const ::FLAC__StreamMetadata*)metadata[i]);
+ m[i] = const_cast< ::FLAC__StreamMetadata*>(static_cast<const ::FLAC__StreamMetadata*>(*metadata[i]));
}
-#if (defined _MSC_VER) || (defined __BORLANDC__) || (defined __SUNPRO_CC)
// complete the hack
- const bool ok = (bool)::FLAC__stream_encoder_set_metadata(encoder_, m, num_blocks);
+ const bool ok = static_cast<bool>(::FLAC__stream_encoder_set_metadata(encoder_, m, num_blocks));
delete [] m;
return ok;
-#else
- return (bool)::FLAC__stream_encoder_set_metadata(encoder_, m, num_blocks);
-#endif
+ }
+
+ bool Stream::set_limit_min_bitrate(bool value)
+ {
+ FLAC__ASSERT(is_valid());
+ return static_cast<bool>(::FLAC__stream_encoder_set_limit_min_bitrate(encoder_, value));
}
Stream::State Stream::get_state() const
@@ -227,7 +229,7 @@ namespace FLAC {
return Decoder::Stream::State(::FLAC__stream_encoder_get_verify_decoder_state(encoder_));
}
- void Stream::get_verify_decoder_error_stats(FLAC__uint64 *absolute_sample, unsigned *frame_number, unsigned *channel, unsigned *sample, FLAC__int32 *expected, FLAC__int32 *got)
+ void Stream::get_verify_decoder_error_stats(FLAC__uint64 *absolute_sample, uint32_t *frame_number, uint32_t *channel, uint32_t *sample, FLAC__int32 *expected, FLAC__int32 *got)
{
FLAC__ASSERT(is_valid());
::FLAC__stream_encoder_get_verify_decoder_error_stats(encoder_, absolute_sample, frame_number, channel, sample, expected, got);
@@ -236,58 +238,58 @@ namespace FLAC {
bool Stream::get_verify() const
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_get_verify(encoder_);
+ return static_cast<bool>(::FLAC__stream_encoder_get_verify(encoder_));
}
bool Stream::get_streamable_subset() const
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_get_streamable_subset(encoder_);
+ return static_cast<bool>(::FLAC__stream_encoder_get_streamable_subset(encoder_));
}
bool Stream::get_do_mid_side_stereo() const
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_get_do_mid_side_stereo(encoder_);
+ return static_cast<bool>(::FLAC__stream_encoder_get_do_mid_side_stereo(encoder_));
}
bool Stream::get_loose_mid_side_stereo() const
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_get_loose_mid_side_stereo(encoder_);
+ return static_cast<bool>(::FLAC__stream_encoder_get_loose_mid_side_stereo(encoder_));
}
- unsigned Stream::get_channels() const
+ uint32_t Stream::get_channels() const
{
FLAC__ASSERT(is_valid());
return ::FLAC__stream_encoder_get_channels(encoder_);
}
- unsigned Stream::get_bits_per_sample() const
+ uint32_t Stream::get_bits_per_sample() const
{
FLAC__ASSERT(is_valid());
return ::FLAC__stream_encoder_get_bits_per_sample(encoder_);
}
- unsigned Stream::get_sample_rate() const
+ uint32_t Stream::get_sample_rate() const
{
FLAC__ASSERT(is_valid());
return ::FLAC__stream_encoder_get_sample_rate(encoder_);
}
- unsigned Stream::get_blocksize() const
+ uint32_t Stream::get_blocksize() const
{
FLAC__ASSERT(is_valid());
return ::FLAC__stream_encoder_get_blocksize(encoder_);
}
- unsigned Stream::get_max_lpc_order() const
+ uint32_t Stream::get_max_lpc_order() const
{
FLAC__ASSERT(is_valid());
return ::FLAC__stream_encoder_get_max_lpc_order(encoder_);
}
- unsigned Stream::get_qlp_coeff_precision() const
+ uint32_t Stream::get_qlp_coeff_precision() const
{
FLAC__ASSERT(is_valid());
return ::FLAC__stream_encoder_get_qlp_coeff_precision(encoder_);
@@ -296,34 +298,34 @@ namespace FLAC {
bool Stream::get_do_qlp_coeff_prec_search() const
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_get_do_qlp_coeff_prec_search(encoder_);
+ return static_cast<bool>(::FLAC__stream_encoder_get_do_qlp_coeff_prec_search(encoder_));
}
bool Stream::get_do_escape_coding() const
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_get_do_escape_coding(encoder_);
+ return static_cast<bool>(::FLAC__stream_encoder_get_do_escape_coding(encoder_));
}
bool Stream::get_do_exhaustive_model_search() const
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_get_do_exhaustive_model_search(encoder_);
+ return static_cast<bool>(::FLAC__stream_encoder_get_do_exhaustive_model_search(encoder_));
}
- unsigned Stream::get_min_residual_partition_order() const
+ uint32_t Stream::get_min_residual_partition_order() const
{
FLAC__ASSERT(is_valid());
return ::FLAC__stream_encoder_get_min_residual_partition_order(encoder_);
}
- unsigned Stream::get_max_residual_partition_order() const
+ uint32_t Stream::get_max_residual_partition_order() const
{
FLAC__ASSERT(is_valid());
return ::FLAC__stream_encoder_get_max_residual_partition_order(encoder_);
}
- unsigned Stream::get_rice_parameter_search_dist() const
+ uint32_t Stream::get_rice_parameter_search_dist() const
{
FLAC__ASSERT(is_valid());
return ::FLAC__stream_encoder_get_rice_parameter_search_dist(encoder_);
@@ -335,6 +337,12 @@ namespace FLAC {
return ::FLAC__stream_encoder_get_total_samples_estimate(encoder_);
}
+ bool Stream::get_limit_min_bitrate() const
+ {
+ FLAC__ASSERT(is_valid());
+ return static_cast<bool>(::FLAC__stream_encoder_get_limit_min_bitrate(encoder_));
+ }
+
::FLAC__StreamEncoderInitStatus Stream::init()
{
FLAC__ASSERT(is_valid());
@@ -350,19 +358,19 @@ namespace FLAC {
bool Stream::finish()
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_finish(encoder_);
+ return static_cast<bool>(::FLAC__stream_encoder_finish(encoder_));
}
- bool Stream::process(const FLAC__int32 * const buffer[], unsigned samples)
+ bool Stream::process(const FLAC__int32 * const buffer[], uint32_t samples)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_process(encoder_, buffer, samples);
+ return static_cast<bool>(::FLAC__stream_encoder_process(encoder_, buffer, samples));
}
- bool Stream::process_interleaved(const FLAC__int32 buffer[], unsigned samples)
+ bool Stream::process_interleaved(const FLAC__int32 buffer[], uint32_t samples)
{
FLAC__ASSERT(is_valid());
- return (bool)::FLAC__stream_encoder_process_interleaved(encoder_, buffer, samples);
+ return static_cast<bool>(::FLAC__stream_encoder_process_interleaved(encoder_, buffer, samples));
}
::FLAC__StreamEncoderReadStatus Stream::read_callback(FLAC__byte buffer[], size_t *bytes)
@@ -397,7 +405,7 @@ namespace FLAC {
return instance->read_callback(buffer, bytes);
}
- ::FLAC__StreamEncoderWriteStatus Stream::write_callback_(const ::FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data)
+ ::FLAC__StreamEncoderWriteStatus Stream::write_callback_(const ::FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame, void *client_data)
{
(void)encoder;
FLAC__ASSERT(0 != client_data);
@@ -486,19 +494,19 @@ namespace FLAC {
// with FLAC__stream_decoder_init_FILE() or
// FLAC__stream_decoder_init_file() and those supply the read
// callback internally.
- ::FLAC__StreamEncoderWriteStatus File::write_callback(const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame)
+ ::FLAC__StreamEncoderWriteStatus File::write_callback(const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame)
{
(void)buffer, (void)bytes, (void)samples, (void)current_frame;
FLAC__ASSERT(false);
return ::FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR; // double protection
}
- void File::progress_callback(FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate)
+ void File::progress_callback(FLAC__uint64 bytes_written, FLAC__uint64 samples_written, uint32_t frames_written, uint32_t total_frames_estimate)
{
(void)bytes_written, (void)samples_written, (void)frames_written, (void)total_frames_estimate;
}
- void File::progress_callback_(const ::FLAC__StreamEncoder *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate, void *client_data)
+ void File::progress_callback_(const ::FLAC__StreamEncoder *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, uint32_t frames_written, uint32_t total_frames_estimate, void *client_data)
{
(void)encoder;
FLAC__ASSERT(0 != client_data);
@@ -507,5 +515,5 @@ namespace FLAC {
instance->progress_callback(bytes_written, samples_written, frames_written, total_frames_estimate);
}
- }
-}
+ } // namespace Encoder
+} // namespace FLAC
diff --git a/3rdparty/libflac/src/libFLAC++/version.rc b/3rdparty/libflac/src/libFLAC++/version.rc
new file mode 100644
index 00000000000..14efba068a2
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC++/version.rc
@@ -0,0 +1,40 @@
+#include <winver.h>
+#include "config.h"
+#include "FLAC++/export.h"
+
+#if (defined GIT_COMMIT_HASH && defined GIT_COMMIT_DATE)
+# ifdef GIT_COMMIT_TAG
+# define VERSIONSTRING GIT_COMMIT_TAG
+# else
+# define VERSIONSTRING "git-" GIT_COMMIT_HASH
+# endif
+#else
+# define VERSIONSTRING PACKAGE_VERSION
+#endif
+
+#define xstr(s) str(s)
+#define str(s) #s
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION FLACPP_API_VERSION_CURRENT,FLACPP_API_VERSION_REVISION,0,0
+FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
+FILEFLAGS 0
+FILEOS VOS__WINDOWS32
+FILETYPE VFT_DLL
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "FileDescription", "libFLAC++ for Windows"
+ VALUE "ProductName", "Free Lossless Audio Codec"
+ VALUE "ProductVersion", VERSIONSTRING
+ VALUE "CompanyName", "Xiph.Org"
+ VALUE "LegalCopyright", "2000-2009 Josh Coalson, 2011-2023 Xiph.Org Foundation"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
diff --git a/3rdparty/libflac/src/libFLAC/CMakeLists.txt b/3rdparty/libflac/src/libFLAC/CMakeLists.txt
new file mode 100644
index 00000000000..cf7368f60c2
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC/CMakeLists.txt
@@ -0,0 +1,126 @@
+option(WITH_ASM "Use any assembly optimization routines" ON)
+
+check_include_file("cpuid.h" HAVE_CPUID_H)
+check_include_file("sys/param.h" HAVE_SYS_PARAM_H)
+
+set(CMAKE_REQUIRED_LIBRARIES m)
+check_function_exists(lround HAVE_LROUND)
+
+include(CheckCSourceCompiles)
+include(CheckCPUArch)
+include(CheckA64NEON)
+
+check_cpu_arch_x64(FLAC__CPU_X86_64)
+if(NOT FLAC__CPU_X86_64)
+ check_cpu_arch_x86(FLAC__CPU_IA32)
+endif()
+
+if(FLAC__CPU_X86_64 OR FLAC__CPU_IA32)
+ set(FLAC__ALIGN_MALLOC_DATA 1)
+ option(WITH_AVX "Enable AVX, AVX2 optimizations (with runtime detection, resulting binary does not require AVX2, so only necessary when a compiler doesn't know about AVX)" ON)
+ if(WITH_AVX AND MSVC)
+ set_source_files_properties(fixed_intrin_avx2.c lpc_intrin_avx2.c stream_encoder_intrin_avx2.c lpc_intrin_fma.c PROPERTIES COMPILE_FLAGS /arch:AVX2)
+ endif()
+else()
+ check_cpu_arch_arm64(FLAC__CPU_ARM64)
+ if(FLAC__CPU_ARM64)
+ check_a64neon(FLAC__HAS_A64NEONINTRIN)
+ endif()
+endif()
+
+if(NOT WITH_ASM)
+ add_definitions(-DFLAC__NO_ASM)
+endif()
+
+include_directories("include")
+
+add_library(FLAC
+ bitmath.c
+ bitreader.c
+ bitwriter.c
+ cpu.c
+ crc.c
+ fixed.c
+ fixed_intrin_sse2.c
+ fixed_intrin_ssse3.c
+ fixed_intrin_sse42.c
+ fixed_intrin_avx2.c
+ float.c
+ format.c
+ lpc.c
+ lpc_intrin_neon.c
+ lpc_intrin_sse2.c
+ lpc_intrin_sse41.c
+ lpc_intrin_avx2.c
+ lpc_intrin_fma.c
+ md5.c
+ memory.c
+ metadata_iterators.c
+ metadata_object.c
+ stream_decoder.c
+ stream_encoder.c
+ stream_encoder_intrin_sse2.c
+ stream_encoder_intrin_ssse3.c
+ stream_encoder_intrin_avx2.c
+ stream_encoder_framing.c
+ version.rc
+ window.c
+ $<$<BOOL:${WIN32}>:../../include/share/win_utf8_io.h>
+ $<$<BOOL:${WIN32}>:../share/win_utf8_io/win_utf8_io.c>
+ $<$<BOOL:${OGG_FOUND}>:ogg_decoder_aspect.c>
+ $<$<BOOL:${OGG_FOUND}>:ogg_encoder_aspect.c>
+ $<$<BOOL:${OGG_FOUND}>:ogg_helper.c>
+ $<$<BOOL:${OGG_FOUND}>:ogg_mapping.c>)
+set_property(TARGET FLAC PROPERTY PROJECT_LABEL "libFLAC")
+if(TARGET FLAC-asm)
+ target_sources(FLAC PRIVATE $<TARGET_OBJECTS:FLAC-asm>)
+endif()
+
+target_compile_definitions(FLAC
+ PRIVATE $<$<BOOL:${BUILD_SHARED_LIBS}>:FLAC_API_EXPORTS>
+ PUBLIC $<$<NOT:$<BOOL:${BUILD_SHARED_LIBS}>>:FLAC__NO_DLL>)
+if(NOT WIN32)
+ target_compile_definitions(FLAC PRIVATE $<$<BOOL:${BUILD_SHARED_LIBS}>:FLAC__USE_VISIBILITY_ATTR>)
+endif()
+target_include_directories(FLAC INTERFACE
+ "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
+target_link_libraries(FLAC PUBLIC $<$<BOOL:${HAVE_LROUND}>:m>)
+if(TARGET Ogg::ogg)
+ target_link_libraries(FLAC PUBLIC Ogg::ogg)
+endif()
+if(BUILD_SHARED_LIBS)
+ set_target_properties(FLAC PROPERTIES
+ VERSION 12.1.0
+ SOVERSION 12)
+ if(NOT WIN32)
+ set_target_properties(FLAC PROPERTIES C_VISIBILITY_PRESET hidden)
+ endif()
+endif()
+
+check_c_compiler_flag("-fassociative-math -fno-signed-zeros -fno-trapping-math -freciprocal-math" HAVE_ASSOC_MATH)
+
+if(MSVC)
+ target_compile_options(FLAC BEFORE PRIVATE "/fp:fast")
+else()
+ if(HAVE_ASSOC_MATH)
+ target_compile_options(FLAC BEFORE PRIVATE -fassociative-math -fno-signed-zeros -fno-trapping-math -freciprocal-math)
+ endif()
+endif()
+
+add_library(FLAC::FLAC ALIAS FLAC)
+
+install(TARGETS FLAC EXPORT targets
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}/"
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/"
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}/")
+
+if(INSTALL_PKGCONFIG_MODULES)
+ set(prefix "${CMAKE_INSTALL_PREFIX}")
+ set(exec_prefix "${CMAKE_INSTALL_PREFIX}")
+ set(libdir "${CMAKE_INSTALL_FULL_LIBDIR}")
+ set(includedir "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
+ configure_file(flac.pc.in flac.pc @ONLY)
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/flac.pc"
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+endif()
diff --git a/3rdparty/libflac/src/libFLAC/Makefile.am b/3rdparty/libflac/src/libFLAC/Makefile.am
index cbfb0acbb4d..618939dfc33 100644
--- a/3rdparty/libflac/src/libFLAC/Makefile.am
+++ b/3rdparty/libflac/src/libFLAC/Makefile.am
@@ -1,5 +1,6 @@
# libFLAC - Free Lossless Audio Codec library
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -28,50 +29,22 @@
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
lib_LTLIBRARIES = libFLAC.la
+noinst_LTLIBRARIES = libFLAC-static.la
if DEBUG
DEBUGCFLAGS = -DFLAC__OVERFLOW_DETECT
-endif
-if FLaC__CPU_PPC
-# The -force_cpusubtype_ALL is needed to insert a ppc64 instruction
-# into cpu.c with an asm().
-if FLaC__SYS_DARWIN
-#@@@ PPC optimizations temporarily disabled
-CPUCFLAGS = -faltivec -force_cpusubtype_ALL -DFLAC__NO_ASM
else
-# Linux-gcc for PPC does not have -force_cpusubtype_ALL, it is Darwin-specific
-#@@@ PPC optimizations temporarily disabled
-CPUCFLAGS = -maltivec -mabi=altivec -DFLAC__NO_ASM
+if ASSOC_MATH_AVAILABLE
+ASSOCMATHCFLAGS = -fassociative-math -fno-signed-zeros -fno-trapping-math -freciprocal-math
endif
endif
-AM_CFLAGS = $(DEBUGCFLAGS) $(CPUCFLAGS) @OGG_CFLAGS@
-
-if FLaC__NO_ASM
-else
-if FLaC__CPU_IA32
-if FLaC__HAS_NASM
-ARCH_SUBDIRS = ia32
-LOCAL_EXTRA_LIBADD = ia32/libFLAC-asm.la
-endif
-endif
-if FLaC__CPU_PPC
-ARCH_SUBDIRS = ppc
-if FLaC__HAS_AS__TEMPORARILY_DISABLED
-LOCAL_EXTRA_LIBADD = ppc/as/libFLAC-asm.la
-LOCAL_EXTRA_LDFLAGS = "-Wl,-read_only_relocs,warning"
-else
-if FLaC__HAS_GAS__TEMPORARILY_DISABLED
-LOCAL_EXTRA_LIBADD = ppc/gas/libFLAC-asm.la
-LOCAL_EXTRA_LDFLAGS = ""
-endif
-endif
-endif
-endif
+AM_CFLAGS = $(DEBUGCFLAGS) ${ASSOCMATHCFLAGS} @OGG_CFLAGS@
-libFLAC_la_LIBADD = $(LOCAL_EXTRA_LIBADD) @OGG_LIBS@
+libFLAC_la_LIBADD = @OGG_LIBS@ -lm
-SUBDIRS = $(ARCH_SUBDIRS) include .
+SUBDIRS = include .
m4datadir = $(datadir)/aclocal
m4data_DATA = libFLAC.m4
@@ -80,13 +53,22 @@ pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = flac.pc
EXTRA_DIST = \
- Makefile.lite \
+ CMakeLists.txt \
flac.pc.in \
- libFLAC_dynamic.dsp \
- libFLAC_dynamic.vcproj \
- libFLAC_static.dsp \
- libFLAC_static.vcproj \
- libFLAC.m4
+ libFLAC.m4 \
+ version.rc \
+ deduplication/bitreader_read_rice_signed_block.c \
+ deduplication/lpc_compute_autocorrelation_intrin.c \
+ deduplication/lpc_compute_autocorrelation_intrin_sse2.c \
+ deduplication/lpc_compute_autocorrelation_intrin_neon.c
+
+if OS_IS_WINDOWS
+windows_unicode_compat = ../share/win_utf8_io/win_utf8_io.c
+if HAVE_WINDRES
+libFLAC_la_DEPENDENCIES = version.o
+windows_resource_link = -Wl,version.o
+endif
+endif
if FLaC__HAS_OGG
extra_ogg_sources = \
@@ -95,24 +77,47 @@ extra_ogg_sources = \
ogg_helper.c \
ogg_mapping.c
endif
-# see 'http://www.gnu.org/software/libtool/manual.html#Libtool-versioning' for numbering convention
-libFLAC_la_LDFLAGS = -version-info 10:0:2 -lm $(LOCAL_EXTRA_LDFLAGS)
-libFLAC_la_SOURCES = \
+
+# see 'http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning' for numbering convention
+libFLAC_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined -version-info 13:0:1 $(windows_resource_link)
+
+libFLAC_sources = \
bitmath.c \
bitreader.c \
bitwriter.c \
cpu.c \
crc.c \
fixed.c \
+ fixed_intrin_sse2.c \
+ fixed_intrin_ssse3.c \
+ fixed_intrin_sse42.c \
+ fixed_intrin_avx2.c \
float.c \
format.c \
lpc.c \
+ lpc_intrin_sse2.c \
+ lpc_intrin_sse41.c \
+ lpc_intrin_avx2.c \
+ lpc_intrin_fma.c \
+ lpc_intrin_neon.c \
md5.c \
memory.c \
metadata_iterators.c \
metadata_object.c \
stream_decoder.c \
stream_encoder.c \
+ stream_encoder_intrin_sse2.c \
+ stream_encoder_intrin_ssse3.c \
+ stream_encoder_intrin_avx2.c \
stream_encoder_framing.c \
window.c \
+ $(windows_unicode_compat) \
$(extra_ogg_sources)
+
+libFLAC_la_SOURCES = $(libFLAC_sources)
+
+# needed for test_libFLAC
+libFLAC_static_la_SOURCES = $(libFLAC_sources)
+
+.rc.o:
+ $(RC) $(AM_CPPFLAGS) $< $@
diff --git a/3rdparty/libflac/src/libFLAC/Makefile.in b/3rdparty/libflac/src/libFLAC/Makefile.in
index 75bfbbb215c..47af88812ed 100644
--- a/3rdparty/libflac/src/libFLAC/Makefile.in
+++ b/3rdparty/libflac/src/libFLAC/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,8 @@
@SET_MAKE@
# libFLAC - Free Lossless Audio Codec library
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -44,16 +45,68 @@
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
+
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -65,12 +118,245 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+@HAVE_WINDRES_FALSE@libFLAC_la_DEPENDENCIES =
+@OS_IS_WINDOWS_FALSE@libFLAC_la_DEPENDENCIES =
+subdir = src/libFLAC
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES = flac.pc
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(m4datadir)" \
+ "$(DESTDIR)$(pkgconfigdir)"
+LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
+libFLAC_static_la_LIBADD =
+am__libFLAC_static_la_SOURCES_DIST = bitmath.c bitreader.c bitwriter.c \
+ cpu.c crc.c fixed.c fixed_intrin_sse2.c fixed_intrin_ssse3.c \
+ fixed_intrin_sse42.c fixed_intrin_avx2.c float.c format.c \
+ lpc.c lpc_intrin_sse2.c lpc_intrin_sse41.c lpc_intrin_avx2.c \
+ lpc_intrin_fma.c lpc_intrin_neon.c md5.c memory.c \
+ metadata_iterators.c metadata_object.c stream_decoder.c \
+ stream_encoder.c stream_encoder_intrin_sse2.c \
+ stream_encoder_intrin_ssse3.c stream_encoder_intrin_avx2.c \
+ stream_encoder_framing.c window.c \
+ ../share/win_utf8_io/win_utf8_io.c ogg_decoder_aspect.c \
+ ogg_encoder_aspect.c ogg_helper.c ogg_mapping.c
+am__dirstamp = $(am__leading_dot)dirstamp
+@OS_IS_WINDOWS_TRUE@am__objects_1 = \
+@OS_IS_WINDOWS_TRUE@ ../share/win_utf8_io/win_utf8_io.lo
+@FLaC__HAS_OGG_TRUE@am__objects_2 = ogg_decoder_aspect.lo \
+@FLaC__HAS_OGG_TRUE@ ogg_encoder_aspect.lo ogg_helper.lo \
+@FLaC__HAS_OGG_TRUE@ ogg_mapping.lo
+am__objects_3 = bitmath.lo bitreader.lo bitwriter.lo cpu.lo crc.lo \
+ fixed.lo fixed_intrin_sse2.lo fixed_intrin_ssse3.lo \
+ fixed_intrin_sse42.lo fixed_intrin_avx2.lo float.lo format.lo \
+ lpc.lo lpc_intrin_sse2.lo lpc_intrin_sse41.lo \
+ lpc_intrin_avx2.lo lpc_intrin_fma.lo lpc_intrin_neon.lo md5.lo \
+ memory.lo metadata_iterators.lo metadata_object.lo \
+ stream_decoder.lo stream_encoder.lo \
+ stream_encoder_intrin_sse2.lo stream_encoder_intrin_ssse3.lo \
+ stream_encoder_intrin_avx2.lo stream_encoder_framing.lo \
+ window.lo $(am__objects_1) $(am__objects_2)
+am_libFLAC_static_la_OBJECTS = $(am__objects_3)
+libFLAC_static_la_OBJECTS = $(am_libFLAC_static_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+am__libFLAC_la_SOURCES_DIST = bitmath.c bitreader.c bitwriter.c cpu.c \
+ crc.c fixed.c fixed_intrin_sse2.c fixed_intrin_ssse3.c \
+ fixed_intrin_sse42.c fixed_intrin_avx2.c float.c format.c \
+ lpc.c lpc_intrin_sse2.c lpc_intrin_sse41.c lpc_intrin_avx2.c \
+ lpc_intrin_fma.c lpc_intrin_neon.c md5.c memory.c \
+ metadata_iterators.c metadata_object.c stream_decoder.c \
+ stream_encoder.c stream_encoder_intrin_sse2.c \
+ stream_encoder_intrin_ssse3.c stream_encoder_intrin_avx2.c \
+ stream_encoder_framing.c window.c \
+ ../share/win_utf8_io/win_utf8_io.c ogg_decoder_aspect.c \
+ ogg_encoder_aspect.c ogg_helper.c ogg_mapping.c
+am_libFLAC_la_OBJECTS = $(am__objects_3)
+libFLAC_la_OBJECTS = $(am_libFLAC_la_OBJECTS)
+libFLAC_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(libFLAC_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ../share/win_utf8_io/$(DEPDIR)/win_utf8_io.Plo \
+ ./$(DEPDIR)/bitmath.Plo ./$(DEPDIR)/bitreader.Plo \
+ ./$(DEPDIR)/bitwriter.Plo ./$(DEPDIR)/cpu.Plo \
+ ./$(DEPDIR)/crc.Plo ./$(DEPDIR)/fixed.Plo \
+ ./$(DEPDIR)/fixed_intrin_avx2.Plo \
+ ./$(DEPDIR)/fixed_intrin_sse2.Plo \
+ ./$(DEPDIR)/fixed_intrin_sse42.Plo \
+ ./$(DEPDIR)/fixed_intrin_ssse3.Plo ./$(DEPDIR)/float.Plo \
+ ./$(DEPDIR)/format.Plo ./$(DEPDIR)/lpc.Plo \
+ ./$(DEPDIR)/lpc_intrin_avx2.Plo ./$(DEPDIR)/lpc_intrin_fma.Plo \
+ ./$(DEPDIR)/lpc_intrin_neon.Plo \
+ ./$(DEPDIR)/lpc_intrin_sse2.Plo \
+ ./$(DEPDIR)/lpc_intrin_sse41.Plo ./$(DEPDIR)/md5.Plo \
+ ./$(DEPDIR)/memory.Plo ./$(DEPDIR)/metadata_iterators.Plo \
+ ./$(DEPDIR)/metadata_object.Plo \
+ ./$(DEPDIR)/ogg_decoder_aspect.Plo \
+ ./$(DEPDIR)/ogg_encoder_aspect.Plo ./$(DEPDIR)/ogg_helper.Plo \
+ ./$(DEPDIR)/ogg_mapping.Plo ./$(DEPDIR)/stream_decoder.Plo \
+ ./$(DEPDIR)/stream_encoder.Plo \
+ ./$(DEPDIR)/stream_encoder_framing.Plo \
+ ./$(DEPDIR)/stream_encoder_intrin_avx2.Plo \
+ ./$(DEPDIR)/stream_encoder_intrin_sse2.Plo \
+ ./$(DEPDIR)/stream_encoder_intrin_ssse3.Plo \
+ ./$(DEPDIR)/window.Plo
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(libFLAC_static_la_SOURCES) $(libFLAC_la_SOURCES)
+DIST_SOURCES = $(am__libFLAC_static_la_SOURCES_DIST) \
+ $(am__libFLAC_la_SOURCES_DIST)
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+DATA = $(m4data_DATA) $(pkgconfig_DATA)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/flac.pc.in \
+ $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -79,533 +365,453 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
lib_LTLIBRARIES = libFLAC.la
+noinst_LTLIBRARIES = libFLAC-static.la
@DEBUG_TRUE@DEBUGCFLAGS = -DFLAC__OVERFLOW_DETECT
-# The -force_cpusubtype_ALL is needed to insert a ppc64 instruction
-# into cpu.c with an asm().
-#@@@ PPC optimizations temporarily disabled
-@FLaC__CPU_PPC_TRUE@@FLaC__SYS_DARWIN_TRUE@CPUCFLAGS = -faltivec -force_cpusubtype_ALL -DFLAC__NO_ASM
-# Linux-gcc for PPC does not have -force_cpusubtype_ALL, it is Darwin-specific
-#@@@ PPC optimizations temporarily disabled
-@FLaC__CPU_PPC_TRUE@@FLaC__SYS_DARWIN_FALSE@CPUCFLAGS = -maltivec -mabi=altivec -DFLAC__NO_ASM
-
-AM_CFLAGS = $(DEBUGCFLAGS) $(CPUCFLAGS) @OGG_CFLAGS@
-@FLaC__CPU_PPC_TRUE@@FLaC__NO_ASM_FALSE@ARCH_SUBDIRS = ppc
-
-@FLaC__CPU_IA32_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@ARCH_SUBDIRS = ia32
-@FLaC__CPU_IA32_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@LOCAL_EXTRA_LIBADD = ia32/libFLAC-asm.la
-@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__NO_ASM_FALSE@LOCAL_EXTRA_LIBADD = ppc/as/libFLAC-asm.la
-@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__NO_ASM_FALSE@LOCAL_EXTRA_LIBADD = ppc/gas/libFLAC-asm.la
-@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__NO_ASM_FALSE@LOCAL_EXTRA_LDFLAGS = "-Wl,-read_only_relocs,warning"
-@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__NO_ASM_FALSE@LOCAL_EXTRA_LDFLAGS = ""
-
-libFLAC_la_LIBADD = $(LOCAL_EXTRA_LIBADD) @OGG_LIBS@
-
-SUBDIRS = $(ARCH_SUBDIRS) include .
-
+@ASSOC_MATH_AVAILABLE_TRUE@@DEBUG_FALSE@ASSOCMATHCFLAGS = -fassociative-math -fno-signed-zeros -fno-trapping-math -freciprocal-math
+AM_CFLAGS = $(DEBUGCFLAGS) ${ASSOCMATHCFLAGS} @OGG_CFLAGS@
+libFLAC_la_LIBADD = @OGG_LIBS@ -lm
+SUBDIRS = include .
m4datadir = $(datadir)/aclocal
m4data_DATA = libFLAC.m4
-
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = flac.pc
-
EXTRA_DIST = \
- Makefile.lite \
+ CMakeLists.txt \
flac.pc.in \
- libFLAC_dynamic.dsp \
- libFLAC_dynamic.vcproj \
- libFLAC_static.dsp \
- libFLAC_static.vcproj \
- libFLAC.m4
-
-
+ libFLAC.m4 \
+ version.rc \
+ deduplication/bitreader_read_rice_signed_block.c \
+ deduplication/lpc_compute_autocorrelation_intrin.c \
+ deduplication/lpc_compute_autocorrelation_intrin_sse2.c \
+ deduplication/lpc_compute_autocorrelation_intrin_neon.c
+
+@OS_IS_WINDOWS_TRUE@windows_unicode_compat = ../share/win_utf8_io/win_utf8_io.c
+@HAVE_WINDRES_TRUE@@OS_IS_WINDOWS_TRUE@libFLAC_la_DEPENDENCIES = version.o
+@HAVE_WINDRES_TRUE@@OS_IS_WINDOWS_TRUE@windows_resource_link = -Wl,version.o
@FLaC__HAS_OGG_TRUE@extra_ogg_sources = \
@FLaC__HAS_OGG_TRUE@ ogg_decoder_aspect.c \
@FLaC__HAS_OGG_TRUE@ ogg_encoder_aspect.c \
@FLaC__HAS_OGG_TRUE@ ogg_helper.c \
@FLaC__HAS_OGG_TRUE@ ogg_mapping.c
-# see 'http://www.gnu.org/software/libtool/manual.html#Libtool-versioning' for numbering convention
-libFLAC_la_LDFLAGS = -version-info 10:0:2 -lm $(LOCAL_EXTRA_LDFLAGS)
-libFLAC_la_SOURCES = \
+
+# see 'http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning' for numbering convention
+libFLAC_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined -version-info 13:0:1 $(windows_resource_link)
+libFLAC_sources = \
bitmath.c \
bitreader.c \
bitwriter.c \
cpu.c \
crc.c \
fixed.c \
+ fixed_intrin_sse2.c \
+ fixed_intrin_ssse3.c \
+ fixed_intrin_sse42.c \
+ fixed_intrin_avx2.c \
float.c \
format.c \
lpc.c \
+ lpc_intrin_sse2.c \
+ lpc_intrin_sse41.c \
+ lpc_intrin_avx2.c \
+ lpc_intrin_fma.c \
+ lpc_intrin_neon.c \
md5.c \
memory.c \
metadata_iterators.c \
metadata_object.c \
stream_decoder.c \
stream_encoder.c \
+ stream_encoder_intrin_sse2.c \
+ stream_encoder_intrin_ssse3.c \
+ stream_encoder_intrin_avx2.c \
stream_encoder_framing.c \
window.c \
+ $(windows_unicode_compat) \
$(extra_ogg_sources)
-subdir = src/libFLAC
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = flac.pc
-LTLIBRARIES = $(lib_LTLIBRARIES)
-
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES = \
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@ ppc/gas/libFLAC-asm.la
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES = \
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@ ppc/gas/libFLAC-asm.la
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES = \
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@ ppc/as/libFLAC-asm.la
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES = \
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@ ppc/as/libFLAC-asm.la
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES = \
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@ ppc/as/libFLAC-asm.la
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES = \
-@FLaC__CPU_IA32_FALSE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@ ppc/as/libFLAC-asm.la
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES = \
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@ ia32/libFLAC-asm.la
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES = \
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@ ia32/libFLAC-asm.la
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES = \
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@ ia32/libFLAC-asm.la
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES = \
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_FALSE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@ ia32/libFLAC-asm.la
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES = \
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@ ia32/libFLAC-asm.la
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES = \
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@ ppc/gas/libFLAC-asm.la
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES = \
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@ ia32/libFLAC-asm.la \
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@ ppc/gas/libFLAC-asm.la
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES = \
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@ ppc/as/libFLAC-asm.la
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES = \
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@ ia32/libFLAC-asm.la \
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@ ppc/as/libFLAC-asm.la
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES = \
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_FALSE@@FLaC__NO_ASM_FALSE@ ppc/as/libFLAC-asm.la
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_TRUE@libFLAC_la_DEPENDENCIES =
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@libFLAC_la_DEPENDENCIES = \
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@ ia32/libFLAC-asm.la \
-@FLaC__CPU_IA32_TRUE@@FLaC__CPU_PPC_TRUE@@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@@FLaC__HAS_NASM_TRUE@@FLaC__NO_ASM_FALSE@ ppc/as/libFLAC-asm.la
-am__libFLAC_la_SOURCES_DIST = bitmath.c bitreader.c bitwriter.c cpu.c \
- crc.c fixed.c float.c format.c lpc.c md5.c memory.c \
- metadata_iterators.c metadata_object.c stream_decoder.c \
- stream_encoder.c stream_encoder_framing.c window.c \
- ogg_decoder_aspect.c ogg_encoder_aspect.c ogg_helper.c \
- ogg_mapping.c
-@FLaC__HAS_OGG_TRUE@am__objects_1 = ogg_decoder_aspect.lo \
-@FLaC__HAS_OGG_TRUE@ ogg_encoder_aspect.lo ogg_helper.lo \
-@FLaC__HAS_OGG_TRUE@ ogg_mapping.lo
-am_libFLAC_la_OBJECTS = bitmath.lo bitreader.lo bitwriter.lo cpu.lo \
- crc.lo fixed.lo float.lo format.lo lpc.lo md5.lo memory.lo \
- metadata_iterators.lo metadata_object.lo stream_decoder.lo \
- stream_encoder.lo stream_encoder_framing.lo window.lo \
- $(am__objects_1)
-libFLAC_la_OBJECTS = $(am_libFLAC_la_OBJECTS)
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/bitmath.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/bitreader.Plo ./$(DEPDIR)/bitwriter.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/cpu.Plo ./$(DEPDIR)/crc.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/fixed.Plo ./$(DEPDIR)/float.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/format.Plo ./$(DEPDIR)/lpc.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/md5.Plo ./$(DEPDIR)/memory.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/metadata_iterators.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/metadata_object.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/ogg_decoder_aspect.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/ogg_encoder_aspect.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/ogg_helper.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/ogg_mapping.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/stream_decoder.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/stream_encoder.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/stream_encoder_framing.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/window.Plo
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(am__libFLAC_la_SOURCES_DIST)
-DATA = $(m4data_DATA) $(pkgconfig_DATA)
-
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am flac.pc.in
-DIST_SUBDIRS = ppc ia32 include .
-SOURCES = $(libFLAC_la_SOURCES)
+libFLAC_la_SOURCES = $(libFLAC_sources)
+# needed for test_libFLAC
+libFLAC_static_la_SOURCES = $(libFLAC_sources)
all: all-recursive
.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/libFLAC/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-flac.pc: $(top_builddir)/config.status flac.pc.in
+.SUFFIXES: .c .lo .o .obj .rc
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/libFLAC/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/libFLAC/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+flac.pc: $(top_builddir)/config.status $(srcdir)/flac.pc.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-libLTLIBRARIES_INSTALL = $(INSTALL)
+
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(libdir)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f"; \
- $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p"; \
- $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
done
clean-libLTLIBRARIES:
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" = "$$p" && dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libFLAC.la: $(libFLAC_la_OBJECTS) $(libFLAC_la_DEPENDENCIES)
- $(LINK) -rpath $(libdir) $(libFLAC_la_LDFLAGS) $(libFLAC_la_OBJECTS) $(libFLAC_la_LIBADD) $(LIBS)
+ @list='$(lib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+../share/win_utf8_io/$(am__dirstamp):
+ @$(MKDIR_P) ../share/win_utf8_io
+ @: > ../share/win_utf8_io/$(am__dirstamp)
+../share/win_utf8_io/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) ../share/win_utf8_io/$(DEPDIR)
+ @: > ../share/win_utf8_io/$(DEPDIR)/$(am__dirstamp)
+../share/win_utf8_io/win_utf8_io.lo: \
+ ../share/win_utf8_io/$(am__dirstamp) \
+ ../share/win_utf8_io/$(DEPDIR)/$(am__dirstamp)
+
+libFLAC-static.la: $(libFLAC_static_la_OBJECTS) $(libFLAC_static_la_DEPENDENCIES) $(EXTRA_libFLAC_static_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libFLAC_static_la_OBJECTS) $(libFLAC_static_la_LIBADD) $(LIBS)
+
+libFLAC.la: $(libFLAC_la_OBJECTS) $(libFLAC_la_DEPENDENCIES) $(EXTRA_libFLAC_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libFLAC_la_LINK) -rpath $(libdir) $(libFLAC_la_OBJECTS) $(libFLAC_la_LIBADD) $(LIBS)
mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
+ -rm -f *.$(OBJEXT)
+ -rm -f ../share/win_utf8_io/*.$(OBJEXT)
+ -rm -f ../share/win_utf8_io/*.lo
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bitmath.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bitreader.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bitwriter.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fixed.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/float.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/format.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lpc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memory.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata_iterators.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata_object.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ogg_decoder_aspect.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ogg_encoder_aspect.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ogg_helper.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ogg_mapping.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream_decoder.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream_encoder.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream_encoder_framing.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/window.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@../share/win_utf8_io/$(DEPDIR)/win_utf8_io.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bitmath.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bitreader.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bitwriter.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crc.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fixed.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fixed_intrin_avx2.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fixed_intrin_sse2.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fixed_intrin_sse42.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fixed_intrin_ssse3.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/float.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/format.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lpc.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lpc_intrin_avx2.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lpc_intrin_fma.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lpc_intrin_neon.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lpc_intrin_sse2.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lpc_intrin_sse41.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memory.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata_iterators.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata_object.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ogg_decoder_aspect.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ogg_encoder_aspect.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ogg_helper.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ogg_mapping.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream_decoder.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream_encoder.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream_encoder_framing.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream_encoder_intrin_avx2.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream_encoder_intrin_sse2.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream_encoder_intrin_ssse3.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/window.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-m4dataDATA_INSTALL = $(INSTALL_DATA)
+ -rm -rf ../share/win_utf8_io/.libs ../share/win_utf8_io/_libs
install-m4dataDATA: $(m4data_DATA)
@$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(m4datadir)
- @list='$(m4data_DATA)'; for p in $$list; do \
+ @list='$(m4data_DATA)'; test -n "$(m4datadir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(m4datadir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(m4datadir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(m4dataDATA_INSTALL) $$d$$p $(DESTDIR)$(m4datadir)/$$f"; \
- $(m4dataDATA_INSTALL) $$d$$p $(DESTDIR)$(m4datadir)/$$f; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(m4datadir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(m4datadir)" || exit $$?; \
done
uninstall-m4dataDATA:
@$(NORMAL_UNINSTALL)
- @list='$(m4data_DATA)'; for p in $$list; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(m4datadir)/$$f"; \
- rm -f $(DESTDIR)$(m4datadir)/$$f; \
- done
-pkgconfigDATA_INSTALL = $(INSTALL_DATA)
+ @list='$(m4data_DATA)'; test -n "$(m4datadir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(m4datadir)'; $(am__uninstall_files_from_dir)
install-pkgconfigDATA: $(pkgconfig_DATA)
@$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(pkgconfigdir)
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(pkgconfigDATA_INSTALL) $$d$$p $(DESTDIR)$(pkgconfigdir)/$$f"; \
- $(pkgconfigDATA_INSTALL) $$d$$p $(DESTDIR)$(pkgconfigdir)/$$f; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
done
uninstall-pkgconfigDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(pkgconfigdir)/$$f"; \
- rm -f $(DESTDIR)$(pkgconfigdir)/$$f; \
- done
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -613,152 +819,131 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
+ empty_fix=.; \
else \
include_option=--include; \
+ empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -768,8 +953,9 @@ check: check-recursive
all-am: Makefile $(LTLIBRARIES) $(DATA)
installdirs: installdirs-recursive
installdirs-am:
- $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(m4datadir) $(DESTDIR)$(pkgconfigdir)
-
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(m4datadir)" "$(DESTDIR)$(pkgconfigdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@@ -780,16 +966,24 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -rm -f ../share/win_utf8_io/$(DEPDIR)/$(am__dirstamp)
+ -rm -f ../share/win_utf8_io/$(am__dirstamp)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -797,34 +991,122 @@ maintainer-clean-generic:
clean: clean-recursive
clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
- mostlyclean-am
+ clean-noinstLTLIBRARIES mostlyclean-am
distclean: distclean-recursive
- -rm -rf ./$(DEPDIR)
+ -rm -f ../share/win_utf8_io/$(DEPDIR)/win_utf8_io.Plo
+ -rm -f ./$(DEPDIR)/bitmath.Plo
+ -rm -f ./$(DEPDIR)/bitreader.Plo
+ -rm -f ./$(DEPDIR)/bitwriter.Plo
+ -rm -f ./$(DEPDIR)/cpu.Plo
+ -rm -f ./$(DEPDIR)/crc.Plo
+ -rm -f ./$(DEPDIR)/fixed.Plo
+ -rm -f ./$(DEPDIR)/fixed_intrin_avx2.Plo
+ -rm -f ./$(DEPDIR)/fixed_intrin_sse2.Plo
+ -rm -f ./$(DEPDIR)/fixed_intrin_sse42.Plo
+ -rm -f ./$(DEPDIR)/fixed_intrin_ssse3.Plo
+ -rm -f ./$(DEPDIR)/float.Plo
+ -rm -f ./$(DEPDIR)/format.Plo
+ -rm -f ./$(DEPDIR)/lpc.Plo
+ -rm -f ./$(DEPDIR)/lpc_intrin_avx2.Plo
+ -rm -f ./$(DEPDIR)/lpc_intrin_fma.Plo
+ -rm -f ./$(DEPDIR)/lpc_intrin_neon.Plo
+ -rm -f ./$(DEPDIR)/lpc_intrin_sse2.Plo
+ -rm -f ./$(DEPDIR)/lpc_intrin_sse41.Plo
+ -rm -f ./$(DEPDIR)/md5.Plo
+ -rm -f ./$(DEPDIR)/memory.Plo
+ -rm -f ./$(DEPDIR)/metadata_iterators.Plo
+ -rm -f ./$(DEPDIR)/metadata_object.Plo
+ -rm -f ./$(DEPDIR)/ogg_decoder_aspect.Plo
+ -rm -f ./$(DEPDIR)/ogg_encoder_aspect.Plo
+ -rm -f ./$(DEPDIR)/ogg_helper.Plo
+ -rm -f ./$(DEPDIR)/ogg_mapping.Plo
+ -rm -f ./$(DEPDIR)/stream_decoder.Plo
+ -rm -f ./$(DEPDIR)/stream_encoder.Plo
+ -rm -f ./$(DEPDIR)/stream_encoder_framing.Plo
+ -rm -f ./$(DEPDIR)/stream_encoder_intrin_avx2.Plo
+ -rm -f ./$(DEPDIR)/stream_encoder_intrin_sse2.Plo
+ -rm -f ./$(DEPDIR)/stream_encoder_intrin_ssse3.Plo
+ -rm -f ./$(DEPDIR)/window.Plo
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-recursive
dvi-am:
+html: html-recursive
+
+html-am:
+
info: info-recursive
info-am:
install-data-am: install-m4dataDATA install-pkgconfigDATA
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
install-exec-am: install-libLTLIBRARIES
+install-html: install-html-recursive
+
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR)
+ -rm -f ../share/win_utf8_io/$(DEPDIR)/win_utf8_io.Plo
+ -rm -f ./$(DEPDIR)/bitmath.Plo
+ -rm -f ./$(DEPDIR)/bitreader.Plo
+ -rm -f ./$(DEPDIR)/bitwriter.Plo
+ -rm -f ./$(DEPDIR)/cpu.Plo
+ -rm -f ./$(DEPDIR)/crc.Plo
+ -rm -f ./$(DEPDIR)/fixed.Plo
+ -rm -f ./$(DEPDIR)/fixed_intrin_avx2.Plo
+ -rm -f ./$(DEPDIR)/fixed_intrin_sse2.Plo
+ -rm -f ./$(DEPDIR)/fixed_intrin_sse42.Plo
+ -rm -f ./$(DEPDIR)/fixed_intrin_ssse3.Plo
+ -rm -f ./$(DEPDIR)/float.Plo
+ -rm -f ./$(DEPDIR)/format.Plo
+ -rm -f ./$(DEPDIR)/lpc.Plo
+ -rm -f ./$(DEPDIR)/lpc_intrin_avx2.Plo
+ -rm -f ./$(DEPDIR)/lpc_intrin_fma.Plo
+ -rm -f ./$(DEPDIR)/lpc_intrin_neon.Plo
+ -rm -f ./$(DEPDIR)/lpc_intrin_sse2.Plo
+ -rm -f ./$(DEPDIR)/lpc_intrin_sse41.Plo
+ -rm -f ./$(DEPDIR)/md5.Plo
+ -rm -f ./$(DEPDIR)/memory.Plo
+ -rm -f ./$(DEPDIR)/metadata_iterators.Plo
+ -rm -f ./$(DEPDIR)/metadata_object.Plo
+ -rm -f ./$(DEPDIR)/ogg_decoder_aspect.Plo
+ -rm -f ./$(DEPDIR)/ogg_encoder_aspect.Plo
+ -rm -f ./$(DEPDIR)/ogg_helper.Plo
+ -rm -f ./$(DEPDIR)/ogg_mapping.Plo
+ -rm -f ./$(DEPDIR)/stream_decoder.Plo
+ -rm -f ./$(DEPDIR)/stream_encoder.Plo
+ -rm -f ./$(DEPDIR)/stream_encoder_framing.Plo
+ -rm -f ./$(DEPDIR)/stream_encoder_intrin_avx2.Plo
+ -rm -f ./$(DEPDIR)/stream_encoder_intrin_sse2.Plo
+ -rm -f ./$(DEPDIR)/stream_encoder_intrin_ssse3.Plo
+ -rm -f ./$(DEPDIR)/window.Plo
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -841,31 +1123,34 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \
- uninstall-m4dataDATA uninstall-pkgconfigDATA
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libLTLIBRARIES clean-libtool \
- clean-recursive ctags ctags-recursive distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive \
- install-libLTLIBRARIES install-m4dataDATA install-man \
- install-pkgconfigDATA install-recursive install-strip \
+uninstall-am: uninstall-libLTLIBRARIES uninstall-m4dataDATA \
+ uninstall-pkgconfigDATA
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+ am--depfiles check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool clean-noinstLTLIBRARIES \
+ cscopelist-am ctags ctags-am distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-libLTLIBRARIES \
+ install-m4dataDATA install-man install-pdf install-pdf-am \
+ install-pkgconfigDATA install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs installdirs-am \
- installdirs-recursive maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
- pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \
- tags-recursive uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-libLTLIBRARIES \
- uninstall-m4dataDATA uninstall-pkgconfigDATA \
- uninstall-recursive
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-libLTLIBRARIES uninstall-m4dataDATA \
+ uninstall-pkgconfigDATA
+
+.PRECIOUS: Makefile
+
+
+.rc.o:
+ $(RC) $(AM_CPPFLAGS) $< $@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/src/libFLAC/Makefile.lite b/3rdparty/libflac/src/libFLAC/Makefile.lite
deleted file mode 100644
index 8ea37f87e7c..00000000000
--- a/3rdparty/libflac/src/libFLAC/Makefile.lite
+++ /dev/null
@@ -1,90 +0,0 @@
-# libFLAC - Free Lossless Audio Codec library
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# - Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# - Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# - Neither the name of the Xiph.org Foundation nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#
-# GNU makefile
-#
-
-topdir = ../..
-
-LIB_NAME = libFLAC
-ifeq ($(DARWIN_BUILD),yes)
-DEFINES = -DFLAC__CPU_PPC -DFLAC__USE_ALTIVEC -DFLAC__ALIGN_MALLOC_DATA
-else
-ifeq ($(SOLARIS_BUILD),yes)
-DEFINES = -DFLAC__NO_ASM -DFLAC__ALIGN_MALLOC_DATA
-else
-DEFINES = -DFLAC__CPU_IA32 -DFLAC__USE_3DNOW -DFLAC__HAS_NASM -DFLAC__ALIGN_MALLOC_DATA
-endif
-endif
-INCLUDES = -I./include -I$(topdir)/include -I$(OGG_INCLUDE_DIR)
-DEBUG_CFLAGS = -DFLAC__OVERFLOW_DETECT
-
-ifeq ($(DARWIN_BUILD),yes)
-SRCS_S = \
- ppc/as/lpc_asm.s
-else
-ifeq ($(SOLARIS_BUILD),yes)
-else
-SRCS_NASM = \
- ia32/bitreader_asm.nasm \
- ia32/cpu_asm.nasm \
- ia32/fixed_asm.nasm \
- ia32/lpc_asm.nasm \
- ia32/stream_encoder_asm.nasm
-endif
-endif
-
-SRCS_C = \
- bitmath.c \
- bitreader.c \
- bitwriter.c \
- cpu.c \
- crc.c \
- fixed.c \
- float.c \
- format.c \
- lpc.c \
- md5.c \
- memory.c \
- metadata_iterators.c \
- metadata_object.c \
- ogg_decoder_aspect.c \
- ogg_encoder_aspect.c \
- ogg_helper.c \
- ogg_mapping.c \
- stream_decoder.c \
- stream_encoder.c \
- stream_encoder_framing.c \
- window.c
-
-include $(topdir)/build/lib.mk
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/src/libFLAC/bitmath.c b/3rdparty/libflac/src/libFLAC/bitmath.c
index af19c35445a..077486b69a1 100644
--- a/3rdparty/libflac/src/libFLAC/bitmath.c
+++ b/3rdparty/libflac/src/libFLAC/bitmath.c
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -34,47 +35,6 @@
#endif
#include "private/bitmath.h"
-#include "FLAC/assert.h"
-
-/* An example of what FLAC__bitmath_ilog2() computes:
- *
- * ilog2( 0) = assertion failure
- * ilog2( 1) = 0
- * ilog2( 2) = 1
- * ilog2( 3) = 1
- * ilog2( 4) = 2
- * ilog2( 5) = 2
- * ilog2( 6) = 2
- * ilog2( 7) = 2
- * ilog2( 8) = 3
- * ilog2( 9) = 3
- * ilog2(10) = 3
- * ilog2(11) = 3
- * ilog2(12) = 3
- * ilog2(13) = 3
- * ilog2(14) = 3
- * ilog2(15) = 3
- * ilog2(16) = 4
- * ilog2(17) = 4
- * ilog2(18) = 4
- */
-unsigned FLAC__bitmath_ilog2(FLAC__uint32 v)
-{
- unsigned l = 0;
- FLAC__ASSERT(v > 0);
- while(v >>= 1)
- l++;
- return l;
-}
-
-unsigned FLAC__bitmath_ilog2_wide(FLAC__uint64 v)
-{
- unsigned l = 0;
- FLAC__ASSERT(v > 0);
- while(v >>= 1)
- l++;
- return l;
-}
/* An example of what FLAC__bitmath_silog2() computes:
*
@@ -100,50 +60,14 @@ unsigned FLAC__bitmath_ilog2_wide(FLAC__uint64 v)
* silog2( 9) = 5
* silog2( 10) = 5
*/
-unsigned FLAC__bitmath_silog2(int v)
+uint32_t FLAC__bitmath_silog2(FLAC__int64 v)
{
- while(1) {
- if(v == 0) {
- return 0;
- }
- else if(v > 0) {
- unsigned l = 0;
- while(v) {
- l++;
- v >>= 1;
- }
- return l+1;
- }
- else if(v == -1) {
- return 2;
- }
- else {
- v++;
- v = -v;
- }
- }
-}
+ if(v == 0)
+ return 0;
-unsigned FLAC__bitmath_silog2_wide(FLAC__int64 v)
-{
- while(1) {
- if(v == 0) {
- return 0;
- }
- else if(v > 0) {
- unsigned l = 0;
- while(v) {
- l++;
- v >>= 1;
- }
- return l+1;
- }
- else if(v == -1) {
- return 2;
- }
- else {
- v++;
- v = -v;
- }
- }
+ if(v == -1)
+ return 2;
+
+ v = (v < 0) ? (-(v+1)) : v;
+ return FLAC__bitmath_ilog2_wide(v)+2;
}
diff --git a/3rdparty/libflac/src/libFLAC/bitreader.c b/3rdparty/libflac/src/libFLAC/bitreader.c
index b48847d5e28..829b308e00c 100644
--- a/3rdparty/libflac/src/libFLAC/bitreader.c
+++ b/3rdparty/libflac/src/libFLAC/bitreader.c
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -33,20 +34,26 @@
# include <config.h>
#endif
-#include <stdlib.h> /* for malloc() */
-#include <string.h> /* for memcpy(), memset() */
+#include <stdlib.h>
+#include <string.h>
#include "private/bitmath.h"
#include "private/bitreader.h"
#include "private/crc.h"
+#include "private/cpu.h"
+#include "private/macros.h"
#include "FLAC/assert.h"
+#include "share/compat.h"
#include "share/endswap.h"
/* Things should be fastest when this matches the machine word size */
-/* WATCHOUT: if you change this you must also change the following #defines down to COUNT_ZERO_MSBS below to match */
+/* WATCHOUT: if you change this you must also change the following #defines down to COUNT_ZERO_MSBS2 below to match */
/* WATCHOUT: there are a few places where the code will not work unless brword is >= 32 bits wide */
/* also, some sections currently only have fast versions for 4 or 8 bytes per word */
+
+#if (ENABLE_64_BIT_WORDS == 0)
+
typedef FLAC__uint32 brword;
-#define FLAC__BYTES_PER_WORD 4
+#define FLAC__BYTES_PER_WORD 4 /* sizeof brword */
#define FLAC__BITS_PER_WORD 32
#define FLAC__WORD_ALL_ONES ((FLAC__uint32)0xffffffff)
/* SWAP_BE_WORD_TO_HOST swaps bytes in a brword (which is always big-endian) if necessary to match host byte order */
@@ -56,14 +63,26 @@ typedef FLAC__uint32 brword;
#define SWAP_BE_WORD_TO_HOST(x) ENDSWAP_32(x)
#endif
/* counts the # of zero MSBs in a word */
-#define COUNT_ZERO_MSBS(word) ( \
- (word) <= 0xffff ? \
- ( (word) <= 0xff? byte_to_unary_table[word] + 24 : byte_to_unary_table[(word) >> 8] + 16 ) : \
- ( (word) <= 0xffffff? byte_to_unary_table[word >> 16] + 8 : byte_to_unary_table[(word) >> 24] ) \
-)
-/* this alternate might be slightly faster on some systems/compilers: */
-#define COUNT_ZERO_MSBS2(word) ( (word) <= 0xff ? byte_to_unary_table[word] + 24 : ((word) <= 0xffff ? byte_to_unary_table[(word) >> 8] + 16 : ((word) <= 0xffffff ? byte_to_unary_table[(word) >> 16] + 8 : byte_to_unary_table[(word) >> 24])) )
+#define COUNT_ZERO_MSBS(word) FLAC__clz_uint32(word)
+#define COUNT_ZERO_MSBS2(word) FLAC__clz2_uint32(word)
+
+#else
+
+typedef FLAC__uint64 brword;
+#define FLAC__BYTES_PER_WORD 8 /* sizeof brword */
+#define FLAC__BITS_PER_WORD 64
+#define FLAC__WORD_ALL_ONES ((FLAC__uint64)FLAC__U64L(0xffffffffffffffff))
+/* SWAP_BE_WORD_TO_HOST swaps bytes in a brword (which is always big-endian) if necessary to match host byte order */
+#if WORDS_BIGENDIAN
+#define SWAP_BE_WORD_TO_HOST(x) (x)
+#else
+#define SWAP_BE_WORD_TO_HOST(x) ENDSWAP_64(x)
+#endif
+/* counts the # of zero MSBs in a word */
+#define COUNT_ZERO_MSBS(word) FLAC__clz_uint64(word)
+#define COUNT_ZERO_MSBS2(word) FLAC__clz2_uint64(word)
+#endif
/*
* This should be at least twice as large as the largest number of words
@@ -79,102 +98,79 @@ typedef FLAC__uint32 brword;
* also depends on the CPU cache size and other factors; some twiddling
* may be necessary to squeeze out the best performance.
*/
-static const unsigned FLAC__BITREADER_DEFAULT_CAPACITY = 65536u / FLAC__BITS_PER_WORD; /* in words */
-
-static const unsigned char byte_to_unary_table[] = {
- 8, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
-
-#ifdef min
-#undef min
-#endif
-#define min(x,y) ((x)<(y)?(x):(y))
-#ifdef max
-#undef max
-#endif
-#define max(x,y) ((x)>(y)?(x):(y))
+static const uint32_t FLAC__BITREADER_DEFAULT_CAPACITY = 65536u / FLAC__BITS_PER_WORD; /* in words */
-/* adjust for compilers that can't understand using LLU suffix for uint64_t literals */
-#ifdef _MSC_VER
-#define FLAC__U64L(x) x
-#else
-#define FLAC__U64L(x) x##LLU
-#endif
-
-#ifndef FLaC__INLINE
-#define FLaC__INLINE
-#endif
-
-/* WATCHOUT: assembly routines rely on the order in which these fields are declared */
struct FLAC__BitReader {
/* any partially-consumed word at the head will stay right-justified as bits are consumed from the left */
/* any incomplete word at the tail will be left-justified, and bytes from the read callback are added on the right */
brword *buffer;
- unsigned capacity; /* in words */
- unsigned words; /* # of completed words in buffer */
- unsigned bytes; /* # of bytes in incomplete word at buffer[words] */
- unsigned consumed_words; /* #words ... */
- unsigned consumed_bits; /* ... + (#bits of head word) already consumed from the front of buffer */
- unsigned read_crc16; /* the running frame CRC */
- unsigned crc16_align; /* the number of bits in the current consumed word that should not be CRC'd */
+ uint32_t capacity; /* in words */
+ uint32_t words; /* # of completed words in buffer */
+ uint32_t bytes; /* # of bytes in incomplete word at buffer[words] */
+ uint32_t consumed_words; /* #words ... */
+ uint32_t consumed_bits; /* ... + (#bits of head word) already consumed from the front of buffer */
+ uint32_t read_crc16; /* the running frame CRC */
+ uint32_t crc16_offset; /* the number of words in the current buffer that should not be CRC'd */
+ uint32_t crc16_align; /* the number of bits in the current consumed word that should not be CRC'd */
+ FLAC__bool read_limit_set; /* whether reads are limited */
+ uint32_t read_limit; /* the remaining size of what can be read */
+ uint32_t last_seen_framesync; /* the location of the last seen framesync, if it is in the buffer, in bits from front of buffer */
FLAC__BitReaderReadCallback read_callback;
void *client_data;
- FLAC__CPUInfo cpu_info;
};
-static FLaC__INLINE void crc16_update_word_(FLAC__BitReader *br, brword word)
+static inline void crc16_update_word_(FLAC__BitReader *br, brword word)
{
- register unsigned crc = br->read_crc16;
-#if FLAC__BYTES_PER_WORD == 4
- switch(br->crc16_align) {
- case 0: crc = FLAC__CRC16_UPDATE((unsigned)(word >> 24), crc);
- case 8: crc = FLAC__CRC16_UPDATE((unsigned)((word >> 16) & 0xff), crc);
- case 16: crc = FLAC__CRC16_UPDATE((unsigned)((word >> 8) & 0xff), crc);
- case 24: br->read_crc16 = FLAC__CRC16_UPDATE((unsigned)(word & 0xff), crc);
+ register uint32_t crc = br->read_crc16;
+
+ for ( ; br->crc16_align < FLAC__BITS_PER_WORD ; br->crc16_align += 8) {
+ uint32_t shift = FLAC__BITS_PER_WORD - 8 - br->crc16_align ;
+ crc = FLAC__CRC16_UPDATE ((uint32_t) (shift < FLAC__BITS_PER_WORD ? (word >> shift) & 0xff : 0), crc);
}
+
+ br->read_crc16 = crc;
+ br->crc16_align = 0;
+}
+
+static inline void crc16_update_block_(FLAC__BitReader *br)
+{
+ if(br->consumed_words > br->crc16_offset && br->crc16_align)
+ crc16_update_word_(br, br->buffer[br->crc16_offset++]);
+
+ /* Prevent OOB read due to wrap-around. */
+ if (br->consumed_words > br->crc16_offset) {
+#if FLAC__BYTES_PER_WORD == 4
+ br->read_crc16 = FLAC__crc16_update_words32(br->buffer + br->crc16_offset, br->consumed_words - br->crc16_offset, br->read_crc16);
#elif FLAC__BYTES_PER_WORD == 8
- switch(br->crc16_align) {
- case 0: crc = FLAC__CRC16_UPDATE((unsigned)(word >> 56), crc);
- case 8: crc = FLAC__CRC16_UPDATE((unsigned)((word >> 48) & 0xff), crc);
- case 16: crc = FLAC__CRC16_UPDATE((unsigned)((word >> 40) & 0xff), crc);
- case 24: crc = FLAC__CRC16_UPDATE((unsigned)((word >> 32) & 0xff), crc);
- case 32: crc = FLAC__CRC16_UPDATE((unsigned)((word >> 24) & 0xff), crc);
- case 40: crc = FLAC__CRC16_UPDATE((unsigned)((word >> 16) & 0xff), crc);
- case 48: crc = FLAC__CRC16_UPDATE((unsigned)((word >> 8) & 0xff), crc);
- case 56: br->read_crc16 = FLAC__CRC16_UPDATE((unsigned)(word & 0xff), crc);
- }
+ br->read_crc16 = FLAC__crc16_update_words64(br->buffer + br->crc16_offset, br->consumed_words - br->crc16_offset, br->read_crc16);
#else
- for( ; br->crc16_align < FLAC__BITS_PER_WORD; br->crc16_align += 8)
- crc = FLAC__CRC16_UPDATE((unsigned)((word >> (FLAC__BITS_PER_WORD-8-br->crc16_align)) & 0xff), crc);
- br->read_crc16 = crc;
+ unsigned i;
+
+ for (i = br->crc16_offset; i < br->consumed_words; i++)
+ crc16_update_word_(br, br->buffer[i]);
#endif
- br->crc16_align = 0;
+ }
+
+ br->crc16_offset = 0;
}
-/* would be static except it needs to be called by asm routines */
-FLAC__bool bitreader_read_from_client_(FLAC__BitReader *br)
+static FLAC__bool bitreader_read_from_client_(FLAC__BitReader *br)
{
- unsigned start, end;
+ uint32_t start, end;
size_t bytes;
FLAC__byte *target;
+#if WORDS_BIGENDIAN
+#else
+ brword preswap_backup;
+#endif
/* first shift the unconsumed buffer data toward the front as much as possible */
if(br->consumed_words > 0) {
+ /* invalidate last seen framesync */
+ br->last_seen_framesync = -1;
+
+ crc16_update_block_(br); /* CRC consumed words */
+
start = br->consumed_words;
end = br->words + (br->bytes? 1:0);
memmove(br->buffer, br->buffer+start, FLAC__BYTES_PER_WORD * (end - start));
@@ -193,7 +189,7 @@ FLAC__bool bitreader_read_from_client_(FLAC__BitReader *br)
/* before reading, if the existing reader looks like this (say brword is 32 bits wide)
* bitstream : 11 22 33 44 55 br->words=1 br->bytes=1 (partial tail word is left-justified)
- * buffer[BE]: 11 22 33 44 55 ?? ?? ?? (shown layed out as bytes sequentially in memory)
+ * buffer[BE]: 11 22 33 44 55 ?? ?? ?? (shown laid out as bytes sequentially in memory)
* buffer[LE]: 44 33 22 11 ?? ?? ?? 55 (?? being don't-care)
* ^^-------target, bytes=3
* on LE machines, have to byteswap the odd tail word so nothing is
@@ -201,6 +197,7 @@ FLAC__bool bitreader_read_from_client_(FLAC__BitReader *br)
*/
#if WORDS_BIGENDIAN
#else
+ preswap_backup = br->buffer[br->words];
if(br->bytes)
br->buffer[br->words] = SWAP_BE_WORD_TO_HOST(br->buffer[br->words]);
#endif
@@ -213,8 +210,16 @@ FLAC__bool bitreader_read_from_client_(FLAC__BitReader *br)
*/
/* read in the data; note that the callback may return a smaller number of bytes */
- if(!br->read_callback(target, &bytes, br->client_data))
+ if(!br->read_callback(target, &bytes, br->client_data)){
+ /* Despite the read callback failing, the data in the target
+ * might be used later, when the buffer is rewound. Therefore
+ * we revert the swap that was just done */
+#if WORDS_BIGENDIAN
+#else
+ br->buffer[br->words] = preswap_backup;
+#endif
return false;
+ }
/* after reading bytes 66 77 88 99 AA BB CC DD EE FF from the client:
* bitstream : 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF
@@ -224,7 +229,7 @@ FLAC__bool bitreader_read_from_client_(FLAC__BitReader *br)
*/
#if WORDS_BIGENDIAN
#else
- end = (br->words*FLAC__BYTES_PER_WORD + br->bytes + bytes + (FLAC__BYTES_PER_WORD-1)) / FLAC__BYTES_PER_WORD;
+ end = (br->words*FLAC__BYTES_PER_WORD + br->bytes + (uint32_t)bytes + (FLAC__BYTES_PER_WORD-1)) / FLAC__BYTES_PER_WORD;
for(start = br->words; start < end; start++)
br->buffer[start] = SWAP_BE_WORD_TO_HOST(br->buffer[start]);
#endif
@@ -235,7 +240,7 @@ FLAC__bool bitreader_read_from_client_(FLAC__BitReader *br)
* buffer[LE]: 44 33 22 11 88 77 66 55 CC BB AA 99 ?? FF EE DD
* finally we'll update the reader values:
*/
- end = br->words*FLAC__BYTES_PER_WORD + br->bytes + bytes;
+ end = br->words*FLAC__BYTES_PER_WORD + br->bytes + (uint32_t)bytes;
br->words = end / FLAC__BYTES_PER_WORD;
br->bytes = end % FLAC__BYTES_PER_WORD;
@@ -250,7 +255,7 @@ FLAC__bool bitreader_read_from_client_(FLAC__BitReader *br)
FLAC__BitReader *FLAC__bitreader_new(void)
{
- FLAC__BitReader *br = (FLAC__BitReader*)calloc(1, sizeof(FLAC__BitReader));
+ FLAC__BitReader *br = calloc(1, sizeof(FLAC__BitReader));
/* calloc() implies:
memset(br, 0, sizeof(FLAC__BitReader));
@@ -278,19 +283,21 @@ void FLAC__bitreader_delete(FLAC__BitReader *br)
*
***********************************************************************/
-FLAC__bool FLAC__bitreader_init(FLAC__BitReader *br, FLAC__CPUInfo cpu, FLAC__BitReaderReadCallback rcb, void *cd)
+FLAC__bool FLAC__bitreader_init(FLAC__BitReader *br, FLAC__BitReaderReadCallback rcb, void *cd)
{
FLAC__ASSERT(0 != br);
br->words = br->bytes = 0;
br->consumed_words = br->consumed_bits = 0;
br->capacity = FLAC__BITREADER_DEFAULT_CAPACITY;
- br->buffer = (brword*)malloc(sizeof(brword) * br->capacity);
+ br->buffer = malloc(sizeof(brword) * br->capacity);
if(br->buffer == 0)
return false;
br->read_callback = rcb;
br->client_data = cd;
- br->cpu_info = cpu;
+ br->read_limit_set = false;
+ br->read_limit = -1;
+ br->last_seen_framesync = -1;
return true;
}
@@ -307,42 +314,36 @@ void FLAC__bitreader_free(FLAC__BitReader *br)
br->consumed_words = br->consumed_bits = 0;
br->read_callback = 0;
br->client_data = 0;
+ br->read_limit_set = false;
+ br->read_limit = -1;
+ br->last_seen_framesync = -1;
}
FLAC__bool FLAC__bitreader_clear(FLAC__BitReader *br)
{
br->words = br->bytes = 0;
br->consumed_words = br->consumed_bits = 0;
+ br->read_limit_set = false;
+ br->read_limit = -1;
+ br->last_seen_framesync = -1;
return true;
}
-void FLAC__bitreader_dump(const FLAC__BitReader *br, FILE *out)
+void FLAC__bitreader_set_framesync_location(FLAC__BitReader *br)
+{
+ br->last_seen_framesync = br->consumed_words * FLAC__BYTES_PER_WORD + br->consumed_bits / 8;
+}
+
+FLAC__bool FLAC__bitreader_rewind_to_after_last_seen_framesync(FLAC__BitReader *br)
{
- unsigned i, j;
- if(br == 0) {
- fprintf(out, "bitreader is NULL\n");
+ if(br->last_seen_framesync == (uint32_t)-1) {
+ br->consumed_words = br->consumed_bits = 0;
+ return false;
}
else {
- fprintf(out, "bitreader: capacity=%u words=%u bytes=%u consumed: words=%u, bits=%u\n", br->capacity, br->words, br->bytes, br->consumed_words, br->consumed_bits);
-
- for(i = 0; i < br->words; i++) {
- fprintf(out, "%08X: ", i);
- for(j = 0; j < FLAC__BITS_PER_WORD; j++)
- if(i < br->consumed_words || (i == br->consumed_words && j < br->consumed_bits))
- fprintf(out, ".");
- else
- fprintf(out, "%01u", br->buffer[i] & (1 << (FLAC__BITS_PER_WORD-j-1)) ? 1:0);
- fprintf(out, "\n");
- }
- if(br->bytes > 0) {
- fprintf(out, "%08X: ", i);
- for(j = 0; j < br->bytes*8; j++)
- if(i < br->consumed_words || (i == br->consumed_words && j < br->consumed_bits))
- fprintf(out, ".");
- else
- fprintf(out, "%01u", br->buffer[i] & (1 << (br->bytes*8-j-1)) ? 1:0);
- fprintf(out, "\n");
- }
+ br->consumed_words = (br->last_seen_framesync + 1) / FLAC__BYTES_PER_WORD;
+ br->consumed_bits = ((br->last_seen_framesync + 1) % FLAC__BYTES_PER_WORD) * 8;
+ return true;
}
}
@@ -352,7 +353,8 @@ void FLAC__bitreader_reset_read_crc16(FLAC__BitReader *br, FLAC__uint16 seed)
FLAC__ASSERT(0 != br->buffer);
FLAC__ASSERT((br->consumed_bits & 7) == 0);
- br->read_crc16 = (unsigned)seed;
+ br->read_crc16 = (uint32_t)seed;
+ br->crc16_offset = br->consumed_words;
br->crc16_align = br->consumed_bits;
}
@@ -360,6 +362,10 @@ FLAC__uint16 FLAC__bitreader_get_read_crc16(FLAC__BitReader *br)
{
FLAC__ASSERT(0 != br);
FLAC__ASSERT(0 != br->buffer);
+
+ /* CRC consumed words up to here */
+ crc16_update_block_(br);
+
FLAC__ASSERT((br->consumed_bits & 7) == 0);
FLAC__ASSERT(br->crc16_align <= br->consumed_bits);
@@ -367,27 +373,49 @@ FLAC__uint16 FLAC__bitreader_get_read_crc16(FLAC__BitReader *br)
if(br->consumed_bits) {
const brword tail = br->buffer[br->consumed_words];
for( ; br->crc16_align < br->consumed_bits; br->crc16_align += 8)
- br->read_crc16 = FLAC__CRC16_UPDATE((unsigned)((tail >> (FLAC__BITS_PER_WORD-8-br->crc16_align)) & 0xff), br->read_crc16);
+ br->read_crc16 = FLAC__CRC16_UPDATE((uint32_t)((tail >> (FLAC__BITS_PER_WORD-8-br->crc16_align)) & 0xff), br->read_crc16);
}
return br->read_crc16;
}
-FLaC__INLINE FLAC__bool FLAC__bitreader_is_consumed_byte_aligned(const FLAC__BitReader *br)
+inline FLAC__bool FLAC__bitreader_is_consumed_byte_aligned(const FLAC__BitReader *br)
{
return ((br->consumed_bits & 7) == 0);
}
-FLaC__INLINE unsigned FLAC__bitreader_bits_left_for_byte_alignment(const FLAC__BitReader *br)
+inline uint32_t FLAC__bitreader_bits_left_for_byte_alignment(const FLAC__BitReader *br)
{
return 8 - (br->consumed_bits & 7);
}
-FLaC__INLINE unsigned FLAC__bitreader_get_input_bits_unconsumed(const FLAC__BitReader *br)
+inline uint32_t FLAC__bitreader_get_input_bits_unconsumed(const FLAC__BitReader *br)
{
return (br->words-br->consumed_words)*FLAC__BITS_PER_WORD + br->bytes*8 - br->consumed_bits;
}
-FLaC__INLINE FLAC__bool FLAC__bitreader_read_raw_uint32(FLAC__BitReader *br, FLAC__uint32 *val, unsigned bits)
+void FLAC__bitreader_set_limit(FLAC__BitReader *br, uint32_t limit)
+{
+ br->read_limit = limit;
+ br->read_limit_set = true;
+}
+
+void FLAC__bitreader_remove_limit(FLAC__BitReader *br)
+{
+ br->read_limit_set = false;
+ br->read_limit = -1;
+}
+
+uint32_t FLAC__bitreader_limit_remaining(FLAC__BitReader *br)
+{
+ FLAC__ASSERT(br->read_limit_set);
+ return br->read_limit;
+}
+void FLAC__bitreader_limit_invalidate(FLAC__BitReader *br)
+{
+ br->read_limit = -1;
+}
+
+FLAC__bool FLAC__bitreader_read_raw_uint32(FLAC__BitReader *br, FLAC__uint32 *val, uint32_t bits)
{
FLAC__ASSERT(0 != br);
FLAC__ASSERT(0 != br->buffer);
@@ -404,6 +432,15 @@ FLaC__INLINE FLAC__bool FLAC__bitreader_read_raw_uint32(FLAC__BitReader *br, FLA
return true;
}
+ if(br->read_limit_set && br->read_limit < (uint32_t)-1){
+ if(br->read_limit < bits) {
+ br->read_limit = -1;
+ return false;
+ }
+ else
+ br->read_limit -= bits;
+ }
+
while((br->words-br->consumed_words)*FLAC__BITS_PER_WORD + br->bytes*8 - br->consumed_bits < bits) {
if(!bitreader_read_from_client_(br))
return false;
@@ -412,35 +449,37 @@ FLaC__INLINE FLAC__bool FLAC__bitreader_read_raw_uint32(FLAC__BitReader *br, FLA
/* OPT: taking out the consumed_bits==0 "else" case below might make things faster if less code allows the compiler to inline this function */
if(br->consumed_bits) {
/* this also works when consumed_bits==0, it's just a little slower than necessary for that case */
- const unsigned n = FLAC__BITS_PER_WORD - br->consumed_bits;
+ const uint32_t n = FLAC__BITS_PER_WORD - br->consumed_bits;
const brword word = br->buffer[br->consumed_words];
+ const brword mask = br->consumed_bits < FLAC__BITS_PER_WORD ? FLAC__WORD_ALL_ONES >> br->consumed_bits : 0;
if(bits < n) {
- *val = (word & (FLAC__WORD_ALL_ONES >> br->consumed_bits)) >> (n-bits);
+ uint32_t shift = n - bits;
+ *val = shift < FLAC__BITS_PER_WORD ? (FLAC__uint32)((word & mask) >> shift) : 0; /* The result has <= 32 non-zero bits */
br->consumed_bits += bits;
return true;
}
- *val = word & (FLAC__WORD_ALL_ONES >> br->consumed_bits);
+ /* (FLAC__BITS_PER_WORD - br->consumed_bits <= bits) ==> (FLAC__WORD_ALL_ONES >> br->consumed_bits) has no more than 'bits' non-zero bits */
+ *val = (FLAC__uint32)(word & mask);
bits -= n;
- crc16_update_word_(br, word);
br->consumed_words++;
br->consumed_bits = 0;
if(bits) { /* if there are still bits left to read, there have to be less than 32 so they will all be in the next word */
- *val <<= bits;
- *val |= (br->buffer[br->consumed_words] >> (FLAC__BITS_PER_WORD-bits));
+ uint32_t shift = FLAC__BITS_PER_WORD - bits;
+ *val = bits < 32 ? *val << bits : 0;
+ *val |= shift < FLAC__BITS_PER_WORD ? (FLAC__uint32)(br->buffer[br->consumed_words] >> shift) : 0;
br->consumed_bits = bits;
}
return true;
}
- else {
+ else { /* br->consumed_bits == 0 */
const brword word = br->buffer[br->consumed_words];
if(bits < FLAC__BITS_PER_WORD) {
- *val = word >> (FLAC__BITS_PER_WORD-bits);
+ *val = (FLAC__uint32)(word >> (FLAC__BITS_PER_WORD-bits));
br->consumed_bits = bits;
return true;
}
- /* at this point 'bits' must be == FLAC__BITS_PER_WORD; because of previous assertions, it can't be larger */
- *val = word;
- crc16_update_word_(br, word);
+ /* at this point bits == FLAC__BITS_PER_WORD == 32; because of previous assertions, it can't be larger */
+ *val = (FLAC__uint32)word;
br->consumed_words++;
return true;
}
@@ -454,30 +493,32 @@ FLaC__INLINE FLAC__bool FLAC__bitreader_read_raw_uint32(FLAC__BitReader *br, FLA
if(br->consumed_bits) {
/* this also works when consumed_bits==0, it's just a little slower than necessary for that case */
FLAC__ASSERT(br->consumed_bits + bits <= br->bytes*8);
- *val = (br->buffer[br->consumed_words] & (FLAC__WORD_ALL_ONES >> br->consumed_bits)) >> (FLAC__BITS_PER_WORD-br->consumed_bits-bits);
+ *val = (FLAC__uint32)((br->buffer[br->consumed_words] & (FLAC__WORD_ALL_ONES >> br->consumed_bits)) >> (FLAC__BITS_PER_WORD-br->consumed_bits-bits));
br->consumed_bits += bits;
return true;
}
else {
- *val = br->buffer[br->consumed_words] >> (FLAC__BITS_PER_WORD-bits);
+ *val = (FLAC__uint32)(br->buffer[br->consumed_words] >> (FLAC__BITS_PER_WORD-bits));
br->consumed_bits += bits;
return true;
}
}
}
-FLAC__bool FLAC__bitreader_read_raw_int32(FLAC__BitReader *br, FLAC__int32 *val, unsigned bits)
+FLAC__bool FLAC__bitreader_read_raw_int32(FLAC__BitReader *br, FLAC__int32 *val, uint32_t bits)
{
+ FLAC__uint32 uval, mask;
/* OPT: inline raw uint32 code here, or make into a macro if possible in the .h file */
- if(!FLAC__bitreader_read_raw_uint32(br, (FLAC__uint32*)val, bits))
+ if (bits < 1 || ! FLAC__bitreader_read_raw_uint32(br, &uval, bits))
return false;
- /* sign-extend: */
- *val <<= (32-bits);
- *val >>= (32-bits);
+ /* sign-extend *val assuming it is currently bits wide. */
+ /* From: https://graphics.stanford.edu/~seander/bithacks.html#FixedSignExtend */
+ mask = bits >= 33 ? 0 : 1lu << (bits - 1);
+ *val = (uval ^ mask) - mask;
return true;
}
-FLAC__bool FLAC__bitreader_read_raw_uint64(FLAC__BitReader *br, FLAC__uint64 *val, unsigned bits)
+FLAC__bool FLAC__bitreader_read_raw_uint64(FLAC__BitReader *br, FLAC__uint64 *val, uint32_t bits)
{
FLAC__uint32 hi, lo;
@@ -498,7 +539,20 @@ FLAC__bool FLAC__bitreader_read_raw_uint64(FLAC__BitReader *br, FLAC__uint64 *va
return true;
}
-FLaC__INLINE FLAC__bool FLAC__bitreader_read_uint32_little_endian(FLAC__BitReader *br, FLAC__uint32 *val)
+FLAC__bool FLAC__bitreader_read_raw_int64(FLAC__BitReader *br, FLAC__int64 *val, uint32_t bits)
+{
+ FLAC__uint64 uval, mask;
+ /* OPT: inline raw uint64 code here, or make into a macro if possible in the .h file */
+ if (bits < 1 || ! FLAC__bitreader_read_raw_uint64(br, &uval, bits))
+ return false;
+ /* sign-extend *val assuming it is currently bits wide. */
+ /* From: https://graphics.stanford.edu/~seander/bithacks.html#FixedSignExtend */
+ mask = bits >= 65 ? 0 : 1llu << (bits - 1);
+ *val = (uval ^ mask) - mask;
+ return true;
+}
+
+inline FLAC__bool FLAC__bitreader_read_uint32_little_endian(FLAC__BitReader *br, FLAC__uint32 *val)
{
FLAC__uint32 x8, x32 = 0;
@@ -523,7 +577,7 @@ FLaC__INLINE FLAC__bool FLAC__bitreader_read_uint32_little_endian(FLAC__BitReade
return true;
}
-FLAC__bool FLAC__bitreader_skip_bits_no_crc(FLAC__BitReader *br, unsigned bits)
+FLAC__bool FLAC__bitreader_skip_bits_no_crc(FLAC__BitReader *br, uint32_t bits)
{
/*
* OPT: a faster implementation is possible but probably not that useful
@@ -533,12 +587,12 @@ FLAC__bool FLAC__bitreader_skip_bits_no_crc(FLAC__BitReader *br, unsigned bits)
FLAC__ASSERT(0 != br->buffer);
if(bits > 0) {
- const unsigned n = br->consumed_bits & 7;
- unsigned m;
+ const uint32_t n = br->consumed_bits & 7;
+ uint32_t m;
FLAC__uint32 x;
if(n != 0) {
- m = min(8-n, bits);
+ m = flac_min(8-n, bits);
if(!FLAC__bitreader_read_raw_uint32(br, &x, m))
return false;
bits -= m;
@@ -558,7 +612,7 @@ FLAC__bool FLAC__bitreader_skip_bits_no_crc(FLAC__BitReader *br, unsigned bits)
return true;
}
-FLAC__bool FLAC__bitreader_skip_byte_block_aligned_no_crc(FLAC__BitReader *br, unsigned nvals)
+FLAC__bool FLAC__bitreader_skip_byte_block_aligned_no_crc(FLAC__BitReader *br, uint32_t nvals)
{
FLAC__uint32 x;
@@ -566,6 +620,13 @@ FLAC__bool FLAC__bitreader_skip_byte_block_aligned_no_crc(FLAC__BitReader *br, u
FLAC__ASSERT(0 != br->buffer);
FLAC__ASSERT(FLAC__bitreader_is_consumed_byte_aligned(br));
+ if(br->read_limit_set && br->read_limit < (uint32_t)-1){
+ if(br->read_limit < nvals*8){
+ br->read_limit = -1;
+ return false;
+ }
+ }
+
/* step 1: skip over partial head word to get word aligned */
while(nvals && br->consumed_bits) { /* i.e. run until we read 'nvals' bytes or we hit the end of the head word */
if(!FLAC__bitreader_read_raw_uint32(br, &x, 8))
@@ -574,11 +635,14 @@ FLAC__bool FLAC__bitreader_skip_byte_block_aligned_no_crc(FLAC__BitReader *br, u
}
if(0 == nvals)
return true;
+
/* step 2: skip whole words in chunks */
while(nvals >= FLAC__BYTES_PER_WORD) {
if(br->consumed_words < br->words) {
br->consumed_words++;
nvals -= FLAC__BYTES_PER_WORD;
+ if(br->read_limit_set)
+ br->read_limit -= FLAC__BITS_PER_WORD;
}
else if(!bitreader_read_from_client_(br))
return false;
@@ -593,7 +657,7 @@ FLAC__bool FLAC__bitreader_skip_byte_block_aligned_no_crc(FLAC__BitReader *br, u
return true;
}
-FLAC__bool FLAC__bitreader_read_byte_block_aligned_no_crc(FLAC__BitReader *br, FLAC__byte *val, unsigned nvals)
+FLAC__bool FLAC__bitreader_read_byte_block_aligned_no_crc(FLAC__BitReader *br, FLAC__byte *val, uint32_t nvals)
{
FLAC__uint32 x;
@@ -601,6 +665,13 @@ FLAC__bool FLAC__bitreader_read_byte_block_aligned_no_crc(FLAC__BitReader *br, F
FLAC__ASSERT(0 != br->buffer);
FLAC__ASSERT(FLAC__bitreader_is_consumed_byte_aligned(br));
+ if(br->read_limit_set && br->read_limit < (uint32_t)-1){
+ if(br->read_limit < nvals*8){
+ br->read_limit = -1;
+ return false;
+ }
+ }
+
/* step 1: read from partial head word to get word aligned */
while(nvals && br->consumed_bits) { /* i.e. run until we read 'nvals' bytes or we hit the end of the head word */
if(!FLAC__bitreader_read_raw_uint32(br, &x, 8))
@@ -634,6 +705,8 @@ FLAC__bool FLAC__bitreader_read_byte_block_aligned_no_crc(FLAC__BitReader *br, F
#endif
val += FLAC__BYTES_PER_WORD;
nvals -= FLAC__BYTES_PER_WORD;
+ if(br->read_limit_set)
+ br->read_limit -= FLAC__BITS_PER_WORD;
}
else if(!bitreader_read_from_client_(br))
return false;
@@ -649,10 +722,10 @@ FLAC__bool FLAC__bitreader_read_byte_block_aligned_no_crc(FLAC__BitReader *br, F
return true;
}
-FLaC__INLINE FLAC__bool FLAC__bitreader_read_unary_unsigned(FLAC__BitReader *br, unsigned *val)
+FLAC__bool FLAC__bitreader_read_unary_unsigned(FLAC__BitReader *br, uint32_t *val)
#if 0 /* slow but readable version */
{
- unsigned bit;
+ uint32_t bit;
FLAC__ASSERT(0 != br);
FLAC__ASSERT(0 != br->buffer);
@@ -670,7 +743,7 @@ FLaC__INLINE FLAC__bool FLAC__bitreader_read_unary_unsigned(FLAC__BitReader *br,
}
#else
{
- unsigned i;
+ uint32_t i;
FLAC__ASSERT(0 != br);
FLAC__ASSERT(0 != br->buffer);
@@ -678,14 +751,13 @@ FLaC__INLINE FLAC__bool FLAC__bitreader_read_unary_unsigned(FLAC__BitReader *br,
*val = 0;
while(1) {
while(br->consumed_words < br->words) { /* if we've not consumed up to a partial tail word... */
- brword b = br->buffer[br->consumed_words] << br->consumed_bits;
+ brword b = br->consumed_bits < FLAC__BITS_PER_WORD ? br->buffer[br->consumed_words] << br->consumed_bits : 0;
if(b) {
i = COUNT_ZERO_MSBS(b);
*val += i;
i++;
br->consumed_bits += i;
if(br->consumed_bits >= FLAC__BITS_PER_WORD) { /* faster way of testing if(br->consumed_bits == FLAC__BITS_PER_WORD) */
- crc16_update_word_(br, br->buffer[br->consumed_words]);
br->consumed_words++;
br->consumed_bits = 0;
}
@@ -693,7 +765,6 @@ FLaC__INLINE FLAC__bool FLAC__bitreader_read_unary_unsigned(FLAC__BitReader *br,
}
else {
*val += FLAC__BITS_PER_WORD - br->consumed_bits;
- crc16_update_word_(br, br->buffer[br->consumed_words]);
br->consumed_words++;
br->consumed_bits = 0;
/* didn't find stop bit yet, have to keep going... */
@@ -706,8 +777,8 @@ FLaC__INLINE FLAC__bool FLAC__bitreader_read_unary_unsigned(FLAC__BitReader *br,
* us data a byte at a time (unlikely), br->consumed_bits may not
* be zero.
*/
- if(br->bytes) {
- const unsigned end = br->bytes * 8;
+ if(br->bytes*8 > br->consumed_bits) {
+ const uint32_t end = br->bytes * 8;
brword b = (br->buffer[br->consumed_words] & (FLAC__WORD_ALL_ONES << (FLAC__BITS_PER_WORD-end))) << br->consumed_bits;
if(b) {
i = COUNT_ZERO_MSBS(b);
@@ -719,7 +790,7 @@ FLaC__INLINE FLAC__bool FLAC__bitreader_read_unary_unsigned(FLAC__BitReader *br,
}
else {
*val += end - br->consumed_bits;
- br->consumed_bits += end;
+ br->consumed_bits = end;
FLAC__ASSERT(br->consumed_bits < FLAC__BITS_PER_WORD);
/* didn't find stop bit yet, have to keep going... */
}
@@ -730,10 +801,11 @@ FLaC__INLINE FLAC__bool FLAC__bitreader_read_unary_unsigned(FLAC__BitReader *br,
}
#endif
-FLAC__bool FLAC__bitreader_read_rice_signed(FLAC__BitReader *br, int *val, unsigned parameter)
+#if 0 /* unused */
+FLAC__bool FLAC__bitreader_read_rice_signed(FLAC__BitReader *br, int *val, uint32_t parameter)
{
FLAC__uint32 lsbs = 0, msbs = 0;
- unsigned uval;
+ uint32_t uval;
FLAC__ASSERT(0 != br);
FLAC__ASSERT(0 != br->buffer);
@@ -756,387 +828,23 @@ FLAC__bool FLAC__bitreader_read_rice_signed(FLAC__BitReader *br, int *val, unsig
return true;
}
-
-/* this is by far the most heavily used reader call. it ain't pretty but it's fast */
-/* a lot of the logic is copied, then adapted, from FLAC__bitreader_read_unary_unsigned() and FLAC__bitreader_read_raw_uint32() */
-FLAC__bool FLAC__bitreader_read_rice_signed_block(FLAC__BitReader *br, int vals[], unsigned nvals, unsigned parameter)
-/* OPT: possibly faster version for use with MSVC */
-#ifdef _MSC_VER
-{
- unsigned i;
- unsigned uval = 0;
- unsigned bits; /* the # of binary LSBs left to read to finish a rice codeword */
-
- /* try and get br->consumed_words and br->consumed_bits into register;
- * must remember to flush them back to *br before calling other
- * bitwriter functions that use them, and before returning */
- register unsigned cwords;
- register unsigned cbits;
-
- FLAC__ASSERT(0 != br);
- FLAC__ASSERT(0 != br->buffer);
- /* WATCHOUT: code does not work with <32bit words; we can make things much faster with this assertion */
- FLAC__ASSERT(FLAC__BITS_PER_WORD >= 32);
- FLAC__ASSERT(parameter < 32);
- /* the above two asserts also guarantee that the binary part never straddles more that 2 words, so we don't have to loop to read it */
-
- if(nvals == 0)
- return true;
-
- cbits = br->consumed_bits;
- cwords = br->consumed_words;
-
- while(1) {
-
- /* read unary part */
- while(1) {
- while(cwords < br->words) { /* if we've not consumed up to a partial tail word... */
- brword b = br->buffer[cwords] << cbits;
- if(b) {
-#if 0 /* slower, probably due to bad register allocation... */ && defined FLAC__CPU_IA32 && !defined FLAC__NO_ASM && FLAC__BITS_PER_WORD == 32
- __asm {
- bsr eax, b
- not eax
- and eax, 31
- mov i, eax
- }
-#else
- i = COUNT_ZERO_MSBS(b);
-#endif
- uval += i;
- bits = parameter;
- i++;
- cbits += i;
- if(cbits == FLAC__BITS_PER_WORD) {
- crc16_update_word_(br, br->buffer[cwords]);
- cwords++;
- cbits = 0;
- }
- goto break1;
- }
- else {
- uval += FLAC__BITS_PER_WORD - cbits;
- crc16_update_word_(br, br->buffer[cwords]);
- cwords++;
- cbits = 0;
- /* didn't find stop bit yet, have to keep going... */
- }
- }
- /* at this point we've eaten up all the whole words; have to try
- * reading through any tail bytes before calling the read callback.
- * this is a repeat of the above logic adjusted for the fact we
- * don't have a whole word. note though if the client is feeding
- * us data a byte at a time (unlikely), br->consumed_bits may not
- * be zero.
- */
- if(br->bytes) {
- const unsigned end = br->bytes * 8;
- brword b = (br->buffer[cwords] & (FLAC__WORD_ALL_ONES << (FLAC__BITS_PER_WORD-end))) << cbits;
- if(b) {
- i = COUNT_ZERO_MSBS(b);
- uval += i;
- bits = parameter;
- i++;
- cbits += i;
- FLAC__ASSERT(cbits < FLAC__BITS_PER_WORD);
- goto break1;
- }
- else {
- uval += end - cbits;
- cbits += end;
- FLAC__ASSERT(cbits < FLAC__BITS_PER_WORD);
- /* didn't find stop bit yet, have to keep going... */
- }
- }
- /* flush registers and read; bitreader_read_from_client_() does
- * not touch br->consumed_bits at all but we still need to set
- * it in case it fails and we have to return false.
- */
- br->consumed_bits = cbits;
- br->consumed_words = cwords;
- if(!bitreader_read_from_client_(br))
- return false;
- cwords = br->consumed_words;
- }
-break1:
- /* read binary part */
- FLAC__ASSERT(cwords <= br->words);
-
- if(bits) {
- while((br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8 - cbits < bits) {
- /* flush registers and read; bitreader_read_from_client_() does
- * not touch br->consumed_bits at all but we still need to set
- * it in case it fails and we have to return false.
- */
- br->consumed_bits = cbits;
- br->consumed_words = cwords;
- if(!bitreader_read_from_client_(br))
- return false;
- cwords = br->consumed_words;
- }
- if(cwords < br->words) { /* if we've not consumed up to a partial tail word... */
- if(cbits) {
- /* this also works when consumed_bits==0, it's just a little slower than necessary for that case */
- const unsigned n = FLAC__BITS_PER_WORD - cbits;
- const brword word = br->buffer[cwords];
- if(bits < n) {
- uval <<= bits;
- uval |= (word & (FLAC__WORD_ALL_ONES >> cbits)) >> (n-bits);
- cbits += bits;
- goto break2;
- }
- uval <<= n;
- uval |= word & (FLAC__WORD_ALL_ONES >> cbits);
- bits -= n;
- crc16_update_word_(br, word);
- cwords++;
- cbits = 0;
- if(bits) { /* if there are still bits left to read, there have to be less than 32 so they will all be in the next word */
- uval <<= bits;
- uval |= (br->buffer[cwords] >> (FLAC__BITS_PER_WORD-bits));
- cbits = bits;
- }
- goto break2;
- }
- else {
- FLAC__ASSERT(bits < FLAC__BITS_PER_WORD);
- uval <<= bits;
- uval |= br->buffer[cwords] >> (FLAC__BITS_PER_WORD-bits);
- cbits = bits;
- goto break2;
- }
- }
- else {
- /* in this case we're starting our read at a partial tail word;
- * the reader has guaranteed that we have at least 'bits' bits
- * available to read, which makes this case simpler.
- */
- uval <<= bits;
- if(cbits) {
- /* this also works when consumed_bits==0, it's just a little slower than necessary for that case */
- FLAC__ASSERT(cbits + bits <= br->bytes*8);
- uval |= (br->buffer[cwords] & (FLAC__WORD_ALL_ONES >> cbits)) >> (FLAC__BITS_PER_WORD-cbits-bits);
- cbits += bits;
- goto break2;
- }
- else {
- uval |= br->buffer[cwords] >> (FLAC__BITS_PER_WORD-bits);
- cbits += bits;
- goto break2;
- }
- }
- }
-break2:
- /* compose the value */
- *vals = (int)(uval >> 1 ^ -(int)(uval & 1));
-
- /* are we done? */
- --nvals;
- if(nvals == 0) {
- br->consumed_bits = cbits;
- br->consumed_words = cwords;
- return true;
- }
-
- uval = 0;
- ++vals;
-
- }
-}
-#else
-{
- unsigned i;
- unsigned uval = 0;
-
- /* try and get br->consumed_words and br->consumed_bits into register;
- * must remember to flush them back to *br before calling other
- * bitwriter functions that use them, and before returning */
- register unsigned cwords;
- register unsigned cbits;
- unsigned ucbits; /* keep track of the number of unconsumed bits in the buffer */
-
- FLAC__ASSERT(0 != br);
- FLAC__ASSERT(0 != br->buffer);
- /* WATCHOUT: code does not work with <32bit words; we can make things much faster with this assertion */
- FLAC__ASSERT(FLAC__BITS_PER_WORD >= 32);
- FLAC__ASSERT(parameter < 32);
- /* the above two asserts also guarantee that the binary part never straddles more than 2 words, so we don't have to loop to read it */
-
- if(nvals == 0)
- return true;
-
- cbits = br->consumed_bits;
- cwords = br->consumed_words;
- ucbits = (br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8 - cbits;
-
- while(1) {
-
- /* read unary part */
- while(1) {
- while(cwords < br->words) { /* if we've not consumed up to a partial tail word... */
- brword b = br->buffer[cwords] << cbits;
- if(b) {
-#if 0 /* is not discernably faster... */ && defined FLAC__CPU_IA32 && !defined FLAC__NO_ASM && FLAC__BITS_PER_WORD == 32 && defined __GNUC__
- asm volatile (
- "bsrl %1, %0;"
- "notl %0;"
- "andl $31, %0;"
- : "=r"(i)
- : "r"(b)
- );
-#else
- i = COUNT_ZERO_MSBS(b);
#endif
- uval += i;
- cbits += i;
- cbits++; /* skip over stop bit */
- if(cbits >= FLAC__BITS_PER_WORD) { /* faster way of testing if(cbits == FLAC__BITS_PER_WORD) */
- crc16_update_word_(br, br->buffer[cwords]);
- cwords++;
- cbits = 0;
- }
- goto break1;
- }
- else {
- uval += FLAC__BITS_PER_WORD - cbits;
- crc16_update_word_(br, br->buffer[cwords]);
- cwords++;
- cbits = 0;
- /* didn't find stop bit yet, have to keep going... */
- }
- }
- /* at this point we've eaten up all the whole words; have to try
- * reading through any tail bytes before calling the read callback.
- * this is a repeat of the above logic adjusted for the fact we
- * don't have a whole word. note though if the client is feeding
- * us data a byte at a time (unlikely), br->consumed_bits may not
- * be zero.
- */
- if(br->bytes) {
- const unsigned end = br->bytes * 8;
- brword b = (br->buffer[cwords] & ~(FLAC__WORD_ALL_ONES >> end)) << cbits;
- if(b) {
- i = COUNT_ZERO_MSBS(b);
- uval += i;
- cbits += i;
- cbits++; /* skip over stop bit */
- FLAC__ASSERT(cbits < FLAC__BITS_PER_WORD);
- goto break1;
- }
- else {
- uval += end - cbits;
- cbits += end;
- FLAC__ASSERT(cbits < FLAC__BITS_PER_WORD);
- /* didn't find stop bit yet, have to keep going... */
- }
- }
- /* flush registers and read; bitreader_read_from_client_() does
- * not touch br->consumed_bits at all but we still need to set
- * it in case it fails and we have to return false.
- */
- br->consumed_bits = cbits;
- br->consumed_words = cwords;
- if(!bitreader_read_from_client_(br))
- return false;
- cwords = br->consumed_words;
- ucbits = (br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8 - cbits + uval;
- /* + uval to offset our count by the # of unary bits already
- * consumed before the read, because we will add these back
- * in all at once at break1
- */
- }
-break1:
- ucbits -= uval;
- ucbits--; /* account for stop bit */
-
- /* read binary part */
- FLAC__ASSERT(cwords <= br->words);
-
- if(parameter) {
- while(ucbits < parameter) {
- /* flush registers and read; bitreader_read_from_client_() does
- * not touch br->consumed_bits at all but we still need to set
- * it in case it fails and we have to return false.
- */
- br->consumed_bits = cbits;
- br->consumed_words = cwords;
- if(!bitreader_read_from_client_(br))
- return false;
- cwords = br->consumed_words;
- ucbits = (br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8 - cbits;
- }
- if(cwords < br->words) { /* if we've not consumed up to a partial tail word... */
- if(cbits) {
- /* this also works when consumed_bits==0, it's just slower than necessary for that case */
- const unsigned n = FLAC__BITS_PER_WORD - cbits;
- const brword word = br->buffer[cwords];
- if(parameter < n) {
- uval <<= parameter;
- uval |= (word & (FLAC__WORD_ALL_ONES >> cbits)) >> (n-parameter);
- cbits += parameter;
- }
- else {
- uval <<= n;
- uval |= word & (FLAC__WORD_ALL_ONES >> cbits);
- crc16_update_word_(br, word);
- cwords++;
- cbits = parameter - n;
- if(cbits) { /* parameter > n, i.e. if there are still bits left to read, there have to be less than 32 so they will all be in the next word */
- uval <<= cbits;
- uval |= (br->buffer[cwords] >> (FLAC__BITS_PER_WORD-cbits));
- }
- }
- }
- else {
- cbits = parameter;
- uval <<= parameter;
- uval |= br->buffer[cwords] >> (FLAC__BITS_PER_WORD-cbits);
- }
- }
- else {
- /* in this case we're starting our read at a partial tail word;
- * the reader has guaranteed that we have at least 'parameter'
- * bits available to read, which makes this case simpler.
- */
- uval <<= parameter;
- if(cbits) {
- /* this also works when consumed_bits==0, it's just a little slower than necessary for that case */
- FLAC__ASSERT(cbits + parameter <= br->bytes*8);
- uval |= (br->buffer[cwords] & (FLAC__WORD_ALL_ONES >> cbits)) >> (FLAC__BITS_PER_WORD-cbits-parameter);
- cbits += parameter;
- }
- else {
- cbits = parameter;
- uval |= br->buffer[cwords] >> (FLAC__BITS_PER_WORD-cbits);
- }
- }
- }
-
- ucbits -= parameter;
- /* compose the value */
- *vals = (int)(uval >> 1 ^ -(int)(uval & 1));
-
- /* are we done? */
- --nvals;
- if(nvals == 0) {
- br->consumed_bits = cbits;
- br->consumed_words = cwords;
- return true;
- }
-
- uval = 0;
- ++vals;
+/* this is by far the most heavily used reader call. it ain't pretty but it's fast */
+FLAC__bool FLAC__bitreader_read_rice_signed_block(FLAC__BitReader *br, int vals[], uint32_t nvals, uint32_t parameter)
+#include "deduplication/bitreader_read_rice_signed_block.c"
- }
-}
+#ifdef FLAC__BMI2_SUPPORTED
+FLAC__SSE_TARGET("bmi2")
+FLAC__bool FLAC__bitreader_read_rice_signed_block_bmi2(FLAC__BitReader *br, int vals[], uint32_t nvals, uint32_t parameter)
+#include "deduplication/bitreader_read_rice_signed_block.c"
#endif
#if 0 /* UNUSED */
-FLAC__bool FLAC__bitreader_read_golomb_signed(FLAC__BitReader *br, int *val, unsigned parameter)
+FLAC__bool FLAC__bitreader_read_golomb_signed(FLAC__BitReader *br, int *val, uint32_t parameter)
{
FLAC__uint32 lsbs = 0, msbs = 0;
- unsigned bit, uval, k;
+ uint32_t bit, uval, k;
FLAC__ASSERT(0 != br);
FLAC__ASSERT(0 != br->buffer);
@@ -1156,7 +864,7 @@ FLAC__bool FLAC__bitreader_read_golomb_signed(FLAC__BitReader *br, int *val, uns
uval = (msbs << k) | lsbs;
}
else {
- unsigned d = (1 << (k+1)) - parameter;
+ uint32_t d = (1 << (k+1)) - parameter;
if(lsbs >= d) {
if(!FLAC__bitreader_read_bit(br, &bit))
return false;
@@ -1168,7 +876,7 @@ FLAC__bool FLAC__bitreader_read_golomb_signed(FLAC__BitReader *br, int *val, uns
uval = msbs * parameter + lsbs;
}
- /* unfold unsigned to signed */
+ /* unfold uint32_t to signed */
if(uval & 1)
*val = -((int)(uval >> 1)) - 1;
else
@@ -1177,10 +885,10 @@ FLAC__bool FLAC__bitreader_read_golomb_signed(FLAC__BitReader *br, int *val, uns
return true;
}
-FLAC__bool FLAC__bitreader_read_golomb_unsigned(FLAC__BitReader *br, unsigned *val, unsigned parameter)
+FLAC__bool FLAC__bitreader_read_golomb_unsigned(FLAC__BitReader *br, uint32_t *val, uint32_t parameter)
{
FLAC__uint32 lsbs, msbs = 0;
- unsigned bit, k;
+ uint32_t bit, k;
FLAC__ASSERT(0 != br);
FLAC__ASSERT(0 != br->buffer);
@@ -1200,7 +908,7 @@ FLAC__bool FLAC__bitreader_read_golomb_unsigned(FLAC__BitReader *br, unsigned *v
*val = (msbs << k) | lsbs;
}
else {
- unsigned d = (1 << (k+1)) - parameter;
+ uint32_t d = (1 << (k+1)) - parameter;
if(lsbs >= d) {
if(!FLAC__bitreader_read_bit(br, &bit))
return false;
@@ -1217,11 +925,11 @@ FLAC__bool FLAC__bitreader_read_golomb_unsigned(FLAC__BitReader *br, unsigned *v
#endif /* UNUSED */
/* on return, if *val == 0xffffffff then the utf-8 sequence was invalid, but the return value will be true */
-FLAC__bool FLAC__bitreader_read_utf8_uint32(FLAC__BitReader *br, FLAC__uint32 *val, FLAC__byte *raw, unsigned *rawlen)
+FLAC__bool FLAC__bitreader_read_utf8_uint32(FLAC__BitReader *br, FLAC__uint32 *val, FLAC__byte *raw, uint32_t *rawlen)
{
FLAC__uint32 v = 0;
FLAC__uint32 x;
- unsigned i;
+ uint32_t i;
if(!FLAC__bitreader_read_raw_uint32(br, &x, 8))
return false;
@@ -1272,11 +980,11 @@ FLAC__bool FLAC__bitreader_read_utf8_uint32(FLAC__BitReader *br, FLAC__uint32 *v
}
/* on return, if *val == 0xffffffffffffffff then the utf-8 sequence was invalid, but the return value will be true */
-FLAC__bool FLAC__bitreader_read_utf8_uint64(FLAC__BitReader *br, FLAC__uint64 *val, FLAC__byte *raw, unsigned *rawlen)
+FLAC__bool FLAC__bitreader_read_utf8_uint64(FLAC__BitReader *br, FLAC__uint64 *val, FLAC__byte *raw, uint32_t *rawlen)
{
FLAC__uint64 v = 0;
FLAC__uint32 x;
- unsigned i;
+ uint32_t i;
if(!FLAC__bitreader_read_raw_uint32(br, &x, 8))
return false;
@@ -1329,3 +1037,16 @@ FLAC__bool FLAC__bitreader_read_utf8_uint64(FLAC__BitReader *br, FLAC__uint64 *v
*val = v;
return true;
}
+
+/* These functions are declared inline in this file but are also callable as
+ * externs from elsewhere.
+ * According to the C99 spec, section 6.7.4, simply providing a function
+ * prototype in a header file without 'inline' and making the function inline
+ * in this file should be sufficient.
+ * Unfortunately, the Microsoft VS compiler doesn't pick them up externally. To
+ * fix that we add extern declarations here.
+ */
+extern FLAC__bool FLAC__bitreader_is_consumed_byte_aligned(const FLAC__BitReader *br);
+extern uint32_t FLAC__bitreader_bits_left_for_byte_alignment(const FLAC__BitReader *br);
+extern uint32_t FLAC__bitreader_get_input_bits_unconsumed(const FLAC__BitReader *br);
+extern FLAC__bool FLAC__bitreader_read_uint32_little_endian(FLAC__BitReader *br, FLAC__uint32 *val);
diff --git a/3rdparty/libflac/src/libFLAC/bitwriter.c b/3rdparty/libflac/src/libFLAC/bitwriter.c
index 441122ee883..1d7be8083f4 100644
--- a/3rdparty/libflac/src/libFLAC/bitwriter.c
+++ b/3rdparty/libflac/src/libFLAC/bitwriter.c
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -33,21 +34,30 @@
# include <config.h>
#endif
-#include <stdlib.h> /* for malloc() */
-#include <string.h> /* for memcpy(), memset() */
+#include <stdlib.h>
+#include <string.h>
#include "private/bitwriter.h"
#include "private/crc.h"
+#include "private/format.h"
+#include "private/macros.h"
+#include "private/stream_encoder.h"
#include "FLAC/assert.h"
#include "share/alloc.h"
+#include "share/compat.h"
#include "share/endswap.h"
/* Things should be fastest when this matches the machine word size */
/* WATCHOUT: if you change this you must also change the following #defines down to SWAP_BE_WORD_TO_HOST below to match */
/* WATCHOUT: there are a few places where the code will not work unless bwword is >= 32 bits wide */
+
+#if (ENABLE_64_BIT_WORDS == 0)
+
typedef FLAC__uint32 bwword;
-#define FLAC__BYTES_PER_WORD 4
+typedef FLAC__uint64 FLAC__bwtemp;
+#define FLAC__BYTES_PER_WORD 4 /* sizeof bwword */
#define FLAC__BITS_PER_WORD 32
-#define FLAC__WORD_ALL_ONES ((FLAC__uint32)0xffffffff)
+#define FLAC__TEMP_BITS 64
+#define FLAC__HALF_TEMP_BITS 32
/* SWAP_BE_WORD_TO_HOST swaps bytes in a bwword (which is always big-endian) if necessary to match host byte order */
#if WORDS_BIGENDIAN
#define SWAP_BE_WORD_TO_HOST(x) (x)
@@ -55,47 +65,51 @@ typedef FLAC__uint32 bwword;
#define SWAP_BE_WORD_TO_HOST(x) ENDSWAP_32(x)
#endif
+#else
+
+typedef FLAC__uint64 bwword;
+typedef FLAC__uint64 FLAC__bwtemp;
+#define FLAC__BYTES_PER_WORD 8 /* sizeof bwword */
+#define FLAC__BITS_PER_WORD 64
+#define FLAC__TEMP_BITS 64
+#define FLAC__HALF_TEMP_BITS 32
+/* SWAP_BE_WORD_TO_HOST swaps bytes in a bwword (which is always big-endian) if necessary to match host byte order */
+#if WORDS_BIGENDIAN
+#define SWAP_BE_WORD_TO_HOST(x) (x)
+#else
+#define SWAP_BE_WORD_TO_HOST(x) ENDSWAP_64(x)
+#endif
+
+#endif
+
/*
* The default capacity here doesn't matter too much. The buffer always grows
* to hold whatever is written to it. Usually the encoder will stop adding at
* a frame or metadata block, then write that out and clear the buffer for the
* next one.
*/
-static const unsigned FLAC__BITWRITER_DEFAULT_CAPACITY = 32768u / sizeof(bwword); /* size in words */
+static const uint32_t FLAC__BITWRITER_DEFAULT_CAPACITY = 32768u / sizeof(bwword); /* size in words */
/* When growing, increment 4K at a time */
-static const unsigned FLAC__BITWRITER_DEFAULT_INCREMENT = 4096u / sizeof(bwword); /* size in words */
+static const uint32_t FLAC__BITWRITER_DEFAULT_INCREMENT = 4096u / sizeof(bwword); /* size in words */
#define FLAC__WORDS_TO_BITS(words) ((words) * FLAC__BITS_PER_WORD)
#define FLAC__TOTAL_BITS(bw) (FLAC__WORDS_TO_BITS((bw)->words) + (bw)->bits)
-#ifdef min
-#undef min
-#endif
-#define min(x,y) ((x)<(y)?(x):(y))
-
-/* adjust for compilers that can't understand using LLU suffix for uint64_t literals */
-#ifdef _MSC_VER
-#define FLAC__U64L(x) x
-#else
-#define FLAC__U64L(x) x##LLU
-#endif
-
-#ifndef FLaC__INLINE
-#define FLaC__INLINE
-#endif
-
struct FLAC__BitWriter {
bwword *buffer;
bwword accum; /* accumulator; bits are right-justified; when full, accum is appended to buffer */
- unsigned capacity; /* capacity of buffer in words */
- unsigned words; /* # of complete words in buffer */
- unsigned bits; /* # of used bits in accum */
+ uint32_t capacity; /* capacity of buffer in words */
+ uint32_t words; /* # of complete words in buffer */
+ uint32_t bits; /* # of used bits in accum */
};
/* * WATCHOUT: The current implementation only grows the buffer. */
-static FLAC__bool bitwriter_grow_(FLAC__BitWriter *bw, unsigned bits_to_add)
+#ifndef __SUNPRO_C
+static
+#endif
+FLAC__bool bitwriter_grow_(FLAC__BitWriter *bw, uint32_t bits_to_add)
{
- unsigned new_capacity;
+ uint32_t new_capacity;
bwword *new_buffer;
FLAC__ASSERT(0 != bw);
@@ -110,6 +124,13 @@ static FLAC__bool bitwriter_grow_(FLAC__BitWriter *bw, unsigned bits_to_add)
if(bw->capacity >= new_capacity)
return true;
+ if(new_capacity * sizeof(bwword) > (1u << FLAC__STREAM_METADATA_LENGTH_LEN))
+ /* Requested new capacity is larger than the largest possible metadata block,
+ * which is also larger than the largest sane framesize. That means something
+ * went very wrong somewhere and previous checks failed.
+ * To prevent chrashing, give up */
+ return false;
+
/* round up capacity increase to the nearest FLAC__BITWRITER_DEFAULT_INCREMENT */
if((new_capacity - bw->capacity) % FLAC__BITWRITER_DEFAULT_INCREMENT)
new_capacity += FLAC__BITWRITER_DEFAULT_INCREMENT - ((new_capacity - bw->capacity) % FLAC__BITWRITER_DEFAULT_INCREMENT);
@@ -118,7 +139,7 @@ static FLAC__bool bitwriter_grow_(FLAC__BitWriter *bw, unsigned bits_to_add)
FLAC__ASSERT(new_capacity > bw->capacity);
FLAC__ASSERT(new_capacity >= bw->words + ((bw->bits + bits_to_add + FLAC__BITS_PER_WORD - 1) / FLAC__BITS_PER_WORD));
- new_buffer = (bwword*)safe_realloc_mul_2op_(bw->buffer, sizeof(bwword), /*times*/new_capacity);
+ new_buffer = safe_realloc_nofree_mul_2op_(bw->buffer, sizeof(bwword), /*times*/new_capacity);
if(new_buffer == 0)
return false;
bw->buffer = new_buffer;
@@ -135,7 +156,7 @@ static FLAC__bool bitwriter_grow_(FLAC__BitWriter *bw, unsigned bits_to_add)
FLAC__BitWriter *FLAC__bitwriter_new(void)
{
- FLAC__BitWriter *bw = (FLAC__BitWriter*)calloc(1, sizeof(FLAC__BitWriter));
+ FLAC__BitWriter *bw = calloc(1, sizeof(FLAC__BitWriter));
/* note that calloc() sets all members to 0 for us */
return bw;
}
@@ -160,7 +181,7 @@ FLAC__bool FLAC__bitwriter_init(FLAC__BitWriter *bw)
bw->words = bw->bits = 0;
bw->capacity = FLAC__BITWRITER_DEFAULT_CAPACITY;
- bw->buffer = (bwword*)malloc(sizeof(bwword) * bw->capacity);
+ bw->buffer = malloc(sizeof(bwword) * bw->capacity);
if(bw->buffer == 0)
return false;
@@ -183,30 +204,6 @@ void FLAC__bitwriter_clear(FLAC__BitWriter *bw)
bw->words = bw->bits = 0;
}
-void FLAC__bitwriter_dump(const FLAC__BitWriter *bw, FILE *out)
-{
- unsigned i, j;
- if(bw == 0) {
- fprintf(out, "bitwriter is NULL\n");
- }
- else {
- fprintf(out, "bitwriter: capacity=%u words=%u bits=%u total_bits=%u\n", bw->capacity, bw->words, bw->bits, FLAC__TOTAL_BITS(bw));
-
- for(i = 0; i < bw->words; i++) {
- fprintf(out, "%08X: ", i);
- for(j = 0; j < FLAC__BITS_PER_WORD; j++)
- fprintf(out, "%01u", bw->buffer[i] & (1 << (FLAC__BITS_PER_WORD-j-1)) ? 1:0);
- fprintf(out, "\n");
- }
- if(bw->bits > 0) {
- fprintf(out, "%08X: ", i);
- for(j = 0; j < bw->bits; j++)
- fprintf(out, "%01u", bw->accum & (1 << (bw->bits-j-1)) ? 1:0);
- fprintf(out, "\n");
- }
- }
-}
-
FLAC__bool FLAC__bitwriter_get_write_crc16(FLAC__BitWriter *bw, FLAC__uint16 *crc)
{
const FLAC__byte *buffer;
@@ -242,7 +239,7 @@ FLAC__bool FLAC__bitwriter_is_byte_aligned(const FLAC__BitWriter *bw)
return ((bw->bits & 7) == 0);
}
-unsigned FLAC__bitwriter_get_input_bits_unconsumed(const FLAC__BitWriter *bw)
+uint32_t FLAC__bitwriter_get_input_bits_unconsumed(const FLAC__BitWriter *bw)
{
return FLAC__TOTAL_BITS(bw);
}
@@ -275,9 +272,9 @@ void FLAC__bitwriter_release_buffer(FLAC__BitWriter *bw)
(void)bw;
}
-FLaC__INLINE FLAC__bool FLAC__bitwriter_write_zeroes(FLAC__BitWriter *bw, unsigned bits)
+inline FLAC__bool FLAC__bitwriter_write_zeroes(FLAC__BitWriter *bw, uint32_t bits)
{
- unsigned n;
+ uint32_t n;
FLAC__ASSERT(0 != bw);
FLAC__ASSERT(0 != bw->buffer);
@@ -289,7 +286,7 @@ FLaC__INLINE FLAC__bool FLAC__bitwriter_write_zeroes(FLAC__BitWriter *bw, unsign
return false;
/* first part gets to word alignment */
if(bw->bits) {
- n = min(FLAC__BITS_PER_WORD - bw->bits, bits);
+ n = flac_min(FLAC__BITS_PER_WORD - bw->bits, bits);
bw->accum <<= n;
bits -= n;
bw->bits += n;
@@ -313,20 +310,24 @@ FLaC__INLINE FLAC__bool FLAC__bitwriter_write_zeroes(FLAC__BitWriter *bw, unsign
return true;
}
-FLaC__INLINE FLAC__bool FLAC__bitwriter_write_raw_uint32(FLAC__BitWriter *bw, FLAC__uint32 val, unsigned bits)
+static inline FLAC__bool FLAC__bitwriter_write_raw_uint32_nocheck(FLAC__BitWriter *bw, FLAC__uint32 val, uint32_t bits)
{
- register unsigned left;
+ register uint32_t left;
/* WATCHOUT: code does not work with <32bit words; we can make things much faster with this assertion */
FLAC__ASSERT(FLAC__BITS_PER_WORD >= 32);
- FLAC__ASSERT(0 != bw);
- FLAC__ASSERT(0 != bw->buffer);
+ if(bw == 0 || bw->buffer == 0)
+ return false;
+
+ if (bits > 32)
+ return false;
- FLAC__ASSERT(bits <= 32);
if(bits == 0)
return true;
+ FLAC__ASSERT((bits == 32) || (val>>bits == 0));
+
/* slightly pessimistic size check but faster than "<= bw->words + (bw->bits+bits+FLAC__BITS_PER_WORD-1)/FLAC__BITS_PER_WORD" */
if(bw->capacity <= bw->words + bits && !bitwriter_grow_(bw, bits))
return false;
@@ -341,102 +342,124 @@ FLaC__INLINE FLAC__bool FLAC__bitwriter_write_raw_uint32(FLAC__BitWriter *bw, FL
bw->accum <<= left;
bw->accum |= val >> (bw->bits = bits - left);
bw->buffer[bw->words++] = SWAP_BE_WORD_TO_HOST(bw->accum);
- bw->accum = val;
+ bw->accum = val; /* unused top bits can contain garbage */
}
- else {
- bw->accum = val;
- bw->bits = 0;
- bw->buffer[bw->words++] = SWAP_BE_WORD_TO_HOST(val);
+ else { /* at this point bits == FLAC__BITS_PER_WORD == 32 and bw->bits == 0 */
+ bw->buffer[bw->words++] = SWAP_BE_WORD_TO_HOST((bwword)val);
}
return true;
}
-FLaC__INLINE FLAC__bool FLAC__bitwriter_write_raw_int32(FLAC__BitWriter *bw, FLAC__int32 val, unsigned bits)
+inline FLAC__bool FLAC__bitwriter_write_raw_uint32(FLAC__BitWriter *bw, FLAC__uint32 val, uint32_t bits)
+{
+ /* check that unused bits are unset */
+ if((bits < 32) && (val>>bits != 0))
+ return false;
+
+ return FLAC__bitwriter_write_raw_uint32_nocheck(bw, val, bits);
+}
+
+inline FLAC__bool FLAC__bitwriter_write_raw_int32(FLAC__BitWriter *bw, FLAC__int32 val, uint32_t bits)
{
/* zero-out unused bits */
if(bits < 32)
val &= (~(0xffffffff << bits));
- return FLAC__bitwriter_write_raw_uint32(bw, (FLAC__uint32)val, bits);
+ return FLAC__bitwriter_write_raw_uint32_nocheck(bw, (FLAC__uint32)val, bits);
}
-FLaC__INLINE FLAC__bool FLAC__bitwriter_write_raw_uint64(FLAC__BitWriter *bw, FLAC__uint64 val, unsigned bits)
+inline FLAC__bool FLAC__bitwriter_write_raw_uint64(FLAC__BitWriter *bw, FLAC__uint64 val, uint32_t bits)
{
/* this could be a little faster but it's not used for much */
if(bits > 32) {
return
FLAC__bitwriter_write_raw_uint32(bw, (FLAC__uint32)(val>>32), bits-32) &&
- FLAC__bitwriter_write_raw_uint32(bw, (FLAC__uint32)val, 32);
+ FLAC__bitwriter_write_raw_uint32_nocheck(bw, (FLAC__uint32)val, 32);
}
else
return FLAC__bitwriter_write_raw_uint32(bw, (FLAC__uint32)val, bits);
}
-FLaC__INLINE FLAC__bool FLAC__bitwriter_write_raw_uint32_little_endian(FLAC__BitWriter *bw, FLAC__uint32 val)
+inline FLAC__bool FLAC__bitwriter_write_raw_int64(FLAC__BitWriter *bw, FLAC__int64 val, uint32_t bits)
+{
+ FLAC__uint64 uval = val;
+ /* zero-out unused bits */
+ if(bits < 64)
+ uval &= (~(UINT64_MAX << bits));
+ return FLAC__bitwriter_write_raw_uint64(bw, uval, bits);
+}
+
+inline FLAC__bool FLAC__bitwriter_write_raw_uint32_little_endian(FLAC__BitWriter *bw, FLAC__uint32 val)
{
/* this doesn't need to be that fast as currently it is only used for vorbis comments */
- if(!FLAC__bitwriter_write_raw_uint32(bw, val & 0xff, 8))
+ if(!FLAC__bitwriter_write_raw_uint32_nocheck(bw, val & 0xff, 8))
return false;
- if(!FLAC__bitwriter_write_raw_uint32(bw, (val>>8) & 0xff, 8))
+ if(!FLAC__bitwriter_write_raw_uint32_nocheck(bw, (val>>8) & 0xff, 8))
return false;
- if(!FLAC__bitwriter_write_raw_uint32(bw, (val>>16) & 0xff, 8))
+ if(!FLAC__bitwriter_write_raw_uint32_nocheck(bw, (val>>16) & 0xff, 8))
return false;
- if(!FLAC__bitwriter_write_raw_uint32(bw, val>>24, 8))
+ if(!FLAC__bitwriter_write_raw_uint32_nocheck(bw, val>>24, 8))
return false;
return true;
}
-FLaC__INLINE FLAC__bool FLAC__bitwriter_write_byte_block(FLAC__BitWriter *bw, const FLAC__byte vals[], unsigned nvals)
+inline FLAC__bool FLAC__bitwriter_write_byte_block(FLAC__BitWriter *bw, const FLAC__byte vals[], uint32_t nvals)
{
- unsigned i;
+ uint32_t i;
+
+ /* grow capacity upfront to prevent constant reallocation during writes */
+ if(bw->capacity <= bw->words + nvals / (FLAC__BITS_PER_WORD / 8) + 1 && !bitwriter_grow_(bw, nvals * 8))
+ return false;
/* this could be faster but currently we don't need it to be since it's only used for writing metadata */
for(i = 0; i < nvals; i++) {
- if(!FLAC__bitwriter_write_raw_uint32(bw, (FLAC__uint32)(vals[i]), 8))
+ if(!FLAC__bitwriter_write_raw_uint32_nocheck(bw, (FLAC__uint32)(vals[i]), 8))
return false;
}
return true;
}
-FLAC__bool FLAC__bitwriter_write_unary_unsigned(FLAC__BitWriter *bw, unsigned val)
+FLAC__bool FLAC__bitwriter_write_unary_unsigned(FLAC__BitWriter *bw, uint32_t val)
{
if(val < 32)
- return FLAC__bitwriter_write_raw_uint32(bw, 1, ++val);
+ return FLAC__bitwriter_write_raw_uint32_nocheck(bw, 1, ++val);
else
return
FLAC__bitwriter_write_zeroes(bw, val) &&
- FLAC__bitwriter_write_raw_uint32(bw, 1, 1);
+ FLAC__bitwriter_write_raw_uint32_nocheck(bw, 1, 1);
}
-unsigned FLAC__bitwriter_rice_bits(FLAC__int32 val, unsigned parameter)
+#if 0 /* UNUSED */
+uint32_t FLAC__bitwriter_rice_bits(FLAC__int32 val, uint32_t parameter)
{
FLAC__uint32 uval;
- FLAC__ASSERT(parameter < sizeof(unsigned)*8);
+ FLAC__ASSERT(parameter < 32);
- /* fold signed to unsigned; actual formula is: negative(v)? -2v-1 : 2v */
- uval = (val<<1) ^ (val>>31);
+ /* fold signed to uint32_t; actual formula is: negative(v)? -2v-1 : 2v */
+ uval = val;
+ uval <<= 1;
+ uval ^= (val>>31);
return 1 + parameter + (uval >> parameter);
}
-#if 0 /* UNUSED */
-unsigned FLAC__bitwriter_golomb_bits_signed(int val, unsigned parameter)
+uint32_t FLAC__bitwriter_golomb_bits_signed(int val, uint32_t parameter)
{
- unsigned bits, msbs, uval;
- unsigned k;
+ uint32_t bits, msbs, uval;
+ uint32_t k;
FLAC__ASSERT(parameter > 0);
- /* fold signed to unsigned */
+ /* fold signed to uint32_t */
if(val < 0)
- uval = (unsigned)(((-(++val)) << 1) + 1);
+ uval = (uint32_t)(((-(++val)) << 1) + 1);
else
- uval = (unsigned)(val << 1);
+ uval = (uint32_t)(val << 1);
k = FLAC__bitmath_ilog2(parameter);
if(parameter == 1u<<k) {
@@ -446,7 +469,7 @@ unsigned FLAC__bitwriter_golomb_bits_signed(int val, unsigned parameter)
bits = 1 + k + msbs;
}
else {
- unsigned q, r, d;
+ uint32_t q, r, d;
d = (1 << (k+1)) - parameter;
q = uval / parameter;
@@ -459,10 +482,10 @@ unsigned FLAC__bitwriter_golomb_bits_signed(int val, unsigned parameter)
return bits;
}
-unsigned FLAC__bitwriter_golomb_bits_unsigned(unsigned uval, unsigned parameter)
+uint32_t FLAC__bitwriter_golomb_bits_unsigned(uint32_t uval, uint32_t parameter)
{
- unsigned bits, msbs;
- unsigned k;
+ uint32_t bits, msbs;
+ uint32_t k;
FLAC__ASSERT(parameter > 0);
@@ -474,7 +497,7 @@ unsigned FLAC__bitwriter_golomb_bits_unsigned(unsigned uval, unsigned parameter)
bits = 1 + k + msbs;
}
else {
- unsigned q, r, d;
+ uint32_t q, r, d;
d = (1 << (k+1)) - parameter;
q = uval / parameter;
@@ -486,19 +509,20 @@ unsigned FLAC__bitwriter_golomb_bits_unsigned(unsigned uval, unsigned parameter)
}
return bits;
}
-#endif /* UNUSED */
-FLAC__bool FLAC__bitwriter_write_rice_signed(FLAC__BitWriter *bw, FLAC__int32 val, unsigned parameter)
+FLAC__bool FLAC__bitwriter_write_rice_signed(FLAC__BitWriter *bw, FLAC__int32 val, uint32_t parameter)
{
- unsigned total_bits, interesting_bits, msbs;
+ uint32_t total_bits, interesting_bits, msbs;
FLAC__uint32 uval, pattern;
FLAC__ASSERT(0 != bw);
FLAC__ASSERT(0 != bw->buffer);
- FLAC__ASSERT(parameter < 8*sizeof(uval));
+ FLAC__ASSERT(parameter < 32);
- /* fold signed to unsigned; actual formula is: negative(v)? -2v-1 : 2v */
- uval = (val<<1) ^ (val>>31);
+ /* fold signed to uint32_t; actual formula is: negative(v)? -2v-1 : 2v */
+ uval = val;
+ uval <<= 1;
+ uval ^= (val>>31);
msbs = uval >> parameter;
interesting_bits = 1 + parameter;
@@ -513,142 +537,190 @@ FLAC__bool FLAC__bitwriter_write_rice_signed(FLAC__BitWriter *bw, FLAC__int32 va
FLAC__bitwriter_write_zeroes(bw, msbs) && /* write the unary MSBs */
FLAC__bitwriter_write_raw_uint32(bw, pattern, interesting_bits); /* write the unary end bit and binary LSBs */
}
+#endif /* UNUSED */
+
+#if (ENABLE_64_BIT_WORDS == 0)
-FLAC__bool FLAC__bitwriter_write_rice_signed_block(FLAC__BitWriter *bw, const FLAC__int32 *vals, unsigned nvals, unsigned parameter)
+#define WIDE_ACCUM_TO_BW { \
+ bw->accum = wide_accum >> FLAC__HALF_TEMP_BITS; \
+ bw->buffer[bw->words++] = SWAP_BE_WORD_TO_HOST(bw->accum); \
+ wide_accum <<= FLAC__HALF_TEMP_BITS; \
+ bitpointer += FLAC__HALF_TEMP_BITS; \
+}
+
+#else
+
+#define WIDE_ACCUM_TO_BW { \
+ FLAC__ASSERT(bw->bits % FLAC__HALF_TEMP_BITS == 0); \
+ if(bw->bits == 0) { \
+ bw->accum = wide_accum >> FLAC__HALF_TEMP_BITS; \
+ wide_accum <<= FLAC__HALF_TEMP_BITS; \
+ bw->bits = FLAC__HALF_TEMP_BITS; \
+ } \
+ else { \
+ bw->accum <<= FLAC__HALF_TEMP_BITS; \
+ bw->accum += wide_accum >> FLAC__HALF_TEMP_BITS; \
+ bw->buffer[bw->words++] = SWAP_BE_WORD_TO_HOST(bw->accum); \
+ wide_accum <<= FLAC__HALF_TEMP_BITS; \
+ bw->bits = 0; \
+ } \
+ bitpointer += FLAC__HALF_TEMP_BITS; \
+}
+
+#endif
+
+FLAC__bool FLAC__bitwriter_write_rice_signed_block(FLAC__BitWriter *bw, const FLAC__int32 *vals, uint32_t nvals, uint32_t parameter)
{
- const FLAC__uint32 mask1 = FLAC__WORD_ALL_ONES << parameter; /* we val|=mask1 to set the stop bit above it... */
- const FLAC__uint32 mask2 = FLAC__WORD_ALL_ONES >> (31-parameter); /* ...then mask off the bits above the stop bit with val&=mask2*/
+ const FLAC__uint32 mask1 = (FLAC__uint32)0xffffffff << parameter; /* we val|=mask1 to set the stop bit above it... */
+ const FLAC__uint32 mask2 = (FLAC__uint32)0xffffffff >> (31-parameter); /* ...then mask off the bits above the stop bit with val&=mask2 */
FLAC__uint32 uval;
- unsigned left;
- const unsigned lsbits = 1 + parameter;
- unsigned msbits;
+ const uint32_t lsbits = 1 + parameter;
+ uint32_t msbits, total_bits;
+ FLAC__bwtemp wide_accum = 0;
+ FLAC__uint32 bitpointer = FLAC__TEMP_BITS;
FLAC__ASSERT(0 != bw);
FLAC__ASSERT(0 != bw->buffer);
- FLAC__ASSERT(parameter < 8*sizeof(bwword)-1);
+ FLAC__ASSERT(parameter < 31);
/* WATCHOUT: code does not work with <32bit words; we can make things much faster with this assertion */
FLAC__ASSERT(FLAC__BITS_PER_WORD >= 32);
+#if (ENABLE_64_BIT_WORDS == 0)
+ if(bw->bits > 0) {
+ bitpointer -= bw->bits;
+ wide_accum = (FLAC__bwtemp)(bw->accum) << bitpointer;
+ bw->bits = 0;
+ }
+#else
+ if(bw->bits > 0 && bw->bits < FLAC__HALF_TEMP_BITS) {
+ bitpointer -= bw->bits;
+ wide_accum = bw->accum << bitpointer;
+ bw->bits = 0;
+ }
+ else if(bw->bits > FLAC__HALF_TEMP_BITS) {
+ bitpointer -= (bw->bits - FLAC__HALF_TEMP_BITS);
+ wide_accum = bw->accum << bitpointer;
+ bw->accum >>= (bw->bits - FLAC__HALF_TEMP_BITS);
+ bw->bits = FLAC__HALF_TEMP_BITS;
+ }
+#endif
+
+ /* Reserve one FLAC__TEMP_BITS per symbol, so checks for space are only necessary when very large symbols are encountered
+ * this might be considered wasteful, but is only at most 8kB more than necessary for a blocksize of 4096 */
+ if(bw->capacity * FLAC__BITS_PER_WORD <= bw->words * FLAC__BITS_PER_WORD + nvals * FLAC__TEMP_BITS + bw->bits && !bitwriter_grow_(bw, nvals * FLAC__TEMP_BITS))
+ return false;
while(nvals) {
- /* fold signed to unsigned; actual formula is: negative(v)? -2v-1 : 2v */
- uval = (*vals<<1) ^ (*vals>>31);
+ /* fold signed to uint32_t; actual formula is: negative(v)? -2v-1 : 2v */
+ uval = *vals;
+ uval <<= 1;
+ uval ^= (*vals>>31);
msbits = uval >> parameter;
+ total_bits = lsbits + msbits;
-#if 0 /* OPT: can remove this special case if it doesn't make up for the extra compare (doesn't make a statistically significant difference with msvc or gcc/x86) */
- if(bw->bits && bw->bits + msbits + lsbits <= FLAC__BITS_PER_WORD) { /* i.e. if the whole thing fits in the current bwword */
- /* ^^^ if bw->bits is 0 then we may have filled the buffer and have no free bwword to work in */
- bw->bits = bw->bits + msbits + lsbits;
- uval |= mask1; /* set stop bit */
- uval &= mask2; /* mask off unused top bits */
- /* NOT: bw->accum <<= msbits + lsbits because msbits+lsbits could be 32, then the shift would be a NOP */
- bw->accum <<= msbits;
- bw->accum <<= lsbits;
- bw->accum |= uval;
- if(bw->bits == FLAC__BITS_PER_WORD) {
- bw->buffer[bw->words++] = SWAP_BE_WORD_TO_HOST(bw->accum);
- bw->bits = 0;
- /* burying the capacity check down here means we have to grow the buffer a little if there are more vals to do */
- if(bw->capacity <= bw->words && nvals > 1 && !bitwriter_grow_(bw, 1)) {
- FLAC__ASSERT(bw->capacity == bw->words);
- return false;
- }
+ uval |= mask1; /* set stop bit */
+ uval &= mask2; /* mask off unused top bits */
+
+
+ if(total_bits <= bitpointer) {
+ /* There is room enough to store the symbol whole at once */
+ wide_accum |= (FLAC__bwtemp)(uval) << (bitpointer - total_bits);
+ bitpointer -= total_bits;
+ if(bitpointer <= FLAC__HALF_TEMP_BITS) {
+ /* A word is finished, copy the upper 32 bits of the wide_accum */
+ WIDE_ACCUM_TO_BW
}
}
else {
-#elif 1 /*@@@@@@ OPT: try this version with MSVC6 to see if better, not much difference for gcc-4 */
- if(bw->bits && bw->bits + msbits + lsbits < FLAC__BITS_PER_WORD) { /* i.e. if the whole thing fits in the current bwword */
- /* ^^^ if bw->bits is 0 then we may have filled the buffer and have no free bwword to work in */
- bw->bits = bw->bits + msbits + lsbits;
- uval |= mask1; /* set stop bit */
- uval &= mask2; /* mask off unused top bits */
- bw->accum <<= msbits + lsbits;
- bw->accum |= uval;
- }
- else {
-#endif
- /* slightly pessimistic size check but faster than "<= bw->words + (bw->bits+msbits+lsbits+FLAC__BITS_PER_WORD-1)/FLAC__BITS_PER_WORD" */
- /* OPT: pessimism may cause flurry of false calls to grow_ which eat up all savings before it */
- if(bw->capacity <= bw->words + bw->bits + msbits + 1/*lsbits always fit in 1 bwword*/ && !bitwriter_grow_(bw, msbits+lsbits))
- return false;
-
- if(msbits) {
- /* first part gets to word alignment */
- if(bw->bits) {
- left = FLAC__BITS_PER_WORD - bw->bits;
- if(msbits < left) {
- bw->accum <<= msbits;
- bw->bits += msbits;
- goto break1;
- }
- else {
- bw->accum <<= left;
- msbits -= left;
- bw->buffer[bw->words++] = SWAP_BE_WORD_TO_HOST(bw->accum);
- bw->bits = 0;
- }
- }
- /* do whole words */
- while(msbits >= FLAC__BITS_PER_WORD) {
- bw->buffer[bw->words++] = 0;
- msbits -= FLAC__BITS_PER_WORD;
- }
- /* do any leftovers */
- if(msbits > 0) {
- bw->accum = 0;
- bw->bits = msbits;
- }
+ /* The symbol needs to be split. This code isn't used often */
+ /* First check for space in the bitwriter */
+ if(total_bits > FLAC__TEMP_BITS) {
+ FLAC__uint32 oversize_in_bits = total_bits - FLAC__TEMP_BITS;
+ FLAC__uint32 capacity_needed = bw->words * FLAC__BITS_PER_WORD + bw->bits + nvals * FLAC__TEMP_BITS + oversize_in_bits;
+ if(bw->capacity * FLAC__BITS_PER_WORD <= capacity_needed && !bitwriter_grow_(bw, nvals * FLAC__TEMP_BITS + oversize_in_bits))
+ return false;
}
-break1:
- uval |= mask1; /* set stop bit */
- uval &= mask2; /* mask off unused top bits */
-
- left = FLAC__BITS_PER_WORD - bw->bits;
- if(lsbits < left) {
- bw->accum <<= lsbits;
- bw->accum |= uval;
- bw->bits += lsbits;
+ if(msbits > bitpointer) {
+ /* We have a lot of 0 bits to write, first align with bitwriter word */
+ msbits -= bitpointer - FLAC__HALF_TEMP_BITS;
+ bitpointer = FLAC__HALF_TEMP_BITS;
+ WIDE_ACCUM_TO_BW
+ while(msbits > bitpointer) {
+ /* As the accumulator is already zero, we only need to
+ * assign zeroes to the bitbuffer */
+ WIDE_ACCUM_TO_BW
+ bitpointer -= FLAC__HALF_TEMP_BITS;
+ msbits -= FLAC__HALF_TEMP_BITS;
+ }
+ /* The remaining bits are zero, and the accumulator already is zero,
+ * so just subtract the number of bits from bitpointer. When storing,
+ * we can also just store 0 */
+ bitpointer -= msbits;
+ if(bitpointer <= FLAC__HALF_TEMP_BITS)
+ WIDE_ACCUM_TO_BW
}
else {
- /* if bw->bits == 0, left==FLAC__BITS_PER_WORD which will always
- * be > lsbits (because of previous assertions) so it would have
- * triggered the (lsbits<left) case above.
- */
- FLAC__ASSERT(bw->bits);
- FLAC__ASSERT(left < FLAC__BITS_PER_WORD);
- bw->accum <<= left;
- bw->accum |= uval >> (bw->bits = lsbits - left);
- bw->buffer[bw->words++] = SWAP_BE_WORD_TO_HOST(bw->accum);
- bw->accum = uval;
+ bitpointer -= msbits;
+ if(bitpointer <= FLAC__HALF_TEMP_BITS)
+ WIDE_ACCUM_TO_BW
}
-#if 1
+ /* The lsbs + stop bit always fit 32 bit, so this code mirrors the code above */
+ wide_accum |= (FLAC__bwtemp)(uval) << (bitpointer - lsbits);
+ bitpointer -= lsbits;
+ if(bitpointer <= FLAC__HALF_TEMP_BITS) {
+ /* A word is finished, copy the upper 32 bits of the wide_accum */
+ WIDE_ACCUM_TO_BW
+ }
}
-#endif
vals++;
nvals--;
}
+ /* Now fixup remainder of wide_accum */
+#if (ENABLE_64_BIT_WORDS == 0)
+ if(bitpointer < FLAC__TEMP_BITS) {
+ bw->accum = wide_accum >> bitpointer;
+ bw->bits = FLAC__TEMP_BITS - bitpointer;
+ }
+#else
+ if(bitpointer < FLAC__TEMP_BITS) {
+ if(bw->bits == 0) {
+ bw->accum = wide_accum >> bitpointer;
+ bw->bits = FLAC__TEMP_BITS - bitpointer;
+ }
+ else if (bw->bits == FLAC__HALF_TEMP_BITS) {
+ bw->accum <<= FLAC__TEMP_BITS - bitpointer;
+ bw->accum |= (wide_accum >> bitpointer);
+ bw->bits = FLAC__HALF_TEMP_BITS + FLAC__TEMP_BITS - bitpointer;
+ }
+ else {
+ FLAC__ASSERT(0);
+ }
+ }
+#endif
+
+
return true;
}
#if 0 /* UNUSED */
-FLAC__bool FLAC__bitwriter_write_golomb_signed(FLAC__BitWriter *bw, int val, unsigned parameter)
+FLAC__bool FLAC__bitwriter_write_golomb_signed(FLAC__BitWriter *bw, int val, uint32_t parameter)
{
- unsigned total_bits, msbs, uval;
- unsigned k;
+ uint32_t total_bits, msbs, uval;
+ uint32_t k;
FLAC__ASSERT(0 != bw);
FLAC__ASSERT(0 != bw->buffer);
FLAC__ASSERT(parameter > 0);
- /* fold signed to unsigned */
+ /* fold signed to uint32_t */
if(val < 0)
- uval = (unsigned)(((-(++val)) << 1) + 1);
+ uval = (uint32_t)(((-(++val)) << 1) + 1);
else
- uval = (unsigned)(val << 1);
+ uval = (uint32_t)(val << 1);
k = FLAC__bitmath_ilog2(parameter);
if(parameter == 1u<<k) {
- unsigned pattern;
+ uint32_t pattern;
FLAC__ASSERT(k <= 30);
@@ -671,7 +743,7 @@ FLAC__bool FLAC__bitwriter_write_golomb_signed(FLAC__BitWriter *bw, int val, uns
}
}
else {
- unsigned q, r, d;
+ uint32_t q, r, d;
d = (1 << (k+1)) - parameter;
q = uval / parameter;
@@ -695,10 +767,10 @@ FLAC__bool FLAC__bitwriter_write_golomb_signed(FLAC__BitWriter *bw, int val, uns
return true;
}
-FLAC__bool FLAC__bitwriter_write_golomb_unsigned(FLAC__BitWriter *bw, unsigned uval, unsigned parameter)
+FLAC__bool FLAC__bitwriter_write_golomb_unsigned(FLAC__BitWriter *bw, uint32_t uval, uint32_t parameter)
{
- unsigned total_bits, msbs;
- unsigned k;
+ uint32_t total_bits, msbs;
+ uint32_t k;
FLAC__ASSERT(0 != bw);
FLAC__ASSERT(0 != bw->buffer);
@@ -706,7 +778,7 @@ FLAC__bool FLAC__bitwriter_write_golomb_unsigned(FLAC__BitWriter *bw, unsigned u
k = FLAC__bitmath_ilog2(parameter);
if(parameter == 1u<<k) {
- unsigned pattern;
+ uint32_t pattern;
FLAC__ASSERT(k <= 30);
@@ -729,7 +801,7 @@ FLAC__bool FLAC__bitwriter_write_golomb_unsigned(FLAC__BitWriter *bw, unsigned u
}
}
else {
- unsigned q, r, d;
+ uint32_t q, r, d;
d = (1 << (k+1)) - parameter;
q = uval / parameter;
@@ -761,40 +833,41 @@ FLAC__bool FLAC__bitwriter_write_utf8_uint32(FLAC__BitWriter *bw, FLAC__uint32 v
FLAC__ASSERT(0 != bw);
FLAC__ASSERT(0 != bw->buffer);
- FLAC__ASSERT(!(val & 0x80000000)); /* this version only handles 31 bits */
+ if((val & 0x80000000) != 0) /* this version only handles 31 bits */
+ return false;
if(val < 0x80) {
- return FLAC__bitwriter_write_raw_uint32(bw, val, 8);
+ return FLAC__bitwriter_write_raw_uint32_nocheck(bw, val, 8);
}
else if(val < 0x800) {
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0xC0 | (val>>6), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (val&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0xC0 | (val>>6), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (val&0x3F), 8);
}
else if(val < 0x10000) {
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0xE0 | (val>>12), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | ((val>>6)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (val&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0xE0 | (val>>12), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | ((val>>6)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (val&0x3F), 8);
}
else if(val < 0x200000) {
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0xF0 | (val>>18), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | ((val>>12)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | ((val>>6)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (val&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0xF0 | (val>>18), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | ((val>>12)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | ((val>>6)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (val&0x3F), 8);
}
else if(val < 0x4000000) {
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0xF8 | (val>>24), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | ((val>>18)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | ((val>>12)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | ((val>>6)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (val&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0xF8 | (val>>24), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | ((val>>18)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | ((val>>12)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | ((val>>6)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (val&0x3F), 8);
}
else {
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0xFC | (val>>30), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | ((val>>24)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | ((val>>18)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | ((val>>12)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | ((val>>6)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (val&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0xFC | (val>>30), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | ((val>>24)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | ((val>>18)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | ((val>>12)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | ((val>>6)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (val&0x3F), 8);
}
return ok;
@@ -807,49 +880,50 @@ FLAC__bool FLAC__bitwriter_write_utf8_uint64(FLAC__BitWriter *bw, FLAC__uint64 v
FLAC__ASSERT(0 != bw);
FLAC__ASSERT(0 != bw->buffer);
- FLAC__ASSERT(!(val & FLAC__U64L(0xFFFFFFF000000000))); /* this version only handles 36 bits */
+ if((val & FLAC__U64L(0xFFFFFFF000000000)) != 0) /* this version only handles 36 bits */
+ return false;
if(val < 0x80) {
- return FLAC__bitwriter_write_raw_uint32(bw, (FLAC__uint32)val, 8);
+ return FLAC__bitwriter_write_raw_uint32_nocheck(bw, (FLAC__uint32)val, 8);
}
else if(val < 0x800) {
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0xC0 | (FLAC__uint32)(val>>6), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)(val&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0xC0 | (FLAC__uint32)(val>>6), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)(val&0x3F), 8);
}
else if(val < 0x10000) {
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0xE0 | (FLAC__uint32)(val>>12), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)((val>>6)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)(val&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0xE0 | (FLAC__uint32)(val>>12), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)((val>>6)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)(val&0x3F), 8);
}
else if(val < 0x200000) {
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0xF0 | (FLAC__uint32)(val>>18), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)((val>>12)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)((val>>6)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)(val&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0xF0 | (FLAC__uint32)(val>>18), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)((val>>12)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)((val>>6)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)(val&0x3F), 8);
}
else if(val < 0x4000000) {
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0xF8 | (FLAC__uint32)(val>>24), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)((val>>18)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)((val>>12)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)((val>>6)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)(val&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0xF8 | (FLAC__uint32)(val>>24), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)((val>>18)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)((val>>12)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)((val>>6)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)(val&0x3F), 8);
}
else if(val < 0x80000000) {
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0xFC | (FLAC__uint32)(val>>30), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)((val>>24)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)((val>>18)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)((val>>12)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)((val>>6)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)(val&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0xFC | (FLAC__uint32)(val>>30), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)((val>>24)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)((val>>18)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)((val>>12)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)((val>>6)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)(val&0x3F), 8);
}
else {
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0xFE, 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)((val>>30)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)((val>>24)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)((val>>18)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)((val>>12)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)((val>>6)&0x3F), 8);
- ok &= FLAC__bitwriter_write_raw_uint32(bw, 0x80 | (FLAC__uint32)(val&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0xFE, 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)((val>>30)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)((val>>24)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)((val>>18)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)((val>>12)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)((val>>6)&0x3F), 8);
+ ok &= FLAC__bitwriter_write_raw_uint32_nocheck(bw, 0x80 | (FLAC__uint32)(val&0x3F), 8);
}
return ok;
@@ -863,3 +937,19 @@ FLAC__bool FLAC__bitwriter_zero_pad_to_byte_boundary(FLAC__BitWriter *bw)
else
return true;
}
+
+/* These functions are declared inline in this file but are also callable as
+ * externs from elsewhere.
+ * According to the C99 spec, section 6.7.4, simply providing a function
+ * prototype in a header file without 'inline' and making the function inline
+ * in this file should be sufficient.
+ * Unfortunately, the Microsoft VS compiler doesn't pick them up externally. To
+ * fix that we add extern declarations here.
+ */
+extern FLAC__bool FLAC__bitwriter_write_zeroes(FLAC__BitWriter *bw, uint32_t bits);
+extern FLAC__bool FLAC__bitwriter_write_raw_uint32(FLAC__BitWriter *bw, FLAC__uint32 val, uint32_t bits);
+extern FLAC__bool FLAC__bitwriter_write_raw_int32(FLAC__BitWriter *bw, FLAC__int32 val, uint32_t bits);
+extern FLAC__bool FLAC__bitwriter_write_raw_uint64(FLAC__BitWriter *bw, FLAC__uint64 val, uint32_t bits);
+extern FLAC__bool FLAC__bitwriter_write_raw_int64(FLAC__BitWriter *bw, FLAC__int64 val, uint32_t bits);
+extern FLAC__bool FLAC__bitwriter_write_raw_uint32_little_endian(FLAC__BitWriter *bw, FLAC__uint32 val);
+extern FLAC__bool FLAC__bitwriter_write_byte_block(FLAC__BitWriter *bw, const FLAC__byte vals[], uint32_t nvals);
diff --git a/3rdparty/libflac/src/libFLAC/cpu.c b/3rdparty/libflac/src/libFLAC/cpu.c
index e5ea78ea37c..d088e3c0b70 100644
--- a/3rdparty/libflac/src/libFLAC/cpu.c
+++ b/3rdparty/libflac/src/libFLAC/cpu.c
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -34,389 +35,221 @@
#endif
#include "private/cpu.h"
+#include "share/compat.h"
#include <stdlib.h>
-#include <stdio.h>
-
-#if defined FLAC__CPU_IA32
-# include <signal.h>
-#elif defined FLAC__CPU_PPC
-# if !defined FLAC__NO_ASM
-# if defined FLAC__SYS_DARWIN
-# include <sys/sysctl.h>
-# include <mach/mach.h>
-# include <mach/mach_host.h>
-# include <mach/host_info.h>
-# include <mach/machine.h>
-# ifndef CPU_SUBTYPE_POWERPC_970
-# define CPU_SUBTYPE_POWERPC_970 ((cpu_subtype_t) 100)
-# endif
-# else /* FLAC__SYS_DARWIN */
-
-# include <signal.h>
-# include <setjmp.h>
-
-static sigjmp_buf jmpbuf;
-static volatile sig_atomic_t canjump = 0;
-
-static void sigill_handler (int sig)
-{
- if (!canjump) {
- signal (sig, SIG_DFL);
- raise (sig);
- }
- canjump = 0;
- siglongjmp (jmpbuf, 1);
-}
-# endif /* FLAC__SYS_DARWIN */
-# endif /* FLAC__NO_ASM */
-#endif /* FLAC__CPU_PPC */
+#include <string.h>
-#if defined (__NetBSD__) || defined(__OpenBSD__)
-#include <sys/param.h>
-#include <sys/sysctl.h>
-#include <machine/cpu.h>
+#if defined _MSC_VER
+#include <intrin.h> /* for __cpuid() and _xgetbv() */
+#elif defined __GNUC__ && defined HAVE_CPUID_H
+#include <cpuid.h> /* for __get_cpuid() and __get_cpuid_max() */
#endif
-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
-#include <sys/types.h>
-#include <sys/sysctl.h>
+#ifndef NDEBUG
+#include <stdio.h>
+#define dfprintf fprintf
+#else
+/* This is bad practice, it should be a static void empty function */
+#define dfprintf(file, format, ...)
#endif
-#if defined(__APPLE__)
-/* how to get sysctlbyname()? */
+#if defined(HAVE_SYS_AUXV_H)
+#include <sys/auxv.h>
#endif
-#if defined(FLAC__CPU_IA32) && !defined(FLAC__NO_ASM) && defined (FLAC__HAS_NASM)
+#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN && !defined FLAC__NO_ASM
+
/* these are flags in EDX of CPUID AX=00000001 */
-static const unsigned FLAC__CPUINFO_IA32_CPUID_CMOV = 0x00008000;
-static const unsigned FLAC__CPUINFO_IA32_CPUID_MMX = 0x00800000;
-static const unsigned FLAC__CPUINFO_IA32_CPUID_FXSR = 0x01000000;
-static const unsigned FLAC__CPUINFO_IA32_CPUID_SSE = 0x02000000;
-static const unsigned FLAC__CPUINFO_IA32_CPUID_SSE2 = 0x04000000;
+static const uint32_t FLAC__CPUINFO_X86_CPUID_CMOV = 0x00008000;
+static const uint32_t FLAC__CPUINFO_X86_CPUID_MMX = 0x00800000;
+static const uint32_t FLAC__CPUINFO_X86_CPUID_SSE = 0x02000000;
+static const uint32_t FLAC__CPUINFO_X86_CPUID_SSE2 = 0x04000000;
+
/* these are flags in ECX of CPUID AX=00000001 */
-static const unsigned FLAC__CPUINFO_IA32_CPUID_SSE3 = 0x00000001;
-static const unsigned FLAC__CPUINFO_IA32_CPUID_SSSE3 = 0x00000200;
-#ifdef FLAC__USE_3DNOW
-/* these are flags in EDX of CPUID AX=80000001 */
-static const unsigned FLAC__CPUINFO_IA32_CPUID_EXTENDED_AMD_3DNOW = 0x80000000;
-static const unsigned FLAC__CPUINFO_IA32_CPUID_EXTENDED_AMD_EXT3DNOW = 0x40000000;
-static const unsigned FLAC__CPUINFO_IA32_CPUID_EXTENDED_AMD_EXTMMX = 0x00400000;
-#endif
+static const uint32_t FLAC__CPUINFO_X86_CPUID_SSE3 = 0x00000001;
+static const uint32_t FLAC__CPUINFO_X86_CPUID_SSSE3 = 0x00000200;
+static const uint32_t FLAC__CPUINFO_X86_CPUID_SSE41 = 0x00080000;
+static const uint32_t FLAC__CPUINFO_X86_CPUID_SSE42 = 0x00100000;
+static const uint32_t FLAC__CPUINFO_X86_CPUID_OSXSAVE = 0x08000000;
+static const uint32_t FLAC__CPUINFO_X86_CPUID_AVX = 0x10000000;
+static const uint32_t FLAC__CPUINFO_X86_CPUID_FMA = 0x00001000;
+
+/* these are flags in EBX of CPUID AX=00000007 */
+static const uint32_t FLAC__CPUINFO_X86_CPUID_AVX2 = 0x00000020;
+static const uint32_t FLAC__CPUINFO_X86_CPUID_BMI2 = 0x00000100;
+
+static uint32_t
+cpu_xgetbv_x86(void)
+{
+#if (defined _MSC_VER || defined __INTEL_COMPILER) && FLAC__AVX_SUPPORTED
+ return (uint32_t)_xgetbv(0);
+#elif defined __GNUC__
+ uint32_t lo, hi;
+ __asm__ volatile (".byte 0x0f, 0x01, 0xd0" : "=a"(lo), "=d"(hi) : "c" (0));
+ return lo;
+#else
+ return 0;
#endif
+}
-
-/*
- * Extra stuff needed for detection of OS support for SSE on IA-32
- */
-#if defined(FLAC__CPU_IA32) && !defined FLAC__NO_ASM && defined FLAC__HAS_NASM && !defined FLAC__NO_SSE_OS && !defined FLAC__SSE_OS
-# if defined(__linux__)
-/*
- * If the OS doesn't support SSE, we will get here with a SIGILL. We
- * modify the return address to jump over the offending SSE instruction
- * and also the operation following it that indicates the instruction
- * executed successfully. In this way we use no global variables and
- * stay thread-safe.
- *
- * 3 + 3 + 6:
- * 3 bytes for "xorps xmm0,xmm0"
- * 3 bytes for estimate of how long the follwing "inc var" instruction is
- * 6 bytes extra in case our estimate is wrong
- * 12 bytes puts us in the NOP "landing zone"
- */
-# undef USE_OBSOLETE_SIGCONTEXT_FLAVOR /* #define this to use the older signal handler method */
-# ifdef USE_OBSOLETE_SIGCONTEXT_FLAVOR
- static void sigill_handler_sse_os(int signal, struct sigcontext sc)
- {
- (void)signal;
- sc.eip += 3 + 3 + 6;
- }
-# else
-# include <sys/ucontext.h>
- static void sigill_handler_sse_os(int signal, siginfo_t *si, void *uc)
- {
- (void)signal, (void)si;
- ((ucontext_t*)uc)->uc_mcontext.gregs[14/*REG_EIP*/] += 3 + 3 + 6;
- }
-# endif
-# elif defined(_MSC_VER)
-# include <windows.h>
-# undef USE_TRY_CATCH_FLAVOR /* #define this to use the try/catch method for catching illegal opcode exception */
-# ifdef USE_TRY_CATCH_FLAVOR
-# else
- LONG CALLBACK sigill_handler_sse_os(EXCEPTION_POINTERS *ep)
- {
- if(ep->ExceptionRecord->ExceptionCode == EXCEPTION_ILLEGAL_INSTRUCTION) {
- ep->ContextRecord->Eip += 3 + 3 + 6;
- return EXCEPTION_CONTINUE_EXECUTION;
- }
- return EXCEPTION_CONTINUE_SEARCH;
+static uint32_t
+cpu_have_cpuid(void)
+{
+#if defined FLAC__CPU_X86_64 || defined __i686__ || defined __SSE__ || (defined _M_IX86_FP && _M_IX86_FP > 0)
+ /* target CPU does have CPUID instruction */
+ return 1;
+#elif defined __GNUC__ && defined HAVE_CPUID_H
+ if (__get_cpuid_max(0, 0) != 0)
+ return 1;
+ else
+ return 0;
+#elif defined _MSC_VER
+ FLAC__uint32 flags1, flags2;
+ __asm {
+ pushfd
+ pushfd
+ pop eax
+ mov flags1, eax
+ xor eax, 0x200000
+ push eax
+ popfd
+ pushfd
+ pop eax
+ mov flags2, eax
+ popfd
}
-# endif
-# endif
+ if (((flags1^flags2) & 0x200000) != 0)
+ return 1;
+ else
+ return 0;
+#else
+ return 0;
#endif
+}
-
-void FLAC__cpu_info(FLAC__CPUInfo *info)
+static void
+cpuinfo_x86(FLAC__uint32 level, FLAC__uint32 *eax, FLAC__uint32 *ebx, FLAC__uint32 *ecx, FLAC__uint32 *edx)
{
-/*
- * IA32-specific
- */
-#ifdef FLAC__CPU_IA32
- info->type = FLAC__CPUINFO_TYPE_IA32;
-#if !defined FLAC__NO_ASM && defined FLAC__HAS_NASM
- info->use_asm = true; /* we assume a minimum of 80386 with FLAC__CPU_IA32 */
- info->data.ia32.cpuid = FLAC__cpu_have_cpuid_asm_ia32()? true : false;
- info->data.ia32.bswap = info->data.ia32.cpuid; /* CPUID => BSWAP since it came after */
- info->data.ia32.cmov = false;
- info->data.ia32.mmx = false;
- info->data.ia32.fxsr = false;
- info->data.ia32.sse = false;
- info->data.ia32.sse2 = false;
- info->data.ia32.sse3 = false;
- info->data.ia32.ssse3 = false;
- info->data.ia32._3dnow = false;
- info->data.ia32.ext3dnow = false;
- info->data.ia32.extmmx = false;
- if(info->data.ia32.cpuid) {
- /* http://www.sandpile.org/ia32/cpuid.htm */
- FLAC__uint32 flags_edx, flags_ecx;
- FLAC__cpu_info_asm_ia32(&flags_edx, &flags_ecx);
- info->data.ia32.cmov = (flags_edx & FLAC__CPUINFO_IA32_CPUID_CMOV )? true : false;
- info->data.ia32.mmx = (flags_edx & FLAC__CPUINFO_IA32_CPUID_MMX )? true : false;
- info->data.ia32.fxsr = (flags_edx & FLAC__CPUINFO_IA32_CPUID_FXSR )? true : false;
- info->data.ia32.sse = (flags_edx & FLAC__CPUINFO_IA32_CPUID_SSE )? true : false;
- info->data.ia32.sse2 = (flags_edx & FLAC__CPUINFO_IA32_CPUID_SSE2 )? true : false;
- info->data.ia32.sse3 = (flags_ecx & FLAC__CPUINFO_IA32_CPUID_SSE3 )? true : false;
- info->data.ia32.ssse3 = (flags_ecx & FLAC__CPUINFO_IA32_CPUID_SSSE3)? true : false;
-
-#ifdef FLAC__USE_3DNOW
- flags_edx = FLAC__cpu_info_extended_amd_asm_ia32();
- info->data.ia32._3dnow = (flags_edx & FLAC__CPUINFO_IA32_CPUID_EXTENDED_AMD_3DNOW )? true : false;
- info->data.ia32.ext3dnow = (flags_edx & FLAC__CPUINFO_IA32_CPUID_EXTENDED_AMD_EXT3DNOW)? true : false;
- info->data.ia32.extmmx = (flags_edx & FLAC__CPUINFO_IA32_CPUID_EXTENDED_AMD_EXTMMX )? true : false;
+#if defined _MSC_VER
+ int cpuinfo[4];
+ int ext = level & 0x80000000;
+ __cpuid(cpuinfo, ext);
+ if ((uint32_t)cpuinfo[0] >= level) {
+#if FLAC__AVX_SUPPORTED
+ __cpuidex(cpuinfo, level, 0); /* for AVX2 detection */
#else
- info->data.ia32._3dnow = info->data.ia32.ext3dnow = info->data.ia32.extmmx = false;
+ __cpuid(cpuinfo, level); /* some old compilers don't support __cpuidex */
#endif
-
-#ifdef DEBUG
- fprintf(stderr, "CPU info (IA-32):\n");
- fprintf(stderr, " CPUID ...... %c\n", info->data.ia32.cpuid ? 'Y' : 'n');
- fprintf(stderr, " BSWAP ...... %c\n", info->data.ia32.bswap ? 'Y' : 'n');
- fprintf(stderr, " CMOV ....... %c\n", info->data.ia32.cmov ? 'Y' : 'n');
- fprintf(stderr, " MMX ........ %c\n", info->data.ia32.mmx ? 'Y' : 'n');
- fprintf(stderr, " FXSR ....... %c\n", info->data.ia32.fxsr ? 'Y' : 'n');
- fprintf(stderr, " SSE ........ %c\n", info->data.ia32.sse ? 'Y' : 'n');
- fprintf(stderr, " SSE2 ....... %c\n", info->data.ia32.sse2 ? 'Y' : 'n');
- fprintf(stderr, " SSE3 ....... %c\n", info->data.ia32.sse3 ? 'Y' : 'n');
- fprintf(stderr, " SSSE3 ...... %c\n", info->data.ia32.ssse3 ? 'Y' : 'n');
- fprintf(stderr, " 3DNow! ..... %c\n", info->data.ia32._3dnow ? 'Y' : 'n');
- fprintf(stderr, " 3DNow!-ext . %c\n", info->data.ia32.ext3dnow? 'Y' : 'n');
- fprintf(stderr, " 3DNow!-MMX . %c\n", info->data.ia32.extmmx ? 'Y' : 'n');
+ *eax = cpuinfo[0]; *ebx = cpuinfo[1]; *ecx = cpuinfo[2]; *edx = cpuinfo[3];
+ return;
+ }
+#elif defined __GNUC__ && defined HAVE_CPUID_H
+ FLAC__uint32 ext = level & 0x80000000;
+ __cpuid(ext, *eax, *ebx, *ecx, *edx);
+ if (*eax >= level) {
+ __cpuid_count(level, 0, *eax, *ebx, *ecx, *edx);
+ return;
+ }
#endif
+ *eax = *ebx = *ecx = *edx = 0;
+}
- /*
- * now have to check for OS support of SSE/SSE2
- */
- if(info->data.ia32.fxsr || info->data.ia32.sse || info->data.ia32.sse2) {
-#if defined FLAC__NO_SSE_OS
- /* assume user knows better than us; turn it off */
- info->data.ia32.fxsr = info->data.ia32.sse = info->data.ia32.sse2 = info->data.ia32.sse3 = info->data.ia32.ssse3 = false;
-#elif defined FLAC__SSE_OS
- /* assume user knows better than us; leave as detected above */
-#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) || defined(__APPLE__)
- int sse = 0;
- size_t len;
- /* at least one of these must work: */
- len = sizeof(sse); sse = sse || (sysctlbyname("hw.instruction_sse", &sse, &len, NULL, 0) == 0 && sse);
- len = sizeof(sse); sse = sse || (sysctlbyname("hw.optional.sse" , &sse, &len, NULL, 0) == 0 && sse); /* __APPLE__ ? */
- if(!sse)
- info->data.ia32.fxsr = info->data.ia32.sse = info->data.ia32.sse2 = info->data.ia32.sse3 = info->data.ia32.ssse3 = false;
-#elif defined(__NetBSD__) || defined (__OpenBSD__)
-# if __NetBSD_Version__ >= 105250000 || (defined __OpenBSD__)
- int val = 0, mib[2] = { CTL_MACHDEP, CPU_SSE };
- size_t len = sizeof(val);
- if(sysctl(mib, 2, &val, &len, NULL, 0) < 0 || !val)
- info->data.ia32.fxsr = info->data.ia32.sse = info->data.ia32.sse2 = info->data.ia32.sse3 = info->data.ia32.ssse3 = false;
- else { /* double-check SSE2 */
- mib[1] = CPU_SSE2;
- len = sizeof(val);
- if(sysctl(mib, 2, &val, &len, NULL, 0) < 0 || !val)
- info->data.ia32.sse2 = info->data.ia32.sse3 = info->data.ia32.ssse3 = false;
- }
-# else
- info->data.ia32.fxsr = info->data.ia32.sse = info->data.ia32.sse2 = info->data.ia32.sse3 = info->data.ia32.ssse3 = false;
-# endif
-#elif defined(__linux__)
- int sse = 0;
- struct sigaction sigill_save;
-#ifdef USE_OBSOLETE_SIGCONTEXT_FLAVOR
- if(0 == sigaction(SIGILL, NULL, &sigill_save) && signal(SIGILL, (void (*)(int))sigill_handler_sse_os) != SIG_ERR)
-#else
- struct sigaction sigill_sse;
- sigill_sse.sa_sigaction = sigill_handler_sse_os;
- __sigemptyset(&sigill_sse.sa_mask);
- sigill_sse.sa_flags = SA_SIGINFO | SA_RESETHAND; /* SA_RESETHAND just in case our SIGILL return jump breaks, so we don't get stuck in a loop */
- if(0 == sigaction(SIGILL, &sigill_sse, &sigill_save))
#endif
- {
- /* http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html */
- /* see sigill_handler_sse_os() for an explanation of the following: */
- asm volatile (
- "xorl %0,%0\n\t" /* for some reason, still need to do this to clear 'sse' var */
- "xorps %%xmm0,%%xmm0\n\t" /* will cause SIGILL if unsupported by OS */
- "incl %0\n\t" /* SIGILL handler will jump over this */
- /* landing zone */
- "nop\n\t" /* SIGILL jump lands here if "inc" is 9 bytes */
- "nop\n\t"
- "nop\n\t"
- "nop\n\t"
- "nop\n\t"
- "nop\n\t"
- "nop\n\t" /* SIGILL jump lands here if "inc" is 3 bytes (expected) */
- "nop\n\t"
- "nop" /* SIGILL jump lands here if "inc" is 1 byte */
- : "=r"(sse)
- : "r"(sse)
- );
- sigaction(SIGILL, &sigill_save, NULL);
- }
+static void
+x86_cpu_info (FLAC__CPUInfo *info)
+{
+#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN && !defined FLAC__NO_ASM
+ FLAC__bool x86_osxsave = false;
+ FLAC__bool os_avx = false;
+ FLAC__uint32 flags_eax, flags_ebx, flags_ecx, flags_edx;
+
+ info->use_asm = true; /* we assume a minimum of 80386 */
+ if (!cpu_have_cpuid())
+ return;
+
+ cpuinfo_x86(0, &flags_eax, &flags_ebx, &flags_ecx, &flags_edx);
+ info->x86.intel = (flags_ebx == 0x756E6547 && flags_edx == 0x49656E69 && flags_ecx == 0x6C65746E) ? true : false; /* GenuineIntel */
+ cpuinfo_x86(1, &flags_eax, &flags_ebx, &flags_ecx, &flags_edx);
+
+ info->x86.cmov = (flags_edx & FLAC__CPUINFO_X86_CPUID_CMOV ) ? true : false;
+ info->x86.mmx = (flags_edx & FLAC__CPUINFO_X86_CPUID_MMX ) ? true : false;
+ info->x86.sse = (flags_edx & FLAC__CPUINFO_X86_CPUID_SSE ) ? true : false;
+ info->x86.sse2 = (flags_edx & FLAC__CPUINFO_X86_CPUID_SSE2 ) ? true : false;
+ info->x86.sse3 = (flags_ecx & FLAC__CPUINFO_X86_CPUID_SSE3 ) ? true : false;
+ info->x86.ssse3 = (flags_ecx & FLAC__CPUINFO_X86_CPUID_SSSE3) ? true : false;
+ info->x86.sse41 = (flags_ecx & FLAC__CPUINFO_X86_CPUID_SSE41) ? true : false;
+ info->x86.sse42 = (flags_ecx & FLAC__CPUINFO_X86_CPUID_SSE42) ? true : false;
+
+ if (FLAC__AVX_SUPPORTED) {
+ x86_osxsave = (flags_ecx & FLAC__CPUINFO_X86_CPUID_OSXSAVE) ? true : false;
+ info->x86.avx = (flags_ecx & FLAC__CPUINFO_X86_CPUID_AVX ) ? true : false;
+ info->x86.fma = (flags_ecx & FLAC__CPUINFO_X86_CPUID_FMA ) ? true : false;
+ cpuinfo_x86(7, &flags_eax, &flags_ebx, &flags_ecx, &flags_edx);
+ info->x86.avx2 = (flags_ebx & FLAC__CPUINFO_X86_CPUID_AVX2 ) ? true : false;
+ info->x86.bmi2 = (flags_ebx & FLAC__CPUINFO_X86_CPUID_BMI2 ) ? true : false;
+ }
- if(!sse)
- info->data.ia32.fxsr = info->data.ia32.sse = info->data.ia32.sse2 = info->data.ia32.sse3 = info->data.ia32.ssse3 = false;
-#elif defined(_MSC_VER)
-# ifdef USE_TRY_CATCH_FLAVOR
- _try {
- __asm {
-# if _MSC_VER <= 1200
- /* VC6 assembler doesn't know SSE, have to emit bytecode instead */
- _emit 0x0F
- _emit 0x57
- _emit 0xC0
-# else
- xorps xmm0,xmm0
-# endif
- }
- }
- _except(EXCEPTION_EXECUTE_HANDLER) {
- if (_exception_code() == STATUS_ILLEGAL_INSTRUCTION)
- info->data.ia32.fxsr = info->data.ia32.sse = info->data.ia32.sse2 = info->data.ia32.sse3 = info->data.ia32.ssse3 = false;
- }
-# else
- int sse = 0;
- LPTOP_LEVEL_EXCEPTION_FILTER save = SetUnhandledExceptionFilter(sigill_handler_sse_os);
- /* see GCC version above for explanation */
- /* http://msdn2.microsoft.com/en-us/library/4ks26t93.aspx */
- /* http://www.codeproject.com/cpp/gccasm.asp */
- /* http://www.hick.org/~mmiller/msvc_inline_asm.html */
- __asm {
-# if _MSC_VER <= 1200
- /* VC6 assembler doesn't know SSE, have to emit bytecode instead */
- _emit 0x0F
- _emit 0x57
- _emit 0xC0
-# else
- xorps xmm0,xmm0
-# endif
- inc sse
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- }
- SetUnhandledExceptionFilter(save);
- if(!sse)
- info->data.ia32.fxsr = info->data.ia32.sse = info->data.ia32.sse2 = info->data.ia32.sse3 = info->data.ia32.ssse3 = false;
-# endif
+#if defined FLAC__CPU_IA32
+ dfprintf(stderr, "CPU info (IA-32):\n");
#else
- /* no way to test, disable to be safe */
- info->data.ia32.fxsr = info->data.ia32.sse = info->data.ia32.sse2 = info->data.ia32.sse3 = info->data.ia32.ssse3 = false;
-#endif
-#ifdef DEBUG
- fprintf(stderr, " SSE OS sup . %c\n", info->data.ia32.sse ? 'Y' : 'n');
+ dfprintf(stderr, "CPU info (x86-64):\n");
#endif
-
- }
+ dfprintf(stderr, " CMOV ....... %c\n", info->x86.cmov ? 'Y' : 'n');
+ dfprintf(stderr, " MMX ........ %c\n", info->x86.mmx ? 'Y' : 'n');
+ dfprintf(stderr, " SSE ........ %c\n", info->x86.sse ? 'Y' : 'n');
+ dfprintf(stderr, " SSE2 ....... %c\n", info->x86.sse2 ? 'Y' : 'n');
+ dfprintf(stderr, " SSE3 ....... %c\n", info->x86.sse3 ? 'Y' : 'n');
+ dfprintf(stderr, " SSSE3 ...... %c\n", info->x86.ssse3 ? 'Y' : 'n');
+ dfprintf(stderr, " SSE41 ...... %c\n", info->x86.sse41 ? 'Y' : 'n');
+ dfprintf(stderr, " SSE42 ...... %c\n", info->x86.sse42 ? 'Y' : 'n');
+
+ if (FLAC__AVX_SUPPORTED) {
+ dfprintf(stderr, " AVX ........ %c\n", info->x86.avx ? 'Y' : 'n');
+ dfprintf(stderr, " FMA ........ %c\n", info->x86.fma ? 'Y' : 'n');
+ dfprintf(stderr, " AVX2 ....... %c\n", info->x86.avx2 ? 'Y' : 'n');
+ dfprintf(stderr, " BMI2 ....... %c\n", info->x86.bmi2 ? 'Y' : 'n');
}
-#else
- info->use_asm = false;
-#endif
-/*
- * PPC-specific
- */
-#elif defined FLAC__CPU_PPC
- info->type = FLAC__CPUINFO_TYPE_PPC;
-# if !defined FLAC__NO_ASM
- info->use_asm = true;
-# ifdef FLAC__USE_ALTIVEC
-# if defined FLAC__SYS_DARWIN
- {
- int val = 0, mib[2] = { CTL_HW, HW_VECTORUNIT };
- size_t len = sizeof(val);
- info->data.ppc.altivec = !(sysctl(mib, 2, &val, &len, NULL, 0) || !val);
+ /*
+ * now have to check for OS support of AVX instructions
+ */
+ if (FLAC__AVX_SUPPORTED && info->x86.avx && x86_osxsave && (cpu_xgetbv_x86() & 0x6) == 0x6) {
+ os_avx = true;
}
- {
- host_basic_info_data_t hostInfo;
- mach_msg_type_number_t infoCount;
-
- infoCount = HOST_BASIC_INFO_COUNT;
- host_info(mach_host_self(), HOST_BASIC_INFO, (host_info_t)&hostInfo, &infoCount);
-
- info->data.ppc.ppc64 = (hostInfo.cpu_type == CPU_TYPE_POWERPC) && (hostInfo.cpu_subtype == CPU_SUBTYPE_POWERPC_970);
+ if (os_avx) {
+ dfprintf(stderr, " AVX OS sup . %c\n", info->x86.avx ? 'Y' : 'n');
}
-# else /* FLAC__USE_ALTIVEC && !FLAC__SYS_DARWIN */
- {
- /* no Darwin, do it the brute-force way */
- /* @@@@@@ this is not thread-safe; replace with SSE OS method above or remove */
- info->data.ppc.altivec = 0;
- info->data.ppc.ppc64 = 0;
-
- signal (SIGILL, sigill_handler);
- canjump = 0;
- if (!sigsetjmp (jmpbuf, 1)) {
- canjump = 1;
-
- asm volatile (
- "mtspr 256, %0\n\t"
- "vand %%v0, %%v0, %%v0"
- :
- : "r" (-1)
- );
-
- info->data.ppc.altivec = 1;
- }
- canjump = 0;
- if (!sigsetjmp (jmpbuf, 1)) {
- int x = 0;
- canjump = 1;
-
- /* PPC64 hardware implements the cntlzd instruction */
- asm volatile ("cntlzd %0, %1" : "=r" (x) : "r" (x) );
-
- info->data.ppc.ppc64 = 1;
- }
- signal (SIGILL, SIG_DFL); /*@@@@@@ should save and restore old signal */
+ if (!os_avx) {
+ /* no OS AVX support */
+ info->x86.avx = false;
+ info->x86.avx2 = false;
+ info->x86.fma = false;
}
-# endif
-# else /* !FLAC__USE_ALTIVEC */
- info->data.ppc.altivec = 0;
- info->data.ppc.ppc64 = 0;
-# endif
-# else
+#else
info->use_asm = false;
-# endif
+#endif
+}
-/*
- * unknown CPI
- */
+void FLAC__cpu_info (FLAC__CPUInfo *info)
+{
+ memset(info, 0, sizeof(*info));
+
+#ifdef FLAC__CPU_IA32
+ info->type = FLAC__CPUINFO_TYPE_IA32;
+#elif defined FLAC__CPU_X86_64
+ info->type = FLAC__CPUINFO_TYPE_X86_64;
#else
info->type = FLAC__CPUINFO_TYPE_UNKNOWN;
- info->use_asm = false;
#endif
+
+ switch (info->type) {
+ case FLAC__CPUINFO_TYPE_IA32: /* fallthrough */
+ case FLAC__CPUINFO_TYPE_X86_64:
+ x86_cpu_info (info);
+ break;
+ default:
+ info->use_asm = false;
+ break;
+ }
}
diff --git a/3rdparty/libflac/src/libFLAC/crc.c b/3rdparty/libflac/src/libFLAC/crc.c
index 52574f87c80..9e488e9bcd5 100644
--- a/3rdparty/libflac/src/libFLAC/crc.c
+++ b/3rdparty/libflac/src/libFLAC/crc.c
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -37,7 +38,7 @@
/* CRC-8, poly = x^8 + x^2 + x^1 + x^0, init = 0 */
-FLAC__byte const FLAC__crc8_table[256] = {
+FLAC__uint8 const FLAC__crc8_table[256] = {
0x00, 0x07, 0x0E, 0x09, 0x1C, 0x1B, 0x12, 0x15,
0x38, 0x3F, 0x36, 0x31, 0x24, 0x23, 0x2A, 0x2D,
0x70, 0x77, 0x7E, 0x79, 0x6C, 0x6B, 0x62, 0x65,
@@ -74,8 +75,8 @@ FLAC__byte const FLAC__crc8_table[256] = {
/* CRC-16, poly = x^16 + x^15 + x^2 + x^0, init = 0 */
-unsigned FLAC__crc16_table[256] = {
- 0x0000, 0x8005, 0x800f, 0x000a, 0x801b, 0x001e, 0x0014, 0x8011,
+FLAC__uint16 const FLAC__crc16_table[8][256] = {
+ { 0x0000, 0x8005, 0x800f, 0x000a, 0x801b, 0x001e, 0x0014, 0x8011,
0x8033, 0x0036, 0x003c, 0x8039, 0x0028, 0x802d, 0x8027, 0x0022,
0x8063, 0x0066, 0x006c, 0x8069, 0x0078, 0x807d, 0x8077, 0x0072,
0x0050, 0x8055, 0x805f, 0x005a, 0x804b, 0x004e, 0x0044, 0x8041,
@@ -106,22 +107,263 @@ unsigned FLAC__crc16_table[256] = {
0x8243, 0x0246, 0x024c, 0x8249, 0x0258, 0x825d, 0x8257, 0x0252,
0x0270, 0x8275, 0x827f, 0x027a, 0x826b, 0x026e, 0x0264, 0x8261,
0x0220, 0x8225, 0x822f, 0x022a, 0x823b, 0x023e, 0x0234, 0x8231,
- 0x8213, 0x0216, 0x021c, 0x8219, 0x0208, 0x820d, 0x8207, 0x0202
-};
+ 0x8213, 0x0216, 0x021c, 0x8219, 0x0208, 0x820d, 0x8207, 0x0202 },
+ { 0x0000, 0x8603, 0x8c03, 0x0a00, 0x9803, 0x1e00, 0x1400, 0x9203,
+ 0xb003, 0x3600, 0x3c00, 0xba03, 0x2800, 0xae03, 0xa403, 0x2200,
+ 0xe003, 0x6600, 0x6c00, 0xea03, 0x7800, 0xfe03, 0xf403, 0x7200,
+ 0x5000, 0xd603, 0xdc03, 0x5a00, 0xc803, 0x4e00, 0x4400, 0xc203,
+ 0x4003, 0xc600, 0xcc00, 0x4a03, 0xd800, 0x5e03, 0x5403, 0xd200,
+ 0xf000, 0x7603, 0x7c03, 0xfa00, 0x6803, 0xee00, 0xe400, 0x6203,
+ 0xa000, 0x2603, 0x2c03, 0xaa00, 0x3803, 0xbe00, 0xb400, 0x3203,
+ 0x1003, 0x9600, 0x9c00, 0x1a03, 0x8800, 0x0e03, 0x0403, 0x8200,
+ 0x8006, 0x0605, 0x0c05, 0x8a06, 0x1805, 0x9e06, 0x9406, 0x1205,
+ 0x3005, 0xb606, 0xbc06, 0x3a05, 0xa806, 0x2e05, 0x2405, 0xa206,
+ 0x6005, 0xe606, 0xec06, 0x6a05, 0xf806, 0x7e05, 0x7405, 0xf206,
+ 0xd006, 0x5605, 0x5c05, 0xda06, 0x4805, 0xce06, 0xc406, 0x4205,
+ 0xc005, 0x4606, 0x4c06, 0xca05, 0x5806, 0xde05, 0xd405, 0x5206,
+ 0x7006, 0xf605, 0xfc05, 0x7a06, 0xe805, 0x6e06, 0x6406, 0xe205,
+ 0x2006, 0xa605, 0xac05, 0x2a06, 0xb805, 0x3e06, 0x3406, 0xb205,
+ 0x9005, 0x1606, 0x1c06, 0x9a05, 0x0806, 0x8e05, 0x8405, 0x0206,
+ 0x8009, 0x060a, 0x0c0a, 0x8a09, 0x180a, 0x9e09, 0x9409, 0x120a,
+ 0x300a, 0xb609, 0xbc09, 0x3a0a, 0xa809, 0x2e0a, 0x240a, 0xa209,
+ 0x600a, 0xe609, 0xec09, 0x6a0a, 0xf809, 0x7e0a, 0x740a, 0xf209,
+ 0xd009, 0x560a, 0x5c0a, 0xda09, 0x480a, 0xce09, 0xc409, 0x420a,
+ 0xc00a, 0x4609, 0x4c09, 0xca0a, 0x5809, 0xde0a, 0xd40a, 0x5209,
+ 0x7009, 0xf60a, 0xfc0a, 0x7a09, 0xe80a, 0x6e09, 0x6409, 0xe20a,
+ 0x2009, 0xa60a, 0xac0a, 0x2a09, 0xb80a, 0x3e09, 0x3409, 0xb20a,
+ 0x900a, 0x1609, 0x1c09, 0x9a0a, 0x0809, 0x8e0a, 0x840a, 0x0209,
+ 0x000f, 0x860c, 0x8c0c, 0x0a0f, 0x980c, 0x1e0f, 0x140f, 0x920c,
+ 0xb00c, 0x360f, 0x3c0f, 0xba0c, 0x280f, 0xae0c, 0xa40c, 0x220f,
+ 0xe00c, 0x660f, 0x6c0f, 0xea0c, 0x780f, 0xfe0c, 0xf40c, 0x720f,
+ 0x500f, 0xd60c, 0xdc0c, 0x5a0f, 0xc80c, 0x4e0f, 0x440f, 0xc20c,
+ 0x400c, 0xc60f, 0xcc0f, 0x4a0c, 0xd80f, 0x5e0c, 0x540c, 0xd20f,
+ 0xf00f, 0x760c, 0x7c0c, 0xfa0f, 0x680c, 0xee0f, 0xe40f, 0x620c,
+ 0xa00f, 0x260c, 0x2c0c, 0xaa0f, 0x380c, 0xbe0f, 0xb40f, 0x320c,
+ 0x100c, 0x960f, 0x9c0f, 0x1a0c, 0x880f, 0x0e0c, 0x040c, 0x820f },
-void FLAC__crc8_update(const FLAC__byte data, FLAC__uint8 *crc)
-{
- *crc = FLAC__crc8_table[*crc ^ data];
-}
+ { 0x0000, 0x8017, 0x802b, 0x003c, 0x8053, 0x0044, 0x0078, 0x806f,
+ 0x80a3, 0x00b4, 0x0088, 0x809f, 0x00f0, 0x80e7, 0x80db, 0x00cc,
+ 0x8143, 0x0154, 0x0168, 0x817f, 0x0110, 0x8107, 0x813b, 0x012c,
+ 0x01e0, 0x81f7, 0x81cb, 0x01dc, 0x81b3, 0x01a4, 0x0198, 0x818f,
+ 0x8283, 0x0294, 0x02a8, 0x82bf, 0x02d0, 0x82c7, 0x82fb, 0x02ec,
+ 0x0220, 0x8237, 0x820b, 0x021c, 0x8273, 0x0264, 0x0258, 0x824f,
+ 0x03c0, 0x83d7, 0x83eb, 0x03fc, 0x8393, 0x0384, 0x03b8, 0x83af,
+ 0x8363, 0x0374, 0x0348, 0x835f, 0x0330, 0x8327, 0x831b, 0x030c,
+ 0x8503, 0x0514, 0x0528, 0x853f, 0x0550, 0x8547, 0x857b, 0x056c,
+ 0x05a0, 0x85b7, 0x858b, 0x059c, 0x85f3, 0x05e4, 0x05d8, 0x85cf,
+ 0x0440, 0x8457, 0x846b, 0x047c, 0x8413, 0x0404, 0x0438, 0x842f,
+ 0x84e3, 0x04f4, 0x04c8, 0x84df, 0x04b0, 0x84a7, 0x849b, 0x048c,
+ 0x0780, 0x8797, 0x87ab, 0x07bc, 0x87d3, 0x07c4, 0x07f8, 0x87ef,
+ 0x8723, 0x0734, 0x0708, 0x871f, 0x0770, 0x8767, 0x875b, 0x074c,
+ 0x86c3, 0x06d4, 0x06e8, 0x86ff, 0x0690, 0x8687, 0x86bb, 0x06ac,
+ 0x0660, 0x8677, 0x864b, 0x065c, 0x8633, 0x0624, 0x0618, 0x860f,
+ 0x8a03, 0x0a14, 0x0a28, 0x8a3f, 0x0a50, 0x8a47, 0x8a7b, 0x0a6c,
+ 0x0aa0, 0x8ab7, 0x8a8b, 0x0a9c, 0x8af3, 0x0ae4, 0x0ad8, 0x8acf,
+ 0x0b40, 0x8b57, 0x8b6b, 0x0b7c, 0x8b13, 0x0b04, 0x0b38, 0x8b2f,
+ 0x8be3, 0x0bf4, 0x0bc8, 0x8bdf, 0x0bb0, 0x8ba7, 0x8b9b, 0x0b8c,
+ 0x0880, 0x8897, 0x88ab, 0x08bc, 0x88d3, 0x08c4, 0x08f8, 0x88ef,
+ 0x8823, 0x0834, 0x0808, 0x881f, 0x0870, 0x8867, 0x885b, 0x084c,
+ 0x89c3, 0x09d4, 0x09e8, 0x89ff, 0x0990, 0x8987, 0x89bb, 0x09ac,
+ 0x0960, 0x8977, 0x894b, 0x095c, 0x8933, 0x0924, 0x0918, 0x890f,
+ 0x0f00, 0x8f17, 0x8f2b, 0x0f3c, 0x8f53, 0x0f44, 0x0f78, 0x8f6f,
+ 0x8fa3, 0x0fb4, 0x0f88, 0x8f9f, 0x0ff0, 0x8fe7, 0x8fdb, 0x0fcc,
+ 0x8e43, 0x0e54, 0x0e68, 0x8e7f, 0x0e10, 0x8e07, 0x8e3b, 0x0e2c,
+ 0x0ee0, 0x8ef7, 0x8ecb, 0x0edc, 0x8eb3, 0x0ea4, 0x0e98, 0x8e8f,
+ 0x8d83, 0x0d94, 0x0da8, 0x8dbf, 0x0dd0, 0x8dc7, 0x8dfb, 0x0dec,
+ 0x0d20, 0x8d37, 0x8d0b, 0x0d1c, 0x8d73, 0x0d64, 0x0d58, 0x8d4f,
+ 0x0cc0, 0x8cd7, 0x8ceb, 0x0cfc, 0x8c93, 0x0c84, 0x0cb8, 0x8caf,
+ 0x8c63, 0x0c74, 0x0c48, 0x8c5f, 0x0c30, 0x8c27, 0x8c1b, 0x0c0c },
+
+ { 0x0000, 0x9403, 0xa803, 0x3c00, 0xd003, 0x4400, 0x7800, 0xec03,
+ 0x2003, 0xb400, 0x8800, 0x1c03, 0xf000, 0x6403, 0x5803, 0xcc00,
+ 0x4006, 0xd405, 0xe805, 0x7c06, 0x9005, 0x0406, 0x3806, 0xac05,
+ 0x6005, 0xf406, 0xc806, 0x5c05, 0xb006, 0x2405, 0x1805, 0x8c06,
+ 0x800c, 0x140f, 0x280f, 0xbc0c, 0x500f, 0xc40c, 0xf80c, 0x6c0f,
+ 0xa00f, 0x340c, 0x080c, 0x9c0f, 0x700c, 0xe40f, 0xd80f, 0x4c0c,
+ 0xc00a, 0x5409, 0x6809, 0xfc0a, 0x1009, 0x840a, 0xb80a, 0x2c09,
+ 0xe009, 0x740a, 0x480a, 0xdc09, 0x300a, 0xa409, 0x9809, 0x0c0a,
+ 0x801d, 0x141e, 0x281e, 0xbc1d, 0x501e, 0xc41d, 0xf81d, 0x6c1e,
+ 0xa01e, 0x341d, 0x081d, 0x9c1e, 0x701d, 0xe41e, 0xd81e, 0x4c1d,
+ 0xc01b, 0x5418, 0x6818, 0xfc1b, 0x1018, 0x841b, 0xb81b, 0x2c18,
+ 0xe018, 0x741b, 0x481b, 0xdc18, 0x301b, 0xa418, 0x9818, 0x0c1b,
+ 0x0011, 0x9412, 0xa812, 0x3c11, 0xd012, 0x4411, 0x7811, 0xec12,
+ 0x2012, 0xb411, 0x8811, 0x1c12, 0xf011, 0x6412, 0x5812, 0xcc11,
+ 0x4017, 0xd414, 0xe814, 0x7c17, 0x9014, 0x0417, 0x3817, 0xac14,
+ 0x6014, 0xf417, 0xc817, 0x5c14, 0xb017, 0x2414, 0x1814, 0x8c17,
+ 0x803f, 0x143c, 0x283c, 0xbc3f, 0x503c, 0xc43f, 0xf83f, 0x6c3c,
+ 0xa03c, 0x343f, 0x083f, 0x9c3c, 0x703f, 0xe43c, 0xd83c, 0x4c3f,
+ 0xc039, 0x543a, 0x683a, 0xfc39, 0x103a, 0x8439, 0xb839, 0x2c3a,
+ 0xe03a, 0x7439, 0x4839, 0xdc3a, 0x3039, 0xa43a, 0x983a, 0x0c39,
+ 0x0033, 0x9430, 0xa830, 0x3c33, 0xd030, 0x4433, 0x7833, 0xec30,
+ 0x2030, 0xb433, 0x8833, 0x1c30, 0xf033, 0x6430, 0x5830, 0xcc33,
+ 0x4035, 0xd436, 0xe836, 0x7c35, 0x9036, 0x0435, 0x3835, 0xac36,
+ 0x6036, 0xf435, 0xc835, 0x5c36, 0xb035, 0x2436, 0x1836, 0x8c35,
+ 0x0022, 0x9421, 0xa821, 0x3c22, 0xd021, 0x4422, 0x7822, 0xec21,
+ 0x2021, 0xb422, 0x8822, 0x1c21, 0xf022, 0x6421, 0x5821, 0xcc22,
+ 0x4024, 0xd427, 0xe827, 0x7c24, 0x9027, 0x0424, 0x3824, 0xac27,
+ 0x6027, 0xf424, 0xc824, 0x5c27, 0xb024, 0x2427, 0x1827, 0x8c24,
+ 0x802e, 0x142d, 0x282d, 0xbc2e, 0x502d, 0xc42e, 0xf82e, 0x6c2d,
+ 0xa02d, 0x342e, 0x082e, 0x9c2d, 0x702e, 0xe42d, 0xd82d, 0x4c2e,
+ 0xc028, 0x542b, 0x682b, 0xfc28, 0x102b, 0x8428, 0xb828, 0x2c2b,
+ 0xe02b, 0x7428, 0x4828, 0xdc2b, 0x3028, 0xa42b, 0x982b, 0x0c28 },
+
+ { 0x0000, 0x807b, 0x80f3, 0x0088, 0x81e3, 0x0198, 0x0110, 0x816b,
+ 0x83c3, 0x03b8, 0x0330, 0x834b, 0x0220, 0x825b, 0x82d3, 0x02a8,
+ 0x8783, 0x07f8, 0x0770, 0x870b, 0x0660, 0x861b, 0x8693, 0x06e8,
+ 0x0440, 0x843b, 0x84b3, 0x04c8, 0x85a3, 0x05d8, 0x0550, 0x852b,
+ 0x8f03, 0x0f78, 0x0ff0, 0x8f8b, 0x0ee0, 0x8e9b, 0x8e13, 0x0e68,
+ 0x0cc0, 0x8cbb, 0x8c33, 0x0c48, 0x8d23, 0x0d58, 0x0dd0, 0x8dab,
+ 0x0880, 0x88fb, 0x8873, 0x0808, 0x8963, 0x0918, 0x0990, 0x89eb,
+ 0x8b43, 0x0b38, 0x0bb0, 0x8bcb, 0x0aa0, 0x8adb, 0x8a53, 0x0a28,
+ 0x9e03, 0x1e78, 0x1ef0, 0x9e8b, 0x1fe0, 0x9f9b, 0x9f13, 0x1f68,
+ 0x1dc0, 0x9dbb, 0x9d33, 0x1d48, 0x9c23, 0x1c58, 0x1cd0, 0x9cab,
+ 0x1980, 0x99fb, 0x9973, 0x1908, 0x9863, 0x1818, 0x1890, 0x98eb,
+ 0x9a43, 0x1a38, 0x1ab0, 0x9acb, 0x1ba0, 0x9bdb, 0x9b53, 0x1b28,
+ 0x1100, 0x917b, 0x91f3, 0x1188, 0x90e3, 0x1098, 0x1010, 0x906b,
+ 0x92c3, 0x12b8, 0x1230, 0x924b, 0x1320, 0x935b, 0x93d3, 0x13a8,
+ 0x9683, 0x16f8, 0x1670, 0x960b, 0x1760, 0x971b, 0x9793, 0x17e8,
+ 0x1540, 0x953b, 0x95b3, 0x15c8, 0x94a3, 0x14d8, 0x1450, 0x942b,
+ 0xbc03, 0x3c78, 0x3cf0, 0xbc8b, 0x3de0, 0xbd9b, 0xbd13, 0x3d68,
+ 0x3fc0, 0xbfbb, 0xbf33, 0x3f48, 0xbe23, 0x3e58, 0x3ed0, 0xbeab,
+ 0x3b80, 0xbbfb, 0xbb73, 0x3b08, 0xba63, 0x3a18, 0x3a90, 0xbaeb,
+ 0xb843, 0x3838, 0x38b0, 0xb8cb, 0x39a0, 0xb9db, 0xb953, 0x3928,
+ 0x3300, 0xb37b, 0xb3f3, 0x3388, 0xb2e3, 0x3298, 0x3210, 0xb26b,
+ 0xb0c3, 0x30b8, 0x3030, 0xb04b, 0x3120, 0xb15b, 0xb1d3, 0x31a8,
+ 0xb483, 0x34f8, 0x3470, 0xb40b, 0x3560, 0xb51b, 0xb593, 0x35e8,
+ 0x3740, 0xb73b, 0xb7b3, 0x37c8, 0xb6a3, 0x36d8, 0x3650, 0xb62b,
+ 0x2200, 0xa27b, 0xa2f3, 0x2288, 0xa3e3, 0x2398, 0x2310, 0xa36b,
+ 0xa1c3, 0x21b8, 0x2130, 0xa14b, 0x2020, 0xa05b, 0xa0d3, 0x20a8,
+ 0xa583, 0x25f8, 0x2570, 0xa50b, 0x2460, 0xa41b, 0xa493, 0x24e8,
+ 0x2640, 0xa63b, 0xa6b3, 0x26c8, 0xa7a3, 0x27d8, 0x2750, 0xa72b,
+ 0xad03, 0x2d78, 0x2df0, 0xad8b, 0x2ce0, 0xac9b, 0xac13, 0x2c68,
+ 0x2ec0, 0xaebb, 0xae33, 0x2e48, 0xaf23, 0x2f58, 0x2fd0, 0xafab,
+ 0x2a80, 0xaafb, 0xaa73, 0x2a08, 0xab63, 0x2b18, 0x2b90, 0xabeb,
+ 0xa943, 0x2938, 0x29b0, 0xa9cb, 0x28a0, 0xa8db, 0xa853, 0x2828 },
+
+ { 0x0000, 0xf803, 0x7003, 0x8800, 0xe006, 0x1805, 0x9005, 0x6806,
+ 0x4009, 0xb80a, 0x300a, 0xc809, 0xa00f, 0x580c, 0xd00c, 0x280f,
+ 0x8012, 0x7811, 0xf011, 0x0812, 0x6014, 0x9817, 0x1017, 0xe814,
+ 0xc01b, 0x3818, 0xb018, 0x481b, 0x201d, 0xd81e, 0x501e, 0xa81d,
+ 0x8021, 0x7822, 0xf022, 0x0821, 0x6027, 0x9824, 0x1024, 0xe827,
+ 0xc028, 0x382b, 0xb02b, 0x4828, 0x202e, 0xd82d, 0x502d, 0xa82e,
+ 0x0033, 0xf830, 0x7030, 0x8833, 0xe035, 0x1836, 0x9036, 0x6835,
+ 0x403a, 0xb839, 0x3039, 0xc83a, 0xa03c, 0x583f, 0xd03f, 0x283c,
+ 0x8047, 0x7844, 0xf044, 0x0847, 0x6041, 0x9842, 0x1042, 0xe841,
+ 0xc04e, 0x384d, 0xb04d, 0x484e, 0x2048, 0xd84b, 0x504b, 0xa848,
+ 0x0055, 0xf856, 0x7056, 0x8855, 0xe053, 0x1850, 0x9050, 0x6853,
+ 0x405c, 0xb85f, 0x305f, 0xc85c, 0xa05a, 0x5859, 0xd059, 0x285a,
+ 0x0066, 0xf865, 0x7065, 0x8866, 0xe060, 0x1863, 0x9063, 0x6860,
+ 0x406f, 0xb86c, 0x306c, 0xc86f, 0xa069, 0x586a, 0xd06a, 0x2869,
+ 0x8074, 0x7877, 0xf077, 0x0874, 0x6072, 0x9871, 0x1071, 0xe872,
+ 0xc07d, 0x387e, 0xb07e, 0x487d, 0x207b, 0xd878, 0x5078, 0xa87b,
+ 0x808b, 0x7888, 0xf088, 0x088b, 0x608d, 0x988e, 0x108e, 0xe88d,
+ 0xc082, 0x3881, 0xb081, 0x4882, 0x2084, 0xd887, 0x5087, 0xa884,
+ 0x0099, 0xf89a, 0x709a, 0x8899, 0xe09f, 0x189c, 0x909c, 0x689f,
+ 0x4090, 0xb893, 0x3093, 0xc890, 0xa096, 0x5895, 0xd095, 0x2896,
+ 0x00aa, 0xf8a9, 0x70a9, 0x88aa, 0xe0ac, 0x18af, 0x90af, 0x68ac,
+ 0x40a3, 0xb8a0, 0x30a0, 0xc8a3, 0xa0a5, 0x58a6, 0xd0a6, 0x28a5,
+ 0x80b8, 0x78bb, 0xf0bb, 0x08b8, 0x60be, 0x98bd, 0x10bd, 0xe8be,
+ 0xc0b1, 0x38b2, 0xb0b2, 0x48b1, 0x20b7, 0xd8b4, 0x50b4, 0xa8b7,
+ 0x00cc, 0xf8cf, 0x70cf, 0x88cc, 0xe0ca, 0x18c9, 0x90c9, 0x68ca,
+ 0x40c5, 0xb8c6, 0x30c6, 0xc8c5, 0xa0c3, 0x58c0, 0xd0c0, 0x28c3,
+ 0x80de, 0x78dd, 0xf0dd, 0x08de, 0x60d8, 0x98db, 0x10db, 0xe8d8,
+ 0xc0d7, 0x38d4, 0xb0d4, 0x48d7, 0x20d1, 0xd8d2, 0x50d2, 0xa8d1,
+ 0x80ed, 0x78ee, 0xf0ee, 0x08ed, 0x60eb, 0x98e8, 0x10e8, 0xe8eb,
+ 0xc0e4, 0x38e7, 0xb0e7, 0x48e4, 0x20e2, 0xd8e1, 0x50e1, 0xa8e2,
+ 0x00ff, 0xf8fc, 0x70fc, 0x88ff, 0xe0f9, 0x18fa, 0x90fa, 0x68f9,
+ 0x40f6, 0xb8f5, 0x30f5, 0xc8f6, 0xa0f0, 0x58f3, 0xd0f3, 0x28f0 },
+
+ { 0x0000, 0x8113, 0x8223, 0x0330, 0x8443, 0x0550, 0x0660, 0x8773,
+ 0x8883, 0x0990, 0x0aa0, 0x8bb3, 0x0cc0, 0x8dd3, 0x8ee3, 0x0ff0,
+ 0x9103, 0x1010, 0x1320, 0x9233, 0x1540, 0x9453, 0x9763, 0x1670,
+ 0x1980, 0x9893, 0x9ba3, 0x1ab0, 0x9dc3, 0x1cd0, 0x1fe0, 0x9ef3,
+ 0xa203, 0x2310, 0x2020, 0xa133, 0x2640, 0xa753, 0xa463, 0x2570,
+ 0x2a80, 0xab93, 0xa8a3, 0x29b0, 0xaec3, 0x2fd0, 0x2ce0, 0xadf3,
+ 0x3300, 0xb213, 0xb123, 0x3030, 0xb743, 0x3650, 0x3560, 0xb473,
+ 0xbb83, 0x3a90, 0x39a0, 0xb8b3, 0x3fc0, 0xbed3, 0xbde3, 0x3cf0,
+ 0xc403, 0x4510, 0x4620, 0xc733, 0x4040, 0xc153, 0xc263, 0x4370,
+ 0x4c80, 0xcd93, 0xcea3, 0x4fb0, 0xc8c3, 0x49d0, 0x4ae0, 0xcbf3,
+ 0x5500, 0xd413, 0xd723, 0x5630, 0xd143, 0x5050, 0x5360, 0xd273,
+ 0xdd83, 0x5c90, 0x5fa0, 0xdeb3, 0x59c0, 0xd8d3, 0xdbe3, 0x5af0,
+ 0x6600, 0xe713, 0xe423, 0x6530, 0xe243, 0x6350, 0x6060, 0xe173,
+ 0xee83, 0x6f90, 0x6ca0, 0xedb3, 0x6ac0, 0xebd3, 0xe8e3, 0x69f0,
+ 0xf703, 0x7610, 0x7520, 0xf433, 0x7340, 0xf253, 0xf163, 0x7070,
+ 0x7f80, 0xfe93, 0xfda3, 0x7cb0, 0xfbc3, 0x7ad0, 0x79e0, 0xf8f3,
+ 0x0803, 0x8910, 0x8a20, 0x0b33, 0x8c40, 0x0d53, 0x0e63, 0x8f70,
+ 0x8080, 0x0193, 0x02a3, 0x83b0, 0x04c3, 0x85d0, 0x86e0, 0x07f3,
+ 0x9900, 0x1813, 0x1b23, 0x9a30, 0x1d43, 0x9c50, 0x9f60, 0x1e73,
+ 0x1183, 0x9090, 0x93a0, 0x12b3, 0x95c0, 0x14d3, 0x17e3, 0x96f0,
+ 0xaa00, 0x2b13, 0x2823, 0xa930, 0x2e43, 0xaf50, 0xac60, 0x2d73,
+ 0x2283, 0xa390, 0xa0a0, 0x21b3, 0xa6c0, 0x27d3, 0x24e3, 0xa5f0,
+ 0x3b03, 0xba10, 0xb920, 0x3833, 0xbf40, 0x3e53, 0x3d63, 0xbc70,
+ 0xb380, 0x3293, 0x31a3, 0xb0b0, 0x37c3, 0xb6d0, 0xb5e0, 0x34f3,
+ 0xcc00, 0x4d13, 0x4e23, 0xcf30, 0x4843, 0xc950, 0xca60, 0x4b73,
+ 0x4483, 0xc590, 0xc6a0, 0x47b3, 0xc0c0, 0x41d3, 0x42e3, 0xc3f0,
+ 0x5d03, 0xdc10, 0xdf20, 0x5e33, 0xd940, 0x5853, 0x5b63, 0xda70,
+ 0xd580, 0x5493, 0x57a3, 0xd6b0, 0x51c3, 0xd0d0, 0xd3e0, 0x52f3,
+ 0x6e03, 0xef10, 0xec20, 0x6d33, 0xea40, 0x6b53, 0x6863, 0xe970,
+ 0xe680, 0x6793, 0x64a3, 0xe5b0, 0x62c3, 0xe3d0, 0xe0e0, 0x61f3,
+ 0xff00, 0x7e13, 0x7d23, 0xfc30, 0x7b43, 0xfa50, 0xf960, 0x7873,
+ 0x7783, 0xf690, 0xf5a0, 0x74b3, 0xf3c0, 0x72d3, 0x71e3, 0xf0f0 },
+
+ { 0x0000, 0x1006, 0x200c, 0x300a, 0x4018, 0x501e, 0x6014, 0x7012,
+ 0x8030, 0x9036, 0xa03c, 0xb03a, 0xc028, 0xd02e, 0xe024, 0xf022,
+ 0x8065, 0x9063, 0xa069, 0xb06f, 0xc07d, 0xd07b, 0xe071, 0xf077,
+ 0x0055, 0x1053, 0x2059, 0x305f, 0x404d, 0x504b, 0x6041, 0x7047,
+ 0x80cf, 0x90c9, 0xa0c3, 0xb0c5, 0xc0d7, 0xd0d1, 0xe0db, 0xf0dd,
+ 0x00ff, 0x10f9, 0x20f3, 0x30f5, 0x40e7, 0x50e1, 0x60eb, 0x70ed,
+ 0x00aa, 0x10ac, 0x20a6, 0x30a0, 0x40b2, 0x50b4, 0x60be, 0x70b8,
+ 0x809a, 0x909c, 0xa096, 0xb090, 0xc082, 0xd084, 0xe08e, 0xf088,
+ 0x819b, 0x919d, 0xa197, 0xb191, 0xc183, 0xd185, 0xe18f, 0xf189,
+ 0x01ab, 0x11ad, 0x21a7, 0x31a1, 0x41b3, 0x51b5, 0x61bf, 0x71b9,
+ 0x01fe, 0x11f8, 0x21f2, 0x31f4, 0x41e6, 0x51e0, 0x61ea, 0x71ec,
+ 0x81ce, 0x91c8, 0xa1c2, 0xb1c4, 0xc1d6, 0xd1d0, 0xe1da, 0xf1dc,
+ 0x0154, 0x1152, 0x2158, 0x315e, 0x414c, 0x514a, 0x6140, 0x7146,
+ 0x8164, 0x9162, 0xa168, 0xb16e, 0xc17c, 0xd17a, 0xe170, 0xf176,
+ 0x8131, 0x9137, 0xa13d, 0xb13b, 0xc129, 0xd12f, 0xe125, 0xf123,
+ 0x0101, 0x1107, 0x210d, 0x310b, 0x4119, 0x511f, 0x6115, 0x7113,
+ 0x8333, 0x9335, 0xa33f, 0xb339, 0xc32b, 0xd32d, 0xe327, 0xf321,
+ 0x0303, 0x1305, 0x230f, 0x3309, 0x431b, 0x531d, 0x6317, 0x7311,
+ 0x0356, 0x1350, 0x235a, 0x335c, 0x434e, 0x5348, 0x6342, 0x7344,
+ 0x8366, 0x9360, 0xa36a, 0xb36c, 0xc37e, 0xd378, 0xe372, 0xf374,
+ 0x03fc, 0x13fa, 0x23f0, 0x33f6, 0x43e4, 0x53e2, 0x63e8, 0x73ee,
+ 0x83cc, 0x93ca, 0xa3c0, 0xb3c6, 0xc3d4, 0xd3d2, 0xe3d8, 0xf3de,
+ 0x8399, 0x939f, 0xa395, 0xb393, 0xc381, 0xd387, 0xe38d, 0xf38b,
+ 0x03a9, 0x13af, 0x23a5, 0x33a3, 0x43b1, 0x53b7, 0x63bd, 0x73bb,
+ 0x02a8, 0x12ae, 0x22a4, 0x32a2, 0x42b0, 0x52b6, 0x62bc, 0x72ba,
+ 0x8298, 0x929e, 0xa294, 0xb292, 0xc280, 0xd286, 0xe28c, 0xf28a,
+ 0x82cd, 0x92cb, 0xa2c1, 0xb2c7, 0xc2d5, 0xd2d3, 0xe2d9, 0xf2df,
+ 0x02fd, 0x12fb, 0x22f1, 0x32f7, 0x42e5, 0x52e3, 0x62e9, 0x72ef,
+ 0x8267, 0x9261, 0xa26b, 0xb26d, 0xc27f, 0xd279, 0xe273, 0xf275,
+ 0x0257, 0x1251, 0x225b, 0x325d, 0x424f, 0x5249, 0x6243, 0x7245,
+ 0x0202, 0x1204, 0x220e, 0x3208, 0x421a, 0x521c, 0x6216, 0x7210,
+ 0x8232, 0x9234, 0xa23e, 0xb238, 0xc22a, 0xd22c, 0xe226, 0xf220 }
+};
-void FLAC__crc8_update_block(const FLAC__byte *data, unsigned len, FLAC__uint8 *crc)
+#if 0
+void FLAC__crc16_init_table(void)
{
- while(len--)
- *crc = FLAC__crc8_table[*crc ^ *data++];
+ int i, j;
+ FLAC__uint16 polynomial, crc;
+ polynomial = 0x8005;
+
+ for(i = 0; i <= 0xFF; i++){
+ crc = i << 8;
+
+ for(j = 0; j < 8; j++)
+ crc = (crc << 1) ^ (crc & (1 << 15) ? polynomial : 0);
+
+ FLAC__crc16_table[0][i] = crc;
+ }
+
+ for(i = 0; i <= 0xFF; i++)
+ for(j = 1; j < 8; j++)
+ FLAC__crc16_table[j][i] = FLAC__crc16_table[0][FLAC__crc16_table[j - 1][i] >> 8] ^ (FLAC__crc16_table[j - 1][i] << 8);
}
+#endif
-FLAC__uint8 FLAC__crc8(const FLAC__byte *data, unsigned len)
+FLAC__uint8 FLAC__crc8(const FLAC__byte *data, uint32_t len)
{
FLAC__uint8 crc = 0;
@@ -131,12 +373,64 @@ FLAC__uint8 FLAC__crc8(const FLAC__byte *data, unsigned len)
return crc;
}
-unsigned FLAC__crc16(const FLAC__byte *data, unsigned len)
+FLAC__uint16 FLAC__crc16(const FLAC__byte *data, uint32_t len)
{
- unsigned crc = 0;
+ FLAC__uint16 crc = 0;
+
+ while(len >= 8){
+ crc ^= data[0] << 8 | data[1];
+
+ crc = FLAC__crc16_table[7][crc >> 8] ^ FLAC__crc16_table[6][crc & 0xFF] ^
+ FLAC__crc16_table[5][data[2] ] ^ FLAC__crc16_table[4][data[3] ] ^
+ FLAC__crc16_table[3][data[4] ] ^ FLAC__crc16_table[2][data[5] ] ^
+ FLAC__crc16_table[1][data[6] ] ^ FLAC__crc16_table[0][data[7] ];
+
+ data += 8;
+ len -= 8;
+ }
while(len--)
- crc = ((crc<<8) ^ FLAC__crc16_table[(crc>>8) ^ *data++]) & 0xffff;
+ crc = (crc<<8) ^ FLAC__crc16_table[0][(crc>>8) ^ *data++];
+
+ return crc;
+}
+
+FLAC__uint16 FLAC__crc16_update_words32(const FLAC__uint32 *words, uint32_t len, FLAC__uint16 crc)
+{
+ while (len >= 2) {
+ crc ^= words[0] >> 16;
+
+ crc = FLAC__crc16_table[7][crc >> 8 ] ^ FLAC__crc16_table[6][crc & 0xFF ] ^
+ FLAC__crc16_table[5][(words[0] >> 8) & 0xFF] ^ FLAC__crc16_table[4][ words[0] & 0xFF] ^
+ FLAC__crc16_table[3][ words[1] >> 24 ] ^ FLAC__crc16_table[2][(words[1] >> 16) & 0xFF] ^
+ FLAC__crc16_table[1][(words[1] >> 8) & 0xFF] ^ FLAC__crc16_table[0][ words[1] & 0xFF];
+
+ words += 2;
+ len -= 2;
+ }
+
+ if (len) {
+ crc ^= words[0] >> 16;
+
+ crc = FLAC__crc16_table[3][crc >> 8 ] ^ FLAC__crc16_table[2][crc & 0xFF ] ^
+ FLAC__crc16_table[1][(words[0] >> 8) & 0xFF] ^ FLAC__crc16_table[0][words[0] & 0xFF];
+ }
+
+ return crc;
+}
+
+FLAC__uint16 FLAC__crc16_update_words64(const FLAC__uint64 *words, uint32_t len, FLAC__uint16 crc)
+{
+ while (len--) {
+ crc ^= words[0] >> 48;
+
+ crc = FLAC__crc16_table[7][crc >> 8 ] ^ FLAC__crc16_table[6][crc & 0xFF ] ^
+ FLAC__crc16_table[5][(words[0] >> 40) & 0xFF] ^ FLAC__crc16_table[4][(words[0] >> 32) & 0xFF] ^
+ FLAC__crc16_table[3][(words[0] >> 24) & 0xFF] ^ FLAC__crc16_table[2][(words[0] >> 16) & 0xFF] ^
+ FLAC__crc16_table[1][(words[0] >> 8) & 0xFF] ^ FLAC__crc16_table[0][ words[0] & 0xFF];
+
+ words++;
+ }
return crc;
}
diff --git a/3rdparty/libflac/src/libFLAC/deduplication/bitreader_read_rice_signed_block.c b/3rdparty/libflac/src/libFLAC/deduplication/bitreader_read_rice_signed_block.c
new file mode 100644
index 00000000000..75ed47f7275
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC/deduplication/bitreader_read_rice_signed_block.c
@@ -0,0 +1,143 @@
+{
+ /* try and get br->consumed_words and br->consumed_bits into register;
+ * must remember to flush them back to *br before calling other
+ * bitreader functions that use them, and before returning */
+ uint32_t cwords, words, lsbs, msbs, x, y, limit;
+ uint32_t ucbits; /* keep track of the number of unconsumed bits in word */
+ brword b;
+ int *val, *end;
+
+ FLAC__ASSERT(0 != br);
+ FLAC__ASSERT(0 != br->buffer);
+ /* WATCHOUT: code does not work with <32bit words; we can make things much faster with this assertion */
+ FLAC__ASSERT(FLAC__BITS_PER_WORD >= 32);
+ FLAC__ASSERT(parameter < 32);
+ /* the above two asserts also guarantee that the binary part never straddles more than 2 words, so we don't have to loop to read it */
+
+ limit = UINT32_MAX >> parameter; /* Maximal msbs that can occur with residual bounded to int32_t */
+
+ val = vals;
+ end = vals + nvals;
+
+ if(parameter == 0) {
+ while(val < end) {
+ /* read the unary MSBs and end bit */
+ if(!FLAC__bitreader_read_unary_unsigned(br, &msbs))
+ return false;
+ /* Checking limit here would be overzealous: coding UINT32_MAX
+ * with parameter == 0 would take 4GiB */
+ *val++ = (int)(msbs >> 1) ^ -(int)(msbs & 1);
+ }
+
+ return true;
+ }
+
+ FLAC__ASSERT(parameter > 0);
+
+ cwords = br->consumed_words;
+ words = br->words;
+
+ /* if we've not consumed up to a partial tail word... */
+ if(cwords >= words) {
+ x = 0;
+ goto process_tail;
+ }
+
+ ucbits = FLAC__BITS_PER_WORD - br->consumed_bits;
+ b = br->buffer[cwords] << br->consumed_bits; /* keep unconsumed bits aligned to left */
+
+ while(val < end) {
+ /* read the unary MSBs and end bit */
+ x = y = COUNT_ZERO_MSBS2(b);
+ if(x == FLAC__BITS_PER_WORD) {
+ x = ucbits;
+ do {
+ /* didn't find stop bit yet, have to keep going... */
+ cwords++;
+ if (cwords >= words)
+ goto incomplete_msbs;
+ b = br->buffer[cwords];
+ y = COUNT_ZERO_MSBS2(b);
+ x += y;
+ } while(y == FLAC__BITS_PER_WORD);
+ }
+ b <<= y;
+ b <<= 1; /* account for stop bit */
+ ucbits = (ucbits - x - 1) % FLAC__BITS_PER_WORD;
+ msbs = x;
+
+ if(x > limit)
+ return false;
+
+ /* read the binary LSBs */
+ x = (FLAC__uint32)(b >> (FLAC__BITS_PER_WORD - parameter)); /* parameter < 32, so we can cast to 32-bit uint32_t */
+ if(parameter <= ucbits) {
+ ucbits -= parameter;
+ b <<= parameter;
+ } else {
+ /* there are still bits left to read, they will all be in the next word */
+ cwords++;
+ if (cwords >= words)
+ goto incomplete_lsbs;
+ b = br->buffer[cwords];
+ ucbits += FLAC__BITS_PER_WORD - parameter;
+ x |= (FLAC__uint32)(b >> ucbits);
+ b <<= FLAC__BITS_PER_WORD - ucbits;
+ }
+ lsbs = x;
+
+ /* compose the value */
+ x = (msbs << parameter) | lsbs;
+ *val++ = (int)(x >> 1) ^ -(int)(x & 1);
+
+ continue;
+
+ /* at this point we've eaten up all the whole words */
+process_tail:
+ do {
+ if(0) {
+incomplete_msbs:
+ br->consumed_bits = 0;
+ br->consumed_words = cwords;
+ }
+
+ /* read the unary MSBs and end bit */
+ if(!FLAC__bitreader_read_unary_unsigned(br, &msbs))
+ return false;
+ msbs += x;
+ x = ucbits = 0;
+
+ if(0) {
+incomplete_lsbs:
+ br->consumed_bits = 0;
+ br->consumed_words = cwords;
+ }
+
+ /* read the binary LSBs */
+ if(!FLAC__bitreader_read_raw_uint32(br, &lsbs, parameter - ucbits))
+ return false;
+ lsbs = x | lsbs;
+
+ /* compose the value */
+ x = (msbs << parameter) | lsbs;
+ *val++ = (int)(x >> 1) ^ -(int)(x & 1);
+ x = 0;
+
+ cwords = br->consumed_words;
+ words = br->words;
+ ucbits = FLAC__BITS_PER_WORD - br->consumed_bits;
+ b = cwords < br->capacity ? br->buffer[cwords] << br->consumed_bits : 0;
+ } while(cwords >= words && val < end);
+ }
+
+ if(ucbits == 0 && cwords < words) {
+ /* don't leave the head word with no unconsumed bits */
+ cwords++;
+ ucbits = FLAC__BITS_PER_WORD;
+ }
+
+ br->consumed_bits = FLAC__BITS_PER_WORD - ucbits;
+ br->consumed_words = cwords;
+
+ return true;
+}
diff --git a/3rdparty/libflac/src/libFLAC/deduplication/lpc_compute_autocorrelation_intrin.c b/3rdparty/libflac/src/libFLAC/deduplication/lpc_compute_autocorrelation_intrin.c
new file mode 100644
index 00000000000..76419db03cd
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC/deduplication/lpc_compute_autocorrelation_intrin.c
@@ -0,0 +1,14 @@
+ int i, j;
+ (void) lag;
+ FLAC__ASSERT(lag <= MAX_LAG);
+
+ for(i = 0; i < MAX_LAG; i++)
+ autoc[i] = 0.0;
+
+ for(i = 0; i < MAX_LAG; i++)
+ for(j = 0; j <= i; j++)
+ autoc[j] += (double)data[i] * (double)data[i-j];
+
+ for(i = MAX_LAG; i < (int)data_len; i++)
+ for(j = 0; j < MAX_LAG; j++)
+ autoc[j] += (double)data[i] * (double)data[i-j];
diff --git a/3rdparty/libflac/src/libFLAC/deduplication/lpc_compute_autocorrelation_intrin_neon.c b/3rdparty/libflac/src/libFLAC/deduplication/lpc_compute_autocorrelation_intrin_neon.c
new file mode 100644
index 00000000000..4df3aee9546
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC/deduplication/lpc_compute_autocorrelation_intrin_neon.c
@@ -0,0 +1,70 @@
+ int i;
+ float64x2_t sum0 = vdupq_n_f64(0.0f);
+ float64x2_t sum1 = vdupq_n_f64(0.0f);
+ float64x2_t sum2 = vdupq_n_f64(0.0f);
+ float64x2_t sum3 = vdupq_n_f64(0.0f);
+ float64x2_t d0 = vdupq_n_f64(0.0f);
+ float64x2_t d1 = vdupq_n_f64(0.0f);
+ float64x2_t d2 = vdupq_n_f64(0.0f);
+ float64x2_t d3 = vdupq_n_f64(0.0f);
+#if MAX_LAG > 8
+ float64x2_t sum4 = vdupq_n_f64(0.0f);
+ float64x2_t d4 = vdupq_n_f64(0.0f);
+#endif
+#if MAX_LAG > 10
+ float64x2_t sum5 = vdupq_n_f64(0.0f);
+ float64x2_t sum6 = vdupq_n_f64(0.0f);
+ float64x2_t d5 = vdupq_n_f64(0.0f);
+ float64x2_t d6 = vdupq_n_f64(0.0f);
+#endif
+ float64x2_t d;
+
+ (void)lag;
+ FLAC__ASSERT(lag <= MAX_LAG);
+
+ // Loop backwards through samples from data_len to 0
+ for (i = data_len - 1; i >= 0; i--)
+ {
+ d = vdupq_n_f64(data[i]); // Create vector with 2 entries data[i]
+
+ // The next 6 lines of code right-shift the elements through the 7 vectors d0..d6.
+ // The 7th line adds the newly loaded element to d0. This works like a stack, where
+ // data[i] is pushed onto the stack every time and the 9th element falls off
+#if MAX_LAG > 10
+ d6 = vextq_f64(d5,d6,1);
+ d5 = vextq_f64(d4,d5,1);
+#endif
+#if MAX_LAG > 8
+ d4 = vextq_f64(d3,d4,1);
+#endif
+ d3 = vextq_f64(d2,d3,1);
+ d2 = vextq_f64(d1,d2,1);
+ d1 = vextq_f64(d0,d1,1);
+ d0 = vextq_f64(d,d0,1);
+
+ // Fused multiply-add sum += d * d0..d6
+ sum0 = vfmaq_f64(sum0, d, d0);
+ sum1 = vfmaq_f64(sum1, d, d1);
+ sum2 = vfmaq_f64(sum2, d, d2);
+ sum3 = vfmaq_f64(sum3, d, d3);
+#if MAX_LAG > 8
+ sum4 = vfmaq_f64(sum4, d, d4);
+#endif
+#if MAX_LAG > 10
+ sum5 = vfmaq_f64(sum5, d, d5);
+ sum6 = vfmaq_f64(sum6, d, d6);
+#endif
+ }
+
+ // Store sum0..sum6 in autoc[0..14]
+ vst1q_f64(autoc, sum0);
+ vst1q_f64(autoc + 2, sum1);
+ vst1q_f64(autoc + 4, sum2);
+ vst1q_f64(autoc + 6, sum3);
+#if MAX_LAG > 8
+ vst1q_f64(autoc + 8, sum4);
+#endif
+#if MAX_LAG > 10
+ vst1q_f64(autoc + 10, sum5);
+ vst1q_f64(autoc + 12, sum6);
+#endif
diff --git a/3rdparty/libflac/src/libFLAC/deduplication/lpc_compute_autocorrelation_intrin_sse2.c b/3rdparty/libflac/src/libFLAC/deduplication/lpc_compute_autocorrelation_intrin_sse2.c
new file mode 100644
index 00000000000..607b42f41ef
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC/deduplication/lpc_compute_autocorrelation_intrin_sse2.c
@@ -0,0 +1,81 @@
+/* This code is imported several times in lpc_intrin_sse2.c with different
+ * values for MAX_LAG. Comments are for MAX_LAG == 14 */
+ int i;
+ __m128d sum0, sum1, sum2, sum3;
+ __m128d d0, d1, d2, d3;
+#if MAX_LAG > 8
+ __m128d d4;
+ __m128d sum4;
+#endif
+#if MAX_LAG > 10
+ __m128d d5, d6;
+ __m128d sum5, sum6;
+#endif
+
+ (void) lag;
+ FLAC__ASSERT(lag <= MAX_LAG);
+
+ /* Initialize all sum vectors with zero */
+ sum0 = _mm_setzero_pd();
+ sum1 = _mm_setzero_pd();
+ sum2 = _mm_setzero_pd();
+ sum3 = _mm_setzero_pd();
+ d0 = _mm_setzero_pd();
+ d1 = _mm_setzero_pd();
+ d2 = _mm_setzero_pd();
+ d3 = _mm_setzero_pd();
+#if MAX_LAG > 8
+ sum4 = _mm_setzero_pd();
+ d4 = _mm_setzero_pd();
+#endif
+#if MAX_LAG > 10
+ sum5 = _mm_setzero_pd();
+ sum6 = _mm_setzero_pd();
+ d5 = _mm_setzero_pd();
+ d6 = _mm_setzero_pd();
+#endif
+
+ /* Loop backwards through samples from data_len to limit */
+ for(i = data_len-1; i >= 0; i--) {
+ __m128d d = _mm_set1_pd(data[i]);
+
+ /* The next lines of code work like a queue. For more
+ * information see the lag8 version of this function */
+#if MAX_LAG > 10
+ d6 = _mm_shuffle_pd(d5, d6, _MM_SHUFFLE(0,0,0,1));
+ d5 = _mm_shuffle_pd(d4, d5, _MM_SHUFFLE(0,0,0,1));
+#endif
+#if MAX_LAG > 8
+ d4 = _mm_shuffle_pd(d3, d4, _MM_SHUFFLE(0,0,0,1));
+#endif
+ d3 = _mm_shuffle_pd(d2, d3, _MM_SHUFFLE(0,0,0,1));
+ d2 = _mm_shuffle_pd(d1, d2, _MM_SHUFFLE(0,0,0,1));
+ d1 = _mm_shuffle_pd(d0, d1, _MM_SHUFFLE(0,0,0,1));
+ d0 = _mm_shuffle_pd(d, d0, _MM_SHUFFLE(0,0,0,1));
+
+ /* sumn += d*dn */
+ sum0 = _mm_add_pd(sum0, _mm_mul_pd(d, d0));
+ sum1 = _mm_add_pd(sum1, _mm_mul_pd(d, d1));
+ sum2 = _mm_add_pd(sum2, _mm_mul_pd(d, d2));
+ sum3 = _mm_add_pd(sum3, _mm_mul_pd(d, d3));
+#if MAX_LAG > 8
+ sum4 = _mm_add_pd(sum4, _mm_mul_pd(d, d4));
+#endif
+#if MAX_LAG > 10
+ sum5 = _mm_add_pd(sum5, _mm_mul_pd(d, d5));
+ sum6 = _mm_add_pd(sum6, _mm_mul_pd(d, d6));
+#endif
+ }
+
+ /* Store sum0..sum6 in autoc[0..14] */
+ _mm_storeu_pd(autoc, sum0);
+ _mm_storeu_pd(autoc+2, sum1);
+ _mm_storeu_pd(autoc+4, sum2);
+ _mm_storeu_pd(autoc+6 ,sum3);
+#if MAX_LAG > 8
+ _mm_storeu_pd(autoc+8, sum4);
+#endif
+#if MAX_LAG > 10
+ _mm_storeu_pd(autoc+10,sum5);
+ _mm_storeu_pd(autoc+12,sum6);
+#endif
diff --git a/3rdparty/libflac/src/libFLAC/fixed.c b/3rdparty/libflac/src/libFLAC/fixed.c
index e92faf3d8ff..5c42570e7d4 100644
--- a/3rdparty/libflac/src/libFLAC/fixed.c
+++ b/3rdparty/libflac/src/libFLAC/fixed.c
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -35,24 +36,21 @@
#include <math.h>
#include <string.h>
+#include "share/compat.h"
#include "private/bitmath.h"
#include "private/fixed.h"
+#include "private/macros.h"
#include "FLAC/assert.h"
-#ifndef M_LN2
-/* math.h in VC++ doesn't seem to have this (how Microsoft is that?) */
-#define M_LN2 0.69314718055994530942
-#endif
-
-#ifdef min
-#undef min
-#endif
-#define min(x,y) ((x) < (y)? (x) : (y))
-
#ifdef local_abs
#undef local_abs
#endif
-#define local_abs(x) ((unsigned)((x)<0? -(x) : (x)))
+#define local_abs(x) ((uint32_t)((x)<0? -(x) : (x)))
+
+#ifdef local_abs64
+#undef local_abs64
+#endif
+#define local_abs64(x) ((uint64_t)((x)<0? -(x) : (x)))
#ifdef FLAC__INTEGER_ONLY_LIBRARY
/* rbps stands for residual bits per sample
@@ -64,7 +62,7 @@
static FLAC__fixedpoint local__compute_rbps_integerized(FLAC__uint32 err, FLAC__uint32 n)
{
FLAC__uint32 rbps;
- unsigned bits; /* the number of bits required to represent a number */
+ uint32_t bits; /* the number of bits required to represent a number */
int fracbits; /* the number of bits of rbps that comprise the fractional part */
FLAC__ASSERT(sizeof(rbps) == sizeof(FLAC__fixedpoint));
@@ -112,7 +110,7 @@ static FLAC__fixedpoint local__compute_rbps_integerized(FLAC__uint32 err, FLAC__
}
}
- rbps = FLAC__fixedpoint_log2(rbps, fracbits, (unsigned)(-1));
+ rbps = FLAC__fixedpoint_log2(rbps, fracbits, (uint32_t)(-1));
if(rbps == 0)
return 0;
@@ -143,7 +141,7 @@ static FLAC__fixedpoint local__compute_rbps_integerized(FLAC__uint32 err, FLAC__
static FLAC__fixedpoint local__compute_rbps_wide_integerized(FLAC__uint64 err, FLAC__uint32 n)
{
FLAC__uint32 rbps;
- unsigned bits; /* the number of bits required to represent a number */
+ uint32_t bits; /* the number of bits required to represent a number */
int fracbits; /* the number of bits of rbps that comprise the fractional part */
FLAC__ASSERT(sizeof(rbps) == sizeof(FLAC__fixedpoint));
@@ -191,7 +189,7 @@ static FLAC__fixedpoint local__compute_rbps_wide_integerized(FLAC__uint64 err, F
}
}
- rbps = FLAC__fixedpoint_log2(rbps, fracbits, (unsigned)(-1));
+ rbps = FLAC__fixedpoint_log2(rbps, fracbits, (uint32_t)(-1));
if(rbps == 0)
return 0;
@@ -221,19 +219,28 @@ static FLAC__fixedpoint local__compute_rbps_wide_integerized(FLAC__uint64 err, F
#endif
#ifndef FLAC__INTEGER_ONLY_LIBRARY
-unsigned FLAC__fixed_compute_best_predictor(const FLAC__int32 data[], unsigned data_len, FLAC__float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1])
+uint32_t FLAC__fixed_compute_best_predictor(const FLAC__int32 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1])
#else
-unsigned FLAC__fixed_compute_best_predictor(const FLAC__int32 data[], unsigned data_len, FLAC__fixedpoint residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1])
+uint32_t FLAC__fixed_compute_best_predictor(const FLAC__int32 data[], uint32_t data_len, FLAC__fixedpoint residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1])
#endif
{
+ FLAC__uint32 total_error_0 = 0, total_error_1 = 0, total_error_2 = 0, total_error_3 = 0, total_error_4 = 0;
+ uint32_t order;
+#if 0
+ /* This code has been around a long time, and was written when compilers weren't able
+ * to vectorize code. These days, compilers are better in optimizing the next block
+ * which is also much more readable
+ */
FLAC__int32 last_error_0 = data[-1];
FLAC__int32 last_error_1 = data[-1] - data[-2];
FLAC__int32 last_error_2 = last_error_1 - (data[-2] - data[-3]);
FLAC__int32 last_error_3 = last_error_2 - (data[-2] - 2*data[-3] + data[-4]);
FLAC__int32 error, save;
- FLAC__uint32 total_error_0 = 0, total_error_1 = 0, total_error_2 = 0, total_error_3 = 0, total_error_4 = 0;
- unsigned i, order;
-
+ uint32_t i;
+ /* total_error_* are 64-bits to avoid overflow when encoding
+ * erratic signals when the bits-per-sample and blocksize are
+ * large.
+ */
for(i = 0; i < data_len; i++) {
error = data[i] ; total_error_0 += local_abs(error); save = error;
error -= last_error_0; total_error_1 += local_abs(error); last_error_0 = save; save = error;
@@ -241,14 +248,26 @@ unsigned FLAC__fixed_compute_best_predictor(const FLAC__int32 data[], unsigned d
error -= last_error_2; total_error_3 += local_abs(error); last_error_2 = save; save = error;
error -= last_error_3; total_error_4 += local_abs(error); last_error_3 = save;
}
+#else
+ int i;
+ for(i = 0; i < (int)data_len; i++) {
+ total_error_0 += local_abs(data[i]);
+ total_error_1 += local_abs(data[i] - data[i-1]);
+ total_error_2 += local_abs(data[i] - 2 * data[i-1] + data[i-2]);
+ total_error_3 += local_abs(data[i] - 3 * data[i-1] + 3 * data[i-2] - data[i-3]);
+ total_error_4 += local_abs(data[i] - 4 * data[i-1] + 6 * data[i-2] - 4 * data[i-3] + data[i-4]);
+ }
+#endif
- if(total_error_0 < min(min(min(total_error_1, total_error_2), total_error_3), total_error_4))
+
+ /* prefer lower order */
+ if(total_error_0 <= flac_min(flac_min(flac_min(total_error_1, total_error_2), total_error_3), total_error_4))
order = 0;
- else if(total_error_1 < min(min(total_error_2, total_error_3), total_error_4))
+ else if(total_error_1 <= flac_min(flac_min(total_error_2, total_error_3), total_error_4))
order = 1;
- else if(total_error_2 < min(total_error_3, total_error_4))
+ else if(total_error_2 <= flac_min(total_error_3, total_error_4))
order = 2;
- else if(total_error_3 < total_error_4)
+ else if(total_error_3 <= total_error_4)
order = 3;
else
order = 4;
@@ -262,11 +281,11 @@ unsigned FLAC__fixed_compute_best_predictor(const FLAC__int32 data[], unsigned d
FLAC__ASSERT(data_len > 0 || total_error_3 == 0);
FLAC__ASSERT(data_len > 0 || total_error_4 == 0);
#ifndef FLAC__INTEGER_ONLY_LIBRARY
- residual_bits_per_sample[0] = (FLAC__float)((total_error_0 > 0) ? log(M_LN2 * (FLAC__double)total_error_0 / (FLAC__double)data_len) / M_LN2 : 0.0);
- residual_bits_per_sample[1] = (FLAC__float)((total_error_1 > 0) ? log(M_LN2 * (FLAC__double)total_error_1 / (FLAC__double)data_len) / M_LN2 : 0.0);
- residual_bits_per_sample[2] = (FLAC__float)((total_error_2 > 0) ? log(M_LN2 * (FLAC__double)total_error_2 / (FLAC__double)data_len) / M_LN2 : 0.0);
- residual_bits_per_sample[3] = (FLAC__float)((total_error_3 > 0) ? log(M_LN2 * (FLAC__double)total_error_3 / (FLAC__double)data_len) / M_LN2 : 0.0);
- residual_bits_per_sample[4] = (FLAC__float)((total_error_4 > 0) ? log(M_LN2 * (FLAC__double)total_error_4 / (FLAC__double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[0] = (float)((total_error_0 > 0) ? log(M_LN2 * (double)total_error_0 / (double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[1] = (float)((total_error_1 > 0) ? log(M_LN2 * (double)total_error_1 / (double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[2] = (float)((total_error_2 > 0) ? log(M_LN2 * (double)total_error_2 / (double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[3] = (float)((total_error_3 > 0) ? log(M_LN2 * (double)total_error_3 / (double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[4] = (float)((total_error_4 > 0) ? log(M_LN2 * (double)total_error_4 / (double)data_len) / M_LN2 : 0.0);
#else
residual_bits_per_sample[0] = (total_error_0 > 0) ? local__compute_rbps_integerized(total_error_0, data_len) : 0;
residual_bits_per_sample[1] = (total_error_1 > 0) ? local__compute_rbps_integerized(total_error_1, data_len) : 0;
@@ -279,38 +298,31 @@ unsigned FLAC__fixed_compute_best_predictor(const FLAC__int32 data[], unsigned d
}
#ifndef FLAC__INTEGER_ONLY_LIBRARY
-unsigned FLAC__fixed_compute_best_predictor_wide(const FLAC__int32 data[], unsigned data_len, FLAC__float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1])
+uint32_t FLAC__fixed_compute_best_predictor_wide(const FLAC__int32 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1])
#else
-unsigned FLAC__fixed_compute_best_predictor_wide(const FLAC__int32 data[], unsigned data_len, FLAC__fixedpoint residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1])
+uint32_t FLAC__fixed_compute_best_predictor_wide(const FLAC__int32 data[], uint32_t data_len, FLAC__fixedpoint residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1])
#endif
{
- FLAC__int32 last_error_0 = data[-1];
- FLAC__int32 last_error_1 = data[-1] - data[-2];
- FLAC__int32 last_error_2 = last_error_1 - (data[-2] - data[-3]);
- FLAC__int32 last_error_3 = last_error_2 - (data[-2] - 2*data[-3] + data[-4]);
- FLAC__int32 error, save;
- /* total_error_* are 64-bits to avoid overflow when encoding
- * erratic signals when the bits-per-sample and blocksize are
- * large.
- */
FLAC__uint64 total_error_0 = 0, total_error_1 = 0, total_error_2 = 0, total_error_3 = 0, total_error_4 = 0;
- unsigned i, order;
+ uint32_t order;
+ int i;
- for(i = 0; i < data_len; i++) {
- error = data[i] ; total_error_0 += local_abs(error); save = error;
- error -= last_error_0; total_error_1 += local_abs(error); last_error_0 = save; save = error;
- error -= last_error_1; total_error_2 += local_abs(error); last_error_1 = save; save = error;
- error -= last_error_2; total_error_3 += local_abs(error); last_error_2 = save; save = error;
- error -= last_error_3; total_error_4 += local_abs(error); last_error_3 = save;
+ for(i = 0; i < (int)data_len; i++) {
+ total_error_0 += local_abs(data[i]);
+ total_error_1 += local_abs(data[i] - data[i-1]);
+ total_error_2 += local_abs(data[i] - 2 * data[i-1] + data[i-2]);
+ total_error_3 += local_abs(data[i] - 3 * data[i-1] + 3 * data[i-2] - data[i-3]);
+ total_error_4 += local_abs(data[i] - 4 * data[i-1] + 6 * data[i-2] - 4 * data[i-3] + data[i-4]);
}
- if(total_error_0 < min(min(min(total_error_1, total_error_2), total_error_3), total_error_4))
+ /* prefer lower order */
+ if(total_error_0 <= flac_min(flac_min(flac_min(total_error_1, total_error_2), total_error_3), total_error_4))
order = 0;
- else if(total_error_1 < min(min(total_error_2, total_error_3), total_error_4))
+ else if(total_error_1 <= flac_min(flac_min(total_error_2, total_error_3), total_error_4))
order = 1;
- else if(total_error_2 < min(total_error_3, total_error_4))
+ else if(total_error_2 <= flac_min(total_error_3, total_error_4))
order = 2;
- else if(total_error_3 < total_error_4)
+ else if(total_error_3 <= total_error_4)
order = 3;
else
order = 4;
@@ -324,20 +336,11 @@ unsigned FLAC__fixed_compute_best_predictor_wide(const FLAC__int32 data[], unsig
FLAC__ASSERT(data_len > 0 || total_error_3 == 0);
FLAC__ASSERT(data_len > 0 || total_error_4 == 0);
#ifndef FLAC__INTEGER_ONLY_LIBRARY
-#if defined _MSC_VER || defined __MINGW32__
- /* with MSVC you have to spoon feed it the casting */
- residual_bits_per_sample[0] = (FLAC__float)((total_error_0 > 0) ? log(M_LN2 * (FLAC__double)(FLAC__int64)total_error_0 / (FLAC__double)data_len) / M_LN2 : 0.0);
- residual_bits_per_sample[1] = (FLAC__float)((total_error_1 > 0) ? log(M_LN2 * (FLAC__double)(FLAC__int64)total_error_1 / (FLAC__double)data_len) / M_LN2 : 0.0);
- residual_bits_per_sample[2] = (FLAC__float)((total_error_2 > 0) ? log(M_LN2 * (FLAC__double)(FLAC__int64)total_error_2 / (FLAC__double)data_len) / M_LN2 : 0.0);
- residual_bits_per_sample[3] = (FLAC__float)((total_error_3 > 0) ? log(M_LN2 * (FLAC__double)(FLAC__int64)total_error_3 / (FLAC__double)data_len) / M_LN2 : 0.0);
- residual_bits_per_sample[4] = (FLAC__float)((total_error_4 > 0) ? log(M_LN2 * (FLAC__double)(FLAC__int64)total_error_4 / (FLAC__double)data_len) / M_LN2 : 0.0);
-#else
- residual_bits_per_sample[0] = (FLAC__float)((total_error_0 > 0) ? log(M_LN2 * (FLAC__double)total_error_0 / (FLAC__double)data_len) / M_LN2 : 0.0);
- residual_bits_per_sample[1] = (FLAC__float)((total_error_1 > 0) ? log(M_LN2 * (FLAC__double)total_error_1 / (FLAC__double)data_len) / M_LN2 : 0.0);
- residual_bits_per_sample[2] = (FLAC__float)((total_error_2 > 0) ? log(M_LN2 * (FLAC__double)total_error_2 / (FLAC__double)data_len) / M_LN2 : 0.0);
- residual_bits_per_sample[3] = (FLAC__float)((total_error_3 > 0) ? log(M_LN2 * (FLAC__double)total_error_3 / (FLAC__double)data_len) / M_LN2 : 0.0);
- residual_bits_per_sample[4] = (FLAC__float)((total_error_4 > 0) ? log(M_LN2 * (FLAC__double)total_error_4 / (FLAC__double)data_len) / M_LN2 : 0.0);
-#endif
+ residual_bits_per_sample[0] = (float)((total_error_0 > 0) ? log(M_LN2 * (double)total_error_0 / (double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[1] = (float)((total_error_1 > 0) ? log(M_LN2 * (double)total_error_1 / (double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[2] = (float)((total_error_2 > 0) ? log(M_LN2 * (double)total_error_2 / (double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[3] = (float)((total_error_3 > 0) ? log(M_LN2 * (double)total_error_3 / (double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[4] = (float)((total_error_4 > 0) ? log(M_LN2 * (double)total_error_4 / (double)data_len) / M_LN2 : 0.0);
#else
residual_bits_per_sample[0] = (total_error_0 > 0) ? local__compute_rbps_wide_integerized(total_error_0, data_len) : 0;
residual_bits_per_sample[1] = (total_error_1 > 0) ? local__compute_rbps_wide_integerized(total_error_1, data_len) : 0;
@@ -349,7 +352,122 @@ unsigned FLAC__fixed_compute_best_predictor_wide(const FLAC__int32 data[], unsig
return order;
}
-void FLAC__fixed_compute_residual(const FLAC__int32 data[], unsigned data_len, unsigned order, FLAC__int32 residual[])
+#ifndef FLAC__INTEGER_ONLY_LIBRARY
+#define CHECK_ORDER_IS_VALID(macro_order) \
+if(order_##macro_order##_is_valid && total_error_##macro_order < smallest_error) { \
+ order = macro_order; \
+ smallest_error = total_error_##macro_order ; \
+ residual_bits_per_sample[ macro_order ] = (float)((total_error_0 > 0) ? log(M_LN2 * (double)total_error_0 / (double)data_len) / M_LN2 : 0.0); \
+} \
+else \
+ residual_bits_per_sample[ macro_order ] = 34.0f;
+#else
+#define CHECK_ORDER_IS_VALID(macro_order) \
+if(order_##macro_order##_is_valid && total_error_##macro_order < smallest_error) { \
+ order = macro_order; \
+ smallest_error = total_error_##macro_order ; \
+ residual_bits_per_sample[ macro_order ] = (total_error_##macro_order > 0) ? local__compute_rbps_wide_integerized(total_error_##macro_order, data_len) : 0; \
+} \
+else \
+ residual_bits_per_sample[ macro_order ] = 34 * FLAC__FP_ONE;
+#endif
+
+
+#ifndef FLAC__INTEGER_ONLY_LIBRARY
+uint32_t FLAC__fixed_compute_best_predictor_limit_residual(const FLAC__int32 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1])
+#else
+uint32_t FLAC__fixed_compute_best_predictor_limit_residual(const FLAC__int32 data[], uint32_t data_len, FLAC__fixedpoint residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1])
+#endif
+{
+ FLAC__uint64 total_error_0 = 0, total_error_1 = 0, total_error_2 = 0, total_error_3 = 0, total_error_4 = 0, smallest_error = UINT64_MAX;
+ FLAC__uint64 error_0, error_1, error_2, error_3, error_4;
+ FLAC__bool order_0_is_valid = true, order_1_is_valid = true, order_2_is_valid = true, order_3_is_valid = true, order_4_is_valid = true;
+ uint32_t order = 0;
+ int i;
+
+ for(i = -4; i < (int)data_len; i++) {
+ error_0 = local_abs64((FLAC__int64)data[i]);
+ error_1 = (i > -4) ? local_abs64((FLAC__int64)data[i] - data[i-1]) : 0 ;
+ error_2 = (i > -3) ? local_abs64((FLAC__int64)data[i] - 2 * (FLAC__int64)data[i-1] + data[i-2]) : 0;
+ error_3 = (i > -2) ? local_abs64((FLAC__int64)data[i] - 3 * (FLAC__int64)data[i-1] + 3 * (FLAC__int64)data[i-2] - data[i-3]) : 0;
+ error_4 = (i > -1) ? local_abs64((FLAC__int64)data[i] - 4 * (FLAC__int64)data[i-1] + 6 * (FLAC__int64)data[i-2] - 4 * (FLAC__int64)data[i-3] + data[i-4]) : 0;
+
+ total_error_0 += error_0;
+ total_error_1 += error_1;
+ total_error_2 += error_2;
+ total_error_3 += error_3;
+ total_error_4 += error_4;
+
+ /* residual must not be INT32_MIN because abs(INT32_MIN) is undefined */
+ if(error_0 > INT32_MAX)
+ order_0_is_valid = false;
+ if(error_1 > INT32_MAX)
+ order_1_is_valid = false;
+ if(error_2 > INT32_MAX)
+ order_2_is_valid = false;
+ if(error_3 > INT32_MAX)
+ order_3_is_valid = false;
+ if(error_4 > INT32_MAX)
+ order_4_is_valid = false;
+ }
+
+ CHECK_ORDER_IS_VALID(0);
+ CHECK_ORDER_IS_VALID(1);
+ CHECK_ORDER_IS_VALID(2);
+ CHECK_ORDER_IS_VALID(3);
+ CHECK_ORDER_IS_VALID(4);
+
+ return order;
+}
+
+#ifndef FLAC__INTEGER_ONLY_LIBRARY
+uint32_t FLAC__fixed_compute_best_predictor_limit_residual_33bit(const FLAC__int64 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1])
+#else
+uint32_t FLAC__fixed_compute_best_predictor_limit_residual_33bit(const FLAC__int64 data[], uint32_t data_len, FLAC__fixedpoint residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1])
+#endif
+{
+ FLAC__uint64 total_error_0 = 0, total_error_1 = 0, total_error_2 = 0, total_error_3 = 0, total_error_4 = 0, smallest_error = UINT64_MAX;
+ FLAC__uint64 error_0, error_1, error_2, error_3, error_4;
+ FLAC__bool order_0_is_valid = true, order_1_is_valid = true, order_2_is_valid = true, order_3_is_valid = true, order_4_is_valid = true;
+ uint32_t order = 0;
+ int i;
+
+ for(i = -4; i < (int)data_len; i++) {
+ error_0 = local_abs64(data[i]);
+ error_1 = (i > -4) ? local_abs64(data[i] - data[i-1]) : 0 ;
+ error_2 = (i > -3) ? local_abs64(data[i] - 2 * data[i-1] + data[i-2]) : 0;
+ error_3 = (i > -2) ? local_abs64(data[i] - 3 * data[i-1] + 3 * data[i-2] - data[i-3]) : 0;
+ error_4 = (i > -1) ? local_abs64(data[i] - 4 * data[i-1] + 6 * data[i-2] - 4 * data[i-3] + data[i-4]) : 0;
+
+ total_error_0 += error_0;
+ total_error_1 += error_1;
+ total_error_2 += error_2;
+ total_error_3 += error_3;
+ total_error_4 += error_4;
+
+ /* residual must not be INT32_MIN because abs(INT32_MIN) is undefined */
+ if(error_0 > INT32_MAX)
+ order_0_is_valid = false;
+ if(error_1 > INT32_MAX)
+ order_1_is_valid = false;
+ if(error_2 > INT32_MAX)
+ order_2_is_valid = false;
+ if(error_3 > INT32_MAX)
+ order_3_is_valid = false;
+ if(error_4 > INT32_MAX)
+ order_4_is_valid = false;
+ }
+
+ CHECK_ORDER_IS_VALID(0);
+ CHECK_ORDER_IS_VALID(1);
+ CHECK_ORDER_IS_VALID(2);
+ CHECK_ORDER_IS_VALID(3);
+ CHECK_ORDER_IS_VALID(4);
+
+ return order;
+}
+
+void FLAC__fixed_compute_residual(const FLAC__int32 data[], uint32_t data_len, uint32_t order, FLAC__int32 residual[])
{
const int idata_len = (int)data_len;
int i;
@@ -365,34 +483,92 @@ void FLAC__fixed_compute_residual(const FLAC__int32 data[], unsigned data_len, u
break;
case 2:
for(i = 0; i < idata_len; i++)
-#if 1 /* OPT: may be faster with some compilers on some systems */
- residual[i] = data[i] - (data[i-1] << 1) + data[i-2];
-#else
residual[i] = data[i] - 2*data[i-1] + data[i-2];
-#endif
break;
case 3:
for(i = 0; i < idata_len; i++)
-#if 1 /* OPT: may be faster with some compilers on some systems */
- residual[i] = data[i] - (((data[i-1]-data[i-2])<<1) + (data[i-1]-data[i-2])) - data[i-3];
-#else
residual[i] = data[i] - 3*data[i-1] + 3*data[i-2] - data[i-3];
-#endif
break;
case 4:
for(i = 0; i < idata_len; i++)
-#if 1 /* OPT: may be faster with some compilers on some systems */
- residual[i] = data[i] - ((data[i-1]+data[i-3])<<2) + ((data[i-2]<<2) + (data[i-2]<<1)) + data[i-4];
-#else
residual[i] = data[i] - 4*data[i-1] + 6*data[i-2] - 4*data[i-3] + data[i-4];
-#endif
break;
default:
FLAC__ASSERT(0);
}
}
-void FLAC__fixed_restore_signal(const FLAC__int32 residual[], unsigned data_len, unsigned order, FLAC__int32 data[])
+void FLAC__fixed_compute_residual_wide(const FLAC__int32 data[], uint32_t data_len, uint32_t order, FLAC__int32 residual[])
+{
+ const int idata_len = (int)data_len;
+ int i;
+
+ switch(order) {
+ case 0:
+ FLAC__ASSERT(sizeof(residual[0]) == sizeof(data[0]));
+ memcpy(residual, data, sizeof(residual[0])*data_len);
+ break;
+ case 1:
+ for(i = 0; i < idata_len; i++)
+ residual[i] = (FLAC__int64)data[i] - data[i-1];
+ break;
+ case 2:
+ for(i = 0; i < idata_len; i++)
+ residual[i] = (FLAC__int64)data[i] - 2*(FLAC__int64)data[i-1] + data[i-2];
+ break;
+ case 3:
+ for(i = 0; i < idata_len; i++)
+ residual[i] = (FLAC__int64)data[i] - 3*(FLAC__int64)data[i-1] + 3*(FLAC__int64)data[i-2] - data[i-3];
+ break;
+ case 4:
+ for(i = 0; i < idata_len; i++)
+ residual[i] = (FLAC__int64)data[i] - 4*(FLAC__int64)data[i-1] + 6*(FLAC__int64)data[i-2] - 4*(FLAC__int64)data[i-3] + data[i-4];
+ break;
+ default:
+ FLAC__ASSERT(0);
+ }
+}
+
+void FLAC__fixed_compute_residual_wide_33bit(const FLAC__int64 data[], uint32_t data_len, uint32_t order, FLAC__int32 residual[])
+{
+ const int idata_len = (int)data_len;
+ int i;
+
+ switch(order) {
+ case 0:
+ for(i = 0; i < idata_len; i++)
+ residual[i] = data[i];
+ break;
+ case 1:
+ for(i = 0; i < idata_len; i++)
+ residual[i] = data[i] - data[i-1];
+ break;
+ case 2:
+ for(i = 0; i < idata_len; i++)
+ residual[i] = data[i] - 2*data[i-1] + data[i-2];
+ break;
+ case 3:
+ for(i = 0; i < idata_len; i++)
+ residual[i] = data[i] - 3*data[i-1] + 3*data[i-2] - data[i-3];
+ break;
+ case 4:
+ for(i = 0; i < idata_len; i++)
+ residual[i] = data[i] - 4*data[i-1] + 6*data[i-2] - 4*data[i-3] + data[i-4];
+ break;
+ default:
+ FLAC__ASSERT(0);
+ }
+}
+
+#if defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION) && !defined(FUZZING_BUILD_MODE_FLAC_SANITIZE_SIGNED_INTEGER_OVERFLOW)
+/* The attribute below is to silence the undefined sanitizer of oss-fuzz.
+ * Because fuzzing feeds bogus predictors and residual samples to the
+ * decoder, having overflows in this section is unavoidable. Also,
+ * because the calculated values are audio path only, there is no
+ * potential for security problems */
+__attribute__((no_sanitize("signed-integer-overflow")))
+#endif
+void FLAC__fixed_restore_signal(const FLAC__int32 residual[], uint32_t data_len, uint32_t order, FLAC__int32 data[])
{
int i, idata_len = (int)data_len;
@@ -407,27 +583,83 @@ void FLAC__fixed_restore_signal(const FLAC__int32 residual[], unsigned data_len,
break;
case 2:
for(i = 0; i < idata_len; i++)
-#if 1 /* OPT: may be faster with some compilers on some systems */
- data[i] = residual[i] + (data[i-1]<<1) - data[i-2];
-#else
data[i] = residual[i] + 2*data[i-1] - data[i-2];
-#endif
break;
case 3:
for(i = 0; i < idata_len; i++)
-#if 1 /* OPT: may be faster with some compilers on some systems */
- data[i] = residual[i] + (((data[i-1]-data[i-2])<<1) + (data[i-1]-data[i-2])) + data[i-3];
-#else
data[i] = residual[i] + 3*data[i-1] - 3*data[i-2] + data[i-3];
-#endif
break;
case 4:
for(i = 0; i < idata_len; i++)
-#if 1 /* OPT: may be faster with some compilers on some systems */
- data[i] = residual[i] + ((data[i-1]+data[i-3])<<2) - ((data[i-2]<<2) + (data[i-2]<<1)) - data[i-4];
-#else
data[i] = residual[i] + 4*data[i-1] - 6*data[i-2] + 4*data[i-3] - data[i-4];
+ break;
+ default:
+ FLAC__ASSERT(0);
+ }
+}
+
+void FLAC__fixed_restore_signal_wide(const FLAC__int32 residual[], uint32_t data_len, uint32_t order, FLAC__int32 data[])
+{
+ int i, idata_len = (int)data_len;
+
+ switch(order) {
+ case 0:
+ FLAC__ASSERT(sizeof(residual[0]) == sizeof(data[0]));
+ memcpy(data, residual, sizeof(residual[0])*data_len);
+ break;
+ case 1:
+ for(i = 0; i < idata_len; i++)
+ data[i] = (FLAC__int64)residual[i] + (FLAC__int64)data[i-1];
+ break;
+ case 2:
+ for(i = 0; i < idata_len; i++)
+ data[i] = (FLAC__int64)residual[i] + 2*(FLAC__int64)data[i-1] - (FLAC__int64)data[i-2];
+ break;
+ case 3:
+ for(i = 0; i < idata_len; i++)
+ data[i] = (FLAC__int64)residual[i] + 3*(FLAC__int64)data[i-1] - 3*(FLAC__int64)data[i-2] + (FLAC__int64)data[i-3];
+ break;
+ case 4:
+ for(i = 0; i < idata_len; i++)
+ data[i] = (FLAC__int64)residual[i] + 4*(FLAC__int64)data[i-1] - 6*(FLAC__int64)data[i-2] + 4*(FLAC__int64)data[i-3] - (FLAC__int64)data[i-4];
+ break;
+ default:
+ FLAC__ASSERT(0);
+ }
+}
+
+#if defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION) && !defined(FUZZING_BUILD_MODE_FLAC_SANITIZE_SIGNED_INTEGER_OVERFLOW)
+/* The attribute below is to silence the undefined sanitizer of oss-fuzz.
+ * Because fuzzing feeds bogus predictors and residual samples to the
+ * decoder, having overflows in this section is unavoidable. Also,
+ * because the calculated values are audio path only, there is no
+ * potential for security problems */
+__attribute__((no_sanitize("signed-integer-overflow")))
#endif
+void FLAC__fixed_restore_signal_wide_33bit(const FLAC__int32 residual[], uint32_t data_len, uint32_t order, FLAC__int64 data[])
+{
+ int i, idata_len = (int)data_len;
+
+ switch(order) {
+ case 0:
+ for(i = 0; i < idata_len; i++)
+ data[i] = residual[i];
+ break;
+ case 1:
+ for(i = 0; i < idata_len; i++)
+ data[i] = (FLAC__int64)residual[i] + data[i-1];
+ break;
+ case 2:
+ for(i = 0; i < idata_len; i++)
+ data[i] = (FLAC__int64)residual[i] + 2*data[i-1] - data[i-2];
+ break;
+ case 3:
+ for(i = 0; i < idata_len; i++)
+ data[i] = (FLAC__int64)residual[i] + 3*data[i-1] - 3*data[i-2] + data[i-3];
+ break;
+ case 4:
+ for(i = 0; i < idata_len; i++)
+ data[i] = (FLAC__int64)residual[i] + 4*data[i-1] - 6*data[i-2] + 4*data[i-3] - data[i-4];
break;
default:
FLAC__ASSERT(0);
diff --git a/3rdparty/libflac/src/libFLAC/fixed_intrin_avx2.c b/3rdparty/libflac/src/libFLAC/fixed_intrin_avx2.c
new file mode 100644
index 00000000000..85fc4a6d044
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC/fixed_intrin_avx2.c
@@ -0,0 +1,343 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "private/cpu.h"
+
+#ifndef FLAC__INTEGER_ONLY_LIBRARY
+#ifndef FLAC__NO_ASM
+#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN
+#include "private/fixed.h"
+#ifdef FLAC__AVX2_SUPPORTED
+
+#include <immintrin.h>
+#include <math.h>
+#include "private/macros.h"
+#include "share/compat.h"
+#include "FLAC/assert.h"
+
+#ifdef local_abs
+#undef local_abs
+#endif
+#define local_abs(x) ((uint32_t)((x)<0? -(x) : (x)))
+
+FLAC__SSE_TARGET("avx2")
+uint32_t FLAC__fixed_compute_best_predictor_wide_intrin_avx2(const FLAC__int32 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER + 1])
+{
+ FLAC__uint64 total_error_0, total_error_1, total_error_2, total_error_3, total_error_4;
+ FLAC__int32 i, data_len_int;
+ uint32_t order;
+ __m256i total_err0, total_err1, total_err2, total_err3, total_err4;
+ __m256i prev_err0, prev_err1, prev_err2, prev_err3;
+ __m256i tempA, tempB, bitmask;
+ FLAC__int64 data_scalar[4];
+ FLAC__int64 prev_err0_scalar[4];
+ FLAC__int64 prev_err1_scalar[4];
+ FLAC__int64 prev_err2_scalar[4];
+ FLAC__int64 prev_err3_scalar[4];
+ total_err0 = _mm256_setzero_si256();
+ total_err1 = _mm256_setzero_si256();
+ total_err2 = _mm256_setzero_si256();
+ total_err3 = _mm256_setzero_si256();
+ total_err4 = _mm256_setzero_si256();
+ data_len_int = data_len;
+
+ for(i = 0; i < 4; i++){
+ prev_err0_scalar[i] = data[-1+i*(data_len_int/4)];
+ prev_err1_scalar[i] = data[-1+i*(data_len_int/4)] - data[-2+i*(data_len_int/4)];
+ prev_err2_scalar[i] = prev_err1_scalar[i] - (data[-2+i*(data_len_int/4)] - data[-3+i*(data_len_int/4)]);
+ prev_err3_scalar[i] = prev_err2_scalar[i] - (data[-2+i*(data_len_int/4)] - 2*data[-3+i*(data_len_int/4)] + data[-4+i*(data_len_int/4)]);
+ }
+ prev_err0 = _mm256_loadu_si256((const __m256i*)(void*)prev_err0_scalar);
+ prev_err1 = _mm256_loadu_si256((const __m256i*)(void*)prev_err1_scalar);
+ prev_err2 = _mm256_loadu_si256((const __m256i*)(void*)prev_err2_scalar);
+ prev_err3 = _mm256_loadu_si256((const __m256i*)(void*)prev_err3_scalar);
+ for(i = 0; i < data_len_int / 4; i++){
+ data_scalar[0] = data[i];
+ data_scalar[1] = data[i+data_len/4];
+ data_scalar[2] = data[i+2*data_len/4];
+ data_scalar[3] = data[i+3*data_len/4];
+ tempA = _mm256_loadu_si256((const __m256i*)(void*)data_scalar);
+ /* Next three intrinsics calculate tempB as abs of tempA */
+ bitmask = _mm256_cmpgt_epi64(_mm256_set1_epi64x(0), tempA);
+ tempB = _mm256_xor_si256(tempA, bitmask);
+ tempB = _mm256_sub_epi64(tempB, bitmask);
+ total_err0 = _mm256_add_epi64(total_err0,tempB);
+ tempB = _mm256_sub_epi64(tempA,prev_err0);
+ prev_err0 = tempA;
+ /* Next three intrinsics calculate tempA as abs of tempB */
+ bitmask = _mm256_cmpgt_epi64(_mm256_set1_epi64x(0), tempB);
+ tempA = _mm256_xor_si256(tempB, bitmask);
+ tempA = _mm256_sub_epi64(tempA, bitmask);
+ total_err1 = _mm256_add_epi64(total_err1,tempA);
+ tempA = _mm256_sub_epi64(tempB,prev_err1);
+ prev_err1 = tempB;
+ /* Next three intrinsics calculate tempB as abs of tempA */
+ bitmask = _mm256_cmpgt_epi64(_mm256_set1_epi64x(0), tempA);
+ tempB = _mm256_xor_si256(tempA, bitmask);
+ tempB = _mm256_sub_epi64(tempB, bitmask);
+ total_err2 = _mm256_add_epi64(total_err2,tempB);
+ tempB = _mm256_sub_epi64(tempA,prev_err2);
+ prev_err2 = tempA;
+ /* Next three intrinsics calculate tempA as abs of tempB */
+ bitmask = _mm256_cmpgt_epi64(_mm256_set1_epi64x(0), tempB);
+ tempA = _mm256_xor_si256(tempB, bitmask);
+ tempA = _mm256_sub_epi64(tempA, bitmask);
+ total_err3 = _mm256_add_epi64(total_err3,tempA);
+ tempA = _mm256_sub_epi64(tempB,prev_err3);
+ prev_err3 = tempB;
+ /* Next three intrinsics calculate tempB as abs of tempA */
+ bitmask = _mm256_cmpgt_epi64(_mm256_set1_epi64x(0), tempA);
+ tempB = _mm256_xor_si256(tempA, bitmask);
+ tempB = _mm256_sub_epi64(tempB, bitmask);
+ total_err4 = _mm256_add_epi64(total_err4,tempB);
+ }
+ _mm256_storeu_si256((__m256i*)(void*)data_scalar,total_err0);
+ total_error_0 = data_scalar[0] + data_scalar[1] + data_scalar[2] + data_scalar[3];
+ _mm256_storeu_si256((__m256i*)(void*)data_scalar,total_err1);
+ total_error_1 = data_scalar[0] + data_scalar[1] + data_scalar[2] + data_scalar[3];
+ _mm256_storeu_si256((__m256i*)(void*)data_scalar,total_err2);
+ total_error_2 = data_scalar[0] + data_scalar[1] + data_scalar[2] + data_scalar[3];
+ _mm256_storeu_si256((__m256i*)(void*)data_scalar,total_err3);
+ total_error_3 = data_scalar[0] + data_scalar[1] + data_scalar[2] + data_scalar[3];
+ _mm256_storeu_si256((__m256i*)(void*)data_scalar,total_err4);
+ total_error_4 = data_scalar[0] + data_scalar[1] + data_scalar[2] + data_scalar[3];
+
+ /* Ignore the remainder, we're ignore the first few samples too */
+
+ /* prefer lower order */
+ if(total_error_0 <= flac_min(flac_min(flac_min(total_error_1, total_error_2), total_error_3), total_error_4))
+ order = 0;
+ else if(total_error_1 <= flac_min(flac_min(total_error_2, total_error_3), total_error_4))
+ order = 1;
+ else if(total_error_2 <= flac_min(total_error_3, total_error_4))
+ order = 2;
+ else if(total_error_3 <= total_error_4)
+ order = 3;
+ else
+ order = 4;
+
+ /* Estimate the expected number of bits per residual signal sample. */
+ /* 'total_error*' is linearly related to the variance of the residual */
+ /* signal, so we use it directly to compute E(|x|) */
+ FLAC__ASSERT(data_len > 0 || total_error_0 == 0);
+ FLAC__ASSERT(data_len > 0 || total_error_1 == 0);
+ FLAC__ASSERT(data_len > 0 || total_error_2 == 0);
+ FLAC__ASSERT(data_len > 0 || total_error_3 == 0);
+ FLAC__ASSERT(data_len > 0 || total_error_4 == 0);
+
+ residual_bits_per_sample[0] = (float)((total_error_0 > 0) ? log(M_LN2 * (double)total_error_0 / (double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[1] = (float)((total_error_1 > 0) ? log(M_LN2 * (double)total_error_1 / (double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[2] = (float)((total_error_2 > 0) ? log(M_LN2 * (double)total_error_2 / (double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[3] = (float)((total_error_3 > 0) ? log(M_LN2 * (double)total_error_3 / (double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[4] = (float)((total_error_4 > 0) ? log(M_LN2 * (double)total_error_4 / (double)data_len) / M_LN2 : 0.0);
+
+ return order;
+}
+
+#ifdef local_abs64
+#undef local_abs64
+#endif
+#define local_abs64(x) ((uint64_t)((x)<0? -(x) : (x)))
+
+#define CHECK_ORDER_IS_VALID(macro_order) \
+if(shadow_error_##macro_order <= INT32_MAX) { \
+ if(total_error_##macro_order < smallest_error) { \
+ order = macro_order; \
+ smallest_error = total_error_##macro_order ; \
+ } \
+ residual_bits_per_sample[ macro_order ] = (float)((total_error_0 > 0) ? log(M_LN2 * (double)total_error_0 / (double)data_len) / M_LN2 : 0.0); \
+} \
+else \
+ residual_bits_per_sample[ macro_order ] = 34.0f;
+
+FLAC__SSE_TARGET("avx2")
+uint32_t FLAC__fixed_compute_best_predictor_limit_residual_intrin_avx2(const FLAC__int32 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER + 1])
+{
+ FLAC__uint64 total_error_0 = 0, total_error_1 = 0, total_error_2 = 0, total_error_3 = 0, total_error_4 = 0, smallest_error = UINT64_MAX;
+ FLAC__uint64 shadow_error_0 = 0, shadow_error_1 = 0, shadow_error_2 = 0, shadow_error_3 = 0, shadow_error_4 = 0;
+ FLAC__uint64 error_0, error_1, error_2, error_3, error_4;
+ FLAC__int32 i, data_len_int;
+ uint32_t order = 0;
+ __m256i total_err0, total_err1, total_err2, total_err3, total_err4;
+ __m256i shadow_err0, shadow_err1, shadow_err2, shadow_err3, shadow_err4;
+ __m256i prev_err0, prev_err1, prev_err2, prev_err3;
+ __m256i tempA, tempB, bitmask;
+ FLAC__int64 data_scalar[4];
+ FLAC__int64 prev_err0_scalar[4];
+ FLAC__int64 prev_err1_scalar[4];
+ FLAC__int64 prev_err2_scalar[4];
+ FLAC__int64 prev_err3_scalar[4];
+ total_err0 = _mm256_setzero_si256();
+ total_err1 = _mm256_setzero_si256();
+ total_err2 = _mm256_setzero_si256();
+ total_err3 = _mm256_setzero_si256();
+ total_err4 = _mm256_setzero_si256();
+ shadow_err0 = _mm256_setzero_si256();
+ shadow_err1 = _mm256_setzero_si256();
+ shadow_err2 = _mm256_setzero_si256();
+ shadow_err3 = _mm256_setzero_si256();
+ shadow_err4 = _mm256_setzero_si256();
+ data_len_int = data_len;
+
+ /* First take care of preceding samples */
+ for(i = -4; i < 0; i++) {
+ error_0 = local_abs64((FLAC__int64)data[i]);
+ error_1 = (i > -4) ? local_abs64((FLAC__int64)data[i] - data[i-1]) : 0 ;
+ error_2 = (i > -3) ? local_abs64((FLAC__int64)data[i] - 2 * (FLAC__int64)data[i-1] + data[i-2]) : 0;
+ error_3 = (i > -2) ? local_abs64((FLAC__int64)data[i] - 3 * (FLAC__int64)data[i-1] + 3 * (FLAC__int64)data[i-2] - data[i-3]) : 0;
+
+ total_error_0 += error_0;
+ total_error_1 += error_1;
+ total_error_2 += error_2;
+ total_error_3 += error_3;
+
+ shadow_error_0 |= error_0;
+ shadow_error_1 |= error_1;
+ shadow_error_2 |= error_2;
+ shadow_error_3 |= error_3;
+ }
+
+ for(i = 0; i < 4; i++){
+ prev_err0_scalar[i] = data[-1+i*(data_len_int/4)];
+ prev_err1_scalar[i] = (FLAC__int64)(data[-1+i*(data_len_int/4)]) - data[-2+i*(data_len_int/4)];
+ prev_err2_scalar[i] = prev_err1_scalar[i] - ((FLAC__int64)(data[-2+i*(data_len_int/4)]) - data[-3+i*(data_len_int/4)]);
+ prev_err3_scalar[i] = prev_err2_scalar[i] - ((FLAC__int64)(data[-2+i*(data_len_int/4)]) - 2*(FLAC__int64)(data[-3+i*(data_len_int/4)]) + data[-4+i*(data_len_int/4)]);
+ }
+ prev_err0 = _mm256_loadu_si256((const __m256i*)(void*)prev_err0_scalar);
+ prev_err1 = _mm256_loadu_si256((const __m256i*)(void*)prev_err1_scalar);
+ prev_err2 = _mm256_loadu_si256((const __m256i*)(void*)prev_err2_scalar);
+ prev_err3 = _mm256_loadu_si256((const __m256i*)(void*)prev_err3_scalar);
+ for(i = 0; i < data_len_int / 4; i++){
+ data_scalar[0] = data[i];
+ data_scalar[1] = data[i+data_len/4];
+ data_scalar[2] = data[i+2*data_len/4];
+ data_scalar[3] = data[i+3*data_len/4];
+ tempA = _mm256_loadu_si256((const __m256i*)(void*)data_scalar);
+ /* Next three intrinsics calculate tempB as abs of tempA */
+ bitmask = _mm256_cmpgt_epi64(_mm256_set1_epi64x(0), tempA);
+ tempB = _mm256_xor_si256(tempA, bitmask);
+ tempB = _mm256_sub_epi64(tempB, bitmask);
+ total_err0 = _mm256_add_epi64(total_err0,tempB);
+ shadow_err0 = _mm256_or_si256(shadow_err0,tempB);
+ tempB = _mm256_sub_epi64(tempA,prev_err0);
+ prev_err0 = tempA;
+ /* Next three intrinsics calculate tempA as abs of tempB */
+ bitmask = _mm256_cmpgt_epi64(_mm256_set1_epi64x(0), tempB);
+ tempA = _mm256_xor_si256(tempB, bitmask);
+ tempA = _mm256_sub_epi64(tempA, bitmask);
+ total_err1 = _mm256_add_epi64(total_err1,tempA);
+ shadow_err1 = _mm256_or_si256(shadow_err1,tempA);
+ tempA = _mm256_sub_epi64(tempB,prev_err1);
+ prev_err1 = tempB;
+ /* Next three intrinsics calculate tempB as abs of tempA */
+ bitmask = _mm256_cmpgt_epi64(_mm256_set1_epi64x(0), tempA);
+ tempB = _mm256_xor_si256(tempA, bitmask);
+ tempB = _mm256_sub_epi64(tempB, bitmask);
+ total_err2 = _mm256_add_epi64(total_err2,tempB);
+ shadow_err2 = _mm256_or_si256(shadow_err2,tempB);
+ tempB = _mm256_sub_epi64(tempA,prev_err2);
+ prev_err2 = tempA;
+ /* Next three intrinsics calculate tempA as abs of tempB */
+ bitmask = _mm256_cmpgt_epi64(_mm256_set1_epi64x(0), tempB);
+ tempA = _mm256_xor_si256(tempB, bitmask);
+ tempA = _mm256_sub_epi64(tempA, bitmask);
+ total_err3 = _mm256_add_epi64(total_err3,tempA);
+ shadow_err3 = _mm256_or_si256(shadow_err3,tempA);
+ tempA = _mm256_sub_epi64(tempB,prev_err3);
+ prev_err3 = tempB;
+ /* Next three intrinsics calculate tempB as abs of tempA */
+ bitmask = _mm256_cmpgt_epi64(_mm256_set1_epi64x(0), tempA);
+ tempB = _mm256_xor_si256(tempA, bitmask);
+ tempB = _mm256_sub_epi64(tempB, bitmask);
+ total_err4 = _mm256_add_epi64(total_err4,tempB);
+ shadow_err4 = _mm256_or_si256(shadow_err4,tempB);
+ }
+ _mm256_storeu_si256((__m256i*)(void*)data_scalar,total_err0);
+ total_error_0 += data_scalar[0] + data_scalar[1] + data_scalar[2] + data_scalar[3];
+ _mm256_storeu_si256((__m256i*)(void*)data_scalar,total_err1);
+ total_error_1 += data_scalar[0] + data_scalar[1] + data_scalar[2] + data_scalar[3];
+ _mm256_storeu_si256((__m256i*)(void*)data_scalar,total_err2);
+ total_error_2 += data_scalar[0] + data_scalar[1] + data_scalar[2] + data_scalar[3];
+ _mm256_storeu_si256((__m256i*)(void*)data_scalar,total_err3);
+ total_error_3 += data_scalar[0] + data_scalar[1] + data_scalar[2] + data_scalar[3];
+ _mm256_storeu_si256((__m256i*)(void*)data_scalar,total_err4);
+ total_error_4 += data_scalar[0] + data_scalar[1] + data_scalar[2] + data_scalar[3];
+ _mm256_storeu_si256((__m256i*)(void*)data_scalar,shadow_err0);
+ shadow_error_0 |= data_scalar[0] | data_scalar[1] | data_scalar[2] | data_scalar[3];
+ _mm256_storeu_si256((__m256i*)(void*)data_scalar,shadow_err1);
+ shadow_error_1 |= data_scalar[0] | data_scalar[1] | data_scalar[2] | data_scalar[3];
+ _mm256_storeu_si256((__m256i*)(void*)data_scalar,shadow_err2);
+ shadow_error_2 |= data_scalar[0] | data_scalar[1] | data_scalar[2] | data_scalar[3];
+ _mm256_storeu_si256((__m256i*)(void*)data_scalar,shadow_err3);
+ shadow_error_3 |= data_scalar[0] | data_scalar[1] | data_scalar[2] | data_scalar[3];
+ _mm256_storeu_si256((__m256i*)(void*)data_scalar,shadow_err4);
+ shadow_error_4 |= data_scalar[0] | data_scalar[1] | data_scalar[2] | data_scalar[3];
+
+ /* Take care of remaining sample */
+ for(i = (data_len/4)*4; i < data_len_int; i++) {
+ error_0 = local_abs64((FLAC__int64)data[i]);
+ error_1 = local_abs64((FLAC__int64)data[i] - data[i-1]);
+ error_2 = local_abs64((FLAC__int64)data[i] - 2 * (FLAC__int64)data[i-1] + data[i-2]);
+ error_3 = local_abs64((FLAC__int64)data[i] - 3 * (FLAC__int64)data[i-1] + 3 * (FLAC__int64)data[i-2] - data[i-3]);
+ error_4 = local_abs64((FLAC__int64)data[i] - 4 * (FLAC__int64)data[i-1] + 6 * (FLAC__int64)data[i-2] - 4 * (FLAC__int64)data[i-3] + data[i-4]);
+
+ total_error_0 += error_0;
+ total_error_1 += error_1;
+ total_error_2 += error_2;
+ total_error_3 += error_3;
+ total_error_4 += error_4;
+
+ shadow_error_0 |= error_0;
+ shadow_error_1 |= error_1;
+ shadow_error_2 |= error_2;
+ shadow_error_3 |= error_3;
+ shadow_error_4 |= error_4;
+ }
+
+
+ CHECK_ORDER_IS_VALID(0);
+ CHECK_ORDER_IS_VALID(1);
+ CHECK_ORDER_IS_VALID(2);
+ CHECK_ORDER_IS_VALID(3);
+ CHECK_ORDER_IS_VALID(4);
+
+ return order;
+}
+
+#endif /* FLAC__AVX2_SUPPORTED */
+#endif /* (FLAC__CPU_IA32 || FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN */
+#endif /* FLAC__NO_ASM */
+#endif /* FLAC__INTEGER_ONLY_LIBRARY */
diff --git a/3rdparty/libflac/src/libFLAC/fixed_intrin_sse2.c b/3rdparty/libflac/src/libFLAC/fixed_intrin_sse2.c
new file mode 100644
index 00000000000..b92c13c1085
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC/fixed_intrin_sse2.c
@@ -0,0 +1,194 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "private/cpu.h"
+
+#ifndef FLAC__INTEGER_ONLY_LIBRARY
+#ifndef FLAC__NO_ASM
+#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN
+#include "private/fixed.h"
+#ifdef FLAC__SSE2_SUPPORTED
+
+#include <emmintrin.h> /* SSE2 */
+#include <math.h>
+#include "private/macros.h"
+#include "share/compat.h"
+#include "FLAC/assert.h"
+
+#ifdef FLAC__CPU_IA32
+#define m128i_to_i64(dest, src) _mm_storel_epi64((__m128i*)&dest, src)
+#else
+#define m128i_to_i64(dest, src) dest = _mm_cvtsi128_si64(src)
+#endif
+
+#ifdef local_abs
+#undef local_abs
+#endif
+#define local_abs(x) ((uint32_t)((x)<0? -(x) : (x)))
+
+FLAC__SSE_TARGET("sse2")
+uint32_t FLAC__fixed_compute_best_predictor_intrin_sse2(const FLAC__int32 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER + 1])
+{
+ FLAC__uint32 total_error_0, total_error_1, total_error_2, total_error_3, total_error_4;
+ FLAC__int32 i, data_len_int;
+ uint32_t order;
+ __m128i total_err0, total_err1, total_err2, total_err3, total_err4;
+ __m128i prev_err0, prev_err1, prev_err2, prev_err3;
+ __m128i tempA, tempB, bitmask;
+ FLAC__int32 data_scalar[4];
+ FLAC__int32 prev_err0_scalar[4];
+ FLAC__int32 prev_err1_scalar[4];
+ FLAC__int32 prev_err2_scalar[4];
+ FLAC__int32 prev_err3_scalar[4];
+ total_err0 = _mm_setzero_si128();
+ total_err1 = _mm_setzero_si128();
+ total_err2 = _mm_setzero_si128();
+ total_err3 = _mm_setzero_si128();
+ total_err4 = _mm_setzero_si128();
+ data_len_int = data_len;
+
+ for(i = 0; i < 4; i++){
+ prev_err0_scalar[i] = data[-1+i*(data_len_int/4)];
+ prev_err1_scalar[i] = data[-1+i*(data_len_int/4)] - data[-2+i*(data_len_int/4)];
+ prev_err2_scalar[i] = prev_err1_scalar[i] - (data[-2+i*(data_len_int/4)] - data[-3+i*(data_len_int/4)]);
+ prev_err3_scalar[i] = prev_err2_scalar[i] - (data[-2+i*(data_len_int/4)] - 2*data[-3+i*(data_len_int/4)] + data[-4+i*(data_len_int/4)]);
+ }
+ prev_err0 = _mm_loadu_si128((const __m128i*)prev_err0_scalar);
+ prev_err1 = _mm_loadu_si128((const __m128i*)prev_err1_scalar);
+ prev_err2 = _mm_loadu_si128((const __m128i*)prev_err2_scalar);
+ prev_err3 = _mm_loadu_si128((const __m128i*)prev_err3_scalar);
+ for(i = 0; i < data_len_int / 4; i++){
+ data_scalar[0] = data[i];
+ data_scalar[1] = data[i+data_len/4];
+ data_scalar[2] = data[i+2*(data_len/4)];
+ data_scalar[3] = data[i+3*(data_len/4)];
+ tempA = _mm_loadu_si128((const __m128i*)data_scalar);
+ /* Next three intrinsics calculate tempB as abs of tempA */
+ bitmask = _mm_srai_epi32(tempA, 31);
+ tempB = _mm_xor_si128(tempA, bitmask);
+ tempB = _mm_sub_epi32(tempB, bitmask);
+ total_err0 = _mm_add_epi32(total_err0,tempB);
+ tempB = _mm_sub_epi32(tempA,prev_err0);
+ prev_err0 = tempA;
+ /* Next three intrinsics calculate tempA as abs of tempB */
+ bitmask = _mm_srai_epi32(tempB, 31);
+ tempA = _mm_xor_si128(tempB, bitmask);
+ tempA = _mm_sub_epi32(tempA, bitmask);
+ total_err1 = _mm_add_epi32(total_err1,tempA);
+ tempA = _mm_sub_epi32(tempB,prev_err1);
+ prev_err1 = tempB;
+ /* Next three intrinsics calculate tempB as abs of tempA */
+ bitmask = _mm_srai_epi32(tempA, 31);
+ tempB = _mm_xor_si128(tempA, bitmask);
+ tempB = _mm_sub_epi32(tempB, bitmask);
+ total_err2 = _mm_add_epi32(total_err2,tempB);
+ tempB = _mm_sub_epi32(tempA,prev_err2);
+ prev_err2 = tempA;
+ /* Next three intrinsics calculate tempA as abs of tempB */
+ bitmask = _mm_srai_epi32(tempB, 31);
+ tempA = _mm_xor_si128(tempB, bitmask);
+ tempA = _mm_sub_epi32(tempA, bitmask);
+ total_err3 = _mm_add_epi32(total_err3,tempA);
+ tempA = _mm_sub_epi32(tempB,prev_err3);
+ prev_err3 = tempB;
+ /* Next three intrinsics calculate tempB as abs of tempA */
+ bitmask = _mm_srai_epi32(tempA, 31);
+ tempB = _mm_xor_si128(tempA, bitmask);
+ tempB = _mm_sub_epi32(tempB, bitmask);
+ total_err4 = _mm_add_epi32(total_err4,tempB);
+ }
+ _mm_storeu_si128((__m128i*)data_scalar,total_err0);
+ total_error_0 = data_scalar[0] + data_scalar[1] + data_scalar[2] + data_scalar[3];
+ _mm_storeu_si128((__m128i*)data_scalar,total_err1);
+ total_error_1 = data_scalar[0] + data_scalar[1] + data_scalar[2] + data_scalar[3];
+ _mm_storeu_si128((__m128i*)data_scalar,total_err2);
+ total_error_2 = data_scalar[0] + data_scalar[1] + data_scalar[2] + data_scalar[3];
+ _mm_storeu_si128((__m128i*)data_scalar,total_err3);
+ total_error_3 = data_scalar[0] + data_scalar[1] + data_scalar[2] + data_scalar[3];
+ _mm_storeu_si128((__m128i*)data_scalar,total_err4);
+ total_error_4 = data_scalar[0] + data_scalar[1] + data_scalar[2] + data_scalar[3];
+
+ /* Now the remainder of samples needs to be processed */
+ i *= 4;
+ if(data_len % 4 > 0){
+ FLAC__int32 last_error_0 = data[i-1];
+ FLAC__int32 last_error_1 = data[i-1] - data[i-2];
+ FLAC__int32 last_error_2 = last_error_1 - (data[i-2] - data[i-3]);
+ FLAC__int32 last_error_3 = last_error_2 - (data[i-2] - 2*data[i-3] + data[i-4]);
+ FLAC__int32 error, save;
+ for(; i < data_len_int; i++) {
+ error = data[i] ; total_error_0 += local_abs(error); save = error;
+ error -= last_error_0; total_error_1 += local_abs(error); last_error_0 = save; save = error;
+ error -= last_error_1; total_error_2 += local_abs(error); last_error_1 = save; save = error;
+ error -= last_error_2; total_error_3 += local_abs(error); last_error_2 = save; save = error;
+ error -= last_error_3; total_error_4 += local_abs(error); last_error_3 = save;
+ }
+ }
+
+ /* prefer lower order */
+ if(total_error_0 <= flac_min(flac_min(flac_min(total_error_1, total_error_2), total_error_3), total_error_4))
+ order = 0;
+ else if(total_error_1 <= flac_min(flac_min(total_error_2, total_error_3), total_error_4))
+ order = 1;
+ else if(total_error_2 <= flac_min(total_error_3, total_error_4))
+ order = 2;
+ else if(total_error_3 <= total_error_4)
+ order = 3;
+ else
+ order = 4;
+
+ /* Estimate the expected number of bits per residual signal sample. */
+ /* 'total_error*' is linearly related to the variance of the residual */
+ /* signal, so we use it directly to compute E(|x|) */
+ FLAC__ASSERT(data_len > 0 || total_error_0 == 0);
+ FLAC__ASSERT(data_len > 0 || total_error_1 == 0);
+ FLAC__ASSERT(data_len > 0 || total_error_2 == 0);
+ FLAC__ASSERT(data_len > 0 || total_error_3 == 0);
+ FLAC__ASSERT(data_len > 0 || total_error_4 == 0);
+
+ residual_bits_per_sample[0] = (float)((total_error_0 > 0) ? log(M_LN2 * (double)total_error_0 / (double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[1] = (float)((total_error_1 > 0) ? log(M_LN2 * (double)total_error_1 / (double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[2] = (float)((total_error_2 > 0) ? log(M_LN2 * (double)total_error_2 / (double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[3] = (float)((total_error_3 > 0) ? log(M_LN2 * (double)total_error_3 / (double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[4] = (float)((total_error_4 > 0) ? log(M_LN2 * (double)total_error_4 / (double)data_len) / M_LN2 : 0.0);
+
+ return order;
+}
+
+#endif /* FLAC__SSE2_SUPPORTED */
+#endif /* (FLAC__CPU_IA32 || FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN */
+#endif /* FLAC__NO_ASM */
+#endif /* FLAC__INTEGER_ONLY_LIBRARY */
diff --git a/3rdparty/libflac/src/libFLAC/fixed_intrin_sse42.c b/3rdparty/libflac/src/libFLAC/fixed_intrin_sse42.c
new file mode 100644
index 00000000000..0556eaaddbc
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC/fixed_intrin_sse42.c
@@ -0,0 +1,223 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "private/cpu.h"
+
+#ifndef FLAC__INTEGER_ONLY_LIBRARY
+#ifndef FLAC__NO_ASM
+#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN
+#include "private/fixed.h"
+#ifdef FLAC__SSE4_2_SUPPORTED
+
+#include <nmmintrin.h> /* SSE4.2 */
+#include <math.h>
+#include "private/macros.h"
+#include "share/compat.h"
+#include "FLAC/assert.h"
+
+#ifdef local_abs64
+#undef local_abs64
+#endif
+#define local_abs64(x) ((uint64_t)((x)<0? -(x) : (x)))
+
+#define CHECK_ORDER_IS_VALID(macro_order) \
+if(shadow_error_##macro_order <= INT32_MAX) { \
+ if(total_error_##macro_order < smallest_error) { \
+ order = macro_order; \
+ smallest_error = total_error_##macro_order ; \
+ } \
+ residual_bits_per_sample[ macro_order ] = (float)((total_error_0 > 0) ? log(M_LN2 * (double)total_error_0 / (double)data_len) / M_LN2 : 0.0); \
+} \
+else \
+ residual_bits_per_sample[ macro_order ] = 34.0f;
+
+FLAC__SSE_TARGET("sse4.2")
+uint32_t FLAC__fixed_compute_best_predictor_limit_residual_intrin_sse42(const FLAC__int32 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER + 1])
+{
+ FLAC__uint64 total_error_0 = 0, total_error_1 = 0, total_error_2 = 0, total_error_3 = 0, total_error_4 = 0, smallest_error = UINT64_MAX;
+ FLAC__uint64 shadow_error_0 = 0, shadow_error_1 = 0, shadow_error_2 = 0, shadow_error_3 = 0, shadow_error_4 = 0;
+ FLAC__uint64 error_0, error_1, error_2, error_3, error_4;
+ FLAC__int32 i, data_len_int;
+ uint32_t order = 0;
+ __m128i total_err0, total_err1, total_err2, total_err3, total_err4;
+ __m128i shadow_err0, shadow_err1, shadow_err2, shadow_err3, shadow_err4;
+ __m128i prev_err0, prev_err1, prev_err2, prev_err3;
+ __m128i tempA, tempB, bitmask;
+ FLAC__int64 data_scalar[2];
+ FLAC__int64 prev_err0_scalar[2];
+ FLAC__int64 prev_err1_scalar[2];
+ FLAC__int64 prev_err2_scalar[2];
+ FLAC__int64 prev_err3_scalar[2];
+ total_err0 = _mm_setzero_si128();
+ total_err1 = _mm_setzero_si128();
+ total_err2 = _mm_setzero_si128();
+ total_err3 = _mm_setzero_si128();
+ total_err4 = _mm_setzero_si128();
+ shadow_err0 = _mm_setzero_si128();
+ shadow_err1 = _mm_setzero_si128();
+ shadow_err2 = _mm_setzero_si128();
+ shadow_err3 = _mm_setzero_si128();
+ shadow_err4 = _mm_setzero_si128();
+ data_len_int = data_len;
+
+ /* First take care of preceding samples */
+ for(i = -4; i < 0; i++) {
+ error_0 = local_abs64((FLAC__int64)data[i]);
+ error_1 = (i > -4) ? local_abs64((FLAC__int64)data[i] - data[i-1]) : 0 ;
+ error_2 = (i > -3) ? local_abs64((FLAC__int64)data[i] - 2 * (FLAC__int64)data[i-1] + data[i-2]) : 0;
+ error_3 = (i > -2) ? local_abs64((FLAC__int64)data[i] - 3 * (FLAC__int64)data[i-1] + 3 * (FLAC__int64)data[i-2] - data[i-3]) : 0;
+
+ total_error_0 += error_0;
+ total_error_1 += error_1;
+ total_error_2 += error_2;
+ total_error_3 += error_3;
+
+ shadow_error_0 |= error_0;
+ shadow_error_1 |= error_1;
+ shadow_error_2 |= error_2;
+ shadow_error_3 |= error_3;
+ }
+
+ for(i = 0; i < 2; i++){
+ prev_err0_scalar[i] = data[-1+i*(data_len_int/2)];
+ prev_err1_scalar[i] = (FLAC__int64)(data[-1+i*(data_len_int/2)]) - data[-2+i*(data_len_int/2)];
+ prev_err2_scalar[i] = prev_err1_scalar[i] - ((FLAC__int64)(data[-2+i*(data_len_int/2)]) - data[-3+i*(data_len_int/2)]);
+ prev_err3_scalar[i] = prev_err2_scalar[i] - ((FLAC__int64)(data[-2+i*(data_len_int/2)]) - 2*(FLAC__int64)(data[-3+i*(data_len_int/2)]) + data[-4+i*(data_len_int/2)]);
+ }
+ prev_err0 = _mm_loadu_si128((const __m128i*)prev_err0_scalar);
+ prev_err1 = _mm_loadu_si128((const __m128i*)prev_err1_scalar);
+ prev_err2 = _mm_loadu_si128((const __m128i*)prev_err2_scalar);
+ prev_err3 = _mm_loadu_si128((const __m128i*)prev_err3_scalar);
+ for(i = 0; i < data_len_int / 2; i++){
+ data_scalar[0] = data[i];
+ data_scalar[1] = data[i+data_len/2];
+ tempA = _mm_loadu_si128((const __m128i*)data_scalar);
+ /* Next three intrinsics calculate tempB as abs of tempA */
+ bitmask = _mm_cmpgt_epi64(_mm_set1_epi64x(0), tempA);
+ tempB = _mm_xor_si128(tempA, bitmask);
+ tempB = _mm_sub_epi64(tempB, bitmask);
+ total_err0 = _mm_add_epi64(total_err0,tempB);
+ shadow_err0 = _mm_or_si128(shadow_err0,tempB);
+ tempB = _mm_sub_epi64(tempA,prev_err0);
+ prev_err0 = tempA;
+ /* Next three intrinsics calculate tempA as abs of tempB */
+ bitmask = _mm_cmpgt_epi64(_mm_set1_epi64x(0), tempB);
+ tempA = _mm_xor_si128(tempB, bitmask);
+ tempA = _mm_sub_epi64(tempA, bitmask);
+ total_err1 = _mm_add_epi64(total_err1,tempA);
+ shadow_err1 = _mm_or_si128(shadow_err1,tempA);
+ tempA = _mm_sub_epi64(tempB,prev_err1);
+ prev_err1 = tempB;
+ /* Next three intrinsics calculate tempB as abs of tempA */
+ bitmask = _mm_cmpgt_epi64(_mm_set1_epi64x(0), tempA);
+ tempB = _mm_xor_si128(tempA, bitmask);
+ tempB = _mm_sub_epi64(tempB, bitmask);
+ total_err2 = _mm_add_epi64(total_err2,tempB);
+ shadow_err2 = _mm_or_si128(shadow_err2,tempB);
+ tempB = _mm_sub_epi64(tempA,prev_err2);
+ prev_err2 = tempA;
+ /* Next three intrinsics calculate tempA as abs of tempB */
+ bitmask = _mm_cmpgt_epi64(_mm_set1_epi64x(0), tempB);
+ tempA = _mm_xor_si128(tempB, bitmask);
+ tempA = _mm_sub_epi64(tempA, bitmask);
+ total_err3 = _mm_add_epi64(total_err3,tempA);
+ shadow_err3 = _mm_or_si128(shadow_err3,tempA);
+ tempA = _mm_sub_epi64(tempB,prev_err3);
+ prev_err3 = tempB;
+ /* Next three intrinsics calculate tempB as abs of tempA */
+ bitmask = _mm_cmpgt_epi64(_mm_set1_epi64x(0), tempA);
+ tempB = _mm_xor_si128(tempA, bitmask);
+ tempB = _mm_sub_epi64(tempB, bitmask);
+ total_err4 = _mm_add_epi64(total_err4,tempB);
+ shadow_err4 = _mm_or_si128(shadow_err4,tempB);
+ }
+ _mm_storeu_si128((__m128i*)data_scalar,total_err0);
+ total_error_0 += data_scalar[0] + data_scalar[1];
+ _mm_storeu_si128((__m128i*)data_scalar,total_err1);
+ total_error_1 += data_scalar[0] + data_scalar[1];
+ _mm_storeu_si128((__m128i*)data_scalar,total_err2);
+ total_error_2 += data_scalar[0] + data_scalar[1];
+ _mm_storeu_si128((__m128i*)data_scalar,total_err3);
+ total_error_3 += data_scalar[0] + data_scalar[1];
+ _mm_storeu_si128((__m128i*)data_scalar,total_err4);
+ total_error_4 += data_scalar[0] + data_scalar[1];
+ _mm_storeu_si128((__m128i*)data_scalar,shadow_err0);
+ shadow_error_0 |= data_scalar[0] | data_scalar[1];
+ _mm_storeu_si128((__m128i*)data_scalar,shadow_err1);
+ shadow_error_1 |= data_scalar[0] | data_scalar[1];
+ _mm_storeu_si128((__m128i*)data_scalar,shadow_err2);
+ shadow_error_2 |= data_scalar[0] | data_scalar[1];
+ _mm_storeu_si128((__m128i*)data_scalar,shadow_err3);
+ shadow_error_3 |= data_scalar[0] | data_scalar[1];
+ _mm_storeu_si128((__m128i*)data_scalar,shadow_err4);
+ shadow_error_4 |= data_scalar[0] | data_scalar[1];
+
+ /* Take care of remaining sample */
+ if(data_len_int % 2 > 0) {
+ i += data_len/2;
+ error_0 = local_abs64((FLAC__int64)data[i]);
+ error_1 = local_abs64((FLAC__int64)data[i] - data[i-1]);
+ error_2 = local_abs64((FLAC__int64)data[i] - 2 * (FLAC__int64)data[i-1] + data[i-2]);
+ error_3 = local_abs64((FLAC__int64)data[i] - 3 * (FLAC__int64)data[i-1] + 3 * (FLAC__int64)data[i-2] - data[i-3]);
+ error_4 = local_abs64((FLAC__int64)data[i] - 4 * (FLAC__int64)data[i-1] + 6 * (FLAC__int64)data[i-2] - 4 * (FLAC__int64)data[i-3] + data[i-4]);
+
+ total_error_0 += error_0;
+ total_error_1 += error_1;
+ total_error_2 += error_2;
+ total_error_3 += error_3;
+ total_error_4 += error_4;
+
+ shadow_error_0 |= error_0;
+ shadow_error_1 |= error_1;
+ shadow_error_2 |= error_2;
+ shadow_error_3 |= error_3;
+ shadow_error_4 |= error_4;
+ }
+
+
+ CHECK_ORDER_IS_VALID(0);
+ CHECK_ORDER_IS_VALID(1);
+ CHECK_ORDER_IS_VALID(2);
+ CHECK_ORDER_IS_VALID(3);
+ CHECK_ORDER_IS_VALID(4);
+
+ return order;
+}
+
+#endif /* FLAC__SSE4_2_SUPPORTED */
+#endif /* (FLAC__CPU_IA32 || FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN */
+#endif /* FLAC__NO_ASM */
+#endif /* FLAC__INTEGER_ONLY_LIBRARY */
diff --git a/3rdparty/libflac/src/libFLAC/fixed_intrin_ssse3.c b/3rdparty/libflac/src/libFLAC/fixed_intrin_ssse3.c
new file mode 100644
index 00000000000..551693bf826
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC/fixed_intrin_ssse3.c
@@ -0,0 +1,179 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "private/cpu.h"
+
+#ifndef FLAC__INTEGER_ONLY_LIBRARY
+#ifndef FLAC__NO_ASM
+#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN
+#include "private/fixed.h"
+#ifdef FLAC__SSSE3_SUPPORTED
+
+#include <tmmintrin.h> /* SSSE3 */
+#include <math.h>
+#include "private/macros.h"
+#include "share/compat.h"
+#include "FLAC/assert.h"
+
+#ifdef FLAC__CPU_IA32
+#define m128i_to_i64(dest, src) _mm_storel_epi64((__m128i*)&dest, src)
+#else
+#define m128i_to_i64(dest, src) dest = _mm_cvtsi128_si64(src)
+#endif
+
+#ifdef local_abs
+#undef local_abs
+#endif
+#define local_abs(x) ((uint32_t)((x)<0? -(x) : (x)))
+
+FLAC__SSE_TARGET("ssse3")
+uint32_t FLAC__fixed_compute_best_predictor_intrin_ssse3(const FLAC__int32 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER + 1])
+{
+ FLAC__uint32 total_error_0, total_error_1, total_error_2, total_error_3, total_error_4;
+ FLAC__int32 i, data_len_int;
+ uint32_t order;
+ __m128i total_err0, total_err1, total_err2, total_err3, total_err4;
+ __m128i prev_err0, prev_err1, prev_err2, prev_err3;
+ __m128i tempA, tempB;
+ FLAC__int32 data_scalar[4];
+ FLAC__int32 prev_err0_scalar[4];
+ FLAC__int32 prev_err1_scalar[4];
+ FLAC__int32 prev_err2_scalar[4];
+ FLAC__int32 prev_err3_scalar[4];
+ total_err0 = _mm_setzero_si128();
+ total_err1 = _mm_setzero_si128();
+ total_err2 = _mm_setzero_si128();
+ total_err3 = _mm_setzero_si128();
+ total_err4 = _mm_setzero_si128();
+ data_len_int = data_len;
+
+ for(i = 0; i < 4; i++){
+ prev_err0_scalar[i] = data[-1+i*(data_len_int/4)];
+ prev_err1_scalar[i] = data[-1+i*(data_len_int/4)] - data[-2+i*(data_len_int/4)];
+ prev_err2_scalar[i] = prev_err1_scalar[i] - (data[-2+i*(data_len_int/4)] - data[-3+i*(data_len_int/4)]);
+ prev_err3_scalar[i] = prev_err2_scalar[i] - (data[-2+i*(data_len_int/4)] - 2*data[-3+i*(data_len_int/4)] + data[-4+i*(data_len_int/4)]);
+ }
+ prev_err0 = _mm_loadu_si128((const __m128i*)prev_err0_scalar);
+ prev_err1 = _mm_loadu_si128((const __m128i*)prev_err1_scalar);
+ prev_err2 = _mm_loadu_si128((const __m128i*)prev_err2_scalar);
+ prev_err3 = _mm_loadu_si128((const __m128i*)prev_err3_scalar);
+ for(i = 0; i < data_len_int / 4; i++){
+ data_scalar[0] = data[i];
+ data_scalar[1] = data[i+data_len/4];
+ data_scalar[2] = data[i+2*(data_len/4)];
+ data_scalar[3] = data[i+3*(data_len/4)];
+ tempA = _mm_loadu_si128((const __m128i*)data_scalar);
+ tempB = _mm_abs_epi32(tempA);
+ total_err0 = _mm_add_epi32(total_err0,tempB);
+ tempB = _mm_sub_epi32(tempA,prev_err0);
+ prev_err0 = tempA;
+ tempA = _mm_abs_epi32(tempB);
+ total_err1 = _mm_add_epi32(total_err1,tempA);
+ tempA = _mm_sub_epi32(tempB,prev_err1);
+ prev_err1 = tempB;
+ tempB = _mm_abs_epi32(tempA);
+ total_err2 = _mm_add_epi32(total_err2,tempB);
+ tempB = _mm_sub_epi32(tempA,prev_err2);
+ prev_err2 = tempA;
+ tempA = _mm_abs_epi32(tempB);
+ total_err3 = _mm_add_epi32(total_err3,tempA);
+ tempA = _mm_sub_epi32(tempB,prev_err3);
+ prev_err3 = tempB;
+ tempB = _mm_abs_epi32(tempA);
+ total_err4 = _mm_add_epi32(total_err4,tempB);
+ }
+ _mm_storeu_si128((__m128i*)data_scalar,total_err0);
+ total_error_0 = data_scalar[0] + data_scalar[1] + data_scalar[2] + data_scalar[3];
+ _mm_storeu_si128((__m128i*)data_scalar,total_err1);
+ total_error_1 = data_scalar[0] + data_scalar[1] + data_scalar[2] + data_scalar[3];
+ _mm_storeu_si128((__m128i*)data_scalar,total_err2);
+ total_error_2 = data_scalar[0] + data_scalar[1] + data_scalar[2] + data_scalar[3];
+ _mm_storeu_si128((__m128i*)data_scalar,total_err3);
+ total_error_3 = data_scalar[0] + data_scalar[1] + data_scalar[2] + data_scalar[3];
+ _mm_storeu_si128((__m128i*)data_scalar,total_err4);
+ total_error_4 = data_scalar[0] + data_scalar[1] + data_scalar[2] + data_scalar[3];
+
+ /* Now the remainder of samples needs to be processed */
+ i *= 4;
+ if(data_len % 4 > 0){
+ FLAC__int32 last_error_0 = data[i-1];
+ FLAC__int32 last_error_1 = data[i-1] - data[i-2];
+ FLAC__int32 last_error_2 = last_error_1 - (data[i-2] - data[i-3]);
+ FLAC__int32 last_error_3 = last_error_2 - (data[i-2] - 2*data[i-3] + data[i-4]);
+ FLAC__int32 error, save;
+ for(; i < data_len_int; i++) {
+ error = data[i] ; total_error_0 += local_abs(error); save = error;
+ error -= last_error_0; total_error_1 += local_abs(error); last_error_0 = save; save = error;
+ error -= last_error_1; total_error_2 += local_abs(error); last_error_1 = save; save = error;
+ error -= last_error_2; total_error_3 += local_abs(error); last_error_2 = save; save = error;
+ error -= last_error_3; total_error_4 += local_abs(error); last_error_3 = save;
+ }
+ }
+
+ /* prefer lower order */
+ if(total_error_0 <= flac_min(flac_min(flac_min(total_error_1, total_error_2), total_error_3), total_error_4))
+ order = 0;
+ else if(total_error_1 <= flac_min(flac_min(total_error_2, total_error_3), total_error_4))
+ order = 1;
+ else if(total_error_2 <= flac_min(total_error_3, total_error_4))
+ order = 2;
+ else if(total_error_3 <= total_error_4)
+ order = 3;
+ else
+ order = 4;
+
+ /* Estimate the expected number of bits per residual signal sample. */
+ /* 'total_error*' is linearly related to the variance of the residual */
+ /* signal, so we use it directly to compute E(|x|) */
+ FLAC__ASSERT(data_len > 0 || total_error_0 == 0);
+ FLAC__ASSERT(data_len > 0 || total_error_1 == 0);
+ FLAC__ASSERT(data_len > 0 || total_error_2 == 0);
+ FLAC__ASSERT(data_len > 0 || total_error_3 == 0);
+ FLAC__ASSERT(data_len > 0 || total_error_4 == 0);
+
+ residual_bits_per_sample[0] = (float)((total_error_0 > 0) ? log(M_LN2 * (double)total_error_0 / (double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[1] = (float)((total_error_1 > 0) ? log(M_LN2 * (double)total_error_1 / (double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[2] = (float)((total_error_2 > 0) ? log(M_LN2 * (double)total_error_2 / (double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[3] = (float)((total_error_3 > 0) ? log(M_LN2 * (double)total_error_3 / (double)data_len) / M_LN2 : 0.0);
+ residual_bits_per_sample[4] = (float)((total_error_4 > 0) ? log(M_LN2 * (double)total_error_4 / (double)data_len) / M_LN2 : 0.0);
+
+ return order;
+}
+
+#endif /* FLAC__SSSE3_SUPPORTED */
+#endif /* (FLAC__CPU_IA32 || FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN */
+#endif /* FLAC__NO_ASM */
+#endif /* FLAC__INTEGER_ONLY_LIBRARY */
diff --git a/3rdparty/libflac/src/libFLAC/flac.pc.in b/3rdparty/libflac/src/libFLAC/flac.pc.in
index 8fc39f83026..56e8594e86d 100644
--- a/3rdparty/libflac/src/libFLAC/flac.pc.in
+++ b/3rdparty/libflac/src/libFLAC/flac.pc.in
@@ -6,5 +6,7 @@ includedir=@includedir@
Name: FLAC
Description: Free Lossless Audio Codec Library
Version: @VERSION@
-Libs: -L${libdir} -lFLAC -lm
-Cflags: -I${includedir}/FLAC
+Requires.private: @OGG_PACKAGE@
+Libs: -L${libdir} -lFLAC
+Libs.private: -lm
+Cflags: -I${includedir}
diff --git a/3rdparty/libflac/src/libFLAC/float.c b/3rdparty/libflac/src/libFLAC/float.c
index 60fa7e8371a..a06ad285e98 100644
--- a/3rdparty/libflac/src/libFLAC/float.c
+++ b/3rdparty/libflac/src/libFLAC/float.c
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2004-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -34,18 +35,11 @@
#endif
#include "FLAC/assert.h"
-
+#include "share/compat.h"
#include "private/float.h"
#ifdef FLAC__INTEGER_ONLY_LIBRARY
-/* adjust for compilers that can't understand using LLU suffix for uint64_t literals */
-#ifdef _MSC_VER
-#define FLAC__U64L(x) x
-#else
-#define FLAC__U64L(x) x##LLU
-#endif
-
const FLAC__fixedpoint FLAC__FP_ZERO = 0;
const FLAC__fixedpoint FLAC__FP_ONE_HALF = 0x00008000;
const FLAC__fixedpoint FLAC__FP_ONE = 0x00010000;
@@ -272,7 +266,7 @@ static const FLAC__uint64 log2_lookup_wide[] = {
};
#endif
-FLAC__uint32 FLAC__fixedpoint_log2(FLAC__uint32 x, unsigned fracbits, unsigned precision)
+FLAC__uint32 FLAC__fixedpoint_log2(FLAC__uint32 x, uint32_t fracbits, uint32_t precision)
{
const FLAC__uint32 ONE = (1u << fracbits);
const FLAC__uint32 *table = log2_lookup[fracbits >> 2];
@@ -282,7 +276,7 @@ FLAC__uint32 FLAC__fixedpoint_log2(FLAC__uint32 x, unsigned fracbits, unsigned p
if(x < ONE)
return 0;
-
+
if(precision > LOG2_LOOKUP_PRECISION)
precision = LOG2_LOOKUP_PRECISION;
diff --git a/3rdparty/libflac/src/libFLAC/format.c b/3rdparty/libflac/src/libFLAC/format.c
index 3480905108a..8bbffbef8cf 100644
--- a/3rdparty/libflac/src/libFLAC/format.c
+++ b/3rdparty/libflac/src/libFLAC/format.c
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -38,128 +39,119 @@
#include <string.h> /* for memset() */
#include "FLAC/assert.h"
#include "FLAC/format.h"
+#include "share/alloc.h"
+#include "share/compat.h"
#include "private/format.h"
-
-#ifndef FLaC__INLINE
-#define FLaC__INLINE
-#endif
-
-#ifdef min
-#undef min
-#endif
-#define min(a,b) ((a)<(b)?(a):(b))
-
-/* adjust for compilers that can't understand using LLU suffix for uint64_t literals */
-#ifdef _MSC_VER
-#define FLAC__U64L(x) x
+#include "private/macros.h"
+
+#if (defined GIT_COMMIT_HASH && defined GIT_COMMIT_DATE)
+# ifdef GIT_COMMIT_TAG
+FLAC_API const char *FLAC__VERSION_STRING = GIT_COMMIT_TAG;
+FLAC_API const char *FLAC__VENDOR_STRING = "reference libFLAC " GIT_COMMIT_TAG " " GIT_COMMIT_DATE;
+# else
+FLAC_API const char *FLAC__VERSION_STRING = "git-" GIT_COMMIT_HASH " " GIT_COMMIT_DATE;
+FLAC_API const char *FLAC__VENDOR_STRING = "reference libFLAC git-" GIT_COMMIT_HASH " " GIT_COMMIT_DATE;
+# endif
#else
-#define FLAC__U64L(x) x##LLU
-#endif
-
-/* VERSION should come from configure */
-FLAC_API const char *FLAC__VERSION_STRING = VERSION;
-
-#if defined _MSC_VER || defined __BORLANDC__ || defined __MINW32__
-/* yet one more hack because of MSVC6: */
-FLAC_API const char *FLAC__VENDOR_STRING = "reference libFLAC 1.2.1 20070917";
-#else
-FLAC_API const char *FLAC__VENDOR_STRING = "reference libFLAC " VERSION " 20070917";
+/* PACKAGE_VERSION should come from configure */
+FLAC_API const char *FLAC__VERSION_STRING = PACKAGE_VERSION;
+FLAC_API const char *FLAC__VENDOR_STRING = "reference libFLAC " PACKAGE_VERSION " 20230623";
#endif
FLAC_API const FLAC__byte FLAC__STREAM_SYNC_STRING[4] = { 'f','L','a','C' };
-FLAC_API const unsigned FLAC__STREAM_SYNC = 0x664C6143;
-FLAC_API const unsigned FLAC__STREAM_SYNC_LEN = 32; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_SYNC = 0x664C6143;
+FLAC_API const uint32_t FLAC__STREAM_SYNC_LEN = 32; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN = 16; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN = 16; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN = 24; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN = 24; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN = 20; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN = 3; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN = 5; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN = 36; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN = 128; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN = 16; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN = 16; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN = 24; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN = 24; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN = 20; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN = 3; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN = 5; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN = 36; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN = 128; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_APPLICATION_ID_LEN = 32; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_APPLICATION_ID_LEN = 32; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN = 64; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN = 64; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN = 16; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN = 64; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN = 64; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN = 16; /* bits */
FLAC_API const FLAC__uint64 FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER = FLAC__U64L(0xffffffffffffffff);
-FLAC_API const unsigned FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN = 32; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN = 32; /* bits */
-
-FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN = 64; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN = 8; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN = 3*8; /* bits */
-
-FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN = 64; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN = 8; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN = 12*8; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN = 1; /* bit */
-FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN = 1; /* bit */
-FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN = 6+13*8; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN = 8; /* bits */
-
-FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN = 128*8; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN = 64; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN = 1; /* bit */
-FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN = 7+258*8; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN = 8; /* bits */
-
-FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_TYPE_LEN = 32; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN = 32; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN = 32; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN = 32; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN = 32; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN = 32; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_COLORS_LEN = 32; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN = 32; /* bits */
-
-FLAC_API const unsigned FLAC__STREAM_METADATA_IS_LAST_LEN = 1; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_TYPE_LEN = 7; /* bits */
-FLAC_API const unsigned FLAC__STREAM_METADATA_LENGTH_LEN = 24; /* bits */
-
-FLAC_API const unsigned FLAC__FRAME_HEADER_SYNC = 0x3ffe;
-FLAC_API const unsigned FLAC__FRAME_HEADER_SYNC_LEN = 14; /* bits */
-FLAC_API const unsigned FLAC__FRAME_HEADER_RESERVED_LEN = 1; /* bits */
-FLAC_API const unsigned FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN = 1; /* bits */
-FLAC_API const unsigned FLAC__FRAME_HEADER_BLOCK_SIZE_LEN = 4; /* bits */
-FLAC_API const unsigned FLAC__FRAME_HEADER_SAMPLE_RATE_LEN = 4; /* bits */
-FLAC_API const unsigned FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN = 4; /* bits */
-FLAC_API const unsigned FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN = 3; /* bits */
-FLAC_API const unsigned FLAC__FRAME_HEADER_ZERO_PAD_LEN = 1; /* bits */
-FLAC_API const unsigned FLAC__FRAME_HEADER_CRC_LEN = 8; /* bits */
-
-FLAC_API const unsigned FLAC__FRAME_FOOTER_CRC_LEN = 16; /* bits */
-
-FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_TYPE_LEN = 2; /* bits */
-FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN = 4; /* bits */
-FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN = 4; /* bits */
-FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN = 5; /* bits */
-FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN = 5; /* bits */
-
-FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER = 15; /* == (1<<FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN)-1 */
-FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER = 31; /* == (1<<FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN)-1 */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN = 32; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN = 32; /* bits */
+
+FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN = 64; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN = 8; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN = 3*8; /* bits */
+
+FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN = 64; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN = 8; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN = 12*8; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN = 1; /* bit */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN = 1; /* bit */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN = 6+13*8; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN = 8; /* bits */
+
+FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN = 128*8; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN = 64; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN = 1; /* bit */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN = 7+258*8; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN = 8; /* bits */
+
+FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_TYPE_LEN = 32; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN = 32; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN = 32; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN = 32; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN = 32; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN = 32; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_COLORS_LEN = 32; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN = 32; /* bits */
+
+FLAC_API const uint32_t FLAC__STREAM_METADATA_IS_LAST_LEN = 1; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_TYPE_LEN = 7; /* bits */
+FLAC_API const uint32_t FLAC__STREAM_METADATA_LENGTH_LEN = 24; /* bits */
+
+FLAC_API const uint32_t FLAC__FRAME_HEADER_SYNC = 0x3ffe;
+FLAC_API const uint32_t FLAC__FRAME_HEADER_SYNC_LEN = 14; /* bits */
+FLAC_API const uint32_t FLAC__FRAME_HEADER_RESERVED_LEN = 1; /* bits */
+FLAC_API const uint32_t FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN = 1; /* bits */
+FLAC_API const uint32_t FLAC__FRAME_HEADER_BLOCK_SIZE_LEN = 4; /* bits */
+FLAC_API const uint32_t FLAC__FRAME_HEADER_SAMPLE_RATE_LEN = 4; /* bits */
+FLAC_API const uint32_t FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN = 4; /* bits */
+FLAC_API const uint32_t FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN = 3; /* bits */
+FLAC_API const uint32_t FLAC__FRAME_HEADER_ZERO_PAD_LEN = 1; /* bits */
+FLAC_API const uint32_t FLAC__FRAME_HEADER_CRC_LEN = 8; /* bits */
+
+FLAC_API const uint32_t FLAC__FRAME_FOOTER_CRC_LEN = 16; /* bits */
+
+FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_TYPE_LEN = 2; /* bits */
+FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN = 4; /* bits */
+FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN = 4; /* bits */
+FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN = 5; /* bits */
+FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN = 5; /* bits */
+
+FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER = 15; /* == (1<<FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN)-1 */
+FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER = 31; /* == (1<<FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN)-1 */
FLAC_API const char * const FLAC__EntropyCodingMethodTypeString[] = {
"PARTITIONED_RICE",
"PARTITIONED_RICE2"
};
-FLAC_API const unsigned FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN = 4; /* bits */
-FLAC_API const unsigned FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN = 5; /* bits */
+FLAC_API const uint32_t FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN = 4; /* bits */
+FLAC_API const uint32_t FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN = 5; /* bits */
-FLAC_API const unsigned FLAC__SUBFRAME_ZERO_PAD_LEN = 1; /* bits */
-FLAC_API const unsigned FLAC__SUBFRAME_TYPE_LEN = 6; /* bits */
-FLAC_API const unsigned FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN = 1; /* bits */
+FLAC_API const uint32_t FLAC__SUBFRAME_ZERO_PAD_LEN = 1; /* bits */
+FLAC_API const uint32_t FLAC__SUBFRAME_TYPE_LEN = 6; /* bits */
+FLAC_API const uint32_t FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN = 1; /* bits */
-FLAC_API const unsigned FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK = 0x00;
-FLAC_API const unsigned FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK = 0x02;
-FLAC_API const unsigned FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK = 0x10;
-FLAC_API const unsigned FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK = 0x40;
+FLAC_API const uint32_t FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK = 0x00;
+FLAC_API const uint32_t FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK = 0x02;
+FLAC_API const uint32_t FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK = 0x10;
+FLAC_API const uint32_t FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK = 0x40;
FLAC_API const char * const FLAC__SubframeTypeString[] = {
"CONSTANT",
@@ -214,23 +206,31 @@ FLAC_API const char * const FLAC__StreamMetadata_Picture_TypeString[] = {
"Publisher/Studio logotype"
};
-FLAC_API FLAC__bool FLAC__format_sample_rate_is_valid(unsigned sample_rate)
+FLAC_API FLAC__bool FLAC__format_sample_rate_is_valid(uint32_t sample_rate)
{
- if(sample_rate == 0 || sample_rate > FLAC__MAX_SAMPLE_RATE) {
+ if(sample_rate > FLAC__MAX_SAMPLE_RATE) {
return false;
}
else
return true;
}
-FLAC_API FLAC__bool FLAC__format_sample_rate_is_subset(unsigned sample_rate)
+FLAC_API FLAC__bool FLAC__format_blocksize_is_subset(uint32_t blocksize, uint32_t sample_rate)
+{
+ if(blocksize > 16384)
+ return false;
+ else if(sample_rate <= 48000 && blocksize > 4608)
+ return false;
+ else
+ return true;
+}
+
+FLAC_API FLAC__bool FLAC__format_sample_rate_is_subset(uint32_t sample_rate)
{
- if(
- !FLAC__format_sample_rate_is_valid(sample_rate) ||
- (
- sample_rate >= (1u << 16) &&
- !(sample_rate % 1000 == 0 || sample_rate % 10 == 0)
- )
+ if( // sample rate is not subset if
+ !FLAC__format_sample_rate_is_valid(sample_rate) || // sample rate is invalid or
+ sample_rate >= ((1u << 16) * 10) || // sample rate is larger then or equal to 655360 or
+ (sample_rate >= (1u << 16) && sample_rate % 10 != 0) //sample rate is >= 65536 and not divisible by 10
) {
return false;
}
@@ -241,12 +241,15 @@ FLAC_API FLAC__bool FLAC__format_sample_rate_is_subset(unsigned sample_rate)
/* @@@@ add to unit tests; it is already indirectly tested by the metadata_object tests */
FLAC_API FLAC__bool FLAC__format_seektable_is_legal(const FLAC__StreamMetadata_SeekTable *seek_table)
{
- unsigned i;
+ uint32_t i;
FLAC__uint64 prev_sample_number = 0;
FLAC__bool got_prev = false;
FLAC__ASSERT(0 != seek_table);
+ if((FLAC__uint64)(seek_table->num_points) * FLAC__STREAM_METADATA_SEEKPOINT_LENGTH >= (1u << FLAC__STREAM_METADATA_LENGTH_LEN))
+ return false;
+
for(i = 0; i < seek_table->num_points; i++) {
if(got_prev) {
if(
@@ -275,13 +278,16 @@ static int seekpoint_compare_(const FLAC__StreamMetadata_SeekPoint *l, const FLA
}
/* @@@@ add to unit tests; it is already indirectly tested by the metadata_object tests */
-FLAC_API unsigned FLAC__format_seektable_sort(FLAC__StreamMetadata_SeekTable *seek_table)
+FLAC_API uint32_t FLAC__format_seektable_sort(FLAC__StreamMetadata_SeekTable *seek_table)
{
- unsigned i, j;
+ uint32_t i, j;
FLAC__bool first;
FLAC__ASSERT(0 != seek_table);
+ if (seek_table->num_points == 0)
+ return 0;
+
/* sort the seekpoints */
qsort(seek_table->points, seek_table->num_points, sizeof(FLAC__StreamMetadata_SeekPoint), (int (*)(const void *, const void *))seekpoint_compare_);
@@ -313,7 +319,7 @@ FLAC_API unsigned FLAC__format_seektable_sort(FLAC__StreamMetadata_SeekTable *se
* and a more clear explanation at the end of this section:
* http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
*/
-static FLaC__INLINE unsigned utf8len_(const FLAC__byte *utf8)
+static uint32_t utf8len_(const FLAC__byte *utf8)
{
FLAC__ASSERT(0 != utf8);
if ((utf8[0] & 0x80) == 0) {
@@ -363,11 +369,11 @@ FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_name_is_legal(const char *n
return true;
}
-FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_value_is_legal(const FLAC__byte *value, unsigned length)
+FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_value_is_legal(const FLAC__byte *value, uint32_t length)
{
- if(length == (unsigned)(-1)) {
+ if(length == (uint32_t)(-1)) {
while(*value) {
- unsigned n = utf8len_(value);
+ uint32_t n = utf8len_(value);
if(n == 0)
return false;
value += n;
@@ -376,7 +382,7 @@ FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_value_is_legal(const FLAC__
else {
const FLAC__byte *end = value + length;
while(value < end) {
- unsigned n = utf8len_(value);
+ uint32_t n = utf8len_(value);
if(n == 0)
return false;
value += n;
@@ -387,7 +393,7 @@ FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_value_is_legal(const FLAC__
return true;
}
-FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_is_legal(const FLAC__byte *entry, unsigned length)
+FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_is_legal(const FLAC__byte *entry, uint32_t length)
{
const FLAC__byte *s, *end;
@@ -401,7 +407,7 @@ FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_is_legal(const FLAC__byte *
s++; /* skip '=' */
while(s < end) {
- unsigned n = utf8len_(s);
+ uint32_t n = utf8len_(s);
if(n == 0)
return false;
s += n;
@@ -415,7 +421,7 @@ FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_is_legal(const FLAC__byte *
/* @@@@ add to unit tests; it is already indirectly tested by the metadata_object tests */
FLAC_API FLAC__bool FLAC__format_cuesheet_is_legal(const FLAC__StreamMetadata_CueSheet *cue_sheet, FLAC__bool check_cd_da_subset, const char **violation)
{
- unsigned i, j;
+ uint32_t i, j;
if(check_cd_da_subset) {
if(cue_sheet->lead_in < 2 * 44100) {
@@ -505,7 +511,7 @@ FLAC_API FLAC__bool FLAC__format_picture_is_legal(const FLAC__StreamMetadata_Pic
}
for(b = picture->description; *b; ) {
- unsigned n = utf8len_(b);
+ uint32_t n = utf8len_(b);
if(n == 0) {
if(violation) *violation = "description string must be valid UTF-8";
return false;
@@ -519,7 +525,8 @@ FLAC_API FLAC__bool FLAC__format_picture_is_legal(const FLAC__StreamMetadata_Pic
/*
* These routines are private to libFLAC
*/
-unsigned FLAC__format_get_max_rice_partition_order(unsigned blocksize, unsigned predictor_order)
+#if 0 /* UNUSED */
+uint32_t FLAC__format_get_max_rice_partition_order(uint32_t blocksize, uint32_t predictor_order)
{
return
FLAC__format_get_max_rice_partition_order_from_blocksize_limited_max_and_predictor_order(
@@ -528,20 +535,21 @@ unsigned FLAC__format_get_max_rice_partition_order(unsigned blocksize, unsigned
predictor_order
);
}
+#endif
-unsigned FLAC__format_get_max_rice_partition_order_from_blocksize(unsigned blocksize)
+uint32_t FLAC__format_get_max_rice_partition_order_from_blocksize(uint32_t blocksize)
{
- unsigned max_rice_partition_order = 0;
+ uint32_t max_rice_partition_order = 0;
while(!(blocksize & 1)) {
max_rice_partition_order++;
blocksize >>= 1;
}
- return min(FLAC__MAX_RICE_PARTITION_ORDER, max_rice_partition_order);
+ return flac_min(FLAC__MAX_RICE_PARTITION_ORDER, max_rice_partition_order);
}
-unsigned FLAC__format_get_max_rice_partition_order_from_blocksize_limited_max_and_predictor_order(unsigned limit, unsigned blocksize, unsigned predictor_order)
+uint32_t FLAC__format_get_max_rice_partition_order_from_blocksize_limited_max_and_predictor_order(uint32_t limit, uint32_t blocksize, uint32_t predictor_order)
{
- unsigned max_rice_partition_order = limit;
+ uint32_t max_rice_partition_order = limit;
while(max_rice_partition_order > 0 && (blocksize >> max_rice_partition_order) <= predictor_order)
max_rice_partition_order--;
@@ -574,20 +582,27 @@ void FLAC__format_entropy_coding_method_partitioned_rice_contents_clear(FLAC__En
FLAC__format_entropy_coding_method_partitioned_rice_contents_init(object);
}
-FLAC__bool FLAC__format_entropy_coding_method_partitioned_rice_contents_ensure_size(FLAC__EntropyCodingMethod_PartitionedRiceContents *object, unsigned max_partition_order)
+#if defined(_MSC_VER)
+// silence three MSVC warnings 'result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)'
+#pragma warning ( disable : 4334 )
+#endif
+
+FLAC__bool FLAC__format_entropy_coding_method_partitioned_rice_contents_ensure_size(FLAC__EntropyCodingMethod_PartitionedRiceContents *object, uint32_t max_partition_order)
{
FLAC__ASSERT(0 != object);
- FLAC__ASSERT(object->capacity_by_order > 0 || (0 == object->parameters && 0 == object->raw_bits));
-
- if(object->capacity_by_order < max_partition_order) {
- if(0 == (object->parameters = (unsigned*)realloc(object->parameters, sizeof(unsigned)*((unsigned long long)1 << max_partition_order))))
+ if(object->capacity_by_order < max_partition_order || object->parameters == NULL || object->raw_bits == NULL) {
+ if(0 == (object->parameters = safe_realloc_(object->parameters, sizeof(uint32_t)*(1 << max_partition_order))))
return false;
- if(0 == (object->raw_bits = (unsigned*)realloc(object->raw_bits, sizeof(unsigned)*((unsigned long long)1 << max_partition_order))))
+ if(0 == (object->raw_bits = safe_realloc_(object->raw_bits, sizeof(uint32_t)*(1 << max_partition_order))))
return false;
- memset(object->raw_bits, 0, sizeof(unsigned)*((unsigned long long)1 << max_partition_order));
+ memset(object->raw_bits, 0, sizeof(uint32_t)*(1 << max_partition_order));
object->capacity_by_order = max_partition_order;
}
return true;
}
+
+#if defined(_MSC_VER)
+#pragma warning ( default : 4334 )
+#endif
diff --git a/3rdparty/libflac/src/libFLAC/ia32/Makefile.am b/3rdparty/libflac/src/libFLAC/ia32/Makefile.am
deleted file mode 100644
index 04a5b9841dd..00000000000
--- a/3rdparty/libflac/src/libFLAC/ia32/Makefile.am
+++ /dev/null
@@ -1,45 +0,0 @@
-# libFLAC - Free Lossless Audio Codec library
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# - Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# - Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# - Neither the name of the Xiph.org Foundation nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-SUFFIXES = .nasm .lo
-
-STRIP_NON_ASM = sh $(top_srcdir)/strip_non_asm_libtool_args.sh
-
-.nasm.lo:
- $(LIBTOOL) --tag=CC --mode=compile $(STRIP_NON_ASM) $(NASM) -f $(OBJ_FORMAT) -d OBJ_FORMAT_$(OBJ_FORMAT) -i$(srcdir)/ $< -o $@
-
-noinst_LTLIBRARIES = libFLAC-asm.la
-libFLAC_asm_la_SOURCES = \
- bitreader_asm.nasm \
- cpu_asm.nasm \
- fixed_asm.nasm \
- lpc_asm.nasm \
- nasm.h \
- stream_encoder_asm.nasm
diff --git a/3rdparty/libflac/src/libFLAC/ia32/Makefile.in b/3rdparty/libflac/src/libFLAC/ia32/Makefile.in
deleted file mode 100644
index 3a14b13bcc5..00000000000
--- a/3rdparty/libflac/src/libFLAC/ia32/Makefile.in
+++ /dev/null
@@ -1,487 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# libFLAC - Free Lossless Audio Codec library
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# - Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# - Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# - Neither the name of the Xiph.org Foundation nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-SUFFIXES = .nasm .lo
-
-STRIP_NON_ASM = sh $(top_srcdir)/strip_non_asm_libtool_args.sh
-
-noinst_LTLIBRARIES = libFLAC-asm.la
-libFLAC_asm_la_SOURCES = \
- bitreader_asm.nasm \
- cpu_asm.nasm \
- fixed_asm.nasm \
- lpc_asm.nasm \
- nasm.h \
- stream_encoder_asm.nasm
-
-subdir = src/libFLAC/ia32
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-
-libFLAC_asm_la_LDFLAGS =
-libFLAC_asm_la_LIBADD =
-am_libFLAC_asm_la_OBJECTS = bitreader_asm.lo cpu_asm.lo fixed_asm.lo \
- lpc_asm.lo stream_encoder_asm.lo
-libFLAC_asm_la_OBJECTS = $(am_libFLAC_asm_la_OBJECTS)
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(libFLAC_asm_la_SOURCES)
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(libFLAC_asm_la_SOURCES)
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .nasm .lo
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/libFLAC/ia32/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" = "$$p" && dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libFLAC-asm.la: $(libFLAC_asm_la_OBJECTS) $(libFLAC_asm_la_DEPENDENCIES)
- $(LINK) $(libFLAC_asm_la_LDFLAGS) $(libFLAC_asm_la_OBJECTS) $(libFLAC_asm_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
-
-distclean-compile:
- -rm -f *.tab.c
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
- pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
-
-
-.nasm.lo:
- $(LIBTOOL) --tag=CC --mode=compile $(STRIP_NON_ASM) $(NASM) -f $(OBJ_FORMAT) -d OBJ_FORMAT_$(OBJ_FORMAT) -i$(srcdir)/ $< -o $@
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/src/libFLAC/ia32/bitreader_asm.nasm b/3rdparty/libflac/src/libFLAC/ia32/bitreader_asm.nasm
deleted file mode 100644
index 5d1bbfa4464..00000000000
--- a/3rdparty/libflac/src/libFLAC/ia32/bitreader_asm.nasm
+++ /dev/null
@@ -1,568 +0,0 @@
-; vim:filetype=nasm ts=8
-
-; libFLAC - Free Lossless Audio Codec library
-; Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-;
-; Redistribution and use in source and binary forms, with or without
-; modification, are permitted provided that the following conditions
-; are met:
-;
-; - Redistributions of source code must retain the above copyright
-; notice, this list of conditions and the following disclaimer.
-;
-; - Redistributions in binary form must reproduce the above copyright
-; notice, this list of conditions and the following disclaimer in the
-; documentation and/or other materials provided with the distribution.
-;
-; - Neither the name of the Xiph.org Foundation nor the names of its
-; contributors may be used to endorse or promote products derived from
-; this software without specific prior written permission.
-;
-; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-; ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
-; CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-%include "nasm.h"
-
- data_section
-
-cextern FLAC__crc16_table ; unsigned FLAC__crc16_table[256];
-cextern bitreader_read_from_client_ ; FLAC__bool bitreader_read_from_client_(FLAC__BitReader *br);
-
-cglobal FLAC__bitreader_read_rice_signed_block_asm_ia32_bswap
-
- code_section
-
-
-; **********************************************************************
-;
-; void FLAC__bool FLAC__bitreader_read_rice_signed_block(FLAC__BitReader *br, int vals[], unsigned nvals, unsigned parameter)
-;
-; Some details like assertions and other checking is performed by the caller.
- ALIGN 16
-cident FLAC__bitreader_read_rice_signed_block_asm_ia32_bswap
-
- ;ASSERT(0 != br);
- ;ASSERT(0 != br->buffer);
- ; WATCHOUT: code only works if sizeof(brword)==32; we can make things much faster with this assertion
- ;ASSERT(FLAC__BITS_PER_WORD == 32);
- ;ASSERT(parameter < 32);
- ; the above two asserts also guarantee that the binary part never straddles more than 2 words, so we don't have to loop to read it
-
- ;; peppered throughout the code at major checkpoints are keys like this as to where things are at that point in time
- ;; [esp + 16] unsigned parameter
- ;; [esp + 12] unsigned nvals
- ;; [esp + 8] int vals[]
- ;; [esp + 4] FLAC__BitReader *br
- mov eax, [esp + 12] ; if(nvals == 0)
- test eax, eax
- ja .nvals_gt_0
- mov eax, 1 ; return true;
- ret
-
-.nvals_gt_0:
- push ebp
- push ebx
- push esi
- push edi
- sub esp, 4
- ;; [esp + 36] unsigned parameter
- ;; [esp + 32] unsigned nvals
- ;; [esp + 28] int vals[]
- ;; [esp + 24] FLAC__BitReader *br
- ;; [esp] ucbits
- mov ebp, [esp + 24] ; ebp <- br == br->buffer
- mov esi, [ebp + 16] ; esi <- br->consumed_words (aka 'cwords' in the C version)
- mov ecx, [ebp + 20] ; ecx <- br->consumed_bits (aka 'cbits' in the C version)
- xor edi, edi ; edi <- 0 'uval'
- ;; ecx cbits
- ;; esi cwords
- ;; edi uval
- ;; ebp br
- ;; [ebp] br->buffer
- ;; [ebp + 8] br->words
- ;; [ebp + 12] br->bytes
- ;; [ebp + 16] br->consumed_words
- ;; [ebp + 20] br->consumed_bits
- ;; [ebp + 24] br->read_crc
- ;; [ebp + 28] br->crc16_align
-
- ; ucbits = (br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8 - cbits;
- mov eax, [ebp + 8] ; eax <- br->words
- sub eax, esi ; eax <- br->words-cwords
- shl eax, 2 ; eax <- (br->words-cwords)*FLAC__BYTES_PER_WORD
- add eax, [ebp + 12] ; eax <- (br->words-cwords)*FLAC__BYTES_PER_WORD + br->bytes
- shl eax, 3 ; eax <- (br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8
- sub eax, ecx ; eax <- (br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8 - cbits
- mov [esp], eax ; ucbits <- eax
-
- ALIGN 16
-.val_loop: ; while(1) {
-
- ;
- ; read unary part
- ;
-.unary_loop: ; while(1) {
- ;; ecx cbits
- ;; esi cwords
- ;; edi uval
- ;; ebp br
- cmp esi, [ebp + 8] ; while(cwords < br->words) /* if we've not consumed up to a partial tail word... */
- jae near .c1_next1
-.c1_loop: ; {
- mov ebx, [ebp]
- mov eax, [ebx + 4*esi] ; b = br->buffer[cwords]
- mov edx, eax ; edx = br->buffer[cwords] (saved for later use)
- shl eax, cl ; b = br->buffer[cwords] << cbits
- test eax, eax ; (still have to test since cbits may be 0, thus ZF not updated for shl eax,0)
- jz near .c1_next2 ; if(b) {
- bsr ebx, eax
- not ebx
- and ebx, 31 ; ebx = 'i' = # of leading 0 bits in 'b' (eax)
- add ecx, ebx ; cbits += i;
- add edi, ebx ; uval += i;
- add ecx, byte 1 ; cbits++; /* skip over stop bit */
- test ecx, ~31
- jz near .break1 ; if(cbits >= FLAC__BITS_PER_WORD) { /* faster way of testing if(cbits == FLAC__BITS_PER_WORD) */
- ; crc16_update_word_(br, br->buffer[cwords]);
- push edi ; [need more registers]
- bswap edx ; edx = br->buffer[cwords] swapped; now we can CRC the bytes from LSByte to MSByte which makes things much easier
- mov ecx, [ebp + 28] ; ecx <- br->crc16_align
- mov eax, [ebp + 24] ; ax <- br->read_crc (a.k.a. crc)
-%ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
- mov edi, _FLAC__crc16_table
-%else
- mov edi, FLAC__crc16_table
-%endif
- ;; eax (ax) crc a.k.a. br->read_crc
- ;; ebx (bl) intermediate result index into FLAC__crc16_table[]
- ;; ecx br->crc16_align
- ;; edx byteswapped brword to CRC
- ;; esi cwords
- ;; edi unsigned FLAC__crc16_table[]
- ;; ebp br
- test ecx, ecx ; switch(br->crc16_align) ...
- jnz .c0b4 ; [br->crc16_align is 0 the vast majority of the time so we optimize the common case]
-.c0b0: xor dl, ah ; dl <- (crc>>8)^(word>>24)
- movzx ebx, dl
- mov ecx, [ebx*4 + edi] ; cx <- FLAC__crc16_table[(crc>>8)^(word>>24)]
- shl eax, 8 ; ax <- (crc<<8)
- xor eax, ecx ; crc <- ax <- (crc<<8) ^ FLAC__crc16_table[(crc>>8)^(word>>24)]
-.c0b1: xor dh, ah ; dh <- (crc>>8)^((word>>16)&0xff))
- movzx ebx, dh
- mov ecx, [ebx*4 + edi] ; cx <- FLAC__crc16_table[(crc>>8)^((word>>16)&0xff))]
- shl eax, 8 ; ax <- (crc<<8)
- xor eax, ecx ; crc <- ax <- (crc<<8) ^ FLAC__crc16_table[(crc>>8)^((word>>16)&0xff))]
- shr edx, 16
-.c0b2: xor dl, ah ; dl <- (crc>>8)^((word>>8)&0xff))
- movzx ebx, dl
- mov ecx, [ebx*4 + edi] ; cx <- FLAC__crc16_table[(crc>>8)^((word>>8)&0xff))]
- shl eax, 8 ; ax <- (crc<<8)
- xor eax, ecx ; crc <- ax <- (crc<<8) ^ FLAC__crc16_table[(crc>>8)^((word>>8)&0xff))]
-.c0b3: xor dh, ah ; dh <- (crc>>8)^(word&0xff)
- movzx ebx, dh
- mov ecx, [ebx*4 + edi] ; cx <- FLAC__crc16_table[(crc>>8)^(word&0xff)]
- shl eax, 8 ; ax <- (crc<<8)
- xor eax, ecx ; crc <- ax <- (crc<<8) ^ FLAC__crc16_table[(crc>>8)^(word&0xff)]
- movzx eax, ax
- mov [ebp + 24], eax ; br->read_crc <- crc
- pop edi
-
- add esi, byte 1 ; cwords++;
- xor ecx, ecx ; cbits = 0;
- ; }
- jmp near .break1 ; goto break1;
- ;; this section relocated out of the way for performance
-.c0b4:
- mov [ebp + 28], dword 0 ; br->crc16_align <- 0
- cmp ecx, 8
- je .c0b1
- shr edx, 16
- cmp ecx, 16
- je .c0b2
- jmp .c0b3
-
- ;; this section relocated out of the way for performance
-.c1b4:
- mov [ebp + 28], dword 0 ; br->crc16_align <- 0
- cmp ecx, 8
- je .c1b1
- shr edx, 16
- cmp ecx, 16
- je .c1b2
- jmp .c1b3
-
-.c1_next2: ; } else {
- ;; ecx cbits
- ;; edx current brword 'b'
- ;; esi cwords
- ;; edi uval
- ;; ebp br
- add edi, 32
- sub edi, ecx ; uval += FLAC__BITS_PER_WORD - cbits;
- ; crc16_update_word_(br, br->buffer[cwords]);
- push edi ; [need more registers]
- bswap edx ; edx = br->buffer[cwords] swapped; now we can CRC the bytes from LSByte to MSByte which makes things much easier
- mov ecx, [ebp + 28] ; ecx <- br->crc16_align
- mov eax, [ebp + 24] ; ax <- br->read_crc (a.k.a. crc)
-%ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
- mov edi, _FLAC__crc16_table
-%else
- mov edi, FLAC__crc16_table
-%endif
- ;; eax (ax) crc a.k.a. br->read_crc
- ;; ebx (bl) intermediate result index into FLAC__crc16_table[]
- ;; ecx br->crc16_align
- ;; edx byteswapped brword to CRC
- ;; esi cwords
- ;; edi unsigned FLAC__crc16_table[]
- ;; ebp br
- test ecx, ecx ; switch(br->crc16_align) ...
- jnz .c1b4 ; [br->crc16_align is 0 the vast majority of the time so we optimize the common case]
-.c1b0: xor dl, ah ; dl <- (crc>>8)^(word>>24)
- movzx ebx, dl
- mov ecx, [ebx*4 + edi] ; cx <- FLAC__crc16_table[(crc>>8)^(word>>24)]
- shl eax, 8 ; ax <- (crc<<8)
- xor eax, ecx ; crc <- ax <- (crc<<8) ^ FLAC__crc16_table[(crc>>8)^(word>>24)]
-.c1b1: xor dh, ah ; dh <- (crc>>8)^((word>>16)&0xff))
- movzx ebx, dh
- mov ecx, [ebx*4 + edi] ; cx <- FLAC__crc16_table[(crc>>8)^((word>>16)&0xff))]
- shl eax, 8 ; ax <- (crc<<8)
- xor eax, ecx ; crc <- ax <- (crc<<8) ^ FLAC__crc16_table[(crc>>8)^((word>>16)&0xff))]
- shr edx, 16
-.c1b2: xor dl, ah ; dl <- (crc>>8)^((word>>8)&0xff))
- movzx ebx, dl
- mov ecx, [ebx*4 + edi] ; cx <- FLAC__crc16_table[(crc>>8)^((word>>8)&0xff))]
- shl eax, 8 ; ax <- (crc<<8)
- xor eax, ecx ; crc <- ax <- (crc<<8) ^ FLAC__crc16_table[(crc>>8)^((word>>8)&0xff))]
-.c1b3: xor dh, ah ; dh <- (crc>>8)^(word&0xff)
- movzx ebx, dh
- mov ecx, [ebx*4 + edi] ; cx <- FLAC__crc16_table[(crc>>8)^(word&0xff)]
- shl eax, 8 ; ax <- (crc<<8)
- xor eax, ecx ; crc <- ax <- (crc<<8) ^ FLAC__crc16_table[(crc>>8)^(word&0xff)]
- movzx eax, ax
- mov [ebp + 24], eax ; br->read_crc <- crc
- pop edi
-
- add esi, byte 1 ; cwords++;
- xor ecx, ecx ; cbits = 0;
- ; /* didn't find stop bit yet, have to keep going... */
- ; }
-
- cmp esi, [ebp + 8] ; } while(cwords < br->words) /* if we've not consumed up to a partial tail word... */
- jb near .c1_loop
-
-.c1_next1:
- ; at this point we've eaten up all the whole words; have to try
- ; reading through any tail bytes before calling the read callback.
- ; this is a repeat of the above logic adjusted for the fact we
- ; don't have a whole word. note though if the client is feeding
- ; us data a byte at a time (unlikely), br->consumed_bits may not
- ; be zero.
- ;; ecx cbits
- ;; esi cwords
- ;; edi uval
- ;; ebp br
- mov edx, [ebp + 12] ; edx <- br->bytes
- test edx, edx
- jz .read1 ; if(br->bytes) { [NOTE: this case is rare so it doesn't have to be all that fast ]
- mov ebx, [ebp]
- shl edx, 3 ; edx <- const unsigned end = br->bytes * 8;
- mov eax, [ebx + 4*esi] ; b = br->buffer[cwords]
- xchg edx, ecx ; [edx <- cbits , ecx <- end]
- mov ebx, 0xffffffff ; ebx <- FLAC__WORD_ALL_ONES
- shr ebx, cl ; ebx <- FLAC__WORD_ALL_ONES >> end
- not ebx ; ebx <- ~(FLAC__WORD_ALL_ONES >> end)
- xchg edx, ecx ; [edx <- end , ecx <- cbits]
- and eax, ebx ; b = (br->buffer[cwords] & ~(FLAC__WORD_ALL_ONES >> end));
- shl eax, cl ; b = (br->buffer[cwords] & ~(FLAC__WORD_ALL_ONES >> end)) << cbits;
- test eax, eax ; (still have to test since cbits may be 0, thus ZF not updated for shl eax,0)
- jz .c1_next3 ; if(b) {
- bsr ebx, eax
- not ebx
- and ebx, 31 ; ebx = 'i' = # of leading 0 bits in 'b' (eax)
- add ecx, ebx ; cbits += i;
- add edi, ebx ; uval += i;
- add ecx, byte 1 ; cbits++; /* skip over stop bit */
- jmp short .break1 ; goto break1;
-.c1_next3: ; } else {
- sub edi, ecx
- add edi, edx ; uval += end - cbits;
- add ecx, edx ; cbits += end
- ; /* didn't find stop bit yet, have to keep going... */
- ; }
- ; }
-.read1:
- ; flush registers and read; bitreader_read_from_client_() does
- ; not touch br->consumed_bits at all but we still need to set
- ; it in case it fails and we have to return false.
- ;; ecx cbits
- ;; esi cwords
- ;; edi uval
- ;; ebp br
- mov [ebp + 16], esi ; br->consumed_words = cwords;
- mov [ebp + 20], ecx ; br->consumed_bits = cbits;
- push ecx ; /* save */
- push ebp ; /* push br argument */
-%ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
- call _bitreader_read_from_client_
-%else
- call bitreader_read_from_client_
-%endif
- pop edx ; /* discard, unused */
- pop ecx ; /* restore */
- mov esi, [ebp + 16] ; cwords = br->consumed_words;
- ; ucbits = (br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8 - cbits;
- mov ebx, [ebp + 8] ; ebx <- br->words
- sub ebx, esi ; ebx <- br->words-cwords
- shl ebx, 2 ; ebx <- (br->words-cwords)*FLAC__BYTES_PER_WORD
- add ebx, [ebp + 12] ; ebx <- (br->words-cwords)*FLAC__BYTES_PER_WORD + br->bytes
- shl ebx, 3 ; ebx <- (br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8
- sub ebx, ecx ; ebx <- (br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8 - cbits
- add ebx, edi ; ebx <- (br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8 - cbits + uval
- ; + uval to offset our count by the # of unary bits already
- ; consumed before the read, because we will add these back
- ; in all at once at break1
- mov [esp], ebx ; ucbits <- ebx
- test eax, eax ; if(!bitreader_read_from_client_(br))
- jnz near .unary_loop
- jmp .end ; return false; /* eax (the return value) is already 0 */
- ; } /* end while(1) unary part */
-
- ALIGN 16
-.break1:
- ;; ecx cbits
- ;; esi cwords
- ;; edi uval
- ;; ebp br
- ;; [esp] ucbits
- sub [esp], edi ; ucbits -= uval;
- sub dword [esp], byte 1 ; ucbits--; /* account for stop bit */
-
- ;
- ; read binary part
- ;
- mov ebx, [esp + 36] ; ebx <- parameter
- test ebx, ebx ; if(parameter) {
- jz near .break2
-.read2:
- cmp [esp], ebx ; while(ucbits < parameter) {
- jae .c2_next1
- ; flush registers and read; bitreader_read_from_client_() does
- ; not touch br->consumed_bits at all but we still need to set
- ; it in case it fails and we have to return false.
- mov [ebp + 16], esi ; br->consumed_words = cwords;
- mov [ebp + 20], ecx ; br->consumed_bits = cbits;
- push ecx ; /* save */
- push ebp ; /* push br argument */
-%ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
- call _bitreader_read_from_client_
-%else
- call bitreader_read_from_client_
-%endif
- pop edx ; /* discard, unused */
- pop ecx ; /* restore */
- mov esi, [ebp + 16] ; cwords = br->consumed_words;
- ; ucbits = (br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8 - cbits;
- mov edx, [ebp + 8] ; edx <- br->words
- sub edx, esi ; edx <- br->words-cwords
- shl edx, 2 ; edx <- (br->words-cwords)*FLAC__BYTES_PER_WORD
- add edx, [ebp + 12] ; edx <- (br->words-cwords)*FLAC__BYTES_PER_WORD + br->bytes
- shl edx, 3 ; edx <- (br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8
- sub edx, ecx ; edx <- (br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8 - cbits
- mov [esp], edx ; ucbits <- edx
- test eax, eax ; if(!bitreader_read_from_client_(br))
- jnz .read2
- jmp .end ; return false; /* eax (the return value) is already 0 */
- ; }
-.c2_next1:
- ;; ebx parameter
- ;; ecx cbits
- ;; esi cwords
- ;; edi uval
- ;; ebp br
- ;; [esp] ucbits
- cmp esi, [ebp + 8] ; if(cwords < br->words) { /* if we've not consumed up to a partial tail word... */
- jae near .c2_next2
- test ecx, ecx ; if(cbits) {
- jz near .c2_next3 ; /* this also works when consumed_bits==0, it's just a little slower than necessary for that case */
- mov eax, 32
- mov edx, [ebp]
- sub eax, ecx ; const unsigned n = FLAC__BITS_PER_WORD - cbits;
- mov edx, [edx + 4*esi] ; const brword word = br->buffer[cwords];
- cmp ebx, eax ; if(parameter < n) {
- jae .c2_next4
- ; uval <<= parameter;
- ; uval |= (word & (FLAC__WORD_ALL_ONES >> cbits)) >> (n-parameter);
- shl edx, cl
- xchg ebx, ecx
- shld edi, edx, cl
- add ebx, ecx ; cbits += parameter;
- xchg ebx, ecx ; ebx <- parameter, ecx <- cbits
- jmp .break2 ; goto break2;
- ; }
-.c2_next4:
- ; uval <<= n;
- ; uval |= word & (FLAC__WORD_ALL_ONES >> cbits);
-%if 1
- rol edx, cl ; @@@@@@OPT: may be faster to use rol to save edx so we can restore it for CRC'ing
- ; @@@@@@OPT: or put parameter in ch instead and free up ebx completely again
-%else
- shl edx, cl
-%endif
- xchg eax, ecx
- shld edi, edx, cl
- xchg eax, ecx
-%if 1
- ror edx, cl ; restored.
-%else
- mov edx, [ebp]
- mov edx, [edx + 4*esi]
-%endif
- ; crc16_update_word_(br, br->buffer[cwords]);
- push edi ; [need more registers]
- push ebx ; [need more registers]
- push eax ; [need more registers]
- bswap edx ; edx = br->buffer[cwords] swapped; now we can CRC the bytes from LSByte to MSByte which makes things much easier
- mov ecx, [ebp + 28] ; ecx <- br->crc16_align
- mov eax, [ebp + 24] ; ax <- br->read_crc (a.k.a. crc)
-%ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
- mov edi, _FLAC__crc16_table
-%else
- mov edi, FLAC__crc16_table
-%endif
- ;; eax (ax) crc a.k.a. br->read_crc
- ;; ebx (bl) intermediate result index into FLAC__crc16_table[]
- ;; ecx br->crc16_align
- ;; edx byteswapped brword to CRC
- ;; esi cwords
- ;; edi unsigned FLAC__crc16_table[]
- ;; ebp br
- test ecx, ecx ; switch(br->crc16_align) ...
- jnz .c2b4 ; [br->crc16_align is 0 the vast majority of the time so we optimize the common case]
-.c2b0: xor dl, ah ; dl <- (crc>>8)^(word>>24)
- movzx ebx, dl
- mov ecx, [ebx*4 + edi] ; cx <- FLAC__crc16_table[(crc>>8)^(word>>24)]
- shl eax, 8 ; ax <- (crc<<8)
- xor eax, ecx ; crc <- ax <- (crc<<8) ^ FLAC__crc16_table[(crc>>8)^(word>>24)]
-.c2b1: xor dh, ah ; dh <- (crc>>8)^((word>>16)&0xff))
- movzx ebx, dh
- mov ecx, [ebx*4 + edi] ; cx <- FLAC__crc16_table[(crc>>8)^((word>>16)&0xff))]
- shl eax, 8 ; ax <- (crc<<8)
- xor eax, ecx ; crc <- ax <- (crc<<8) ^ FLAC__crc16_table[(crc>>8)^((word>>16)&0xff))]
- shr edx, 16
-.c2b2: xor dl, ah ; dl <- (crc>>8)^((word>>8)&0xff))
- movzx ebx, dl
- mov ecx, [ebx*4 + edi] ; cx <- FLAC__crc16_table[(crc>>8)^((word>>8)&0xff))]
- shl eax, 8 ; ax <- (crc<<8)
- xor eax, ecx ; crc <- ax <- (crc<<8) ^ FLAC__crc16_table[(crc>>8)^((word>>8)&0xff))]
-.c2b3: xor dh, ah ; dh <- (crc>>8)^(word&0xff)
- movzx ebx, dh
- mov ecx, [ebx*4 + edi] ; cx <- FLAC__crc16_table[(crc>>8)^(word&0xff)]
- shl eax, 8 ; ax <- (crc<<8)
- xor eax, ecx ; crc <- ax <- (crc<<8) ^ FLAC__crc16_table[(crc>>8)^(word&0xff)]
- movzx eax, ax
- mov [ebp + 24], eax ; br->read_crc <- crc
- pop eax
- pop ebx
- pop edi
- add esi, byte 1 ; cwords++;
- mov ecx, ebx
- sub ecx, eax ; cbits = parameter - n;
- jz .break2 ; if(cbits) { /* parameter > n, i.e. if there are still bits left to read, there have to be less than 32 so they will all be in the next word */
- ; uval <<= cbits;
- ; uval |= (br->buffer[cwords] >> (FLAC__BITS_PER_WORD-cbits));
- mov eax, [ebp]
- mov eax, [eax + 4*esi]
- shld edi, eax, cl
- ; }
- jmp .break2 ; goto break2;
-
- ;; this section relocated out of the way for performance
-.c2b4:
- mov [ebp + 28], dword 0 ; br->crc16_align <- 0
- cmp ecx, 8
- je .c2b1
- shr edx, 16
- cmp ecx, 16
- je .c2b2
- jmp .c2b3
-
-.c2_next3: ; } else {
- mov ecx, ebx ; cbits = parameter;
- ; uval <<= cbits;
- ; uval |= (br->buffer[cwords] >> (FLAC__BITS_PER_WORD-cbits));
- mov eax, [ebp]
- mov eax, [eax + 4*esi]
- shld edi, eax, cl
- jmp .break2 ; goto break2;
- ; }
-.c2_next2: ; } else {
- ; in this case we're starting our read at a partial tail word;
- ; the reader has guaranteed that we have at least 'parameter'
- ; bits available to read, which makes this case simpler.
- ; uval <<= parameter;
- ; if(cbits) {
- ; /* this also works when consumed_bits==0, it's just a little slower than necessary for that case */
- ; uval |= (br->buffer[cwords] & (FLAC__WORD_ALL_ONES >> cbits)) >> (FLAC__BITS_PER_WORD-cbits-parameter);
- ; cbits += parameter;
- ; goto break2;
- ; } else {
- ; cbits = parameter;
- ; uval |= br->buffer[cwords] >> (FLAC__BITS_PER_WORD-cbits);
- ; goto break2;
- ; }
- ; the above is much shorter in assembly:
- mov eax, [ebp]
- mov eax, [eax + 4*esi] ; eax <- br->buffer[cwords]
- shl eax, cl ; eax <- br->buffer[cwords] << cbits
- add ecx, ebx ; cbits += parameter
- xchg ebx, ecx ; ebx <- cbits, ecx <- parameter
- shld edi, eax, cl ; uval <<= parameter <<< 'parameter' bits of tail word
- xchg ebx, ecx ; ebx <- parameter, ecx <- cbits
- ; }
- ; }
-.break2:
- sub [esp], ebx ; ucbits -= parameter;
-
- ;
- ; compose the value
- ;
- mov ebx, [esp + 28] ; ebx <- vals
- mov edx, edi ; edx <- uval
- and edi, 1 ; edi <- uval & 1
- shr edx, 1 ; edx <- uval >> 1
- neg edi ; edi <- -(int)(uval & 1)
- xor edx, edi ; edx <- (uval >> 1 ^ -(int)(uval & 1))
- mov [ebx], edx ; *vals <- edx
- sub dword [esp + 32], byte 1 ; --nvals;
- jz .finished ; if(nvals == 0) /* jump to finish */
- xor edi, edi ; uval = 0;
- add dword [esp + 28], 4 ; ++vals
- jmp .val_loop ; }
-
-.finished:
- mov [ebp + 16], esi ; br->consumed_words = cwords;
- mov [ebp + 20], ecx ; br->consumed_bits = cbits;
- mov eax, 1
-.end:
- add esp, 4
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-
-end
-
-%ifdef OBJ_FORMAT_elf
- section .note.GNU-stack noalloc
-%endif
diff --git a/3rdparty/libflac/src/libFLAC/ia32/cpu_asm.nasm b/3rdparty/libflac/src/libFLAC/ia32/cpu_asm.nasm
deleted file mode 100644
index f5eb1102c2b..00000000000
--- a/3rdparty/libflac/src/libFLAC/ia32/cpu_asm.nasm
+++ /dev/null
@@ -1,121 +0,0 @@
-; vim:filetype=nasm ts=8
-
-; libFLAC - Free Lossless Audio Codec library
-; Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-;
-; Redistribution and use in source and binary forms, with or without
-; modification, are permitted provided that the following conditions
-; are met:
-;
-; - Redistributions of source code must retain the above copyright
-; notice, this list of conditions and the following disclaimer.
-;
-; - Redistributions in binary form must reproduce the above copyright
-; notice, this list of conditions and the following disclaimer in the
-; documentation and/or other materials provided with the distribution.
-;
-; - Neither the name of the Xiph.org Foundation nor the names of its
-; contributors may be used to endorse or promote products derived from
-; this software without specific prior written permission.
-;
-; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-; ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
-; CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-%include "nasm.h"
-
- data_section
-
-cglobal FLAC__cpu_have_cpuid_asm_ia32
-cglobal FLAC__cpu_info_asm_ia32
-cglobal FLAC__cpu_info_extended_amd_asm_ia32
-
- code_section
-
-; **********************************************************************
-;
-; FLAC__uint32 FLAC__cpu_have_cpuid_asm_ia32()
-;
-
-cident FLAC__cpu_have_cpuid_asm_ia32
- push ebx
- pushfd
- pop eax
- mov edx, eax
- xor eax, 0x00200000
- push eax
- popfd
- pushfd
- pop eax
- cmp eax, edx
- jz .no_cpuid
- mov eax, 1
- jmp .end
-.no_cpuid:
- xor eax, eax
-.end:
- pop ebx
- ret
-
-; **********************************************************************
-;
-; void FLAC__cpu_info_asm_ia32(FLAC__uint32 *flags_edx, FLAC__uint32 *flags_ecx)
-;
-
-cident FLAC__cpu_info_asm_ia32
- ;[esp + 8] == flags_edx
- ;[esp + 12] == flags_ecx
-
- push ebx
- call FLAC__cpu_have_cpuid_asm_ia32
- test eax, eax
- jz .no_cpuid
- mov eax, 1
- cpuid
- mov ebx, [esp + 8]
- mov [ebx], edx
- mov ebx, [esp + 12]
- mov [ebx], ecx
- jmp .end
-.no_cpuid
- xor eax, eax
- mov ebx, [esp + 8]
- mov [ebx], eax
- mov ebx, [esp + 12]
- mov [ebx], eax
-.end
- pop ebx
- ret
-
-cident FLAC__cpu_info_extended_amd_asm_ia32
- push ebx
- call FLAC__cpu_have_cpuid_asm_ia32
- test eax, eax
- jz .no_cpuid
- mov eax, 0x80000000
- cpuid
- cmp eax, 0x80000001
- jb .no_cpuid
- mov eax, 0x80000001
- cpuid
- mov eax, edx
- jmp .end
-.no_cpuid
- xor eax, eax
-.end
- pop ebx
- ret
-
-end
-
-%ifdef OBJ_FORMAT_elf
- section .note.GNU-stack noalloc
-%endif
diff --git a/3rdparty/libflac/src/libFLAC/ia32/fixed_asm.nasm b/3rdparty/libflac/src/libFLAC/ia32/fixed_asm.nasm
deleted file mode 100644
index 0185f4d8763..00000000000
--- a/3rdparty/libflac/src/libFLAC/ia32/fixed_asm.nasm
+++ /dev/null
@@ -1,312 +0,0 @@
-; vim:filetype=nasm ts=8
-
-; libFLAC - Free Lossless Audio Codec library
-; Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-;
-; Redistribution and use in source and binary forms, with or without
-; modification, are permitted provided that the following conditions
-; are met:
-;
-; - Redistributions of source code must retain the above copyright
-; notice, this list of conditions and the following disclaimer.
-;
-; - Redistributions in binary form must reproduce the above copyright
-; notice, this list of conditions and the following disclaimer in the
-; documentation and/or other materials provided with the distribution.
-;
-; - Neither the name of the Xiph.org Foundation nor the names of its
-; contributors may be used to endorse or promote products derived from
-; this software without specific prior written permission.
-;
-; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-; ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
-; CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-%include "nasm.h"
-
- data_section
-
-cglobal FLAC__fixed_compute_best_predictor_asm_ia32_mmx_cmov
-
- code_section
-
-; **********************************************************************
-;
-; unsigned FLAC__fixed_compute_best_predictor(const FLAC__int32 *data, unsigned data_len, FLAC__float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1])
-; {
-; FLAC__int32 last_error_0 = data[-1];
-; FLAC__int32 last_error_1 = data[-1] - data[-2];
-; FLAC__int32 last_error_2 = last_error_1 - (data[-2] - data[-3]);
-; FLAC__int32 last_error_3 = last_error_2 - (data[-2] - 2*data[-3] + data[-4]);
-; FLAC__int32 error, save;
-; FLAC__uint32 total_error_0 = 0, total_error_1 = 0, total_error_2 = 0, total_error_3 = 0, total_error_4 = 0;
-; unsigned i, order;
-;
-; for(i = 0; i < data_len; i++) {
-; error = data[i] ; total_error_0 += local_abs(error); save = error;
-; error -= last_error_0; total_error_1 += local_abs(error); last_error_0 = save; save = error;
-; error -= last_error_1; total_error_2 += local_abs(error); last_error_1 = save; save = error;
-; error -= last_error_2; total_error_3 += local_abs(error); last_error_2 = save; save = error;
-; error -= last_error_3; total_error_4 += local_abs(error); last_error_3 = save;
-; }
-;
-; if(total_error_0 < min(min(min(total_error_1, total_error_2), total_error_3), total_error_4))
-; order = 0;
-; else if(total_error_1 < min(min(total_error_2, total_error_3), total_error_4))
-; order = 1;
-; else if(total_error_2 < min(total_error_3, total_error_4))
-; order = 2;
-; else if(total_error_3 < total_error_4)
-; order = 3;
-; else
-; order = 4;
-;
-; residual_bits_per_sample[0] = (FLAC__float)((data_len > 0 && total_error_0 > 0) ? log(M_LN2 * (FLAC__double)total_error_0 / (FLAC__double)data_len) / M_LN2 : 0.0);
-; residual_bits_per_sample[1] = (FLAC__float)((data_len > 0 && total_error_1 > 0) ? log(M_LN2 * (FLAC__double)total_error_1 / (FLAC__double)data_len) / M_LN2 : 0.0);
-; residual_bits_per_sample[2] = (FLAC__float)((data_len > 0 && total_error_2 > 0) ? log(M_LN2 * (FLAC__double)total_error_2 / (FLAC__double)data_len) / M_LN2 : 0.0);
-; residual_bits_per_sample[3] = (FLAC__float)((data_len > 0 && total_error_3 > 0) ? log(M_LN2 * (FLAC__double)total_error_3 / (FLAC__double)data_len) / M_LN2 : 0.0);
-; residual_bits_per_sample[4] = (FLAC__float)((data_len > 0 && total_error_4 > 0) ? log(M_LN2 * (FLAC__double)total_error_4 / (FLAC__double)data_len) / M_LN2 : 0.0);
-;
-; return order;
-; }
- ALIGN 16
-cident FLAC__fixed_compute_best_predictor_asm_ia32_mmx_cmov
-
- ; esp + 36 == data[]
- ; esp + 40 == data_len
- ; esp + 44 == residual_bits_per_sample[]
-
- push ebp
- push ebx
- push esi
- push edi
- sub esp, byte 16
- ; qword [esp] == temp space for loading FLAC__uint64s to FPU regs
-
- ; ebx == &data[i]
- ; ecx == loop counter (i)
- ; ebp == order
- ; mm0 == total_error_1:total_error_0
- ; mm1 == total_error_2:total_error_3
- ; mm2 == :total_error_4
- ; mm3 == last_error_1:last_error_0
- ; mm4 == last_error_2:last_error_3
-
- mov ecx, [esp + 40] ; ecx = data_len
- test ecx, ecx
- jz near .data_len_is_0
-
- mov ebx, [esp + 36] ; ebx = data[]
- movd mm3, [ebx - 4] ; mm3 = 0:last_error_0
- movd mm2, [ebx - 8] ; mm2 = 0:data[-2]
- movd mm1, [ebx - 12] ; mm1 = 0:data[-3]
- movd mm0, [ebx - 16] ; mm0 = 0:data[-4]
- movq mm5, mm3 ; mm5 = 0:last_error_0
- psubd mm5, mm2 ; mm5 = 0:last_error_1
- punpckldq mm3, mm5 ; mm3 = last_error_1:last_error_0
- psubd mm2, mm1 ; mm2 = 0:data[-2] - data[-3]
- psubd mm5, mm2 ; mm5 = 0:last_error_2
- movq mm4, mm5 ; mm4 = 0:last_error_2
- psubd mm4, mm2 ; mm4 = 0:last_error_2 - (data[-2] - data[-3])
- paddd mm4, mm1 ; mm4 = 0:last_error_2 - (data[-2] - 2 * data[-3])
- psubd mm4, mm0 ; mm4 = 0:last_error_3
- punpckldq mm4, mm5 ; mm4 = last_error_2:last_error_3
- pxor mm0, mm0 ; mm0 = total_error_1:total_error_0
- pxor mm1, mm1 ; mm1 = total_error_2:total_error_3
- pxor mm2, mm2 ; mm2 = 0:total_error_4
-
- ALIGN 16
-.loop:
- movd mm7, [ebx] ; mm7 = 0:error_0
- add ebx, byte 4
- movq mm6, mm7 ; mm6 = 0:error_0
- psubd mm7, mm3 ; mm7 = :error_1
- punpckldq mm6, mm7 ; mm6 = error_1:error_0
- movq mm5, mm6 ; mm5 = error_1:error_0
- movq mm7, mm6 ; mm7 = error_1:error_0
- psubd mm5, mm3 ; mm5 = error_2:
- movq mm3, mm6 ; mm3 = error_1:error_0
- psrad mm6, 31
- pxor mm7, mm6
- psubd mm7, mm6 ; mm7 = abs(error_1):abs(error_0)
- paddd mm0, mm7 ; mm0 = total_error_1:total_error_0
- movq mm6, mm5 ; mm6 = error_2:
- psubd mm5, mm4 ; mm5 = error_3:
- punpckhdq mm5, mm6 ; mm5 = error_2:error_3
- movq mm7, mm5 ; mm7 = error_2:error_3
- movq mm6, mm5 ; mm6 = error_2:error_3
- psubd mm5, mm4 ; mm5 = :error_4
- movq mm4, mm6 ; mm4 = error_2:error_3
- psrad mm6, 31
- pxor mm7, mm6
- psubd mm7, mm6 ; mm7 = abs(error_2):abs(error_3)
- paddd mm1, mm7 ; mm1 = total_error_2:total_error_3
- movq mm6, mm5 ; mm6 = :error_4
- psrad mm5, 31
- pxor mm6, mm5
- psubd mm6, mm5 ; mm6 = :abs(error_4)
- paddd mm2, mm6 ; mm2 = :total_error_4
-
- dec ecx
- jnz short .loop
-
-; if(total_error_0 < min(min(min(total_error_1, total_error_2), total_error_3), total_error_4))
-; order = 0;
-; else if(total_error_1 < min(min(total_error_2, total_error_3), total_error_4))
-; order = 1;
-; else if(total_error_2 < min(total_error_3, total_error_4))
-; order = 2;
-; else if(total_error_3 < total_error_4)
-; order = 3;
-; else
-; order = 4;
- movq mm3, mm0 ; mm3 = total_error_1:total_error_0
- movd edi, mm2 ; edi = total_error_4
- movd esi, mm1 ; esi = total_error_3
- movd eax, mm0 ; eax = total_error_0
- punpckhdq mm1, mm1 ; mm1 = total_error_2:total_error_2
- punpckhdq mm3, mm3 ; mm3 = total_error_1:total_error_1
- movd edx, mm1 ; edx = total_error_2
- movd ecx, mm3 ; ecx = total_error_1
-
- xor ebx, ebx
- xor ebp, ebp
- inc ebx
- cmp ecx, eax
- cmovb eax, ecx ; eax = min(total_error_0, total_error_1)
- cmovbe ebp, ebx
- inc ebx
- cmp edx, eax
- cmovb eax, edx ; eax = min(total_error_0, total_error_1, total_error_2)
- cmovbe ebp, ebx
- inc ebx
- cmp esi, eax
- cmovb eax, esi ; eax = min(total_error_0, total_error_1, total_error_2, total_error_3)
- cmovbe ebp, ebx
- inc ebx
- cmp edi, eax
- cmovb eax, edi ; eax = min(total_error_0, total_error_1, total_error_2, total_error_3, total_error_4)
- cmovbe ebp, ebx
- movd ebx, mm0 ; ebx = total_error_0
- emms
-
- ; residual_bits_per_sample[0] = (FLAC__float)((data_len > 0 && total_error_0 > 0) ? log(M_LN2 * (FLAC__double)total_error_0 / (FLAC__double)data_len) / M_LN2 : 0.0);
- ; residual_bits_per_sample[1] = (FLAC__float)((data_len > 0 && total_error_1 > 0) ? log(M_LN2 * (FLAC__double)total_error_1 / (FLAC__double)data_len) / M_LN2 : 0.0);
- ; residual_bits_per_sample[2] = (FLAC__float)((data_len > 0 && total_error_2 > 0) ? log(M_LN2 * (FLAC__double)total_error_2 / (FLAC__double)data_len) / M_LN2 : 0.0);
- ; residual_bits_per_sample[3] = (FLAC__float)((data_len > 0 && total_error_3 > 0) ? log(M_LN2 * (FLAC__double)total_error_3 / (FLAC__double)data_len) / M_LN2 : 0.0);
- ; residual_bits_per_sample[4] = (FLAC__float)((data_len > 0 && total_error_4 > 0) ? log(M_LN2 * (FLAC__double)total_error_4 / (FLAC__double)data_len) / M_LN2 : 0.0);
- xor eax, eax
- fild dword [esp + 40] ; ST = data_len (NOTE: assumes data_len is <2gigs)
-.rbps_0:
- test ebx, ebx
- jz .total_error_0_is_0
- fld1 ; ST = 1.0 data_len
- mov [esp], ebx
- mov [esp + 4], eax ; [esp] = (FLAC__uint64)total_error_0
- mov ebx, [esp + 44]
- fild qword [esp] ; ST = total_error_0 1.0 data_len
- fdiv st2 ; ST = total_error_0/data_len 1.0 data_len
- fldln2 ; ST = ln2 total_error_0/data_len 1.0 data_len
- fmulp st1 ; ST = ln2*total_error_0/data_len 1.0 data_len
- fyl2x ; ST = log2(ln2*total_error_0/data_len) data_len
- fstp dword [ebx] ; residual_bits_per_sample[0] = log2(ln2*total_error_0/data_len) ST = data_len
- jmp short .rbps_1
-.total_error_0_is_0:
- mov ebx, [esp + 44]
- mov [ebx], eax ; residual_bits_per_sample[0] = 0.0
-.rbps_1:
- test ecx, ecx
- jz .total_error_1_is_0
- fld1 ; ST = 1.0 data_len
- mov [esp], ecx
- mov [esp + 4], eax ; [esp] = (FLAC__uint64)total_error_1
- fild qword [esp] ; ST = total_error_1 1.0 data_len
- fdiv st2 ; ST = total_error_1/data_len 1.0 data_len
- fldln2 ; ST = ln2 total_error_1/data_len 1.0 data_len
- fmulp st1 ; ST = ln2*total_error_1/data_len 1.0 data_len
- fyl2x ; ST = log2(ln2*total_error_1/data_len) data_len
- fstp dword [ebx + 4] ; residual_bits_per_sample[1] = log2(ln2*total_error_1/data_len) ST = data_len
- jmp short .rbps_2
-.total_error_1_is_0:
- mov [ebx + 4], eax ; residual_bits_per_sample[1] = 0.0
-.rbps_2:
- test edx, edx
- jz .total_error_2_is_0
- fld1 ; ST = 1.0 data_len
- mov [esp], edx
- mov [esp + 4], eax ; [esp] = (FLAC__uint64)total_error_2
- fild qword [esp] ; ST = total_error_2 1.0 data_len
- fdiv st2 ; ST = total_error_2/data_len 1.0 data_len
- fldln2 ; ST = ln2 total_error_2/data_len 1.0 data_len
- fmulp st1 ; ST = ln2*total_error_2/data_len 1.0 data_len
- fyl2x ; ST = log2(ln2*total_error_2/data_len) data_len
- fstp dword [ebx + 8] ; residual_bits_per_sample[2] = log2(ln2*total_error_2/data_len) ST = data_len
- jmp short .rbps_3
-.total_error_2_is_0:
- mov [ebx + 8], eax ; residual_bits_per_sample[2] = 0.0
-.rbps_3:
- test esi, esi
- jz .total_error_3_is_0
- fld1 ; ST = 1.0 data_len
- mov [esp], esi
- mov [esp + 4], eax ; [esp] = (FLAC__uint64)total_error_3
- fild qword [esp] ; ST = total_error_3 1.0 data_len
- fdiv st2 ; ST = total_error_3/data_len 1.0 data_len
- fldln2 ; ST = ln2 total_error_3/data_len 1.0 data_len
- fmulp st1 ; ST = ln2*total_error_3/data_len 1.0 data_len
- fyl2x ; ST = log2(ln2*total_error_3/data_len) data_len
- fstp dword [ebx + 12] ; residual_bits_per_sample[3] = log2(ln2*total_error_3/data_len) ST = data_len
- jmp short .rbps_4
-.total_error_3_is_0:
- mov [ebx + 12], eax ; residual_bits_per_sample[3] = 0.0
-.rbps_4:
- test edi, edi
- jz .total_error_4_is_0
- fld1 ; ST = 1.0 data_len
- mov [esp], edi
- mov [esp + 4], eax ; [esp] = (FLAC__uint64)total_error_4
- fild qword [esp] ; ST = total_error_4 1.0 data_len
- fdiv st2 ; ST = total_error_4/data_len 1.0 data_len
- fldln2 ; ST = ln2 total_error_4/data_len 1.0 data_len
- fmulp st1 ; ST = ln2*total_error_4/data_len 1.0 data_len
- fyl2x ; ST = log2(ln2*total_error_4/data_len) data_len
- fstp dword [ebx + 16] ; residual_bits_per_sample[4] = log2(ln2*total_error_4/data_len) ST = data_len
- jmp short .rbps_end
-.total_error_4_is_0:
- mov [ebx + 16], eax ; residual_bits_per_sample[4] = 0.0
-.rbps_end:
- fstp st0 ; ST = [empty]
- jmp short .end
-.data_len_is_0:
- ; data_len == 0, so residual_bits_per_sample[*] = 0.0
- xor ebp, ebp
- mov edi, [esp + 44]
- mov [edi], ebp
- mov [edi + 4], ebp
- mov [edi + 8], ebp
- mov [edi + 12], ebp
- mov [edi + 16], ebp
- add ebp, byte 4 ; order = 4
-
-.end:
- mov eax, ebp ; return order
- add esp, byte 16
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-
-end
-
-%ifdef OBJ_FORMAT_elf
- section .note.GNU-stack noalloc
-%endif
diff --git a/3rdparty/libflac/src/libFLAC/ia32/lpc_asm.nasm b/3rdparty/libflac/src/libFLAC/ia32/lpc_asm.nasm
deleted file mode 100644
index 4bc4c91326f..00000000000
--- a/3rdparty/libflac/src/libFLAC/ia32/lpc_asm.nasm
+++ /dev/null
@@ -1,1511 +0,0 @@
-; vim:filetype=nasm ts=8
-
-; libFLAC - Free Lossless Audio Codec library
-; Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-;
-; Redistribution and use in source and binary forms, with or without
-; modification, are permitted provided that the following conditions
-; are met:
-;
-; - Redistributions of source code must retain the above copyright
-; notice, this list of conditions and the following disclaimer.
-;
-; - Redistributions in binary form must reproduce the above copyright
-; notice, this list of conditions and the following disclaimer in the
-; documentation and/or other materials provided with the distribution.
-;
-; - Neither the name of the Xiph.org Foundation nor the names of its
-; contributors may be used to endorse or promote products derived from
-; this software without specific prior written permission.
-;
-; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-; ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
-; CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-%include "nasm.h"
-
- data_section
-
-cglobal FLAC__lpc_compute_autocorrelation_asm_ia32
-cglobal FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_4
-cglobal FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_8
-cglobal FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_12
-cglobal FLAC__lpc_compute_autocorrelation_asm_ia32_3dnow
-cglobal FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32
-cglobal FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32_mmx
-cglobal FLAC__lpc_restore_signal_asm_ia32
-cglobal FLAC__lpc_restore_signal_asm_ia32_mmx
-
- code_section
-
-; **********************************************************************
-;
-; void FLAC__lpc_compute_autocorrelation_asm(const FLAC__real data[], unsigned data_len, unsigned lag, FLAC__real autoc[])
-; {
-; FLAC__real d;
-; unsigned sample, coeff;
-; const unsigned limit = data_len - lag;
-;
-; FLAC__ASSERT(lag > 0);
-; FLAC__ASSERT(lag <= data_len);
-;
-; for(coeff = 0; coeff < lag; coeff++)
-; autoc[coeff] = 0.0;
-; for(sample = 0; sample <= limit; sample++) {
-; d = data[sample];
-; for(coeff = 0; coeff < lag; coeff++)
-; autoc[coeff] += d * data[sample+coeff];
-; }
-; for(; sample < data_len; sample++) {
-; d = data[sample];
-; for(coeff = 0; coeff < data_len - sample; coeff++)
-; autoc[coeff] += d * data[sample+coeff];
-; }
-; }
-;
- ALIGN 16
-cident FLAC__lpc_compute_autocorrelation_asm_ia32
- ;[esp + 28] == autoc[]
- ;[esp + 24] == lag
- ;[esp + 20] == data_len
- ;[esp + 16] == data[]
-
- ;ASSERT(lag > 0)
- ;ASSERT(lag <= 33)
- ;ASSERT(lag <= data_len)
-
-.begin:
- push esi
- push edi
- push ebx
-
- ; for(coeff = 0; coeff < lag; coeff++)
- ; autoc[coeff] = 0.0;
- mov edi, [esp + 28] ; edi == autoc
- mov ecx, [esp + 24] ; ecx = # of dwords (=lag) of 0 to write
- xor eax, eax
- rep stosd
-
- ; const unsigned limit = data_len - lag;
- mov eax, [esp + 24] ; eax == lag
- mov ecx, [esp + 20]
- sub ecx, eax ; ecx == limit
-
- mov edi, [esp + 28] ; edi == autoc
- mov esi, [esp + 16] ; esi == data
- inc ecx ; we are looping <= limit so we add one to the counter
-
- ; for(sample = 0; sample <= limit; sample++) {
- ; d = data[sample];
- ; for(coeff = 0; coeff < lag; coeff++)
- ; autoc[coeff] += d * data[sample+coeff];
- ; }
- fld dword [esi] ; ST = d <- data[sample]
- ; each iteration is 11 bytes so we need (-eax)*11, so we do (-12*eax + eax)
- lea edx, [eax + eax*2]
- neg edx
- lea edx, [eax + edx*4 + .jumper1_0 - .get_eip1]
- call .get_eip1
-.get_eip1:
- pop ebx
- add edx, ebx
- inc edx ; compensate for the shorter opcode on the last iteration
- inc edx ; compensate for the shorter opcode on the last iteration
- inc edx ; compensate for the shorter opcode on the last iteration
- cmp eax, 33
- jne .loop1_start
- sub edx, byte 9 ; compensate for the longer opcodes on the first iteration
-.loop1_start:
- jmp edx
-
- fld st0 ; ST = d d
- fmul dword [esi + (32*4)] ; ST = d*data[sample+32] d WATCHOUT: not a byte displacement here!
- fadd dword [edi + (32*4)] ; ST = autoc[32]+d*data[sample+32] d WATCHOUT: not a byte displacement here!
- fstp dword [edi + (32*4)] ; autoc[32]+=d*data[sample+32] ST = d WATCHOUT: not a byte displacement here!
- fld st0 ; ST = d d
- fmul dword [esi + (31*4)] ; ST = d*data[sample+31] d
- fadd dword [edi + (31*4)] ; ST = autoc[31]+d*data[sample+31] d
- fstp dword [edi + (31*4)] ; autoc[31]+=d*data[sample+31] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (30*4)] ; ST = d*data[sample+30] d
- fadd dword [edi + (30*4)] ; ST = autoc[30]+d*data[sample+30] d
- fstp dword [edi + (30*4)] ; autoc[30]+=d*data[sample+30] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (29*4)] ; ST = d*data[sample+29] d
- fadd dword [edi + (29*4)] ; ST = autoc[29]+d*data[sample+29] d
- fstp dword [edi + (29*4)] ; autoc[29]+=d*data[sample+29] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (28*4)] ; ST = d*data[sample+28] d
- fadd dword [edi + (28*4)] ; ST = autoc[28]+d*data[sample+28] d
- fstp dword [edi + (28*4)] ; autoc[28]+=d*data[sample+28] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (27*4)] ; ST = d*data[sample+27] d
- fadd dword [edi + (27*4)] ; ST = autoc[27]+d*data[sample+27] d
- fstp dword [edi + (27*4)] ; autoc[27]+=d*data[sample+27] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (26*4)] ; ST = d*data[sample+26] d
- fadd dword [edi + (26*4)] ; ST = autoc[26]+d*data[sample+26] d
- fstp dword [edi + (26*4)] ; autoc[26]+=d*data[sample+26] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (25*4)] ; ST = d*data[sample+25] d
- fadd dword [edi + (25*4)] ; ST = autoc[25]+d*data[sample+25] d
- fstp dword [edi + (25*4)] ; autoc[25]+=d*data[sample+25] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (24*4)] ; ST = d*data[sample+24] d
- fadd dword [edi + (24*4)] ; ST = autoc[24]+d*data[sample+24] d
- fstp dword [edi + (24*4)] ; autoc[24]+=d*data[sample+24] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (23*4)] ; ST = d*data[sample+23] d
- fadd dword [edi + (23*4)] ; ST = autoc[23]+d*data[sample+23] d
- fstp dword [edi + (23*4)] ; autoc[23]+=d*data[sample+23] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (22*4)] ; ST = d*data[sample+22] d
- fadd dword [edi + (22*4)] ; ST = autoc[22]+d*data[sample+22] d
- fstp dword [edi + (22*4)] ; autoc[22]+=d*data[sample+22] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (21*4)] ; ST = d*data[sample+21] d
- fadd dword [edi + (21*4)] ; ST = autoc[21]+d*data[sample+21] d
- fstp dword [edi + (21*4)] ; autoc[21]+=d*data[sample+21] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (20*4)] ; ST = d*data[sample+20] d
- fadd dword [edi + (20*4)] ; ST = autoc[20]+d*data[sample+20] d
- fstp dword [edi + (20*4)] ; autoc[20]+=d*data[sample+20] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (19*4)] ; ST = d*data[sample+19] d
- fadd dword [edi + (19*4)] ; ST = autoc[19]+d*data[sample+19] d
- fstp dword [edi + (19*4)] ; autoc[19]+=d*data[sample+19] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (18*4)] ; ST = d*data[sample+18] d
- fadd dword [edi + (18*4)] ; ST = autoc[18]+d*data[sample+18] d
- fstp dword [edi + (18*4)] ; autoc[18]+=d*data[sample+18] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (17*4)] ; ST = d*data[sample+17] d
- fadd dword [edi + (17*4)] ; ST = autoc[17]+d*data[sample+17] d
- fstp dword [edi + (17*4)] ; autoc[17]+=d*data[sample+17] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (16*4)] ; ST = d*data[sample+16] d
- fadd dword [edi + (16*4)] ; ST = autoc[16]+d*data[sample+16] d
- fstp dword [edi + (16*4)] ; autoc[16]+=d*data[sample+16] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (15*4)] ; ST = d*data[sample+15] d
- fadd dword [edi + (15*4)] ; ST = autoc[15]+d*data[sample+15] d
- fstp dword [edi + (15*4)] ; autoc[15]+=d*data[sample+15] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (14*4)] ; ST = d*data[sample+14] d
- fadd dword [edi + (14*4)] ; ST = autoc[14]+d*data[sample+14] d
- fstp dword [edi + (14*4)] ; autoc[14]+=d*data[sample+14] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (13*4)] ; ST = d*data[sample+13] d
- fadd dword [edi + (13*4)] ; ST = autoc[13]+d*data[sample+13] d
- fstp dword [edi + (13*4)] ; autoc[13]+=d*data[sample+13] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (12*4)] ; ST = d*data[sample+12] d
- fadd dword [edi + (12*4)] ; ST = autoc[12]+d*data[sample+12] d
- fstp dword [edi + (12*4)] ; autoc[12]+=d*data[sample+12] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (11*4)] ; ST = d*data[sample+11] d
- fadd dword [edi + (11*4)] ; ST = autoc[11]+d*data[sample+11] d
- fstp dword [edi + (11*4)] ; autoc[11]+=d*data[sample+11] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (10*4)] ; ST = d*data[sample+10] d
- fadd dword [edi + (10*4)] ; ST = autoc[10]+d*data[sample+10] d
- fstp dword [edi + (10*4)] ; autoc[10]+=d*data[sample+10] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + ( 9*4)] ; ST = d*data[sample+9] d
- fadd dword [edi + ( 9*4)] ; ST = autoc[9]+d*data[sample+9] d
- fstp dword [edi + ( 9*4)] ; autoc[9]+=d*data[sample+9] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + ( 8*4)] ; ST = d*data[sample+8] d
- fadd dword [edi + ( 8*4)] ; ST = autoc[8]+d*data[sample+8] d
- fstp dword [edi + ( 8*4)] ; autoc[8]+=d*data[sample+8] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + ( 7*4)] ; ST = d*data[sample+7] d
- fadd dword [edi + ( 7*4)] ; ST = autoc[7]+d*data[sample+7] d
- fstp dword [edi + ( 7*4)] ; autoc[7]+=d*data[sample+7] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + ( 6*4)] ; ST = d*data[sample+6] d
- fadd dword [edi + ( 6*4)] ; ST = autoc[6]+d*data[sample+6] d
- fstp dword [edi + ( 6*4)] ; autoc[6]+=d*data[sample+6] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + ( 5*4)] ; ST = d*data[sample+4] d
- fadd dword [edi + ( 5*4)] ; ST = autoc[4]+d*data[sample+4] d
- fstp dword [edi + ( 5*4)] ; autoc[4]+=d*data[sample+4] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + ( 4*4)] ; ST = d*data[sample+4] d
- fadd dword [edi + ( 4*4)] ; ST = autoc[4]+d*data[sample+4] d
- fstp dword [edi + ( 4*4)] ; autoc[4]+=d*data[sample+4] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + ( 3*4)] ; ST = d*data[sample+3] d
- fadd dword [edi + ( 3*4)] ; ST = autoc[3]+d*data[sample+3] d
- fstp dword [edi + ( 3*4)] ; autoc[3]+=d*data[sample+3] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + ( 2*4)] ; ST = d*data[sample+2] d
- fadd dword [edi + ( 2*4)] ; ST = autoc[2]+d*data[sample+2] d
- fstp dword [edi + ( 2*4)] ; autoc[2]+=d*data[sample+2] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + ( 1*4)] ; ST = d*data[sample+1] d
- fadd dword [edi + ( 1*4)] ; ST = autoc[1]+d*data[sample+1] d
- fstp dword [edi + ( 1*4)] ; autoc[1]+=d*data[sample+1] ST = d
- fld st0 ; ST = d d
- fmul dword [esi] ; ST = d*data[sample] d WATCHOUT: no displacement byte here!
- fadd dword [edi] ; ST = autoc[0]+d*data[sample] d WATCHOUT: no displacement byte here!
- fstp dword [edi] ; autoc[0]+=d*data[sample] ST = d WATCHOUT: no displacement byte here!
-.jumper1_0:
-
- fstp st0 ; pop d, ST = empty
- add esi, byte 4 ; sample++
- dec ecx
- jz .loop1_end
- fld dword [esi] ; ST = d <- data[sample]
- jmp edx
-.loop1_end:
-
- ; for(; sample < data_len; sample++) {
- ; d = data[sample];
- ; for(coeff = 0; coeff < data_len - sample; coeff++)
- ; autoc[coeff] += d * data[sample+coeff];
- ; }
- mov ecx, [esp + 24] ; ecx <- lag
- dec ecx ; ecx <- lag - 1
- jz near .end ; skip loop if 0 (i.e. lag == 1)
-
- fld dword [esi] ; ST = d <- data[sample]
- mov eax, ecx ; eax <- lag - 1 == data_len - sample the first time through
- ; each iteration is 11 bytes so we need (-eax)*11, so we do (-12*eax + eax)
- lea edx, [eax + eax*2]
- neg edx
- lea edx, [eax + edx*4 + .jumper2_0 - .get_eip2]
- call .get_eip2
-.get_eip2:
- pop ebx
- add edx, ebx
- inc edx ; compensate for the shorter opcode on the last iteration
- inc edx ; compensate for the shorter opcode on the last iteration
- inc edx ; compensate for the shorter opcode on the last iteration
- jmp edx
-
- fld st0 ; ST = d d
- fmul dword [esi + (31*4)] ; ST = d*data[sample+31] d
- fadd dword [edi + (31*4)] ; ST = autoc[31]+d*data[sample+31] d
- fstp dword [edi + (31*4)] ; autoc[31]+=d*data[sample+31] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (30*4)] ; ST = d*data[sample+30] d
- fadd dword [edi + (30*4)] ; ST = autoc[30]+d*data[sample+30] d
- fstp dword [edi + (30*4)] ; autoc[30]+=d*data[sample+30] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (29*4)] ; ST = d*data[sample+29] d
- fadd dword [edi + (29*4)] ; ST = autoc[29]+d*data[sample+29] d
- fstp dword [edi + (29*4)] ; autoc[29]+=d*data[sample+29] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (28*4)] ; ST = d*data[sample+28] d
- fadd dword [edi + (28*4)] ; ST = autoc[28]+d*data[sample+28] d
- fstp dword [edi + (28*4)] ; autoc[28]+=d*data[sample+28] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (27*4)] ; ST = d*data[sample+27] d
- fadd dword [edi + (27*4)] ; ST = autoc[27]+d*data[sample+27] d
- fstp dword [edi + (27*4)] ; autoc[27]+=d*data[sample+27] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (26*4)] ; ST = d*data[sample+26] d
- fadd dword [edi + (26*4)] ; ST = autoc[26]+d*data[sample+26] d
- fstp dword [edi + (26*4)] ; autoc[26]+=d*data[sample+26] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (25*4)] ; ST = d*data[sample+25] d
- fadd dword [edi + (25*4)] ; ST = autoc[25]+d*data[sample+25] d
- fstp dword [edi + (25*4)] ; autoc[25]+=d*data[sample+25] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (24*4)] ; ST = d*data[sample+24] d
- fadd dword [edi + (24*4)] ; ST = autoc[24]+d*data[sample+24] d
- fstp dword [edi + (24*4)] ; autoc[24]+=d*data[sample+24] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (23*4)] ; ST = d*data[sample+23] d
- fadd dword [edi + (23*4)] ; ST = autoc[23]+d*data[sample+23] d
- fstp dword [edi + (23*4)] ; autoc[23]+=d*data[sample+23] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (22*4)] ; ST = d*data[sample+22] d
- fadd dword [edi + (22*4)] ; ST = autoc[22]+d*data[sample+22] d
- fstp dword [edi + (22*4)] ; autoc[22]+=d*data[sample+22] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (21*4)] ; ST = d*data[sample+21] d
- fadd dword [edi + (21*4)] ; ST = autoc[21]+d*data[sample+21] d
- fstp dword [edi + (21*4)] ; autoc[21]+=d*data[sample+21] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (20*4)] ; ST = d*data[sample+20] d
- fadd dword [edi + (20*4)] ; ST = autoc[20]+d*data[sample+20] d
- fstp dword [edi + (20*4)] ; autoc[20]+=d*data[sample+20] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (19*4)] ; ST = d*data[sample+19] d
- fadd dword [edi + (19*4)] ; ST = autoc[19]+d*data[sample+19] d
- fstp dword [edi + (19*4)] ; autoc[19]+=d*data[sample+19] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (18*4)] ; ST = d*data[sample+18] d
- fadd dword [edi + (18*4)] ; ST = autoc[18]+d*data[sample+18] d
- fstp dword [edi + (18*4)] ; autoc[18]+=d*data[sample+18] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (17*4)] ; ST = d*data[sample+17] d
- fadd dword [edi + (17*4)] ; ST = autoc[17]+d*data[sample+17] d
- fstp dword [edi + (17*4)] ; autoc[17]+=d*data[sample+17] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (16*4)] ; ST = d*data[sample+16] d
- fadd dword [edi + (16*4)] ; ST = autoc[16]+d*data[sample+16] d
- fstp dword [edi + (16*4)] ; autoc[16]+=d*data[sample+16] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (15*4)] ; ST = d*data[sample+15] d
- fadd dword [edi + (15*4)] ; ST = autoc[15]+d*data[sample+15] d
- fstp dword [edi + (15*4)] ; autoc[15]+=d*data[sample+15] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (14*4)] ; ST = d*data[sample+14] d
- fadd dword [edi + (14*4)] ; ST = autoc[14]+d*data[sample+14] d
- fstp dword [edi + (14*4)] ; autoc[14]+=d*data[sample+14] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (13*4)] ; ST = d*data[sample+13] d
- fadd dword [edi + (13*4)] ; ST = autoc[13]+d*data[sample+13] d
- fstp dword [edi + (13*4)] ; autoc[13]+=d*data[sample+13] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (12*4)] ; ST = d*data[sample+12] d
- fadd dword [edi + (12*4)] ; ST = autoc[12]+d*data[sample+12] d
- fstp dword [edi + (12*4)] ; autoc[12]+=d*data[sample+12] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (11*4)] ; ST = d*data[sample+11] d
- fadd dword [edi + (11*4)] ; ST = autoc[11]+d*data[sample+11] d
- fstp dword [edi + (11*4)] ; autoc[11]+=d*data[sample+11] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + (10*4)] ; ST = d*data[sample+10] d
- fadd dword [edi + (10*4)] ; ST = autoc[10]+d*data[sample+10] d
- fstp dword [edi + (10*4)] ; autoc[10]+=d*data[sample+10] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + ( 9*4)] ; ST = d*data[sample+9] d
- fadd dword [edi + ( 9*4)] ; ST = autoc[9]+d*data[sample+9] d
- fstp dword [edi + ( 9*4)] ; autoc[9]+=d*data[sample+9] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + ( 8*4)] ; ST = d*data[sample+8] d
- fadd dword [edi + ( 8*4)] ; ST = autoc[8]+d*data[sample+8] d
- fstp dword [edi + ( 8*4)] ; autoc[8]+=d*data[sample+8] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + ( 7*4)] ; ST = d*data[sample+7] d
- fadd dword [edi + ( 7*4)] ; ST = autoc[7]+d*data[sample+7] d
- fstp dword [edi + ( 7*4)] ; autoc[7]+=d*data[sample+7] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + ( 6*4)] ; ST = d*data[sample+6] d
- fadd dword [edi + ( 6*4)] ; ST = autoc[6]+d*data[sample+6] d
- fstp dword [edi + ( 6*4)] ; autoc[6]+=d*data[sample+6] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + ( 5*4)] ; ST = d*data[sample+4] d
- fadd dword [edi + ( 5*4)] ; ST = autoc[4]+d*data[sample+4] d
- fstp dword [edi + ( 5*4)] ; autoc[4]+=d*data[sample+4] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + ( 4*4)] ; ST = d*data[sample+4] d
- fadd dword [edi + ( 4*4)] ; ST = autoc[4]+d*data[sample+4] d
- fstp dword [edi + ( 4*4)] ; autoc[4]+=d*data[sample+4] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + ( 3*4)] ; ST = d*data[sample+3] d
- fadd dword [edi + ( 3*4)] ; ST = autoc[3]+d*data[sample+3] d
- fstp dword [edi + ( 3*4)] ; autoc[3]+=d*data[sample+3] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + ( 2*4)] ; ST = d*data[sample+2] d
- fadd dword [edi + ( 2*4)] ; ST = autoc[2]+d*data[sample+2] d
- fstp dword [edi + ( 2*4)] ; autoc[2]+=d*data[sample+2] ST = d
- fld st0 ; ST = d d
- fmul dword [esi + ( 1*4)] ; ST = d*data[sample+1] d
- fadd dword [edi + ( 1*4)] ; ST = autoc[1]+d*data[sample+1] d
- fstp dword [edi + ( 1*4)] ; autoc[1]+=d*data[sample+1] ST = d
- fld st0 ; ST = d d
- fmul dword [esi] ; ST = d*data[sample] d WATCHOUT: no displacement byte here!
- fadd dword [edi] ; ST = autoc[0]+d*data[sample] d WATCHOUT: no displacement byte here!
- fstp dword [edi] ; autoc[0]+=d*data[sample] ST = d WATCHOUT: no displacement byte here!
-.jumper2_0:
-
- fstp st0 ; pop d, ST = empty
- add esi, byte 4 ; sample++
- dec ecx
- jz .loop2_end
- add edx, byte 11 ; adjust our inner loop counter by adjusting the jump target
- fld dword [esi] ; ST = d <- data[sample]
- jmp edx
-.loop2_end:
-
-.end:
- pop ebx
- pop edi
- pop esi
- ret
-
- ALIGN 16
-cident FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_4
- ;[esp + 16] == autoc[]
- ;[esp + 12] == lag
- ;[esp + 8] == data_len
- ;[esp + 4] == data[]
-
- ;ASSERT(lag > 0)
- ;ASSERT(lag <= 4)
- ;ASSERT(lag <= data_len)
-
- ; for(coeff = 0; coeff < lag; coeff++)
- ; autoc[coeff] = 0.0;
- xorps xmm5, xmm5
-
- mov edx, [esp + 8] ; edx == data_len
- mov eax, [esp + 4] ; eax == &data[sample] <- &data[0]
-
- movss xmm0, [eax] ; xmm0 = 0,0,0,data[0]
- add eax, 4
- movaps xmm2, xmm0 ; xmm2 = 0,0,0,data[0]
- shufps xmm0, xmm0, 0 ; xmm0 == data[sample],data[sample],data[sample],data[sample] = data[0],data[0],data[0],data[0]
-.warmup: ; xmm2 == data[sample-3],data[sample-2],data[sample-1],data[sample]
- mulps xmm0, xmm2 ; xmm0 = xmm0 * xmm2
- addps xmm5, xmm0 ; xmm5 += xmm0 * xmm2
- dec edx
- jz .loop_end
- ALIGN 16
-.loop_start:
- ; start by reading the next sample
- movss xmm0, [eax] ; xmm0 = 0,0,0,data[sample]
- add eax, 4
- shufps xmm0, xmm0, 0 ; xmm0 = data[sample],data[sample],data[sample],data[sample]
- shufps xmm2, xmm2, 93h ; 93h=2-1-0-3 => xmm2 gets rotated left by one float
- movss xmm2, xmm0
- mulps xmm0, xmm2 ; xmm0 = xmm0 * xmm2
- addps xmm5, xmm0 ; xmm5 += xmm0 * xmm2
- dec edx
- jnz .loop_start
-.loop_end:
- ; store autoc
- mov edx, [esp + 16] ; edx == autoc
- movups [edx], xmm5
-
-.end:
- ret
-
- ALIGN 16
-cident FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_8
- ;[esp + 16] == autoc[]
- ;[esp + 12] == lag
- ;[esp + 8] == data_len
- ;[esp + 4] == data[]
-
- ;ASSERT(lag > 0)
- ;ASSERT(lag <= 8)
- ;ASSERT(lag <= data_len)
-
- ; for(coeff = 0; coeff < lag; coeff++)
- ; autoc[coeff] = 0.0;
- xorps xmm5, xmm5
- xorps xmm6, xmm6
-
- mov edx, [esp + 8] ; edx == data_len
- mov eax, [esp + 4] ; eax == &data[sample] <- &data[0]
-
- movss xmm0, [eax] ; xmm0 = 0,0,0,data[0]
- add eax, 4
- movaps xmm2, xmm0 ; xmm2 = 0,0,0,data[0]
- shufps xmm0, xmm0, 0 ; xmm0 == data[sample],data[sample],data[sample],data[sample] = data[0],data[0],data[0],data[0]
- movaps xmm1, xmm0 ; xmm1 == data[sample],data[sample],data[sample],data[sample] = data[0],data[0],data[0],data[0]
- xorps xmm3, xmm3 ; xmm3 = 0,0,0,0
-.warmup: ; xmm3:xmm2 == data[sample-7],data[sample-6],...,data[sample]
- mulps xmm0, xmm2
- mulps xmm1, xmm3 ; xmm1:xmm0 = xmm1:xmm0 * xmm3:xmm2
- addps xmm5, xmm0
- addps xmm6, xmm1 ; xmm6:xmm5 += xmm1:xmm0 * xmm3:xmm2
- dec edx
- jz .loop_end
- ALIGN 16
-.loop_start:
- ; start by reading the next sample
- movss xmm0, [eax] ; xmm0 = 0,0,0,data[sample]
- ; here we reorder the instructions; see the (#) indexes for a logical order
- shufps xmm2, xmm2, 93h ; (3) 93h=2-1-0-3 => xmm2 gets rotated left by one float
- add eax, 4 ; (0)
- shufps xmm3, xmm3, 93h ; (4) 93h=2-1-0-3 => xmm3 gets rotated left by one float
- shufps xmm0, xmm0, 0 ; (1) xmm0 = data[sample],data[sample],data[sample],data[sample]
- movss xmm3, xmm2 ; (5)
- movaps xmm1, xmm0 ; (2) xmm1 = data[sample],data[sample],data[sample],data[sample]
- movss xmm2, xmm0 ; (6)
- mulps xmm1, xmm3 ; (8)
- mulps xmm0, xmm2 ; (7) xmm1:xmm0 = xmm1:xmm0 * xmm3:xmm2
- addps xmm6, xmm1 ; (10)
- addps xmm5, xmm0 ; (9) xmm6:xmm5 += xmm1:xmm0 * xmm3:xmm2
- dec edx
- jnz .loop_start
-.loop_end:
- ; store autoc
- mov edx, [esp + 16] ; edx == autoc
- movups [edx], xmm5
- movups [edx + 16], xmm6
-
-.end:
- ret
-
- ALIGN 16
-cident FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_12
- ;[esp + 16] == autoc[]
- ;[esp + 12] == lag
- ;[esp + 8] == data_len
- ;[esp + 4] == data[]
-
- ;ASSERT(lag > 0)
- ;ASSERT(lag <= 12)
- ;ASSERT(lag <= data_len)
-
- ; for(coeff = 0; coeff < lag; coeff++)
- ; autoc[coeff] = 0.0;
- xorps xmm5, xmm5
- xorps xmm6, xmm6
- xorps xmm7, xmm7
-
- mov edx, [esp + 8] ; edx == data_len
- mov eax, [esp + 4] ; eax == &data[sample] <- &data[0]
-
- movss xmm0, [eax] ; xmm0 = 0,0,0,data[0]
- add eax, 4
- movaps xmm2, xmm0 ; xmm2 = 0,0,0,data[0]
- shufps xmm0, xmm0, 0 ; xmm0 == data[sample],data[sample],data[sample],data[sample] = data[0],data[0],data[0],data[0]
- xorps xmm3, xmm3 ; xmm3 = 0,0,0,0
- xorps xmm4, xmm4 ; xmm4 = 0,0,0,0
-.warmup: ; xmm3:xmm2 == data[sample-7],data[sample-6],...,data[sample]
- movaps xmm1, xmm0
- mulps xmm1, xmm2
- addps xmm5, xmm1
- movaps xmm1, xmm0
- mulps xmm1, xmm3
- addps xmm6, xmm1
- mulps xmm0, xmm4
- addps xmm7, xmm0 ; xmm7:xmm6:xmm5 += xmm0:xmm0:xmm0 * xmm4:xmm3:xmm2
- dec edx
- jz .loop_end
- ALIGN 16
-.loop_start:
- ; start by reading the next sample
- movss xmm0, [eax] ; xmm0 = 0,0,0,data[sample]
- add eax, 4
- shufps xmm0, xmm0, 0 ; xmm0 = data[sample],data[sample],data[sample],data[sample]
-
- ; shift xmm4:xmm3:xmm2 left by one float
- shufps xmm2, xmm2, 93h ; 93h=2-1-0-3 => xmm2 gets rotated left by one float
- shufps xmm3, xmm3, 93h ; 93h=2-1-0-3 => xmm3 gets rotated left by one float
- shufps xmm4, xmm4, 93h ; 93h=2-1-0-3 => xmm4 gets rotated left by one float
- movss xmm4, xmm3
- movss xmm3, xmm2
- movss xmm2, xmm0
-
- ; xmm7:xmm6:xmm5 += xmm0:xmm0:xmm0 * xmm3:xmm3:xmm2
- movaps xmm1, xmm0
- mulps xmm1, xmm2
- addps xmm5, xmm1
- movaps xmm1, xmm0
- mulps xmm1, xmm3
- addps xmm6, xmm1
- mulps xmm0, xmm4
- addps xmm7, xmm0
-
- dec edx
- jnz .loop_start
-.loop_end:
- ; store autoc
- mov edx, [esp + 16] ; edx == autoc
- movups [edx], xmm5
- movups [edx + 16], xmm6
- movups [edx + 32], xmm7
-
-.end:
- ret
-
- ALIGN 16
-cident FLAC__lpc_compute_autocorrelation_asm_ia32_3dnow
- ;[ebp + 32] autoc
- ;[ebp + 28] lag
- ;[ebp + 24] data_len
- ;[ebp + 20] data
-
- push ebp
- push ebx
- push esi
- push edi
- mov ebp, esp
-
- mov esi, [ebp + 20]
- mov edi, [ebp + 24]
- mov edx, [ebp + 28]
- inc edx
- and edx, byte -2
- mov eax, edx
- neg eax
- and esp, byte -8
- lea esp, [esp + 4 * eax]
- mov ecx, edx
- xor eax, eax
-.loop0:
- dec ecx
- mov [esp + 4 * ecx], eax
- jnz short .loop0
-
- mov eax, edi
- sub eax, edx
- mov ebx, edx
- and ebx, byte 1
- sub eax, ebx
- lea ecx, [esi + 4 * eax - 12]
- cmp esi, ecx
- mov eax, esi
- ja short .loop2_pre
- ALIGN 16 ;4 nops
-.loop1_i:
- movd mm0, [eax]
- movd mm2, [eax + 4]
- movd mm4, [eax + 8]
- movd mm6, [eax + 12]
- mov ebx, edx
- punpckldq mm0, mm0
- punpckldq mm2, mm2
- punpckldq mm4, mm4
- punpckldq mm6, mm6
- ALIGN 16 ;3 nops
-.loop1_j:
- sub ebx, byte 2
- movd mm1, [eax + 4 * ebx]
- movd mm3, [eax + 4 * ebx + 4]
- movd mm5, [eax + 4 * ebx + 8]
- movd mm7, [eax + 4 * ebx + 12]
- punpckldq mm1, mm3
- punpckldq mm3, mm5
- pfmul mm1, mm0
- punpckldq mm5, mm7
- pfmul mm3, mm2
- punpckldq mm7, [eax + 4 * ebx + 16]
- pfmul mm5, mm4
- pfmul mm7, mm6
- pfadd mm1, mm3
- movq mm3, [esp + 4 * ebx]
- pfadd mm5, mm7
- pfadd mm1, mm5
- pfadd mm3, mm1
- movq [esp + 4 * ebx], mm3
- jg short .loop1_j
-
- add eax, byte 16
- cmp eax, ecx
- jb short .loop1_i
-
-.loop2_pre:
- mov ebx, eax
- sub eax, esi
- shr eax, 2
- lea ecx, [esi + 4 * edi]
- mov esi, ebx
-.loop2_i:
- movd mm0, [esi]
- mov ebx, edi
- sub ebx, eax
- cmp ebx, edx
- jbe short .loop2_j
- mov ebx, edx
-.loop2_j:
- dec ebx
- movd mm1, [esi + 4 * ebx]
- pfmul mm1, mm0
- movd mm2, [esp + 4 * ebx]
- pfadd mm1, mm2
- movd [esp + 4 * ebx], mm1
-
- jnz short .loop2_j
-
- add esi, byte 4
- inc eax
- cmp esi, ecx
- jnz short .loop2_i
-
- mov edi, [ebp + 32]
- mov edx, [ebp + 28]
-.loop3:
- dec edx
- mov eax, [esp + 4 * edx]
- mov [edi + 4 * edx], eax
- jnz short .loop3
-
- femms
-
- mov esp, ebp
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-
-;void FLAC__lpc_compute_residual_from_qlp_coefficients(const FLAC__int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 residual[])
-;
-; for(i = 0; i < data_len; i++) {
-; sum = 0;
-; for(j = 0; j < order; j++)
-; sum += qlp_coeff[j] * data[i-j-1];
-; residual[i] = data[i] - (sum >> lp_quantization);
-; }
-;
- ALIGN 16
-cident FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32
- ;[esp + 40] residual[]
- ;[esp + 36] lp_quantization
- ;[esp + 32] order
- ;[esp + 28] qlp_coeff[]
- ;[esp + 24] data_len
- ;[esp + 20] data[]
-
- ;ASSERT(order > 0)
-
- push ebp
- push ebx
- push esi
- push edi
-
- mov esi, [esp + 20] ; esi = data[]
- mov edi, [esp + 40] ; edi = residual[]
- mov eax, [esp + 32] ; eax = order
- mov ebx, [esp + 24] ; ebx = data_len
-
- test ebx, ebx
- jz near .end ; do nothing if data_len == 0
-.begin:
- cmp eax, byte 1
- jg short .i_1more
-
- mov ecx, [esp + 28]
- mov edx, [ecx] ; edx = qlp_coeff[0]
- mov eax, [esi - 4] ; eax = data[-1]
- mov cl, [esp + 36] ; cl = lp_quantization
- ALIGN 16
-.i_1_loop_i:
- imul eax, edx
- sar eax, cl
- neg eax
- add eax, [esi]
- mov [edi], eax
- mov eax, [esi]
- add edi, byte 4
- add esi, byte 4
- dec ebx
- jnz .i_1_loop_i
-
- jmp .end
-
-.i_1more:
- cmp eax, byte 32 ; for order <= 32 there is a faster routine
- jbe short .i_32
-
- ; This version is here just for completeness, since FLAC__MAX_LPC_ORDER == 32
- ALIGN 16
-.i_32more_loop_i:
- xor ebp, ebp
- mov ecx, [esp + 32]
- mov edx, ecx
- shl edx, 2
- add edx, [esp + 28]
- neg ecx
- ALIGN 16
-.i_32more_loop_j:
- sub edx, byte 4
- mov eax, [edx]
- imul eax, [esi + 4 * ecx]
- add ebp, eax
- inc ecx
- jnz short .i_32more_loop_j
-
- mov cl, [esp + 36]
- sar ebp, cl
- neg ebp
- add ebp, [esi]
- mov [edi], ebp
- add esi, byte 4
- add edi, byte 4
-
- dec ebx
- jnz .i_32more_loop_i
-
- jmp .end
-
-.i_32:
- sub edi, esi
- neg eax
- lea edx, [eax + eax * 8 + .jumper_0 - .get_eip0]
- call .get_eip0
-.get_eip0:
- pop eax
- add edx, eax
- inc edx
- mov eax, [esp + 28] ; eax = qlp_coeff[]
- xor ebp, ebp
- jmp edx
-
- mov ecx, [eax + 124]
- imul ecx, [esi - 128]
- add ebp, ecx
- mov ecx, [eax + 120]
- imul ecx, [esi - 124]
- add ebp, ecx
- mov ecx, [eax + 116]
- imul ecx, [esi - 120]
- add ebp, ecx
- mov ecx, [eax + 112]
- imul ecx, [esi - 116]
- add ebp, ecx
- mov ecx, [eax + 108]
- imul ecx, [esi - 112]
- add ebp, ecx
- mov ecx, [eax + 104]
- imul ecx, [esi - 108]
- add ebp, ecx
- mov ecx, [eax + 100]
- imul ecx, [esi - 104]
- add ebp, ecx
- mov ecx, [eax + 96]
- imul ecx, [esi - 100]
- add ebp, ecx
- mov ecx, [eax + 92]
- imul ecx, [esi - 96]
- add ebp, ecx
- mov ecx, [eax + 88]
- imul ecx, [esi - 92]
- add ebp, ecx
- mov ecx, [eax + 84]
- imul ecx, [esi - 88]
- add ebp, ecx
- mov ecx, [eax + 80]
- imul ecx, [esi - 84]
- add ebp, ecx
- mov ecx, [eax + 76]
- imul ecx, [esi - 80]
- add ebp, ecx
- mov ecx, [eax + 72]
- imul ecx, [esi - 76]
- add ebp, ecx
- mov ecx, [eax + 68]
- imul ecx, [esi - 72]
- add ebp, ecx
- mov ecx, [eax + 64]
- imul ecx, [esi - 68]
- add ebp, ecx
- mov ecx, [eax + 60]
- imul ecx, [esi - 64]
- add ebp, ecx
- mov ecx, [eax + 56]
- imul ecx, [esi - 60]
- add ebp, ecx
- mov ecx, [eax + 52]
- imul ecx, [esi - 56]
- add ebp, ecx
- mov ecx, [eax + 48]
- imul ecx, [esi - 52]
- add ebp, ecx
- mov ecx, [eax + 44]
- imul ecx, [esi - 48]
- add ebp, ecx
- mov ecx, [eax + 40]
- imul ecx, [esi - 44]
- add ebp, ecx
- mov ecx, [eax + 36]
- imul ecx, [esi - 40]
- add ebp, ecx
- mov ecx, [eax + 32]
- imul ecx, [esi - 36]
- add ebp, ecx
- mov ecx, [eax + 28]
- imul ecx, [esi - 32]
- add ebp, ecx
- mov ecx, [eax + 24]
- imul ecx, [esi - 28]
- add ebp, ecx
- mov ecx, [eax + 20]
- imul ecx, [esi - 24]
- add ebp, ecx
- mov ecx, [eax + 16]
- imul ecx, [esi - 20]
- add ebp, ecx
- mov ecx, [eax + 12]
- imul ecx, [esi - 16]
- add ebp, ecx
- mov ecx, [eax + 8]
- imul ecx, [esi - 12]
- add ebp, ecx
- mov ecx, [eax + 4]
- imul ecx, [esi - 8]
- add ebp, ecx
- mov ecx, [eax] ; there is one byte missing
- imul ecx, [esi - 4]
- add ebp, ecx
-.jumper_0:
-
- mov cl, [esp + 36]
- sar ebp, cl
- neg ebp
- add ebp, [esi]
- mov [edi + esi], ebp
- add esi, byte 4
-
- dec ebx
- jz short .end
- xor ebp, ebp
- jmp edx
-
-.end:
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-
-; WATCHOUT: this routine works on 16 bit data which means bits-per-sample for
-; the channel and qlp_coeffs must be <= 16. Especially note that this routine
-; cannot be used for side-channel coded 16bps channels since the effective bps
-; is 17.
- ALIGN 16
-cident FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32_mmx
- ;[esp + 40] residual[]
- ;[esp + 36] lp_quantization
- ;[esp + 32] order
- ;[esp + 28] qlp_coeff[]
- ;[esp + 24] data_len
- ;[esp + 20] data[]
-
- ;ASSERT(order > 0)
-
- push ebp
- push ebx
- push esi
- push edi
-
- mov esi, [esp + 20] ; esi = data[]
- mov edi, [esp + 40] ; edi = residual[]
- mov eax, [esp + 32] ; eax = order
- mov ebx, [esp + 24] ; ebx = data_len
-
- test ebx, ebx
- jz near .end ; do nothing if data_len == 0
- dec ebx
- test ebx, ebx
- jz near .last_one
-
- mov edx, [esp + 28] ; edx = qlp_coeff[]
- movd mm6, [esp + 36] ; mm6 = 0:lp_quantization
- mov ebp, esp
-
- and esp, 0xfffffff8
-
- xor ecx, ecx
-.copy_qlp_loop:
- push word [edx + 4 * ecx]
- inc ecx
- cmp ecx, eax
- jnz short .copy_qlp_loop
-
- and ecx, 0x3
- test ecx, ecx
- je short .za_end
- sub ecx, byte 4
-.za_loop:
- push word 0
- inc eax
- inc ecx
- jnz short .za_loop
-.za_end:
-
- movq mm5, [esp + 2 * eax - 8]
- movd mm4, [esi - 16]
- punpckldq mm4, [esi - 12]
- movd mm0, [esi - 8]
- punpckldq mm0, [esi - 4]
- packssdw mm4, mm0
-
- cmp eax, byte 4
- jnbe short .mmx_4more
-
- ALIGN 16
-.mmx_4_loop_i:
- movd mm1, [esi]
- movq mm3, mm4
- punpckldq mm1, [esi + 4]
- psrlq mm4, 16
- movq mm0, mm1
- psllq mm0, 48
- por mm4, mm0
- movq mm2, mm4
- psrlq mm4, 16
- pxor mm0, mm0
- punpckhdq mm0, mm1
- pmaddwd mm3, mm5
- pmaddwd mm2, mm5
- psllq mm0, 16
- por mm4, mm0
- movq mm0, mm3
- punpckldq mm3, mm2
- punpckhdq mm0, mm2
- paddd mm3, mm0
- psrad mm3, mm6
- psubd mm1, mm3
- movd [edi], mm1
- punpckhdq mm1, mm1
- movd [edi + 4], mm1
-
- add edi, byte 8
- add esi, byte 8
-
- sub ebx, 2
- jg .mmx_4_loop_i
- jmp .mmx_end
-
-.mmx_4more:
- shl eax, 2
- neg eax
- add eax, byte 16
-
- ALIGN 16
-.mmx_4more_loop_i:
- movd mm1, [esi]
- punpckldq mm1, [esi + 4]
- movq mm3, mm4
- psrlq mm4, 16
- movq mm0, mm1
- psllq mm0, 48
- por mm4, mm0
- movq mm2, mm4
- psrlq mm4, 16
- pxor mm0, mm0
- punpckhdq mm0, mm1
- pmaddwd mm3, mm5
- pmaddwd mm2, mm5
- psllq mm0, 16
- por mm4, mm0
-
- mov ecx, esi
- add ecx, eax
- mov edx, esp
-
- ALIGN 16
-.mmx_4more_loop_j:
- movd mm0, [ecx - 16]
- movd mm7, [ecx - 8]
- punpckldq mm0, [ecx - 12]
- punpckldq mm7, [ecx - 4]
- packssdw mm0, mm7
- pmaddwd mm0, [edx]
- punpckhdq mm7, mm7
- paddd mm3, mm0
- movd mm0, [ecx - 12]
- punpckldq mm0, [ecx - 8]
- punpckldq mm7, [ecx]
- packssdw mm0, mm7
- pmaddwd mm0, [edx]
- paddd mm2, mm0
-
- add edx, byte 8
- add ecx, byte 16
- cmp ecx, esi
- jnz .mmx_4more_loop_j
-
- movq mm0, mm3
- punpckldq mm3, mm2
- punpckhdq mm0, mm2
- paddd mm3, mm0
- psrad mm3, mm6
- psubd mm1, mm3
- movd [edi], mm1
- punpckhdq mm1, mm1
- movd [edi + 4], mm1
-
- add edi, byte 8
- add esi, byte 8
-
- sub ebx, 2
- jg near .mmx_4more_loop_i
-
-.mmx_end:
- emms
- mov esp, ebp
-.last_one:
- mov eax, [esp + 32]
- inc ebx
- jnz near FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32.begin
-
-.end:
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-
-; **********************************************************************
-;
-; void FLAC__lpc_restore_signal(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[])
-; {
-; unsigned i, j;
-; FLAC__int32 sum;
-;
-; FLAC__ASSERT(order > 0);
-;
-; for(i = 0; i < data_len; i++) {
-; sum = 0;
-; for(j = 0; j < order; j++)
-; sum += qlp_coeff[j] * data[i-j-1];
-; data[i] = residual[i] + (sum >> lp_quantization);
-; }
-; }
- ALIGN 16
-cident FLAC__lpc_restore_signal_asm_ia32
- ;[esp + 40] data[]
- ;[esp + 36] lp_quantization
- ;[esp + 32] order
- ;[esp + 28] qlp_coeff[]
- ;[esp + 24] data_len
- ;[esp + 20] residual[]
-
- ;ASSERT(order > 0)
-
- push ebp
- push ebx
- push esi
- push edi
-
- mov esi, [esp + 20] ; esi = residual[]
- mov edi, [esp + 40] ; edi = data[]
- mov eax, [esp + 32] ; eax = order
- mov ebx, [esp + 24] ; ebx = data_len
-
- test ebx, ebx
- jz near .end ; do nothing if data_len == 0
-
-.begin:
- cmp eax, byte 1
- jg short .x87_1more
-
- mov ecx, [esp + 28]
- mov edx, [ecx]
- mov eax, [edi - 4]
- mov cl, [esp + 36]
- ALIGN 16
-.x87_1_loop_i:
- imul eax, edx
- sar eax, cl
- add eax, [esi]
- mov [edi], eax
- add esi, byte 4
- add edi, byte 4
- dec ebx
- jnz .x87_1_loop_i
-
- jmp .end
-
-.x87_1more:
- cmp eax, byte 32 ; for order <= 32 there is a faster routine
- jbe short .x87_32
-
- ; This version is here just for completeness, since FLAC__MAX_LPC_ORDER == 32
- ALIGN 16
-.x87_32more_loop_i:
- xor ebp, ebp
- mov ecx, [esp + 32]
- mov edx, ecx
- shl edx, 2
- add edx, [esp + 28]
- neg ecx
- ALIGN 16
-.x87_32more_loop_j:
- sub edx, byte 4
- mov eax, [edx]
- imul eax, [edi + 4 * ecx]
- add ebp, eax
- inc ecx
- jnz short .x87_32more_loop_j
-
- mov cl, [esp + 36]
- sar ebp, cl
- add ebp, [esi]
- mov [edi], ebp
- add edi, byte 4
- add esi, byte 4
-
- dec ebx
- jnz .x87_32more_loop_i
-
- jmp .end
-
-.x87_32:
- sub esi, edi
- neg eax
- lea edx, [eax + eax * 8 + .jumper_0 - .get_eip0]
- call .get_eip0
-.get_eip0:
- pop eax
- add edx, eax
- inc edx ; compensate for the shorter opcode on the last iteration
- mov eax, [esp + 28] ; eax = qlp_coeff[]
- xor ebp, ebp
- jmp edx
-
- mov ecx, [eax + 124] ; ecx = qlp_coeff[31]
- imul ecx, [edi - 128] ; ecx = qlp_coeff[31] * data[i-32]
- add ebp, ecx ; sum += qlp_coeff[31] * data[i-32]
- mov ecx, [eax + 120] ; ecx = qlp_coeff[30]
- imul ecx, [edi - 124] ; ecx = qlp_coeff[30] * data[i-31]
- add ebp, ecx ; sum += qlp_coeff[30] * data[i-31]
- mov ecx, [eax + 116] ; ecx = qlp_coeff[29]
- imul ecx, [edi - 120] ; ecx = qlp_coeff[29] * data[i-30]
- add ebp, ecx ; sum += qlp_coeff[29] * data[i-30]
- mov ecx, [eax + 112] ; ecx = qlp_coeff[28]
- imul ecx, [edi - 116] ; ecx = qlp_coeff[28] * data[i-29]
- add ebp, ecx ; sum += qlp_coeff[28] * data[i-29]
- mov ecx, [eax + 108] ; ecx = qlp_coeff[27]
- imul ecx, [edi - 112] ; ecx = qlp_coeff[27] * data[i-28]
- add ebp, ecx ; sum += qlp_coeff[27] * data[i-28]
- mov ecx, [eax + 104] ; ecx = qlp_coeff[26]
- imul ecx, [edi - 108] ; ecx = qlp_coeff[26] * data[i-27]
- add ebp, ecx ; sum += qlp_coeff[26] * data[i-27]
- mov ecx, [eax + 100] ; ecx = qlp_coeff[25]
- imul ecx, [edi - 104] ; ecx = qlp_coeff[25] * data[i-26]
- add ebp, ecx ; sum += qlp_coeff[25] * data[i-26]
- mov ecx, [eax + 96] ; ecx = qlp_coeff[24]
- imul ecx, [edi - 100] ; ecx = qlp_coeff[24] * data[i-25]
- add ebp, ecx ; sum += qlp_coeff[24] * data[i-25]
- mov ecx, [eax + 92] ; ecx = qlp_coeff[23]
- imul ecx, [edi - 96] ; ecx = qlp_coeff[23] * data[i-24]
- add ebp, ecx ; sum += qlp_coeff[23] * data[i-24]
- mov ecx, [eax + 88] ; ecx = qlp_coeff[22]
- imul ecx, [edi - 92] ; ecx = qlp_coeff[22] * data[i-23]
- add ebp, ecx ; sum += qlp_coeff[22] * data[i-23]
- mov ecx, [eax + 84] ; ecx = qlp_coeff[21]
- imul ecx, [edi - 88] ; ecx = qlp_coeff[21] * data[i-22]
- add ebp, ecx ; sum += qlp_coeff[21] * data[i-22]
- mov ecx, [eax + 80] ; ecx = qlp_coeff[20]
- imul ecx, [edi - 84] ; ecx = qlp_coeff[20] * data[i-21]
- add ebp, ecx ; sum += qlp_coeff[20] * data[i-21]
- mov ecx, [eax + 76] ; ecx = qlp_coeff[19]
- imul ecx, [edi - 80] ; ecx = qlp_coeff[19] * data[i-20]
- add ebp, ecx ; sum += qlp_coeff[19] * data[i-20]
- mov ecx, [eax + 72] ; ecx = qlp_coeff[18]
- imul ecx, [edi - 76] ; ecx = qlp_coeff[18] * data[i-19]
- add ebp, ecx ; sum += qlp_coeff[18] * data[i-19]
- mov ecx, [eax + 68] ; ecx = qlp_coeff[17]
- imul ecx, [edi - 72] ; ecx = qlp_coeff[17] * data[i-18]
- add ebp, ecx ; sum += qlp_coeff[17] * data[i-18]
- mov ecx, [eax + 64] ; ecx = qlp_coeff[16]
- imul ecx, [edi - 68] ; ecx = qlp_coeff[16] * data[i-17]
- add ebp, ecx ; sum += qlp_coeff[16] * data[i-17]
- mov ecx, [eax + 60] ; ecx = qlp_coeff[15]
- imul ecx, [edi - 64] ; ecx = qlp_coeff[15] * data[i-16]
- add ebp, ecx ; sum += qlp_coeff[15] * data[i-16]
- mov ecx, [eax + 56] ; ecx = qlp_coeff[14]
- imul ecx, [edi - 60] ; ecx = qlp_coeff[14] * data[i-15]
- add ebp, ecx ; sum += qlp_coeff[14] * data[i-15]
- mov ecx, [eax + 52] ; ecx = qlp_coeff[13]
- imul ecx, [edi - 56] ; ecx = qlp_coeff[13] * data[i-14]
- add ebp, ecx ; sum += qlp_coeff[13] * data[i-14]
- mov ecx, [eax + 48] ; ecx = qlp_coeff[12]
- imul ecx, [edi - 52] ; ecx = qlp_coeff[12] * data[i-13]
- add ebp, ecx ; sum += qlp_coeff[12] * data[i-13]
- mov ecx, [eax + 44] ; ecx = qlp_coeff[11]
- imul ecx, [edi - 48] ; ecx = qlp_coeff[11] * data[i-12]
- add ebp, ecx ; sum += qlp_coeff[11] * data[i-12]
- mov ecx, [eax + 40] ; ecx = qlp_coeff[10]
- imul ecx, [edi - 44] ; ecx = qlp_coeff[10] * data[i-11]
- add ebp, ecx ; sum += qlp_coeff[10] * data[i-11]
- mov ecx, [eax + 36] ; ecx = qlp_coeff[ 9]
- imul ecx, [edi - 40] ; ecx = qlp_coeff[ 9] * data[i-10]
- add ebp, ecx ; sum += qlp_coeff[ 9] * data[i-10]
- mov ecx, [eax + 32] ; ecx = qlp_coeff[ 8]
- imul ecx, [edi - 36] ; ecx = qlp_coeff[ 8] * data[i- 9]
- add ebp, ecx ; sum += qlp_coeff[ 8] * data[i- 9]
- mov ecx, [eax + 28] ; ecx = qlp_coeff[ 7]
- imul ecx, [edi - 32] ; ecx = qlp_coeff[ 7] * data[i- 8]
- add ebp, ecx ; sum += qlp_coeff[ 7] * data[i- 8]
- mov ecx, [eax + 24] ; ecx = qlp_coeff[ 6]
- imul ecx, [edi - 28] ; ecx = qlp_coeff[ 6] * data[i- 7]
- add ebp, ecx ; sum += qlp_coeff[ 6] * data[i- 7]
- mov ecx, [eax + 20] ; ecx = qlp_coeff[ 5]
- imul ecx, [edi - 24] ; ecx = qlp_coeff[ 5] * data[i- 6]
- add ebp, ecx ; sum += qlp_coeff[ 5] * data[i- 6]
- mov ecx, [eax + 16] ; ecx = qlp_coeff[ 4]
- imul ecx, [edi - 20] ; ecx = qlp_coeff[ 4] * data[i- 5]
- add ebp, ecx ; sum += qlp_coeff[ 4] * data[i- 5]
- mov ecx, [eax + 12] ; ecx = qlp_coeff[ 3]
- imul ecx, [edi - 16] ; ecx = qlp_coeff[ 3] * data[i- 4]
- add ebp, ecx ; sum += qlp_coeff[ 3] * data[i- 4]
- mov ecx, [eax + 8] ; ecx = qlp_coeff[ 2]
- imul ecx, [edi - 12] ; ecx = qlp_coeff[ 2] * data[i- 3]
- add ebp, ecx ; sum += qlp_coeff[ 2] * data[i- 3]
- mov ecx, [eax + 4] ; ecx = qlp_coeff[ 1]
- imul ecx, [edi - 8] ; ecx = qlp_coeff[ 1] * data[i- 2]
- add ebp, ecx ; sum += qlp_coeff[ 1] * data[i- 2]
- mov ecx, [eax] ; ecx = qlp_coeff[ 0] (NOTE: one byte missing from instruction)
- imul ecx, [edi - 4] ; ecx = qlp_coeff[ 0] * data[i- 1]
- add ebp, ecx ; sum += qlp_coeff[ 0] * data[i- 1]
-.jumper_0:
-
- mov cl, [esp + 36]
- sar ebp, cl ; ebp = (sum >> lp_quantization)
- add ebp, [esi + edi] ; ebp = residual[i] + (sum >> lp_quantization)
- mov [edi], ebp ; data[i] = residual[i] + (sum >> lp_quantization)
- add edi, byte 4
-
- dec ebx
- jz short .end
- xor ebp, ebp
- jmp edx
-
-.end:
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-
-; WATCHOUT: this routine works on 16 bit data which means bits-per-sample for
-; the channel and qlp_coeffs must be <= 16. Especially note that this routine
-; cannot be used for side-channel coded 16bps channels since the effective bps
-; is 17.
-; WATCHOUT: this routine requires that each data array have a buffer of up to
-; 3 zeroes in front (at negative indices) for alignment purposes, i.e. for each
-; channel n, data[n][-1] through data[n][-3] should be accessible and zero.
- ALIGN 16
-cident FLAC__lpc_restore_signal_asm_ia32_mmx
- ;[esp + 40] data[]
- ;[esp + 36] lp_quantization
- ;[esp + 32] order
- ;[esp + 28] qlp_coeff[]
- ;[esp + 24] data_len
- ;[esp + 20] residual[]
-
- ;ASSERT(order > 0)
-
- push ebp
- push ebx
- push esi
- push edi
-
- mov esi, [esp + 20]
- mov edi, [esp + 40]
- mov eax, [esp + 32]
- mov ebx, [esp + 24]
-
- test ebx, ebx
- jz near .end ; do nothing if data_len == 0
- cmp eax, byte 4
- jb near FLAC__lpc_restore_signal_asm_ia32.begin
-
- mov edx, [esp + 28]
- movd mm6, [esp + 36]
- mov ebp, esp
-
- and esp, 0xfffffff8
-
- xor ecx, ecx
-.copy_qlp_loop:
- push word [edx + 4 * ecx]
- inc ecx
- cmp ecx, eax
- jnz short .copy_qlp_loop
-
- and ecx, 0x3
- test ecx, ecx
- je short .za_end
- sub ecx, byte 4
-.za_loop:
- push word 0
- inc eax
- inc ecx
- jnz short .za_loop
-.za_end:
-
- movq mm5, [esp + 2 * eax - 8]
- movd mm4, [edi - 16]
- punpckldq mm4, [edi - 12]
- movd mm0, [edi - 8]
- punpckldq mm0, [edi - 4]
- packssdw mm4, mm0
-
- cmp eax, byte 4
- jnbe short .mmx_4more
-
- ALIGN 16
-.mmx_4_loop_i:
- movq mm7, mm4
- pmaddwd mm7, mm5
- movq mm0, mm7
- punpckhdq mm7, mm7
- paddd mm7, mm0
- psrad mm7, mm6
- movd mm1, [esi]
- paddd mm7, mm1
- movd [edi], mm7
- psllq mm7, 48
- psrlq mm4, 16
- por mm4, mm7
-
- add esi, byte 4
- add edi, byte 4
-
- dec ebx
- jnz .mmx_4_loop_i
- jmp .mmx_end
-.mmx_4more:
- shl eax, 2
- neg eax
- add eax, byte 16
- ALIGN 16
-.mmx_4more_loop_i:
- mov ecx, edi
- add ecx, eax
- mov edx, esp
-
- movq mm7, mm4
- pmaddwd mm7, mm5
-
- ALIGN 16
-.mmx_4more_loop_j:
- movd mm0, [ecx - 16]
- punpckldq mm0, [ecx - 12]
- movd mm1, [ecx - 8]
- punpckldq mm1, [ecx - 4]
- packssdw mm0, mm1
- pmaddwd mm0, [edx]
- paddd mm7, mm0
-
- add edx, byte 8
- add ecx, byte 16
- cmp ecx, edi
- jnz .mmx_4more_loop_j
-
- movq mm0, mm7
- punpckhdq mm7, mm7
- paddd mm7, mm0
- psrad mm7, mm6
- movd mm1, [esi]
- paddd mm7, mm1
- movd [edi], mm7
- psllq mm7, 48
- psrlq mm4, 16
- por mm4, mm7
-
- add esi, byte 4
- add edi, byte 4
-
- dec ebx
- jnz short .mmx_4more_loop_i
-.mmx_end:
- emms
- mov esp, ebp
-
-.end:
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-
-end
-
-%ifdef OBJ_FORMAT_elf
- section .note.GNU-stack noalloc
-%endif
diff --git a/3rdparty/libflac/src/libFLAC/ia32/nasm.h b/3rdparty/libflac/src/libFLAC/ia32/nasm.h
deleted file mode 100644
index 215498d811e..00000000000
--- a/3rdparty/libflac/src/libFLAC/ia32/nasm.h
+++ /dev/null
@@ -1,75 +0,0 @@
-; libFLAC - Free Lossless Audio Codec library
-; Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-;
-; Redistribution and use in source and binary forms, with or without
-; modification, are permitted provided that the following conditions
-; are met:
-;
-; - Redistributions of source code must retain the above copyright
-; notice, this list of conditions and the following disclaimer.
-;
-; - Redistributions in binary form must reproduce the above copyright
-; notice, this list of conditions and the following disclaimer in the
-; documentation and/or other materials provided with the distribution.
-;
-; - Neither the name of the Xiph.org Foundation nor the names of its
-; contributors may be used to endorse or promote products derived from
-; this software without specific prior written permission.
-;
-; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-; ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
-; CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- bits 32
-
-%ifdef OBJ_FORMAT_win32
- %define FLAC__PUBLIC_NEEDS_UNDERSCORE
- %idefine code_section section .text align=16 class=CODE use32
- %idefine data_section section .data align=32 class=DATA use32
- %idefine bss_section section .bss align=32 class=DATA use32
-%elifdef OBJ_FORMAT_aout
- %define FLAC__PUBLIC_NEEDS_UNDERSCORE
- %idefine code_section section .text
- %idefine data_section section .data
- %idefine bss_section section .bss
-%elifdef OBJ_FORMAT_aoutb
- %define FLAC__PUBLIC_NEEDS_UNDERSCORE
- %idefine code_section section .text
- %idefine data_section section .data
- %idefine bss_section section .bss
-%elifdef OBJ_FORMAT_elf
- %idefine code_section section .text align=16
- %idefine data_section section .data align=32
- %idefine bss_section section .bss align=32
-%else
- %error unsupported object format!
-%endif
-
-%imacro cglobal 1
- %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
- global _%1
- %else
- global %1
- %endif
-%endmacro
-
-%imacro cextern 1
- %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
- extern _%1
- %else
- extern %1
- %endif
-%endmacro
-
-%imacro cident 1
-_%1:
-%1:
-%endmacro
diff --git a/3rdparty/libflac/src/libFLAC/ia32/stream_encoder_asm.nasm b/3rdparty/libflac/src/libFLAC/ia32/stream_encoder_asm.nasm
deleted file mode 100644
index b7ecef8cd94..00000000000
--- a/3rdparty/libflac/src/libFLAC/ia32/stream_encoder_asm.nasm
+++ /dev/null
@@ -1,159 +0,0 @@
-; vim:filetype=nasm ts=8
-
-; libFLAC - Free Lossless Audio Codec library
-; Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-;
-; Redistribution and use in source and binary forms, with or without
-; modification, are permitted provided that the following conditions
-; are met:
-;
-; - Redistributions of source code must retain the above copyright
-; notice, this list of conditions and the following disclaimer.
-;
-; - Redistributions in binary form must reproduce the above copyright
-; notice, this list of conditions and the following disclaimer in the
-; documentation and/or other materials provided with the distribution.
-;
-; - Neither the name of the Xiph.org Foundation nor the names of its
-; contributors may be used to endorse or promote products derived from
-; this software without specific prior written permission.
-;
-; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-; ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
-; CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-%include "nasm.h"
-
- data_section
-
-cglobal precompute_partition_info_sums_32bit_asm_ia32_
-
- code_section
-
-
-; **********************************************************************
-;
-; void FLAC__bool FLAC__bitreader_read_rice_signed_block(FLAC__BitReader *br, int vals[], unsigned nvals, unsigned parameter)
-; void precompute_partition_info_sums_32bit_(
-; const FLAC__int32 residual[],
-; FLAC__uint64 abs_residual_partition_sums[],
-; unsigned blocksize,
-; unsigned predictor_order,
-; unsigned min_partition_order,
-; unsigned max_partition_order
-; )
-;
- ALIGN 16
-cident precompute_partition_info_sums_32bit_asm_ia32_
-
- ;; peppered throughout the code at major checkpoints are keys like this as to where things are at that point in time
- ;; [esp + 4] const FLAC__int32 residual[]
- ;; [esp + 8] FLAC__uint64 abs_residual_partition_sums[]
- ;; [esp + 12] unsigned blocksize
- ;; [esp + 16] unsigned predictor_order
- ;; [esp + 20] unsigned min_partition_order
- ;; [esp + 24] unsigned max_partition_order
- push ebp
- push ebx
- push esi
- push edi
- sub esp, 8
- ;; [esp + 28] const FLAC__int32 residual[]
- ;; [esp + 32] FLAC__uint64 abs_residual_partition_sums[]
- ;; [esp + 36] unsigned blocksize
- ;; [esp + 40] unsigned predictor_order
- ;; [esp + 44] unsigned min_partition_order
- ;; [esp + 48] unsigned max_partition_order
- ;; [esp] partitions
- ;; [esp + 4] default_partition_samples
-
- mov ecx, [esp + 48]
- mov eax, 1
- shl eax, cl
- mov [esp], eax ; [esp] <- partitions = 1u << max_partition_order;
- mov eax, [esp + 36]
- shr eax, cl
- mov [esp + 4], eax ; [esp + 4] <- default_partition_samples = blocksize >> max_partition_order;
-
- ;
- ; first do max_partition_order
- ;
- mov edi, [esp + 4]
- sub edi, [esp + 40] ; edi <- end = (unsigned)(-(int)predictor_order) + default_partition_samples
- xor esi, esi ; esi <- residual_sample = 0
- xor ecx, ecx ; ecx <- partition = 0
- mov ebp, [esp + 28] ; ebp <- residual[]
- xor ebx, ebx ; ebx <- abs_residual_partition_sum = 0;
- ; note we put the updates to 'end' and 'abs_residual_partition_sum' at the end of loop0 and in the initialization above so we could align loop0 and loop1
- ALIGN 16
-.loop0: ; for(partition = residual_sample = 0; partition < partitions; partition++) {
-.loop1: ; for( ; residual_sample < end; residual_sample++)
- mov eax, [ebp + esi * 4]
- cdq
- xor eax, edx
- sub eax, edx
- add ebx, eax ; abs_residual_partition_sum += abs(residual[residual_sample]);
- ;@@@@@@ check overflow flag and abort here?
- add esi, byte 1
- cmp esi, edi ; /* since the loop will always run at least once, we can put the loop check down here */
- jb .loop1
-.next1:
- add edi, [esp + 4] ; end += default_partition_samples;
- mov eax, [esp + 32]
- mov [eax + ecx * 8], ebx ; abs_residual_partition_sums[partition] = abs_residual_partition_sum;
- mov [eax + ecx * 8 + 4], dword 0
- xor ebx, ebx ; abs_residual_partition_sum = 0;
- add ecx, byte 1
- cmp ecx, [esp] ; /* since the loop will always run at least once, we can put the loop check down here */
- jb .loop0
-.next0: ; }
- ;
- ; now merge partitions for lower orders
- ;
- mov esi, [esp + 32] ; esi <- abs_residual_partition_sums[from_partition==0];
- mov eax, [esp]
- lea edi, [esi + eax * 8] ; edi <- abs_residual_partition_sums[to_partition==partitions];
- mov ecx, [esp + 48]
- sub ecx, byte 1 ; ecx <- partition_order = (int)max_partition_order - 1;
- ALIGN 16
-.loop2: ; for(; partition_order >= (int)min_partition_order; partition_order--) {
- cmp ecx, [esp + 44]
- jl .next2
- mov edx, 1
- shl edx, cl ; const unsigned partitions = 1u << partition_order;
- ALIGN 16
-.loop3: ; for(i = 0; i < partitions; i++) {
- mov eax, [esi]
- mov ebx, [esi + 4]
- add eax, [esi + 8]
- adc ebx, [esi + 12]
- mov [edi], eax
- mov [edi + 4], ebx ; a_r_p_s[to_partition] = a_r_p_s[from_partition] + a_r_p_s[from_partition+1];
- add esi, byte 16
- add edi, byte 8
- sub edx, byte 1
- jnz .loop3 ; }
- sub ecx, byte 1
- jmp .loop2 ; }
-.next2:
-
- add esp, 8
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-
-end
-
-%ifdef OBJ_FORMAT_elf
- section .note.GNU-stack noalloc
-%endif
diff --git a/3rdparty/libflac/src/libFLAC/include/Makefile.am b/3rdparty/libflac/src/libFLAC/include/Makefile.am
index 866a8948e30..8484d1284ba 100644
--- a/3rdparty/libflac/src/libFLAC/include/Makefile.am
+++ b/3rdparty/libflac/src/libFLAC/include/Makefile.am
@@ -1,5 +1,6 @@
# libFLAC - Free Lossless Audio Codec library
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
diff --git a/3rdparty/libflac/src/libFLAC/include/Makefile.in b/3rdparty/libflac/src/libFLAC/include/Makefile.in
index ae91c1e7f83..b59a2cb5741 100644
--- a/3rdparty/libflac/src/libFLAC/include/Makefile.in
+++ b/3rdparty/libflac/src/libFLAC/include/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,8 @@
@SET_MAKE@
# libFLAC - Free Lossless Audio Codec library
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -43,17 +44,67 @@
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -65,12 +116,114 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = src/libFLAC/include
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -79,182 +232,176 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
SUBDIRS = private protected
-subdir = src/libFLAC/include
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/libFLAC/include/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/libFLAC/include/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/libFLAC/include/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -262,21 +409,26 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -284,152 +436,131 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
+ empty_fix=.; \
else \
include_option=--include; \
+ empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -439,7 +570,6 @@ check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
-
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@@ -450,16 +580,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -470,25 +606,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
+html: html-recursive
+
+html-am:
+
info: info-recursive
info-am:
install-data-am:
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-recursive
+
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -507,26 +664,25 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/src/libFLAC/include/config.h b/3rdparty/libflac/src/libFLAC/include/config.h
index d9f49ff504b..a0b24186c99 100644
--- a/3rdparty/libflac/src/libFLAC/include/config.h
+++ b/3rdparty/libflac/src/libFLAC/include/config.h
@@ -1 +1,25 @@
-#define VERSION "1.2.1" \ No newline at end of file
+#if defined(__i386__) || defined(_M_IX86)
+#define FLAC__CPU_IA32
+#endif
+
+#if defined(__x86_64__) || defined(_M_X64)
+#define FLAC__CPU_X86_64
+#endif
+
+#if defined(__i386__) || defined(__x86_64__) || defined(_M_IX86) || defined(_M_X64)
+#define FLAC__ALIGN_MALLOC_DATA
+#define FLAC__HAS_X86INTRIN 1
+#else
+#define FLAC__HAS_X86INTRIN 0
+#endif
+
+#if defined(__aarch64__) || defined(_M_ARM64)
+#define FLAC__CPU_ARM64
+#define FLAC__HAS_NEONINTRIN 1
+#define FLAC__HAS_A64NEONINTRIN 1
+#else
+#define FLAC__HAS_NEONINTRIN 0
+#define FLAC__HAS_A64NEONINTRIN 0
+#endif
+
+#define PACKAGE_VERSION "1.4.3"
diff --git a/3rdparty/libflac/src/libFLAC/include/private/Makefile.am b/3rdparty/libflac/src/libFLAC/include/private/Makefile.am
index e8abc582fcf..3e63d310883 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/Makefile.am
+++ b/3rdparty/libflac/src/libFLAC/include/private/Makefile.am
@@ -1,5 +1,6 @@
# libFLAC - Free Lossless Audio Codec library
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -39,6 +40,7 @@ noinst_HEADERS = \
float.h \
format.h \
lpc.h \
+ macros.h \
md5.h \
memory.h \
metadata.h \
@@ -46,5 +48,6 @@ noinst_HEADERS = \
ogg_encoder_aspect.h \
ogg_helper.h \
ogg_mapping.h \
+ stream_encoder.h \
stream_encoder_framing.h \
window.h
diff --git a/3rdparty/libflac/src/libFLAC/include/private/Makefile.in b/3rdparty/libflac/src/libFLAC/include/private/Makefile.in
index 456024205a7..475175fdc78 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/Makefile.in
+++ b/3rdparty/libflac/src/libFLAC/include/private/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,8 @@
@SET_MAKE@
# libFLAC - Free Lossless Audio Codec library
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -44,16 +45,67 @@
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -65,12 +117,74 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = src/libFLAC/include/private
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+ $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+HEADERS = $(noinst_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -79,159 +193,143 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
noinst_HEADERS = \
all.h \
bitmath.h \
@@ -243,6 +341,7 @@ noinst_HEADERS = \
float.h \
format.h \
lpc.h \
+ macros.h \
md5.h \
memory.h \
metadata.h \
@@ -250,26 +349,42 @@ noinst_HEADERS = \
ogg_encoder_aspect.h \
ogg_helper.h \
ogg_mapping.h \
+ stream_encoder.h \
stream_encoder_framing.h \
window.h
-subdir = src/libFLAC/include/private
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-HEADERS = $(noinst_HEADERS)
-
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.in Makefile.am
all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/libFLAC/include/private/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/libFLAC/include/private/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/libFLAC/include/private/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -277,99 +392,93 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(HEADERS)
-
installdirs:
install: install-am
install-exec: install-exec-am
@@ -381,16 +490,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -401,25 +516,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -438,17 +574,25 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool ctags distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am info \
- info-am install install-am install-data install-data-am \
- install-exec install-exec-am install-info install-info-am \
- install-man install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
- ps ps-am tags uninstall uninstall-am uninstall-info-am
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool cscopelist-am ctags ctags-am distclean \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/src/libFLAC/include/private/all.h b/3rdparty/libflac/src/libFLAC/include/private/all.h
index 304c471a52a..10b6949528f 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/all.h
+++ b/3rdparty/libflac/src/libFLAC/include/private/all.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/3rdparty/libflac/src/libFLAC/include/private/bitmath.h b/3rdparty/libflac/src/libFLAC/include/private/bitmath.h
index 87fa0facd6b..12e062f88c5 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/bitmath.h
+++ b/3rdparty/libflac/src/libFLAC/include/private/bitmath.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -33,10 +34,177 @@
#define FLAC__PRIVATE__BITMATH_H
#include "FLAC/ordinals.h"
+#include "FLAC/assert.h"
-unsigned FLAC__bitmath_ilog2(FLAC__uint32 v);
-unsigned FLAC__bitmath_ilog2_wide(FLAC__uint64 v);
-unsigned FLAC__bitmath_silog2(int v);
-unsigned FLAC__bitmath_silog2_wide(FLAC__int64 v);
+#include "share/compat.h"
+
+#if defined(_MSC_VER)
+#include <intrin.h> /* for _BitScanReverse* */
+#endif
+
+/* Will never be emitted for MSVC, GCC, Intel compilers */
+static inline uint32_t FLAC__clz_soft_uint32(FLAC__uint32 word)
+{
+ static const uint8_t byte_to_unary_table[] = {
+ 8, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+
+ return word > 0xffffff ? byte_to_unary_table[word >> 24] :
+ word > 0xffff ? byte_to_unary_table[word >> 16] + 8 :
+ word > 0xff ? byte_to_unary_table[word >> 8] + 16 :
+ byte_to_unary_table[word] + 24;
+}
+
+static inline uint32_t FLAC__clz_uint32(FLAC__uint32 v)
+{
+/* Never used with input 0 */
+ FLAC__ASSERT(v > 0);
+#if defined(__INTEL_COMPILER)
+ return _bit_scan_reverse(v) ^ 31U;
+#elif defined(__GNUC__) && (__GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
+/* This will translate either to (bsr ^ 31U), clz , ctlz, cntlz, lzcnt depending on
+ * -march= setting or to a software routine in exotic machines. */
+ return __builtin_clz(v);
+#elif defined(_MSC_VER)
+ {
+ uint32_t idx;
+ _BitScanReverse(&idx, v);
+ return idx ^ 31U;
+ }
+#else
+ return FLAC__clz_soft_uint32(v);
+#endif
+}
+
+/* Used when 64-bit bsr/clz is unavailable; can use 32-bit bsr/clz when possible */
+static inline uint32_t FLAC__clz_soft_uint64(FLAC__uint64 word)
+{
+ return (FLAC__uint32)(word>>32) ? FLAC__clz_uint32((FLAC__uint32)(word>>32)) :
+ FLAC__clz_uint32((FLAC__uint32)word) + 32;
+}
+
+static inline uint32_t FLAC__clz_uint64(FLAC__uint64 v)
+{
+ /* Never used with input 0 */
+ FLAC__ASSERT(v > 0);
+#if defined(__GNUC__) && (__GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
+ return __builtin_clzll(v);
+#elif (defined(__INTEL_COMPILER) || defined(_MSC_VER)) && (defined(_M_IA64) || defined(_M_X64))
+ {
+ uint32_t idx;
+ _BitScanReverse64(&idx, v);
+ return idx ^ 63U;
+ }
+#else
+ return FLAC__clz_soft_uint64(v);
+#endif
+}
+
+/* These two functions work with input 0 */
+static inline uint32_t FLAC__clz2_uint32(FLAC__uint32 v)
+{
+ if (!v)
+ return 32;
+ return FLAC__clz_uint32(v);
+}
+
+static inline uint32_t FLAC__clz2_uint64(FLAC__uint64 v)
+{
+ if (!v)
+ return 64;
+ return FLAC__clz_uint64(v);
+}
+
+/* An example of what FLAC__bitmath_ilog2() computes:
+ *
+ * ilog2( 0) = assertion failure
+ * ilog2( 1) = 0
+ * ilog2( 2) = 1
+ * ilog2( 3) = 1
+ * ilog2( 4) = 2
+ * ilog2( 5) = 2
+ * ilog2( 6) = 2
+ * ilog2( 7) = 2
+ * ilog2( 8) = 3
+ * ilog2( 9) = 3
+ * ilog2(10) = 3
+ * ilog2(11) = 3
+ * ilog2(12) = 3
+ * ilog2(13) = 3
+ * ilog2(14) = 3
+ * ilog2(15) = 3
+ * ilog2(16) = 4
+ * ilog2(17) = 4
+ * ilog2(18) = 4
+ */
+
+static inline uint32_t FLAC__bitmath_ilog2(FLAC__uint32 v)
+{
+ FLAC__ASSERT(v > 0);
+#if defined(__INTEL_COMPILER)
+ return _bit_scan_reverse(v);
+#elif defined(_MSC_VER)
+ {
+ uint32_t idx;
+ _BitScanReverse(&idx, v);
+ return idx;
+ }
+#else
+ return FLAC__clz_uint32(v) ^ 31U;
+#endif
+}
+
+static inline uint32_t FLAC__bitmath_ilog2_wide(FLAC__uint64 v)
+{
+ FLAC__ASSERT(v > 0);
+#if defined(__GNUC__) && (__GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
+ return __builtin_clzll(v) ^ 63U;
+/* Sorry, only supported in x64/Itanium.. and both have fast FPU which makes integer-only encoder pointless */
+#elif (defined(__INTEL_COMPILER) || defined(_MSC_VER)) && (defined(_M_IA64) || defined(_M_X64))
+ {
+ uint32_t idx;
+ _BitScanReverse64(&idx, v);
+ return idx;
+ }
+#else
+/* Brain-damaged compilers will use the fastest possible way that is,
+ de Bruijn sequences (http://supertech.csail.mit.edu/papers/debruijn.pdf)
+ (C) Timothy B. Terriberry (tterribe@xiph.org) 2001-2009 CC0 (Public domain).
+*/
+ {
+ static const uint8_t DEBRUIJN_IDX64[64]={
+ 0, 1, 2, 7, 3,13, 8,19, 4,25,14,28, 9,34,20,40,
+ 5,17,26,38,15,46,29,48,10,31,35,54,21,50,41,57,
+ 63, 6,12,18,24,27,33,39,16,37,45,47,30,53,49,56,
+ 62,11,23,32,36,44,52,55,61,22,43,51,60,42,59,58
+ };
+ v|= v>>1;
+ v|= v>>2;
+ v|= v>>4;
+ v|= v>>8;
+ v|= v>>16;
+ v|= v>>32;
+ v= (v>>1)+1;
+ return DEBRUIJN_IDX64[v*FLAC__U64L(0x218A392CD3D5DBF)>>58&0x3F];
+ }
+#endif
+}
+
+uint32_t FLAC__bitmath_silog2(FLAC__int64 v);
#endif
diff --git a/3rdparty/libflac/src/libFLAC/include/private/bitreader.h b/3rdparty/libflac/src/libFLAC/include/private/bitreader.h
index fd0f6aac6ce..c36c9266102 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/bitreader.h
+++ b/3rdparty/libflac/src/libFLAC/include/private/bitreader.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -49,10 +50,11 @@ typedef FLAC__bool (*FLAC__BitReaderReadCallback)(FLAC__byte buffer[], size_t *b
*/
FLAC__BitReader *FLAC__bitreader_new(void);
void FLAC__bitreader_delete(FLAC__BitReader *br);
-FLAC__bool FLAC__bitreader_init(FLAC__BitReader *br, FLAC__CPUInfo cpu, FLAC__BitReaderReadCallback rcb, void *cd);
+FLAC__bool FLAC__bitreader_init(FLAC__BitReader *br, FLAC__BitReaderReadCallback rcb, void *cd);
void FLAC__bitreader_free(FLAC__BitReader *br); /* does not 'free(br)' */
FLAC__bool FLAC__bitreader_clear(FLAC__BitReader *br);
-void FLAC__bitreader_dump(const FLAC__BitReader *br, FILE *out);
+void FLAC__bitreader_set_framesync_location(FLAC__BitReader *br);
+FLAC__bool FLAC__bitreader_rewind_to_after_last_seen_framesync(FLAC__BitReader *br);
/*
* CRC functions
@@ -64,36 +66,36 @@ FLAC__uint16 FLAC__bitreader_get_read_crc16(FLAC__BitReader *br);
* info functions
*/
FLAC__bool FLAC__bitreader_is_consumed_byte_aligned(const FLAC__BitReader *br);
-unsigned FLAC__bitreader_bits_left_for_byte_alignment(const FLAC__BitReader *br);
-unsigned FLAC__bitreader_get_input_bits_unconsumed(const FLAC__BitReader *br);
+uint32_t FLAC__bitreader_bits_left_for_byte_alignment(const FLAC__BitReader *br);
+uint32_t FLAC__bitreader_get_input_bits_unconsumed(const FLAC__BitReader *br);
+void FLAC__bitreader_set_limit(FLAC__BitReader *br, uint32_t limit);
+void FLAC__bitreader_remove_limit(FLAC__BitReader *br);
+uint32_t FLAC__bitreader_limit_remaining(FLAC__BitReader *br);
+void FLAC__bitreader_limit_invalidate(FLAC__BitReader *br);
/*
* read functions
*/
-FLAC__bool FLAC__bitreader_read_raw_uint32(FLAC__BitReader *br, FLAC__uint32 *val, unsigned bits);
-FLAC__bool FLAC__bitreader_read_raw_int32(FLAC__BitReader *br, FLAC__int32 *val, unsigned bits);
-FLAC__bool FLAC__bitreader_read_raw_uint64(FLAC__BitReader *br, FLAC__uint64 *val, unsigned bits);
+FLAC__bool FLAC__bitreader_read_raw_uint32(FLAC__BitReader *br, FLAC__uint32 *val, uint32_t bits);
+FLAC__bool FLAC__bitreader_read_raw_int32(FLAC__BitReader *br, FLAC__int32 *val, uint32_t bits);
+FLAC__bool FLAC__bitreader_read_raw_uint64(FLAC__BitReader *br, FLAC__uint64 *val, uint32_t bits);
+FLAC__bool FLAC__bitreader_read_raw_int64(FLAC__BitReader *br, FLAC__int64 *val, uint32_t bits);
FLAC__bool FLAC__bitreader_read_uint32_little_endian(FLAC__BitReader *br, FLAC__uint32 *val); /*only for bits=32*/
-FLAC__bool FLAC__bitreader_skip_bits_no_crc(FLAC__BitReader *br, unsigned bits); /* WATCHOUT: does not CRC the skipped data! */ /*@@@@ add to unit tests */
-FLAC__bool FLAC__bitreader_skip_byte_block_aligned_no_crc(FLAC__BitReader *br, unsigned nvals); /* WATCHOUT: does not CRC the read data! */
-FLAC__bool FLAC__bitreader_read_byte_block_aligned_no_crc(FLAC__BitReader *br, FLAC__byte *val, unsigned nvals); /* WATCHOUT: does not CRC the read data! */
-FLAC__bool FLAC__bitreader_read_unary_unsigned(FLAC__BitReader *br, unsigned *val);
-FLAC__bool FLAC__bitreader_read_rice_signed(FLAC__BitReader *br, int *val, unsigned parameter);
-FLAC__bool FLAC__bitreader_read_rice_signed_block(FLAC__BitReader *br, int vals[], unsigned nvals, unsigned parameter);
-#ifndef FLAC__NO_ASM
-# ifdef FLAC__CPU_IA32
-# ifdef FLAC__HAS_NASM
-FLAC__bool FLAC__bitreader_read_rice_signed_block_asm_ia32_bswap(FLAC__BitReader *br, int vals[], unsigned nvals, unsigned parameter);
-# endif
-# endif
+FLAC__bool FLAC__bitreader_skip_bits_no_crc(FLAC__BitReader *br, uint32_t bits); /* WATCHOUT: does not CRC the skipped data! */ /*@@@@ add to unit tests */
+FLAC__bool FLAC__bitreader_skip_byte_block_aligned_no_crc(FLAC__BitReader *br, uint32_t nvals); /* WATCHOUT: does not CRC the read data! */
+FLAC__bool FLAC__bitreader_read_byte_block_aligned_no_crc(FLAC__BitReader *br, FLAC__byte *val, uint32_t nvals); /* WATCHOUT: does not CRC the read data! */
+FLAC__bool FLAC__bitreader_read_unary_unsigned(FLAC__BitReader *br, uint32_t *val);
+FLAC__bool FLAC__bitreader_read_rice_signed(FLAC__BitReader *br, int *val, uint32_t parameter);
+FLAC__bool FLAC__bitreader_read_rice_signed_block(FLAC__BitReader *br, int vals[], uint32_t nvals, uint32_t parameter);
+#ifdef FLAC__BMI2_SUPPORTED
+FLAC__bool FLAC__bitreader_read_rice_signed_block_bmi2(FLAC__BitReader *br, int vals[], uint32_t nvals, uint32_t parameter);
#endif
+
#if 0 /* UNUSED */
-FLAC__bool FLAC__bitreader_read_golomb_signed(FLAC__BitReader *br, int *val, unsigned parameter);
-FLAC__bool FLAC__bitreader_read_golomb_unsigned(FLAC__BitReader *br, unsigned *val, unsigned parameter);
+FLAC__bool FLAC__bitreader_read_golomb_signed(FLAC__BitReader *br, int *val, uint32_t parameter);
+FLAC__bool FLAC__bitreader_read_golomb_unsigned(FLAC__BitReader *br, uint32_t *val, uint32_t parameter);
#endif
-FLAC__bool FLAC__bitreader_read_utf8_uint32(FLAC__BitReader *br, FLAC__uint32 *val, FLAC__byte *raw, unsigned *rawlen);
-FLAC__bool FLAC__bitreader_read_utf8_uint64(FLAC__BitReader *br, FLAC__uint64 *val, FLAC__byte *raw, unsigned *rawlen);
-
-FLAC__bool bitreader_read_from_client_(FLAC__BitReader *br);
+FLAC__bool FLAC__bitreader_read_utf8_uint32(FLAC__BitReader *br, FLAC__uint32 *val, FLAC__byte *raw, uint32_t *rawlen);
+FLAC__bool FLAC__bitreader_read_utf8_uint64(FLAC__BitReader *br, FLAC__uint64 *val, FLAC__byte *raw, uint32_t *rawlen);
#endif
diff --git a/3rdparty/libflac/src/libFLAC/include/private/bitwriter.h b/3rdparty/libflac/src/libFLAC/include/private/bitwriter.h
index aa5c4f74fcb..39bcf254dcd 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/bitwriter.h
+++ b/3rdparty/libflac/src/libFLAC/include/private/bitwriter.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -49,7 +50,6 @@ void FLAC__bitwriter_delete(FLAC__BitWriter *bw);
FLAC__bool FLAC__bitwriter_init(FLAC__BitWriter *bw);
void FLAC__bitwriter_free(FLAC__BitWriter *bw); /* does not 'free(buffer)' */
void FLAC__bitwriter_clear(FLAC__BitWriter *bw);
-void FLAC__bitwriter_dump(const FLAC__BitWriter *bw, FILE *out);
/*
* CRC functions
@@ -63,7 +63,7 @@ FLAC__bool FLAC__bitwriter_get_write_crc8(FLAC__BitWriter *bw, FLAC__byte *crc);
* info functions
*/
FLAC__bool FLAC__bitwriter_is_byte_aligned(const FLAC__BitWriter *bw);
-unsigned FLAC__bitwriter_get_input_bits_unconsumed(const FLAC__BitWriter *bw); /* can be called anytime, returns total # of bits unconsumed */
+uint32_t FLAC__bitwriter_get_input_bits_unconsumed(const FLAC__BitWriter *bw); /* can be called anytime, returns total # of bits unconsumed */
/*
* direct buffer access
@@ -78,23 +78,24 @@ void FLAC__bitwriter_release_buffer(FLAC__BitWriter *bw);
/*
* write functions
*/
-FLAC__bool FLAC__bitwriter_write_zeroes(FLAC__BitWriter *bw, unsigned bits);
-FLAC__bool FLAC__bitwriter_write_raw_uint32(FLAC__BitWriter *bw, FLAC__uint32 val, unsigned bits);
-FLAC__bool FLAC__bitwriter_write_raw_int32(FLAC__BitWriter *bw, FLAC__int32 val, unsigned bits);
-FLAC__bool FLAC__bitwriter_write_raw_uint64(FLAC__BitWriter *bw, FLAC__uint64 val, unsigned bits);
+FLAC__bool FLAC__bitwriter_write_zeroes(FLAC__BitWriter *bw, uint32_t bits);
+FLAC__bool FLAC__bitwriter_write_raw_uint32(FLAC__BitWriter *bw, FLAC__uint32 val, uint32_t bits);
+FLAC__bool FLAC__bitwriter_write_raw_int32(FLAC__BitWriter *bw, FLAC__int32 val, uint32_t bits);
+FLAC__bool FLAC__bitwriter_write_raw_uint64(FLAC__BitWriter *bw, FLAC__uint64 val, uint32_t bits);
+FLAC__bool FLAC__bitwriter_write_raw_int64(FLAC__BitWriter *bw, FLAC__int64 val, uint32_t bits);
FLAC__bool FLAC__bitwriter_write_raw_uint32_little_endian(FLAC__BitWriter *bw, FLAC__uint32 val); /*only for bits=32*/
-FLAC__bool FLAC__bitwriter_write_byte_block(FLAC__BitWriter *bw, const FLAC__byte vals[], unsigned nvals);
-FLAC__bool FLAC__bitwriter_write_unary_unsigned(FLAC__BitWriter *bw, unsigned val);
-unsigned FLAC__bitwriter_rice_bits(FLAC__int32 val, unsigned parameter);
+FLAC__bool FLAC__bitwriter_write_byte_block(FLAC__BitWriter *bw, const FLAC__byte vals[], uint32_t nvals);
+FLAC__bool FLAC__bitwriter_write_unary_unsigned(FLAC__BitWriter *bw, uint32_t val);
#if 0 /* UNUSED */
-unsigned FLAC__bitwriter_golomb_bits_signed(int val, unsigned parameter);
-unsigned FLAC__bitwriter_golomb_bits_unsigned(unsigned val, unsigned parameter);
+uint32_t FLAC__bitwriter_rice_bits(FLAC__int32 val, uint32_t parameter);
+uint32_t FLAC__bitwriter_golomb_bits_signed(int val, uint32_t parameter);
+uint32_t FLAC__bitwriter_golomb_bits_unsigned(uint32_t val, uint32_t parameter);
+FLAC__bool FLAC__bitwriter_write_rice_signed(FLAC__BitWriter *bw, FLAC__int32 val, uint32_t parameter);
#endif
-FLAC__bool FLAC__bitwriter_write_rice_signed(FLAC__BitWriter *bw, FLAC__int32 val, unsigned parameter);
-FLAC__bool FLAC__bitwriter_write_rice_signed_block(FLAC__BitWriter *bw, const FLAC__int32 *vals, unsigned nvals, unsigned parameter);
+FLAC__bool FLAC__bitwriter_write_rice_signed_block(FLAC__BitWriter *bw, const FLAC__int32 *vals, uint32_t nvals, uint32_t parameter);
#if 0 /* UNUSED */
-FLAC__bool FLAC__bitwriter_write_golomb_signed(FLAC__BitWriter *bw, int val, unsigned parameter);
-FLAC__bool FLAC__bitwriter_write_golomb_unsigned(FLAC__BitWriter *bw, unsigned val, unsigned parameter);
+FLAC__bool FLAC__bitwriter_write_golomb_signed(FLAC__BitWriter *bw, int val, uint32_t parameter);
+FLAC__bool FLAC__bitwriter_write_golomb_unsigned(FLAC__BitWriter *bw, uint32_t val, uint32_t parameter);
#endif
FLAC__bool FLAC__bitwriter_write_utf8_uint32(FLAC__BitWriter *bw, FLAC__uint32 val);
FLAC__bool FLAC__bitwriter_write_utf8_uint64(FLAC__BitWriter *bw, FLAC__uint64 val);
diff --git a/3rdparty/libflac/src/libFLAC/include/private/cpu.h b/3rdparty/libflac/src/libFLAC/include/private/cpu.h
index 651bb224f2a..8843c74bfee 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/cpu.h
+++ b/3rdparty/libflac/src/libFLAC/include/private/cpu.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -38,51 +39,160 @@
#include <config.h>
#endif
+#ifndef FLAC__CPU_X86_64
+
+#if defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(_M_X64) || defined(_M_AMD64)
+#define FLAC__CPU_X86_64
+#endif
+
+#endif
+
+#ifndef FLAC__CPU_IA32
+
+#if defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) ||defined( __i386) || defined(_M_IX86)
+#define FLAC__CPU_IA32
+#endif
+
+#endif
+
+#ifndef __has_attribute
+#define __has_attribute(x) 0
+#endif
+
+#if FLAC__HAS_X86INTRIN
+/* SSE intrinsics support by ICC/MSVC/GCC */
+#if defined __INTEL_COMPILER
+ #define FLAC__SSE_TARGET(x)
+ #define FLAC__SSE_SUPPORTED 1
+ #define FLAC__SSE2_SUPPORTED 1
+ #if (__INTEL_COMPILER >= 1000) /* Intel C++ Compiler 10.0 */
+ #define FLAC__SSSE3_SUPPORTED 1
+ #define FLAC__SSE4_1_SUPPORTED 1
+ #define FLAC__SSE4_2_SUPPORTED 1
+ #endif
+ #ifdef FLAC__USE_AVX
+ #if (__INTEL_COMPILER >= 1110) /* Intel C++ Compiler 11.1 */
+ #define FLAC__AVX_SUPPORTED 1
+ #endif
+ #if (__INTEL_COMPILER >= 1300) /* Intel C++ Compiler 13.0 */
+ #define FLAC__AVX2_SUPPORTED 1
+ #define FLAC__FMA_SUPPORTED 1
+ #endif
+ #endif
+#elif defined __clang__ && __has_attribute(__target__) /* clang */
+ #define FLAC__SSE_TARGET(x) __attribute__ ((__target__ (x)))
+ #define FLAC__SSE_SUPPORTED 1
+ #define FLAC__SSE2_SUPPORTED 1
+ #define FLAC__SSSE3_SUPPORTED 1
+ #define FLAC__SSE4_1_SUPPORTED 1
+ #define FLAC__SSE4_2_SUPPORTED 1
+ #ifdef FLAC__USE_AVX
+ #define FLAC__AVX_SUPPORTED 1
+ #define FLAC__AVX2_SUPPORTED 1
+ #define FLAC__FMA_SUPPORTED 1
+ #define FLAC__BMI2_SUPPORTED 1
+ #endif
+#elif defined __GNUC__ && !defined __clang__ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 9)) /* GCC 4.9+ */
+ #define FLAC__SSE_TARGET(x) __attribute__ ((__target__ (x)))
+ #define FLAC__SSE_SUPPORTED 1
+ #define FLAC__SSE2_SUPPORTED 1
+ #define FLAC__SSSE3_SUPPORTED 1
+ #define FLAC__SSE4_1_SUPPORTED 1
+ #define FLAC__SSE4_2_SUPPORTED 1
+ #ifdef FLAC__USE_AVX
+ #define FLAC__AVX_SUPPORTED 1
+ #define FLAC__AVX2_SUPPORTED 1
+ #define FLAC__FMA_SUPPORTED 1
+ #define FLAC__BMI2_SUPPORTED 1
+ #endif
+#elif defined _MSC_VER
+ #define FLAC__SSE_TARGET(x)
+ #define FLAC__SSE_SUPPORTED 1
+ #define FLAC__SSE2_SUPPORTED 1
+ #if (_MSC_VER >= 1500) /* MS Visual Studio 2008 */
+ #define FLAC__SSSE3_SUPPORTED 1
+ #define FLAC__SSE4_1_SUPPORTED 1
+ #define FLAC__SSE4_2_SUPPORTED 1
+ #endif
+ #ifdef FLAC__USE_AVX
+ #if (_MSC_FULL_VER >= 160040219) /* MS Visual Studio 2010 SP1 */
+ #define FLAC__AVX_SUPPORTED 1
+ #endif
+ #if (_MSC_VER >= 1700) /* MS Visual Studio 2012 */
+ #define FLAC__AVX2_SUPPORTED 1
+ #define FLAC__FMA_SUPPORTED 1
+ #endif
+ #endif
+#else
+ #define FLAC__SSE_TARGET(x)
+ #ifdef __SSE__
+ #define FLAC__SSE_SUPPORTED 1
+ #endif
+ #ifdef __SSE2__
+ #define FLAC__SSE2_SUPPORTED 1
+ #endif
+ #ifdef __SSSE3__
+ #define FLAC__SSSE3_SUPPORTED 1
+ #endif
+ #ifdef __SSE4_1__
+ #define FLAC__SSE4_1_SUPPORTED 1
+ #endif
+ #ifdef __SSE4_2__
+ #define FLAC__SSE4_2_SUPPORTED 1
+ #endif
+ #ifdef FLAC__USE_AVX
+ #ifdef __AVX__
+ #define FLAC__AVX_SUPPORTED 1
+ #endif
+ #ifdef __AVX2__
+ #define FLAC__AVX2_SUPPORTED 1
+ #endif
+ #ifdef __FMA__
+ #define FLAC__FMA_SUPPORTED 1
+ #endif
+ #endif
+#endif /* compiler version */
+#endif /* intrinsics support */
+
+
+#ifndef FLAC__AVX_SUPPORTED
+#define FLAC__AVX_SUPPORTED 0
+#endif
+
typedef enum {
FLAC__CPUINFO_TYPE_IA32,
- FLAC__CPUINFO_TYPE_PPC,
+ FLAC__CPUINFO_TYPE_X86_64,
FLAC__CPUINFO_TYPE_UNKNOWN
} FLAC__CPUInfo_Type;
typedef struct {
- FLAC__bool cpuid;
- FLAC__bool bswap;
+ FLAC__bool intel;
+
FLAC__bool cmov;
FLAC__bool mmx;
- FLAC__bool fxsr;
FLAC__bool sse;
FLAC__bool sse2;
+
FLAC__bool sse3;
FLAC__bool ssse3;
- FLAC__bool _3dnow;
- FLAC__bool ext3dnow;
- FLAC__bool extmmx;
-} FLAC__CPUInfo_IA32;
-
-typedef struct {
- FLAC__bool altivec;
- FLAC__bool ppc64;
-} FLAC__CPUInfo_PPC;
+ FLAC__bool sse41;
+ FLAC__bool sse42;
+ FLAC__bool avx;
+ FLAC__bool avx2;
+ FLAC__bool fma;
+ FLAC__bool bmi2;
+} FLAC__CPUInfo_x86;
typedef struct {
FLAC__bool use_asm;
FLAC__CPUInfo_Type type;
- union {
- FLAC__CPUInfo_IA32 ia32;
- FLAC__CPUInfo_PPC ppc;
- } data;
+ FLAC__CPUInfo_x86 x86;
} FLAC__CPUInfo;
void FLAC__cpu_info(FLAC__CPUInfo *info);
-#ifndef FLAC__NO_ASM
-#ifdef FLAC__CPU_IA32
-#ifdef FLAC__HAS_NASM
FLAC__uint32 FLAC__cpu_have_cpuid_asm_ia32(void);
-void FLAC__cpu_info_asm_ia32(FLAC__uint32 *flags_edx, FLAC__uint32 *flags_ecx);
-FLAC__uint32 FLAC__cpu_info_extended_amd_asm_ia32(void);
-#endif
-#endif
-#endif
+
+void FLAC__cpu_info_asm_ia32(FLAC__uint32 level, FLAC__uint32 *eax, FLAC__uint32 *ebx, FLAC__uint32 *ecx, FLAC__uint32 *edx);
#endif
diff --git a/3rdparty/libflac/src/libFLAC/include/private/crc.h b/3rdparty/libflac/src/libFLAC/include/private/crc.h
index 0b67fb4be5d..fe445020c31 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/crc.h
+++ b/3rdparty/libflac/src/libFLAC/include/private/crc.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -38,24 +39,22 @@
** polynomial = x^8 + x^2 + x^1 + x^0
** init = 0
*/
-extern FLAC__byte const FLAC__crc8_table[256];
-#define FLAC__CRC8_UPDATE(data, crc) (crc) = FLAC__crc8_table[(crc) ^ (data)];
-void FLAC__crc8_update(const FLAC__byte data, FLAC__uint8 *crc);
-void FLAC__crc8_update_block(const FLAC__byte *data, unsigned len, FLAC__uint8 *crc);
-FLAC__uint8 FLAC__crc8(const FLAC__byte *data, unsigned len);
+FLAC__uint8 FLAC__crc8(const FLAC__byte *data, uint32_t len);
/* 16 bit CRC generator, MSB shifted first
** polynomial = x^16 + x^15 + x^2 + x^0
** init = 0
*/
-extern unsigned FLAC__crc16_table[256];
+extern FLAC__uint16 const FLAC__crc16_table[8][256];
-#define FLAC__CRC16_UPDATE(data, crc) (((((crc)<<8) & 0xffff) ^ FLAC__crc16_table[((crc)>>8) ^ (data)]))
+#define FLAC__CRC16_UPDATE(data, crc) ((((crc)<<8) & 0xffff) ^ FLAC__crc16_table[0][((crc)>>8) ^ (data)])
/* this alternate may be faster on some systems/compilers */
#if 0
-#define FLAC__CRC16_UPDATE(data, crc) ((((crc)<<8) ^ FLAC__crc16_table[((crc)>>8) ^ (data)]) & 0xffff)
+#define FLAC__CRC16_UPDATE(data, crc) ((((crc)<<8) ^ FLAC__crc16_table[0][((crc)>>8) ^ (data)]) & 0xffff)
#endif
-unsigned FLAC__crc16(const FLAC__byte *data, unsigned len);
+FLAC__uint16 FLAC__crc16(const FLAC__byte *data, uint32_t len);
+FLAC__uint16 FLAC__crc16_update_words32(const FLAC__uint32 *words, uint32_t len, FLAC__uint16 crc);
+FLAC__uint16 FLAC__crc16_update_words64(const FLAC__uint64 *words, uint32_t len, FLAC__uint16 crc);
#endif
diff --git a/3rdparty/libflac/src/libFLAC/include/private/fixed.h b/3rdparty/libflac/src/libFLAC/include/private/fixed.h
index 6656b796bec..c4efecd5f61 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/fixed.h
+++ b/3rdparty/libflac/src/libFLAC/include/private/fixed.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -36,6 +37,7 @@
#include <config.h>
#endif
+#include "private/cpu.h"
#include "private/float.h"
#include "FLAC/format.h"
@@ -52,18 +54,32 @@
* OUT residual_bits_per_sample[0,FLAC__MAX_FIXED_ORDER]
*/
#ifndef FLAC__INTEGER_ONLY_LIBRARY
-unsigned FLAC__fixed_compute_best_predictor(const FLAC__int32 data[], unsigned data_len, FLAC__float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
+uint32_t FLAC__fixed_compute_best_predictor(const FLAC__int32 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
+uint32_t FLAC__fixed_compute_best_predictor_wide(const FLAC__int32 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
+uint32_t FLAC__fixed_compute_best_predictor_limit_residual(const FLAC__int32 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
+uint32_t FLAC__fixed_compute_best_predictor_limit_residual_33bit(const FLAC__int64 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
# ifndef FLAC__NO_ASM
-# ifdef FLAC__CPU_IA32
-# ifdef FLAC__HAS_NASM
-unsigned FLAC__fixed_compute_best_predictor_asm_ia32_mmx_cmov(const FLAC__int32 data[], unsigned data_len, FLAC__float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
+# if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN
+# ifdef FLAC__SSE2_SUPPORTED
+uint32_t FLAC__fixed_compute_best_predictor_intrin_sse2(const FLAC__int32 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER + 1]);
+# endif
+# ifdef FLAC__SSSE3_SUPPORTED
+uint32_t FLAC__fixed_compute_best_predictor_intrin_ssse3(const FLAC__int32 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
+# endif
+# ifdef FLAC__SSE4_2_SUPPORTED
+uint32_t FLAC__fixed_compute_best_predictor_limit_residual_intrin_sse42(const FLAC__int32 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
+# endif
+# ifdef FLAC__AVX2_SUPPORTED
+uint32_t FLAC__fixed_compute_best_predictor_wide_intrin_avx2(const FLAC__int32 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
+uint32_t FLAC__fixed_compute_best_predictor_limit_residual_intrin_avx2(const FLAC__int32 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
# endif
# endif
# endif
-unsigned FLAC__fixed_compute_best_predictor_wide(const FLAC__int32 data[], unsigned data_len, FLAC__float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
#else
-unsigned FLAC__fixed_compute_best_predictor(const FLAC__int32 data[], unsigned data_len, FLAC__fixedpoint residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
-unsigned FLAC__fixed_compute_best_predictor_wide(const FLAC__int32 data[], unsigned data_len, FLAC__fixedpoint residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
+uint32_t FLAC__fixed_compute_best_predictor(const FLAC__int32 data[], uint32_t data_len, FLAC__fixedpoint residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
+uint32_t FLAC__fixed_compute_best_predictor_wide(const FLAC__int32 data[], uint32_t data_len, FLAC__fixedpoint residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
+uint32_t FLAC__fixed_compute_best_predictor_limit_residual(const FLAC__int32 data[], uint32_t data_len, FLAC__fixedpoint residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
+uint32_t FLAC__fixed_compute_best_predictor_limit_residual_33bit(const FLAC__int64 data[], uint32_t data_len, FLAC__fixedpoint residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
#endif
/*
@@ -77,7 +93,9 @@ unsigned FLAC__fixed_compute_best_predictor_wide(const FLAC__int32 data[], unsig
* IN order <= FLAC__MAX_FIXED_ORDER fixed-predictor order
* OUT residual[0,data_len-1] residual signal
*/
-void FLAC__fixed_compute_residual(const FLAC__int32 data[], unsigned data_len, unsigned order, FLAC__int32 residual[]);
+void FLAC__fixed_compute_residual(const FLAC__int32 data[], uint32_t data_len, uint32_t order, FLAC__int32 residual[]);
+void FLAC__fixed_compute_residual_wide(const FLAC__int32 data[], uint32_t data_len, uint32_t order, FLAC__int32 residual[]);
+void FLAC__fixed_compute_residual_wide_33bit(const FLAC__int64 data[], uint32_t data_len, uint32_t order, FLAC__int32 residual[]);
/*
* FLAC__fixed_restore_signal()
@@ -92,6 +110,8 @@ void FLAC__fixed_compute_residual(const FLAC__int32 data[], unsigned data_len, u
* IN data[-order,-1] previously-reconstructed historical samples
* OUT data[0,data_len-1] original signal
*/
-void FLAC__fixed_restore_signal(const FLAC__int32 residual[], unsigned data_len, unsigned order, FLAC__int32 data[]);
+void FLAC__fixed_restore_signal(const FLAC__int32 residual[], uint32_t data_len, uint32_t order, FLAC__int32 data[]);
+void FLAC__fixed_restore_signal_wide(const FLAC__int32 residual[], uint32_t data_len, uint32_t order, FLAC__int32 data[]);
+void FLAC__fixed_restore_signal_wide_33bit(const FLAC__int32 residual[], uint32_t data_len, uint32_t order, FLAC__int64 data[]);
#endif
diff --git a/3rdparty/libflac/src/libFLAC/include/private/float.h b/3rdparty/libflac/src/libFLAC/include/private/float.h
index 73313f6dbf8..bec26345e00 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/float.h
+++ b/3rdparty/libflac/src/libFLAC/include/private/float.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2004-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -39,18 +40,15 @@
#include "FLAC/ordinals.h"
/*
- * These typedefs make it easier to ensure that integer versions of
- * the library really only contain integer operations. All the code
- * in libFLAC should use FLAC__float and FLAC__double in place of
- * float and double, and be protected by checks of the macro
+ * All the code in libFLAC that uses float and double
+ * should be protected by checks of the macro
* FLAC__INTEGER_ONLY_LIBRARY.
*
- * FLAC__real is the basic floating point type used in LPC analysis.
*/
#ifndef FLAC__INTEGER_ONLY_LIBRARY
-typedef double FLAC__double;
-typedef float FLAC__float;
/*
+ * FLAC__real is the basic floating point type used in LPC analysis.
+ *
* WATCHOUT: changing FLAC__real will change the signatures of many
* functions that have assembly language equivalents and break them.
*/
@@ -83,14 +81,14 @@ extern const FLAC__fixedpoint FLAC__FP_E;
* be < 32 and evenly divisible by 4 (0 is OK but not very precise).
*
* 'precision' roughly limits the number of iterations that are done;
- * use (unsigned)(-1) for maximum precision.
+ * use (uint32_t)(-1) for maximum precision.
*
* If 'x' is less than one -- that is, x < (1<<fracbits) -- then this
* function will punt and return 0.
*
* The return value will also have 'fracbits' fractional bits.
*/
-FLAC__uint32 FLAC__fixedpoint_log2(FLAC__uint32 x, unsigned fracbits, unsigned precision);
+FLAC__uint32 FLAC__fixedpoint_log2(FLAC__uint32 x, uint32_t fracbits, uint32_t precision);
#endif
diff --git a/3rdparty/libflac/src/libFLAC/include/private/format.h b/3rdparty/libflac/src/libFLAC/include/private/format.h
index 7f5cc9360dc..7630f6fad5b 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/format.h
+++ b/3rdparty/libflac/src/libFLAC/include/private/format.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -34,11 +35,13 @@
#include "FLAC/format.h"
-unsigned FLAC__format_get_max_rice_partition_order(unsigned blocksize, unsigned predictor_order);
-unsigned FLAC__format_get_max_rice_partition_order_from_blocksize(unsigned blocksize);
-unsigned FLAC__format_get_max_rice_partition_order_from_blocksize_limited_max_and_predictor_order(unsigned limit, unsigned blocksize, unsigned predictor_order);
+#if 0 /* UNUSED */
+uint32_t FLAC__format_get_max_rice_partition_order(uint32_t blocksize, uint32_t predictor_order);
+#endif
+uint32_t FLAC__format_get_max_rice_partition_order_from_blocksize(uint32_t blocksize);
+uint32_t FLAC__format_get_max_rice_partition_order_from_blocksize_limited_max_and_predictor_order(uint32_t limit, uint32_t blocksize, uint32_t predictor_order);
void FLAC__format_entropy_coding_method_partitioned_rice_contents_init(FLAC__EntropyCodingMethod_PartitionedRiceContents *object);
void FLAC__format_entropy_coding_method_partitioned_rice_contents_clear(FLAC__EntropyCodingMethod_PartitionedRiceContents *object);
-FLAC__bool FLAC__format_entropy_coding_method_partitioned_rice_contents_ensure_size(FLAC__EntropyCodingMethod_PartitionedRiceContents *object, unsigned max_partition_order);
+FLAC__bool FLAC__format_entropy_coding_method_partitioned_rice_contents_ensure_size(FLAC__EntropyCodingMethod_PartitionedRiceContents *object, uint32_t max_partition_order);
#endif
diff --git a/3rdparty/libflac/src/libFLAC/include/private/lpc.h b/3rdparty/libflac/src/libFLAC/include/private/lpc.h
index 2cb139b4bfd..766f0560ea7 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/lpc.h
+++ b/3rdparty/libflac/src/libFLAC/include/private/lpc.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -36,6 +37,7 @@
#include <config.h>
#endif
+#include "private/cpu.h"
#include "private/float.h"
#include "FLAC/format.h"
@@ -52,7 +54,10 @@
* OUT out[0,lag-1]
* IN data_len
*/
-void FLAC__lpc_window_data(const FLAC__int32 in[], const FLAC__real window[], FLAC__real out[], unsigned data_len);
+void FLAC__lpc_window_data(const FLAC__int32 in[], const FLAC__real window[], FLAC__real out[], uint32_t data_len);
+void FLAC__lpc_window_data_wide(const FLAC__int64 in[], const FLAC__real window[], FLAC__real out[], uint32_t data_len);
+void FLAC__lpc_window_data_partial(const FLAC__int32 in[], const FLAC__real window[], FLAC__real out[], uint32_t data_len, uint32_t part_size, uint32_t data_shift);
+void FLAC__lpc_window_data_partial_wide(const FLAC__int64 in[], const FLAC__real window[], FLAC__real out[], uint32_t data_len, uint32_t part_size, uint32_t data_shift);
/*
* FLAC__lpc_compute_autocorrelation()
@@ -66,18 +71,28 @@ void FLAC__lpc_window_data(const FLAC__int32 in[], const FLAC__real window[], FL
* IN 0 < lag <= data_len
* OUT autoc[0,lag-1]
*/
-void FLAC__lpc_compute_autocorrelation(const FLAC__real data[], unsigned data_len, unsigned lag, FLAC__real autoc[]);
+void FLAC__lpc_compute_autocorrelation(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[]);
#ifndef FLAC__NO_ASM
-# ifdef FLAC__CPU_IA32
-# ifdef FLAC__HAS_NASM
-void FLAC__lpc_compute_autocorrelation_asm_ia32(const FLAC__real data[], unsigned data_len, unsigned lag, FLAC__real autoc[]);
-void FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_4(const FLAC__real data[], unsigned data_len, unsigned lag, FLAC__real autoc[]);
-void FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_8(const FLAC__real data[], unsigned data_len, unsigned lag, FLAC__real autoc[]);
-void FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_12(const FLAC__real data[], unsigned data_len, unsigned lag, FLAC__real autoc[]);
-void FLAC__lpc_compute_autocorrelation_asm_ia32_3dnow(const FLAC__real data[], unsigned data_len, unsigned lag, FLAC__real autoc[]);
+# if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN
+# ifdef FLAC__SSE2_SUPPORTED
+void FLAC__lpc_compute_autocorrelation_intrin_sse2_lag_8(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[]);
+void FLAC__lpc_compute_autocorrelation_intrin_sse2_lag_10(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[]);
+void FLAC__lpc_compute_autocorrelation_intrin_sse2_lag_14(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[]);
# endif
# endif
+# if defined FLAC__CPU_X86_64 && FLAC__HAS_X86INTRIN
+# ifdef FLAC__FMA_SUPPORTED
+void FLAC__lpc_compute_autocorrelation_intrin_fma_lag_8(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[]);
+void FLAC__lpc_compute_autocorrelation_intrin_fma_lag_12(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[]);
+void FLAC__lpc_compute_autocorrelation_intrin_fma_lag_16(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[]);
+# endif
+# endif
+#if defined FLAC__CPU_ARM64 && FLAC__HAS_NEONINTRIN && FLAC__HAS_A64NEONINTRIN
+void FLAC__lpc_compute_autocorrelation_intrin_neon_lag_8(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[]);
+void FLAC__lpc_compute_autocorrelation_intrin_neon_lag_10(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[]);
+void FLAC__lpc_compute_autocorrelation_intrin_neon_lag_14(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[]);
#endif
+#endif /* FLAC__NO_ASM */
/*
* FLAC__lpc_compute_lp_coefficients()
@@ -100,7 +115,7 @@ void FLAC__lpc_compute_autocorrelation_asm_ia32_3dnow(const FLAC__real data[], u
* in lp_coeff[8][0,8], the LP coefficients for order 8 will be
* in lp_coeff[7][0,7], etc.
*/
-void FLAC__lpc_compute_lp_coefficients(const FLAC__real autoc[], unsigned *max_order, FLAC__real lp_coeff[][FLAC__MAX_LPC_ORDER], FLAC__double error[]);
+void FLAC__lpc_compute_lp_coefficients(const double autoc[], uint32_t *max_order, FLAC__real lp_coeff[][FLAC__MAX_LPC_ORDER], double error[]);
/*
* FLAC__lpc_quantize_coefficients()
@@ -122,7 +137,7 @@ void FLAC__lpc_compute_lp_coefficients(const FLAC__real autoc[], unsigned *max_o
* 2 => coefficients are all zero, which is bad. 'shift' is
* unset.
*/
-int FLAC__lpc_quantize_coefficients(const FLAC__real lp_coeff[], unsigned order, unsigned precision, FLAC__int32 qlp_coeff[], int *shift);
+int FLAC__lpc_quantize_coefficients(const FLAC__real lp_coeff[], uint32_t order, uint32_t precision, FLAC__int32 qlp_coeff[], int *shift);
/*
* FLAC__lpc_compute_residual_from_qlp_coefficients()
@@ -137,19 +152,38 @@ int FLAC__lpc_quantize_coefficients(const FLAC__real lp_coeff[], unsigned order,
* IN lp_quantization quantization of LP coefficients in bits
* OUT residual[0,data_len-1] residual signal
*/
-void FLAC__lpc_compute_residual_from_qlp_coefficients(const FLAC__int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 residual[]);
-void FLAC__lpc_compute_residual_from_qlp_coefficients_wide(const FLAC__int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 residual[]);
+void FLAC__lpc_compute_residual_from_qlp_coefficients(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[]);
+void FLAC__lpc_compute_residual_from_qlp_coefficients_wide(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[]);
+FLAC__bool FLAC__lpc_compute_residual_from_qlp_coefficients_limit_residual(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[]);
+FLAC__bool FLAC__lpc_compute_residual_from_qlp_coefficients_limit_residual_33bit(const FLAC__int64 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[]);
#ifndef FLAC__NO_ASM
-# ifdef FLAC__CPU_IA32
-# ifdef FLAC__HAS_NASM
-void FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32(const FLAC__int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 residual[]);
-void FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32_mmx(const FLAC__int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 residual[]);
+# ifdef FLAC__CPU_ARM64
+void FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_neon(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[]);
+void FLAC__lpc_compute_residual_from_qlp_coefficients_wide_intrin_neon(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[]);
+# endif
+
+# if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN
+# ifdef FLAC__SSE2_SUPPORTED
+void FLAC__lpc_compute_residual_from_qlp_coefficients_16_intrin_sse2(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[]);
+void FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_sse2(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[]);
+# endif
+# ifdef FLAC__SSE4_1_SUPPORTED
+void FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_sse41(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[]);
+void FLAC__lpc_compute_residual_from_qlp_coefficients_wide_intrin_sse41(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[]);
+# endif
+# ifdef FLAC__AVX2_SUPPORTED
+void FLAC__lpc_compute_residual_from_qlp_coefficients_16_intrin_avx2(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[]);
+void FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_avx2(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[]);
+void FLAC__lpc_compute_residual_from_qlp_coefficients_wide_intrin_avx2(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[]);
# endif
# endif
#endif
#endif /* !defined FLAC__INTEGER_ONLY_LIBRARY */
+uint32_t FLAC__lpc_max_prediction_before_shift_bps(uint32_t subframe_bps, const FLAC__int32 qlp_coeff[], uint32_t order);
+uint32_t FLAC__lpc_max_residual_bps(uint32_t subframe_bps, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization);
+
/*
* FLAC__lpc_restore_signal()
* --------------------------------------------------------------------
@@ -165,19 +199,9 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32_mmx(const FLAC__i
* IN data[-order,-1] previously-reconstructed historical samples
* OUT data[0,data_len-1] original signal
*/
-void FLAC__lpc_restore_signal(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]);
-void FLAC__lpc_restore_signal_wide(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]);
-#ifndef FLAC__NO_ASM
-# ifdef FLAC__CPU_IA32
-# ifdef FLAC__HAS_NASM
-void FLAC__lpc_restore_signal_asm_ia32(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]);
-void FLAC__lpc_restore_signal_asm_ia32_mmx(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]);
-# endif /* FLAC__HAS_NASM */
-# elif defined FLAC__CPU_PPC
-void FLAC__lpc_restore_signal_asm_ppc_altivec_16(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]);
-void FLAC__lpc_restore_signal_asm_ppc_altivec_16_order8(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]);
-# endif/* FLAC__CPU_IA32 || FLAC__CPU_PPC */
-#endif /* FLAC__NO_ASM */
+void FLAC__lpc_restore_signal(const FLAC__int32 residual[], uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 data[]);
+void FLAC__lpc_restore_signal_wide(const FLAC__int32 residual[], uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 data[]);
+void FLAC__lpc_restore_signal_wide_33bit(const FLAC__int32 residual[], uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int64 data[]);
#ifndef FLAC__INTEGER_ONLY_LIBRARY
@@ -191,8 +215,8 @@ void FLAC__lpc_restore_signal_asm_ppc_altivec_16_order8(const FLAC__int32 residu
* IN total_samples > 0 # of samples in residual signal
* RETURN expected bits per sample
*/
-FLAC__double FLAC__lpc_compute_expected_bits_per_residual_sample(FLAC__double lpc_error, unsigned total_samples);
-FLAC__double FLAC__lpc_compute_expected_bits_per_residual_sample_with_error_scale(FLAC__double lpc_error, FLAC__double error_scale);
+double FLAC__lpc_compute_expected_bits_per_residual_sample(double lpc_error, uint32_t total_samples);
+double FLAC__lpc_compute_expected_bits_per_residual_sample_with_error_scale(double lpc_error, double error_scale);
/*
* FLAC__lpc_compute_best_order()
@@ -207,7 +231,7 @@ FLAC__double FLAC__lpc_compute_expected_bits_per_residual_sample_with_error_scal
* (includes warmup sample size and quantized LP coefficient)
* RETURN [1,max_order] best order
*/
-unsigned FLAC__lpc_compute_best_order(const FLAC__double lpc_error[], unsigned max_order, unsigned total_samples, unsigned overhead_bits_per_order);
+uint32_t FLAC__lpc_compute_best_order(const double lpc_error[], uint32_t max_order, uint32_t total_samples, uint32_t overhead_bits_per_order);
#endif /* !defined FLAC__INTEGER_ONLY_LIBRARY */
diff --git a/3rdparty/libflac/src/libFLAC/include/private/macros.h b/3rdparty/libflac/src/libFLAC/include/private/macros.h
new file mode 100644
index 00000000000..8204ed544a9
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC/include/private/macros.h
@@ -0,0 +1,74 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2012-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef FLAC__PRIVATE__MACROS_H
+#define FLAC__PRIVATE__MACROS_H
+
+#if defined(__GNUC__) && (__GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 3))
+
+#define flac_max(a,b) \
+ ({ __typeof__ (a) _a = (a); \
+ __typeof__ (b) _b = (b); \
+ _a > _b ? _a : _b; })
+
+#define MIN_PASTE(A,B) A##B
+#define MIN_IMPL(A,B,L) ({ \
+ __typeof__(A) MIN_PASTE(__a,L) = (A); \
+ __typeof__(B) MIN_PASTE(__b,L) = (B); \
+ MIN_PASTE(__a,L) < MIN_PASTE(__b,L) ? MIN_PASTE(__a,L) : MIN_PASTE(__b,L); \
+ })
+
+#define flac_min(A,B) MIN_IMPL(A,B,__COUNTER__)
+
+/* Whatever other unix that has sys/param.h */
+#elif defined(HAVE_SYS_PARAM_H)
+#include <sys/param.h>
+#if defined(MIN) && defined(MAX)
+#define flac_max(a,b) MAX(a,b)
+#define flac_min(a,b) MIN(a,b)
+#endif
+
+/* Windows VS has them in stdlib.h.. XXX:Untested */
+#elif defined(_MSC_VER)
+#include <stdlib.h>
+#define flac_max(a,b) __max(a,b)
+#define flac_min(a,b) __min(a,b)
+#endif
+
+#ifndef flac_min
+#define flac_min(x,y) ((x) <= (y) ? (x) : (y))
+#endif
+
+#ifndef flac_max
+#define flac_max(x,y) ((x) >= (y) ? (x) : (y))
+#endif
+
+#endif
diff --git a/3rdparty/libflac/src/libFLAC/include/private/md5.h b/3rdparty/libflac/src/libFLAC/include/private/md5.h
index e5f675a830a..f9d79c3e35c 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/md5.h
+++ b/3rdparty/libflac/src/libFLAC/include/private/md5.h
@@ -28,17 +28,23 @@
#include "FLAC/ordinals.h"
+typedef union {
+ FLAC__byte *p8;
+ FLAC__int16 *p16;
+ FLAC__int32 *p32;
+} FLAC__multibyte;
+
typedef struct {
FLAC__uint32 in[16];
FLAC__uint32 buf[4];
FLAC__uint32 bytes[2];
- FLAC__byte *internal_buf;
+ FLAC__multibyte internal_buf;
size_t capacity;
} FLAC__MD5Context;
void FLAC__MD5Init(FLAC__MD5Context *context);
void FLAC__MD5Final(FLAC__byte digest[16], FLAC__MD5Context *context);
-FLAC__bool FLAC__MD5Accumulate(FLAC__MD5Context *ctx, const FLAC__int32 * const signal[], unsigned channels, unsigned samples, unsigned bytes_per_sample);
+FLAC__bool FLAC__MD5Accumulate(FLAC__MD5Context *ctx, const FLAC__int32 * const signal[], uint32_t channels, uint32_t samples, uint32_t bytes_per_sample);
#endif
diff --git a/3rdparty/libflac/src/libFLAC/include/private/memory.h b/3rdparty/libflac/src/libFLAC/include/private/memory.h
index 38a9ffe0711..4221bcfde44 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/memory.h
+++ b/3rdparty/libflac/src/libFLAC/include/private/memory.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -47,10 +48,11 @@
void *FLAC__memory_alloc_aligned(size_t bytes, void **aligned_address);
FLAC__bool FLAC__memory_alloc_aligned_int32_array(size_t elements, FLAC__int32 **unaligned_pointer, FLAC__int32 **aligned_pointer);
FLAC__bool FLAC__memory_alloc_aligned_uint32_array(size_t elements, FLAC__uint32 **unaligned_pointer, FLAC__uint32 **aligned_pointer);
+FLAC__bool FLAC__memory_alloc_aligned_int64_array(size_t elements, FLAC__int64 **unaligned_pointer, FLAC__int64 **aligned_pointer);
FLAC__bool FLAC__memory_alloc_aligned_uint64_array(size_t elements, FLAC__uint64 **unaligned_pointer, FLAC__uint64 **aligned_pointer);
-FLAC__bool FLAC__memory_alloc_aligned_unsigned_array(size_t elements, unsigned **unaligned_pointer, unsigned **aligned_pointer);
#ifndef FLAC__INTEGER_ONLY_LIBRARY
FLAC__bool FLAC__memory_alloc_aligned_real_array(size_t elements, FLAC__real **unaligned_pointer, FLAC__real **aligned_pointer);
#endif
+void *safe_malloc_mul_2op_p(size_t size1, size_t size2);
#endif
diff --git a/3rdparty/libflac/src/libFLAC/include/private/metadata.h b/3rdparty/libflac/src/libFLAC/include/private/metadata.h
index b5268c9552e..d3ceb53fe3a 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/metadata.h
+++ b/3rdparty/libflac/src/libFLAC/include/private/metadata.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/3rdparty/libflac/src/libFLAC/include/private/ogg_decoder_aspect.h b/3rdparty/libflac/src/libFLAC/include/private/ogg_decoder_aspect.h
index df2b6b55bdf..c9236410ef8 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/ogg_decoder_aspect.h
+++ b/3rdparty/libflac/src/libFLAC/include/private/ogg_decoder_aspect.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -45,7 +46,7 @@ typedef struct FLAC__OggDecoderAspect {
/* these are for internal state related to Ogg decoding */
ogg_stream_state stream_state;
ogg_sync_state sync_state;
- unsigned version_major, version_minor;
+ uint32_t version_major, version_minor;
FLAC__bool need_serial_number;
FLAC__bool end_of_stream;
FLAC__bool have_working_page; /* only if true will the following vars be valid */
diff --git a/3rdparty/libflac/src/libFLAC/include/private/ogg_encoder_aspect.h b/3rdparty/libflac/src/libFLAC/include/private/ogg_encoder_aspect.h
index 290da071c6b..0e9bb4bcaa0 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/ogg_encoder_aspect.h
+++ b/3rdparty/libflac/src/libFLAC/include/private/ogg_encoder_aspect.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -40,7 +41,7 @@
typedef struct FLAC__OggEncoderAspect {
/* these are storage for values that can be set through the API */
long serial_number;
- unsigned num_metadata;
+ uint32_t num_metadata;
/* these are for internal state related to Ogg encoding */
ogg_stream_state stream_state;
@@ -51,12 +52,12 @@ typedef struct FLAC__OggEncoderAspect {
} FLAC__OggEncoderAspect;
void FLAC__ogg_encoder_aspect_set_serial_number(FLAC__OggEncoderAspect *aspect, long value);
-FLAC__bool FLAC__ogg_encoder_aspect_set_num_metadata(FLAC__OggEncoderAspect *aspect, unsigned value);
+FLAC__bool FLAC__ogg_encoder_aspect_set_num_metadata(FLAC__OggEncoderAspect *aspect, uint32_t value);
void FLAC__ogg_encoder_aspect_set_defaults(FLAC__OggEncoderAspect *aspect);
FLAC__bool FLAC__ogg_encoder_aspect_init(FLAC__OggEncoderAspect *aspect);
void FLAC__ogg_encoder_aspect_finish(FLAC__OggEncoderAspect *aspect);
-typedef FLAC__StreamEncoderWriteStatus (*FLAC__OggEncoderAspectWriteCallbackProxy)(const void *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data);
+typedef FLAC__StreamEncoderWriteStatus (*FLAC__OggEncoderAspectWriteCallbackProxy)(const void *encoder, const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame, void *client_data);
-FLAC__StreamEncoderWriteStatus FLAC__ogg_encoder_aspect_write_callback_wrapper(FLAC__OggEncoderAspect *aspect, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, FLAC__bool is_last_block, FLAC__OggEncoderAspectWriteCallbackProxy write_callback, void *encoder, void *client_data);
+FLAC__StreamEncoderWriteStatus FLAC__ogg_encoder_aspect_write_callback_wrapper(FLAC__OggEncoderAspect *aspect, const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame, FLAC__bool is_last_block, FLAC__OggEncoderAspectWriteCallbackProxy write_callback, void *encoder, void *client_data);
#endif
diff --git a/3rdparty/libflac/src/libFLAC/include/private/ogg_helper.h b/3rdparty/libflac/src/libFLAC/include/private/ogg_helper.h
index 389be18aba1..67685787ae1 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/ogg_helper.h
+++ b/3rdparty/libflac/src/libFLAC/include/private/ogg_helper.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec
- * Copyright (C) 2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2004-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/3rdparty/libflac/src/libFLAC/include/private/ogg_mapping.h b/3rdparty/libflac/src/libFLAC/include/private/ogg_mapping.h
index 07dd8b273fb..1a213a4f9db 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/ogg_mapping.h
+++ b/3rdparty/libflac/src/libFLAC/include/private/ogg_mapping.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec
- * Copyright (C) 2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2004-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -34,10 +35,10 @@
#include "FLAC/ordinals.h"
-/** The length of the 'FLAC' magic in bytes. */
+/** The length of the packet type field in bytes. */
#define FLAC__OGG_MAPPING_PACKET_TYPE_LENGTH (1u)
-extern const unsigned FLAC__OGG_MAPPING_PACKET_TYPE_LEN; /* = 8 bits */
+extern const uint32_t FLAC__OGG_MAPPING_PACKET_TYPE_LEN; /* = 8 bits */
extern const FLAC__byte FLAC__OGG_MAPPING_FIRST_HEADER_PACKET_TYPE; /* = 0x7f */
@@ -46,8 +47,8 @@ extern const FLAC__byte FLAC__OGG_MAPPING_FIRST_HEADER_PACKET_TYPE; /* = 0x7f */
extern const FLAC__byte * const FLAC__OGG_MAPPING_MAGIC; /* = "FLAC" */
-extern const unsigned FLAC__OGG_MAPPING_VERSION_MAJOR_LEN; /* = 8 bits */
-extern const unsigned FLAC__OGG_MAPPING_VERSION_MINOR_LEN; /* = 8 bits */
+extern const uint32_t FLAC__OGG_MAPPING_VERSION_MAJOR_LEN; /* = 8 bits */
+extern const uint32_t FLAC__OGG_MAPPING_VERSION_MINOR_LEN; /* = 8 bits */
/** The length of the Ogg FLAC mapping major version number in bytes. */
#define FLAC__OGG_MAPPING_VERSION_MAJOR_LENGTH (1u)
@@ -55,7 +56,7 @@ extern const unsigned FLAC__OGG_MAPPING_VERSION_MINOR_LEN; /* = 8 bits */
/** The length of the Ogg FLAC mapping minor version number in bytes. */
#define FLAC__OGG_MAPPING_VERSION_MINOR_LENGTH (1u)
-extern const unsigned FLAC__OGG_MAPPING_NUM_HEADERS_LEN; /* = 16 bits */
+extern const uint32_t FLAC__OGG_MAPPING_NUM_HEADERS_LEN; /* = 16 bits */
/** The length of the #-of-header-packets number bytes. */
#define FLAC__OGG_MAPPING_NUM_HEADERS_LENGTH (2u)
diff --git a/3rdparty/libflac/src/libFLAC/include/private/stream_encoder.h b/3rdparty/libflac/src/libFLAC/include/private/stream_encoder.h
new file mode 100644
index 00000000000..0a1b672adfa
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC/include/private/stream_encoder.h
@@ -0,0 +1,67 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef FLAC__PRIVATE__STREAM_ENCODER_H
+#define FLAC__PRIVATE__STREAM_ENCODER_H
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+/*
+ * This is used to avoid overflow with unusual signals in 32-bit
+ * accumulator in the *precompute_partition_info_sums_* functions.
+ */
+#define FLAC__MAX_EXTRA_RESIDUAL_BPS 4
+
+#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN
+#include "private/cpu.h"
+#include "FLAC/format.h"
+
+#ifdef FLAC__SSE2_SUPPORTED
+extern void FLAC__precompute_partition_info_sums_intrin_sse2(const FLAC__int32 residual[], FLAC__uint64 abs_residual_partition_sums[],
+ uint32_t residual_samples, uint32_t predictor_order, uint32_t min_partition_order, uint32_t max_partition_order, uint32_t bps);
+#endif
+
+#ifdef FLAC__SSSE3_SUPPORTED
+extern void FLAC__precompute_partition_info_sums_intrin_ssse3(const FLAC__int32 residual[], FLAC__uint64 abs_residual_partition_sums[],
+ uint32_t residual_samples, uint32_t predictor_order, uint32_t min_partition_order, uint32_t max_partition_order, uint32_t bps);
+#endif
+
+#ifdef FLAC__AVX2_SUPPORTED
+extern void FLAC__precompute_partition_info_sums_intrin_avx2(const FLAC__int32 residual[], FLAC__uint64 abs_residual_partition_sums[],
+ uint32_t residual_samples, uint32_t predictor_order, uint32_t min_partition_order, uint32_t max_partition_order, uint32_t bps);
+#endif
+
+#endif
+
+#endif
diff --git a/3rdparty/libflac/src/libFLAC/include/private/stream_encoder_framing.h b/3rdparty/libflac/src/libFLAC/include/private/stream_encoder_framing.h
index 4865c16c8a9..705965aebd4 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/stream_encoder_framing.h
+++ b/3rdparty/libflac/src/libFLAC/include/private/stream_encoder_framing.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -35,11 +36,11 @@
#include "FLAC/format.h"
#include "bitwriter.h"
-FLAC__bool FLAC__add_metadata_block(const FLAC__StreamMetadata *metadata, FLAC__BitWriter *bw);
+FLAC__bool FLAC__add_metadata_block(const FLAC__StreamMetadata *metadata, FLAC__BitWriter *bw, FLAC__bool update_vendor_string);
FLAC__bool FLAC__frame_add_header(const FLAC__FrameHeader *header, FLAC__BitWriter *bw);
-FLAC__bool FLAC__subframe_add_constant(const FLAC__Subframe_Constant *subframe, unsigned subframe_bps, unsigned wasted_bits, FLAC__BitWriter *bw);
-FLAC__bool FLAC__subframe_add_fixed(const FLAC__Subframe_Fixed *subframe, unsigned residual_samples, unsigned subframe_bps, unsigned wasted_bits, FLAC__BitWriter *bw);
-FLAC__bool FLAC__subframe_add_lpc(const FLAC__Subframe_LPC *subframe, unsigned residual_samples, unsigned subframe_bps, unsigned wasted_bits, FLAC__BitWriter *bw);
-FLAC__bool FLAC__subframe_add_verbatim(const FLAC__Subframe_Verbatim *subframe, unsigned samples, unsigned subframe_bps, unsigned wasted_bits, FLAC__BitWriter *bw);
+FLAC__bool FLAC__subframe_add_constant(const FLAC__Subframe_Constant *subframe, uint32_t subframe_bps, uint32_t wasted_bits, FLAC__BitWriter *bw);
+FLAC__bool FLAC__subframe_add_fixed(const FLAC__Subframe_Fixed *subframe, uint32_t residual_samples, uint32_t subframe_bps, uint32_t wasted_bits, FLAC__BitWriter *bw);
+FLAC__bool FLAC__subframe_add_lpc(const FLAC__Subframe_LPC *subframe, uint32_t residual_samples, uint32_t subframe_bps, uint32_t wasted_bits, FLAC__BitWriter *bw);
+FLAC__bool FLAC__subframe_add_verbatim(const FLAC__Subframe_Verbatim *subframe, uint32_t samples, uint32_t subframe_bps, uint32_t wasted_bits, FLAC__BitWriter *bw);
#endif
diff --git a/3rdparty/libflac/src/libFLAC/include/private/window.h b/3rdparty/libflac/src/libFLAC/include/private/window.h
index 01e0fc46c94..87a3fdf1c77 100644
--- a/3rdparty/libflac/src/libFLAC/include/private/window.h
+++ b/3rdparty/libflac/src/libFLAC/include/private/window.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2006,2007 Josh Coalson
+ * Copyright (C) 2006-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -64,6 +65,8 @@ void FLAC__window_nuttall(FLAC__real *window, const FLAC__int32 L);
void FLAC__window_rectangle(FLAC__real *window, const FLAC__int32 L);
void FLAC__window_triangle(FLAC__real *window, const FLAC__int32 L);
void FLAC__window_tukey(FLAC__real *window, const FLAC__int32 L, const FLAC__real p);
+void FLAC__window_partial_tukey(FLAC__real *window, const FLAC__int32 L, const FLAC__real p, const FLAC__real start, const FLAC__real end);
+void FLAC__window_punchout_tukey(FLAC__real *window, const FLAC__int32 L, const FLAC__real p, const FLAC__real start, const FLAC__real end);
void FLAC__window_welch(FLAC__real *window, const FLAC__int32 L);
#endif /* !defined FLAC__INTEGER_ONLY_LIBRARY */
diff --git a/3rdparty/libflac/src/libFLAC/include/protected/Makefile.am b/3rdparty/libflac/src/libFLAC/include/protected/Makefile.am
index 66c697c8277..97e85a84595 100644
--- a/3rdparty/libflac/src/libFLAC/include/protected/Makefile.am
+++ b/3rdparty/libflac/src/libFLAC/include/protected/Makefile.am
@@ -1,5 +1,6 @@
# libFLAC - Free Lossless Audio Codec library
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
diff --git a/3rdparty/libflac/src/libFLAC/include/protected/Makefile.in b/3rdparty/libflac/src/libFLAC/include/protected/Makefile.in
index 96133a6ad98..5b2e4af8f04 100644
--- a/3rdparty/libflac/src/libFLAC/include/protected/Makefile.in
+++ b/3rdparty/libflac/src/libFLAC/include/protected/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,8 @@
@SET_MAKE@
# libFLAC - Free Lossless Audio Codec library
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -44,16 +45,67 @@
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -65,12 +117,74 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = src/libFLAC/include/protected
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+ $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+HEADERS = $(noinst_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -79,181 +193,180 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
noinst_HEADERS = \
all.h \
stream_decoder.h \
stream_encoder.h
-subdir = src/libFLAC/include/protected
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-HEADERS = $(noinst_HEADERS)
-
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.in Makefile.am
all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/libFLAC/include/protected/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/libFLAC/include/protected/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/libFLAC/include/protected/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -261,99 +374,93 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(HEADERS)
-
installdirs:
install: install-am
install-exec: install-exec-am
@@ -365,16 +472,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -385,25 +498,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -422,17 +556,25 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool ctags distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am info \
- info-am install install-am install-data install-data-am \
- install-exec install-exec-am install-info install-info-am \
- install-man install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
- ps ps-am tags uninstall uninstall-am uninstall-info-am
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool cscopelist-am ctags ctags-am distclean \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/src/libFLAC/include/protected/all.h b/3rdparty/libflac/src/libFLAC/include/protected/all.h
index 2921092b380..9f6de97a7ba 100644
--- a/3rdparty/libflac/src/libFLAC/include/protected/all.h
+++ b/3rdparty/libflac/src/libFLAC/include/protected/all.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/3rdparty/libflac/src/libFLAC/include/protected/stream_decoder.h b/3rdparty/libflac/src/libFLAC/include/protected/stream_decoder.h
index 9108ca78f22..4a9c76865f5 100644
--- a/3rdparty/libflac/src/libFLAC/include/protected/stream_decoder.h
+++ b/3rdparty/libflac/src/libFLAC/include/protected/stream_decoder.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -39,11 +40,12 @@
typedef struct FLAC__StreamDecoderProtected {
FLAC__StreamDecoderState state;
- unsigned channels;
+ FLAC__StreamDecoderInitStatus initstate;
+ uint32_t channels;
FLAC__ChannelAssignment channel_assignment;
- unsigned bits_per_sample;
- unsigned sample_rate; /* in Hz */
- unsigned blocksize; /* in samples (per channel) */
+ uint32_t bits_per_sample;
+ uint32_t sample_rate; /* in Hz */
+ uint32_t blocksize; /* in samples (per channel) */
FLAC__bool md5_checking; /* if true, generate MD5 signature of decoded data and compare against signature in the STREAMINFO metadata block */
#if FLAC__HAS_OGG
FLAC__OggDecoderAspect ogg_decoder_aspect;
@@ -51,8 +53,8 @@ typedef struct FLAC__StreamDecoderProtected {
} FLAC__StreamDecoderProtected;
/*
- * return the number of input bytes consumed
+ * Return the number of input bytes consumed
*/
-unsigned FLAC__stream_decoder_get_input_bytes_unconsumed(const FLAC__StreamDecoder *decoder);
+uint32_t FLAC__stream_decoder_get_input_bytes_unconsumed(const FLAC__StreamDecoder *decoder);
#endif
diff --git a/3rdparty/libflac/src/libFLAC/include/protected/stream_encoder.h b/3rdparty/libflac/src/libFLAC/include/protected/stream_encoder.h
index 4101ee55288..863e43b3607 100644
--- a/3rdparty/libflac/src/libFLAC/include/protected/stream_encoder.h
+++ b/3rdparty/libflac/src/libFLAC/include/protected/stream_encoder.h
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -58,6 +59,9 @@ typedef enum {
FLAC__APODIZATION_RECTANGLE,
FLAC__APODIZATION_TRIANGLE,
FLAC__APODIZATION_TUKEY,
+ FLAC__APODIZATION_PARTIAL_TUKEY,
+ FLAC__APODIZATION_PUNCHOUT_TUKEY,
+ FLAC__APODIZATION_SUBDIVIDE_TUKEY,
FLAC__APODIZATION_WELCH
} FLAC__ApodizationFunction;
@@ -70,6 +74,15 @@ typedef struct {
struct {
FLAC__real p;
} tukey;
+ struct {
+ FLAC__real p;
+ FLAC__real start;
+ FLAC__real end;
+ } multiple_tukey;
+ struct {
+ FLAC__real p;
+ FLAC__int32 parts;
+ } subdivide_tukey;
} parameters;
} FLAC__ApodizationSpecification;
@@ -82,25 +95,26 @@ typedef struct FLAC__StreamEncoderProtected {
FLAC__bool do_md5;
FLAC__bool do_mid_side_stereo;
FLAC__bool loose_mid_side_stereo;
- unsigned channels;
- unsigned bits_per_sample;
- unsigned sample_rate;
- unsigned blocksize;
+ uint32_t channels;
+ uint32_t bits_per_sample;
+ uint32_t sample_rate;
+ uint32_t blocksize;
#ifndef FLAC__INTEGER_ONLY_LIBRARY
- unsigned num_apodizations;
+ uint32_t num_apodizations;
FLAC__ApodizationSpecification apodizations[FLAC__MAX_APODIZATION_FUNCTIONS];
#endif
- unsigned max_lpc_order;
- unsigned qlp_coeff_precision;
+ uint32_t max_lpc_order;
+ uint32_t qlp_coeff_precision;
FLAC__bool do_qlp_coeff_prec_search;
FLAC__bool do_exhaustive_model_search;
FLAC__bool do_escape_coding;
- unsigned min_residual_partition_order;
- unsigned max_residual_partition_order;
- unsigned rice_parameter_search_dist;
+ uint32_t min_residual_partition_order;
+ uint32_t max_residual_partition_order;
+ uint32_t rice_parameter_search_dist;
FLAC__uint64 total_samples_estimate;
+ FLAC__bool limit_min_bitrate;
FLAC__StreamMetadata **metadata;
- unsigned num_metadata_blocks;
+ uint32_t num_metadata_blocks;
FLAC__uint64 streaminfo_offset, seektable_offset, audio_offset;
#if FLAC__HAS_OGG
FLAC__OggEncoderAspect ogg_encoder_aspect;
diff --git a/3rdparty/libflac/src/libFLAC/libFLAC.m4 b/3rdparty/libflac/src/libFLAC/libFLAC.m4
index 24eb0c5432a..5dfc5ea5d06 100644
--- a/3rdparty/libflac/src/libFLAC/libFLAC.m4
+++ b/3rdparty/libflac/src/libFLAC/libFLAC.m4
@@ -14,14 +14,18 @@ AC_ARG_WITH(libFLAC-includes,[ --with-libFLAC-includes=DIR Directory where li
AC_ARG_ENABLE(libFLACtest, [ --disable-libFLACtest Do not try to compile and run a test libFLAC program],, enable_libFLACtest=yes)
if test "x$libFLAC_libraries" != "x" ; then
- LIBFLAC_LIBDIR="$libFLAC_libraries"
+ LIBFLAC_LIBS="-L$libFLAC_libraries"
+ elif test "x$libFLAC_prefix" = "xno" || test "x$libFLAC_prefix" = "xyes" ; then
+ LIBFLAC_LIBS=""
elif test "x$libFLAC_prefix" != "x" ; then
- LIBFLAC_LIBDIR="$libFLAC_prefix/lib"
- elif test "x$prefix" != "xNONE" ; then
- LIBFLAC_LIBDIR="$libdir"
+ LIBFLAC_LIBS="-L$libFLAC_prefix/lib"
+ elif test "x$prefix" != "xNONE"; then
+ LIBFLAC_LIBS="-L$prefix/lib"
fi
- LIBFLAC_LIBS="-L$LIBFLAC_LIBDIR -lFLAC $OGG_LIBS -lm"
+ if test "x$libFLAC_prefix" != "xno" ; then
+ LIBFLAC_LIBS="$LIBFLAC_LIBS -lFLAC $OGG_LIBS -lm"
+ fi
if test "x$libFLAC_includes" != "x" ; then
LIBFLAC_CFLAGS="-I$libFLAC_includes"
@@ -48,19 +52,15 @@ dnl
dnl Now check if the installed libFLAC is sufficiently new.
dnl
rm -f conf.libFLACtest
- AC_TRY_RUN([
+ AC_RUN_IFELSE([AC_LANG_PROGRAM([[
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <FLAC/format.h>
-
-int main ()
-{
+]],[[
system("touch conf.libFLACtest");
return 0;
-}
-
-],, no_libFLAC=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+]])],[],[no_libFLAC=yes],[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
CXXFLAGS="$ac_save_CXXFLAGS"
LIBS="$ac_save_LIBS"
@@ -94,7 +94,7 @@ int main ()
echo "*** If you have an old version installed, it is best to remove it, although"
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
[ echo "*** The test program failed to compile or link. See the file config.log for the"
- echo "*** exact error that occured. This usually means libFLAC was incorrectly installed"
+ echo "*** exact error that occurred. This usually means libFLAC was incorrectly installed"
echo "*** or that you have moved libFLAC since it was installed. In the latter case, you"
echo "*** may want to edit the libFLAC-config script: $LIBFLAC_CONFIG" ])
CFLAGS="$ac_save_CFLAGS"
diff --git a/3rdparty/libflac/src/libFLAC/libFLAC_dynamic.dsp b/3rdparty/libflac/src/libFLAC/libFLAC_dynamic.dsp
deleted file mode 100644
index 73169ecfc22..00000000000
--- a/3rdparty/libflac/src/libFLAC/libFLAC_dynamic.dsp
+++ /dev/null
@@ -1,464 +0,0 @@
-# Microsoft Developer Studio Project File - Name="libFLAC_dynamic" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=libFLAC_dynamic - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "libFLAC_dynamic.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "libFLAC_dynamic.mak" CFG="libFLAC_dynamic - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "libFLAC_dynamic - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "libFLAC_dynamic - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "libFLAC"
-# PROP Scc_LocalPath "..\.."
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "libFLAC_dynamic - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\obj\release\lib"
-# PROP Intermediate_Dir "Release_dynamic"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I ".\include" /I "..\..\include" /D "NDEBUG" /D "FLAC_API_EXPORTS" /D "FLAC__HAS_OGG" /D VERSION=\"1.2.1\" /D "FLAC__CPU_IA32" /D "FLAC__HAS_NASM" /D "FLAC__USE_3DNOW" /D "_WINDOWS" /D "_WINDLL" /D "WIN32" /D "_USRDLL" /FR /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG" /d "_USRDLL"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 ..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:windows /dll /machine:I386 /out:"..\..\obj\release\bin/libFLAC.dll"
-
-!ELSEIF "$(CFG)" == "libFLAC_dynamic - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\obj\debug\lib"
-# PROP Intermediate_Dir "Debug_dynamic"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I ".\include" /I "..\..\include" /D "_DEBUG" /D "DEBUG" /D "FLAC__OVERFLOW_DETECT" /D "FLAC_API_EXPORTS" /D "FLAC__HAS_OGG" /D VERSION=\"1.2.1\" /D "FLAC__CPU_IA32" /D "FLAC__HAS_NASM" /D "FLAC__USE_3DNOW" /D "_WINDOWS" /D "_WINDLL" /D "WIN32" /D "_USRDLL" /FR /FD /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG" /d "_USRDLL"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"..\..\obj\debug\bin/libFLAC.dll" /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "libFLAC_dynamic - Win32 Release"
-# Name "libFLAC_dynamic - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "c"
-# Begin Group "Assembly Files (ia32)"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\ia32\bitreader_asm.nasm
-
-!IF "$(CFG)" == "libFLAC_dynamic - Win32 Release"
-
-USERDEP__CPU_A="ia32/bitreader_asm.nasm"
-# Begin Custom Build
-InputPath=.\ia32\bitreader_asm.nasm
-
-"ia32/bitreader_asm.obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/bitreader_asm.nasm -o ia32/bitreader_asm.obj
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "libFLAC_dynamic - Win32 Debug"
-
-USERDEP__CPU_A="ia32/bitreader_asm.nasm"
-# Begin Custom Build
-InputPath=.\ia32\bitreader_asm.nasm
-
-"ia32/bitreader_asm.obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/bitreader_asm.nasm -o ia32/bitreader_asm.obj
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\ia32\cpu_asm.nasm
-
-!IF "$(CFG)" == "libFLAC_dynamic - Win32 Release"
-
-USERDEP__CPU_A="ia32/cpu_asm.nasm"
-# Begin Custom Build
-InputPath=.\ia32\cpu_asm.nasm
-
-"ia32/cpu_asm.obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/cpu_asm.nasm -o ia32/cpu_asm.obj
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "libFLAC_dynamic - Win32 Debug"
-
-USERDEP__CPU_A="ia32/cpu_asm.nasm"
-# Begin Custom Build
-InputPath=.\ia32\cpu_asm.nasm
-
-"ia32/cpu_asm.obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/cpu_asm.nasm -o ia32/cpu_asm.obj
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\ia32\fixed_asm.nasm
-
-!IF "$(CFG)" == "libFLAC_dynamic - Win32 Release"
-
-USERDEP__FIXED="ia32/fixed_asm.nasm"
-# Begin Custom Build
-InputPath=.\ia32\fixed_asm.nasm
-
-"ia32/fixed_asm.obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/fixed_asm.nasm -o ia32/fixed_asm.obj
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "libFLAC_dynamic - Win32 Debug"
-
-USERDEP__FIXED="ia32/fixed_asm.nasm"
-# Begin Custom Build
-InputPath=.\ia32\fixed_asm.nasm
-
-"ia32/fixed_asm.obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/fixed_asm.nasm -o ia32/fixed_asm.obj
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\ia32\lpc_asm.nasm
-
-!IF "$(CFG)" == "libFLAC_dynamic - Win32 Release"
-
-USERDEP__LPC_A="ia32/lpc_asm.nasm"
-# Begin Custom Build
-InputPath=.\ia32\lpc_asm.nasm
-
-"ia32/lpc_asm.obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/lpc_asm.nasm -o ia32/lpc_asm.obj
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "libFLAC_dynamic - Win32 Debug"
-
-USERDEP__LPC_A="ia32/lpc_asm.nasm"
-# Begin Custom Build
-InputPath=.\ia32\lpc_asm.nasm
-
-"ia32/lpc_asm.obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/lpc_asm.nasm -o ia32/lpc_asm.obj
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\ia32\stream_encoder_asm.nasm
-
-!IF "$(CFG)" == "libFLAC_dynamic - Win32 Release"
-
-USERDEP__CPU_A="ia32/stream_encoder_asm.nasm"
-# Begin Custom Build
-InputPath=.\ia32\stream_encoder_asm.nasm
-
-"ia32/stream_encoder_asm.obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/stream_encoder_asm.nasm -o ia32/stream_encoder_asm.obj
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "libFLAC_dynamic - Win32 Debug"
-
-USERDEP__CPU_A="ia32/stream_encoder_asm.nasm"
-# Begin Custom Build
-InputPath=.\ia32\stream_encoder_asm.nasm
-
-"ia32/stream_encoder_asm.obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/stream_encoder_asm.nasm -o ia32/stream_encoder_asm.obj
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\ia32\nasm.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\bitmath.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\bitreader.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\bitwriter.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\cpu.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\crc.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\fixed.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\float.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\format.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\lpc.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\md5.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\memory.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\metadata_iterators.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\metadata_object.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ogg_decoder_aspect.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ogg_encoder_aspect.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ogg_helper.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ogg_mapping.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\stream_decoder.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\stream_encoder.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\stream_encoder_framing.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\window.c
-# End Source File
-# End Group
-# Begin Group "Private Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\include\private\all.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\bitmath.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\bitreader.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\bitwriter.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\cpu.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\crc.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\fixed.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\float.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\format.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\lpc.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\md5.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\memory.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\metadata.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\ogg_decoder_aspect.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\ogg_encoder_aspect.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\ogg_helper.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\ogg_mapping.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\stream_encoder_framing.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\window.h
-# End Source File
-# End Group
-# Begin Group "Protected Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\include\protected\all.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\protected\stream_decoder.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\protected\stream_encoder.h
-# End Source File
-# End Group
-# Begin Group "Public Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\include\FLAC\all.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\FLAC\assert.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\FLAC\export.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\FLAC\format.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\FLAC\metadata.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\FLAC\ordinals.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\FLAC\stream_decoder.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\FLAC\stream_encoder.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/libFLAC/libFLAC_dynamic.vcproj b/3rdparty/libflac/src/libFLAC/libFLAC_dynamic.vcproj
deleted file mode 100644
index f8163ab7b9d..00000000000
--- a/3rdparty/libflac/src/libFLAC/libFLAC_dynamic.vcproj
+++ /dev/null
@@ -1,540 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="libFLAC_dynamic"
- ProjectGUID="{4cefbc83-c215-11db-8314-0800200c9a66}"
- RootNamespace="libFLAC_dynamic"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\obj\debug\lib"
- IntermediateDirectory="Debug_dynamic"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".\include;..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FLAC_API_EXPORTS;FLAC__HAS_OGG;FLAC__CPU_IA32;FLAC__HAS_NASM;FLAC__USE_3DNOW;VERSION=\&quot;1.2.0\&quot;;DEBUG;FLAC__OVERFLOW_DETECT"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="2"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\obj\release\lib"
- IntermediateDirectory="Release_dynamic"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".\include;..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;FLAC_API_EXPORTS;FLAC__HAS_OGG;FLAC__CPU_IA32;FLAC__HAS_NASM;FLAC__USE_3DNOW;VERSION=\&quot;1.2.0\&quot;"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="1"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\include\private\all.h"
- >
- </File>
- <File
- RelativePath=".\include\protected\all.h"
- >
- </File>
- <File
- RelativePath=".\include\private\bitmath.h"
- >
- </File>
- <File
- RelativePath=".\include\private\bitreader.h"
- >
- </File>
- <File
- RelativePath=".\include\private\bitwriter.h"
- >
- </File>
- <File
- RelativePath=".\include\private\cpu.h"
- >
- </File>
- <File
- RelativePath=".\include\private\crc.h"
- >
- </File>
- <File
- RelativePath=".\include\private\fixed.h"
- >
- </File>
- <File
- RelativePath=".\include\private\float.h"
- >
- </File>
- <File
- RelativePath=".\include\private\format.h"
- >
- </File>
- <File
- RelativePath=".\include\private\lpc.h"
- >
- </File>
- <File
- RelativePath=".\include\private\md5.h"
- >
- </File>
- <File
- RelativePath=".\include\private\memory.h"
- >
- </File>
- <File
- RelativePath=".\include\private\metadata.h"
- >
- </File>
- <File
- RelativePath=".\ia32\nasm.h"
- >
- </File>
- <File
- RelativePath=".\include\private\ogg_decoder_aspect.h"
- >
- </File>
- <File
- RelativePath=".\include\private\ogg_encoder_aspect.h"
- >
- </File>
- <File
- RelativePath=".\include\private\ogg_helper.h"
- >
- </File>
- <File
- RelativePath=".\include\private\ogg_mapping.h"
- >
- </File>
- <File
- RelativePath=".\include\protected\stream_decoder.h"
- >
- </File>
- <File
- RelativePath=".\include\protected\stream_encoder.h"
- >
- </File>
- <File
- RelativePath=".\include\private\stream_encoder_framing.h"
- >
- </File>
- <File
- RelativePath=".\include\private\window.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\bitmath.c"
- >
- </File>
- <File
- RelativePath=".\bitreader.c"
- >
- </File>
- <File
- RelativePath=".\bitwriter.c"
- >
- </File>
- <File
- RelativePath=".\cpu.c"
- >
- </File>
- <File
- RelativePath=".\crc.c"
- >
- </File>
- <File
- RelativePath=".\fixed.c"
- >
- </File>
- <File
- RelativePath=".\float.c"
- >
- </File>
- <File
- RelativePath=".\format.c"
- >
- </File>
- <File
- RelativePath=".\lpc.c"
- >
- </File>
- <File
- RelativePath=".\md5.c"
- >
- </File>
- <File
- RelativePath=".\memory.c"
- >
- </File>
- <File
- RelativePath=".\metadata_iterators.c"
- >
- </File>
- <File
- RelativePath=".\metadata_object.c"
- >
- </File>
- <File
- RelativePath=".\ogg_decoder_aspect.c"
- >
- </File>
- <File
- RelativePath=".\ogg_encoder_aspect.c"
- >
- </File>
- <File
- RelativePath=".\ogg_helper.c"
- >
- </File>
- <File
- RelativePath=".\ogg_mapping.c"
- >
- </File>
- <File
- RelativePath=".\stream_decoder.c"
- >
- </File>
- <File
- RelativePath=".\stream_encoder.c"
- >
- </File>
- <File
- RelativePath=".\stream_encoder_framing.c"
- >
- </File>
- <File
- RelativePath=".\window.c"
- >
- </File>
- </Filter>
- <Filter
- Name="Public Header Files"
- >
- <File
- RelativePath="..\..\include\FLAC\all.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC\assert.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC\callback.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC\export.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC\format.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC\metadata.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC\ordinals.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC\stream_decoder.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC\stream_encoder.h"
- >
- </File>
- </Filter>
- <File
- RelativePath=".\ia32\bitreader_asm.nasm"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- CommandLine="nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/bitreader_asm.nasm -o ia32/bitreader_asm.obj&#x0D;&#x0A;"
- AdditionalDependencies="ia32/bitreader_asm.nasm;ia32/nasm.h"
- Outputs="ia32/bitreader_asm.obj"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- CommandLine="nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/bitreader_asm.nasm -o ia32/bitreader_asm.obj&#x0D;&#x0A;"
- AdditionalDependencies="ia32/bitreader_asm.nasm;ia32/nasm.h"
- Outputs="ia32/bitreader_asm.obj"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\release_static\BuildLog.htm"
- >
- </File>
- <File
- RelativePath=".\ia32\cpu_asm.nasm"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- CommandLine="nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/cpu_asm.nasm -o ia32/cpu_asm.obj&#x0D;&#x0A;"
- AdditionalDependencies="ia32/cpu_asm.nasm;ia32/nasm.h"
- Outputs="ia32/cpu_asm.obj"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- CommandLine="nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/cpu_asm.nasm -o ia32/cpu_asm.obj&#x0D;&#x0A;"
- AdditionalDependencies="ia32/cpu_asm.nasm;ia32/nasm.h"
- Outputs="ia32/cpu_asm.obj"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\ia32\fixed_asm.nasm"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- CommandLine="nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/fixed_asm.nasm -o ia32/fixed_asm.obj&#x0D;&#x0A;"
- AdditionalDependencies="ia32/fixed_asm.nasm;ia32/nasm.h"
- Outputs="ia32/fixed_asm.obj"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- CommandLine="nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/fixed_asm.nasm -o ia32/fixed_asm.obj&#x0D;&#x0A;"
- AdditionalDependencies="ia32/fixed_asm.nasm;ia32/nasm.h"
- Outputs="ia32/fixed_asm.obj"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\ia32\lpc_asm.nasm"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- CommandLine="nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/lpc_asm.nasm -o ia32/lpc_asm.obj&#x0D;&#x0A;"
- AdditionalDependencies="ia32/lpc_asm.nasm;ia32/nasm.h"
- Outputs="ia32/lpc_asm.obj"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- CommandLine="nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/lpc_asm.nasm -o ia32/lpc_asm.obj&#x0D;&#x0A;"
- AdditionalDependencies="ia32/lpc_asm.nasm;ia32/nasm.h"
- Outputs="ia32/lpc_asm.obj"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\ia32\stream_encoder_asm.nasm"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- CommandLine="nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/stream_encoder_asm.nasm -o ia32/stream_encoder_asm.obj&#x0D;&#x0A;"
- AdditionalDependencies="ia32/stream_encoder_asm.nasm;ia32/nasm.h"
- Outputs="ia32/stream_encoder_asm.obj"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- CommandLine="nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/stream_encoder_asm.nasm -o ia32/stream_encoder_asm.obj&#x0D;&#x0A;"
- AdditionalDependencies="ia32/stream_encoder_asm.nasm;ia32/nasm.h"
- Outputs="ia32/stream_encoder_asm.obj"
- />
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/libFLAC/libFLAC_static.dsp b/3rdparty/libflac/src/libFLAC/libFLAC_static.dsp
deleted file mode 100644
index 1a11d8b2120..00000000000
--- a/3rdparty/libflac/src/libFLAC/libFLAC_static.dsp
+++ /dev/null
@@ -1,457 +0,0 @@
-# Microsoft Developer Studio Project File - Name="libFLAC_static" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=libFLAC_static - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "libFLAC_static.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "libFLAC_static.mak" CFG="libFLAC_static - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "libFLAC_static - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "libFLAC_static - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "libFLAC"
-# PROP Scc_LocalPath "..\.."
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "libFLAC_static - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\obj\release\lib"
-# PROP Intermediate_Dir "Release_static"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /Op /I ".\include" /I "..\..\include" /D VERSION=\"1.2.1\" /D "FLAC__NO_DLL" /D "FLAC__HAS_OGG" /D "FLAC__CPU_IA32" /D "FLAC__HAS_NASM" /D "FLAC__USE_3DNOW" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /nodefaultlib
-
-!ELSEIF "$(CFG)" == "libFLAC_static - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\obj\debug\lib"
-# PROP Intermediate_Dir "Debug_static"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I ".\include" /I "..\..\include" /D VERSION=\"1.2.1\" /D "FLAC__NO_DLL" /D "FLAC__HAS_OGG" /D "FLAC__CPU_IA32" /D "FLAC__HAS_NASM" /D "FLAC__USE_3DNOW" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D "FLAC__OVERFLOW_DETECT" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /nodefaultlib
-
-!ENDIF
-
-# Begin Target
-
-# Name "libFLAC_static - Win32 Release"
-# Name "libFLAC_static - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "c"
-# Begin Group "Assembly Files (ia32)"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\ia32\bitreader_asm.nasm
-
-!IF "$(CFG)" == "libFLAC_static - Win32 Release"
-
-USERDEP__CPU_A="ia32/bitreader_asm.nasm"
-# Begin Custom Build
-InputPath=.\ia32\bitreader_asm.nasm
-
-"ia32/bitreader_asm.obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/bitreader_asm.nasm -o ia32/bitreader_asm.obj
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "libFLAC_static - Win32 Debug"
-
-USERDEP__CPU_A="ia32/bitreader_asm.nasm"
-# Begin Custom Build
-InputPath=.\ia32\bitreader_asm.nasm
-
-"ia32/bitreader_asm.obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/bitreader_asm.nasm -o ia32/bitreader_asm.obj
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\ia32\cpu_asm.nasm
-
-!IF "$(CFG)" == "libFLAC_static - Win32 Release"
-
-USERDEP__CPU_A="ia32/cpu_asm.nasm"
-# Begin Custom Build
-InputPath=.\ia32\cpu_asm.nasm
-
-"ia32/cpu_asm.obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/cpu_asm.nasm -o ia32/cpu_asm.obj
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "libFLAC_static - Win32 Debug"
-
-USERDEP__CPU_A="ia32/cpu_asm.nasm"
-# Begin Custom Build
-InputPath=.\ia32\cpu_asm.nasm
-
-"ia32/cpu_asm.obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/cpu_asm.nasm -o ia32/cpu_asm.obj
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\ia32\fixed_asm.nasm
-
-!IF "$(CFG)" == "libFLAC_static - Win32 Release"
-
-USERDEP__FIXED="ia32/fixed_asm.nasm"
-# Begin Custom Build
-InputPath=.\ia32\fixed_asm.nasm
-
-"ia32/fixed_asm.obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/fixed_asm.nasm -o ia32/fixed_asm.obj
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "libFLAC_static - Win32 Debug"
-
-USERDEP__FIXED="ia32/fixed_asm.nasm"
-# Begin Custom Build
-InputPath=.\ia32\fixed_asm.nasm
-
-"ia32/fixed_asm.obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/fixed_asm.nasm -o ia32/fixed_asm.obj
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\ia32\lpc_asm.nasm
-
-!IF "$(CFG)" == "libFLAC_static - Win32 Release"
-
-USERDEP__LPC_A="ia32/lpc_asm.nasm"
-# Begin Custom Build
-InputPath=.\ia32\lpc_asm.nasm
-
-"ia32/lpc_asm.obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/lpc_asm.nasm -o ia32/lpc_asm.obj
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "libFLAC_static - Win32 Debug"
-
-USERDEP__LPC_A="ia32/lpc_asm.nasm"
-# Begin Custom Build
-InputPath=.\ia32\lpc_asm.nasm
-
-"ia32/lpc_asm.obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/lpc_asm.nasm -o ia32/lpc_asm.obj
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\ia32\stream_encoder_asm.nasm
-
-!IF "$(CFG)" == "libFLAC_static - Win32 Release"
-
-USERDEP__CPU_A="ia32/stream_encoder_asm.nasm"
-# Begin Custom Build
-InputPath=.\ia32\stream_encoder_asm.nasm
-
-"ia32/stream_encoder_asm.obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/stream_encoder_asm.nasm -o ia32/stream_encoder_asm.obj
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "libFLAC_static - Win32 Debug"
-
-USERDEP__CPU_A="ia32/stream_encoder_asm.nasm"
-# Begin Custom Build
-InputPath=.\ia32\stream_encoder_asm.nasm
-
-"ia32/stream_encoder_asm.obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/stream_encoder_asm.nasm -o ia32/stream_encoder_asm.obj
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\ia32\nasm.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\bitmath.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\bitreader.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\bitwriter.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\cpu.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\crc.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\fixed.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\float.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\format.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\lpc.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\md5.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\memory.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\metadata_iterators.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\metadata_object.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ogg_decoder_aspect.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ogg_encoder_aspect.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ogg_helper.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ogg_mapping.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\stream_decoder.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\stream_encoder.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\stream_encoder_framing.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\window.c
-# End Source File
-# End Group
-# Begin Group "Private Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\include\private\all.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\bitmath.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\bitreader.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\bitwriter.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\cpu.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\crc.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\fixed.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\float.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\format.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\lpc.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\md5.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\memory.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\metadata.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\ogg_decoder_aspect.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\ogg_encoder_aspect.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\ogg_helper.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\ogg_mapping.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\stream_encoder_framing.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\private\window.h
-# End Source File
-# End Group
-# Begin Group "Protected Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\include\protected\all.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\protected\stream_decoder.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\protected\stream_encoder.h
-# End Source File
-# End Group
-# Begin Group "Public Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\include\FLAC\all.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\FLAC\assert.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\FLAC\export.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\FLAC\format.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\FLAC\metadata.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\FLAC\ordinals.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\FLAC\stream_decoder.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\FLAC\stream_encoder.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/libFLAC/libFLAC_static.vcproj b/3rdparty/libflac/src/libFLAC/libFLAC_static.vcproj
deleted file mode 100644
index cdc1531c92c..00000000000
--- a/3rdparty/libflac/src/libFLAC/libFLAC_static.vcproj
+++ /dev/null
@@ -1,505 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="libFLAC_static"
- ProjectGUID="{4cefbc84-c215-11db-8314-0800200c9a66}"
- RootNamespace="libFLAC_static"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\obj\debug\lib"
- IntermediateDirectory="Debug_static"
- ConfigurationType="4"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".\include;..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLAC__HAS_OGG;FLAC__CPU_IA32;FLAC__HAS_NASM;FLAC__USE_3DNOW;VERSION=\&quot;1.2.0\&quot;;FLAC__NO_DLL;DEBUG;FLAC__OVERFLOW_DETECT"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\obj\debug\lib\$(ProjectName).lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\obj\release\lib"
- IntermediateDirectory="Release_static"
- ConfigurationType="4"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".\include;..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB;FLAC__HAS_OGG;FLAC__CPU_IA32;FLAC__HAS_NASM;FLAC__USE_3DNOW;VERSION=\&quot;1.2.0\&quot;;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\obj\release\lib\$(ProjectName).lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\include\protected\all.h"
- >
- </File>
- <File
- RelativePath=".\include\private\all.h"
- >
- </File>
- <File
- RelativePath=".\include\private\bitmath.h"
- >
- </File>
- <File
- RelativePath=".\include\private\bitreader.h"
- >
- </File>
- <File
- RelativePath=".\include\private\bitwriter.h"
- >
- </File>
- <File
- RelativePath=".\include\private\cpu.h"
- >
- </File>
- <File
- RelativePath=".\include\private\crc.h"
- >
- </File>
- <File
- RelativePath=".\include\private\fixed.h"
- >
- </File>
- <File
- RelativePath=".\include\private\float.h"
- >
- </File>
- <File
- RelativePath=".\include\private\format.h"
- >
- </File>
- <File
- RelativePath=".\include\private\lpc.h"
- >
- </File>
- <File
- RelativePath=".\include\private\md5.h"
- >
- </File>
- <File
- RelativePath=".\include\private\memory.h"
- >
- </File>
- <File
- RelativePath=".\include\private\metadata.h"
- >
- </File>
- <File
- RelativePath=".\ia32\nasm.h"
- >
- </File>
- <File
- RelativePath=".\include\private\ogg_decoder_aspect.h"
- >
- </File>
- <File
- RelativePath=".\include\private\ogg_encoder_aspect.h"
- >
- </File>
- <File
- RelativePath=".\include\private\ogg_helper.h"
- >
- </File>
- <File
- RelativePath=".\include\private\ogg_mapping.h"
- >
- </File>
- <File
- RelativePath=".\include\protected\stream_decoder.h"
- >
- </File>
- <File
- RelativePath=".\include\protected\stream_encoder.h"
- >
- </File>
- <File
- RelativePath=".\include\private\stream_encoder_framing.h"
- >
- </File>
- <File
- RelativePath=".\include\private\window.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Public Header Files"
- >
- <File
- RelativePath="..\..\include\FLAC\all.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC\assert.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC\callback.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC\export.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC\format.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC\metadata.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC\ordinals.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC\stream_decoder.h"
- >
- </File>
- <File
- RelativePath="..\..\include\FLAC\stream_encoder.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\bitmath.c"
- >
- </File>
- <File
- RelativePath=".\bitreader.c"
- >
- </File>
- <File
- RelativePath=".\bitwriter.c"
- >
- </File>
- <File
- RelativePath=".\cpu.c"
- >
- </File>
- <File
- RelativePath=".\crc.c"
- >
- </File>
- <File
- RelativePath=".\fixed.c"
- >
- </File>
- <File
- RelativePath=".\float.c"
- >
- </File>
- <File
- RelativePath=".\format.c"
- >
- </File>
- <File
- RelativePath=".\lpc.c"
- >
- </File>
- <File
- RelativePath=".\md5.c"
- >
- </File>
- <File
- RelativePath=".\memory.c"
- >
- </File>
- <File
- RelativePath=".\metadata_iterators.c"
- >
- </File>
- <File
- RelativePath=".\metadata_object.c"
- >
- </File>
- <File
- RelativePath=".\ogg_decoder_aspect.c"
- >
- </File>
- <File
- RelativePath=".\ogg_encoder_aspect.c"
- >
- </File>
- <File
- RelativePath=".\ogg_helper.c"
- >
- </File>
- <File
- RelativePath=".\ogg_mapping.c"
- >
- </File>
- <File
- RelativePath=".\stream_decoder.c"
- >
- </File>
- <File
- RelativePath=".\stream_encoder.c"
- >
- </File>
- <File
- RelativePath=".\stream_encoder_framing.c"
- >
- </File>
- <File
- RelativePath=".\window.c"
- >
- </File>
- </Filter>
- <File
- RelativePath=".\ia32\bitreader_asm.nasm"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- CommandLine="nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/bitreader_asm.nasm -o ia32/bitreader_asm.obj&#x0D;&#x0A;"
- AdditionalDependencies="ia32/bitreader_asm.nasm;ia32/nasm.h"
- Outputs="ia32/bitreader_asm.obj"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- CommandLine="nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/bitreader_asm.nasm -o ia32/bitreader_asm.obj&#x0D;&#x0A;"
- AdditionalDependencies="ia32/bitreader_asm.nasm;ia32/nasm.h"
- Outputs="ia32/bitreader_asm.obj"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\ia32\cpu_asm.nasm"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- CommandLine="nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/cpu_asm.nasm -o ia32/cpu_asm.obj&#x0D;&#x0A;"
- AdditionalDependencies="ia32/cpu_asm.nasm;ia32/nasm.h"
- Outputs="ia32/cpu_asm.obj"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- CommandLine="nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/cpu_asm.nasm -o ia32/cpu_asm.obj&#x0D;&#x0A;"
- AdditionalDependencies="ia32/cpu_asm.nasm;ia32/nasm.h"
- Outputs="ia32/cpu_asm.obj"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\ia32\fixed_asm.nasm"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- CommandLine="nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/fixed_asm.nasm -o ia32/fixed_asm.obj&#x0D;&#x0A;"
- AdditionalDependencies="ia32/fixed_asm.nasm;ia32/nasm.h"
- Outputs="ia32/fixed_asm.obj"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- CommandLine="nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/fixed_asm.nasm -o ia32/fixed_asm.obj&#x0D;&#x0A;"
- AdditionalDependencies="ia32/fixed_asm.nasm;ia32/nasm.h"
- Outputs="ia32/fixed_asm.obj"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\ia32\lpc_asm.nasm"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- CommandLine="nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/lpc_asm.nasm -o ia32/lpc_asm.obj&#x0D;&#x0A;"
- AdditionalDependencies="ia32/lpc_asm.nasm;ia32/nasm.h"
- Outputs="ia32/lpc_asm.obj"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- CommandLine="nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/lpc_asm.nasm -o ia32/lpc_asm.obj&#x0D;&#x0A;"
- AdditionalDependencies="ia32/lpc_asm.nasm;ia32/nasm.h"
- Outputs="ia32/lpc_asm.obj"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\ia32\stream_encoder_asm.nasm"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- CommandLine="nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/stream_encoder_asm.nasm -o ia32/stream_encoder_asm.obj&#x0D;&#x0A;"
- AdditionalDependencies="ia32/stream_encoder_asm.nasm;ia32/nasm.h"
- Outputs="ia32/stream_encoder_asm.obj"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- CommandLine="nasmw.exe -f win32 -d OBJ_FORMAT_win32 -i ia32/ ia32/stream_encoder_asm.nasm -o ia32/stream_encoder_asm.obj&#x0D;&#x0A;"
- AdditionalDependencies="ia32/stream_encoder_asm.nasm;ia32/nasm.h"
- Outputs="ia32/stream_encoder_asm.obj"
- />
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/libFLAC/lpc.c b/3rdparty/libflac/src/libFLAC/lpc.c
index 00bbab44c1c..bcb8673c3fc 100644
--- a/3rdparty/libflac/src/libFLAC/lpc.c
+++ b/3rdparty/libflac/src/libFLAC/lpc.c
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -34,41 +35,84 @@
#endif
#include <math.h>
+#include <stdlib.h>
+
#include "FLAC/assert.h"
#include "FLAC/format.h"
+#include "share/compat.h"
#include "private/bitmath.h"
#include "private/lpc.h"
-#if defined DEBUG || defined FLAC__OVERFLOW_DETECT || defined FLAC__OVERFLOW_DETECT_VERBOSE
+#include "private/macros.h"
+
+#if !defined(NDEBUG) || defined FLAC__OVERFLOW_DETECT || defined FLAC__OVERFLOW_DETECT_VERBOSE
#include <stdio.h>
#endif
+/* OPT: #undef'ing this may improve the speed on some architectures */
+#define FLAC__LPC_UNROLLED_FILTER_LOOPS
+
#ifndef FLAC__INTEGER_ONLY_LIBRARY
-#ifndef M_LN2
-/* math.h in VC++ doesn't seem to have this (how Microsoft is that?) */
-#define M_LN2 0.69314718055994530942
+#if defined(_MSC_VER) && (_MSC_VER < 1800)
+#include <float.h>
+static inline long int lround(double x) {
+ return (long)(x + _copysign(0.5, x));
+}
+#elif !defined(HAVE_LROUND) && defined(__GNUC__)
+static inline long int lround(double x) {
+ return (long)(x + __builtin_copysign(0.5, x));
+}
+/* If this fails, we are in the presence of a mid 90's compiler, move along... */
#endif
-/* OPT: #undef'ing this may improve the speed on some architectures */
-#define FLAC__LPC_UNROLLED_FILTER_LOOPS
-
+void FLAC__lpc_window_data(const FLAC__int32 in[], const FLAC__real window[], FLAC__real out[], uint32_t data_len)
+{
+ uint32_t i;
+ for(i = 0; i < data_len; i++)
+ out[i] = in[i] * window[i];
+}
-void FLAC__lpc_window_data(const FLAC__int32 in[], const FLAC__real window[], FLAC__real out[], unsigned data_len)
+void FLAC__lpc_window_data_wide(const FLAC__int64 in[], const FLAC__real window[], FLAC__real out[], uint32_t data_len)
{
- unsigned i;
+ uint32_t i;
for(i = 0; i < data_len; i++)
out[i] = in[i] * window[i];
}
-#if defined(__GNUC__) && defined(__i386__) && (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-__attribute__((optimize("O0")))
-#endif
-void FLAC__lpc_compute_autocorrelation(const FLAC__real data[], unsigned data_len, unsigned lag, FLAC__real autoc[])
+void FLAC__lpc_window_data_partial(const FLAC__int32 in[], const FLAC__real window[], FLAC__real out[], uint32_t data_len, uint32_t part_size, uint32_t data_shift)
+{
+ uint32_t i, j;
+ if((part_size + data_shift) < data_len){
+ for(i = 0; i < part_size; i++)
+ out[i] = in[data_shift+i] * window[i];
+ i = flac_min(i,data_len - part_size - data_shift);
+ for(j = data_len - part_size; j < data_len; i++, j++)
+ out[i] = in[data_shift+i] * window[j];
+ if(i < data_len)
+ out[i] = 0.0f;
+ }
+}
+
+void FLAC__lpc_window_data_partial_wide(const FLAC__int64 in[], const FLAC__real window[], FLAC__real out[], uint32_t data_len, uint32_t part_size, uint32_t data_shift)
+{
+ uint32_t i, j;
+ if((part_size + data_shift) < data_len){
+ for(i = 0; i < part_size; i++)
+ out[i] = in[data_shift+i] * window[i];
+ i = flac_min(i,data_len - part_size - data_shift);
+ for(j = data_len - part_size; j < data_len; i++, j++)
+ out[i] = in[data_shift+i] * window[j];
+ if(i < data_len)
+ out[i] = 0.0f;
+ }
+}
+
+void FLAC__lpc_compute_autocorrelation(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[])
{
/* a readable, but slower, version */
#if 0
- FLAC__real d;
- unsigned i;
+ double d;
+ uint32_t i;
FLAC__ASSERT(lag > 0);
FLAC__ASSERT(lag <= data_len);
@@ -82,44 +126,57 @@ void FLAC__lpc_compute_autocorrelation(const FLAC__real data[], unsigned data_le
*/
while(lag--) {
for(i = lag, d = 0.0; i < data_len; i++)
- d += data[i] * data[i - lag];
+ d += data[i] * (double)data[i - lag];
autoc[lag] = d;
}
#endif
-
- /*
- * this version tends to run faster because of better data locality
- * ('data_len' is usually much larger than 'lag')
- */
- FLAC__real d, tmp;
- unsigned sample, coeff;
- const unsigned limit = data_len - lag;
-
- FLAC__ASSERT(lag > 0);
- FLAC__ASSERT(lag <= data_len);
-
- for(coeff = 0; coeff < lag; coeff++)
- autoc[coeff] = 0.0;
- for(sample = 0; sample <= limit; sample++) {
- d = data[sample];
- for(coeff = 0; coeff < lag; coeff++) {
- tmp = d * data[sample+coeff];
- autoc[coeff] += tmp;
+ if (data_len < FLAC__MAX_LPC_ORDER || lag > 16) {
+ /*
+ * this version tends to run faster because of better data locality
+ * ('data_len' is usually much larger than 'lag')
+ */
+ double d;
+ uint32_t sample, coeff;
+ const uint32_t limit = data_len - lag;
+
+ FLAC__ASSERT(lag > 0);
+ FLAC__ASSERT(lag <= data_len);
+
+ for(coeff = 0; coeff < lag; coeff++)
+ autoc[coeff] = 0.0;
+ for(sample = 0; sample <= limit; sample++) {
+ d = data[sample];
+ for(coeff = 0; coeff < lag; coeff++)
+ autoc[coeff] += d * data[sample+coeff];
}
- }
- for(; sample < data_len; sample++) {
- d = data[sample];
- for(coeff = 0; coeff < data_len - sample; coeff++) {
- tmp = d * data[sample+coeff];
- autoc[coeff] += tmp;
+ for(; sample < data_len; sample++) {
+ d = data[sample];
+ for(coeff = 0; coeff < data_len - sample; coeff++)
+ autoc[coeff] += d * data[sample+coeff];
}
}
+ else if(lag <= 8) {
+ #undef MAX_LAG
+ #define MAX_LAG 8
+ #include "deduplication/lpc_compute_autocorrelation_intrin.c"
+ }
+ else if(lag <= 12) {
+ #undef MAX_LAG
+ #define MAX_LAG 12
+ #include "deduplication/lpc_compute_autocorrelation_intrin.c"
+ }
+ else if(lag <= 16) {
+ #undef MAX_LAG
+ #define MAX_LAG 16
+ #include "deduplication/lpc_compute_autocorrelation_intrin.c"
+ }
+
}
-void FLAC__lpc_compute_lp_coefficients(const FLAC__real autoc[], unsigned *max_order, FLAC__real lp_coeff[][FLAC__MAX_LPC_ORDER], FLAC__double error[])
+void FLAC__lpc_compute_lp_coefficients(const double autoc[], uint32_t *max_order, FLAC__real lp_coeff[][FLAC__MAX_LPC_ORDER], double error[])
{
- unsigned i, j;
- FLAC__double r, err, lpc[FLAC__MAX_LPC_ORDER];
+ uint32_t i, j;
+ double r, err, lpc[FLAC__MAX_LPC_ORDER];
FLAC__ASSERT(0 != max_order);
FLAC__ASSERT(0 < *max_order);
@@ -133,12 +190,12 @@ void FLAC__lpc_compute_lp_coefficients(const FLAC__real autoc[], unsigned *max_o
r = -autoc[i+1];
for(j = 0; j < i; j++)
r -= lpc[j] * autoc[i-j];
- r/=err;
+ r /= err;
/* Update LPC coefficients and total error. */
lpc[i]=r;
for(j = 0; j < (i>>1); j++) {
- FLAC__double tmp = lpc[j];
+ double tmp = lpc[j];
lpc[j] += r * lpc[i-1-j];
lpc[i-1-j] += r * tmp;
}
@@ -152,7 +209,7 @@ void FLAC__lpc_compute_lp_coefficients(const FLAC__real autoc[], unsigned *max_o
lp_coeff[i][j] = (FLAC__real)(-lpc[j]); /* negate FIR filter coeff to get predictor coeff */
error[i] = err;
- /* see SF bug #1601812 http://sourceforge.net/tracker/index.php?func=detail&aid=1601812&group_id=13478&atid=113478 */
+ /* see SF bug https://sourceforge.net/p/flac/bugs/234/ */
if(err == 0.0) {
*max_order = i+1;
return;
@@ -160,10 +217,10 @@ void FLAC__lpc_compute_lp_coefficients(const FLAC__real autoc[], unsigned *max_o
}
}
-int FLAC__lpc_quantize_coefficients(const FLAC__real lp_coeff[], unsigned order, unsigned precision, FLAC__int32 qlp_coeff[], int *shift)
+int FLAC__lpc_quantize_coefficients(const FLAC__real lp_coeff[], uint32_t order, uint32_t precision, FLAC__int32 qlp_coeff[], int *shift)
{
- unsigned i;
- FLAC__double cmax;
+ uint32_t i;
+ double cmax;
FLAC__int32 qmax, qmin;
FLAC__ASSERT(precision > 0);
@@ -178,7 +235,7 @@ int FLAC__lpc_quantize_coefficients(const FLAC__real lp_coeff[], unsigned order,
/* calc cmax = max( |lp_coeff[i]| ) */
cmax = 0.0;
for(i = 0; i < order; i++) {
- const FLAC__double d = fabs(lp_coeff[i]);
+ const double d = fabs(lp_coeff[i]);
if(d > cmax)
cmax = d;
}
@@ -203,18 +260,12 @@ int FLAC__lpc_quantize_coefficients(const FLAC__real lp_coeff[], unsigned order,
}
if(*shift >= 0) {
- FLAC__double error = 0.0;
+ double error = 0.0;
FLAC__int32 q;
for(i = 0; i < order; i++) {
error += lp_coeff[i] * (1 << *shift);
-#if 1 /* unfortunately lround() is C99 */
- if(error >= 0.0)
- q = (FLAC__int32)(error + 0.5);
- else
- q = (FLAC__int32)(error - 0.5);
-#else
q = lround(error);
-#endif
+
#ifdef FLAC__OVERFLOW_DETECT
if(q > qmax+1) /* we expect q==qmax+1 occasionally due to rounding */
fprintf(stderr,"FLAC__lpc_quantize_coefficients: quantizer overflow: q>qmax %d>%d shift=%d cmax=%f precision=%u lpc[%u]=%f\n",q,qmax,*shift,cmax,precision+1,i,lp_coeff[i]);
@@ -230,26 +281,19 @@ int FLAC__lpc_quantize_coefficients(const FLAC__real lp_coeff[], unsigned order,
}
}
/* negative shift is very rare but due to design flaw, negative shift is
- * a NOP in the decoder, so it must be handled specially by scaling down
- * coeffs
+ * not allowed in the decoder, so it must be handled specially by scaling
+ * down coeffs
*/
else {
const int nshift = -(*shift);
- FLAC__double error = 0.0;
+ double error = 0.0;
FLAC__int32 q;
-#ifdef DEBUG
+#ifndef NDEBUG
fprintf(stderr,"FLAC__lpc_quantize_coefficients: negative shift=%d order=%u cmax=%f\n", *shift, order, cmax);
#endif
for(i = 0; i < order; i++) {
error += lp_coeff[i] / (1 << nshift);
-#if 1 /* unfortunately lround() is C99 */
- if(error >= 0.0)
- q = (FLAC__int32)(error + 0.5);
- else
- q = (FLAC__int32)(error - 0.5);
-#else
q = lround(error);
-#endif
#ifdef FLAC__OVERFLOW_DETECT
if(q > qmax+1) /* we expect q==qmax+1 occasionally due to rounding */
fprintf(stderr,"FLAC__lpc_quantize_coefficients: quantizer overflow: q>qmax %d>%d shift=%d cmax=%f precision=%u lpc[%u]=%f\n",q,qmax,*shift,cmax,precision+1,i,lp_coeff[i]);
@@ -269,11 +313,16 @@ int FLAC__lpc_quantize_coefficients(const FLAC__real lp_coeff[], unsigned order,
return 0;
}
-void FLAC__lpc_compute_residual_from_qlp_coefficients(const FLAC__int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 residual[])
+#if defined(_MSC_VER)
+// silence MSVC warnings about __restrict modifier
+#pragma warning ( disable : 4028 )
+#endif
+
+void FLAC__lpc_compute_residual_from_qlp_coefficients(const FLAC__int32 * flac_restrict data, uint32_t data_len, const FLAC__int32 * flac_restrict qlp_coeff, uint32_t order, int lp_quantization, FLAC__int32 * flac_restrict residual)
#if defined(FLAC__OVERFLOW_DETECT) || !defined(FLAC__LPC_UNROLLED_FILTER_LOOPS)
{
FLAC__int64 sumo;
- unsigned i, j;
+ uint32_t i, j;
FLAC__int32 sum;
const FLAC__int32 *history;
@@ -292,13 +341,8 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients(const FLAC__int32 *data, u
for(j = 0; j < order; j++) {
sum += qlp_coeff[j] * (*(--history));
sumo += (FLAC__int64)qlp_coeff[j] * (FLAC__int64)(*history);
-#if defined _MSC_VER
- if(sumo > 2147483647I64 || sumo < -2147483648I64)
- fprintf(stderr,"FLAC__lpc_compute_residual_from_qlp_coefficients: OVERFLOW, i=%u, j=%u, c=%d, d=%d, sumo=%I64d\n",i,j,qlp_coeff[j],*history,sumo);
-#else
if(sumo > 2147483647ll || sumo < -2147483648ll)
- fprintf(stderr,"FLAC__lpc_compute_residual_from_qlp_coefficients: OVERFLOW, i=%u, j=%u, c=%d, d=%d, sumo=%lld\n",i,j,qlp_coeff[j],*history,(long long)sumo);
-#endif
+ fprintf(stderr,"FLAC__lpc_compute_residual_from_qlp_coefficients: OVERFLOW, i=%u, j=%u, c=%d, d=%d, sumo=%" PRId64 "\n",i,j,qlp_coeff[j],*history,sumo);
}
*(residual++) = *(data++) - (sum >> lp_quantization);
}
@@ -496,25 +540,25 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients(const FLAC__int32 *data, u
for(i = 0; i < (int)data_len; i++) {
sum = 0;
switch(order) {
- case 32: sum += qlp_coeff[31] * data[i-32];
- case 31: sum += qlp_coeff[30] * data[i-31];
- case 30: sum += qlp_coeff[29] * data[i-30];
- case 29: sum += qlp_coeff[28] * data[i-29];
- case 28: sum += qlp_coeff[27] * data[i-28];
- case 27: sum += qlp_coeff[26] * data[i-27];
- case 26: sum += qlp_coeff[25] * data[i-26];
- case 25: sum += qlp_coeff[24] * data[i-25];
- case 24: sum += qlp_coeff[23] * data[i-24];
- case 23: sum += qlp_coeff[22] * data[i-23];
- case 22: sum += qlp_coeff[21] * data[i-22];
- case 21: sum += qlp_coeff[20] * data[i-21];
- case 20: sum += qlp_coeff[19] * data[i-20];
- case 19: sum += qlp_coeff[18] * data[i-19];
- case 18: sum += qlp_coeff[17] * data[i-18];
- case 17: sum += qlp_coeff[16] * data[i-17];
- case 16: sum += qlp_coeff[15] * data[i-16];
- case 15: sum += qlp_coeff[14] * data[i-15];
- case 14: sum += qlp_coeff[13] * data[i-14];
+ case 32: sum += qlp_coeff[31] * data[i-32]; /* Falls through. */
+ case 31: sum += qlp_coeff[30] * data[i-31]; /* Falls through. */
+ case 30: sum += qlp_coeff[29] * data[i-30]; /* Falls through. */
+ case 29: sum += qlp_coeff[28] * data[i-29]; /* Falls through. */
+ case 28: sum += qlp_coeff[27] * data[i-28]; /* Falls through. */
+ case 27: sum += qlp_coeff[26] * data[i-27]; /* Falls through. */
+ case 26: sum += qlp_coeff[25] * data[i-26]; /* Falls through. */
+ case 25: sum += qlp_coeff[24] * data[i-25]; /* Falls through. */
+ case 24: sum += qlp_coeff[23] * data[i-24]; /* Falls through. */
+ case 23: sum += qlp_coeff[22] * data[i-23]; /* Falls through. */
+ case 22: sum += qlp_coeff[21] * data[i-22]; /* Falls through. */
+ case 21: sum += qlp_coeff[20] * data[i-21]; /* Falls through. */
+ case 20: sum += qlp_coeff[19] * data[i-20]; /* Falls through. */
+ case 19: sum += qlp_coeff[18] * data[i-19]; /* Falls through. */
+ case 18: sum += qlp_coeff[17] * data[i-18]; /* Falls through. */
+ case 17: sum += qlp_coeff[16] * data[i-17]; /* Falls through. */
+ case 16: sum += qlp_coeff[15] * data[i-16]; /* Falls through. */
+ case 15: sum += qlp_coeff[14] * data[i-15]; /* Falls through. */
+ case 14: sum += qlp_coeff[13] * data[i-14]; /* Falls through. */
case 13: sum += qlp_coeff[12] * data[i-13];
sum += qlp_coeff[11] * data[i-12];
sum += qlp_coeff[10] * data[i-11];
@@ -535,10 +579,10 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients(const FLAC__int32 *data, u
}
#endif
-void FLAC__lpc_compute_residual_from_qlp_coefficients_wide(const FLAC__int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 residual[])
+void FLAC__lpc_compute_residual_from_qlp_coefficients_wide(const FLAC__int32 * flac_restrict data, uint32_t data_len, const FLAC__int32 * flac_restrict qlp_coeff, uint32_t order, int lp_quantization, FLAC__int32 * flac_restrict residual)
#if defined(FLAC__OVERFLOW_DETECT) || !defined(FLAC__LPC_UNROLLED_FILTER_LOOPS)
{
- unsigned i, j;
+ uint32_t i, j;
FLAC__int64 sum;
const FLAC__int32 *history;
@@ -555,20 +599,8 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients_wide(const FLAC__int32 *da
history = data;
for(j = 0; j < order; j++)
sum += (FLAC__int64)qlp_coeff[j] * (FLAC__int64)(*(--history));
- if(FLAC__bitmath_silog2_wide(sum >> lp_quantization) > 32) {
-#if defined _MSC_VER
- fprintf(stderr,"FLAC__lpc_compute_residual_from_qlp_coefficients_wide: OVERFLOW, i=%u, sum=%I64d\n", i, sum >> lp_quantization);
-#else
- fprintf(stderr,"FLAC__lpc_compute_residual_from_qlp_coefficients_wide: OVERFLOW, i=%u, sum=%lld\n", i, (long long)(sum >> lp_quantization));
-#endif
- break;
- }
- if(FLAC__bitmath_silog2_wide((FLAC__int64)(*data) - (sum >> lp_quantization)) > 32) {
-#if defined _MSC_VER
- fprintf(stderr,"FLAC__lpc_compute_residual_from_qlp_coefficients_wide: OVERFLOW, i=%u, data=%d, sum=%I64d, residual=%I64d\n", i, *data, sum >> lp_quantization, (FLAC__int64)(*data) - (sum >> lp_quantization));
-#else
- fprintf(stderr,"FLAC__lpc_compute_residual_from_qlp_coefficients_wide: OVERFLOW, i=%u, data=%d, sum=%lld, residual=%lld\n", i, *data, (long long)(sum >> lp_quantization), (long long)((FLAC__int64)(*data) - (sum >> lp_quantization)));
-#endif
+ if(FLAC__bitmath_silog2((FLAC__int64)(*data) - (sum >> lp_quantization)) > 32) {
+ fprintf(stderr,"FLAC__lpc_compute_residual_from_qlp_coefficients_wide: OVERFLOW, i=%u, data=%d, sum=%" PRId64 ", residual=%" PRId64 "\n", i, *data, (int64_t)(sum >> lp_quantization), ((FLAC__int64)(*data) - (sum >> lp_quantization)));
break;
}
*(residual++) = *(data++) - (FLAC__int32)(sum >> lp_quantization);
@@ -605,7 +637,7 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients_wide(const FLAC__int32 *da
sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- residual[i] = data[i] - (FLAC__int32)(sum >> lp_quantization);
+ residual[i] = data[i] - (sum >> lp_quantization);
}
}
else { /* order == 11 */
@@ -622,7 +654,7 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients_wide(const FLAC__int32 *da
sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- residual[i] = data[i] - (FLAC__int32)(sum >> lp_quantization);
+ residual[i] = data[i] - (sum >> lp_quantization);
}
}
}
@@ -640,7 +672,7 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients_wide(const FLAC__int32 *da
sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- residual[i] = data[i] - (FLAC__int32)(sum >> lp_quantization);
+ residual[i] = data[i] - (sum >> lp_quantization);
}
}
else { /* order == 9 */
@@ -655,7 +687,7 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients_wide(const FLAC__int32 *da
sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- residual[i] = data[i] - (FLAC__int32)(sum >> lp_quantization);
+ residual[i] = data[i] - (sum >> lp_quantization);
}
}
}
@@ -673,7 +705,7 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients_wide(const FLAC__int32 *da
sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- residual[i] = data[i] - (FLAC__int32)(sum >> lp_quantization);
+ residual[i] = data[i] - (sum >> lp_quantization);
}
}
else { /* order == 7 */
@@ -686,7 +718,7 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients_wide(const FLAC__int32 *da
sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- residual[i] = data[i] - (FLAC__int32)(sum >> lp_quantization);
+ residual[i] = data[i] - (sum >> lp_quantization);
}
}
}
@@ -700,7 +732,7 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients_wide(const FLAC__int32 *da
sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- residual[i] = data[i] - (FLAC__int32)(sum >> lp_quantization);
+ residual[i] = data[i] - (sum >> lp_quantization);
}
}
else { /* order == 5 */
@@ -711,7 +743,7 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients_wide(const FLAC__int32 *da
sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- residual[i] = data[i] - (FLAC__int32)(sum >> lp_quantization);
+ residual[i] = data[i] - (sum >> lp_quantization);
}
}
}
@@ -725,7 +757,7 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients_wide(const FLAC__int32 *da
sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- residual[i] = data[i] - (FLAC__int32)(sum >> lp_quantization);
+ residual[i] = data[i] - (sum >> lp_quantization);
}
}
else { /* order == 3 */
@@ -734,7 +766,7 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients_wide(const FLAC__int32 *da
sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- residual[i] = data[i] - (FLAC__int32)(sum >> lp_quantization);
+ residual[i] = data[i] - (sum >> lp_quantization);
}
}
}
@@ -744,12 +776,12 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients_wide(const FLAC__int32 *da
sum = 0;
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- residual[i] = data[i] - (FLAC__int32)(sum >> lp_quantization);
+ residual[i] = data[i] - (sum >> lp_quantization);
}
}
else { /* order == 1 */
for(i = 0; i < (int)data_len; i++)
- residual[i] = data[i] - (FLAC__int32)((qlp_coeff[0] * (FLAC__int64)data[i-1]) >> lp_quantization);
+ residual[i] = data[i] - ((qlp_coeff[0] * (FLAC__int64)data[i-1]) >> lp_quantization);
}
}
}
@@ -758,25 +790,25 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients_wide(const FLAC__int32 *da
for(i = 0; i < (int)data_len; i++) {
sum = 0;
switch(order) {
- case 32: sum += qlp_coeff[31] * (FLAC__int64)data[i-32];
- case 31: sum += qlp_coeff[30] * (FLAC__int64)data[i-31];
- case 30: sum += qlp_coeff[29] * (FLAC__int64)data[i-30];
- case 29: sum += qlp_coeff[28] * (FLAC__int64)data[i-29];
- case 28: sum += qlp_coeff[27] * (FLAC__int64)data[i-28];
- case 27: sum += qlp_coeff[26] * (FLAC__int64)data[i-27];
- case 26: sum += qlp_coeff[25] * (FLAC__int64)data[i-26];
- case 25: sum += qlp_coeff[24] * (FLAC__int64)data[i-25];
- case 24: sum += qlp_coeff[23] * (FLAC__int64)data[i-24];
- case 23: sum += qlp_coeff[22] * (FLAC__int64)data[i-23];
- case 22: sum += qlp_coeff[21] * (FLAC__int64)data[i-22];
- case 21: sum += qlp_coeff[20] * (FLAC__int64)data[i-21];
- case 20: sum += qlp_coeff[19] * (FLAC__int64)data[i-20];
- case 19: sum += qlp_coeff[18] * (FLAC__int64)data[i-19];
- case 18: sum += qlp_coeff[17] * (FLAC__int64)data[i-18];
- case 17: sum += qlp_coeff[16] * (FLAC__int64)data[i-17];
- case 16: sum += qlp_coeff[15] * (FLAC__int64)data[i-16];
- case 15: sum += qlp_coeff[14] * (FLAC__int64)data[i-15];
- case 14: sum += qlp_coeff[13] * (FLAC__int64)data[i-14];
+ case 32: sum += qlp_coeff[31] * (FLAC__int64)data[i-32]; /* Falls through. */
+ case 31: sum += qlp_coeff[30] * (FLAC__int64)data[i-31]; /* Falls through. */
+ case 30: sum += qlp_coeff[29] * (FLAC__int64)data[i-30]; /* Falls through. */
+ case 29: sum += qlp_coeff[28] * (FLAC__int64)data[i-29]; /* Falls through. */
+ case 28: sum += qlp_coeff[27] * (FLAC__int64)data[i-28]; /* Falls through. */
+ case 27: sum += qlp_coeff[26] * (FLAC__int64)data[i-27]; /* Falls through. */
+ case 26: sum += qlp_coeff[25] * (FLAC__int64)data[i-26]; /* Falls through. */
+ case 25: sum += qlp_coeff[24] * (FLAC__int64)data[i-25]; /* Falls through. */
+ case 24: sum += qlp_coeff[23] * (FLAC__int64)data[i-24]; /* Falls through. */
+ case 23: sum += qlp_coeff[22] * (FLAC__int64)data[i-23]; /* Falls through. */
+ case 22: sum += qlp_coeff[21] * (FLAC__int64)data[i-22]; /* Falls through. */
+ case 21: sum += qlp_coeff[20] * (FLAC__int64)data[i-21]; /* Falls through. */
+ case 20: sum += qlp_coeff[19] * (FLAC__int64)data[i-20]; /* Falls through. */
+ case 19: sum += qlp_coeff[18] * (FLAC__int64)data[i-19]; /* Falls through. */
+ case 18: sum += qlp_coeff[17] * (FLAC__int64)data[i-18]; /* Falls through. */
+ case 17: sum += qlp_coeff[16] * (FLAC__int64)data[i-17]; /* Falls through. */
+ case 16: sum += qlp_coeff[15] * (FLAC__int64)data[i-16]; /* Falls through. */
+ case 15: sum += qlp_coeff[14] * (FLAC__int64)data[i-15]; /* Falls through. */
+ case 14: sum += qlp_coeff[13] * (FLAC__int64)data[i-14]; /* Falls through. */
case 13: sum += qlp_coeff[12] * (FLAC__int64)data[i-13];
sum += qlp_coeff[11] * (FLAC__int64)data[i-12];
sum += qlp_coeff[10] * (FLAC__int64)data[i-11];
@@ -791,19 +823,160 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients_wide(const FLAC__int32 *da
sum += qlp_coeff[ 1] * (FLAC__int64)data[i- 2];
sum += qlp_coeff[ 0] * (FLAC__int64)data[i- 1];
}
- residual[i] = data[i] - (FLAC__int32)(sum >> lp_quantization);
+ residual[i] = data[i] - (sum >> lp_quantization);
}
}
}
#endif
+FLAC__bool FLAC__lpc_compute_residual_from_qlp_coefficients_limit_residual(const FLAC__int32 * flac_restrict data, uint32_t data_len, const FLAC__int32 * flac_restrict qlp_coeff, uint32_t order, int lp_quantization, FLAC__int32 * flac_restrict residual)
+{
+ int i;
+ FLAC__int64 sum, residual_to_check;
+
+ FLAC__ASSERT(order > 0);
+ FLAC__ASSERT(order <= 32);
+
+ for(i = 0; i < (int)data_len; i++) {
+ sum = 0;
+ switch(order) {
+ case 32: sum += qlp_coeff[31] * (FLAC__int64)data[i-32]; /* Falls through. */
+ case 31: sum += qlp_coeff[30] * (FLAC__int64)data[i-31]; /* Falls through. */
+ case 30: sum += qlp_coeff[29] * (FLAC__int64)data[i-30]; /* Falls through. */
+ case 29: sum += qlp_coeff[28] * (FLAC__int64)data[i-29]; /* Falls through. */
+ case 28: sum += qlp_coeff[27] * (FLAC__int64)data[i-28]; /* Falls through. */
+ case 27: sum += qlp_coeff[26] * (FLAC__int64)data[i-27]; /* Falls through. */
+ case 26: sum += qlp_coeff[25] * (FLAC__int64)data[i-26]; /* Falls through. */
+ case 25: sum += qlp_coeff[24] * (FLAC__int64)data[i-25]; /* Falls through. */
+ case 24: sum += qlp_coeff[23] * (FLAC__int64)data[i-24]; /* Falls through. */
+ case 23: sum += qlp_coeff[22] * (FLAC__int64)data[i-23]; /* Falls through. */
+ case 22: sum += qlp_coeff[21] * (FLAC__int64)data[i-22]; /* Falls through. */
+ case 21: sum += qlp_coeff[20] * (FLAC__int64)data[i-21]; /* Falls through. */
+ case 20: sum += qlp_coeff[19] * (FLAC__int64)data[i-20]; /* Falls through. */
+ case 19: sum += qlp_coeff[18] * (FLAC__int64)data[i-19]; /* Falls through. */
+ case 18: sum += qlp_coeff[17] * (FLAC__int64)data[i-18]; /* Falls through. */
+ case 17: sum += qlp_coeff[16] * (FLAC__int64)data[i-17]; /* Falls through. */
+ case 16: sum += qlp_coeff[15] * (FLAC__int64)data[i-16]; /* Falls through. */
+ case 15: sum += qlp_coeff[14] * (FLAC__int64)data[i-15]; /* Falls through. */
+ case 14: sum += qlp_coeff[13] * (FLAC__int64)data[i-14]; /* Falls through. */
+ case 13: sum += qlp_coeff[12] * (FLAC__int64)data[i-13]; /* Falls through. */
+ case 12: sum += qlp_coeff[11] * (FLAC__int64)data[i-12]; /* Falls through. */
+ case 11: sum += qlp_coeff[10] * (FLAC__int64)data[i-11]; /* Falls through. */
+ case 10: sum += qlp_coeff[ 9] * (FLAC__int64)data[i-10]; /* Falls through. */
+ case 9: sum += qlp_coeff[ 8] * (FLAC__int64)data[i- 9]; /* Falls through. */
+ case 8: sum += qlp_coeff[ 7] * (FLAC__int64)data[i- 8]; /* Falls through. */
+ case 7: sum += qlp_coeff[ 6] * (FLAC__int64)data[i- 7]; /* Falls through. */
+ case 6: sum += qlp_coeff[ 5] * (FLAC__int64)data[i- 6]; /* Falls through. */
+ case 5: sum += qlp_coeff[ 4] * (FLAC__int64)data[i- 5]; /* Falls through. */
+ case 4: sum += qlp_coeff[ 3] * (FLAC__int64)data[i- 4]; /* Falls through. */
+ case 3: sum += qlp_coeff[ 2] * (FLAC__int64)data[i- 3]; /* Falls through. */
+ case 2: sum += qlp_coeff[ 1] * (FLAC__int64)data[i- 2]; /* Falls through. */
+ case 1: sum += qlp_coeff[ 0] * (FLAC__int64)data[i- 1];
+ }
+ residual_to_check = data[i] - (sum >> lp_quantization);
+ /* residual must not be INT32_MIN because abs(INT32_MIN) is undefined */
+ if(residual_to_check <= INT32_MIN || residual_to_check > INT32_MAX)
+ return false;
+ else
+ residual[i] = residual_to_check;
+ }
+ return true;
+}
+
+FLAC__bool FLAC__lpc_compute_residual_from_qlp_coefficients_limit_residual_33bit(const FLAC__int64 * flac_restrict data, uint32_t data_len, const FLAC__int32 * flac_restrict qlp_coeff, uint32_t order, int lp_quantization, FLAC__int32 * flac_restrict residual)
+{
+ int i;
+ FLAC__int64 sum, residual_to_check;
+
+ FLAC__ASSERT(order > 0);
+ FLAC__ASSERT(order <= 32);
+
+ for(i = 0; i < (int)data_len; i++) {
+ sum = 0;
+ switch(order) {
+ case 32: sum += qlp_coeff[31] * data[i-32]; /* Falls through. */
+ case 31: sum += qlp_coeff[30] * data[i-31]; /* Falls through. */
+ case 30: sum += qlp_coeff[29] * data[i-30]; /* Falls through. */
+ case 29: sum += qlp_coeff[28] * data[i-29]; /* Falls through. */
+ case 28: sum += qlp_coeff[27] * data[i-28]; /* Falls through. */
+ case 27: sum += qlp_coeff[26] * data[i-27]; /* Falls through. */
+ case 26: sum += qlp_coeff[25] * data[i-26]; /* Falls through. */
+ case 25: sum += qlp_coeff[24] * data[i-25]; /* Falls through. */
+ case 24: sum += qlp_coeff[23] * data[i-24]; /* Falls through. */
+ case 23: sum += qlp_coeff[22] * data[i-23]; /* Falls through. */
+ case 22: sum += qlp_coeff[21] * data[i-22]; /* Falls through. */
+ case 21: sum += qlp_coeff[20] * data[i-21]; /* Falls through. */
+ case 20: sum += qlp_coeff[19] * data[i-20]; /* Falls through. */
+ case 19: sum += qlp_coeff[18] * data[i-19]; /* Falls through. */
+ case 18: sum += qlp_coeff[17] * data[i-18]; /* Falls through. */
+ case 17: sum += qlp_coeff[16] * data[i-17]; /* Falls through. */
+ case 16: sum += qlp_coeff[15] * data[i-16]; /* Falls through. */
+ case 15: sum += qlp_coeff[14] * data[i-15]; /* Falls through. */
+ case 14: sum += qlp_coeff[13] * data[i-14]; /* Falls through. */
+ case 13: sum += qlp_coeff[12] * data[i-13]; /* Falls through. */
+ case 12: sum += qlp_coeff[11] * data[i-12]; /* Falls through. */
+ case 11: sum += qlp_coeff[10] * data[i-11]; /* Falls through. */
+ case 10: sum += qlp_coeff[ 9] * data[i-10]; /* Falls through. */
+ case 9: sum += qlp_coeff[ 8] * data[i- 9]; /* Falls through. */
+ case 8: sum += qlp_coeff[ 7] * data[i- 8]; /* Falls through. */
+ case 7: sum += qlp_coeff[ 6] * data[i- 7]; /* Falls through. */
+ case 6: sum += qlp_coeff[ 5] * data[i- 6]; /* Falls through. */
+ case 5: sum += qlp_coeff[ 4] * data[i- 5]; /* Falls through. */
+ case 4: sum += qlp_coeff[ 3] * data[i- 4]; /* Falls through. */
+ case 3: sum += qlp_coeff[ 2] * data[i- 3]; /* Falls through. */
+ case 2: sum += qlp_coeff[ 1] * data[i- 2]; /* Falls through. */
+ case 1: sum += qlp_coeff[ 0] * data[i- 1];
+ }
+ residual_to_check = data[i] - (sum >> lp_quantization);
+ /* residual must not be INT32_MIN because abs(INT32_MIN) is undefined */
+ if(residual_to_check <= INT32_MIN || residual_to_check > INT32_MAX)
+ return false;
+ else
+ residual[i] = residual_to_check;
+ }
+ return true;
+}
+
#endif /* !defined FLAC__INTEGER_ONLY_LIBRARY */
-void FLAC__lpc_restore_signal(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[])
+uint32_t FLAC__lpc_max_prediction_before_shift_bps(uint32_t subframe_bps, const FLAC__int32 * flac_restrict qlp_coeff, uint32_t order)
+{
+ /* This used to be subframe_bps + qlp_coeff_precision + FLAC__bitmath_ilog2(order)
+ * but that treats both the samples as well as the predictor as unknown. The
+ * predictor is known however, so taking the log2 of the sum of the absolute values
+ * of all coefficients is a more accurate representation of the predictor */
+ FLAC__int32 abs_sum_of_qlp_coeff = 0;
+ uint32_t i;
+ for(i = 0; i < order; i++)
+ abs_sum_of_qlp_coeff += abs(qlp_coeff[i]);
+ if(abs_sum_of_qlp_coeff == 0)
+ abs_sum_of_qlp_coeff = 1;
+ return subframe_bps + FLAC__bitmath_silog2(abs_sum_of_qlp_coeff);
+}
+
+
+uint32_t FLAC__lpc_max_residual_bps(uint32_t subframe_bps, const FLAC__int32 * flac_restrict qlp_coeff, uint32_t order, int lp_quantization)
+{
+ FLAC__int32 predictor_sum_bps = FLAC__lpc_max_prediction_before_shift_bps(subframe_bps, qlp_coeff, order) - lp_quantization;
+ if((int)subframe_bps > predictor_sum_bps)
+ return subframe_bps + 1;
+ else
+ return predictor_sum_bps + 1;
+}
+
+#if defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION) && !defined(FUZZING_BUILD_MODE_FLAC_SANITIZE_SIGNED_INTEGER_OVERFLOW)
+/* The attribute below is to silence the undefined sanitizer of oss-fuzz.
+ * Because fuzzing feeds bogus predictors and residual samples to the
+ * decoder, having overflows in this section is unavoidable. Also,
+ * because the calculated values are audio path only, there is no
+ * potential for security problems */
+__attribute__((no_sanitize("signed-integer-overflow")))
+#endif
+void FLAC__lpc_restore_signal(const FLAC__int32 * flac_restrict residual, uint32_t data_len, const FLAC__int32 * flac_restrict qlp_coeff, uint32_t order, int lp_quantization, FLAC__int32 * flac_restrict data)
#if defined(FLAC__OVERFLOW_DETECT) || !defined(FLAC__LPC_UNROLLED_FILTER_LOOPS)
{
FLAC__int64 sumo;
- unsigned i, j;
+ uint32_t i, j;
FLAC__int32 sum;
const FLAC__int32 *r = residual, *history;
@@ -822,12 +995,9 @@ void FLAC__lpc_restore_signal(const FLAC__int32 residual[], unsigned data_len, c
for(j = 0; j < order; j++) {
sum += qlp_coeff[j] * (*(--history));
sumo += (FLAC__int64)qlp_coeff[j] * (FLAC__int64)(*history);
-#if defined _MSC_VER
- if(sumo > 2147483647I64 || sumo < -2147483648I64)
- fprintf(stderr,"FLAC__lpc_restore_signal: OVERFLOW, i=%u, j=%u, c=%d, d=%d, sumo=%I64d\n",i,j,qlp_coeff[j],*history,sumo);
-#else
+#ifdef FLAC__OVERFLOW_DETECT
if(sumo > 2147483647ll || sumo < -2147483648ll)
- fprintf(stderr,"FLAC__lpc_restore_signal: OVERFLOW, i=%u, j=%u, c=%d, d=%d, sumo=%lld\n",i,j,qlp_coeff[j],*history,(long long)sumo);
+ fprintf(stderr,"FLAC__lpc_restore_signal: OVERFLOW, i=%u, j=%u, c=%d, d=%d, sumo=%" PRId64 "\n",i,j,qlp_coeff[j],*history,sumo);
#endif
}
*(data++) = *(r++) + (sum >> lp_quantization);
@@ -1026,25 +1196,25 @@ void FLAC__lpc_restore_signal(const FLAC__int32 residual[], unsigned data_len, c
for(i = 0; i < (int)data_len; i++) {
sum = 0;
switch(order) {
- case 32: sum += qlp_coeff[31] * data[i-32];
- case 31: sum += qlp_coeff[30] * data[i-31];
- case 30: sum += qlp_coeff[29] * data[i-30];
- case 29: sum += qlp_coeff[28] * data[i-29];
- case 28: sum += qlp_coeff[27] * data[i-28];
- case 27: sum += qlp_coeff[26] * data[i-27];
- case 26: sum += qlp_coeff[25] * data[i-26];
- case 25: sum += qlp_coeff[24] * data[i-25];
- case 24: sum += qlp_coeff[23] * data[i-24];
- case 23: sum += qlp_coeff[22] * data[i-23];
- case 22: sum += qlp_coeff[21] * data[i-22];
- case 21: sum += qlp_coeff[20] * data[i-21];
- case 20: sum += qlp_coeff[19] * data[i-20];
- case 19: sum += qlp_coeff[18] * data[i-19];
- case 18: sum += qlp_coeff[17] * data[i-18];
- case 17: sum += qlp_coeff[16] * data[i-17];
- case 16: sum += qlp_coeff[15] * data[i-16];
- case 15: sum += qlp_coeff[14] * data[i-15];
- case 14: sum += qlp_coeff[13] * data[i-14];
+ case 32: sum += qlp_coeff[31] * data[i-32]; /* Falls through. */
+ case 31: sum += qlp_coeff[30] * data[i-31]; /* Falls through. */
+ case 30: sum += qlp_coeff[29] * data[i-30]; /* Falls through. */
+ case 29: sum += qlp_coeff[28] * data[i-29]; /* Falls through. */
+ case 28: sum += qlp_coeff[27] * data[i-28]; /* Falls through. */
+ case 27: sum += qlp_coeff[26] * data[i-27]; /* Falls through. */
+ case 26: sum += qlp_coeff[25] * data[i-26]; /* Falls through. */
+ case 25: sum += qlp_coeff[24] * data[i-25]; /* Falls through. */
+ case 24: sum += qlp_coeff[23] * data[i-24]; /* Falls through. */
+ case 23: sum += qlp_coeff[22] * data[i-23]; /* Falls through. */
+ case 22: sum += qlp_coeff[21] * data[i-22]; /* Falls through. */
+ case 21: sum += qlp_coeff[20] * data[i-21]; /* Falls through. */
+ case 20: sum += qlp_coeff[19] * data[i-20]; /* Falls through. */
+ case 19: sum += qlp_coeff[18] * data[i-19]; /* Falls through. */
+ case 18: sum += qlp_coeff[17] * data[i-18]; /* Falls through. */
+ case 17: sum += qlp_coeff[16] * data[i-17]; /* Falls through. */
+ case 16: sum += qlp_coeff[15] * data[i-16]; /* Falls through. */
+ case 15: sum += qlp_coeff[14] * data[i-15]; /* Falls through. */
+ case 14: sum += qlp_coeff[13] * data[i-14]; /* Falls through. */
case 13: sum += qlp_coeff[12] * data[i-13];
sum += qlp_coeff[11] * data[i-12];
sum += qlp_coeff[10] * data[i-11];
@@ -1065,10 +1235,10 @@ void FLAC__lpc_restore_signal(const FLAC__int32 residual[], unsigned data_len, c
}
#endif
-void FLAC__lpc_restore_signal_wide(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[])
+void FLAC__lpc_restore_signal_wide(const FLAC__int32 * flac_restrict residual, uint32_t data_len, const FLAC__int32 * flac_restrict qlp_coeff, uint32_t order, int lp_quantization, FLAC__int32 * flac_restrict data)
#if defined(FLAC__OVERFLOW_DETECT) || !defined(FLAC__LPC_UNROLLED_FILTER_LOOPS)
{
- unsigned i, j;
+ uint32_t i, j;
FLAC__int64 sum;
const FLAC__int32 *r = residual, *history;
@@ -1085,23 +1255,13 @@ void FLAC__lpc_restore_signal_wide(const FLAC__int32 residual[], unsigned data_l
history = data;
for(j = 0; j < order; j++)
sum += (FLAC__int64)qlp_coeff[j] * (FLAC__int64)(*(--history));
- if(FLAC__bitmath_silog2_wide(sum >> lp_quantization) > 32) {
-#ifdef _MSC_VER
- fprintf(stderr,"FLAC__lpc_restore_signal_wide: OVERFLOW, i=%u, sum=%I64d\n", i, sum >> lp_quantization);
-#else
- fprintf(stderr,"FLAC__lpc_restore_signal_wide: OVERFLOW, i=%u, sum=%lld\n", i, (long long)(sum >> lp_quantization));
-#endif
+#ifdef FLAC__OVERFLOW_DETECT
+ if(FLAC__bitmath_silog2((FLAC__int64)(*r) + (sum >> lp_quantization)) > 32) {
+ fprintf(stderr,"FLAC__lpc_restore_signal_wide: OVERFLOW, i=%u, residual=%d, sum=%" PRId64 ", data=%" PRId64 "\n", i, *r, (sum >> lp_quantization), ((FLAC__int64)(*r) + (sum >> lp_quantization)));
break;
}
- if(FLAC__bitmath_silog2_wide((FLAC__int64)(*r) + (sum >> lp_quantization)) > 32) {
-#ifdef _MSC_VER
- fprintf(stderr,"FLAC__lpc_restore_signal_wide: OVERFLOW, i=%u, residual=%d, sum=%I64d, data=%I64d\n", i, *r, sum >> lp_quantization, (FLAC__int64)(*r) + (sum >> lp_quantization));
-#else
- fprintf(stderr,"FLAC__lpc_restore_signal_wide: OVERFLOW, i=%u, residual=%d, sum=%lld, data=%lld\n", i, *r, (long long)(sum >> lp_quantization), (long long)((FLAC__int64)(*r) + (sum >> lp_quantization)));
#endif
- break;
- }
- *(data++) = *(r++) + (FLAC__int32)(sum >> lp_quantization);
+ *(data++) = (FLAC__int32)(*(r++) + (sum >> lp_quantization));
}
}
#else /* fully unrolled version for normal use */
@@ -1135,7 +1295,7 @@ void FLAC__lpc_restore_signal_wide(const FLAC__int32 residual[], unsigned data_l
sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- data[i] = residual[i] + (FLAC__int32)(sum >> lp_quantization);
+ data[i] = (FLAC__int32) (residual[i] + (sum >> lp_quantization));
}
}
else { /* order == 11 */
@@ -1152,7 +1312,7 @@ void FLAC__lpc_restore_signal_wide(const FLAC__int32 residual[], unsigned data_l
sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- data[i] = residual[i] + (FLAC__int32)(sum >> lp_quantization);
+ data[i] = (FLAC__int32) (residual[i] + (sum >> lp_quantization));
}
}
}
@@ -1170,7 +1330,7 @@ void FLAC__lpc_restore_signal_wide(const FLAC__int32 residual[], unsigned data_l
sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- data[i] = residual[i] + (FLAC__int32)(sum >> lp_quantization);
+ data[i] = (FLAC__int32) (residual[i] + (sum >> lp_quantization));
}
}
else { /* order == 9 */
@@ -1185,7 +1345,7 @@ void FLAC__lpc_restore_signal_wide(const FLAC__int32 residual[], unsigned data_l
sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- data[i] = residual[i] + (FLAC__int32)(sum >> lp_quantization);
+ data[i] = (FLAC__int32) (residual[i] + (sum >> lp_quantization));
}
}
}
@@ -1203,7 +1363,7 @@ void FLAC__lpc_restore_signal_wide(const FLAC__int32 residual[], unsigned data_l
sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- data[i] = residual[i] + (FLAC__int32)(sum >> lp_quantization);
+ data[i] = (FLAC__int32) (residual[i] + (sum >> lp_quantization));
}
}
else { /* order == 7 */
@@ -1216,7 +1376,7 @@ void FLAC__lpc_restore_signal_wide(const FLAC__int32 residual[], unsigned data_l
sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- data[i] = residual[i] + (FLAC__int32)(sum >> lp_quantization);
+ data[i] = (FLAC__int32) (residual[i] + (sum >> lp_quantization));
}
}
}
@@ -1230,7 +1390,7 @@ void FLAC__lpc_restore_signal_wide(const FLAC__int32 residual[], unsigned data_l
sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- data[i] = residual[i] + (FLAC__int32)(sum >> lp_quantization);
+ data[i] = (FLAC__int32) (residual[i] + (sum >> lp_quantization));
}
}
else { /* order == 5 */
@@ -1241,7 +1401,7 @@ void FLAC__lpc_restore_signal_wide(const FLAC__int32 residual[], unsigned data_l
sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- data[i] = residual[i] + (FLAC__int32)(sum >> lp_quantization);
+ data[i] = (FLAC__int32) (residual[i] + (sum >> lp_quantization));
}
}
}
@@ -1255,7 +1415,7 @@ void FLAC__lpc_restore_signal_wide(const FLAC__int32 residual[], unsigned data_l
sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- data[i] = residual[i] + (FLAC__int32)(sum >> lp_quantization);
+ data[i] = (FLAC__int32) (residual[i] + (sum >> lp_quantization));
}
}
else { /* order == 3 */
@@ -1264,7 +1424,7 @@ void FLAC__lpc_restore_signal_wide(const FLAC__int32 residual[], unsigned data_l
sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- data[i] = residual[i] + (FLAC__int32)(sum >> lp_quantization);
+ data[i] = (FLAC__int32) (residual[i] + (sum >> lp_quantization));
}
}
}
@@ -1274,12 +1434,12 @@ void FLAC__lpc_restore_signal_wide(const FLAC__int32 residual[], unsigned data_l
sum = 0;
sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
- data[i] = residual[i] + (FLAC__int32)(sum >> lp_quantization);
+ data[i] = (FLAC__int32) (residual[i] + (sum >> lp_quantization));
}
}
else { /* order == 1 */
for(i = 0; i < (int)data_len; i++)
- data[i] = residual[i] + (FLAC__int32)((qlp_coeff[0] * (FLAC__int64)data[i-1]) >> lp_quantization);
+ data[i] = (FLAC__int32)(residual[i] + ((qlp_coeff[0] * (FLAC__int64)data[i-1]) >> lp_quantization));
}
}
}
@@ -1288,25 +1448,25 @@ void FLAC__lpc_restore_signal_wide(const FLAC__int32 residual[], unsigned data_l
for(i = 0; i < (int)data_len; i++) {
sum = 0;
switch(order) {
- case 32: sum += qlp_coeff[31] * (FLAC__int64)data[i-32];
- case 31: sum += qlp_coeff[30] * (FLAC__int64)data[i-31];
- case 30: sum += qlp_coeff[29] * (FLAC__int64)data[i-30];
- case 29: sum += qlp_coeff[28] * (FLAC__int64)data[i-29];
- case 28: sum += qlp_coeff[27] * (FLAC__int64)data[i-28];
- case 27: sum += qlp_coeff[26] * (FLAC__int64)data[i-27];
- case 26: sum += qlp_coeff[25] * (FLAC__int64)data[i-26];
- case 25: sum += qlp_coeff[24] * (FLAC__int64)data[i-25];
- case 24: sum += qlp_coeff[23] * (FLAC__int64)data[i-24];
- case 23: sum += qlp_coeff[22] * (FLAC__int64)data[i-23];
- case 22: sum += qlp_coeff[21] * (FLAC__int64)data[i-22];
- case 21: sum += qlp_coeff[20] * (FLAC__int64)data[i-21];
- case 20: sum += qlp_coeff[19] * (FLAC__int64)data[i-20];
- case 19: sum += qlp_coeff[18] * (FLAC__int64)data[i-19];
- case 18: sum += qlp_coeff[17] * (FLAC__int64)data[i-18];
- case 17: sum += qlp_coeff[16] * (FLAC__int64)data[i-17];
- case 16: sum += qlp_coeff[15] * (FLAC__int64)data[i-16];
- case 15: sum += qlp_coeff[14] * (FLAC__int64)data[i-15];
- case 14: sum += qlp_coeff[13] * (FLAC__int64)data[i-14];
+ case 32: sum += qlp_coeff[31] * (FLAC__int64)data[i-32]; /* Falls through. */
+ case 31: sum += qlp_coeff[30] * (FLAC__int64)data[i-31]; /* Falls through. */
+ case 30: sum += qlp_coeff[29] * (FLAC__int64)data[i-30]; /* Falls through. */
+ case 29: sum += qlp_coeff[28] * (FLAC__int64)data[i-29]; /* Falls through. */
+ case 28: sum += qlp_coeff[27] * (FLAC__int64)data[i-28]; /* Falls through. */
+ case 27: sum += qlp_coeff[26] * (FLAC__int64)data[i-27]; /* Falls through. */
+ case 26: sum += qlp_coeff[25] * (FLAC__int64)data[i-26]; /* Falls through. */
+ case 25: sum += qlp_coeff[24] * (FLAC__int64)data[i-25]; /* Falls through. */
+ case 24: sum += qlp_coeff[23] * (FLAC__int64)data[i-24]; /* Falls through. */
+ case 23: sum += qlp_coeff[22] * (FLAC__int64)data[i-23]; /* Falls through. */
+ case 22: sum += qlp_coeff[21] * (FLAC__int64)data[i-22]; /* Falls through. */
+ case 21: sum += qlp_coeff[20] * (FLAC__int64)data[i-21]; /* Falls through. */
+ case 20: sum += qlp_coeff[19] * (FLAC__int64)data[i-20]; /* Falls through. */
+ case 19: sum += qlp_coeff[18] * (FLAC__int64)data[i-19]; /* Falls through. */
+ case 18: sum += qlp_coeff[17] * (FLAC__int64)data[i-18]; /* Falls through. */
+ case 17: sum += qlp_coeff[16] * (FLAC__int64)data[i-17]; /* Falls through. */
+ case 16: sum += qlp_coeff[15] * (FLAC__int64)data[i-16]; /* Falls through. */
+ case 15: sum += qlp_coeff[14] * (FLAC__int64)data[i-15]; /* Falls through. */
+ case 14: sum += qlp_coeff[13] * (FLAC__int64)data[i-14]; /* Falls through. */
case 13: sum += qlp_coeff[12] * (FLAC__int64)data[i-13];
sum += qlp_coeff[11] * (FLAC__int64)data[i-12];
sum += qlp_coeff[10] * (FLAC__int64)data[i-11];
@@ -1321,29 +1481,114 @@ void FLAC__lpc_restore_signal_wide(const FLAC__int32 residual[], unsigned data_l
sum += qlp_coeff[ 1] * (FLAC__int64)data[i- 2];
sum += qlp_coeff[ 0] * (FLAC__int64)data[i- 1];
}
- data[i] = residual[i] + (FLAC__int32)(sum >> lp_quantization);
+ data[i] = (FLAC__int32) (residual[i] + (sum >> lp_quantization));
+ }
+ }
+}
+#endif
+
+#if defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION) && !defined(FUZZING_BUILD_MODE_FLAC_SANITIZE_SIGNED_INTEGER_OVERFLOW)
+/* The attribute below is to silence the undefined sanitizer of oss-fuzz.
+ * Because fuzzing feeds bogus predictors and residual samples to the
+ * decoder, having overflows in this section is unavoidable. Also,
+ * because the calculated values are audio path only, there is no
+ * potential for security problems */
+__attribute__((no_sanitize("signed-integer-overflow")))
+#endif
+void FLAC__lpc_restore_signal_wide_33bit(const FLAC__int32 * flac_restrict residual, uint32_t data_len, const FLAC__int32 * flac_restrict qlp_coeff, uint32_t order, int lp_quantization, FLAC__int64 * flac_restrict data)
+#if defined(FLAC__OVERFLOW_DETECT) || !defined(FLAC__LPC_UNROLLED_FILTER_LOOPS)
+{
+ uint32_t i, j;
+ FLAC__int64 sum;
+ const FLAC__int32 *r = residual;
+ const FLAC__int64 *history;
+
+ FLAC__ASSERT(order > 0);
+
+ for(i = 0; i < data_len; i++) {
+ sum = 0;
+ history = data;
+ for(j = 0; j < order; j++)
+ sum += (FLAC__int64)qlp_coeff[j] * (FLAC__int64)(*(--history));
+#ifdef FLAC__OVERFLOW_DETECT
+ if(FLAC__bitmath_silog2((FLAC__int64)(*r) + (sum >> lp_quantization)) > 33) {
+ fprintf(stderr,"FLAC__lpc_restore_signal_33bit: OVERFLOW, i=%u, residual=%d, sum=%" PRId64 ", data=%" PRId64 "\n", i, *r, (sum >> lp_quantization), ((FLAC__int64)(*r) + (sum >> lp_quantization)));
+ break;
+ }
+#endif
+ *(data++) = (FLAC__int64)(*(r++)) + (sum >> lp_quantization);
+ }
+}
+#else /* unrolled version for normal use */
+{
+ int i;
+ FLAC__int64 sum;
+
+ FLAC__ASSERT(order > 0);
+ FLAC__ASSERT(order <= 32);
+
+ for(i = 0; i < (int)data_len; i++) {
+ sum = 0;
+ switch(order) {
+ case 32: sum += qlp_coeff[31] * data[i-32]; /* Falls through. */
+ case 31: sum += qlp_coeff[30] * data[i-31]; /* Falls through. */
+ case 30: sum += qlp_coeff[29] * data[i-30]; /* Falls through. */
+ case 29: sum += qlp_coeff[28] * data[i-29]; /* Falls through. */
+ case 28: sum += qlp_coeff[27] * data[i-28]; /* Falls through. */
+ case 27: sum += qlp_coeff[26] * data[i-27]; /* Falls through. */
+ case 26: sum += qlp_coeff[25] * data[i-26]; /* Falls through. */
+ case 25: sum += qlp_coeff[24] * data[i-25]; /* Falls through. */
+ case 24: sum += qlp_coeff[23] * data[i-24]; /* Falls through. */
+ case 23: sum += qlp_coeff[22] * data[i-23]; /* Falls through. */
+ case 22: sum += qlp_coeff[21] * data[i-22]; /* Falls through. */
+ case 21: sum += qlp_coeff[20] * data[i-21]; /* Falls through. */
+ case 20: sum += qlp_coeff[19] * data[i-20]; /* Falls through. */
+ case 19: sum += qlp_coeff[18] * data[i-19]; /* Falls through. */
+ case 18: sum += qlp_coeff[17] * data[i-18]; /* Falls through. */
+ case 17: sum += qlp_coeff[16] * data[i-17]; /* Falls through. */
+ case 16: sum += qlp_coeff[15] * data[i-16]; /* Falls through. */
+ case 15: sum += qlp_coeff[14] * data[i-15]; /* Falls through. */
+ case 14: sum += qlp_coeff[13] * data[i-14]; /* Falls through. */
+ case 13: sum += qlp_coeff[12] * data[i-13]; /* Falls through. */
+ case 12: sum += qlp_coeff[11] * data[i-12]; /* Falls through. */
+ case 11: sum += qlp_coeff[10] * data[i-11]; /* Falls through. */
+ case 10: sum += qlp_coeff[ 9] * data[i-10]; /* Falls through. */
+ case 9: sum += qlp_coeff[ 8] * data[i- 9]; /* Falls through. */
+ case 8: sum += qlp_coeff[ 7] * data[i- 8]; /* Falls through. */
+ case 7: sum += qlp_coeff[ 6] * data[i- 7]; /* Falls through. */
+ case 6: sum += qlp_coeff[ 5] * data[i- 6]; /* Falls through. */
+ case 5: sum += qlp_coeff[ 4] * data[i- 5]; /* Falls through. */
+ case 4: sum += qlp_coeff[ 3] * data[i- 4]; /* Falls through. */
+ case 3: sum += qlp_coeff[ 2] * data[i- 3]; /* Falls through. */
+ case 2: sum += qlp_coeff[ 1] * data[i- 2]; /* Falls through. */
+ case 1: sum += qlp_coeff[ 0] * data[i- 1];
}
+ data[i] = residual[i] + (sum >> lp_quantization);
}
}
#endif
+#if defined(_MSC_VER)
+#pragma warning ( default : 4028 )
+#endif
+
#ifndef FLAC__INTEGER_ONLY_LIBRARY
-FLAC__double FLAC__lpc_compute_expected_bits_per_residual_sample(FLAC__double lpc_error, unsigned total_samples)
+double FLAC__lpc_compute_expected_bits_per_residual_sample(double lpc_error, uint32_t total_samples)
{
- FLAC__double error_scale;
+ double error_scale;
FLAC__ASSERT(total_samples > 0);
- error_scale = 0.5 * M_LN2 * M_LN2 / (FLAC__double)total_samples;
+ error_scale = 0.5 / (double)total_samples;
return FLAC__lpc_compute_expected_bits_per_residual_sample_with_error_scale(lpc_error, error_scale);
}
-FLAC__double FLAC__lpc_compute_expected_bits_per_residual_sample_with_error_scale(FLAC__double lpc_error, FLAC__double error_scale)
+double FLAC__lpc_compute_expected_bits_per_residual_sample_with_error_scale(double lpc_error, double error_scale)
{
if(lpc_error > 0.0) {
- FLAC__double bps = (FLAC__double)0.5 * log(error_scale * lpc_error) / M_LN2;
+ double bps = (double)0.5 * log(error_scale * lpc_error) / M_LN2;
if(bps >= 0.0)
return bps;
else
@@ -1357,28 +1602,28 @@ FLAC__double FLAC__lpc_compute_expected_bits_per_residual_sample_with_error_scal
}
}
-unsigned FLAC__lpc_compute_best_order(const FLAC__double lpc_error[], unsigned max_order, unsigned total_samples, unsigned overhead_bits_per_order)
+uint32_t FLAC__lpc_compute_best_order(const double lpc_error[], uint32_t max_order, uint32_t total_samples, uint32_t overhead_bits_per_order)
{
- unsigned order, index, best_index; /* 'index' the index into lpc_error; index==order-1 since lpc_error[0] is for order==1, lpc_error[1] is for order==2, etc */
- FLAC__double bits, best_bits, error_scale;
+ uint32_t order, indx, best_index; /* 'index' the index into lpc_error; index==order-1 since lpc_error[0] is for order==1, lpc_error[1] is for order==2, etc */
+ double bits, best_bits, error_scale;
FLAC__ASSERT(max_order > 0);
FLAC__ASSERT(total_samples > 0);
- error_scale = 0.5 * M_LN2 * M_LN2 / (FLAC__double)total_samples;
+ error_scale = 0.5 / (double)total_samples;
best_index = 0;
- best_bits = (unsigned)(-1);
+ best_bits = (uint32_t)(-1);
- for(index = 0, order = 1; index < max_order; index++, order++) {
- bits = FLAC__lpc_compute_expected_bits_per_residual_sample_with_error_scale(lpc_error[index], error_scale) * (FLAC__double)(total_samples - order) + (FLAC__double)(order * overhead_bits_per_order);
+ for(indx = 0, order = 1; indx < max_order; indx++, order++) {
+ bits = FLAC__lpc_compute_expected_bits_per_residual_sample_with_error_scale(lpc_error[indx], error_scale) * (double)(total_samples - order) + (double)(order * overhead_bits_per_order);
if(bits < best_bits) {
- best_index = index;
+ best_index = indx;
best_bits = bits;
}
}
- return best_index+1; /* +1 since index of lpc_error[] is order-1 */
+ return best_index+1; /* +1 since indx of lpc_error[] is order-1 */
}
#endif /* !defined FLAC__INTEGER_ONLY_LIBRARY */
diff --git a/3rdparty/libflac/src/libFLAC/lpc_intrin_avx2.c b/3rdparty/libflac/src/libFLAC/lpc_intrin_avx2.c
new file mode 100644
index 00000000000..7f1c03ed202
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC/lpc_intrin_avx2.c
@@ -0,0 +1,1122 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "private/cpu.h"
+
+#ifndef FLAC__INTEGER_ONLY_LIBRARY
+#ifndef FLAC__NO_ASM
+#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN
+#include "private/lpc.h"
+#ifdef FLAC__AVX2_SUPPORTED
+
+#include "FLAC/assert.h"
+#include "FLAC/format.h"
+
+#include <immintrin.h> /* AVX2 */
+
+FLAC__SSE_TARGET("avx2")
+void FLAC__lpc_compute_residual_from_qlp_coefficients_16_intrin_avx2(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[])
+{
+ int i;
+ FLAC__int32 sum;
+ const __m128i cnt = _mm_cvtsi32_si128(lp_quantization);
+
+ FLAC__ASSERT(order > 0);
+ FLAC__ASSERT(order <= 32);
+
+ if(order <= 12) {
+ if(order > 8) {
+ if(order > 10) {
+ if(order == 12) {
+ __m256i q0, q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11;
+ q0 = _mm256_set1_epi32(0xffff & qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(0xffff & qlp_coeff[1 ]);
+ q2 = _mm256_set1_epi32(0xffff & qlp_coeff[2 ]);
+ q3 = _mm256_set1_epi32(0xffff & qlp_coeff[3 ]);
+ q4 = _mm256_set1_epi32(0xffff & qlp_coeff[4 ]);
+ q5 = _mm256_set1_epi32(0xffff & qlp_coeff[5 ]);
+ q6 = _mm256_set1_epi32(0xffff & qlp_coeff[6 ]);
+ q7 = _mm256_set1_epi32(0xffff & qlp_coeff[7 ]);
+ q8 = _mm256_set1_epi32(0xffff & qlp_coeff[8 ]);
+ q9 = _mm256_set1_epi32(0xffff & qlp_coeff[9 ]);
+ q10 = _mm256_set1_epi32(0xffff & qlp_coeff[10]);
+ q11 = _mm256_set1_epi32(0xffff & qlp_coeff[11]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_madd_epi16(q11, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-12)));
+ mull = _mm256_madd_epi16(q10, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-11))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q9, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-10))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q8, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-9 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q7, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-8 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q6, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-7 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q5, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-6 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q4, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-5 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q3, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-4 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q2, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-3 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1 ))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 11 */
+ __m256i q0, q1, q2, q3, q4, q5, q6, q7, q8, q9, q10;
+ q0 = _mm256_set1_epi32(0xffff & qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(0xffff & qlp_coeff[1 ]);
+ q2 = _mm256_set1_epi32(0xffff & qlp_coeff[2 ]);
+ q3 = _mm256_set1_epi32(0xffff & qlp_coeff[3 ]);
+ q4 = _mm256_set1_epi32(0xffff & qlp_coeff[4 ]);
+ q5 = _mm256_set1_epi32(0xffff & qlp_coeff[5 ]);
+ q6 = _mm256_set1_epi32(0xffff & qlp_coeff[6 ]);
+ q7 = _mm256_set1_epi32(0xffff & qlp_coeff[7 ]);
+ q8 = _mm256_set1_epi32(0xffff & qlp_coeff[8 ]);
+ q9 = _mm256_set1_epi32(0xffff & qlp_coeff[9 ]);
+ q10 = _mm256_set1_epi32(0xffff & qlp_coeff[10]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_madd_epi16(q10, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-11)));
+ mull = _mm256_madd_epi16(q9, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-10))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q8, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-9 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q7, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-8 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q6, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-7 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q5, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-6 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q4, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-5 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q3, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-4 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q2, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-3 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1 ))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ else {
+ if(order == 10) {
+ __m256i q0, q1, q2, q3, q4, q5, q6, q7, q8, q9;
+ q0 = _mm256_set1_epi32(0xffff & qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(0xffff & qlp_coeff[1 ]);
+ q2 = _mm256_set1_epi32(0xffff & qlp_coeff[2 ]);
+ q3 = _mm256_set1_epi32(0xffff & qlp_coeff[3 ]);
+ q4 = _mm256_set1_epi32(0xffff & qlp_coeff[4 ]);
+ q5 = _mm256_set1_epi32(0xffff & qlp_coeff[5 ]);
+ q6 = _mm256_set1_epi32(0xffff & qlp_coeff[6 ]);
+ q7 = _mm256_set1_epi32(0xffff & qlp_coeff[7 ]);
+ q8 = _mm256_set1_epi32(0xffff & qlp_coeff[8 ]);
+ q9 = _mm256_set1_epi32(0xffff & qlp_coeff[9 ]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_madd_epi16(q9, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-10)));
+ mull = _mm256_madd_epi16(q8, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-9 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q7, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-8 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q6, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-7 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q5, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-6 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q4, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-5 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q3, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-4 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q2, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-3 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1 ))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 9 */
+ __m256i q0, q1, q2, q3, q4, q5, q6, q7, q8;
+ q0 = _mm256_set1_epi32(0xffff & qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(0xffff & qlp_coeff[1 ]);
+ q2 = _mm256_set1_epi32(0xffff & qlp_coeff[2 ]);
+ q3 = _mm256_set1_epi32(0xffff & qlp_coeff[3 ]);
+ q4 = _mm256_set1_epi32(0xffff & qlp_coeff[4 ]);
+ q5 = _mm256_set1_epi32(0xffff & qlp_coeff[5 ]);
+ q6 = _mm256_set1_epi32(0xffff & qlp_coeff[6 ]);
+ q7 = _mm256_set1_epi32(0xffff & qlp_coeff[7 ]);
+ q8 = _mm256_set1_epi32(0xffff & qlp_coeff[8 ]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_madd_epi16(q8, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-9 )));
+ mull = _mm256_madd_epi16(q7, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-8 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q6, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-7 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q5, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-6 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q4, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-5 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q3, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-4 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q2, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-3 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1 ))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ }
+ else if(order > 4) {
+ if(order > 6) {
+ if(order == 8) {
+ __m256i q0, q1, q2, q3, q4, q5, q6, q7;
+ q0 = _mm256_set1_epi32(0xffff & qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(0xffff & qlp_coeff[1 ]);
+ q2 = _mm256_set1_epi32(0xffff & qlp_coeff[2 ]);
+ q3 = _mm256_set1_epi32(0xffff & qlp_coeff[3 ]);
+ q4 = _mm256_set1_epi32(0xffff & qlp_coeff[4 ]);
+ q5 = _mm256_set1_epi32(0xffff & qlp_coeff[5 ]);
+ q6 = _mm256_set1_epi32(0xffff & qlp_coeff[6 ]);
+ q7 = _mm256_set1_epi32(0xffff & qlp_coeff[7 ]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_madd_epi16(q7, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-8 )));
+ mull = _mm256_madd_epi16(q6, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-7 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q5, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-6 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q4, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-5 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q3, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-4 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q2, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-3 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1 ))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 7 */
+ __m256i q0, q1, q2, q3, q4, q5, q6;
+ q0 = _mm256_set1_epi32(0xffff & qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(0xffff & qlp_coeff[1 ]);
+ q2 = _mm256_set1_epi32(0xffff & qlp_coeff[2 ]);
+ q3 = _mm256_set1_epi32(0xffff & qlp_coeff[3 ]);
+ q4 = _mm256_set1_epi32(0xffff & qlp_coeff[4 ]);
+ q5 = _mm256_set1_epi32(0xffff & qlp_coeff[5 ]);
+ q6 = _mm256_set1_epi32(0xffff & qlp_coeff[6 ]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_madd_epi16(q6, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-7 )));
+ mull = _mm256_madd_epi16(q5, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-6 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q4, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-5 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q3, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-4 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q2, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-3 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1 ))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ else {
+ if(order == 6) {
+ __m256i q0, q1, q2, q3, q4, q5;
+ q0 = _mm256_set1_epi32(0xffff & qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(0xffff & qlp_coeff[1 ]);
+ q2 = _mm256_set1_epi32(0xffff & qlp_coeff[2 ]);
+ q3 = _mm256_set1_epi32(0xffff & qlp_coeff[3 ]);
+ q4 = _mm256_set1_epi32(0xffff & qlp_coeff[4 ]);
+ q5 = _mm256_set1_epi32(0xffff & qlp_coeff[5 ]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_madd_epi16(q5, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-6 )));
+ mull = _mm256_madd_epi16(q4, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-5 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q3, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-4 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q2, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-3 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1 ))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 5 */
+ __m256i q0, q1, q2, q3, q4;
+ q0 = _mm256_set1_epi32(0xffff & qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(0xffff & qlp_coeff[1 ]);
+ q2 = _mm256_set1_epi32(0xffff & qlp_coeff[2 ]);
+ q3 = _mm256_set1_epi32(0xffff & qlp_coeff[3 ]);
+ q4 = _mm256_set1_epi32(0xffff & qlp_coeff[4 ]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_madd_epi16(q4, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-5 )));
+ mull = _mm256_madd_epi16(q3, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-4 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q2, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-3 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1 ))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ }
+ else {
+ if(order > 2) {
+ if(order == 4) {
+ __m256i q0, q1, q2, q3;
+ q0 = _mm256_set1_epi32(0xffff & qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(0xffff & qlp_coeff[1 ]);
+ q2 = _mm256_set1_epi32(0xffff & qlp_coeff[2 ]);
+ q3 = _mm256_set1_epi32(0xffff & qlp_coeff[3 ]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_madd_epi16(q3, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-4 )));
+ mull = _mm256_madd_epi16(q2, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-3 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1 ))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 3 */
+ __m256i q0, q1, q2;
+ q0 = _mm256_set1_epi32(0xffff & qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(0xffff & qlp_coeff[1 ]);
+ q2 = _mm256_set1_epi32(0xffff & qlp_coeff[2 ]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_madd_epi16(q2, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-3 )));
+ mull = _mm256_madd_epi16(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2 ))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_madd_epi16(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1 ))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ else {
+ if(order == 2) {
+ __m256i q0, q1;
+ q0 = _mm256_set1_epi32(0xffff & qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(0xffff & qlp_coeff[1 ]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_madd_epi16(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2 )));
+ mull = _mm256_madd_epi16(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1 ))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 1 */
+ __m256i q0;
+ q0 = _mm256_set1_epi32(0xffff & qlp_coeff[0 ]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ;
+ summ = _mm256_madd_epi16(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1 )));
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ }
+ for(; i < (int)data_len; i++) {
+ sum = 0;
+ switch(order) {
+ case 12: sum += qlp_coeff[11] * data[i-12]; /* Falls through. */
+ case 11: sum += qlp_coeff[10] * data[i-11]; /* Falls through. */
+ case 10: sum += qlp_coeff[ 9] * data[i-10]; /* Falls through. */
+ case 9: sum += qlp_coeff[ 8] * data[i- 9]; /* Falls through. */
+ case 8: sum += qlp_coeff[ 7] * data[i- 8]; /* Falls through. */
+ case 7: sum += qlp_coeff[ 6] * data[i- 7]; /* Falls through. */
+ case 6: sum += qlp_coeff[ 5] * data[i- 6]; /* Falls through. */
+ case 5: sum += qlp_coeff[ 4] * data[i- 5]; /* Falls through. */
+ case 4: sum += qlp_coeff[ 3] * data[i- 4]; /* Falls through. */
+ case 3: sum += qlp_coeff[ 2] * data[i- 3]; /* Falls through. */
+ case 2: sum += qlp_coeff[ 1] * data[i- 2]; /* Falls through. */
+ case 1: sum += qlp_coeff[ 0] * data[i- 1];
+ }
+ residual[i] = data[i] - (sum >> lp_quantization);
+ }
+ }
+ else { /* order > 12 */
+ for(i = 0; i < (int)data_len; i++) {
+ sum = 0;
+ switch(order) {
+ case 32: sum += qlp_coeff[31] * data[i-32]; /* Falls through. */
+ case 31: sum += qlp_coeff[30] * data[i-31]; /* Falls through. */
+ case 30: sum += qlp_coeff[29] * data[i-30]; /* Falls through. */
+ case 29: sum += qlp_coeff[28] * data[i-29]; /* Falls through. */
+ case 28: sum += qlp_coeff[27] * data[i-28]; /* Falls through. */
+ case 27: sum += qlp_coeff[26] * data[i-27]; /* Falls through. */
+ case 26: sum += qlp_coeff[25] * data[i-26]; /* Falls through. */
+ case 25: sum += qlp_coeff[24] * data[i-25]; /* Falls through. */
+ case 24: sum += qlp_coeff[23] * data[i-24]; /* Falls through. */
+ case 23: sum += qlp_coeff[22] * data[i-23]; /* Falls through. */
+ case 22: sum += qlp_coeff[21] * data[i-22]; /* Falls through. */
+ case 21: sum += qlp_coeff[20] * data[i-21]; /* Falls through. */
+ case 20: sum += qlp_coeff[19] * data[i-20]; /* Falls through. */
+ case 19: sum += qlp_coeff[18] * data[i-19]; /* Falls through. */
+ case 18: sum += qlp_coeff[17] * data[i-18]; /* Falls through. */
+ case 17: sum += qlp_coeff[16] * data[i-17]; /* Falls through. */
+ case 16: sum += qlp_coeff[15] * data[i-16]; /* Falls through. */
+ case 15: sum += qlp_coeff[14] * data[i-15]; /* Falls through. */
+ case 14: sum += qlp_coeff[13] * data[i-14]; /* Falls through. */
+ case 13: sum += qlp_coeff[12] * data[i-13];
+ sum += qlp_coeff[11] * data[i-12];
+ sum += qlp_coeff[10] * data[i-11];
+ sum += qlp_coeff[ 9] * data[i-10];
+ sum += qlp_coeff[ 8] * data[i- 9];
+ sum += qlp_coeff[ 7] * data[i- 8];
+ sum += qlp_coeff[ 6] * data[i- 7];
+ sum += qlp_coeff[ 5] * data[i- 6];
+ sum += qlp_coeff[ 4] * data[i- 5];
+ sum += qlp_coeff[ 3] * data[i- 4];
+ sum += qlp_coeff[ 2] * data[i- 3];
+ sum += qlp_coeff[ 1] * data[i- 2];
+ sum += qlp_coeff[ 0] * data[i- 1];
+ }
+ residual[i] = data[i] - (sum >> lp_quantization);
+ }
+ }
+ _mm256_zeroupper();
+}
+
+FLAC__SSE_TARGET("avx2")
+void FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_avx2(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[])
+{
+ int i;
+ FLAC__int32 sum;
+ const __m128i cnt = _mm_cvtsi32_si128(lp_quantization);
+
+ FLAC__ASSERT(order > 0);
+ FLAC__ASSERT(order <= 32);
+
+ if(order <= 12) {
+ if(order > 8) {
+ if(order > 10) {
+ if(order == 12) {
+ __m256i q0, q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11;
+ q0 = _mm256_set1_epi32(qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(qlp_coeff[1 ]);
+ q2 = _mm256_set1_epi32(qlp_coeff[2 ]);
+ q3 = _mm256_set1_epi32(qlp_coeff[3 ]);
+ q4 = _mm256_set1_epi32(qlp_coeff[4 ]);
+ q5 = _mm256_set1_epi32(qlp_coeff[5 ]);
+ q6 = _mm256_set1_epi32(qlp_coeff[6 ]);
+ q7 = _mm256_set1_epi32(qlp_coeff[7 ]);
+ q8 = _mm256_set1_epi32(qlp_coeff[8 ]);
+ q9 = _mm256_set1_epi32(qlp_coeff[9 ]);
+ q10 = _mm256_set1_epi32(qlp_coeff[10]);
+ q11 = _mm256_set1_epi32(qlp_coeff[11]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_mullo_epi32(q11, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-12)));
+ mull = _mm256_mullo_epi32(q10, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-11))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q9, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-10))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q8, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-9))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q7, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-8))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q6, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-7))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q5, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-6))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q4, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-5))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q3, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-4))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q2, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-3))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 11 */
+ __m256i q0, q1, q2, q3, q4, q5, q6, q7, q8, q9, q10;
+ q0 = _mm256_set1_epi32(qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(qlp_coeff[1 ]);
+ q2 = _mm256_set1_epi32(qlp_coeff[2 ]);
+ q3 = _mm256_set1_epi32(qlp_coeff[3 ]);
+ q4 = _mm256_set1_epi32(qlp_coeff[4 ]);
+ q5 = _mm256_set1_epi32(qlp_coeff[5 ]);
+ q6 = _mm256_set1_epi32(qlp_coeff[6 ]);
+ q7 = _mm256_set1_epi32(qlp_coeff[7 ]);
+ q8 = _mm256_set1_epi32(qlp_coeff[8 ]);
+ q9 = _mm256_set1_epi32(qlp_coeff[9 ]);
+ q10 = _mm256_set1_epi32(qlp_coeff[10]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_mullo_epi32(q10, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-11)));
+ mull = _mm256_mullo_epi32(q9, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-10))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q8, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-9))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q7, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-8))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q6, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-7))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q5, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-6))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q4, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-5))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q3, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-4))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q2, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-3))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ else {
+ if(order == 10) {
+ __m256i q0, q1, q2, q3, q4, q5, q6, q7, q8, q9;
+ q0 = _mm256_set1_epi32(qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(qlp_coeff[1 ]);
+ q2 = _mm256_set1_epi32(qlp_coeff[2 ]);
+ q3 = _mm256_set1_epi32(qlp_coeff[3 ]);
+ q4 = _mm256_set1_epi32(qlp_coeff[4 ]);
+ q5 = _mm256_set1_epi32(qlp_coeff[5 ]);
+ q6 = _mm256_set1_epi32(qlp_coeff[6 ]);
+ q7 = _mm256_set1_epi32(qlp_coeff[7 ]);
+ q8 = _mm256_set1_epi32(qlp_coeff[8 ]);
+ q9 = _mm256_set1_epi32(qlp_coeff[9 ]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_mullo_epi32(q9, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-10)));
+ mull = _mm256_mullo_epi32(q8, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-9))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q7, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-8))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q6, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-7))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q5, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-6))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q4, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-5))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q3, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-4))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q2, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-3))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 9 */
+ __m256i q0, q1, q2, q3, q4, q5, q6, q7, q8;
+ q0 = _mm256_set1_epi32(qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(qlp_coeff[1 ]);
+ q2 = _mm256_set1_epi32(qlp_coeff[2 ]);
+ q3 = _mm256_set1_epi32(qlp_coeff[3 ]);
+ q4 = _mm256_set1_epi32(qlp_coeff[4 ]);
+ q5 = _mm256_set1_epi32(qlp_coeff[5 ]);
+ q6 = _mm256_set1_epi32(qlp_coeff[6 ]);
+ q7 = _mm256_set1_epi32(qlp_coeff[7 ]);
+ q8 = _mm256_set1_epi32(qlp_coeff[8 ]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_mullo_epi32(q8, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-9)));
+ mull = _mm256_mullo_epi32(q7, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-8))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q6, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-7))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q5, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-6))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q4, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-5))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q3, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-4))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q2, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-3))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ }
+ else if(order > 4) {
+ if(order > 6) {
+ if(order == 8) {
+ __m256i q0, q1, q2, q3, q4, q5, q6, q7;
+ q0 = _mm256_set1_epi32(qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(qlp_coeff[1 ]);
+ q2 = _mm256_set1_epi32(qlp_coeff[2 ]);
+ q3 = _mm256_set1_epi32(qlp_coeff[3 ]);
+ q4 = _mm256_set1_epi32(qlp_coeff[4 ]);
+ q5 = _mm256_set1_epi32(qlp_coeff[5 ]);
+ q6 = _mm256_set1_epi32(qlp_coeff[6 ]);
+ q7 = _mm256_set1_epi32(qlp_coeff[7 ]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_mullo_epi32(q7, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-8)));
+ mull = _mm256_mullo_epi32(q6, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-7))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q5, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-6))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q4, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-5))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q3, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-4))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q2, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-3))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 7 */
+ __m256i q0, q1, q2, q3, q4, q5, q6;
+ q0 = _mm256_set1_epi32(qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(qlp_coeff[1 ]);
+ q2 = _mm256_set1_epi32(qlp_coeff[2 ]);
+ q3 = _mm256_set1_epi32(qlp_coeff[3 ]);
+ q4 = _mm256_set1_epi32(qlp_coeff[4 ]);
+ q5 = _mm256_set1_epi32(qlp_coeff[5 ]);
+ q6 = _mm256_set1_epi32(qlp_coeff[6 ]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_mullo_epi32(q6, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-7)));
+ mull = _mm256_mullo_epi32(q5, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-6))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q4, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-5))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q3, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-4))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q2, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-3))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ else {
+ if(order == 6) {
+ __m256i q0, q1, q2, q3, q4, q5;
+ q0 = _mm256_set1_epi32(qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(qlp_coeff[1 ]);
+ q2 = _mm256_set1_epi32(qlp_coeff[2 ]);
+ q3 = _mm256_set1_epi32(qlp_coeff[3 ]);
+ q4 = _mm256_set1_epi32(qlp_coeff[4 ]);
+ q5 = _mm256_set1_epi32(qlp_coeff[5 ]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_mullo_epi32(q5, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-6)));
+ mull = _mm256_mullo_epi32(q4, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-5))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q3, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-4))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q2, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-3))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 5 */
+ __m256i q0, q1, q2, q3, q4;
+ q0 = _mm256_set1_epi32(qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(qlp_coeff[1 ]);
+ q2 = _mm256_set1_epi32(qlp_coeff[2 ]);
+ q3 = _mm256_set1_epi32(qlp_coeff[3 ]);
+ q4 = _mm256_set1_epi32(qlp_coeff[4 ]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_mullo_epi32(q4, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-5)));
+ mull = _mm256_mullo_epi32(q3, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-4))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q2, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-3))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ }
+ else {
+ if(order > 2) {
+ if(order == 4) {
+ __m256i q0, q1, q2, q3;
+ q0 = _mm256_set1_epi32(qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(qlp_coeff[1 ]);
+ q2 = _mm256_set1_epi32(qlp_coeff[2 ]);
+ q3 = _mm256_set1_epi32(qlp_coeff[3 ]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_mullo_epi32(q3, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-4)));
+ mull = _mm256_mullo_epi32(q2, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-3))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 3 */
+ __m256i q0, q1, q2;
+ q0 = _mm256_set1_epi32(qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(qlp_coeff[1 ]);
+ q2 = _mm256_set1_epi32(qlp_coeff[2 ]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_mullo_epi32(q2, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-3)));
+ mull = _mm256_mullo_epi32(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2))); summ = _mm256_add_epi32(summ, mull);
+ mull = _mm256_mullo_epi32(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ else {
+ if(order == 2) {
+ __m256i q0, q1;
+ q0 = _mm256_set1_epi32(qlp_coeff[0 ]);
+ q1 = _mm256_set1_epi32(qlp_coeff[1 ]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ, mull;
+ summ = _mm256_mullo_epi32(q1, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-2)));
+ mull = _mm256_mullo_epi32(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1))); summ = _mm256_add_epi32(summ, mull);
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 1 */
+ __m256i q0;
+ q0 = _mm256_set1_epi32(qlp_coeff[0 ]);
+
+ for(i = 0; i < (int)data_len-7; i+=8) {
+ __m256i summ;
+ summ = _mm256_mullo_epi32(q0, _mm256_loadu_si256((const __m256i*)(const void*)(data+i-1)));
+ summ = _mm256_sra_epi32(summ, cnt);
+ _mm256_storeu_si256((__m256i*)(void*)(residual+i), _mm256_sub_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ }
+ for(; i < (int)data_len; i++) {
+ sum = 0;
+ switch(order) {
+ case 12: sum += qlp_coeff[11] * data[i-12]; /* Falls through. */
+ case 11: sum += qlp_coeff[10] * data[i-11]; /* Falls through. */
+ case 10: sum += qlp_coeff[ 9] * data[i-10]; /* Falls through. */
+ case 9: sum += qlp_coeff[ 8] * data[i- 9]; /* Falls through. */
+ case 8: sum += qlp_coeff[ 7] * data[i- 8]; /* Falls through. */
+ case 7: sum += qlp_coeff[ 6] * data[i- 7]; /* Falls through. */
+ case 6: sum += qlp_coeff[ 5] * data[i- 6]; /* Falls through. */
+ case 5: sum += qlp_coeff[ 4] * data[i- 5]; /* Falls through. */
+ case 4: sum += qlp_coeff[ 3] * data[i- 4]; /* Falls through. */
+ case 3: sum += qlp_coeff[ 2] * data[i- 3]; /* Falls through. */
+ case 2: sum += qlp_coeff[ 1] * data[i- 2]; /* Falls through. */
+ case 1: sum += qlp_coeff[ 0] * data[i- 1];
+ }
+ residual[i] = data[i] - (sum >> lp_quantization);
+ }
+ }
+ else { /* order > 12 */
+ for(i = 0; i < (int)data_len; i++) {
+ sum = 0;
+ switch(order) {
+ case 32: sum += qlp_coeff[31] * data[i-32]; /* Falls through. */
+ case 31: sum += qlp_coeff[30] * data[i-31]; /* Falls through. */
+ case 30: sum += qlp_coeff[29] * data[i-30]; /* Falls through. */
+ case 29: sum += qlp_coeff[28] * data[i-29]; /* Falls through. */
+ case 28: sum += qlp_coeff[27] * data[i-28]; /* Falls through. */
+ case 27: sum += qlp_coeff[26] * data[i-27]; /* Falls through. */
+ case 26: sum += qlp_coeff[25] * data[i-26]; /* Falls through. */
+ case 25: sum += qlp_coeff[24] * data[i-25]; /* Falls through. */
+ case 24: sum += qlp_coeff[23] * data[i-24]; /* Falls through. */
+ case 23: sum += qlp_coeff[22] * data[i-23]; /* Falls through. */
+ case 22: sum += qlp_coeff[21] * data[i-22]; /* Falls through. */
+ case 21: sum += qlp_coeff[20] * data[i-21]; /* Falls through. */
+ case 20: sum += qlp_coeff[19] * data[i-20]; /* Falls through. */
+ case 19: sum += qlp_coeff[18] * data[i-19]; /* Falls through. */
+ case 18: sum += qlp_coeff[17] * data[i-18]; /* Falls through. */
+ case 17: sum += qlp_coeff[16] * data[i-17]; /* Falls through. */
+ case 16: sum += qlp_coeff[15] * data[i-16]; /* Falls through. */
+ case 15: sum += qlp_coeff[14] * data[i-15]; /* Falls through. */
+ case 14: sum += qlp_coeff[13] * data[i-14]; /* Falls through. */
+ case 13: sum += qlp_coeff[12] * data[i-13];
+ sum += qlp_coeff[11] * data[i-12];
+ sum += qlp_coeff[10] * data[i-11];
+ sum += qlp_coeff[ 9] * data[i-10];
+ sum += qlp_coeff[ 8] * data[i- 9];
+ sum += qlp_coeff[ 7] * data[i- 8];
+ sum += qlp_coeff[ 6] * data[i- 7];
+ sum += qlp_coeff[ 5] * data[i- 6];
+ sum += qlp_coeff[ 4] * data[i- 5];
+ sum += qlp_coeff[ 3] * data[i- 4];
+ sum += qlp_coeff[ 2] * data[i- 3];
+ sum += qlp_coeff[ 1] * data[i- 2];
+ sum += qlp_coeff[ 0] * data[i- 1];
+ }
+ residual[i] = data[i] - (sum >> lp_quantization);
+ }
+ }
+ _mm256_zeroupper();
+}
+
+static FLAC__int32 pack_arr[8] = { 0, 2, 4, 6, 1, 3, 5, 7 };
+
+FLAC__SSE_TARGET("avx2")
+void FLAC__lpc_compute_residual_from_qlp_coefficients_wide_intrin_avx2(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[])
+{
+ int i;
+ FLAC__int64 sum;
+ const __m128i cnt = _mm_cvtsi32_si128(lp_quantization);
+ const __m256i pack = _mm256_loadu_si256((const __m256i *)(const void*)pack_arr);
+
+ FLAC__ASSERT(order > 0);
+ FLAC__ASSERT(order <= 32);
+ FLAC__ASSERT(lp_quantization <= 32); /* there's no _mm256_sra_epi64() so we have to use _mm256_srl_epi64() */
+
+ if(order <= 12) {
+ if(order > 8) {
+ if(order > 10) {
+ if(order == 12) {
+ __m256i q0, q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11;
+ q0 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[0 ]));
+ q1 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[1 ]));
+ q2 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[2 ]));
+ q3 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[3 ]));
+ q4 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[4 ]));
+ q5 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[5 ]));
+ q6 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[6 ]));
+ q7 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[7 ]));
+ q8 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[8 ]));
+ q9 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[9 ]));
+ q10 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[10]));
+ q11 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[11]));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m256i summ, mull;
+ summ = _mm256_mul_epi32(q11, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-12))));
+ mull = _mm256_mul_epi32(q10, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-11)))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q9, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-10)))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q8, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-9 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q7, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-8 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q6, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-7 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q5, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-6 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q4, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-5 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q3, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-4 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q2, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-3 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q1, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-2 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q0, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-1 )))); summ = _mm256_add_epi64(summ, mull);
+ summ = _mm256_permutevar8x32_epi32(_mm256_srl_epi64(summ, cnt), pack);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), _mm256_castsi256_si128(summ)));
+ }
+ }
+ else { /* order == 11 */
+ __m256i q0, q1, q2, q3, q4, q5, q6, q7, q8, q9, q10;
+ q0 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[0 ]));
+ q1 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[1 ]));
+ q2 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[2 ]));
+ q3 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[3 ]));
+ q4 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[4 ]));
+ q5 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[5 ]));
+ q6 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[6 ]));
+ q7 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[7 ]));
+ q8 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[8 ]));
+ q9 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[9 ]));
+ q10 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[10]));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m256i summ, mull;
+ summ = _mm256_mul_epi32(q10, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-11))));
+ mull = _mm256_mul_epi32(q9, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-10)))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q8, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-9 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q7, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-8 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q6, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-7 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q5, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-6 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q4, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-5 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q3, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-4 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q2, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-3 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q1, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-2 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q0, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-1 )))); summ = _mm256_add_epi64(summ, mull);
+ summ = _mm256_permutevar8x32_epi32(_mm256_srl_epi64(summ, cnt), pack);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), _mm256_castsi256_si128(summ)));
+ }
+ }
+ }
+ else {
+ if(order == 10) {
+ __m256i q0, q1, q2, q3, q4, q5, q6, q7, q8, q9;
+ q0 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[0 ]));
+ q1 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[1 ]));
+ q2 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[2 ]));
+ q3 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[3 ]));
+ q4 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[4 ]));
+ q5 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[5 ]));
+ q6 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[6 ]));
+ q7 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[7 ]));
+ q8 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[8 ]));
+ q9 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[9 ]));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m256i summ, mull;
+ summ = _mm256_mul_epi32(q9, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-10))));
+ mull = _mm256_mul_epi32(q8, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-9 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q7, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-8 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q6, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-7 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q5, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-6 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q4, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-5 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q3, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-4 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q2, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-3 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q1, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-2 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q0, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-1 )))); summ = _mm256_add_epi64(summ, mull);
+ summ = _mm256_permutevar8x32_epi32(_mm256_srl_epi64(summ, cnt), pack);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), _mm256_castsi256_si128(summ)));
+ }
+ }
+ else { /* order == 9 */
+ __m256i q0, q1, q2, q3, q4, q5, q6, q7, q8;
+ q0 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[0 ]));
+ q1 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[1 ]));
+ q2 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[2 ]));
+ q3 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[3 ]));
+ q4 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[4 ]));
+ q5 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[5 ]));
+ q6 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[6 ]));
+ q7 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[7 ]));
+ q8 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[8 ]));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m256i summ, mull;
+ summ = _mm256_mul_epi32(q8, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-9 ))));
+ mull = _mm256_mul_epi32(q7, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-8 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q6, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-7 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q5, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-6 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q4, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-5 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q3, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-4 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q2, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-3 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q1, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-2 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q0, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-1 )))); summ = _mm256_add_epi64(summ, mull);
+ summ = _mm256_permutevar8x32_epi32(_mm256_srl_epi64(summ, cnt), pack);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), _mm256_castsi256_si128(summ)));
+ }
+ }
+ }
+ }
+ else if(order > 4) {
+ if(order > 6) {
+ if(order == 8) {
+ __m256i q0, q1, q2, q3, q4, q5, q6, q7;
+ q0 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[0 ]));
+ q1 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[1 ]));
+ q2 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[2 ]));
+ q3 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[3 ]));
+ q4 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[4 ]));
+ q5 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[5 ]));
+ q6 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[6 ]));
+ q7 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[7 ]));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m256i summ, mull;
+ summ = _mm256_mul_epi32(q7, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-8 ))));
+ mull = _mm256_mul_epi32(q6, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-7 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q5, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-6 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q4, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-5 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q3, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-4 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q2, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-3 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q1, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-2 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q0, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-1 )))); summ = _mm256_add_epi64(summ, mull);
+ summ = _mm256_permutevar8x32_epi32(_mm256_srl_epi64(summ, cnt), pack);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), _mm256_castsi256_si128(summ)));
+ }
+ }
+ else { /* order == 7 */
+ __m256i q0, q1, q2, q3, q4, q5, q6;
+ q0 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[0 ]));
+ q1 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[1 ]));
+ q2 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[2 ]));
+ q3 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[3 ]));
+ q4 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[4 ]));
+ q5 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[5 ]));
+ q6 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[6 ]));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m256i summ, mull;
+ summ = _mm256_mul_epi32(q6, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-7 ))));
+ mull = _mm256_mul_epi32(q5, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-6 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q4, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-5 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q3, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-4 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q2, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-3 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q1, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-2 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q0, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-1 )))); summ = _mm256_add_epi64(summ, mull);
+ summ = _mm256_permutevar8x32_epi32(_mm256_srl_epi64(summ, cnt), pack);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), _mm256_castsi256_si128(summ)));
+ }
+ }
+ }
+ else {
+ if(order == 6) {
+ __m256i q0, q1, q2, q3, q4, q5;
+ q0 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[0 ]));
+ q1 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[1 ]));
+ q2 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[2 ]));
+ q3 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[3 ]));
+ q4 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[4 ]));
+ q5 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[5 ]));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m256i summ, mull;
+ summ = _mm256_mul_epi32(q5, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-6 ))));
+ mull = _mm256_mul_epi32(q4, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-5 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q3, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-4 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q2, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-3 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q1, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-2 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q0, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-1 )))); summ = _mm256_add_epi64(summ, mull);
+ summ = _mm256_permutevar8x32_epi32(_mm256_srl_epi64(summ, cnt), pack);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), _mm256_castsi256_si128(summ)));
+ }
+ }
+ else { /* order == 5 */
+ __m256i q0, q1, q2, q3, q4;
+ q0 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[0 ]));
+ q1 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[1 ]));
+ q2 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[2 ]));
+ q3 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[3 ]));
+ q4 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[4 ]));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m256i summ, mull;
+ summ = _mm256_mul_epi32(q4, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-5 ))));
+ mull = _mm256_mul_epi32(q3, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-4 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q2, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-3 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q1, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-2 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q0, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-1 )))); summ = _mm256_add_epi64(summ, mull);
+ summ = _mm256_permutevar8x32_epi32(_mm256_srl_epi64(summ, cnt), pack);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), _mm256_castsi256_si128(summ)));
+ }
+ }
+ }
+ }
+ else {
+ if(order > 2) {
+ if(order == 4) {
+ __m256i q0, q1, q2, q3;
+ q0 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[0 ]));
+ q1 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[1 ]));
+ q2 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[2 ]));
+ q3 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[3 ]));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m256i summ, mull;
+ summ = _mm256_mul_epi32(q3, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-4 ))));
+ mull = _mm256_mul_epi32(q2, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-3 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q1, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-2 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q0, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-1 )))); summ = _mm256_add_epi64(summ, mull);
+ summ = _mm256_permutevar8x32_epi32(_mm256_srl_epi64(summ, cnt), pack);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), _mm256_castsi256_si128(summ)));
+ }
+ }
+ else { /* order == 3 */
+ __m256i q0, q1, q2;
+ q0 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[0 ]));
+ q1 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[1 ]));
+ q2 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[2 ]));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m256i summ, mull;
+ summ = _mm256_mul_epi32(q2, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-3 ))));
+ mull = _mm256_mul_epi32(q1, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-2 )))); summ = _mm256_add_epi64(summ, mull);
+ mull = _mm256_mul_epi32(q0, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-1 )))); summ = _mm256_add_epi64(summ, mull);
+ summ = _mm256_permutevar8x32_epi32(_mm256_srl_epi64(summ, cnt), pack);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), _mm256_castsi256_si128(summ)));
+ }
+ }
+ }
+ else {
+ if(order == 2) {
+ __m256i q0, q1;
+ q0 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[0 ]));
+ q1 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[1 ]));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m256i summ, mull;
+ summ = _mm256_mul_epi32(q1, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-2 ))));
+ mull = _mm256_mul_epi32(q0, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-1 )))); summ = _mm256_add_epi64(summ, mull);
+ summ = _mm256_permutevar8x32_epi32(_mm256_srl_epi64(summ, cnt), pack);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), _mm256_castsi256_si128(summ)));
+ }
+ }
+ else { /* order == 1 */
+ __m256i q0;
+ q0 = _mm256_cvtepu32_epi64(_mm_set1_epi32(qlp_coeff[0 ]));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m256i summ;
+ summ = _mm256_mul_epi32(q0, _mm256_cvtepu32_epi64(_mm_loadu_si128((const __m128i*)(const void*)(data+i-1 ))));
+ summ = _mm256_permutevar8x32_epi32(_mm256_srl_epi64(summ, cnt), pack);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), _mm256_castsi256_si128(summ)));
+ }
+ }
+ }
+ }
+ for(; i < (int)data_len; i++) {
+ sum = 0;
+ switch(order) {
+ case 12: sum += qlp_coeff[11] * (FLAC__int64)data[i-12]; /* Falls through. */
+ case 11: sum += qlp_coeff[10] * (FLAC__int64)data[i-11]; /* Falls through. */
+ case 10: sum += qlp_coeff[ 9] * (FLAC__int64)data[i-10]; /* Falls through. */
+ case 9: sum += qlp_coeff[ 8] * (FLAC__int64)data[i- 9]; /* Falls through. */
+ case 8: sum += qlp_coeff[ 7] * (FLAC__int64)data[i- 8]; /* Falls through. */
+ case 7: sum += qlp_coeff[ 6] * (FLAC__int64)data[i- 7]; /* Falls through. */
+ case 6: sum += qlp_coeff[ 5] * (FLAC__int64)data[i- 6]; /* Falls through. */
+ case 5: sum += qlp_coeff[ 4] * (FLAC__int64)data[i- 5]; /* Falls through. */
+ case 4: sum += qlp_coeff[ 3] * (FLAC__int64)data[i- 4]; /* Falls through. */
+ case 3: sum += qlp_coeff[ 2] * (FLAC__int64)data[i- 3]; /* Falls through. */
+ case 2: sum += qlp_coeff[ 1] * (FLAC__int64)data[i- 2]; /* Falls through. */
+ case 1: sum += qlp_coeff[ 0] * (FLAC__int64)data[i- 1];
+ }
+ residual[i] = data[i] - (FLAC__int32)(sum >> lp_quantization);
+ }
+ }
+ else { /* order > 12 */
+ for(i = 0; i < (int)data_len; i++) {
+ sum = 0;
+ switch(order) {
+ case 32: sum += qlp_coeff[31] * (FLAC__int64)data[i-32]; /* Falls through. */
+ case 31: sum += qlp_coeff[30] * (FLAC__int64)data[i-31]; /* Falls through. */
+ case 30: sum += qlp_coeff[29] * (FLAC__int64)data[i-30]; /* Falls through. */
+ case 29: sum += qlp_coeff[28] * (FLAC__int64)data[i-29]; /* Falls through. */
+ case 28: sum += qlp_coeff[27] * (FLAC__int64)data[i-28]; /* Falls through. */
+ case 27: sum += qlp_coeff[26] * (FLAC__int64)data[i-27]; /* Falls through. */
+ case 26: sum += qlp_coeff[25] * (FLAC__int64)data[i-26]; /* Falls through. */
+ case 25: sum += qlp_coeff[24] * (FLAC__int64)data[i-25]; /* Falls through. */
+ case 24: sum += qlp_coeff[23] * (FLAC__int64)data[i-24]; /* Falls through. */
+ case 23: sum += qlp_coeff[22] * (FLAC__int64)data[i-23]; /* Falls through. */
+ case 22: sum += qlp_coeff[21] * (FLAC__int64)data[i-22]; /* Falls through. */
+ case 21: sum += qlp_coeff[20] * (FLAC__int64)data[i-21]; /* Falls through. */
+ case 20: sum += qlp_coeff[19] * (FLAC__int64)data[i-20]; /* Falls through. */
+ case 19: sum += qlp_coeff[18] * (FLAC__int64)data[i-19]; /* Falls through. */
+ case 18: sum += qlp_coeff[17] * (FLAC__int64)data[i-18]; /* Falls through. */
+ case 17: sum += qlp_coeff[16] * (FLAC__int64)data[i-17]; /* Falls through. */
+ case 16: sum += qlp_coeff[15] * (FLAC__int64)data[i-16]; /* Falls through. */
+ case 15: sum += qlp_coeff[14] * (FLAC__int64)data[i-15]; /* Falls through. */
+ case 14: sum += qlp_coeff[13] * (FLAC__int64)data[i-14]; /* Falls through. */
+ case 13: sum += qlp_coeff[12] * (FLAC__int64)data[i-13];
+ sum += qlp_coeff[11] * (FLAC__int64)data[i-12];
+ sum += qlp_coeff[10] * (FLAC__int64)data[i-11];
+ sum += qlp_coeff[ 9] * (FLAC__int64)data[i-10];
+ sum += qlp_coeff[ 8] * (FLAC__int64)data[i- 9];
+ sum += qlp_coeff[ 7] * (FLAC__int64)data[i- 8];
+ sum += qlp_coeff[ 6] * (FLAC__int64)data[i- 7];
+ sum += qlp_coeff[ 5] * (FLAC__int64)data[i- 6];
+ sum += qlp_coeff[ 4] * (FLAC__int64)data[i- 5];
+ sum += qlp_coeff[ 3] * (FLAC__int64)data[i- 4];
+ sum += qlp_coeff[ 2] * (FLAC__int64)data[i- 3];
+ sum += qlp_coeff[ 1] * (FLAC__int64)data[i- 2];
+ sum += qlp_coeff[ 0] * (FLAC__int64)data[i- 1];
+ }
+ residual[i] = data[i] - (FLAC__int32)(sum >> lp_quantization);
+ }
+ }
+ _mm256_zeroupper();
+}
+
+#endif /* FLAC__AVX2_SUPPORTED */
+#endif /* (FLAC__CPU_IA32 || FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN */
+#endif /* FLAC__NO_ASM */
+#endif /* FLAC__INTEGER_ONLY_LIBRARY */
diff --git a/3rdparty/libflac/src/libFLAC/lpc_intrin_fma.c b/3rdparty/libflac/src/libFLAC/lpc_intrin_fma.c
new file mode 100644
index 00000000000..c0740a88ae6
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC/lpc_intrin_fma.c
@@ -0,0 +1,73 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2022-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "private/cpu.h"
+
+#ifndef FLAC__INTEGER_ONLY_LIBRARY
+#ifndef FLAC__NO_ASM
+#if defined FLAC__CPU_X86_64 && FLAC__HAS_X86INTRIN
+#include "private/lpc.h"
+#ifdef FLAC__FMA_SUPPORTED
+
+#include "FLAC/assert.h"
+
+FLAC__SSE_TARGET("fma")
+void FLAC__lpc_compute_autocorrelation_intrin_fma_lag_8(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[])
+{
+#undef MAX_LAG
+#define MAX_LAG 8
+#include "deduplication/lpc_compute_autocorrelation_intrin.c"
+}
+
+FLAC__SSE_TARGET("fma")
+void FLAC__lpc_compute_autocorrelation_intrin_fma_lag_12(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[])
+{
+#undef MAX_LAG
+#define MAX_LAG 12
+#include "deduplication/lpc_compute_autocorrelation_intrin.c"
+}
+FLAC__SSE_TARGET("fma")
+void FLAC__lpc_compute_autocorrelation_intrin_fma_lag_16(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[])
+{
+#undef MAX_LAG
+#define MAX_LAG 16
+#include "deduplication/lpc_compute_autocorrelation_intrin.c"
+
+}
+
+#endif /* FLAC__FMA_SUPPORTED */
+#endif /* FLAC__CPU_X86_64 && FLAC__HAS_X86INTRIN */
+#endif /* FLAC__NO_ASM */
+#endif /* FLAC__INTEGER_ONLY_LIBRARY */
diff --git a/3rdparty/libflac/src/libFLAC/lpc_intrin_neon.c b/3rdparty/libflac/src/libFLAC/lpc_intrin_neon.c
new file mode 100644
index 00000000000..b9945d58c27
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC/lpc_intrin_neon.c
@@ -0,0 +1,1273 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "private/cpu.h"
+
+#ifndef FLAC__INTEGER_ONLY_LIBRARY
+#ifndef FLAC__NO_ASM
+#if defined FLAC__CPU_ARM64 && FLAC__HAS_NEONINTRIN
+#include "private/lpc.h"
+#include "FLAC/assert.h"
+#include "FLAC/format.h"
+#include "private/macros.h"
+#include <arm_neon.h>
+
+#if FLAC__HAS_A64NEONINTRIN
+void FLAC__lpc_compute_autocorrelation_intrin_neon_lag_14(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[])
+{
+#undef MAX_LAG
+#define MAX_LAG 14
+#include "deduplication/lpc_compute_autocorrelation_intrin_neon.c"
+}
+
+void FLAC__lpc_compute_autocorrelation_intrin_neon_lag_10(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[])
+{
+#undef MAX_LAG
+#define MAX_LAG 10
+#include "deduplication/lpc_compute_autocorrelation_intrin_neon.c"
+}
+
+void FLAC__lpc_compute_autocorrelation_intrin_neon_lag_8(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[])
+{
+#undef MAX_LAG
+#define MAX_LAG 8
+#include "deduplication/lpc_compute_autocorrelation_intrin_neon.c"
+}
+
+#endif /* ifdef FLAC__HAS_A64NEONINTRIN */
+
+
+#define MUL_32_BIT_LOOP_UNROOL_3(qlp_coeff_vec, lane) \
+ summ_0 = vmulq_laneq_s32(tmp_vec[0], qlp_coeff_vec, lane); \
+ summ_1 = vmulq_laneq_s32(tmp_vec[4], qlp_coeff_vec, lane); \
+ summ_2 = vmulq_laneq_s32(tmp_vec[8], qlp_coeff_vec, lane);
+
+
+#define MACC_32BIT_LOOP_UNROOL_3(tmp_vec_ind, qlp_coeff_vec, lane) \
+ summ_0 = vmlaq_laneq_s32(summ_0,tmp_vec[tmp_vec_ind] ,qlp_coeff_vec, lane); \
+ summ_1 = vmlaq_laneq_s32(summ_1,tmp_vec[tmp_vec_ind+4] ,qlp_coeff_vec, lane); \
+ summ_2 = vmlaq_laneq_s32(summ_2,tmp_vec[tmp_vec_ind+8] ,qlp_coeff_vec, lane);
+
+void FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_neon(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[])
+{
+ int i;
+ FLAC__int32 sum;
+ int32x4_t tmp_vec[20];
+
+ FLAC__ASSERT(order > 0);
+ FLAC__ASSERT(order <= 32);
+
+ // Using prologue reads is valid as encoder->private_->local_lpc_compute_residual_from_qlp_coefficients(signal+order,....)
+ if(order <= 12) {
+ if(order > 8) {
+ if(order > 10) {
+ if (order == 12) {
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], qlp_coeff[2], qlp_coeff[3]};
+ int32x4_t qlp_coeff_1 = {qlp_coeff[4], qlp_coeff[5], qlp_coeff[6], qlp_coeff[7]};
+ int32x4_t qlp_coeff_2 = {qlp_coeff[8], qlp_coeff[9], qlp_coeff[10], qlp_coeff[11]};
+
+ tmp_vec[0] = vld1q_s32(data - 12);
+ tmp_vec[1] = vld1q_s32(data - 11);
+ tmp_vec[2] = vld1q_s32(data - 10);
+ tmp_vec[3] = vld1q_s32(data - 9);
+ tmp_vec[4] = vld1q_s32(data - 8);
+ tmp_vec[5] = vld1q_s32(data - 7);
+ tmp_vec[6] = vld1q_s32(data - 6);
+ tmp_vec[7] = vld1q_s32(data - 5);
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int32x4_t summ_0, summ_1, summ_2;
+
+ tmp_vec[8] = vld1q_s32(data + i - 4);
+ tmp_vec[9] = vld1q_s32(data+i-3);
+ tmp_vec[10] = vld1q_s32(data+i-2);
+ tmp_vec[11] = vld1q_s32(data+i-1);
+ tmp_vec[12] = vld1q_s32(data+i);
+ tmp_vec[13] = vld1q_s32(data+i+1);
+ tmp_vec[14] = vld1q_s32(data+i+2);
+ tmp_vec[15] = vld1q_s32(data+i+3);
+ tmp_vec[16] = vld1q_s32(data + i + 4);
+ tmp_vec[17] = vld1q_s32(data + i + 5);
+ tmp_vec[18] = vld1q_s32(data + i + 6);
+ tmp_vec[19] = vld1q_s32(data + i + 7);
+
+ MUL_32_BIT_LOOP_UNROOL_3(qlp_coeff_2, 3)
+ MACC_32BIT_LOOP_UNROOL_3(1, qlp_coeff_2, 2)
+ MACC_32BIT_LOOP_UNROOL_3(2, qlp_coeff_2, 1)
+ MACC_32BIT_LOOP_UNROOL_3(3, qlp_coeff_2, 0)
+ MACC_32BIT_LOOP_UNROOL_3(4, qlp_coeff_1, 3)
+ MACC_32BIT_LOOP_UNROOL_3(5, qlp_coeff_1, 2)
+ MACC_32BIT_LOOP_UNROOL_3(6, qlp_coeff_1, 1)
+ MACC_32BIT_LOOP_UNROOL_3(7, qlp_coeff_1, 0)
+ MACC_32BIT_LOOP_UNROOL_3(8, qlp_coeff_0, 3)
+ MACC_32BIT_LOOP_UNROOL_3(9, qlp_coeff_0, 2)
+ MACC_32BIT_LOOP_UNROOL_3(10, qlp_coeff_0, 1)
+ MACC_32BIT_LOOP_UNROOL_3(11, qlp_coeff_0, 0)
+
+ vst1q_s32(residual+i + 0, vsubq_s32(vld1q_s32(data+i + 0) , vshlq_s32(summ_0,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 4, vsubq_s32(vld1q_s32(data+i + 4) , vshlq_s32(summ_1,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 8, vsubq_s32(vld1q_s32(data+i + 8) , vshlq_s32(summ_2,vdupq_n_s32(-lp_quantization))));
+
+ tmp_vec[0] = tmp_vec[12];
+ tmp_vec[1] = tmp_vec[13];
+ tmp_vec[2] = tmp_vec[14];
+ tmp_vec[3] = tmp_vec[15];
+ tmp_vec[4] = tmp_vec[16];
+ tmp_vec[5] = tmp_vec[17];
+ tmp_vec[6] = tmp_vec[18];
+ tmp_vec[7] = tmp_vec[19];
+ }
+ }
+
+ else { /* order == 11 */
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], qlp_coeff[2], qlp_coeff[3]};
+ int32x4_t qlp_coeff_1 = {qlp_coeff[4], qlp_coeff[5], qlp_coeff[6], qlp_coeff[7]};
+ int32x4_t qlp_coeff_2 = {qlp_coeff[8], qlp_coeff[9], qlp_coeff[10], 0};
+
+ tmp_vec[0] = vld1q_s32(data - 11);
+ tmp_vec[1] = vld1q_s32(data - 10);
+ tmp_vec[2] = vld1q_s32(data - 9);
+ tmp_vec[3] = vld1q_s32(data - 8);
+ tmp_vec[4] = vld1q_s32(data - 7);
+ tmp_vec[5] = vld1q_s32(data - 6);
+ tmp_vec[6] = vld1q_s32(data - 5);
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int32x4_t summ_0, summ_1, summ_2;
+ tmp_vec[7] = vld1q_s32(data + i - 4);
+ tmp_vec[8] = vld1q_s32(data + i - 3);
+ tmp_vec[9] = vld1q_s32(data + i - 2);
+ tmp_vec[10] = vld1q_s32(data + i - 1);
+ tmp_vec[11] = vld1q_s32(data + i - 0);
+ tmp_vec[12] = vld1q_s32(data + i + 1);
+ tmp_vec[13] = vld1q_s32(data + i + 2);
+ tmp_vec[14] = vld1q_s32(data + i + 3);
+ tmp_vec[15] = vld1q_s32(data + i + 4);
+ tmp_vec[16] = vld1q_s32(data + i + 5);
+ tmp_vec[17] = vld1q_s32(data + i + 6);
+ tmp_vec[18] = vld1q_s32(data + i + 7);
+
+
+ MUL_32_BIT_LOOP_UNROOL_3(qlp_coeff_2, 2)
+ MACC_32BIT_LOOP_UNROOL_3(1, qlp_coeff_2, 1)
+ MACC_32BIT_LOOP_UNROOL_3(2, qlp_coeff_2, 0)
+ MACC_32BIT_LOOP_UNROOL_3(3, qlp_coeff_1, 3)
+ MACC_32BIT_LOOP_UNROOL_3(4, qlp_coeff_1, 2)
+ MACC_32BIT_LOOP_UNROOL_3(5, qlp_coeff_1, 1)
+ MACC_32BIT_LOOP_UNROOL_3(6, qlp_coeff_1, 0)
+ MACC_32BIT_LOOP_UNROOL_3(7, qlp_coeff_0, 3)
+ MACC_32BIT_LOOP_UNROOL_3(8, qlp_coeff_0, 2)
+ MACC_32BIT_LOOP_UNROOL_3(9, qlp_coeff_0, 1)
+ MACC_32BIT_LOOP_UNROOL_3(10, qlp_coeff_0, 0)
+
+ vst1q_s32(residual+i + 0, vsubq_s32(vld1q_s32(data+i + 0) , vshlq_s32(summ_0,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 4, vsubq_s32(vld1q_s32(data+i + 4) , vshlq_s32(summ_1,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 8, vsubq_s32(vld1q_s32(data+i + 8) , vshlq_s32(summ_2,vdupq_n_s32(-lp_quantization))));
+
+
+ tmp_vec[0] = tmp_vec[12];
+ tmp_vec[1] = tmp_vec[13];
+ tmp_vec[2] = tmp_vec[14];
+ tmp_vec[3] = tmp_vec[15];
+ tmp_vec[4] = tmp_vec[16];
+ tmp_vec[5] = tmp_vec[17];
+ tmp_vec[6] = tmp_vec[18];
+ }
+ }
+ }
+ else {
+ if(order == 10) {
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], qlp_coeff[2], qlp_coeff[3]};
+ int32x4_t qlp_coeff_1 = {qlp_coeff[4], qlp_coeff[5], qlp_coeff[6], qlp_coeff[7]};
+ int32x4_t qlp_coeff_2 = {qlp_coeff[8], qlp_coeff[9], 0, 0};
+
+ tmp_vec[0] = vld1q_s32(data - 10);
+ tmp_vec[1] = vld1q_s32(data - 9);
+ tmp_vec[2] = vld1q_s32(data - 8);
+ tmp_vec[3] = vld1q_s32(data - 7);
+ tmp_vec[4] = vld1q_s32(data - 6);
+ tmp_vec[5] = vld1q_s32(data - 5);
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int32x4_t summ_0, summ_1, summ_2;
+ tmp_vec[6] = vld1q_s32(data + i - 4);
+ tmp_vec[7] = vld1q_s32(data + i - 3);
+ tmp_vec[8] = vld1q_s32(data + i - 2);
+ tmp_vec[9] = vld1q_s32(data + i - 1);
+ tmp_vec[10] = vld1q_s32(data + i - 0);
+ tmp_vec[11] = vld1q_s32(data + i + 1);
+ tmp_vec[12] = vld1q_s32(data + i + 2);
+ tmp_vec[13] = vld1q_s32(data + i + 3);
+ tmp_vec[14] = vld1q_s32(data + i + 4);
+ tmp_vec[15] = vld1q_s32(data + i + 5);
+ tmp_vec[16] = vld1q_s32(data + i + 6);
+ tmp_vec[17] = vld1q_s32(data + i + 7);
+
+
+ MUL_32_BIT_LOOP_UNROOL_3(qlp_coeff_2, 1)
+ MACC_32BIT_LOOP_UNROOL_3(1, qlp_coeff_2, 0)
+ MACC_32BIT_LOOP_UNROOL_3(2, qlp_coeff_1, 3)
+ MACC_32BIT_LOOP_UNROOL_3(3, qlp_coeff_1, 2)
+ MACC_32BIT_LOOP_UNROOL_3(4, qlp_coeff_1, 1)
+ MACC_32BIT_LOOP_UNROOL_3(5, qlp_coeff_1, 0)
+ MACC_32BIT_LOOP_UNROOL_3(6, qlp_coeff_0, 3)
+ MACC_32BIT_LOOP_UNROOL_3(7, qlp_coeff_0, 2)
+ MACC_32BIT_LOOP_UNROOL_3(8, qlp_coeff_0, 1)
+ MACC_32BIT_LOOP_UNROOL_3(9, qlp_coeff_0, 0)
+
+ vst1q_s32(residual+i + 0, vsubq_s32(vld1q_s32(data+i + 0) , vshlq_s32(summ_0,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 4, vsubq_s32(vld1q_s32(data+i + 4) , vshlq_s32(summ_1,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 8, vsubq_s32(vld1q_s32(data+i + 8) , vshlq_s32(summ_2,vdupq_n_s32(-lp_quantization))));
+
+
+ tmp_vec[0] = tmp_vec[12];
+ tmp_vec[1] = tmp_vec[13];
+ tmp_vec[2] = tmp_vec[14];
+ tmp_vec[3] = tmp_vec[15];
+ tmp_vec[4] = tmp_vec[16];
+ tmp_vec[5] = tmp_vec[17];
+ }
+ }
+ else { /* order == 9 */
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], qlp_coeff[2], qlp_coeff[3]};
+ int32x4_t qlp_coeff_1 = {qlp_coeff[4], qlp_coeff[5], qlp_coeff[6], qlp_coeff[7]};
+ int32x4_t qlp_coeff_2 = {qlp_coeff[8], 0, 0, 0};
+
+ tmp_vec[0] = vld1q_s32(data - 9);
+ tmp_vec[1] = vld1q_s32(data - 8);
+ tmp_vec[2] = vld1q_s32(data - 7);
+ tmp_vec[3] = vld1q_s32(data - 6);
+ tmp_vec[4] = vld1q_s32(data - 5);
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int32x4_t summ_0, summ_1, summ_2;
+ tmp_vec[5] = vld1q_s32(data + i - 4);
+ tmp_vec[6] = vld1q_s32(data + i - 3);
+ tmp_vec[7] = vld1q_s32(data + i - 2);
+ tmp_vec[8] = vld1q_s32(data + i - 1);
+ tmp_vec[9] = vld1q_s32(data + i - 0);
+ tmp_vec[10] = vld1q_s32(data + i + 1);
+ tmp_vec[11] = vld1q_s32(data + i + 2);
+ tmp_vec[12] = vld1q_s32(data + i + 3);
+ tmp_vec[13] = vld1q_s32(data + i + 4);
+ tmp_vec[14] = vld1q_s32(data + i + 5);
+ tmp_vec[15] = vld1q_s32(data + i + 6);
+ tmp_vec[16] = vld1q_s32(data + i + 7);
+
+ MUL_32_BIT_LOOP_UNROOL_3(qlp_coeff_2, 0)
+ MACC_32BIT_LOOP_UNROOL_3(1, qlp_coeff_1, 3)
+ MACC_32BIT_LOOP_UNROOL_3(2, qlp_coeff_1, 2)
+ MACC_32BIT_LOOP_UNROOL_3(3, qlp_coeff_1, 1)
+ MACC_32BIT_LOOP_UNROOL_3(4, qlp_coeff_1, 0)
+ MACC_32BIT_LOOP_UNROOL_3(5, qlp_coeff_0, 3)
+ MACC_32BIT_LOOP_UNROOL_3(6, qlp_coeff_0, 2)
+ MACC_32BIT_LOOP_UNROOL_3(7, qlp_coeff_0, 1)
+ MACC_32BIT_LOOP_UNROOL_3(8, qlp_coeff_0, 0)
+
+ vst1q_s32(residual+i + 0, vsubq_s32(vld1q_s32(data+i + 0) , vshlq_s32(summ_0,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 4, vsubq_s32(vld1q_s32(data+i + 4) , vshlq_s32(summ_1,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 8, vsubq_s32(vld1q_s32(data+i + 8) , vshlq_s32(summ_2,vdupq_n_s32(-lp_quantization))));
+
+ tmp_vec[0] = tmp_vec[12];
+ tmp_vec[1] = tmp_vec[13];
+ tmp_vec[2] = tmp_vec[14];
+ tmp_vec[3] = tmp_vec[15];
+ tmp_vec[4] = tmp_vec[16];
+ }
+ }
+ }
+ }
+ else if(order > 4) {
+ if(order > 6) {
+ if(order == 8) {
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], qlp_coeff[2], qlp_coeff[3]};
+ int32x4_t qlp_coeff_1 = {qlp_coeff[4], qlp_coeff[5], qlp_coeff[6], qlp_coeff[7]};
+
+ tmp_vec[0] = vld1q_s32(data - 8);
+ tmp_vec[1] = vld1q_s32(data - 7);
+ tmp_vec[2] = vld1q_s32(data - 6);
+ tmp_vec[3] = vld1q_s32(data - 5);
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int32x4_t summ_0, summ_1, summ_2;
+ tmp_vec[4] = vld1q_s32(data + i - 4);
+ tmp_vec[5] = vld1q_s32(data + i - 3);
+ tmp_vec[6] = vld1q_s32(data + i - 2);
+ tmp_vec[7] = vld1q_s32(data + i - 1);
+ tmp_vec[8] = vld1q_s32(data + i - 0);
+ tmp_vec[9] = vld1q_s32(data + i + 1);
+ tmp_vec[10] = vld1q_s32(data + i + 2);
+ tmp_vec[11] = vld1q_s32(data + i + 3);
+ tmp_vec[12] = vld1q_s32(data + i + 4);
+ tmp_vec[13] = vld1q_s32(data + i + 5);
+ tmp_vec[14] = vld1q_s32(data + i + 6);
+ tmp_vec[15] = vld1q_s32(data + i + 7);
+
+ MUL_32_BIT_LOOP_UNROOL_3(qlp_coeff_1, 3)
+ MACC_32BIT_LOOP_UNROOL_3(1, qlp_coeff_1, 2)
+ MACC_32BIT_LOOP_UNROOL_3(2, qlp_coeff_1, 1)
+ MACC_32BIT_LOOP_UNROOL_3(3, qlp_coeff_1, 0)
+ MACC_32BIT_LOOP_UNROOL_3(4, qlp_coeff_0, 3)
+ MACC_32BIT_LOOP_UNROOL_3(5, qlp_coeff_0, 2)
+ MACC_32BIT_LOOP_UNROOL_3(6, qlp_coeff_0, 1)
+ MACC_32BIT_LOOP_UNROOL_3(7, qlp_coeff_0, 0)
+
+ vst1q_s32(residual+i + 0, vsubq_s32(vld1q_s32(data+i + 0) , vshlq_s32(summ_0,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 4, vsubq_s32(vld1q_s32(data+i + 4) , vshlq_s32(summ_1,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 8, vsubq_s32(vld1q_s32(data+i + 8) , vshlq_s32(summ_2,vdupq_n_s32(-lp_quantization))));
+
+ tmp_vec[0] = tmp_vec[12];
+ tmp_vec[1] = tmp_vec[13];
+ tmp_vec[2] = tmp_vec[14];
+ tmp_vec[3] = tmp_vec[15];
+ }
+ }
+ else { /* order == 7 */
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], qlp_coeff[2], qlp_coeff[3]};
+ int32x4_t qlp_coeff_1 = {qlp_coeff[4], qlp_coeff[5], qlp_coeff[6], 0};
+
+ tmp_vec[0] = vld1q_s32(data - 7);
+ tmp_vec[1] = vld1q_s32(data - 6);
+ tmp_vec[2] = vld1q_s32(data - 5);
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int32x4_t summ_0, summ_1, summ_2;
+ tmp_vec[3] = vld1q_s32(data + i - 4);
+ tmp_vec[4] = vld1q_s32(data + i - 3);
+ tmp_vec[5] = vld1q_s32(data + i - 2);
+ tmp_vec[6] = vld1q_s32(data + i - 1);
+ tmp_vec[7] = vld1q_s32(data + i - 0);
+ tmp_vec[8] = vld1q_s32(data + i + 1);
+ tmp_vec[9] = vld1q_s32(data + i + 2);
+ tmp_vec[10] = vld1q_s32(data + i + 3);
+ tmp_vec[11] = vld1q_s32(data + i + 4);
+ tmp_vec[12] = vld1q_s32(data + i + 5);
+ tmp_vec[13] = vld1q_s32(data + i + 6);
+ tmp_vec[14] = vld1q_s32(data + i + 7);
+
+ MUL_32_BIT_LOOP_UNROOL_3(qlp_coeff_1, 2)
+ MACC_32BIT_LOOP_UNROOL_3(1, qlp_coeff_1, 1)
+ MACC_32BIT_LOOP_UNROOL_3(2, qlp_coeff_1, 0)
+ MACC_32BIT_LOOP_UNROOL_3(3, qlp_coeff_0, 3)
+ MACC_32BIT_LOOP_UNROOL_3(4, qlp_coeff_0, 2)
+ MACC_32BIT_LOOP_UNROOL_3(5, qlp_coeff_0, 1)
+ MACC_32BIT_LOOP_UNROOL_3(6, qlp_coeff_0, 0)
+
+ vst1q_s32(residual+i + 0, vsubq_s32(vld1q_s32(data+i + 0) , vshlq_s32(summ_0,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 4, vsubq_s32(vld1q_s32(data+i + 4) , vshlq_s32(summ_1,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 8, vsubq_s32(vld1q_s32(data+i + 8) , vshlq_s32(summ_2,vdupq_n_s32(-lp_quantization))));
+
+ tmp_vec[0] = tmp_vec[12];
+ tmp_vec[1] = tmp_vec[13];
+ tmp_vec[2] = tmp_vec[14];
+ }
+ }
+ }
+ else {
+ if(order == 6) {
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], qlp_coeff[2], qlp_coeff[3]};
+ int32x4_t qlp_coeff_1 = {qlp_coeff[4], qlp_coeff[5], 0, 0};
+
+ tmp_vec[0] = vld1q_s32(data - 6);
+ tmp_vec[1] = vld1q_s32(data - 5);
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int32x4_t summ_0, summ_1, summ_2;
+ tmp_vec[2] = vld1q_s32(data + i - 4);
+ tmp_vec[3] = vld1q_s32(data + i - 3);
+ tmp_vec[4] = vld1q_s32(data + i - 2);
+ tmp_vec[5] = vld1q_s32(data + i - 1);
+ tmp_vec[6] = vld1q_s32(data + i - 0);
+ tmp_vec[7] = vld1q_s32(data + i + 1);
+ tmp_vec[8] = vld1q_s32(data + i + 2);
+ tmp_vec[9] = vld1q_s32(data + i + 3);
+ tmp_vec[10] = vld1q_s32(data + i + 4);
+ tmp_vec[11] = vld1q_s32(data + i + 5);
+ tmp_vec[12] = vld1q_s32(data + i + 6);
+ tmp_vec[13] = vld1q_s32(data + i + 7);
+
+ MUL_32_BIT_LOOP_UNROOL_3(qlp_coeff_1, 1)
+ MACC_32BIT_LOOP_UNROOL_3(1, qlp_coeff_1, 0)
+ MACC_32BIT_LOOP_UNROOL_3(2, qlp_coeff_0, 3)
+ MACC_32BIT_LOOP_UNROOL_3(3, qlp_coeff_0, 2)
+ MACC_32BIT_LOOP_UNROOL_3(4, qlp_coeff_0, 1)
+ MACC_32BIT_LOOP_UNROOL_3(5, qlp_coeff_0, 0)
+
+ vst1q_s32(residual+i + 0, vsubq_s32(vld1q_s32(data+i + 0) , vshlq_s32(summ_0,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 4, vsubq_s32(vld1q_s32(data+i + 4) , vshlq_s32(summ_1,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 8, vsubq_s32(vld1q_s32(data+i + 8) , vshlq_s32(summ_2,vdupq_n_s32(-lp_quantization))));
+
+ tmp_vec[0] = tmp_vec[12];
+ tmp_vec[1] = tmp_vec[13];
+ }
+ }
+ else { /* order == 5 */
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], qlp_coeff[2], qlp_coeff[3]};
+ int32x4_t qlp_coeff_1 = {qlp_coeff[4], 0, 0, 0};
+
+ tmp_vec[0] = vld1q_s32(data - 5);
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int32x4_t summ_0, summ_1, summ_2;
+
+ tmp_vec[1] = vld1q_s32(data + i - 4);
+ tmp_vec[2] = vld1q_s32(data + i - 3);
+ tmp_vec[3] = vld1q_s32(data + i - 2);
+ tmp_vec[4] = vld1q_s32(data + i - 1);
+ tmp_vec[5] = vld1q_s32(data + i - 0);
+ tmp_vec[6] = vld1q_s32(data + i + 1);
+ tmp_vec[7] = vld1q_s32(data + i + 2);
+ tmp_vec[8] = vld1q_s32(data + i + 3);
+ tmp_vec[9] = vld1q_s32(data + i + 4);
+ tmp_vec[10] = vld1q_s32(data + i + 5);
+ tmp_vec[11] = vld1q_s32(data + i + 6);
+ tmp_vec[12] = vld1q_s32(data + i + 7);
+
+ MUL_32_BIT_LOOP_UNROOL_3(qlp_coeff_1, 0)
+ MACC_32BIT_LOOP_UNROOL_3(1, qlp_coeff_0, 3)
+ MACC_32BIT_LOOP_UNROOL_3(2, qlp_coeff_0, 2)
+ MACC_32BIT_LOOP_UNROOL_3(3, qlp_coeff_0, 1)
+ MACC_32BIT_LOOP_UNROOL_3(4, qlp_coeff_0, 0)
+
+ vst1q_s32(residual+i + 0, vsubq_s32(vld1q_s32(data+i + 0) , vshlq_s32(summ_0,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 4, vsubq_s32(vld1q_s32(data+i + 4) , vshlq_s32(summ_1,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 8, vsubq_s32(vld1q_s32(data+i + 8) , vshlq_s32(summ_2,vdupq_n_s32(-lp_quantization))));
+
+ tmp_vec[0] = tmp_vec[12];
+ }
+ }
+ }
+ }
+ else {
+ if(order > 2) {
+ if(order == 4) {
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], qlp_coeff[2], qlp_coeff[3]};
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int32x4_t summ_0, summ_1, summ_2;
+ tmp_vec[0] = vld1q_s32(data + i - 4);
+ tmp_vec[1] = vld1q_s32(data + i - 3);
+ tmp_vec[2] = vld1q_s32(data + i - 2);
+ tmp_vec[3] = vld1q_s32(data + i - 1);
+ tmp_vec[4] = vld1q_s32(data + i - 0);
+ tmp_vec[5] = vld1q_s32(data + i + 1);
+ tmp_vec[6] = vld1q_s32(data + i + 2);
+ tmp_vec[7] = vld1q_s32(data + i + 3);
+ tmp_vec[8] = vld1q_s32(data + i + 4);
+ tmp_vec[9] = vld1q_s32(data + i + 5);
+ tmp_vec[10] = vld1q_s32(data + i + 6);
+ tmp_vec[11] = vld1q_s32(data + i + 7);
+
+ MUL_32_BIT_LOOP_UNROOL_3(qlp_coeff_0, 3)
+ MACC_32BIT_LOOP_UNROOL_3(1, qlp_coeff_0, 2)
+ MACC_32BIT_LOOP_UNROOL_3(2, qlp_coeff_0, 1)
+ MACC_32BIT_LOOP_UNROOL_3(3, qlp_coeff_0, 0)
+
+ vst1q_s32(residual+i + 0, vsubq_s32(vld1q_s32(data+i + 0) , vshlq_s32(summ_0,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 4, vsubq_s32(vld1q_s32(data+i + 4) , vshlq_s32(summ_1,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 8, vsubq_s32(vld1q_s32(data+i + 8) , vshlq_s32(summ_2,vdupq_n_s32(-lp_quantization))));
+ }
+ }
+ else { /* order == 3 */
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], qlp_coeff[2], 0};
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int32x4_t summ_0, summ_1, summ_2;
+ tmp_vec[0] = vld1q_s32(data + i - 3);
+ tmp_vec[1] = vld1q_s32(data + i - 2);
+ tmp_vec[2] = vld1q_s32(data + i - 1);
+ tmp_vec[4] = vld1q_s32(data + i + 1);
+ tmp_vec[5] = vld1q_s32(data + i + 2);
+ tmp_vec[6] = vld1q_s32(data + i + 3);
+ tmp_vec[8] = vld1q_s32(data + i + 5);
+ tmp_vec[9] = vld1q_s32(data + i + 6);
+ tmp_vec[10] = vld1q_s32(data + i + 7);
+
+ MUL_32_BIT_LOOP_UNROOL_3(qlp_coeff_0, 2)
+ MACC_32BIT_LOOP_UNROOL_3(1, qlp_coeff_0, 1)
+ MACC_32BIT_LOOP_UNROOL_3(2, qlp_coeff_0, 0)
+
+ vst1q_s32(residual+i + 0, vsubq_s32(vld1q_s32(data+i + 0) , vshlq_s32(summ_0,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 4, vsubq_s32(vld1q_s32(data+i + 4) , vshlq_s32(summ_1,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 8, vsubq_s32(vld1q_s32(data+i + 8) , vshlq_s32(summ_2,vdupq_n_s32(-lp_quantization))));
+ }
+ }
+ }
+ else {
+ if(order == 2) {
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], 0, 0};
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int32x4_t summ_0, summ_1, summ_2;
+ tmp_vec[0] = vld1q_s32(data + i - 2);
+ tmp_vec[1] = vld1q_s32(data + i - 1);
+ tmp_vec[4] = vld1q_s32(data + i + 2);
+ tmp_vec[5] = vld1q_s32(data + i + 3);
+ tmp_vec[8] = vld1q_s32(data + i + 6);
+ tmp_vec[9] = vld1q_s32(data + i + 7);
+
+ MUL_32_BIT_LOOP_UNROOL_3(qlp_coeff_0, 1)
+ MACC_32BIT_LOOP_UNROOL_3(1, qlp_coeff_0, 0)
+
+ vst1q_s32(residual+i + 0, vsubq_s32(vld1q_s32(data+i + 0) , vshlq_s32(summ_0,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 4, vsubq_s32(vld1q_s32(data+i + 4) , vshlq_s32(summ_1,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 8, vsubq_s32(vld1q_s32(data+i + 8) , vshlq_s32(summ_2,vdupq_n_s32(-lp_quantization))));
+ }
+ }
+ else { /* order == 1 */
+ int32x4_t qlp_coeff_0 = vdupq_n_s32(qlp_coeff[0]);
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int32x4_t summ_0, summ_1, summ_2;
+ tmp_vec[0] = vld1q_s32(data + i - 1);
+ tmp_vec[4] = vld1q_s32(data + i + 3);
+ tmp_vec[8] = vld1q_s32(data + i + 7);
+
+ summ_0 = vmulq_s32(tmp_vec[0], qlp_coeff_0);
+ summ_1 = vmulq_s32(tmp_vec[4], qlp_coeff_0);
+ summ_2 = vmulq_s32(tmp_vec[8], qlp_coeff_0);
+
+ vst1q_s32(residual+i + 0, vsubq_s32(vld1q_s32(data+i + 0) , vshlq_s32(summ_0,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 4, vsubq_s32(vld1q_s32(data+i + 4) , vshlq_s32(summ_1,vdupq_n_s32(-lp_quantization))));
+ vst1q_s32(residual+i + 8, vsubq_s32(vld1q_s32(data+i + 8) , vshlq_s32(summ_2,vdupq_n_s32(-lp_quantization))));
+ }
+ }
+ }
+ }
+ for(; i < (int)data_len; i++) {
+ sum = 0;
+ switch(order) {
+ case 12: sum += qlp_coeff[11] * data[i-12]; /* Falls through. */
+ case 11: sum += qlp_coeff[10] * data[i-11]; /* Falls through. */
+ case 10: sum += qlp_coeff[ 9] * data[i-10]; /* Falls through. */
+ case 9: sum += qlp_coeff[ 8] * data[i- 9]; /* Falls through. */
+ case 8: sum += qlp_coeff[ 7] * data[i- 8]; /* Falls through. */
+ case 7: sum += qlp_coeff[ 6] * data[i- 7]; /* Falls through. */
+ case 6: sum += qlp_coeff[ 5] * data[i- 6]; /* Falls through. */
+ case 5: sum += qlp_coeff[ 4] * data[i- 5]; /* Falls through. */
+ case 4: sum += qlp_coeff[ 3] * data[i- 4]; /* Falls through. */
+ case 3: sum += qlp_coeff[ 2] * data[i- 3]; /* Falls through. */
+ case 2: sum += qlp_coeff[ 1] * data[i- 2]; /* Falls through. */
+ case 1: sum += qlp_coeff[ 0] * data[i- 1];
+ }
+ residual[i] = data[i] - (sum >> lp_quantization);
+ }
+ }
+ else { /* order > 12 */
+ for(i = 0; i < (int)data_len; i++) {
+ sum = 0;
+ switch(order) {
+ case 32: sum += qlp_coeff[31] * data[i-32]; /* Falls through. */
+ case 31: sum += qlp_coeff[30] * data[i-31]; /* Falls through. */
+ case 30: sum += qlp_coeff[29] * data[i-30]; /* Falls through. */
+ case 29: sum += qlp_coeff[28] * data[i-29]; /* Falls through. */
+ case 28: sum += qlp_coeff[27] * data[i-28]; /* Falls through. */
+ case 27: sum += qlp_coeff[26] * data[i-27]; /* Falls through. */
+ case 26: sum += qlp_coeff[25] * data[i-26]; /* Falls through. */
+ case 25: sum += qlp_coeff[24] * data[i-25]; /* Falls through. */
+ case 24: sum += qlp_coeff[23] * data[i-24]; /* Falls through. */
+ case 23: sum += qlp_coeff[22] * data[i-23]; /* Falls through. */
+ case 22: sum += qlp_coeff[21] * data[i-22]; /* Falls through. */
+ case 21: sum += qlp_coeff[20] * data[i-21]; /* Falls through. */
+ case 20: sum += qlp_coeff[19] * data[i-20]; /* Falls through. */
+ case 19: sum += qlp_coeff[18] * data[i-19]; /* Falls through. */
+ case 18: sum += qlp_coeff[17] * data[i-18]; /* Falls through. */
+ case 17: sum += qlp_coeff[16] * data[i-17]; /* Falls through. */
+ case 16: sum += qlp_coeff[15] * data[i-16]; /* Falls through. */
+ case 15: sum += qlp_coeff[14] * data[i-15]; /* Falls through. */
+ case 14: sum += qlp_coeff[13] * data[i-14]; /* Falls through. */
+ case 13: sum += qlp_coeff[12] * data[i-13];
+ sum += qlp_coeff[11] * data[i-12];
+ sum += qlp_coeff[10] * data[i-11];
+ sum += qlp_coeff[ 9] * data[i-10];
+ sum += qlp_coeff[ 8] * data[i- 9];
+ sum += qlp_coeff[ 7] * data[i- 8];
+ sum += qlp_coeff[ 6] * data[i- 7];
+ sum += qlp_coeff[ 5] * data[i- 6];
+ sum += qlp_coeff[ 4] * data[i- 5];
+ sum += qlp_coeff[ 3] * data[i- 4];
+ sum += qlp_coeff[ 2] * data[i- 3];
+ sum += qlp_coeff[ 1] * data[i- 2];
+ sum += qlp_coeff[ 0] * data[i- 1];
+ }
+ residual[i] = data[i] - (sum >> lp_quantization);
+ }
+ }
+}
+
+
+
+#define MUL_64_BIT_LOOP_UNROOL_3(qlp_coeff_vec, lane) \
+ summ_l_0 = vmull_laneq_s32(vget_low_s32(tmp_vec[0]),qlp_coeff_vec, lane); \
+ summ_h_0 = vmull_high_laneq_s32(tmp_vec[0], qlp_coeff_vec, lane);\
+ summ_l_1 = vmull_laneq_s32(vget_low_s32(tmp_vec[4]),qlp_coeff_vec, lane); \
+ summ_h_1 = vmull_high_laneq_s32(tmp_vec[4], qlp_coeff_vec, lane);\
+ summ_l_2 = vmull_laneq_s32(vget_low_s32(tmp_vec[8]),qlp_coeff_vec, lane);\
+ summ_h_2 = vmull_high_laneq_s32(tmp_vec[8], qlp_coeff_vec, lane);
+
+
+#define MACC_64_BIT_LOOP_UNROOL_3(tmp_vec_ind, qlp_coeff_vec, lane) \
+ summ_l_0 = vmlal_laneq_s32(summ_l_0,vget_low_s32(tmp_vec[tmp_vec_ind]),qlp_coeff_vec, lane); \
+ summ_h_0 = vmlal_high_laneq_s32(summ_h_0, tmp_vec[tmp_vec_ind], qlp_coeff_vec, lane); \
+ summ_l_1 = vmlal_laneq_s32(summ_l_1, vget_low_s32(tmp_vec[tmp_vec_ind+4]),qlp_coeff_vec, lane); \
+ summ_h_1 = vmlal_high_laneq_s32(summ_h_1, tmp_vec[tmp_vec_ind+4], qlp_coeff_vec, lane); \
+ summ_l_2 = vmlal_laneq_s32(summ_l_2, vget_low_s32(tmp_vec[tmp_vec_ind+8]),qlp_coeff_vec, lane);\
+ summ_h_2 = vmlal_high_laneq_s32(summ_h_2,tmp_vec[tmp_vec_ind+8], qlp_coeff_vec, lane);
+
+#define SHIFT_SUMS_64BITS_AND_STORE_SUB() \
+ res0 = vuzp1q_s32(vreinterpretq_s32_s64(vshlq_s64(summ_l_0,lp_quantization_vec)), vreinterpretq_s32_s64(vshlq_s64(summ_h_0,lp_quantization_vec))); \
+ res1 = vuzp1q_s32(vreinterpretq_s32_s64(vshlq_s64(summ_l_1,lp_quantization_vec)), vreinterpretq_s32_s64(vshlq_s64(summ_h_1,lp_quantization_vec))); \
+ res2 = vuzp1q_s32(vreinterpretq_s32_s64(vshlq_s64(summ_l_2,lp_quantization_vec)), vreinterpretq_s32_s64(vshlq_s64(summ_h_2,lp_quantization_vec))); \
+ vst1q_s32(residual+i+0, vsubq_s32(vld1q_s32(data+i+0), res0));\
+ vst1q_s32(residual+i+4, vsubq_s32(vld1q_s32(data+i+4), res1));\
+ vst1q_s32(residual+i+8, vsubq_s32(vld1q_s32(data+i+8), res2));
+
+void FLAC__lpc_compute_residual_from_qlp_coefficients_wide_intrin_neon(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[]) {
+ int i;
+ FLAC__int64 sum;
+
+ int32x4_t tmp_vec[20];
+ int32x4_t res0, res1, res2;
+ int64x2_t lp_quantization_vec = vdupq_n_s64(-lp_quantization);
+
+ FLAC__ASSERT(order > 0);
+ FLAC__ASSERT(order <= 32);
+
+ // Using prologue reads is valid as encoder->private_->local_lpc_compute_residual_from_qlp_coefficients_64bit(signal+order,....)
+ if(order <= 12) {
+ if(order > 8) {
+ if(order > 10) {
+ if(order == 12) {
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], qlp_coeff[2], qlp_coeff[3]};
+ int32x4_t qlp_coeff_1 = {qlp_coeff[4],qlp_coeff[5],qlp_coeff[6],qlp_coeff[7]};
+ int32x4_t qlp_coeff_2 = {qlp_coeff[8],qlp_coeff[9],qlp_coeff[10],qlp_coeff[11]};
+
+ tmp_vec[0] = vld1q_s32(data - 12);
+ tmp_vec[1] = vld1q_s32(data - 11);
+ tmp_vec[2] = vld1q_s32(data - 10);
+ tmp_vec[3] = vld1q_s32(data - 9);
+ tmp_vec[4] = vld1q_s32(data - 8);
+ tmp_vec[5] = vld1q_s32(data - 7);
+ tmp_vec[6] = vld1q_s32(data - 6);
+ tmp_vec[7] = vld1q_s32(data - 5);
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int64x2_t summ_l_0, summ_h_0, summ_l_1, summ_h_1, summ_l_2, summ_h_2;
+
+ tmp_vec[8] = vld1q_s32(data+i-4);
+ tmp_vec[9] = vld1q_s32(data+i-3);
+ tmp_vec[10] = vld1q_s32(data+i-2);
+ tmp_vec[11] = vld1q_s32(data+i-1);
+ tmp_vec[12] = vld1q_s32(data+i);
+ tmp_vec[13] = vld1q_s32(data+i+1);
+ tmp_vec[14] = vld1q_s32(data+i+2);
+ tmp_vec[15] = vld1q_s32(data+i+3);
+ tmp_vec[16] = vld1q_s32(data + i + 4);
+ tmp_vec[17] = vld1q_s32(data + i + 5);
+ tmp_vec[18] = vld1q_s32(data + i + 6);
+ tmp_vec[19] = vld1q_s32(data + i + 7);
+
+ MUL_64_BIT_LOOP_UNROOL_3(qlp_coeff_2, 3)
+ MACC_64_BIT_LOOP_UNROOL_3(1, qlp_coeff_2, 2)
+ MACC_64_BIT_LOOP_UNROOL_3(2, qlp_coeff_2, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(3, qlp_coeff_2, 0)
+ MACC_64_BIT_LOOP_UNROOL_3(4, qlp_coeff_1, 3)
+ MACC_64_BIT_LOOP_UNROOL_3(5, qlp_coeff_1, 2)
+ MACC_64_BIT_LOOP_UNROOL_3(6, qlp_coeff_1, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(7, qlp_coeff_1, 0)
+ MACC_64_BIT_LOOP_UNROOL_3(8, qlp_coeff_0, 3)
+ MACC_64_BIT_LOOP_UNROOL_3(9, qlp_coeff_0, 2)
+ MACC_64_BIT_LOOP_UNROOL_3(10,qlp_coeff_0, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(11,qlp_coeff_0, 0)
+
+ SHIFT_SUMS_64BITS_AND_STORE_SUB()
+
+ tmp_vec[0] = tmp_vec[12];
+ tmp_vec[1] = tmp_vec[13];
+ tmp_vec[2] = tmp_vec[14];
+ tmp_vec[3] = tmp_vec[15];
+ tmp_vec[4] = tmp_vec[16];
+ tmp_vec[5] = tmp_vec[17];
+ tmp_vec[6] = tmp_vec[18];
+ tmp_vec[7] = tmp_vec[19];
+ }
+ }
+ else { /* order == 11 */
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], qlp_coeff[2], qlp_coeff[3]};
+ int32x4_t qlp_coeff_1 = {qlp_coeff[4],qlp_coeff[5],qlp_coeff[6],qlp_coeff[7]};
+ int32x4_t qlp_coeff_2 = {qlp_coeff[8],qlp_coeff[9],qlp_coeff[10],0};
+
+ tmp_vec[0] = vld1q_s32(data - 11);
+ tmp_vec[1] = vld1q_s32(data - 10);
+ tmp_vec[2] = vld1q_s32(data - 9);
+ tmp_vec[3] = vld1q_s32(data - 8);
+ tmp_vec[4] = vld1q_s32(data - 7);
+ tmp_vec[5] = vld1q_s32(data - 6);
+ tmp_vec[6] = vld1q_s32(data - 5);
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int64x2_t summ_l_0, summ_h_0, summ_l_1, summ_h_1, summ_l_2, summ_h_2;
+
+ tmp_vec[7] = vld1q_s32(data+i-4);
+ tmp_vec[8] = vld1q_s32(data+i-3);
+ tmp_vec[9] = vld1q_s32(data+i-2);
+ tmp_vec[10] = vld1q_s32(data+i-1);
+ tmp_vec[11] = vld1q_s32(data+i);
+ tmp_vec[12] = vld1q_s32(data+i+1);
+ tmp_vec[13] = vld1q_s32(data+i+2);
+ tmp_vec[14] = vld1q_s32(data+i+3);
+ tmp_vec[15] = vld1q_s32(data + i + 4);
+ tmp_vec[16] = vld1q_s32(data + i + 5);
+ tmp_vec[17] = vld1q_s32(data + i + 6);
+ tmp_vec[18] = vld1q_s32(data + i + 7);
+
+ MUL_64_BIT_LOOP_UNROOL_3(qlp_coeff_2, 2)
+ MACC_64_BIT_LOOP_UNROOL_3(1, qlp_coeff_2, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(2, qlp_coeff_2, 0)
+ MACC_64_BIT_LOOP_UNROOL_3(3, qlp_coeff_1, 3)
+ MACC_64_BIT_LOOP_UNROOL_3(4, qlp_coeff_1, 2)
+ MACC_64_BIT_LOOP_UNROOL_3(5, qlp_coeff_1, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(6, qlp_coeff_1, 0)
+ MACC_64_BIT_LOOP_UNROOL_3(7, qlp_coeff_0, 3)
+ MACC_64_BIT_LOOP_UNROOL_3(8, qlp_coeff_0, 2)
+ MACC_64_BIT_LOOP_UNROOL_3(9, qlp_coeff_0, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(10,qlp_coeff_0, 0)
+
+ SHIFT_SUMS_64BITS_AND_STORE_SUB()
+
+ tmp_vec[0] = tmp_vec[12];
+ tmp_vec[1] = tmp_vec[13];
+ tmp_vec[2] = tmp_vec[14];
+ tmp_vec[3] = tmp_vec[15];
+ tmp_vec[4] = tmp_vec[16];
+ tmp_vec[5] = tmp_vec[17];
+ tmp_vec[6] = tmp_vec[18];
+ }
+ }
+ }
+ else
+ {
+ if (order == 10) {
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], qlp_coeff[2], qlp_coeff[3]};
+ int32x4_t qlp_coeff_1 = {qlp_coeff[4], qlp_coeff[5], qlp_coeff[6], qlp_coeff[7]};
+ int32x4_t qlp_coeff_2 = {qlp_coeff[8], qlp_coeff[9], 0, 0};
+
+ tmp_vec[0] = vld1q_s32(data - 10);
+ tmp_vec[1] = vld1q_s32(data - 9);
+ tmp_vec[2] = vld1q_s32(data - 8);
+ tmp_vec[3] = vld1q_s32(data - 7);
+ tmp_vec[4] = vld1q_s32(data - 6);
+ tmp_vec[5] = vld1q_s32(data - 5);
+
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int64x2_t summ_l_0, summ_h_0, summ_l_1, summ_h_1, summ_l_2, summ_h_2;
+
+ tmp_vec[6] = vld1q_s32(data + i - 4);
+ tmp_vec[7] = vld1q_s32(data + i - 3);
+ tmp_vec[8] = vld1q_s32(data + i - 2);
+ tmp_vec[9] = vld1q_s32(data + i - 1);
+ tmp_vec[10] = vld1q_s32(data + i - 0);
+ tmp_vec[11] = vld1q_s32(data + i + 1);
+ tmp_vec[12] = vld1q_s32(data + i + 2);
+ tmp_vec[13] = vld1q_s32(data + i + 3);
+ tmp_vec[14] = vld1q_s32(data + i + 4);
+ tmp_vec[15] = vld1q_s32(data + i + 5);
+ tmp_vec[16] = vld1q_s32(data + i + 6);
+ tmp_vec[17] = vld1q_s32(data + i + 7);
+
+ MUL_64_BIT_LOOP_UNROOL_3(qlp_coeff_2, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(1, qlp_coeff_2, 0)
+ MACC_64_BIT_LOOP_UNROOL_3(2, qlp_coeff_1, 3)
+ MACC_64_BIT_LOOP_UNROOL_3(3, qlp_coeff_1, 2)
+ MACC_64_BIT_LOOP_UNROOL_3(4, qlp_coeff_1, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(5, qlp_coeff_1, 0)
+ MACC_64_BIT_LOOP_UNROOL_3(6, qlp_coeff_0, 3)
+ MACC_64_BIT_LOOP_UNROOL_3(7, qlp_coeff_0, 2)
+ MACC_64_BIT_LOOP_UNROOL_3(8, qlp_coeff_0, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(9, qlp_coeff_0, 0)
+
+ SHIFT_SUMS_64BITS_AND_STORE_SUB()
+
+ tmp_vec[0] = tmp_vec[12];
+ tmp_vec[1] = tmp_vec[13];
+ tmp_vec[2] = tmp_vec[14];
+ tmp_vec[3] = tmp_vec[15];
+ tmp_vec[4] = tmp_vec[16];
+ tmp_vec[5] = tmp_vec[17];
+ }
+ }
+
+ else /* order == 9 */ {
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], qlp_coeff[2], qlp_coeff[3]};
+ int32x4_t qlp_coeff_1 = {qlp_coeff[4], qlp_coeff[5], qlp_coeff[6], qlp_coeff[7]};
+ int32x4_t qlp_coeff_2 = {qlp_coeff[8], 0, 0, 0};
+
+ tmp_vec[0] = vld1q_s32(data - 9);
+ tmp_vec[1] = vld1q_s32(data - 8);
+ tmp_vec[2] = vld1q_s32(data - 7);
+ tmp_vec[3] = vld1q_s32(data - 6);
+ tmp_vec[4] = vld1q_s32(data - 5);
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int64x2_t summ_l_0, summ_h_0, summ_l_1, summ_h_1, summ_l_2, summ_h_2;
+
+ tmp_vec[5] = vld1q_s32(data + i - 4);
+ tmp_vec[6] = vld1q_s32(data + i - 3);
+ tmp_vec[7] = vld1q_s32(data + i - 2);
+ tmp_vec[8] = vld1q_s32(data + i - 1);
+ tmp_vec[9] = vld1q_s32(data + i - 0);
+ tmp_vec[10] = vld1q_s32(data + i + 1);
+ tmp_vec[11] = vld1q_s32(data + i + 2);
+ tmp_vec[12] = vld1q_s32(data + i + 3);
+ tmp_vec[13] = vld1q_s32(data + i + 4);
+ tmp_vec[14] = vld1q_s32(data + i + 5);
+ tmp_vec[15] = vld1q_s32(data + i + 6);
+ tmp_vec[16] = vld1q_s32(data + i + 7);
+
+ MUL_64_BIT_LOOP_UNROOL_3(qlp_coeff_2, 0)
+ MACC_64_BIT_LOOP_UNROOL_3(1, qlp_coeff_1, 3)
+ MACC_64_BIT_LOOP_UNROOL_3(2, qlp_coeff_1, 2)
+ MACC_64_BIT_LOOP_UNROOL_3(3, qlp_coeff_1, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(4, qlp_coeff_1, 0)
+ MACC_64_BIT_LOOP_UNROOL_3(5, qlp_coeff_0, 3)
+ MACC_64_BIT_LOOP_UNROOL_3(6, qlp_coeff_0, 2)
+ MACC_64_BIT_LOOP_UNROOL_3(7, qlp_coeff_0, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(8, qlp_coeff_0, 0)
+
+ SHIFT_SUMS_64BITS_AND_STORE_SUB()
+
+ tmp_vec[0] = tmp_vec[12];
+ tmp_vec[1] = tmp_vec[13];
+ tmp_vec[2] = tmp_vec[14];
+ tmp_vec[3] = tmp_vec[15];
+ tmp_vec[4] = tmp_vec[16];
+ }
+ }
+ }
+ }
+ else if (order > 4)
+ {
+ if (order > 6)
+ {
+ if (order == 8)
+ {
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], qlp_coeff[2], qlp_coeff[3]};
+ int32x4_t qlp_coeff_1 = {qlp_coeff[4], qlp_coeff[5], qlp_coeff[6], qlp_coeff[7]};
+
+ tmp_vec[0] = vld1q_s32(data - 8);
+ tmp_vec[1] = vld1q_s32(data - 7);
+ tmp_vec[2] = vld1q_s32(data - 6);
+ tmp_vec[3] = vld1q_s32(data - 5);
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int64x2_t summ_l_0, summ_h_0, summ_l_1, summ_h_1, summ_l_2, summ_h_2;
+
+ tmp_vec[4] = vld1q_s32(data + i - 4);
+ tmp_vec[5] = vld1q_s32(data + i - 3);
+ tmp_vec[6] = vld1q_s32(data + i - 2);
+ tmp_vec[7] = vld1q_s32(data + i - 1);
+ tmp_vec[8] = vld1q_s32(data + i - 0);
+ tmp_vec[9] = vld1q_s32(data + i + 1);
+ tmp_vec[10] = vld1q_s32(data + i + 2);
+ tmp_vec[11] = vld1q_s32(data + i + 3);
+ tmp_vec[12] = vld1q_s32(data + i + 4);
+ tmp_vec[13] = vld1q_s32(data + i + 5);
+ tmp_vec[14] = vld1q_s32(data + i + 6);
+ tmp_vec[15] = vld1q_s32(data + i + 7);
+
+
+ MUL_64_BIT_LOOP_UNROOL_3(qlp_coeff_1, 3)
+ MACC_64_BIT_LOOP_UNROOL_3(1, qlp_coeff_1, 2)
+ MACC_64_BIT_LOOP_UNROOL_3(2, qlp_coeff_1, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(3, qlp_coeff_1, 0)
+ MACC_64_BIT_LOOP_UNROOL_3(4, qlp_coeff_0, 3)
+ MACC_64_BIT_LOOP_UNROOL_3(5, qlp_coeff_0, 2)
+ MACC_64_BIT_LOOP_UNROOL_3(6, qlp_coeff_0, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(7, qlp_coeff_0, 0)
+
+ SHIFT_SUMS_64BITS_AND_STORE_SUB()
+
+ tmp_vec[0] = tmp_vec[12];
+ tmp_vec[1] = tmp_vec[13];
+ tmp_vec[2] = tmp_vec[14];
+ tmp_vec[3] = tmp_vec[15];
+ }
+ }
+ else /* order == 7 */
+ {
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], qlp_coeff[2], qlp_coeff[3]};
+ int32x4_t qlp_coeff_1 = {qlp_coeff[4], qlp_coeff[5], qlp_coeff[6], 0};
+
+ tmp_vec[0] = vld1q_s32(data - 7);
+ tmp_vec[1] = vld1q_s32(data - 6);
+ tmp_vec[2] = vld1q_s32(data - 5);
+
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int64x2_t summ_l_0, summ_h_0, summ_l_1, summ_h_1, summ_l_2, summ_h_2;
+ tmp_vec[3] = vld1q_s32(data +i - 4);
+ tmp_vec[4] = vld1q_s32(data + i - 3);
+ tmp_vec[5] = vld1q_s32(data + i - 2);
+ tmp_vec[6] = vld1q_s32(data + i - 1);
+ tmp_vec[7] = vld1q_s32(data + i - 0);
+ tmp_vec[8] = vld1q_s32(data + i + 1);
+ tmp_vec[9] = vld1q_s32(data + i + 2);
+ tmp_vec[10] = vld1q_s32(data + i + 3);
+ tmp_vec[11] = vld1q_s32(data + i + 4);
+ tmp_vec[12] = vld1q_s32(data + i + 5);
+ tmp_vec[13] = vld1q_s32(data + i + 6);
+ tmp_vec[14] = vld1q_s32(data + i + 7);
+
+
+ MUL_64_BIT_LOOP_UNROOL_3(qlp_coeff_1, 2)
+ MACC_64_BIT_LOOP_UNROOL_3(1, qlp_coeff_1, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(2, qlp_coeff_1, 0)
+ MACC_64_BIT_LOOP_UNROOL_3(3, qlp_coeff_0, 3)
+ MACC_64_BIT_LOOP_UNROOL_3(4, qlp_coeff_0, 2)
+ MACC_64_BIT_LOOP_UNROOL_3(5, qlp_coeff_0, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(6, qlp_coeff_0, 0)
+
+ SHIFT_SUMS_64BITS_AND_STORE_SUB()
+
+ tmp_vec[0] = tmp_vec[12];
+ tmp_vec[1] = tmp_vec[13];
+ tmp_vec[2] = tmp_vec[14];
+ }
+ }
+ }
+ else
+ {
+ if (order == 6) {
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], qlp_coeff[2], qlp_coeff[3]};
+ int32x4_t qlp_coeff_1 = {qlp_coeff[4], qlp_coeff[5], 0, 0};
+
+ tmp_vec[0] = vld1q_s32(data - 6);
+ tmp_vec[1] = vld1q_s32(data - 5);
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int64x2_t summ_l_0, summ_h_0, summ_l_1, summ_h_1, summ_l_2, summ_h_2;
+
+ tmp_vec[2] = vld1q_s32(data + i - 4);
+ tmp_vec[3] = vld1q_s32(data + i - 3);
+ tmp_vec[4] = vld1q_s32(data + i - 2);
+ tmp_vec[5] = vld1q_s32(data + i - 1);
+ tmp_vec[6] = vld1q_s32(data + i - 0);
+ tmp_vec[7] = vld1q_s32(data + i + 1);
+ tmp_vec[8] = vld1q_s32(data + i + 2);
+ tmp_vec[9] = vld1q_s32(data + i + 3);
+ tmp_vec[10] = vld1q_s32(data + i + 4);
+ tmp_vec[11] = vld1q_s32(data + i + 5);
+ tmp_vec[12] = vld1q_s32(data + i + 6);
+ tmp_vec[13] = vld1q_s32(data + i + 7);
+
+
+ MUL_64_BIT_LOOP_UNROOL_3(qlp_coeff_1, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(1, qlp_coeff_1, 0)
+ MACC_64_BIT_LOOP_UNROOL_3(2, qlp_coeff_0, 3)
+ MACC_64_BIT_LOOP_UNROOL_3(3, qlp_coeff_0, 2)
+ MACC_64_BIT_LOOP_UNROOL_3(4, qlp_coeff_0, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(5, qlp_coeff_0, 0)
+
+ SHIFT_SUMS_64BITS_AND_STORE_SUB()
+
+ tmp_vec[0] = tmp_vec[12];
+ tmp_vec[1] = tmp_vec[13];
+ }
+ }
+
+ else
+ { /* order == 5 */
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], qlp_coeff[2], qlp_coeff[3]};
+ int32x4_t qlp_coeff_1 = {qlp_coeff[4], 0, 0, 0};
+
+ tmp_vec[0] = vld1q_s32(data - 5);
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int64x2_t summ_l_0, summ_h_0, summ_l_1, summ_h_1, summ_l_2, summ_h_2;
+ tmp_vec[1] = vld1q_s32(data + i - 4);
+ tmp_vec[2] = vld1q_s32(data + i - 3);
+ tmp_vec[3] = vld1q_s32(data + i - 2);
+ tmp_vec[4] = vld1q_s32(data + i - 1);
+ tmp_vec[5] = vld1q_s32(data + i - 0);
+ tmp_vec[6] = vld1q_s32(data + i + 1);
+ tmp_vec[7] = vld1q_s32(data + i + 2);
+ tmp_vec[8] = vld1q_s32(data + i + 3);
+ tmp_vec[9] = vld1q_s32(data + i + 4);
+ tmp_vec[10] = vld1q_s32(data + i + 5);
+ tmp_vec[11] = vld1q_s32(data + i + 6);
+ tmp_vec[12] = vld1q_s32(data + i + 7);
+
+ MUL_64_BIT_LOOP_UNROOL_3(qlp_coeff_1, 0)
+ MACC_64_BIT_LOOP_UNROOL_3(1, qlp_coeff_0, 3)
+ MACC_64_BIT_LOOP_UNROOL_3(2, qlp_coeff_0, 2)
+ MACC_64_BIT_LOOP_UNROOL_3(3, qlp_coeff_0, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(4, qlp_coeff_0, 0)
+
+ SHIFT_SUMS_64BITS_AND_STORE_SUB()
+
+ tmp_vec[0] = tmp_vec[12];
+ }
+ }
+ }
+ }
+ else
+ {
+ if (order > 2)
+ {
+ if (order == 4)
+ {
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], qlp_coeff[2], qlp_coeff[3]};
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int64x2_t summ_l_0, summ_h_0, summ_l_1, summ_h_1, summ_l_2, summ_h_2;
+ tmp_vec[0] = vld1q_s32(data + i - 4);
+ tmp_vec[1] = vld1q_s32(data + i - 3);
+ tmp_vec[2] = vld1q_s32(data + i - 2);
+ tmp_vec[3] = vld1q_s32(data + i - 1);
+ tmp_vec[4] = vld1q_s32(data + i - 0);
+ tmp_vec[5] = vld1q_s32(data + i + 1);
+ tmp_vec[6] = vld1q_s32(data + i + 2);
+ tmp_vec[7] = vld1q_s32(data + i + 3);
+ tmp_vec[8] = vld1q_s32(data + i + 4);
+ tmp_vec[9] = vld1q_s32(data + i + 5);
+ tmp_vec[10] = vld1q_s32(data + i + 6);
+ tmp_vec[11] = vld1q_s32(data + i + 7);
+
+ MUL_64_BIT_LOOP_UNROOL_3(qlp_coeff_0, 3)
+ MACC_64_BIT_LOOP_UNROOL_3(1, qlp_coeff_0, 2)
+ MACC_64_BIT_LOOP_UNROOL_3(2, qlp_coeff_0, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(3, qlp_coeff_0, 0)
+
+ SHIFT_SUMS_64BITS_AND_STORE_SUB()
+ }
+ }
+ else
+ { /* order == 3 */
+
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], qlp_coeff[2], 0};
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int64x2_t summ_l_0, summ_h_0, summ_l_1, summ_h_1, summ_l_2, summ_h_2;
+ tmp_vec[0] = vld1q_s32(data + i - 3);
+ tmp_vec[1] = vld1q_s32(data + i - 2);
+ tmp_vec[2] = vld1q_s32(data + i - 1);
+ tmp_vec[4] = vld1q_s32(data + i + 1);
+ tmp_vec[5] = vld1q_s32(data + i + 2);
+ tmp_vec[6] = vld1q_s32(data + i + 3);
+ tmp_vec[8] = vld1q_s32(data + i + 5);
+ tmp_vec[9] = vld1q_s32(data + i + 6);
+ tmp_vec[10] = vld1q_s32(data + i + 7);
+
+ MUL_64_BIT_LOOP_UNROOL_3(qlp_coeff_0, 2)
+ MACC_64_BIT_LOOP_UNROOL_3(1, qlp_coeff_0, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(2, qlp_coeff_0, 0)
+
+ SHIFT_SUMS_64BITS_AND_STORE_SUB()
+ }
+ }
+ }
+ else
+ {
+ if (order == 2)
+ {
+ int32x4_t qlp_coeff_0 = {qlp_coeff[0], qlp_coeff[1], 0, 0};
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int64x2_t summ_l_0, summ_h_0, summ_l_1, summ_h_1, summ_l_2, summ_h_2;
+ tmp_vec[0] = vld1q_s32(data + i - 2);
+ tmp_vec[1] = vld1q_s32(data + i - 1);
+ tmp_vec[4] = vld1q_s32(data + i + 2);
+ tmp_vec[5] = vld1q_s32(data + i + 3);
+ tmp_vec[8] = vld1q_s32(data + i + 6);
+ tmp_vec[9] = vld1q_s32(data + i + 7);
+
+ MUL_64_BIT_LOOP_UNROOL_3(qlp_coeff_0, 1)
+ MACC_64_BIT_LOOP_UNROOL_3(1, qlp_coeff_0, 0)
+
+ SHIFT_SUMS_64BITS_AND_STORE_SUB()
+ }
+ }
+
+ else
+ { /* order == 1 */
+
+ int32x2_t qlp_coeff_0_2 = vdup_n_s32(qlp_coeff[0]);
+ int32x4_t qlp_coeff_0_4 = vdupq_n_s32(qlp_coeff[0]);
+
+ for (i = 0; i < (int)data_len - 11; i += 12)
+ {
+ int64x2_t summ_l_0, summ_h_0, summ_l_1, summ_h_1, summ_l_2, summ_h_2;
+ tmp_vec[0] = vld1q_s32(data + i - 1);
+ tmp_vec[4] = vld1q_s32(data + i + 3);
+ tmp_vec[8] = vld1q_s32(data + i + 7);
+
+ summ_l_0 = vmull_s32(vget_low_s32(tmp_vec[0]), qlp_coeff_0_2);
+ summ_h_0 = vmull_high_s32(tmp_vec[0], qlp_coeff_0_4);
+
+ summ_l_1 = vmull_s32(vget_low_s32(tmp_vec[4]), qlp_coeff_0_2);
+ summ_h_1 = vmull_high_s32(tmp_vec[4], qlp_coeff_0_4);
+
+ summ_l_2 = vmull_s32(vget_low_s32(tmp_vec[8]), qlp_coeff_0_2);
+ summ_h_2 = vmull_high_s32(tmp_vec[8], qlp_coeff_0_4);
+
+ SHIFT_SUMS_64BITS_AND_STORE_SUB()
+ }
+ }
+ }
+ }
+ for (; i < (int)data_len; i++)
+ {
+ sum = 0;
+ switch (order)
+ {
+ case 12:
+ sum += qlp_coeff[11] * (FLAC__int64)data[i - 12]; /* Falls through. */
+ case 11:
+ sum += qlp_coeff[10] * (FLAC__int64)data[i - 11]; /* Falls through. */
+ case 10:
+ sum += qlp_coeff[9] * (FLAC__int64)data[i - 10]; /* Falls through. */
+ case 9:
+ sum += qlp_coeff[8] * (FLAC__int64)data[i - 9]; /* Falls through. */
+ case 8:
+ sum += qlp_coeff[7] * (FLAC__int64)data[i - 8]; /* Falls through. */
+ case 7:
+ sum += qlp_coeff[6] * (FLAC__int64)data[i - 7]; /* Falls through. */
+ case 6:
+ sum += qlp_coeff[5] * (FLAC__int64)data[i - 6]; /* Falls through. */
+ case 5:
+ sum += qlp_coeff[4] * (FLAC__int64)data[i - 5]; /* Falls through. */
+ case 4:
+ sum += qlp_coeff[3] * (FLAC__int64)data[i - 4]; /* Falls through. */
+ case 3:
+ sum += qlp_coeff[2] * (FLAC__int64)data[i - 3]; /* Falls through. */
+ case 2:
+ sum += qlp_coeff[1] * (FLAC__int64)data[i - 2]; /* Falls through. */
+ case 1:
+ sum += qlp_coeff[0] * (FLAC__int64)data[i - 1];
+ }
+ residual[i] = data[i] - (sum >> lp_quantization);
+ }
+ }
+ else
+ { /* order > 12 */
+ for (i = 0; i < (int)data_len; i++)
+ {
+ sum = 0;
+ switch (order)
+ {
+ case 32:
+ sum += qlp_coeff[31] * (FLAC__int64)data[i - 32]; /* Falls through. */
+ case 31:
+ sum += qlp_coeff[30] * (FLAC__int64)data[i - 31]; /* Falls through. */
+ case 30:
+ sum += qlp_coeff[29] * (FLAC__int64)data[i - 30]; /* Falls through. */
+ case 29:
+ sum += qlp_coeff[28] * (FLAC__int64)data[i - 29]; /* Falls through. */
+ case 28:
+ sum += qlp_coeff[27] * (FLAC__int64)data[i - 28]; /* Falls through. */
+ case 27:
+ sum += qlp_coeff[26] * (FLAC__int64)data[i - 27]; /* Falls through. */
+ case 26:
+ sum += qlp_coeff[25] * (FLAC__int64)data[i - 26]; /* Falls through. */
+ case 25:
+ sum += qlp_coeff[24] * (FLAC__int64)data[i - 25]; /* Falls through. */
+ case 24:
+ sum += qlp_coeff[23] * (FLAC__int64)data[i - 24]; /* Falls through. */
+ case 23:
+ sum += qlp_coeff[22] * (FLAC__int64)data[i - 23]; /* Falls through. */
+ case 22:
+ sum += qlp_coeff[21] * (FLAC__int64)data[i - 22]; /* Falls through. */
+ case 21:
+ sum += qlp_coeff[20] * (FLAC__int64)data[i - 21]; /* Falls through. */
+ case 20:
+ sum += qlp_coeff[19] * (FLAC__int64)data[i - 20]; /* Falls through. */
+ case 19:
+ sum += qlp_coeff[18] * (FLAC__int64)data[i - 19]; /* Falls through. */
+ case 18:
+ sum += qlp_coeff[17] * (FLAC__int64)data[i - 18]; /* Falls through. */
+ case 17:
+ sum += qlp_coeff[16] * (FLAC__int64)data[i - 17]; /* Falls through. */
+ case 16:
+ sum += qlp_coeff[15] * (FLAC__int64)data[i - 16]; /* Falls through. */
+ case 15:
+ sum += qlp_coeff[14] * (FLAC__int64)data[i - 15]; /* Falls through. */
+ case 14:
+ sum += qlp_coeff[13] * (FLAC__int64)data[i - 14]; /* Falls through. */
+ case 13:
+ sum += qlp_coeff[12] * (FLAC__int64)data[i - 13];
+ sum += qlp_coeff[11] * (FLAC__int64)data[i - 12];
+ sum += qlp_coeff[10] * (FLAC__int64)data[i - 11];
+ sum += qlp_coeff[9] * (FLAC__int64)data[i - 10];
+ sum += qlp_coeff[8] * (FLAC__int64)data[i - 9];
+ sum += qlp_coeff[7] * (FLAC__int64)data[i - 8];
+ sum += qlp_coeff[6] * (FLAC__int64)data[i - 7];
+ sum += qlp_coeff[5] * (FLAC__int64)data[i - 6];
+ sum += qlp_coeff[4] * (FLAC__int64)data[i - 5];
+ sum += qlp_coeff[3] * (FLAC__int64)data[i - 4];
+ sum += qlp_coeff[2] * (FLAC__int64)data[i - 3];
+ sum += qlp_coeff[1] * (FLAC__int64)data[i - 2];
+ sum += qlp_coeff[0] * (FLAC__int64)data[i - 1];
+ }
+ residual[i] = data[i] - (sum >> lp_quantization);
+ }
+ }
+
+ return;
+}
+
+#endif /* FLAC__CPU_ARM64 && FLAC__HAS_ARCH64INTRIN */
+#endif /* FLAC__NO_ASM */
+#endif /* FLAC__INTEGER_ONLY_LIBRARY */
diff --git a/3rdparty/libflac/src/libFLAC/lpc_intrin_sse2.c b/3rdparty/libflac/src/libFLAC/lpc_intrin_sse2.c
new file mode 100644
index 00000000000..d16a085fba3
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC/lpc_intrin_sse2.c
@@ -0,0 +1,966 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "private/cpu.h"
+
+#ifndef FLAC__INTEGER_ONLY_LIBRARY
+#ifndef FLAC__NO_ASM
+#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN
+#include "private/lpc.h"
+#ifdef FLAC__SSE2_SUPPORTED
+
+#include "FLAC/assert.h"
+#include "FLAC/format.h"
+
+#include <emmintrin.h> /* SSE2 */
+
+#define RESIDUAL32_RESULT(xmmN) residual[i] = data[i] - (_mm_cvtsi128_si32(xmmN) >> lp_quantization);
+#define DATA32_RESULT(xmmN) data[i] = residual[i] + (_mm_cvtsi128_si32(xmmN) >> lp_quantization);
+
+
+FLAC__SSE_TARGET("sse2")
+void FLAC__lpc_compute_autocorrelation_intrin_sse2_lag_8(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[])
+{
+#undef MAX_LAG
+#define MAX_LAG 8
+#include "deduplication/lpc_compute_autocorrelation_intrin_sse2.c"
+}
+
+FLAC__SSE_TARGET("sse2")
+void FLAC__lpc_compute_autocorrelation_intrin_sse2_lag_10(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[])
+{
+#undef MAX_LAG
+#define MAX_LAG 10
+#include "deduplication/lpc_compute_autocorrelation_intrin_sse2.c"
+}
+
+
+FLAC__SSE_TARGET("sse2")
+void FLAC__lpc_compute_autocorrelation_intrin_sse2_lag_14(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[])
+{
+#undef MAX_LAG
+#define MAX_LAG 14
+#include "deduplication/lpc_compute_autocorrelation_intrin_sse2.c"
+}
+
+FLAC__SSE_TARGET("sse2")
+void FLAC__lpc_compute_residual_from_qlp_coefficients_16_intrin_sse2(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[])
+{
+ int i;
+ FLAC__int32 sum;
+ const __m128i cnt = _mm_cvtsi32_si128(lp_quantization);
+
+ FLAC__ASSERT(order > 0);
+ FLAC__ASSERT(order <= 32);
+
+ if(order <= 12) {
+ if(order > 8) {
+ if(order > 10) {
+ if(order == 12) {
+ __m128i q0, q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11;
+ q0 = _mm_cvtsi32_si128(0xffff & qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(0xffff & qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+ q2 = _mm_cvtsi32_si128(0xffff & qlp_coeff[2]); q2 = _mm_shuffle_epi32(q2, _MM_SHUFFLE(0,0,0,0));
+ q3 = _mm_cvtsi32_si128(0xffff & qlp_coeff[3]); q3 = _mm_shuffle_epi32(q3, _MM_SHUFFLE(0,0,0,0));
+ q4 = _mm_cvtsi32_si128(0xffff & qlp_coeff[4]); q4 = _mm_shuffle_epi32(q4, _MM_SHUFFLE(0,0,0,0));
+ q5 = _mm_cvtsi32_si128(0xffff & qlp_coeff[5]); q5 = _mm_shuffle_epi32(q5, _MM_SHUFFLE(0,0,0,0));
+ q6 = _mm_cvtsi32_si128(0xffff & qlp_coeff[6]); q6 = _mm_shuffle_epi32(q6, _MM_SHUFFLE(0,0,0,0));
+ q7 = _mm_cvtsi32_si128(0xffff & qlp_coeff[7]); q7 = _mm_shuffle_epi32(q7, _MM_SHUFFLE(0,0,0,0));
+ q8 = _mm_cvtsi32_si128(0xffff & qlp_coeff[8]); q8 = _mm_shuffle_epi32(q8, _MM_SHUFFLE(0,0,0,0));
+ q9 = _mm_cvtsi32_si128(0xffff & qlp_coeff[9]); q9 = _mm_shuffle_epi32(q9, _MM_SHUFFLE(0,0,0,0));
+ q10 = _mm_cvtsi32_si128(0xffff & qlp_coeff[10]); q10 = _mm_shuffle_epi32(q10, _MM_SHUFFLE(0,0,0,0));
+ q11 = _mm_cvtsi32_si128(0xffff & qlp_coeff[11]); q11 = _mm_shuffle_epi32(q11, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_madd_epi16(q11, _mm_loadu_si128((const __m128i*)(const void*)(data+i-12)));
+ mull = _mm_madd_epi16(q10, _mm_loadu_si128((const __m128i*)(const void*)(data+i-11))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q9, _mm_loadu_si128((const __m128i*)(const void*)(data+i-10))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q8, _mm_loadu_si128((const __m128i*)(const void*)(data+i-9))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q7, _mm_loadu_si128((const __m128i*)(const void*)(data+i-8))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q6, _mm_loadu_si128((const __m128i*)(const void*)(data+i-7))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q5, _mm_loadu_si128((const __m128i*)(const void*)(data+i-6))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q4, _mm_loadu_si128((const __m128i*)(const void*)(data+i-5))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q3, _mm_loadu_si128((const __m128i*)(const void*)(data+i-4))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q2, _mm_loadu_si128((const __m128i*)(const void*)(data+i-3))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 11 */
+ __m128i q0, q1, q2, q3, q4, q5, q6, q7, q8, q9, q10;
+ q0 = _mm_cvtsi32_si128(0xffff & qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(0xffff & qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+ q2 = _mm_cvtsi32_si128(0xffff & qlp_coeff[2]); q2 = _mm_shuffle_epi32(q2, _MM_SHUFFLE(0,0,0,0));
+ q3 = _mm_cvtsi32_si128(0xffff & qlp_coeff[3]); q3 = _mm_shuffle_epi32(q3, _MM_SHUFFLE(0,0,0,0));
+ q4 = _mm_cvtsi32_si128(0xffff & qlp_coeff[4]); q4 = _mm_shuffle_epi32(q4, _MM_SHUFFLE(0,0,0,0));
+ q5 = _mm_cvtsi32_si128(0xffff & qlp_coeff[5]); q5 = _mm_shuffle_epi32(q5, _MM_SHUFFLE(0,0,0,0));
+ q6 = _mm_cvtsi32_si128(0xffff & qlp_coeff[6]); q6 = _mm_shuffle_epi32(q6, _MM_SHUFFLE(0,0,0,0));
+ q7 = _mm_cvtsi32_si128(0xffff & qlp_coeff[7]); q7 = _mm_shuffle_epi32(q7, _MM_SHUFFLE(0,0,0,0));
+ q8 = _mm_cvtsi32_si128(0xffff & qlp_coeff[8]); q8 = _mm_shuffle_epi32(q8, _MM_SHUFFLE(0,0,0,0));
+ q9 = _mm_cvtsi32_si128(0xffff & qlp_coeff[9]); q9 = _mm_shuffle_epi32(q9, _MM_SHUFFLE(0,0,0,0));
+ q10 = _mm_cvtsi32_si128(0xffff & qlp_coeff[10]); q10 = _mm_shuffle_epi32(q10, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_madd_epi16(q10, _mm_loadu_si128((const __m128i*)(const void*)(data+i-11)));
+ mull = _mm_madd_epi16(q9, _mm_loadu_si128((const __m128i*)(const void*)(data+i-10))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q8, _mm_loadu_si128((const __m128i*)(const void*)(data+i-9))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q7, _mm_loadu_si128((const __m128i*)(const void*)(data+i-8))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q6, _mm_loadu_si128((const __m128i*)(const void*)(data+i-7))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q5, _mm_loadu_si128((const __m128i*)(const void*)(data+i-6))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q4, _mm_loadu_si128((const __m128i*)(const void*)(data+i-5))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q3, _mm_loadu_si128((const __m128i*)(const void*)(data+i-4))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q2, _mm_loadu_si128((const __m128i*)(const void*)(data+i-3))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ else {
+ if(order == 10) {
+ __m128i q0, q1, q2, q3, q4, q5, q6, q7, q8, q9;
+ q0 = _mm_cvtsi32_si128(0xffff & qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(0xffff & qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+ q2 = _mm_cvtsi32_si128(0xffff & qlp_coeff[2]); q2 = _mm_shuffle_epi32(q2, _MM_SHUFFLE(0,0,0,0));
+ q3 = _mm_cvtsi32_si128(0xffff & qlp_coeff[3]); q3 = _mm_shuffle_epi32(q3, _MM_SHUFFLE(0,0,0,0));
+ q4 = _mm_cvtsi32_si128(0xffff & qlp_coeff[4]); q4 = _mm_shuffle_epi32(q4, _MM_SHUFFLE(0,0,0,0));
+ q5 = _mm_cvtsi32_si128(0xffff & qlp_coeff[5]); q5 = _mm_shuffle_epi32(q5, _MM_SHUFFLE(0,0,0,0));
+ q6 = _mm_cvtsi32_si128(0xffff & qlp_coeff[6]); q6 = _mm_shuffle_epi32(q6, _MM_SHUFFLE(0,0,0,0));
+ q7 = _mm_cvtsi32_si128(0xffff & qlp_coeff[7]); q7 = _mm_shuffle_epi32(q7, _MM_SHUFFLE(0,0,0,0));
+ q8 = _mm_cvtsi32_si128(0xffff & qlp_coeff[8]); q8 = _mm_shuffle_epi32(q8, _MM_SHUFFLE(0,0,0,0));
+ q9 = _mm_cvtsi32_si128(0xffff & qlp_coeff[9]); q9 = _mm_shuffle_epi32(q9, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_madd_epi16(q9, _mm_loadu_si128((const __m128i*)(const void*)(data+i-10)));
+ mull = _mm_madd_epi16(q8, _mm_loadu_si128((const __m128i*)(const void*)(data+i-9))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q7, _mm_loadu_si128((const __m128i*)(const void*)(data+i-8))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q6, _mm_loadu_si128((const __m128i*)(const void*)(data+i-7))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q5, _mm_loadu_si128((const __m128i*)(const void*)(data+i-6))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q4, _mm_loadu_si128((const __m128i*)(const void*)(data+i-5))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q3, _mm_loadu_si128((const __m128i*)(const void*)(data+i-4))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q2, _mm_loadu_si128((const __m128i*)(const void*)(data+i-3))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 9 */
+ __m128i q0, q1, q2, q3, q4, q5, q6, q7, q8;
+ q0 = _mm_cvtsi32_si128(0xffff & qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(0xffff & qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+ q2 = _mm_cvtsi32_si128(0xffff & qlp_coeff[2]); q2 = _mm_shuffle_epi32(q2, _MM_SHUFFLE(0,0,0,0));
+ q3 = _mm_cvtsi32_si128(0xffff & qlp_coeff[3]); q3 = _mm_shuffle_epi32(q3, _MM_SHUFFLE(0,0,0,0));
+ q4 = _mm_cvtsi32_si128(0xffff & qlp_coeff[4]); q4 = _mm_shuffle_epi32(q4, _MM_SHUFFLE(0,0,0,0));
+ q5 = _mm_cvtsi32_si128(0xffff & qlp_coeff[5]); q5 = _mm_shuffle_epi32(q5, _MM_SHUFFLE(0,0,0,0));
+ q6 = _mm_cvtsi32_si128(0xffff & qlp_coeff[6]); q6 = _mm_shuffle_epi32(q6, _MM_SHUFFLE(0,0,0,0));
+ q7 = _mm_cvtsi32_si128(0xffff & qlp_coeff[7]); q7 = _mm_shuffle_epi32(q7, _MM_SHUFFLE(0,0,0,0));
+ q8 = _mm_cvtsi32_si128(0xffff & qlp_coeff[8]); q8 = _mm_shuffle_epi32(q8, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_madd_epi16(q8, _mm_loadu_si128((const __m128i*)(const void*)(data+i-9)));
+ mull = _mm_madd_epi16(q7, _mm_loadu_si128((const __m128i*)(const void*)(data+i-8))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q6, _mm_loadu_si128((const __m128i*)(const void*)(data+i-7))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q5, _mm_loadu_si128((const __m128i*)(const void*)(data+i-6))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q4, _mm_loadu_si128((const __m128i*)(const void*)(data+i-5))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q3, _mm_loadu_si128((const __m128i*)(const void*)(data+i-4))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q2, _mm_loadu_si128((const __m128i*)(const void*)(data+i-3))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ }
+ else if(order > 4) {
+ if(order > 6) {
+ if(order == 8) {
+ __m128i q0, q1, q2, q3, q4, q5, q6, q7;
+ q0 = _mm_cvtsi32_si128(0xffff & qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(0xffff & qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+ q2 = _mm_cvtsi32_si128(0xffff & qlp_coeff[2]); q2 = _mm_shuffle_epi32(q2, _MM_SHUFFLE(0,0,0,0));
+ q3 = _mm_cvtsi32_si128(0xffff & qlp_coeff[3]); q3 = _mm_shuffle_epi32(q3, _MM_SHUFFLE(0,0,0,0));
+ q4 = _mm_cvtsi32_si128(0xffff & qlp_coeff[4]); q4 = _mm_shuffle_epi32(q4, _MM_SHUFFLE(0,0,0,0));
+ q5 = _mm_cvtsi32_si128(0xffff & qlp_coeff[5]); q5 = _mm_shuffle_epi32(q5, _MM_SHUFFLE(0,0,0,0));
+ q6 = _mm_cvtsi32_si128(0xffff & qlp_coeff[6]); q6 = _mm_shuffle_epi32(q6, _MM_SHUFFLE(0,0,0,0));
+ q7 = _mm_cvtsi32_si128(0xffff & qlp_coeff[7]); q7 = _mm_shuffle_epi32(q7, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_madd_epi16(q7, _mm_loadu_si128((const __m128i*)(const void*)(data+i-8)));
+ mull = _mm_madd_epi16(q6, _mm_loadu_si128((const __m128i*)(const void*)(data+i-7))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q5, _mm_loadu_si128((const __m128i*)(const void*)(data+i-6))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q4, _mm_loadu_si128((const __m128i*)(const void*)(data+i-5))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q3, _mm_loadu_si128((const __m128i*)(const void*)(data+i-4))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q2, _mm_loadu_si128((const __m128i*)(const void*)(data+i-3))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 7 */
+ __m128i q0, q1, q2, q3, q4, q5, q6;
+ q0 = _mm_cvtsi32_si128(0xffff & qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(0xffff & qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+ q2 = _mm_cvtsi32_si128(0xffff & qlp_coeff[2]); q2 = _mm_shuffle_epi32(q2, _MM_SHUFFLE(0,0,0,0));
+ q3 = _mm_cvtsi32_si128(0xffff & qlp_coeff[3]); q3 = _mm_shuffle_epi32(q3, _MM_SHUFFLE(0,0,0,0));
+ q4 = _mm_cvtsi32_si128(0xffff & qlp_coeff[4]); q4 = _mm_shuffle_epi32(q4, _MM_SHUFFLE(0,0,0,0));
+ q5 = _mm_cvtsi32_si128(0xffff & qlp_coeff[5]); q5 = _mm_shuffle_epi32(q5, _MM_SHUFFLE(0,0,0,0));
+ q6 = _mm_cvtsi32_si128(0xffff & qlp_coeff[6]); q6 = _mm_shuffle_epi32(q6, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_madd_epi16(q6, _mm_loadu_si128((const __m128i*)(const void*)(data+i-7)));
+ mull = _mm_madd_epi16(q5, _mm_loadu_si128((const __m128i*)(const void*)(data+i-6))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q4, _mm_loadu_si128((const __m128i*)(const void*)(data+i-5))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q3, _mm_loadu_si128((const __m128i*)(const void*)(data+i-4))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q2, _mm_loadu_si128((const __m128i*)(const void*)(data+i-3))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ else {
+ if(order == 6) {
+ __m128i q0, q1, q2, q3, q4, q5;
+ q0 = _mm_cvtsi32_si128(0xffff & qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(0xffff & qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+ q2 = _mm_cvtsi32_si128(0xffff & qlp_coeff[2]); q2 = _mm_shuffle_epi32(q2, _MM_SHUFFLE(0,0,0,0));
+ q3 = _mm_cvtsi32_si128(0xffff & qlp_coeff[3]); q3 = _mm_shuffle_epi32(q3, _MM_SHUFFLE(0,0,0,0));
+ q4 = _mm_cvtsi32_si128(0xffff & qlp_coeff[4]); q4 = _mm_shuffle_epi32(q4, _MM_SHUFFLE(0,0,0,0));
+ q5 = _mm_cvtsi32_si128(0xffff & qlp_coeff[5]); q5 = _mm_shuffle_epi32(q5, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_madd_epi16(q5, _mm_loadu_si128((const __m128i*)(const void*)(data+i-6)));
+ mull = _mm_madd_epi16(q4, _mm_loadu_si128((const __m128i*)(const void*)(data+i-5))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q3, _mm_loadu_si128((const __m128i*)(const void*)(data+i-4))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q2, _mm_loadu_si128((const __m128i*)(const void*)(data+i-3))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 5 */
+ __m128i q0, q1, q2, q3, q4;
+ q0 = _mm_cvtsi32_si128(0xffff & qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(0xffff & qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+ q2 = _mm_cvtsi32_si128(0xffff & qlp_coeff[2]); q2 = _mm_shuffle_epi32(q2, _MM_SHUFFLE(0,0,0,0));
+ q3 = _mm_cvtsi32_si128(0xffff & qlp_coeff[3]); q3 = _mm_shuffle_epi32(q3, _MM_SHUFFLE(0,0,0,0));
+ q4 = _mm_cvtsi32_si128(0xffff & qlp_coeff[4]); q4 = _mm_shuffle_epi32(q4, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_madd_epi16(q4, _mm_loadu_si128((const __m128i*)(const void*)(data+i-5)));
+ mull = _mm_madd_epi16(q3, _mm_loadu_si128((const __m128i*)(const void*)(data+i-4))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q2, _mm_loadu_si128((const __m128i*)(const void*)(data+i-3))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ }
+ else {
+ if(order > 2) {
+ if(order == 4) {
+ __m128i q0, q1, q2, q3;
+ q0 = _mm_cvtsi32_si128(0xffff & qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(0xffff & qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+ q2 = _mm_cvtsi32_si128(0xffff & qlp_coeff[2]); q2 = _mm_shuffle_epi32(q2, _MM_SHUFFLE(0,0,0,0));
+ q3 = _mm_cvtsi32_si128(0xffff & qlp_coeff[3]); q3 = _mm_shuffle_epi32(q3, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_madd_epi16(q3, _mm_loadu_si128((const __m128i*)(const void*)(data+i-4)));
+ mull = _mm_madd_epi16(q2, _mm_loadu_si128((const __m128i*)(const void*)(data+i-3))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 3 */
+ __m128i q0, q1, q2;
+ q0 = _mm_cvtsi32_si128(0xffff & qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(0xffff & qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+ q2 = _mm_cvtsi32_si128(0xffff & qlp_coeff[2]); q2 = _mm_shuffle_epi32(q2, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_madd_epi16(q2, _mm_loadu_si128((const __m128i*)(const void*)(data+i-3)));
+ mull = _mm_madd_epi16(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_madd_epi16(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ else {
+ if(order == 2) {
+ __m128i q0, q1;
+ q0 = _mm_cvtsi32_si128(0xffff & qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(0xffff & qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_madd_epi16(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2)));
+ mull = _mm_madd_epi16(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 1 */
+ __m128i q0;
+ q0 = _mm_cvtsi32_si128(0xffff & qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ;
+ summ = _mm_madd_epi16(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1)));
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ }
+ for(; i < (int)data_len; i++) {
+ sum = 0;
+ switch(order) {
+ case 12: sum += qlp_coeff[11] * data[i-12]; /* Falls through. */
+ case 11: sum += qlp_coeff[10] * data[i-11]; /* Falls through. */
+ case 10: sum += qlp_coeff[ 9] * data[i-10]; /* Falls through. */
+ case 9: sum += qlp_coeff[ 8] * data[i- 9]; /* Falls through. */
+ case 8: sum += qlp_coeff[ 7] * data[i- 8]; /* Falls through. */
+ case 7: sum += qlp_coeff[ 6] * data[i- 7]; /* Falls through. */
+ case 6: sum += qlp_coeff[ 5] * data[i- 6]; /* Falls through. */
+ case 5: sum += qlp_coeff[ 4] * data[i- 5]; /* Falls through. */
+ case 4: sum += qlp_coeff[ 3] * data[i- 4]; /* Falls through. */
+ case 3: sum += qlp_coeff[ 2] * data[i- 3]; /* Falls through. */
+ case 2: sum += qlp_coeff[ 1] * data[i- 2]; /* Falls through. */
+ case 1: sum += qlp_coeff[ 0] * data[i- 1];
+ }
+ residual[i] = data[i] - (sum >> lp_quantization);
+ }
+ }
+ else { /* order > 12 */
+ for(i = 0; i < (int)data_len; i++) {
+ sum = 0;
+ switch(order) {
+ case 32: sum += qlp_coeff[31] * data[i-32]; /* Falls through. */
+ case 31: sum += qlp_coeff[30] * data[i-31]; /* Falls through. */
+ case 30: sum += qlp_coeff[29] * data[i-30]; /* Falls through. */
+ case 29: sum += qlp_coeff[28] * data[i-29]; /* Falls through. */
+ case 28: sum += qlp_coeff[27] * data[i-28]; /* Falls through. */
+ case 27: sum += qlp_coeff[26] * data[i-27]; /* Falls through. */
+ case 26: sum += qlp_coeff[25] * data[i-26]; /* Falls through. */
+ case 25: sum += qlp_coeff[24] * data[i-25]; /* Falls through. */
+ case 24: sum += qlp_coeff[23] * data[i-24]; /* Falls through. */
+ case 23: sum += qlp_coeff[22] * data[i-23]; /* Falls through. */
+ case 22: sum += qlp_coeff[21] * data[i-22]; /* Falls through. */
+ case 21: sum += qlp_coeff[20] * data[i-21]; /* Falls through. */
+ case 20: sum += qlp_coeff[19] * data[i-20]; /* Falls through. */
+ case 19: sum += qlp_coeff[18] * data[i-19]; /* Falls through. */
+ case 18: sum += qlp_coeff[17] * data[i-18]; /* Falls through. */
+ case 17: sum += qlp_coeff[16] * data[i-17]; /* Falls through. */
+ case 16: sum += qlp_coeff[15] * data[i-16]; /* Falls through. */
+ case 15: sum += qlp_coeff[14] * data[i-15]; /* Falls through. */
+ case 14: sum += qlp_coeff[13] * data[i-14]; /* Falls through. */
+ case 13: sum += qlp_coeff[12] * data[i-13];
+ sum += qlp_coeff[11] * data[i-12];
+ sum += qlp_coeff[10] * data[i-11];
+ sum += qlp_coeff[ 9] * data[i-10];
+ sum += qlp_coeff[ 8] * data[i- 9];
+ sum += qlp_coeff[ 7] * data[i- 8];
+ sum += qlp_coeff[ 6] * data[i- 7];
+ sum += qlp_coeff[ 5] * data[i- 6];
+ sum += qlp_coeff[ 4] * data[i- 5];
+ sum += qlp_coeff[ 3] * data[i- 4];
+ sum += qlp_coeff[ 2] * data[i- 3];
+ sum += qlp_coeff[ 1] * data[i- 2];
+ sum += qlp_coeff[ 0] * data[i- 1];
+ }
+ residual[i] = data[i] - (sum >> lp_quantization);
+ }
+ }
+}
+
+#if defined FLAC__CPU_IA32 /* unused for x86_64 */
+
+FLAC__SSE_TARGET("sse2")
+void FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_sse2(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[])
+{
+ int i;
+
+ FLAC__ASSERT(order > 0);
+ FLAC__ASSERT(order <= 32);
+
+ if(order <= 12) {
+ if(order > 8) { /* order == 9, 10, 11, 12 */
+ if(order > 10) { /* order == 11, 12 */
+ if(order == 12) {
+ __m128i xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0)); // 0 0 q[1] q[0]
+ xmm1 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+2)); // 0 0 q[3] q[2]
+ xmm2 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+4)); // 0 0 q[5] q[4]
+ xmm3 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+6)); // 0 0 q[7] q[6]
+ xmm4 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+8)); // 0 0 q[9] q[8]
+ xmm5 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+10)); // 0 0 q[11] q[10]
+
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0)); // 0 q[1] 0 q[0]
+ xmm1 = _mm_shuffle_epi32(xmm1, _MM_SHUFFLE(3,1,2,0)); // 0 q[3] 0 q[2]
+ xmm2 = _mm_shuffle_epi32(xmm2, _MM_SHUFFLE(3,1,2,0)); // 0 q[5] 0 q[4]
+ xmm3 = _mm_shuffle_epi32(xmm3, _MM_SHUFFLE(3,1,2,0)); // 0 q[7] 0 q[6]
+ xmm4 = _mm_shuffle_epi32(xmm4, _MM_SHUFFLE(3,1,2,0)); // 0 q[9] 0 q[8]
+ xmm5 = _mm_shuffle_epi32(xmm5, _MM_SHUFFLE(3,1,2,0)); // 0 q[11] 0 q[10]
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum += qlp_coeff[11] * data[i-12];
+ //sum += qlp_coeff[10] * data[i-11];
+ xmm7 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-12)); // 0 0 d[i-11] d[i-12]
+ xmm7 = _mm_shuffle_epi32(xmm7, _MM_SHUFFLE(2,0,3,1)); // 0 d[i-12] 0 d[i-11]
+ xmm7 = _mm_mul_epu32(xmm7, xmm5); /* we use _unsigned_ multiplication and discard high dword of the result values */
+
+ //sum += qlp_coeff[9] * data[i-10];
+ //sum += qlp_coeff[8] * data[i-9];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-10));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm4);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ //sum += qlp_coeff[7] * data[i-8];
+ //sum += qlp_coeff[6] * data[i-7];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-8));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm3);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ //sum += qlp_coeff[5] * data[i-6];
+ //sum += qlp_coeff[4] * data[i-5];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-6));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm2);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ //sum += qlp_coeff[3] * data[i-4];
+ //sum += qlp_coeff[2] * data[i-3];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-4));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm1);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ //sum += qlp_coeff[1] * data[i-2];
+ //sum += qlp_coeff[0] * data[i-1];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm0);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ xmm7 = _mm_add_epi32(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL32_RESULT(xmm7);
+ }
+ }
+ else { /* order == 11 */
+ __m128i xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0));
+ xmm1 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+2));
+ xmm2 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+4));
+ xmm3 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+6));
+ xmm4 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+8));
+ xmm5 = _mm_cvtsi32_si128(qlp_coeff[10]);
+
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0));
+ xmm1 = _mm_shuffle_epi32(xmm1, _MM_SHUFFLE(3,1,2,0));
+ xmm2 = _mm_shuffle_epi32(xmm2, _MM_SHUFFLE(3,1,2,0));
+ xmm3 = _mm_shuffle_epi32(xmm3, _MM_SHUFFLE(3,1,2,0));
+ xmm4 = _mm_shuffle_epi32(xmm4, _MM_SHUFFLE(3,1,2,0));
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum = qlp_coeff[10] * data[i-11];
+ xmm7 = _mm_cvtsi32_si128(data[i-11]);
+ xmm7 = _mm_mul_epu32(xmm7, xmm5);
+
+ //sum += qlp_coeff[9] * data[i-10];
+ //sum += qlp_coeff[8] * data[i-9];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-10));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm4);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ //sum += qlp_coeff[7] * data[i-8];
+ //sum += qlp_coeff[6] * data[i-7];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-8));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm3);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ //sum += qlp_coeff[5] * data[i-6];
+ //sum += qlp_coeff[4] * data[i-5];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-6));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm2);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ //sum += qlp_coeff[3] * data[i-4];
+ //sum += qlp_coeff[2] * data[i-3];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-4));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm1);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ //sum += qlp_coeff[1] * data[i-2];
+ //sum += qlp_coeff[0] * data[i-1];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm0);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ xmm7 = _mm_add_epi32(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL32_RESULT(xmm7);
+ }
+ }
+ }
+ else { /* order == 9, 10 */
+ if(order == 10) {
+ __m128i xmm0, xmm1, xmm2, xmm3, xmm4, xmm6, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0));
+ xmm1 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+2));
+ xmm2 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+4));
+ xmm3 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+6));
+ xmm4 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+8));
+
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0));
+ xmm1 = _mm_shuffle_epi32(xmm1, _MM_SHUFFLE(3,1,2,0));
+ xmm2 = _mm_shuffle_epi32(xmm2, _MM_SHUFFLE(3,1,2,0));
+ xmm3 = _mm_shuffle_epi32(xmm3, _MM_SHUFFLE(3,1,2,0));
+ xmm4 = _mm_shuffle_epi32(xmm4, _MM_SHUFFLE(3,1,2,0));
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum += qlp_coeff[9] * data[i-10];
+ //sum += qlp_coeff[8] * data[i-9];
+ xmm7 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-10));
+ xmm7 = _mm_shuffle_epi32(xmm7, _MM_SHUFFLE(2,0,3,1));
+ xmm7 = _mm_mul_epu32(xmm7, xmm4);
+
+ //sum += qlp_coeff[7] * data[i-8];
+ //sum += qlp_coeff[6] * data[i-7];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-8));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm3);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ //sum += qlp_coeff[5] * data[i-6];
+ //sum += qlp_coeff[4] * data[i-5];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-6));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm2);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ //sum += qlp_coeff[3] * data[i-4];
+ //sum += qlp_coeff[2] * data[i-3];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-4));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm1);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ //sum += qlp_coeff[1] * data[i-2];
+ //sum += qlp_coeff[0] * data[i-1];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm0);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ xmm7 = _mm_add_epi32(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL32_RESULT(xmm7);
+ }
+ }
+ else { /* order == 9 */
+ __m128i xmm0, xmm1, xmm2, xmm3, xmm4, xmm6, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0));
+ xmm1 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+2));
+ xmm2 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+4));
+ xmm3 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+6));
+ xmm4 = _mm_cvtsi32_si128(qlp_coeff[8]);
+
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0));
+ xmm1 = _mm_shuffle_epi32(xmm1, _MM_SHUFFLE(3,1,2,0));
+ xmm2 = _mm_shuffle_epi32(xmm2, _MM_SHUFFLE(3,1,2,0));
+ xmm3 = _mm_shuffle_epi32(xmm3, _MM_SHUFFLE(3,1,2,0));
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum = qlp_coeff[8] * data[i-9];
+ xmm7 = _mm_cvtsi32_si128(data[i-9]);
+ xmm7 = _mm_mul_epu32(xmm7, xmm4);
+
+ //sum += qlp_coeff[7] * data[i-8];
+ //sum += qlp_coeff[6] * data[i-7];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-8));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm3);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ //sum += qlp_coeff[5] * data[i-6];
+ //sum += qlp_coeff[4] * data[i-5];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-6));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm2);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ //sum += qlp_coeff[3] * data[i-4];
+ //sum += qlp_coeff[2] * data[i-3];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-4));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm1);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ //sum += qlp_coeff[1] * data[i-2];
+ //sum += qlp_coeff[0] * data[i-1];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm0);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ xmm7 = _mm_add_epi32(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL32_RESULT(xmm7);
+ }
+ }
+ }
+ }
+ else if(order > 4) { /* order == 5, 6, 7, 8 */
+ if(order > 6) { /* order == 7, 8 */
+ if(order == 8) {
+ __m128i xmm0, xmm1, xmm2, xmm3, xmm6, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0));
+ xmm1 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+2));
+ xmm2 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+4));
+ xmm3 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+6));
+
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0));
+ xmm1 = _mm_shuffle_epi32(xmm1, _MM_SHUFFLE(3,1,2,0));
+ xmm2 = _mm_shuffle_epi32(xmm2, _MM_SHUFFLE(3,1,2,0));
+ xmm3 = _mm_shuffle_epi32(xmm3, _MM_SHUFFLE(3,1,2,0));
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum += qlp_coeff[7] * data[i-8];
+ //sum += qlp_coeff[6] * data[i-7];
+ xmm7 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-8));
+ xmm7 = _mm_shuffle_epi32(xmm7, _MM_SHUFFLE(2,0,3,1));
+ xmm7 = _mm_mul_epu32(xmm7, xmm3);
+
+ //sum += qlp_coeff[5] * data[i-6];
+ //sum += qlp_coeff[4] * data[i-5];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-6));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm2);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ //sum += qlp_coeff[3] * data[i-4];
+ //sum += qlp_coeff[2] * data[i-3];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-4));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm1);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ //sum += qlp_coeff[1] * data[i-2];
+ //sum += qlp_coeff[0] * data[i-1];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm0);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ xmm7 = _mm_add_epi32(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL32_RESULT(xmm7);
+ }
+ }
+ else { /* order == 7 */
+ __m128i xmm0, xmm1, xmm2, xmm3, xmm6, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0));
+ xmm1 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+2));
+ xmm2 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+4));
+ xmm3 = _mm_cvtsi32_si128(qlp_coeff[6]);
+
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0));
+ xmm1 = _mm_shuffle_epi32(xmm1, _MM_SHUFFLE(3,1,2,0));
+ xmm2 = _mm_shuffle_epi32(xmm2, _MM_SHUFFLE(3,1,2,0));
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum = qlp_coeff[6] * data[i-7];
+ xmm7 = _mm_cvtsi32_si128(data[i-7]);
+ xmm7 = _mm_mul_epu32(xmm7, xmm3);
+
+ //sum += qlp_coeff[5] * data[i-6];
+ //sum += qlp_coeff[4] * data[i-5];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-6));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm2);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ //sum += qlp_coeff[3] * data[i-4];
+ //sum += qlp_coeff[2] * data[i-3];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-4));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm1);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ //sum += qlp_coeff[1] * data[i-2];
+ //sum += qlp_coeff[0] * data[i-1];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm0);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ xmm7 = _mm_add_epi32(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL32_RESULT(xmm7);
+ }
+ }
+ }
+ else { /* order == 5, 6 */
+ if(order == 6) {
+ __m128i xmm0, xmm1, xmm2, xmm6, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0));
+ xmm1 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+2));
+ xmm2 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+4));
+
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0));
+ xmm1 = _mm_shuffle_epi32(xmm1, _MM_SHUFFLE(3,1,2,0));
+ xmm2 = _mm_shuffle_epi32(xmm2, _MM_SHUFFLE(3,1,2,0));
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum += qlp_coeff[5] * data[i-6];
+ //sum += qlp_coeff[4] * data[i-5];
+ xmm7 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-6));
+ xmm7 = _mm_shuffle_epi32(xmm7, _MM_SHUFFLE(2,0,3,1));
+ xmm7 = _mm_mul_epu32(xmm7, xmm2);
+
+ //sum += qlp_coeff[3] * data[i-4];
+ //sum += qlp_coeff[2] * data[i-3];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-4));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm1);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ //sum += qlp_coeff[1] * data[i-2];
+ //sum += qlp_coeff[0] * data[i-1];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm0);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ xmm7 = _mm_add_epi32(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL32_RESULT(xmm7);
+ }
+ }
+ else { /* order == 5 */
+ __m128i xmm0, xmm1, xmm2, xmm6, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0));
+ xmm1 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+2));
+ xmm2 = _mm_cvtsi32_si128(qlp_coeff[4]);
+
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0));
+ xmm1 = _mm_shuffle_epi32(xmm1, _MM_SHUFFLE(3,1,2,0));
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum = qlp_coeff[4] * data[i-5];
+ xmm7 = _mm_cvtsi32_si128(data[i-5]);
+ xmm7 = _mm_mul_epu32(xmm7, xmm2);
+
+ //sum += qlp_coeff[3] * data[i-4];
+ //sum += qlp_coeff[2] * data[i-3];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-4));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm1);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ //sum += qlp_coeff[1] * data[i-2];
+ //sum += qlp_coeff[0] * data[i-1];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm0);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ xmm7 = _mm_add_epi32(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL32_RESULT(xmm7);
+ }
+ }
+ }
+ }
+ else { /* order == 1, 2, 3, 4 */
+ if(order > 2) { /* order == 3, 4 */
+ if(order == 4) {
+ __m128i xmm0, xmm1, xmm6, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0));
+ xmm1 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+2));
+
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0));
+ xmm1 = _mm_shuffle_epi32(xmm1, _MM_SHUFFLE(3,1,2,0));
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum += qlp_coeff[3] * data[i-4];
+ //sum += qlp_coeff[2] * data[i-3];
+ xmm7 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-4));
+ xmm7 = _mm_shuffle_epi32(xmm7, _MM_SHUFFLE(2,0,3,1));
+ xmm7 = _mm_mul_epu32(xmm7, xmm1);
+
+ //sum += qlp_coeff[1] * data[i-2];
+ //sum += qlp_coeff[0] * data[i-1];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm0);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ xmm7 = _mm_add_epi32(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL32_RESULT(xmm7);
+ }
+ }
+ else { /* order == 3 */
+ __m128i xmm0, xmm1, xmm6, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0));
+ xmm1 = _mm_cvtsi32_si128(qlp_coeff[2]);
+
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0));
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum = qlp_coeff[2] * data[i-3];
+ xmm7 = _mm_cvtsi32_si128(data[i-3]);
+ xmm7 = _mm_mul_epu32(xmm7, xmm1);
+
+ //sum += qlp_coeff[1] * data[i-2];
+ //sum += qlp_coeff[0] * data[i-1];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epu32(xmm6, xmm0);
+ xmm7 = _mm_add_epi32(xmm7, xmm6);
+
+ xmm7 = _mm_add_epi32(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL32_RESULT(xmm7);
+ }
+ }
+ }
+ else { /* order == 1, 2 */
+ if(order == 2) {
+ __m128i xmm0, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0));
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0));
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum += qlp_coeff[1] * data[i-2];
+ //sum += qlp_coeff[0] * data[i-1];
+ xmm7 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm7 = _mm_shuffle_epi32(xmm7, _MM_SHUFFLE(2,0,3,1));
+ xmm7 = _mm_mul_epu32(xmm7, xmm0);
+
+ xmm7 = _mm_add_epi32(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL32_RESULT(xmm7);
+ }
+ }
+ else { /* order == 1 */
+ for(i = 0; i < (int)data_len; i++)
+ residual[i] = data[i] - ((qlp_coeff[0] * data[i-1]) >> lp_quantization);
+ }
+ }
+ }
+ }
+ else { /* order > 12 */
+ FLAC__int32 sum;
+ for(i = 0; i < (int)data_len; i++) {
+ sum = 0;
+ switch(order) {
+ case 32: sum += qlp_coeff[31] * data[i-32]; /* Falls through. */
+ case 31: sum += qlp_coeff[30] * data[i-31]; /* Falls through. */
+ case 30: sum += qlp_coeff[29] * data[i-30]; /* Falls through. */
+ case 29: sum += qlp_coeff[28] * data[i-29]; /* Falls through. */
+ case 28: sum += qlp_coeff[27] * data[i-28]; /* Falls through. */
+ case 27: sum += qlp_coeff[26] * data[i-27]; /* Falls through. */
+ case 26: sum += qlp_coeff[25] * data[i-26]; /* Falls through. */
+ case 25: sum += qlp_coeff[24] * data[i-25]; /* Falls through. */
+ case 24: sum += qlp_coeff[23] * data[i-24]; /* Falls through. */
+ case 23: sum += qlp_coeff[22] * data[i-23]; /* Falls through. */
+ case 22: sum += qlp_coeff[21] * data[i-22]; /* Falls through. */
+ case 21: sum += qlp_coeff[20] * data[i-21]; /* Falls through. */
+ case 20: sum += qlp_coeff[19] * data[i-20]; /* Falls through. */
+ case 19: sum += qlp_coeff[18] * data[i-19]; /* Falls through. */
+ case 18: sum += qlp_coeff[17] * data[i-18]; /* Falls through. */
+ case 17: sum += qlp_coeff[16] * data[i-17]; /* Falls through. */
+ case 16: sum += qlp_coeff[15] * data[i-16]; /* Falls through. */
+ case 15: sum += qlp_coeff[14] * data[i-15]; /* Falls through. */
+ case 14: sum += qlp_coeff[13] * data[i-14]; /* Falls through. */
+ case 13: sum += qlp_coeff[12] * data[i-13];
+ sum += qlp_coeff[11] * data[i-12];
+ sum += qlp_coeff[10] * data[i-11];
+ sum += qlp_coeff[ 9] * data[i-10];
+ sum += qlp_coeff[ 8] * data[i- 9];
+ sum += qlp_coeff[ 7] * data[i- 8];
+ sum += qlp_coeff[ 6] * data[i- 7];
+ sum += qlp_coeff[ 5] * data[i- 6];
+ sum += qlp_coeff[ 4] * data[i- 5];
+ sum += qlp_coeff[ 3] * data[i- 4];
+ sum += qlp_coeff[ 2] * data[i- 3];
+ sum += qlp_coeff[ 1] * data[i- 2];
+ sum += qlp_coeff[ 0] * data[i- 1];
+ }
+ residual[i] = data[i] - (sum >> lp_quantization);
+ }
+ }
+}
+
+#endif /* FLAC__CPU_IA32 */
+#endif /* FLAC__SSE2_SUPPORTED */
+#endif /* (FLAC__CPU_IA32 || FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN */
+#endif /* FLAC__NO_ASM */
+#endif /* FLAC__INTEGER_ONLY_LIBRARY */
diff --git a/3rdparty/libflac/src/libFLAC/lpc_intrin_sse41.c b/3rdparty/libflac/src/libFLAC/lpc_intrin_sse41.c
new file mode 100644
index 00000000000..756c5dd80b8
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC/lpc_intrin_sse41.c
@@ -0,0 +1,950 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "private/cpu.h"
+
+#ifndef FLAC__INTEGER_ONLY_LIBRARY
+#ifndef FLAC__NO_ASM
+#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN
+#include "private/lpc.h"
+#ifdef FLAC__SSE4_1_SUPPORTED
+
+#include "FLAC/assert.h"
+#include "FLAC/format.h"
+
+#include <smmintrin.h> /* SSE4.1 */
+
+#if defined FLAC__CPU_IA32 /* unused for x64 */
+
+#define RESIDUAL64_RESULT(xmmN) residual[i] = data[i] - _mm_cvtsi128_si32(_mm_srl_epi64(xmmN, cnt))
+#define RESIDUAL64_RESULT1(xmmN) residual[i] = data[i] - _mm_cvtsi128_si32(_mm_srli_epi64(xmmN, lp_quantization))
+
+FLAC__SSE_TARGET("sse4.1")
+void FLAC__lpc_compute_residual_from_qlp_coefficients_wide_intrin_sse41(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[])
+{
+ int i;
+ const __m128i cnt = _mm_cvtsi32_si128(lp_quantization);
+
+ FLAC__ASSERT(order > 0);
+ FLAC__ASSERT(order <= 32);
+ FLAC__ASSERT(lp_quantization <= 32); /* there's no _mm_sra_epi64() so we have to use _mm_srl_epi64() */
+
+ if(order <= 12) {
+ if(order > 8) { /* order == 9, 10, 11, 12 */
+ if(order > 10) { /* order == 11, 12 */
+ if(order == 12) {
+ __m128i xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0)); // 0 0 q[1] q[0]
+ xmm1 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+2)); // 0 0 q[3] q[2]
+ xmm2 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+4)); // 0 0 q[5] q[4]
+ xmm3 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+6)); // 0 0 q[7] q[6]
+ xmm4 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+8)); // 0 0 q[9] q[8]
+ xmm5 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+10)); // 0 0 q[11] q[10]
+
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0)); // 0 q[1] 0 q[0]
+ xmm1 = _mm_shuffle_epi32(xmm1, _MM_SHUFFLE(3,1,2,0)); // 0 q[3] 0 q[2]
+ xmm2 = _mm_shuffle_epi32(xmm2, _MM_SHUFFLE(3,1,2,0)); // 0 q[5] 0 q[4]
+ xmm3 = _mm_shuffle_epi32(xmm3, _MM_SHUFFLE(3,1,2,0)); // 0 q[7] 0 q[6]
+ xmm4 = _mm_shuffle_epi32(xmm4, _MM_SHUFFLE(3,1,2,0)); // 0 q[9] 0 q[8]
+ xmm5 = _mm_shuffle_epi32(xmm5, _MM_SHUFFLE(3,1,2,0)); // 0 q[11] 0 q[10]
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum += qlp_coeff[11] * (FLAC__int64)data[i-12];
+ //sum += qlp_coeff[10] * (FLAC__int64)data[i-11];
+ xmm7 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-12)); // 0 0 d[i-11] d[i-12]
+ xmm7 = _mm_shuffle_epi32(xmm7, _MM_SHUFFLE(2,0,3,1)); // 0 d[i-12] 0 d[i-11]
+ xmm7 = _mm_mul_epi32(xmm7, xmm5);
+
+ //sum += qlp_coeff[9] * (FLAC__int64)data[i-10];
+ //sum += qlp_coeff[8] * (FLAC__int64)data[i-9];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-10));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm4);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ //sum += qlp_coeff[7] * (FLAC__int64)data[i-8];
+ //sum += qlp_coeff[6] * (FLAC__int64)data[i-7];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-8));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm3);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ //sum += qlp_coeff[5] * (FLAC__int64)data[i-6];
+ //sum += qlp_coeff[4] * (FLAC__int64)data[i-5];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-6));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm2);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ //sum += qlp_coeff[3] * (FLAC__int64)data[i-4];
+ //sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-4));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm1);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ //sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
+ //sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm0);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ xmm7 = _mm_add_epi64(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL64_RESULT1(xmm7);
+ }
+ }
+ else { /* order == 11 */
+ __m128i xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0));
+ xmm1 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+2));
+ xmm2 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+4));
+ xmm3 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+6));
+ xmm4 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+8));
+ xmm5 = _mm_cvtsi32_si128(qlp_coeff[10]);
+
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0));
+ xmm1 = _mm_shuffle_epi32(xmm1, _MM_SHUFFLE(3,1,2,0));
+ xmm2 = _mm_shuffle_epi32(xmm2, _MM_SHUFFLE(3,1,2,0));
+ xmm3 = _mm_shuffle_epi32(xmm3, _MM_SHUFFLE(3,1,2,0));
+ xmm4 = _mm_shuffle_epi32(xmm4, _MM_SHUFFLE(3,1,2,0));
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum = qlp_coeff[10] * (FLAC__int64)data[i-11];
+ xmm7 = _mm_cvtsi32_si128(data[i-11]);
+ xmm7 = _mm_mul_epi32(xmm7, xmm5);
+
+ //sum += qlp_coeff[9] * (FLAC__int64)data[i-10];
+ //sum += qlp_coeff[8] * (FLAC__int64)data[i-9];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-10));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm4);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ //sum += qlp_coeff[7] * (FLAC__int64)data[i-8];
+ //sum += qlp_coeff[6] * (FLAC__int64)data[i-7];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-8));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm3);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ //sum += qlp_coeff[5] * (FLAC__int64)data[i-6];
+ //sum += qlp_coeff[4] * (FLAC__int64)data[i-5];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-6));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm2);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ //sum += qlp_coeff[3] * (FLAC__int64)data[i-4];
+ //sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-4));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm1);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ //sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
+ //sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm0);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ xmm7 = _mm_add_epi64(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL64_RESULT1(xmm7);
+ }
+ }
+ }
+ else { /* order == 9, 10 */
+ if(order == 10) {
+ __m128i xmm0, xmm1, xmm2, xmm3, xmm4, xmm6, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0));
+ xmm1 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+2));
+ xmm2 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+4));
+ xmm3 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+6));
+ xmm4 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+8));
+
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0));
+ xmm1 = _mm_shuffle_epi32(xmm1, _MM_SHUFFLE(3,1,2,0));
+ xmm2 = _mm_shuffle_epi32(xmm2, _MM_SHUFFLE(3,1,2,0));
+ xmm3 = _mm_shuffle_epi32(xmm3, _MM_SHUFFLE(3,1,2,0));
+ xmm4 = _mm_shuffle_epi32(xmm4, _MM_SHUFFLE(3,1,2,0));
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum += qlp_coeff[9] * (FLAC__int64)data[i-10];
+ //sum += qlp_coeff[8] * (FLAC__int64)data[i-9];
+ xmm7 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-10));
+ xmm7 = _mm_shuffle_epi32(xmm7, _MM_SHUFFLE(2,0,3,1));
+ xmm7 = _mm_mul_epi32(xmm7, xmm4);
+
+ //sum += qlp_coeff[7] * (FLAC__int64)data[i-8];
+ //sum += qlp_coeff[6] * (FLAC__int64)data[i-7];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-8));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm3);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ //sum += qlp_coeff[5] * (FLAC__int64)data[i-6];
+ //sum += qlp_coeff[4] * (FLAC__int64)data[i-5];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-6));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm2);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ //sum += qlp_coeff[3] * (FLAC__int64)data[i-4];
+ //sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-4));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm1);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ //sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
+ //sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm0);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ xmm7 = _mm_add_epi64(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL64_RESULT(xmm7);
+ }
+ }
+ else { /* order == 9 */
+ __m128i xmm0, xmm1, xmm2, xmm3, xmm4, xmm6, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0));
+ xmm1 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+2));
+ xmm2 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+4));
+ xmm3 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+6));
+ xmm4 = _mm_cvtsi32_si128(qlp_coeff[8]);
+
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0));
+ xmm1 = _mm_shuffle_epi32(xmm1, _MM_SHUFFLE(3,1,2,0));
+ xmm2 = _mm_shuffle_epi32(xmm2, _MM_SHUFFLE(3,1,2,0));
+ xmm3 = _mm_shuffle_epi32(xmm3, _MM_SHUFFLE(3,1,2,0));
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum = qlp_coeff[8] * (FLAC__int64)data[i-9];
+ xmm7 = _mm_cvtsi32_si128(data[i-9]);
+ xmm7 = _mm_mul_epi32(xmm7, xmm4);
+
+ //sum += qlp_coeff[7] * (FLAC__int64)data[i-8];
+ //sum += qlp_coeff[6] * (FLAC__int64)data[i-7];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-8));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm3);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ //sum += qlp_coeff[5] * (FLAC__int64)data[i-6];
+ //sum += qlp_coeff[4] * (FLAC__int64)data[i-5];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-6));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm2);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ //sum += qlp_coeff[3] * (FLAC__int64)data[i-4];
+ //sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-4));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm1);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ //sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
+ //sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm0);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ xmm7 = _mm_add_epi64(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL64_RESULT(xmm7);
+ }
+ }
+ }
+ }
+ else if(order > 4) { /* order == 5, 6, 7, 8 */
+ if(order > 6) { /* order == 7, 8 */
+ if(order == 8) {
+ __m128i xmm0, xmm1, xmm2, xmm3, xmm6, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0));
+ xmm1 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+2));
+ xmm2 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+4));
+ xmm3 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+6));
+
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0));
+ xmm1 = _mm_shuffle_epi32(xmm1, _MM_SHUFFLE(3,1,2,0));
+ xmm2 = _mm_shuffle_epi32(xmm2, _MM_SHUFFLE(3,1,2,0));
+ xmm3 = _mm_shuffle_epi32(xmm3, _MM_SHUFFLE(3,1,2,0));
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum += qlp_coeff[7] * (FLAC__int64)data[i-8];
+ //sum += qlp_coeff[6] * (FLAC__int64)data[i-7];
+ xmm7 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-8));
+ xmm7 = _mm_shuffle_epi32(xmm7, _MM_SHUFFLE(2,0,3,1));
+ xmm7 = _mm_mul_epi32(xmm7, xmm3);
+
+ //sum += qlp_coeff[5] * (FLAC__int64)data[i-6];
+ //sum += qlp_coeff[4] * (FLAC__int64)data[i-5];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-6));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm2);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ //sum += qlp_coeff[3] * (FLAC__int64)data[i-4];
+ //sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-4));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm1);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ //sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
+ //sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm0);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ xmm7 = _mm_add_epi64(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL64_RESULT(xmm7);
+ }
+ }
+ else { /* order == 7 */
+ __m128i xmm0, xmm1, xmm2, xmm3, xmm6, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0));
+ xmm1 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+2));
+ xmm2 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+4));
+ xmm3 = _mm_cvtsi32_si128(qlp_coeff[6]);
+
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0));
+ xmm1 = _mm_shuffle_epi32(xmm1, _MM_SHUFFLE(3,1,2,0));
+ xmm2 = _mm_shuffle_epi32(xmm2, _MM_SHUFFLE(3,1,2,0));
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum = qlp_coeff[6] * (FLAC__int64)data[i-7];
+ xmm7 = _mm_cvtsi32_si128(data[i-7]);
+ xmm7 = _mm_mul_epi32(xmm7, xmm3);
+
+ //sum += qlp_coeff[5] * (FLAC__int64)data[i-6];
+ //sum += qlp_coeff[4] * (FLAC__int64)data[i-5];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-6));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm2);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ //sum += qlp_coeff[3] * (FLAC__int64)data[i-4];
+ //sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-4));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm1);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ //sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
+ //sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm0);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ xmm7 = _mm_add_epi64(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL64_RESULT(xmm7);
+ }
+ }
+ }
+ else { /* order == 5, 6 */
+ if(order == 6) {
+ __m128i xmm0, xmm1, xmm2, xmm6, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0));
+ xmm1 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+2));
+ xmm2 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+4));
+
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0));
+ xmm1 = _mm_shuffle_epi32(xmm1, _MM_SHUFFLE(3,1,2,0));
+ xmm2 = _mm_shuffle_epi32(xmm2, _MM_SHUFFLE(3,1,2,0));
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum += qlp_coeff[5] * (FLAC__int64)data[i-6];
+ //sum += qlp_coeff[4] * (FLAC__int64)data[i-5];
+ xmm7 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-6));
+ xmm7 = _mm_shuffle_epi32(xmm7, _MM_SHUFFLE(2,0,3,1));
+ xmm7 = _mm_mul_epi32(xmm7, xmm2);
+
+ //sum += qlp_coeff[3] * (FLAC__int64)data[i-4];
+ //sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-4));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm1);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ //sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
+ //sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm0);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ xmm7 = _mm_add_epi64(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL64_RESULT(xmm7);
+ }
+ }
+ else { /* order == 5 */
+ __m128i xmm0, xmm1, xmm2, xmm6, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0));
+ xmm1 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+2));
+ xmm2 = _mm_cvtsi32_si128(qlp_coeff[4]);
+
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0));
+ xmm1 = _mm_shuffle_epi32(xmm1, _MM_SHUFFLE(3,1,2,0));
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum = qlp_coeff[4] * (FLAC__int64)data[i-5];
+ xmm7 = _mm_cvtsi32_si128(data[i-5]);
+ xmm7 = _mm_mul_epi32(xmm7, xmm2);
+
+ //sum += qlp_coeff[3] * (FLAC__int64)data[i-4];
+ //sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-4));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm1);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ //sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
+ //sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm0);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ xmm7 = _mm_add_epi64(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL64_RESULT(xmm7);
+ }
+ }
+ }
+ }
+ else { /* order == 1, 2, 3, 4 */
+ if(order > 2) { /* order == 3, 4 */
+ if(order == 4) {
+ __m128i xmm0, xmm1, xmm6, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0));
+ xmm1 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+2));
+
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0));
+ xmm1 = _mm_shuffle_epi32(xmm1, _MM_SHUFFLE(3,1,2,0));
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum += qlp_coeff[3] * (FLAC__int64)data[i-4];
+ //sum += qlp_coeff[2] * (FLAC__int64)data[i-3];
+ xmm7 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-4));
+ xmm7 = _mm_shuffle_epi32(xmm7, _MM_SHUFFLE(2,0,3,1));
+ xmm7 = _mm_mul_epi32(xmm7, xmm1);
+
+ //sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
+ //sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm0);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ xmm7 = _mm_add_epi64(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL64_RESULT(xmm7);
+ }
+ }
+ else { /* order == 3 */
+ __m128i xmm0, xmm1, xmm6, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0));
+ xmm1 = _mm_cvtsi32_si128(qlp_coeff[2]);
+
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0));
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum = qlp_coeff[2] * (FLAC__int64)data[i-3];
+ xmm7 = _mm_cvtsi32_si128(data[i-3]);
+ xmm7 = _mm_mul_epi32(xmm7, xmm1);
+
+ //sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
+ //sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
+ xmm6 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm6 = _mm_shuffle_epi32(xmm6, _MM_SHUFFLE(2,0,3,1));
+ xmm6 = _mm_mul_epi32(xmm6, xmm0);
+ xmm7 = _mm_add_epi64(xmm7, xmm6);
+
+ xmm7 = _mm_add_epi64(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL64_RESULT(xmm7);
+ }
+ }
+ }
+ else { /* order == 1, 2 */
+ if(order == 2) {
+ __m128i xmm0, xmm7;
+ xmm0 = _mm_loadl_epi64((const __m128i*)(const void*)(qlp_coeff+0));
+ xmm0 = _mm_shuffle_epi32(xmm0, _MM_SHUFFLE(3,1,2,0));
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = 0;
+ //sum += qlp_coeff[1] * (FLAC__int64)data[i-2];
+ //sum += qlp_coeff[0] * (FLAC__int64)data[i-1];
+ xmm7 = _mm_loadl_epi64((const __m128i*)(const void*)(data+i-2));
+ xmm7 = _mm_shuffle_epi32(xmm7, _MM_SHUFFLE(2,0,3,1));
+ xmm7 = _mm_mul_epi32(xmm7, xmm0);
+
+ xmm7 = _mm_add_epi64(xmm7, _mm_srli_si128(xmm7, 8));
+ RESIDUAL64_RESULT(xmm7);
+ }
+ }
+ else { /* order == 1 */
+ __m128i xmm0, xmm7;
+ xmm0 = _mm_cvtsi32_si128(qlp_coeff[0]);
+
+ for(i = 0; i < (int)data_len; i++) {
+ //sum = qlp_coeff[0] * (FLAC__int64)data[i-1];
+ xmm7 = _mm_cvtsi32_si128(data[i-1]);
+ xmm7 = _mm_mul_epi32(xmm7, xmm0);
+ RESIDUAL64_RESULT(xmm7);
+ }
+ }
+ }
+ }
+ }
+ else { /* order > 12 */
+ FLAC__int64 sum;
+ for(i = 0; i < (int)data_len; i++) {
+ sum = 0;
+ switch(order) {
+ case 32: sum += qlp_coeff[31] * (FLAC__int64)data[i-32]; /* Falls through. */
+ case 31: sum += qlp_coeff[30] * (FLAC__int64)data[i-31]; /* Falls through. */
+ case 30: sum += qlp_coeff[29] * (FLAC__int64)data[i-30]; /* Falls through. */
+ case 29: sum += qlp_coeff[28] * (FLAC__int64)data[i-29]; /* Falls through. */
+ case 28: sum += qlp_coeff[27] * (FLAC__int64)data[i-28]; /* Falls through. */
+ case 27: sum += qlp_coeff[26] * (FLAC__int64)data[i-27]; /* Falls through. */
+ case 26: sum += qlp_coeff[25] * (FLAC__int64)data[i-26]; /* Falls through. */
+ case 25: sum += qlp_coeff[24] * (FLAC__int64)data[i-25]; /* Falls through. */
+ case 24: sum += qlp_coeff[23] * (FLAC__int64)data[i-24]; /* Falls through. */
+ case 23: sum += qlp_coeff[22] * (FLAC__int64)data[i-23]; /* Falls through. */
+ case 22: sum += qlp_coeff[21] * (FLAC__int64)data[i-22]; /* Falls through. */
+ case 21: sum += qlp_coeff[20] * (FLAC__int64)data[i-21]; /* Falls through. */
+ case 20: sum += qlp_coeff[19] * (FLAC__int64)data[i-20]; /* Falls through. */
+ case 19: sum += qlp_coeff[18] * (FLAC__int64)data[i-19]; /* Falls through. */
+ case 18: sum += qlp_coeff[17] * (FLAC__int64)data[i-18]; /* Falls through. */
+ case 17: sum += qlp_coeff[16] * (FLAC__int64)data[i-17]; /* Falls through. */
+ case 16: sum += qlp_coeff[15] * (FLAC__int64)data[i-16]; /* Falls through. */
+ case 15: sum += qlp_coeff[14] * (FLAC__int64)data[i-15]; /* Falls through. */
+ case 14: sum += qlp_coeff[13] * (FLAC__int64)data[i-14]; /* Falls through. */
+ case 13: sum += qlp_coeff[12] * (FLAC__int64)data[i-13];
+ sum += qlp_coeff[11] * (FLAC__int64)data[i-12];
+ sum += qlp_coeff[10] * (FLAC__int64)data[i-11];
+ sum += qlp_coeff[ 9] * (FLAC__int64)data[i-10];
+ sum += qlp_coeff[ 8] * (FLAC__int64)data[i- 9];
+ sum += qlp_coeff[ 7] * (FLAC__int64)data[i- 8];
+ sum += qlp_coeff[ 6] * (FLAC__int64)data[i- 7];
+ sum += qlp_coeff[ 5] * (FLAC__int64)data[i- 6];
+ sum += qlp_coeff[ 4] * (FLAC__int64)data[i- 5];
+ sum += qlp_coeff[ 3] * (FLAC__int64)data[i- 4];
+ sum += qlp_coeff[ 2] * (FLAC__int64)data[i- 3];
+ sum += qlp_coeff[ 1] * (FLAC__int64)data[i- 2];
+ sum += qlp_coeff[ 0] * (FLAC__int64)data[i- 1];
+ }
+ residual[i] = data[i] - (FLAC__int32)(sum >> lp_quantization);
+ }
+ }
+}
+
+#endif /* defined FLAC__CPU_IA32 */
+
+FLAC__SSE_TARGET("sse4.1")
+void FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_sse41(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[])
+{
+ int i;
+ FLAC__int32 sum;
+ const __m128i cnt = _mm_cvtsi32_si128(lp_quantization);
+
+ FLAC__ASSERT(order > 0);
+ FLAC__ASSERT(order <= 32);
+
+ if(order <= 12) {
+ if(order > 8) {
+ if(order > 10) {
+ if(order == 12) {
+ __m128i q0, q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11;
+ q0 = _mm_cvtsi32_si128(qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+ q2 = _mm_cvtsi32_si128(qlp_coeff[2]); q2 = _mm_shuffle_epi32(q2, _MM_SHUFFLE(0,0,0,0));
+ q3 = _mm_cvtsi32_si128(qlp_coeff[3]); q3 = _mm_shuffle_epi32(q3, _MM_SHUFFLE(0,0,0,0));
+ q4 = _mm_cvtsi32_si128(qlp_coeff[4]); q4 = _mm_shuffle_epi32(q4, _MM_SHUFFLE(0,0,0,0));
+ q5 = _mm_cvtsi32_si128(qlp_coeff[5]); q5 = _mm_shuffle_epi32(q5, _MM_SHUFFLE(0,0,0,0));
+ q6 = _mm_cvtsi32_si128(qlp_coeff[6]); q6 = _mm_shuffle_epi32(q6, _MM_SHUFFLE(0,0,0,0));
+ q7 = _mm_cvtsi32_si128(qlp_coeff[7]); q7 = _mm_shuffle_epi32(q7, _MM_SHUFFLE(0,0,0,0));
+ q8 = _mm_cvtsi32_si128(qlp_coeff[8]); q8 = _mm_shuffle_epi32(q8, _MM_SHUFFLE(0,0,0,0));
+ q9 = _mm_cvtsi32_si128(qlp_coeff[9]); q9 = _mm_shuffle_epi32(q9, _MM_SHUFFLE(0,0,0,0));
+ q10 = _mm_cvtsi32_si128(qlp_coeff[10]); q10 = _mm_shuffle_epi32(q10, _MM_SHUFFLE(0,0,0,0));
+ q11 = _mm_cvtsi32_si128(qlp_coeff[11]); q11 = _mm_shuffle_epi32(q11, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_mullo_epi32(q11, _mm_loadu_si128((const __m128i*)(const void*)(data+i-12)));
+ mull = _mm_mullo_epi32(q10, _mm_loadu_si128((const __m128i*)(const void*)(data+i-11))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q9, _mm_loadu_si128((const __m128i*)(const void*)(data+i-10))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q8, _mm_loadu_si128((const __m128i*)(const void*)(data+i-9))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q7, _mm_loadu_si128((const __m128i*)(const void*)(data+i-8))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q6, _mm_loadu_si128((const __m128i*)(const void*)(data+i-7))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q5, _mm_loadu_si128((const __m128i*)(const void*)(data+i-6))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q4, _mm_loadu_si128((const __m128i*)(const void*)(data+i-5))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q3, _mm_loadu_si128((const __m128i*)(const void*)(data+i-4))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q2, _mm_loadu_si128((const __m128i*)(const void*)(data+i-3))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 11 */
+ __m128i q0, q1, q2, q3, q4, q5, q6, q7, q8, q9, q10;
+ q0 = _mm_cvtsi32_si128(qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+ q2 = _mm_cvtsi32_si128(qlp_coeff[2]); q2 = _mm_shuffle_epi32(q2, _MM_SHUFFLE(0,0,0,0));
+ q3 = _mm_cvtsi32_si128(qlp_coeff[3]); q3 = _mm_shuffle_epi32(q3, _MM_SHUFFLE(0,0,0,0));
+ q4 = _mm_cvtsi32_si128(qlp_coeff[4]); q4 = _mm_shuffle_epi32(q4, _MM_SHUFFLE(0,0,0,0));
+ q5 = _mm_cvtsi32_si128(qlp_coeff[5]); q5 = _mm_shuffle_epi32(q5, _MM_SHUFFLE(0,0,0,0));
+ q6 = _mm_cvtsi32_si128(qlp_coeff[6]); q6 = _mm_shuffle_epi32(q6, _MM_SHUFFLE(0,0,0,0));
+ q7 = _mm_cvtsi32_si128(qlp_coeff[7]); q7 = _mm_shuffle_epi32(q7, _MM_SHUFFLE(0,0,0,0));
+ q8 = _mm_cvtsi32_si128(qlp_coeff[8]); q8 = _mm_shuffle_epi32(q8, _MM_SHUFFLE(0,0,0,0));
+ q9 = _mm_cvtsi32_si128(qlp_coeff[9]); q9 = _mm_shuffle_epi32(q9, _MM_SHUFFLE(0,0,0,0));
+ q10 = _mm_cvtsi32_si128(qlp_coeff[10]); q10 = _mm_shuffle_epi32(q10, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_mullo_epi32(q10, _mm_loadu_si128((const __m128i*)(const void*)(data+i-11)));
+ mull = _mm_mullo_epi32(q9, _mm_loadu_si128((const __m128i*)(const void*)(data+i-10))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q8, _mm_loadu_si128((const __m128i*)(const void*)(data+i-9))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q7, _mm_loadu_si128((const __m128i*)(const void*)(data+i-8))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q6, _mm_loadu_si128((const __m128i*)(const void*)(data+i-7))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q5, _mm_loadu_si128((const __m128i*)(const void*)(data+i-6))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q4, _mm_loadu_si128((const __m128i*)(const void*)(data+i-5))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q3, _mm_loadu_si128((const __m128i*)(const void*)(data+i-4))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q2, _mm_loadu_si128((const __m128i*)(const void*)(data+i-3))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ else {
+ if(order == 10) {
+ __m128i q0, q1, q2, q3, q4, q5, q6, q7, q8, q9;
+ q0 = _mm_cvtsi32_si128(qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+ q2 = _mm_cvtsi32_si128(qlp_coeff[2]); q2 = _mm_shuffle_epi32(q2, _MM_SHUFFLE(0,0,0,0));
+ q3 = _mm_cvtsi32_si128(qlp_coeff[3]); q3 = _mm_shuffle_epi32(q3, _MM_SHUFFLE(0,0,0,0));
+ q4 = _mm_cvtsi32_si128(qlp_coeff[4]); q4 = _mm_shuffle_epi32(q4, _MM_SHUFFLE(0,0,0,0));
+ q5 = _mm_cvtsi32_si128(qlp_coeff[5]); q5 = _mm_shuffle_epi32(q5, _MM_SHUFFLE(0,0,0,0));
+ q6 = _mm_cvtsi32_si128(qlp_coeff[6]); q6 = _mm_shuffle_epi32(q6, _MM_SHUFFLE(0,0,0,0));
+ q7 = _mm_cvtsi32_si128(qlp_coeff[7]); q7 = _mm_shuffle_epi32(q7, _MM_SHUFFLE(0,0,0,0));
+ q8 = _mm_cvtsi32_si128(qlp_coeff[8]); q8 = _mm_shuffle_epi32(q8, _MM_SHUFFLE(0,0,0,0));
+ q9 = _mm_cvtsi32_si128(qlp_coeff[9]); q9 = _mm_shuffle_epi32(q9, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_mullo_epi32(q9, _mm_loadu_si128((const __m128i*)(const void*)(data+i-10)));
+ mull = _mm_mullo_epi32(q8, _mm_loadu_si128((const __m128i*)(const void*)(data+i-9))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q7, _mm_loadu_si128((const __m128i*)(const void*)(data+i-8))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q6, _mm_loadu_si128((const __m128i*)(const void*)(data+i-7))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q5, _mm_loadu_si128((const __m128i*)(const void*)(data+i-6))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q4, _mm_loadu_si128((const __m128i*)(const void*)(data+i-5))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q3, _mm_loadu_si128((const __m128i*)(const void*)(data+i-4))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q2, _mm_loadu_si128((const __m128i*)(const void*)(data+i-3))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 9 */
+ __m128i q0, q1, q2, q3, q4, q5, q6, q7, q8;
+ q0 = _mm_cvtsi32_si128(qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+ q2 = _mm_cvtsi32_si128(qlp_coeff[2]); q2 = _mm_shuffle_epi32(q2, _MM_SHUFFLE(0,0,0,0));
+ q3 = _mm_cvtsi32_si128(qlp_coeff[3]); q3 = _mm_shuffle_epi32(q3, _MM_SHUFFLE(0,0,0,0));
+ q4 = _mm_cvtsi32_si128(qlp_coeff[4]); q4 = _mm_shuffle_epi32(q4, _MM_SHUFFLE(0,0,0,0));
+ q5 = _mm_cvtsi32_si128(qlp_coeff[5]); q5 = _mm_shuffle_epi32(q5, _MM_SHUFFLE(0,0,0,0));
+ q6 = _mm_cvtsi32_si128(qlp_coeff[6]); q6 = _mm_shuffle_epi32(q6, _MM_SHUFFLE(0,0,0,0));
+ q7 = _mm_cvtsi32_si128(qlp_coeff[7]); q7 = _mm_shuffle_epi32(q7, _MM_SHUFFLE(0,0,0,0));
+ q8 = _mm_cvtsi32_si128(qlp_coeff[8]); q8 = _mm_shuffle_epi32(q8, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_mullo_epi32(q8, _mm_loadu_si128((const __m128i*)(const void*)(data+i-9)));
+ mull = _mm_mullo_epi32(q7, _mm_loadu_si128((const __m128i*)(const void*)(data+i-8))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q6, _mm_loadu_si128((const __m128i*)(const void*)(data+i-7))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q5, _mm_loadu_si128((const __m128i*)(const void*)(data+i-6))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q4, _mm_loadu_si128((const __m128i*)(const void*)(data+i-5))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q3, _mm_loadu_si128((const __m128i*)(const void*)(data+i-4))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q2, _mm_loadu_si128((const __m128i*)(const void*)(data+i-3))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ }
+ else if(order > 4) {
+ if(order > 6) {
+ if(order == 8) {
+ __m128i q0, q1, q2, q3, q4, q5, q6, q7;
+ q0 = _mm_cvtsi32_si128(qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+ q2 = _mm_cvtsi32_si128(qlp_coeff[2]); q2 = _mm_shuffle_epi32(q2, _MM_SHUFFLE(0,0,0,0));
+ q3 = _mm_cvtsi32_si128(qlp_coeff[3]); q3 = _mm_shuffle_epi32(q3, _MM_SHUFFLE(0,0,0,0));
+ q4 = _mm_cvtsi32_si128(qlp_coeff[4]); q4 = _mm_shuffle_epi32(q4, _MM_SHUFFLE(0,0,0,0));
+ q5 = _mm_cvtsi32_si128(qlp_coeff[5]); q5 = _mm_shuffle_epi32(q5, _MM_SHUFFLE(0,0,0,0));
+ q6 = _mm_cvtsi32_si128(qlp_coeff[6]); q6 = _mm_shuffle_epi32(q6, _MM_SHUFFLE(0,0,0,0));
+ q7 = _mm_cvtsi32_si128(qlp_coeff[7]); q7 = _mm_shuffle_epi32(q7, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_mullo_epi32(q7, _mm_loadu_si128((const __m128i*)(const void*)(data+i-8)));
+ mull = _mm_mullo_epi32(q6, _mm_loadu_si128((const __m128i*)(const void*)(data+i-7))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q5, _mm_loadu_si128((const __m128i*)(const void*)(data+i-6))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q4, _mm_loadu_si128((const __m128i*)(const void*)(data+i-5))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q3, _mm_loadu_si128((const __m128i*)(const void*)(data+i-4))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q2, _mm_loadu_si128((const __m128i*)(const void*)(data+i-3))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 7 */
+ __m128i q0, q1, q2, q3, q4, q5, q6;
+ q0 = _mm_cvtsi32_si128(qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+ q2 = _mm_cvtsi32_si128(qlp_coeff[2]); q2 = _mm_shuffle_epi32(q2, _MM_SHUFFLE(0,0,0,0));
+ q3 = _mm_cvtsi32_si128(qlp_coeff[3]); q3 = _mm_shuffle_epi32(q3, _MM_SHUFFLE(0,0,0,0));
+ q4 = _mm_cvtsi32_si128(qlp_coeff[4]); q4 = _mm_shuffle_epi32(q4, _MM_SHUFFLE(0,0,0,0));
+ q5 = _mm_cvtsi32_si128(qlp_coeff[5]); q5 = _mm_shuffle_epi32(q5, _MM_SHUFFLE(0,0,0,0));
+ q6 = _mm_cvtsi32_si128(qlp_coeff[6]); q6 = _mm_shuffle_epi32(q6, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_mullo_epi32(q6, _mm_loadu_si128((const __m128i*)(const void*)(data+i-7)));
+ mull = _mm_mullo_epi32(q5, _mm_loadu_si128((const __m128i*)(const void*)(data+i-6))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q4, _mm_loadu_si128((const __m128i*)(const void*)(data+i-5))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q3, _mm_loadu_si128((const __m128i*)(const void*)(data+i-4))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q2, _mm_loadu_si128((const __m128i*)(const void*)(data+i-3))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ else {
+ if(order == 6) {
+ __m128i q0, q1, q2, q3, q4, q5;
+ q0 = _mm_cvtsi32_si128(qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+ q2 = _mm_cvtsi32_si128(qlp_coeff[2]); q2 = _mm_shuffle_epi32(q2, _MM_SHUFFLE(0,0,0,0));
+ q3 = _mm_cvtsi32_si128(qlp_coeff[3]); q3 = _mm_shuffle_epi32(q3, _MM_SHUFFLE(0,0,0,0));
+ q4 = _mm_cvtsi32_si128(qlp_coeff[4]); q4 = _mm_shuffle_epi32(q4, _MM_SHUFFLE(0,0,0,0));
+ q5 = _mm_cvtsi32_si128(qlp_coeff[5]); q5 = _mm_shuffle_epi32(q5, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_mullo_epi32(q5, _mm_loadu_si128((const __m128i*)(const void*)(data+i-6)));
+ mull = _mm_mullo_epi32(q4, _mm_loadu_si128((const __m128i*)(const void*)(data+i-5))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q3, _mm_loadu_si128((const __m128i*)(const void*)(data+i-4))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q2, _mm_loadu_si128((const __m128i*)(const void*)(data+i-3))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 5 */
+ __m128i q0, q1, q2, q3, q4;
+ q0 = _mm_cvtsi32_si128(qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+ q2 = _mm_cvtsi32_si128(qlp_coeff[2]); q2 = _mm_shuffle_epi32(q2, _MM_SHUFFLE(0,0,0,0));
+ q3 = _mm_cvtsi32_si128(qlp_coeff[3]); q3 = _mm_shuffle_epi32(q3, _MM_SHUFFLE(0,0,0,0));
+ q4 = _mm_cvtsi32_si128(qlp_coeff[4]); q4 = _mm_shuffle_epi32(q4, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_mullo_epi32(q4, _mm_loadu_si128((const __m128i*)(const void*)(data+i-5)));
+ mull = _mm_mullo_epi32(q3, _mm_loadu_si128((const __m128i*)(const void*)(data+i-4))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q2, _mm_loadu_si128((const __m128i*)(const void*)(data+i-3))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ }
+ else {
+ if(order > 2) {
+ if(order == 4) {
+ __m128i q0, q1, q2, q3;
+ q0 = _mm_cvtsi32_si128(qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+ q2 = _mm_cvtsi32_si128(qlp_coeff[2]); q2 = _mm_shuffle_epi32(q2, _MM_SHUFFLE(0,0,0,0));
+ q3 = _mm_cvtsi32_si128(qlp_coeff[3]); q3 = _mm_shuffle_epi32(q3, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_mullo_epi32(q3, _mm_loadu_si128((const __m128i*)(const void*)(data+i-4)));
+ mull = _mm_mullo_epi32(q2, _mm_loadu_si128((const __m128i*)(const void*)(data+i-3))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 3 */
+ __m128i q0, q1, q2;
+ q0 = _mm_cvtsi32_si128(qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+ q2 = _mm_cvtsi32_si128(qlp_coeff[2]); q2 = _mm_shuffle_epi32(q2, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_mullo_epi32(q2, _mm_loadu_si128((const __m128i*)(const void*)(data+i-3)));
+ mull = _mm_mullo_epi32(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2))); summ = _mm_add_epi32(summ, mull);
+ mull = _mm_mullo_epi32(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ else {
+ if(order == 2) {
+ __m128i q0, q1;
+ q0 = _mm_cvtsi32_si128(qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+ q1 = _mm_cvtsi32_si128(qlp_coeff[1]); q1 = _mm_shuffle_epi32(q1, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ, mull;
+ summ = _mm_mullo_epi32(q1, _mm_loadu_si128((const __m128i*)(const void*)(data+i-2)));
+ mull = _mm_mullo_epi32(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1))); summ = _mm_add_epi32(summ, mull);
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ else { /* order == 1 */
+ __m128i q0;
+ q0 = _mm_cvtsi32_si128(qlp_coeff[0]); q0 = _mm_shuffle_epi32(q0, _MM_SHUFFLE(0,0,0,0));
+
+ for(i = 0; i < (int)data_len-3; i+=4) {
+ __m128i summ;
+ summ = _mm_mullo_epi32(q0, _mm_loadu_si128((const __m128i*)(const void*)(data+i-1)));
+ summ = _mm_sra_epi32(summ, cnt);
+ _mm_storeu_si128((__m128i*)(void*)(residual+i), _mm_sub_epi32(_mm_loadu_si128((const __m128i*)(const void*)(data+i)), summ));
+ }
+ }
+ }
+ }
+ for(; i < (int)data_len; i++) {
+ sum = 0;
+ switch(order) {
+ case 12: sum += qlp_coeff[11] * data[i-12]; /* Falls through. */
+ case 11: sum += qlp_coeff[10] * data[i-11]; /* Falls through. */
+ case 10: sum += qlp_coeff[ 9] * data[i-10]; /* Falls through. */
+ case 9: sum += qlp_coeff[ 8] * data[i- 9]; /* Falls through. */
+ case 8: sum += qlp_coeff[ 7] * data[i- 8]; /* Falls through. */
+ case 7: sum += qlp_coeff[ 6] * data[i- 7]; /* Falls through. */
+ case 6: sum += qlp_coeff[ 5] * data[i- 6]; /* Falls through. */
+ case 5: sum += qlp_coeff[ 4] * data[i- 5]; /* Falls through. */
+ case 4: sum += qlp_coeff[ 3] * data[i- 4]; /* Falls through. */
+ case 3: sum += qlp_coeff[ 2] * data[i- 3]; /* Falls through. */
+ case 2: sum += qlp_coeff[ 1] * data[i- 2]; /* Falls through. */
+ case 1: sum += qlp_coeff[ 0] * data[i- 1];
+ }
+ residual[i] = data[i] - (sum >> lp_quantization);
+ }
+ }
+ else { /* order > 12 */
+ for(i = 0; i < (int)data_len; i++) {
+ sum = 0;
+ switch(order) {
+ case 32: sum += qlp_coeff[31] * data[i-32]; /* Falls through. */
+ case 31: sum += qlp_coeff[30] * data[i-31]; /* Falls through. */
+ case 30: sum += qlp_coeff[29] * data[i-30]; /* Falls through. */
+ case 29: sum += qlp_coeff[28] * data[i-29]; /* Falls through. */
+ case 28: sum += qlp_coeff[27] * data[i-28]; /* Falls through. */
+ case 27: sum += qlp_coeff[26] * data[i-27]; /* Falls through. */
+ case 26: sum += qlp_coeff[25] * data[i-26]; /* Falls through. */
+ case 25: sum += qlp_coeff[24] * data[i-25]; /* Falls through. */
+ case 24: sum += qlp_coeff[23] * data[i-24]; /* Falls through. */
+ case 23: sum += qlp_coeff[22] * data[i-23]; /* Falls through. */
+ case 22: sum += qlp_coeff[21] * data[i-22]; /* Falls through. */
+ case 21: sum += qlp_coeff[20] * data[i-21]; /* Falls through. */
+ case 20: sum += qlp_coeff[19] * data[i-20]; /* Falls through. */
+ case 19: sum += qlp_coeff[18] * data[i-19]; /* Falls through. */
+ case 18: sum += qlp_coeff[17] * data[i-18]; /* Falls through. */
+ case 17: sum += qlp_coeff[16] * data[i-17]; /* Falls through. */
+ case 16: sum += qlp_coeff[15] * data[i-16]; /* Falls through. */
+ case 15: sum += qlp_coeff[14] * data[i-15]; /* Falls through. */
+ case 14: sum += qlp_coeff[13] * data[i-14]; /* Falls through. */
+ case 13: sum += qlp_coeff[12] * data[i-13];
+ sum += qlp_coeff[11] * data[i-12];
+ sum += qlp_coeff[10] * data[i-11];
+ sum += qlp_coeff[ 9] * data[i-10];
+ sum += qlp_coeff[ 8] * data[i- 9];
+ sum += qlp_coeff[ 7] * data[i- 8];
+ sum += qlp_coeff[ 6] * data[i- 7];
+ sum += qlp_coeff[ 5] * data[i- 6];
+ sum += qlp_coeff[ 4] * data[i- 5];
+ sum += qlp_coeff[ 3] * data[i- 4];
+ sum += qlp_coeff[ 2] * data[i- 3];
+ sum += qlp_coeff[ 1] * data[i- 2];
+ sum += qlp_coeff[ 0] * data[i- 1];
+ }
+ residual[i] = data[i] - (sum >> lp_quantization);
+ }
+ }
+}
+
+#endif /* FLAC__SSE4_1_SUPPORTED */
+#endif /* (FLAC__CPU_IA32 || FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN */
+#endif /* FLAC__NO_ASM */
+#endif /* FLAC__INTEGER_ONLY_LIBRARY */
diff --git a/3rdparty/libflac/src/libFLAC/md5.c b/3rdparty/libflac/src/libFLAC/md5.c
index af350e01d16..09933d7ec5e 100644
--- a/3rdparty/libflac/src/libFLAC/md5.c
+++ b/3rdparty/libflac/src/libFLAC/md5.c
@@ -7,10 +7,8 @@
#include "private/md5.h"
#include "share/alloc.h"
-
-#ifndef FLaC__INLINE
-#define FLaC__INLINE
-#endif
+#include "share/compat.h"
+#include "share/endswap.h"
/*
* This code implements the MD5 message-digest algorithm.
@@ -139,11 +137,11 @@ static void FLAC__MD5Transform(FLAC__uint32 buf[4], FLAC__uint32 const in[16])
#if WORDS_BIGENDIAN
//@@@@@@ OPT: use bswap/intrinsics
-static void byteSwap(FLAC__uint32 *buf, unsigned words)
+static void byteSwap(FLAC__uint32 *buf, uint32_t words)
{
register FLAC__uint32 x;
do {
- x = *buf;
+ x = *buf;
x = ((x << 8) & 0xff00ff00) | ((x >> 8) & 0x00ff00ff);
*buf++ = (x >> 16) | (x << 16);
} while (--words);
@@ -178,7 +176,7 @@ static void byteSwapX16(FLAC__uint32 *buf)
* Update context to reflect the concatenation of another buffer full
* of bytes.
*/
-static void FLAC__MD5Update(FLAC__MD5Context *ctx, FLAC__byte const *buf, unsigned len)
+static void FLAC__MD5Update(FLAC__MD5Context *ctx, FLAC__byte const *buf, uint32_t len)
{
FLAC__uint32 t;
@@ -227,7 +225,7 @@ void FLAC__MD5Init(FLAC__MD5Context *ctx)
ctx->bytes[0] = 0;
ctx->bytes[1] = 0;
- ctx->internal_buf = 0;
+ ctx->internal_buf.p8 = 0;
ctx->capacity = 0;
}
@@ -263,9 +261,9 @@ void FLAC__MD5Final(FLAC__byte digest[16], FLAC__MD5Context *ctx)
byteSwap(ctx->buf, 4);
memcpy(digest, ctx->buf, 16);
- if(0 != ctx->internal_buf) {
- free(ctx->internal_buf);
- ctx->internal_buf = 0;
+ if (0 != ctx->internal_buf.p8) {
+ free(ctx->internal_buf.p8);
+ ctx->internal_buf.p8 = 0;
ctx->capacity = 0;
}
memset(ctx, 0, sizeof(*ctx)); /* In case it's sensitive */
@@ -274,58 +272,124 @@ void FLAC__MD5Final(FLAC__byte digest[16], FLAC__MD5Context *ctx)
/*
* Convert the incoming audio signal to a byte stream
*/
-static void format_input_(FLAC__byte *buf, const FLAC__int32 * const signal[], unsigned channels, unsigned samples, unsigned bytes_per_sample)
+static void format_input_(FLAC__multibyte *mbuf, const FLAC__int32 * const signal[], uint32_t channels, uint32_t samples, uint32_t bytes_per_sample)
{
- unsigned channel, sample;
- register FLAC__int32 a_word;
- register FLAC__byte *buf_ = buf;
+ FLAC__byte *buf_ = mbuf->p8;
+ FLAC__int16 *buf16 = mbuf->p16;
+ FLAC__int32 *buf32 = mbuf->p32;
+ FLAC__int32 a_word;
+ uint32_t channel, sample;
+
+ /* Storage in the output buffer, buf, is little endian. */
+
+#define BYTES_CHANNEL_SELECTOR(bytes, channels) (bytes * 100 + channels)
+
+ /* First do the most commonly used combinations. */
+ switch (BYTES_CHANNEL_SELECTOR (bytes_per_sample, channels)) {
+ /* One byte per sample. */
+ case (BYTES_CHANNEL_SELECTOR (1, 1)):
+ for (sample = 0; sample < samples; sample++)
+ *buf_++ = signal[0][sample];
+ return;
+
+ case (BYTES_CHANNEL_SELECTOR (1, 2)):
+ for (sample = 0; sample < samples; sample++) {
+ *buf_++ = signal[0][sample];
+ *buf_++ = signal[1][sample];
+ }
+ return;
+
+ case (BYTES_CHANNEL_SELECTOR (1, 4)):
+ for (sample = 0; sample < samples; sample++) {
+ *buf_++ = signal[0][sample];
+ *buf_++ = signal[1][sample];
+ *buf_++ = signal[2][sample];
+ *buf_++ = signal[3][sample];
+ }
+ return;
+
+ case (BYTES_CHANNEL_SELECTOR (1, 6)):
+ for (sample = 0; sample < samples; sample++) {
+ *buf_++ = signal[0][sample];
+ *buf_++ = signal[1][sample];
+ *buf_++ = signal[2][sample];
+ *buf_++ = signal[3][sample];
+ *buf_++ = signal[4][sample];
+ *buf_++ = signal[5][sample];
+ }
+ return;
+
+ case (BYTES_CHANNEL_SELECTOR (1, 8)):
+ for (sample = 0; sample < samples; sample++) {
+ *buf_++ = signal[0][sample];
+ *buf_++ = signal[1][sample];
+ *buf_++ = signal[2][sample];
+ *buf_++ = signal[3][sample];
+ *buf_++ = signal[4][sample];
+ *buf_++ = signal[5][sample];
+ *buf_++ = signal[6][sample];
+ *buf_++ = signal[7][sample];
+ }
+ return;
+
+ /* Two bytes per sample. */
+ case (BYTES_CHANNEL_SELECTOR (2, 1)):
+ for (sample = 0; sample < samples; sample++)
+ *buf16++ = H2LE_16(signal[0][sample]);
+ return;
+
+ case (BYTES_CHANNEL_SELECTOR (2, 2)):
+ for (sample = 0; sample < samples; sample++) {
+ *buf16++ = H2LE_16(signal[0][sample]);
+ *buf16++ = H2LE_16(signal[1][sample]);
+ }
+ return;
+
+ case (BYTES_CHANNEL_SELECTOR (2, 4)):
+ for (sample = 0; sample < samples; sample++) {
+ *buf16++ = H2LE_16(signal[0][sample]);
+ *buf16++ = H2LE_16(signal[1][sample]);
+ *buf16++ = H2LE_16(signal[2][sample]);
+ *buf16++ = H2LE_16(signal[3][sample]);
+ }
+ return;
+
+ case (BYTES_CHANNEL_SELECTOR (2, 6)):
+ for (sample = 0; sample < samples; sample++) {
+ *buf16++ = H2LE_16(signal[0][sample]);
+ *buf16++ = H2LE_16(signal[1][sample]);
+ *buf16++ = H2LE_16(signal[2][sample]);
+ *buf16++ = H2LE_16(signal[3][sample]);
+ *buf16++ = H2LE_16(signal[4][sample]);
+ *buf16++ = H2LE_16(signal[5][sample]);
+ }
+ return;
+
+ case (BYTES_CHANNEL_SELECTOR (2, 8)):
+ for (sample = 0; sample < samples; sample++) {
+ *buf16++ = H2LE_16(signal[0][sample]);
+ *buf16++ = H2LE_16(signal[1][sample]);
+ *buf16++ = H2LE_16(signal[2][sample]);
+ *buf16++ = H2LE_16(signal[3][sample]);
+ *buf16++ = H2LE_16(signal[4][sample]);
+ *buf16++ = H2LE_16(signal[5][sample]);
+ *buf16++ = H2LE_16(signal[6][sample]);
+ *buf16++ = H2LE_16(signal[7][sample]);
+ }
+ return;
-#if WORDS_BIGENDIAN
-#else
- if(channels == 2 && bytes_per_sample == 2) {
- FLAC__int16 *buf1_ = ((FLAC__int16*)buf_) + 1;
- memcpy(buf_, signal[0], sizeof(FLAC__int32) * samples);
- for(sample = 0; sample < samples; sample++, buf1_+=2)
- *buf1_ = (FLAC__int16)signal[1][sample];
- }
- else if(channels == 1 && bytes_per_sample == 2) {
- FLAC__int16 *buf1_ = (FLAC__int16*)buf_;
- for(sample = 0; sample < samples; sample++)
- *buf1_++ = (FLAC__int16)signal[0][sample];
- }
- else
-#endif
- if(bytes_per_sample == 2) {
- if(channels == 2) {
- for(sample = 0; sample < samples; sample++) {
+ /* Three bytes per sample. */
+ case (BYTES_CHANNEL_SELECTOR (3, 1)):
+ for (sample = 0; sample < samples; sample++) {
a_word = signal[0][sample];
*buf_++ = (FLAC__byte)a_word; a_word >>= 8;
- *buf_++ = (FLAC__byte)a_word;
- a_word = signal[1][sample];
*buf_++ = (FLAC__byte)a_word; a_word >>= 8;
*buf_++ = (FLAC__byte)a_word;
}
- }
- else if(channels == 1) {
- for(sample = 0; sample < samples; sample++) {
- a_word = signal[0][sample];
- *buf_++ = (FLAC__byte)a_word; a_word >>= 8;
- *buf_++ = (FLAC__byte)a_word;
- }
- }
- else {
- for(sample = 0; sample < samples; sample++) {
- for(channel = 0; channel < channels; channel++) {
- a_word = signal[channel][sample];
- *buf_++ = (FLAC__byte)a_word; a_word >>= 8;
- *buf_++ = (FLAC__byte)a_word;
- }
- }
- }
- }
- else if(bytes_per_sample == 3) {
- if(channels == 2) {
- for(sample = 0; sample < samples; sample++) {
+ return;
+
+ case (BYTES_CHANNEL_SELECTOR (3, 2)):
+ for (sample = 0; sample < samples; sample++) {
a_word = signal[0][sample];
*buf_++ = (FLAC__byte)a_word; a_word >>= 8;
*buf_++ = (FLAC__byte)a_word; a_word >>= 8;
@@ -335,90 +399,119 @@ static void format_input_(FLAC__byte *buf, const FLAC__int32 * const signal[], u
*buf_++ = (FLAC__byte)a_word; a_word >>= 8;
*buf_++ = (FLAC__byte)a_word;
}
- }
- else if(channels == 1) {
- for(sample = 0; sample < samples; sample++) {
- a_word = signal[0][sample];
- *buf_++ = (FLAC__byte)a_word; a_word >>= 8;
- *buf_++ = (FLAC__byte)a_word; a_word >>= 8;
- *buf_++ = (FLAC__byte)a_word;
+ return;
+
+ /* Four bytes per sample. */
+ case (BYTES_CHANNEL_SELECTOR (4, 1)):
+ for (sample = 0; sample < samples; sample++)
+ *buf32++ = H2LE_32(signal[0][sample]);
+ return;
+
+ case (BYTES_CHANNEL_SELECTOR (4, 2)):
+ for (sample = 0; sample < samples; sample++) {
+ *buf32++ = H2LE_32(signal[0][sample]);
+ *buf32++ = H2LE_32(signal[1][sample]);
}
- }
- else {
- for(sample = 0; sample < samples; sample++) {
- for(channel = 0; channel < channels; channel++) {
- a_word = signal[channel][sample];
- *buf_++ = (FLAC__byte)a_word; a_word >>= 8;
- *buf_++ = (FLAC__byte)a_word; a_word >>= 8;
- *buf_++ = (FLAC__byte)a_word;
- }
+ return;
+
+ case (BYTES_CHANNEL_SELECTOR (4, 4)):
+ for (sample = 0; sample < samples; sample++) {
+ *buf32++ = H2LE_32(signal[0][sample]);
+ *buf32++ = H2LE_32(signal[1][sample]);
+ *buf32++ = H2LE_32(signal[2][sample]);
+ *buf32++ = H2LE_32(signal[3][sample]);
}
- }
- }
- else if(bytes_per_sample == 1) {
- if(channels == 2) {
- for(sample = 0; sample < samples; sample++) {
- a_word = signal[0][sample];
- *buf_++ = (FLAC__byte)a_word;
- a_word = signal[1][sample];
- *buf_++ = (FLAC__byte)a_word;
+ return;
+
+ case (BYTES_CHANNEL_SELECTOR (4, 6)):
+ for (sample = 0; sample < samples; sample++) {
+ *buf32++ = H2LE_32(signal[0][sample]);
+ *buf32++ = H2LE_32(signal[1][sample]);
+ *buf32++ = H2LE_32(signal[2][sample]);
+ *buf32++ = H2LE_32(signal[3][sample]);
+ *buf32++ = H2LE_32(signal[4][sample]);
+ *buf32++ = H2LE_32(signal[5][sample]);
}
- }
- else if(channels == 1) {
- for(sample = 0; sample < samples; sample++) {
- a_word = signal[0][sample];
- *buf_++ = (FLAC__byte)a_word;
+ return;
+
+ case (BYTES_CHANNEL_SELECTOR (4, 8)):
+ for (sample = 0; sample < samples; sample++) {
+ *buf32++ = H2LE_32(signal[0][sample]);
+ *buf32++ = H2LE_32(signal[1][sample]);
+ *buf32++ = H2LE_32(signal[2][sample]);
+ *buf32++ = H2LE_32(signal[3][sample]);
+ *buf32++ = H2LE_32(signal[4][sample]);
+ *buf32++ = H2LE_32(signal[5][sample]);
+ *buf32++ = H2LE_32(signal[6][sample]);
+ *buf32++ = H2LE_32(signal[7][sample]);
}
- }
- else {
- for(sample = 0; sample < samples; sample++) {
- for(channel = 0; channel < channels; channel++) {
+ return;
+
+ default:
+ break;
+ }
+
+ /* General version. */
+ switch (bytes_per_sample) {
+ case 1:
+ for (sample = 0; sample < samples; sample++)
+ for (channel = 0; channel < channels; channel++)
+ *buf_++ = signal[channel][sample];
+ return;
+
+ case 2:
+ for (sample = 0; sample < samples; sample++)
+ for (channel = 0; channel < channels; channel++)
+ *buf16++ = H2LE_16(signal[channel][sample]);
+ return;
+
+ case 3:
+ for (sample = 0; sample < samples; sample++)
+ for (channel = 0; channel < channels; channel++) {
a_word = signal[channel][sample];
+ *buf_++ = (FLAC__byte)a_word; a_word >>= 8;
+ *buf_++ = (FLAC__byte)a_word; a_word >>= 8;
*buf_++ = (FLAC__byte)a_word;
}
- }
- }
- }
- else { /* bytes_per_sample == 4, maybe optimize more later */
- for(sample = 0; sample < samples; sample++) {
- for(channel = 0; channel < channels; channel++) {
- a_word = signal[channel][sample];
- *buf_++ = (FLAC__byte)a_word; a_word >>= 8;
- *buf_++ = (FLAC__byte)a_word; a_word >>= 8;
- *buf_++ = (FLAC__byte)a_word; a_word >>= 8;
- *buf_++ = (FLAC__byte)a_word;
- }
- }
+ return;
+
+ case 4:
+ for (sample = 0; sample < samples; sample++)
+ for (channel = 0; channel < channels; channel++)
+ *buf32++ = H2LE_32(signal[channel][sample]);
+ return;
+
+ default:
+ break;
}
}
/*
* Convert the incoming audio signal to a byte stream and FLAC__MD5Update it.
*/
-FLAC__bool FLAC__MD5Accumulate(FLAC__MD5Context *ctx, const FLAC__int32 * const signal[], unsigned channels, unsigned samples, unsigned bytes_per_sample)
+FLAC__bool FLAC__MD5Accumulate(FLAC__MD5Context *ctx, const FLAC__int32 * const signal[], uint32_t channels, uint32_t samples, uint32_t bytes_per_sample)
{
const size_t bytes_needed = (size_t)channels * (size_t)samples * (size_t)bytes_per_sample;
/* overflow check */
- if((size_t)channels > SIZE_MAX / (size_t)bytes_per_sample)
+ if ((size_t)channels > SIZE_MAX / (size_t)bytes_per_sample)
return false;
- if((size_t)channels * (size_t)bytes_per_sample > SIZE_MAX / (size_t)samples)
+ if ((size_t)channels * (size_t)bytes_per_sample > SIZE_MAX / (size_t)samples)
return false;
- if(ctx->capacity < bytes_needed) {
- FLAC__byte *tmp = (FLAC__byte*)realloc(ctx->internal_buf, bytes_needed);
- if(0 == tmp) {
- free(ctx->internal_buf);
- if(0 == (ctx->internal_buf = (FLAC__byte*)safe_malloc_(bytes_needed)))
+ if (ctx->capacity < bytes_needed) {
+ if (0 == (ctx->internal_buf.p8 = safe_realloc_(ctx->internal_buf.p8, bytes_needed))) {
+ if (0 == (ctx->internal_buf.p8 = safe_malloc_(bytes_needed))) {
+ ctx->capacity = 0;
return false;
+ }
}
- ctx->internal_buf = tmp;
ctx->capacity = bytes_needed;
}
- format_input_(ctx->internal_buf, signal, channels, samples, bytes_per_sample);
+ format_input_(&ctx->internal_buf, signal, channels, samples, bytes_per_sample);
- FLAC__MD5Update(ctx, ctx->internal_buf, bytes_needed);
+ FLAC__MD5Update(ctx, ctx->internal_buf.p8, bytes_needed);
return true;
}
diff --git a/3rdparty/libflac/src/libFLAC/memory.c b/3rdparty/libflac/src/libFLAC/memory.c
index 48f381b7e8c..ad5371ee90e 100644
--- a/3rdparty/libflac/src/libFLAC/memory.c
+++ b/3rdparty/libflac/src/libFLAC/memory.c
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -33,8 +34,13 @@
# include <config.h>
#endif
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
+
#include "private/memory.h"
#include "FLAC/assert.h"
+#include "share/compat.h"
#include "share/alloc.h"
void *FLAC__memory_alloc_aligned(size_t bytes, void **aligned_address)
@@ -45,25 +51,8 @@ void *FLAC__memory_alloc_aligned(size_t bytes, void **aligned_address)
#ifdef FLAC__ALIGN_MALLOC_DATA
/* align on 32-byte (256-bit) boundary */
- x = safe_malloc_add_2op_(bytes, /*+*/31);
-#ifdef SIZEOF_VOIDP
-#if SIZEOF_VOIDP == 4
- /* could do *aligned_address = x + ((unsigned) (32 - (((unsigned)x) & 31))) & 31; */
- *aligned_address = (void*)(((unsigned)x + 31) & -32);
-#elif SIZEOF_VOIDP == 8
- *aligned_address = (void*)(((FLAC__uint64)x + 31) & (FLAC__uint64)(-((FLAC__int64)32)));
-#else
-# error Unsupported sizeof(void*)
-#endif
-#else
- /* there's got to be a better way to do this right for all archs */
- if(sizeof(void*) == sizeof(unsigned))
- *aligned_address = (void*)(((unsigned)x + 31) & -32);
- else if(sizeof(void*) == sizeof(FLAC__uint64))
- *aligned_address = (void*)(((FLAC__uint64)x + 31) & (FLAC__uint64)(-((FLAC__int64)32)));
- else
- return 0;
-#endif
+ x = safe_malloc_add_2op_(bytes, /*+*/31L);
+ *aligned_address = (void*)(((uintptr_t)x + 31L) & -32L);
#else
x = safe_malloc_(bytes);
*aligned_address = x;
@@ -87,7 +76,7 @@ FLAC__bool FLAC__memory_alloc_aligned_int32_array(size_t elements, FLAC__int32 *
if(elements > SIZE_MAX / sizeof(*pu)) /* overflow check */
return false;
- pu = (FLAC__int32*)FLAC__memory_alloc_aligned(sizeof(*pu) * elements, &u.pv);
+ pu = FLAC__memory_alloc_aligned(sizeof(*pu) * elements, &u.pv);
if(0 == pu) {
return false;
}
@@ -100,7 +89,6 @@ FLAC__bool FLAC__memory_alloc_aligned_int32_array(size_t elements, FLAC__int32 *
}
}
-
FLAC__bool FLAC__memory_alloc_aligned_uint32_array(size_t elements, FLAC__uint32 **unaligned_pointer, FLAC__uint32 **aligned_pointer)
{
FLAC__uint32 *pu; /* unaligned pointer */
@@ -117,7 +105,7 @@ FLAC__bool FLAC__memory_alloc_aligned_uint32_array(size_t elements, FLAC__uint32
if(elements > SIZE_MAX / sizeof(*pu)) /* overflow check */
return false;
- pu = (FLAC__uint32*)FLAC__memory_alloc_aligned(sizeof(*pu) * elements, &u.pv);
+ pu = FLAC__memory_alloc_aligned(sizeof(*pu) * elements, &u.pv);
if(0 == pu) {
return false;
}
@@ -130,11 +118,11 @@ FLAC__bool FLAC__memory_alloc_aligned_uint32_array(size_t elements, FLAC__uint32
}
}
-FLAC__bool FLAC__memory_alloc_aligned_uint64_array(size_t elements, FLAC__uint64 **unaligned_pointer, FLAC__uint64 **aligned_pointer)
+FLAC__bool FLAC__memory_alloc_aligned_int64_array(size_t elements, FLAC__int64 **unaligned_pointer, FLAC__int64 **aligned_pointer)
{
- FLAC__uint64 *pu; /* unaligned pointer */
+ FLAC__int64 *pu; /* unaligned pointer */
union { /* union needed to comply with C99 pointer aliasing rules */
- FLAC__uint64 *pa; /* aligned pointer */
+ FLAC__int64 *pa; /* aligned pointer */
void *pv; /* aligned pointer alias */
} u;
@@ -146,7 +134,7 @@ FLAC__bool FLAC__memory_alloc_aligned_uint64_array(size_t elements, FLAC__uint64
if(elements > SIZE_MAX / sizeof(*pu)) /* overflow check */
return false;
- pu = (FLAC__uint64*)FLAC__memory_alloc_aligned(sizeof(*pu) * elements, &u.pv);
+ pu = FLAC__memory_alloc_aligned(sizeof(*pu) * elements, &u.pv);
if(0 == pu) {
return false;
}
@@ -159,12 +147,12 @@ FLAC__bool FLAC__memory_alloc_aligned_uint64_array(size_t elements, FLAC__uint64
}
}
-FLAC__bool FLAC__memory_alloc_aligned_unsigned_array(size_t elements, unsigned **unaligned_pointer, unsigned **aligned_pointer)
+FLAC__bool FLAC__memory_alloc_aligned_uint64_array(size_t elements, FLAC__uint64 **unaligned_pointer, FLAC__uint64 **aligned_pointer)
{
- unsigned *pu; /* unaligned pointer */
+ FLAC__uint64 *pu; /* unaligned pointer */
union { /* union needed to comply with C99 pointer aliasing rules */
- unsigned *pa; /* aligned pointer */
- void *pv; /* aligned pointer alias */
+ FLAC__uint64 *pa; /* aligned pointer */
+ void *pv; /* aligned pointer alias */
} u;
FLAC__ASSERT(elements > 0);
@@ -175,7 +163,7 @@ FLAC__bool FLAC__memory_alloc_aligned_unsigned_array(size_t elements, unsigned *
if(elements > SIZE_MAX / sizeof(*pu)) /* overflow check */
return false;
- pu = (unsigned*)FLAC__memory_alloc_aligned(sizeof(*pu) * elements, &u.pv);
+ pu = FLAC__memory_alloc_aligned(sizeof(*pu) * elements, &u.pv);
if(0 == pu) {
return false;
}
@@ -206,7 +194,7 @@ FLAC__bool FLAC__memory_alloc_aligned_real_array(size_t elements, FLAC__real **u
if(elements > SIZE_MAX / sizeof(*pu)) /* overflow check */
return false;
- pu = (FLAC__real*)FLAC__memory_alloc_aligned(sizeof(*pu) * elements, &u.pv);
+ pu = FLAC__memory_alloc_aligned(sizeof(*pu) * elements, &u.pv);
if(0 == pu) {
return false;
}
@@ -220,3 +208,12 @@ FLAC__bool FLAC__memory_alloc_aligned_real_array(size_t elements, FLAC__real **u
}
#endif
+
+void *safe_malloc_mul_2op_p(size_t size1, size_t size2)
+{
+ if(!size1 || !size2)
+ return malloc(1); /* malloc(0) is undefined; FLAC src convention is to always allocate */
+ if(size1 > SIZE_MAX / size2)
+ return 0;
+ return malloc(size1*size2);
+}
diff --git a/3rdparty/libflac/src/libFLAC/metadata_iterators.c b/3rdparty/libflac/src/libFLAC/metadata_iterators.c
index f88795bcf82..20e926becf0 100644
--- a/3rdparty/libflac/src/libFLAC/metadata_iterators.c
+++ b/3rdparty/libflac/src/libFLAC/metadata_iterators.c
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -37,24 +38,8 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <stdarg.h>
-#if defined _MSC_VER || defined __BORLANDC__ || defined __MINGW32__
-#if defined __BORLANDC__
-#include <utime.h> /* for utime() */
-#else
-#include <sys/utime.h> /* for utime() */
-#endif
-#include <io.h> /* for chmod() */
-#include <sys/types.h> /* for off_t */
-#if _MSC_VER <= 1600 || defined __BORLANDC__ /* @@@ [2G limit] */
-#define fseeko fseek
-#define ftello ftell
-#endif
-#else
-#include <sys/types.h> /* some flavors of BSD (like OS X) require this to get time_t */
-#include <utime.h> /* for utime() */
-#include <unistd.h> /* for chown(), unlink() */
-#endif
#include <sys/stat.h> /* for stat(), maybe chmod() */
#include "private/metadata.h"
@@ -62,16 +47,13 @@
#include "FLAC/assert.h"
#include "FLAC/stream_decoder.h"
#include "share/alloc.h"
+#include "share/compat.h"
+#include "share/macros.h"
+#include "private/macros.h"
+#include "private/memory.h"
-#ifdef max
-#undef max
-#endif
-#define max(a,b) ((a)>(b)?(a):(b))
-#ifdef min
-#undef min
-#endif
-#define min(a,b) ((a)<(b)?(a):(b))
-
+/* Alias the first (in share/alloc.h) to the second (in src/libFLAC/memory.c). */
+#define safe_malloc_mul_2op_ safe_malloc_mul_2op_p
/****************************************************************************
*
@@ -79,56 +61,56 @@
*
***************************************************************************/
-static void pack_uint32_(FLAC__uint32 val, FLAC__byte *b, unsigned bytes);
-static void pack_uint32_little_endian_(FLAC__uint32 val, FLAC__byte *b, unsigned bytes);
-static void pack_uint64_(FLAC__uint64 val, FLAC__byte *b, unsigned bytes);
-static FLAC__uint32 unpack_uint32_(FLAC__byte *b, unsigned bytes);
-static FLAC__uint32 unpack_uint32_little_endian_(FLAC__byte *b, unsigned bytes);
-static FLAC__uint64 unpack_uint64_(FLAC__byte *b, unsigned bytes);
+static void pack_uint32_(FLAC__uint32 val, FLAC__byte *b, uint32_t bytes);
+static void pack_uint32_little_endian_(FLAC__uint32 val, FLAC__byte *b, uint32_t bytes);
+static void pack_uint64_(FLAC__uint64 val, FLAC__byte *b, uint32_t bytes);
+static FLAC__uint32 unpack_uint32_(FLAC__byte *b, uint32_t bytes);
+static FLAC__uint32 unpack_uint32_little_endian_(FLAC__byte *b, uint32_t bytes);
+static FLAC__uint64 unpack_uint64_(FLAC__byte *b, uint32_t bytes);
static FLAC__bool read_metadata_block_header_(FLAC__Metadata_SimpleIterator *iterator);
static FLAC__bool read_metadata_block_data_(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block);
-static FLAC__bool read_metadata_block_header_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__bool *is_last, FLAC__MetadataType *type, unsigned *length);
+static FLAC__bool read_metadata_block_header_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__bool *is_last, FLAC__MetadataType *type, uint32_t *length);
static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__IOCallback_Seek seek_cb, FLAC__StreamMetadata *block);
static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_streaminfo_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_StreamInfo *block);
-static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_padding_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Seek seek_cb, FLAC__StreamMetadata_Padding *block, unsigned block_length);
-static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_application_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_Application *block, unsigned block_length);
-static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_seektable_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_SeekTable *block, unsigned block_length);
-static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_vorbis_comment_entry_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_VorbisComment_Entry *entry);
-static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_vorbis_comment_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_VorbisComment *block);
+static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_padding_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Seek seek_cb, FLAC__StreamMetadata_Padding *block, uint32_t block_length);
+static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_application_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_Application *block, uint32_t block_length);
+static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_seektable_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_SeekTable *block, uint32_t block_length);
+static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_vorbis_comment_entry_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_VorbisComment_Entry *entry, uint32_t max_length);
+static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_vorbis_comment_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__IOCallback_Seek seek_cb, FLAC__StreamMetadata_VorbisComment *block, uint32_t block_length);
static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_cuesheet_track_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_CueSheet_Track *track);
static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_cuesheet_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_CueSheet *block);
static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_picture_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_Picture *block);
-static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_unknown_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_Unknown *block, unsigned block_length);
+static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_unknown_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_Unknown *block, uint32_t block_length);
static FLAC__bool write_metadata_block_header_(FILE *file, FLAC__Metadata_SimpleIteratorStatus *status, const FLAC__StreamMetadata *block);
static FLAC__bool write_metadata_block_data_(FILE *file, FLAC__Metadata_SimpleIteratorStatus *status, const FLAC__StreamMetadata *block);
static FLAC__bool write_metadata_block_header_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata *block);
static FLAC__bool write_metadata_block_data_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata *block);
static FLAC__bool write_metadata_block_data_streaminfo_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_StreamInfo *block);
-static FLAC__bool write_metadata_block_data_padding_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_Padding *block, unsigned block_length);
-static FLAC__bool write_metadata_block_data_application_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_Application *block, unsigned block_length);
+static FLAC__bool write_metadata_block_data_padding_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_Padding *block, uint32_t block_length);
+static FLAC__bool write_metadata_block_data_application_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_Application *block, uint32_t block_length);
static FLAC__bool write_metadata_block_data_seektable_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_SeekTable *block);
static FLAC__bool write_metadata_block_data_vorbis_comment_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_VorbisComment *block);
static FLAC__bool write_metadata_block_data_cuesheet_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_CueSheet *block);
static FLAC__bool write_metadata_block_data_picture_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_Picture *block);
-static FLAC__bool write_metadata_block_data_unknown_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_Unknown *block, unsigned block_length);
+static FLAC__bool write_metadata_block_data_unknown_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_Unknown *block, uint32_t block_length);
static FLAC__bool write_metadata_block_stationary_(FLAC__Metadata_SimpleIterator *iterator, const FLAC__StreamMetadata *block);
-static FLAC__bool write_metadata_block_stationary_with_padding_(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, unsigned padding_length, FLAC__bool padding_is_last);
+static FLAC__bool write_metadata_block_stationary_with_padding_(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, uint32_t padding_length, FLAC__bool padding_is_last);
static FLAC__bool rewrite_whole_file_(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool append);
static void simple_iterator_push_(FLAC__Metadata_SimpleIterator *iterator);
static FLAC__bool simple_iterator_pop_(FLAC__Metadata_SimpleIterator *iterator);
-static unsigned seek_to_first_metadata_block_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__IOCallback_Seek seek_cb);
-static unsigned seek_to_first_metadata_block_(FILE *f);
+static uint32_t seek_to_first_metadata_block_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__IOCallback_Seek seek_cb);
+static uint32_t seek_to_first_metadata_block_(FILE *f);
static FLAC__bool simple_iterator_copy_file_prefix_(FLAC__Metadata_SimpleIterator *iterator, FILE **tempfile, char **tempfilename, FLAC__bool append);
-static FLAC__bool simple_iterator_copy_file_postfix_(FLAC__Metadata_SimpleIterator *iterator, FILE **tempfile, char **tempfilename, int fixup_is_last_code, off_t fixup_is_last_flag_offset, FLAC__bool backup);
+static FLAC__bool simple_iterator_copy_file_postfix_(FLAC__Metadata_SimpleIterator *iterator, FILE **tempfile, char **tempfilename, int fixup_is_last_code, FLAC__off_t fixup_is_last_flag_offset, FLAC__bool backup);
-static FLAC__bool copy_n_bytes_from_file_(FILE *file, FILE *tempfile, off_t bytes, FLAC__Metadata_SimpleIteratorStatus *status);
-static FLAC__bool copy_n_bytes_from_file_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__IOHandle temp_handle, FLAC__IOCallback_Write temp_write_cb, off_t bytes, FLAC__Metadata_SimpleIteratorStatus *status);
+static FLAC__bool copy_n_bytes_from_file_(FILE *file, FILE *tempfile, FLAC__off_t bytes, FLAC__Metadata_SimpleIteratorStatus *status);
+static FLAC__bool copy_n_bytes_from_file_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__IOHandle temp_handle, FLAC__IOCallback_Write temp_write_cb, FLAC__off_t bytes, FLAC__Metadata_SimpleIteratorStatus *status);
static FLAC__bool copy_remaining_bytes_from_file_(FILE *file, FILE *tempfile, FLAC__Metadata_SimpleIteratorStatus *status);
static FLAC__bool copy_remaining_bytes_from_file_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__IOCallback_Eof eof_cb, FLAC__IOHandle temp_handle, FLAC__IOCallback_Write temp_write_cb, FLAC__Metadata_SimpleIteratorStatus *status);
@@ -136,8 +118,8 @@ static FLAC__bool open_tempfile_(const char *filename, const char *tempfile_path
static FLAC__bool transport_tempfile_(const char *filename, FILE **tempfile, char **tempfilename, FLAC__Metadata_SimpleIteratorStatus *status);
static void cleanup_tempfile_(FILE **tempfile, char **tempfilename);
-static FLAC__bool get_file_stats_(const char *filename, struct stat *stats);
-static void set_file_stats_(const char *filename, struct stat *stats);
+static FLAC__bool get_file_stats_(const char *filename, struct flac_stat_s *stats);
+static void set_file_stats_(const char *filename, struct flac_stat_s *stats);
static int fseek_wrapper_(FLAC__IOHandle handle, FLAC__int64 offset, int whence);
static FLAC__int64 ftell_wrapper_(FLAC__IOHandle handle);
@@ -282,7 +264,7 @@ void error_callback_(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErro
cd->got_error = true;
}
-FLAC_API FLAC__bool FLAC__metadata_get_picture(const char *filename, FLAC__StreamMetadata **picture, FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, unsigned max_width, unsigned max_height, unsigned max_depth, unsigned max_colors)
+FLAC_API FLAC__bool FLAC__metadata_get_picture(const char *filename, FLAC__StreamMetadata **picture, FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, uint32_t max_width, uint32_t max_height, uint32_t max_depth, uint32_t max_colors)
{
FLAC__Metadata_SimpleIterator *it;
FLAC__uint64 max_area_seen = 0;
@@ -303,27 +285,32 @@ FLAC_API FLAC__bool FLAC__metadata_get_picture(const char *filename, FLAC__Strea
do {
if(FLAC__metadata_simple_iterator_get_block_type(it) == FLAC__METADATA_TYPE_PICTURE) {
FLAC__StreamMetadata *obj = FLAC__metadata_simple_iterator_get_block(it);
- FLAC__uint64 area = (FLAC__uint64)obj->data.picture.width * (FLAC__uint64)obj->data.picture.height;
- /* check constraints */
- if(
- (type == (FLAC__StreamMetadata_Picture_Type)(-1) || type == obj->data.picture.type) &&
- (mime_type == 0 || !strcmp(mime_type, obj->data.picture.mime_type)) &&
- (description == 0 || !strcmp((const char *)description, (const char *)obj->data.picture.description)) &&
- obj->data.picture.width <= max_width &&
- obj->data.picture.height <= max_height &&
- obj->data.picture.depth <= max_depth &&
- obj->data.picture.colors <= max_colors &&
- (area > max_area_seen || (area == max_area_seen && obj->data.picture.depth > max_depth_seen))
- ) {
- if(*picture)
- FLAC__metadata_object_delete(*picture);
- *picture = obj;
- max_area_seen = area;
- max_depth_seen = obj->data.picture.depth;
- }
- else {
- FLAC__metadata_object_delete(obj);
+ if(0 != obj) {
+ FLAC__uint64 area = (FLAC__uint64)obj->data.picture.width * (FLAC__uint64)obj->data.picture.height;
+
+ /* check constraints */
+ if(
+ (type == (FLAC__StreamMetadata_Picture_Type)(-1) || type == obj->data.picture.type) &&
+ (mime_type == 0 || !strcmp(mime_type, obj->data.picture.mime_type)) &&
+ (description == 0 || !strcmp((const char *)description, (const char *)obj->data.picture.description)) &&
+ obj->data.picture.width <= max_width &&
+ obj->data.picture.height <= max_height &&
+ obj->data.picture.depth <= max_depth &&
+ obj->data.picture.colors <= max_colors &&
+ (area > max_area_seen || (area == max_area_seen && obj->data.picture.depth > max_depth_seen))
+ ) {
+ if(*picture)
+ FLAC__metadata_object_delete(*picture);
+ *picture = obj;
+ max_area_seen = area;
+ max_depth_seen = obj->data.picture.depth;
+ }
+ else {
+ FLAC__metadata_object_delete(obj);
+ }
}
+ else
+ break;
}
} while(FLAC__metadata_simple_iterator_next(it));
@@ -345,17 +332,17 @@ FLAC_API FLAC__bool FLAC__metadata_get_picture(const char *filename, FLAC__Strea
struct FLAC__Metadata_SimpleIterator {
FILE *file;
char *filename, *tempfile_path_prefix;
- struct stat stats;
+ struct flac_stat_s stats;
FLAC__bool has_stats;
FLAC__bool is_writable;
FLAC__Metadata_SimpleIteratorStatus status;
- off_t offset[SIMPLE_ITERATOR_MAX_PUSH_DEPTH];
- off_t first_offset; /* this is the offset to the STREAMINFO block */
- unsigned depth;
+ FLAC__off_t offset[SIMPLE_ITERATOR_MAX_PUSH_DEPTH];
+ FLAC__off_t first_offset; /* this is the offset to the STREAMINFO block */
+ uint32_t depth;
/* this is the metadata block header of the current block we are pointing to: */
FLAC__bool is_last;
FLAC__MetadataType type;
- unsigned length;
+ uint32_t length;
};
FLAC_API const char * const FLAC__Metadata_SimpleIteratorStatusString[] = {
@@ -377,7 +364,7 @@ FLAC_API const char * const FLAC__Metadata_SimpleIteratorStatusString[] = {
FLAC_API FLAC__Metadata_SimpleIterator *FLAC__metadata_simple_iterator_new(void)
{
- FLAC__Metadata_SimpleIterator *iterator = (FLAC__Metadata_SimpleIterator*)calloc(1, sizeof(FLAC__Metadata_SimpleIterator));
+ FLAC__Metadata_SimpleIterator *iterator = calloc(1, sizeof(FLAC__Metadata_SimpleIterator));
if(0 != iterator) {
iterator->file = 0;
@@ -434,14 +421,14 @@ FLAC_API FLAC__Metadata_SimpleIteratorStatus FLAC__metadata_simple_iterator_stat
static FLAC__bool simple_iterator_prime_input_(FLAC__Metadata_SimpleIterator *iterator, FLAC__bool read_only)
{
- unsigned ret;
+ uint32_t ret;
FLAC__ASSERT(0 != iterator);
- if(read_only || 0 == (iterator->file = fopen(iterator->filename, "r+b"))) {
+ if(read_only || 0 == (iterator->file = flac_fopen(iterator->filename, "r+b"))) {
iterator->is_writable = false;
if(read_only || errno == EACCES) {
- if(0 == (iterator->file = fopen(iterator->filename, "rb"))) {
+ if(0 == (iterator->file = flac_fopen(iterator->filename, "rb"))) {
iterator->status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE;
return false;
}
@@ -460,7 +447,15 @@ static FLAC__bool simple_iterator_prime_input_(FLAC__Metadata_SimpleIterator *it
case 0:
iterator->depth = 0;
iterator->first_offset = iterator->offset[iterator->depth] = ftello(iterator->file);
- return read_metadata_block_header_(iterator);
+ ret = read_metadata_block_header_(iterator);
+ /* The first metadata block must be a streaminfo. If this is not the
+ * case, the file is invalid and assumptions made elsewhere in the
+ * code are invalid */
+ if(iterator->type != FLAC__METADATA_TYPE_STREAMINFO) {
+ iterator->status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA;
+ return false;
+ }
+ return ret;
case 1:
iterator->status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR;
return false;
@@ -496,7 +491,7 @@ FLAC__bool FLAC__metadata_simple_iterator_init(FLAC__Metadata_SimpleIterator *it
FLAC_API FLAC__bool FLAC__metadata_simple_iterator_init(FLAC__Metadata_SimpleIterator *iterator, const char *filename, FLAC__bool read_only, FLAC__bool preserve_file_stats)
{
- const char *tempfile_path_prefix = 0; /*@@@ search for comments near 'rename(...)' for what it will take to finish implementing this */
+ const char *tempfile_path_prefix = 0; /*@@@ search for comments near 'flac_rename(...)' for what it will take to finish implementing this */
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != filename);
@@ -530,6 +525,7 @@ FLAC_API FLAC__bool FLAC__metadata_simple_iterator_next(FLAC__Metadata_SimpleIte
{
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->file);
+ FLAC__ASSERT(iterator->status == FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK);
if(iterator->is_last)
return false;
@@ -546,10 +542,11 @@ FLAC_API FLAC__bool FLAC__metadata_simple_iterator_next(FLAC__Metadata_SimpleIte
FLAC_API FLAC__bool FLAC__metadata_simple_iterator_prev(FLAC__Metadata_SimpleIterator *iterator)
{
- off_t this_offset;
+ FLAC__off_t this_offset;
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->file);
+ FLAC__ASSERT(iterator->status == FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK);
if(iterator->offset[iterator->depth] == iterator->first_offset)
return false;
@@ -563,7 +560,7 @@ FLAC_API FLAC__bool FLAC__metadata_simple_iterator_prev(FLAC__Metadata_SimpleIte
return false;
/* we ignore any error from ftello() and catch it in fseeko() */
- while(ftello(iterator->file) + (off_t)iterator->length < iterator->offset[iterator->depth]) {
+ while(ftello(iterator->file) + (FLAC__off_t)iterator->length < iterator->offset[iterator->depth]) {
if(0 != fseeko(iterator->file, iterator->length, SEEK_CUR)) {
iterator->status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR;
return false;
@@ -583,6 +580,7 @@ FLAC_API FLAC__bool FLAC__metadata_simple_iterator_is_last(const FLAC__Metadata_
{
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->file);
+ FLAC__ASSERT(iterator->status == FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK);
return iterator->is_last;
}
@@ -592,23 +590,26 @@ FLAC_API off_t FLAC__metadata_simple_iterator_get_block_offset(const FLAC__Metad
{
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->file);
+ FLAC__ASSERT(iterator->status == FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK);
- return iterator->offset[iterator->depth];
+ return (off_t)iterator->offset[iterator->depth];
}
FLAC_API FLAC__MetadataType FLAC__metadata_simple_iterator_get_block_type(const FLAC__Metadata_SimpleIterator *iterator)
{
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->file);
+ FLAC__ASSERT(iterator->status == FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK);
return iterator->type;
}
/*@@@@add to tests*/
-FLAC_API unsigned FLAC__metadata_simple_iterator_get_block_length(const FLAC__Metadata_SimpleIterator *iterator)
+FLAC_API uint32_t FLAC__metadata_simple_iterator_get_block_length(const FLAC__Metadata_SimpleIterator *iterator)
{
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->file);
+ FLAC__ASSERT(iterator->status == FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK);
return iterator->length;
}
@@ -616,11 +617,12 @@ FLAC_API unsigned FLAC__metadata_simple_iterator_get_block_length(const FLAC__Me
/*@@@@add to tests*/
FLAC_API FLAC__bool FLAC__metadata_simple_iterator_get_application_id(FLAC__Metadata_SimpleIterator *iterator, FLAC__byte *id)
{
- const unsigned id_bytes = FLAC__STREAM_METADATA_APPLICATION_ID_LEN / 8;
+ const uint32_t id_bytes = FLAC__STREAM_METADATA_APPLICATION_ID_LEN / 8;
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->file);
FLAC__ASSERT(0 != id);
+ FLAC__ASSERT(iterator->status == FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK);
if(iterator->type != FLAC__METADATA_TYPE_APPLICATION) {
iterator->status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT;
@@ -647,6 +649,7 @@ FLAC_API FLAC__StreamMetadata *FLAC__metadata_simple_iterator_get_block(FLAC__Me
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->file);
+ FLAC__ASSERT(iterator->status == FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK);
if(0 != block) {
block->is_last = iterator->is_last;
@@ -672,12 +675,13 @@ FLAC_API FLAC__StreamMetadata *FLAC__metadata_simple_iterator_get_block(FLAC__Me
FLAC_API FLAC__bool FLAC__metadata_simple_iterator_set_block(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool use_padding)
{
- FLAC__ASSERT_DECLARATION(off_t debug_target_offset = iterator->offset[iterator->depth];)
+ FLAC__ASSERT_DECLARATION(FLAC__off_t debug_target_offset = iterator->offset[iterator->depth];)
FLAC__bool ret;
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->file);
FLAC__ASSERT(0 != block);
+ FLAC__ASSERT(iterator->status == FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK);
if(!iterator->is_writable) {
iterator->status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_WRITABLE;
@@ -699,18 +703,19 @@ FLAC_API FLAC__bool FLAC__metadata_simple_iterator_set_block(FLAC__Metadata_Simp
if(use_padding && iterator->length >= FLAC__STREAM_METADATA_HEADER_LENGTH + block->length) {
ret = write_metadata_block_stationary_with_padding_(iterator, block, iterator->length - FLAC__STREAM_METADATA_HEADER_LENGTH - block->length, block->is_last);
FLAC__ASSERT(!ret || iterator->offset[iterator->depth] == debug_target_offset);
- FLAC__ASSERT(!ret || ftello(iterator->file) == debug_target_offset + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
+ FLAC__ASSERT(!ret || ftello(iterator->file) == debug_target_offset + (FLAC__off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
return ret;
}
else {
- ret = rewrite_whole_file_(iterator, block, /*append=*/false);
- FLAC__ASSERT(!ret || iterator->offset[iterator->depth] == debug_target_offset);
- FLAC__ASSERT(!ret || ftello(iterator->file) == debug_target_offset + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
+ if((ret = rewrite_whole_file_(iterator, block, /*append=*/false))) {
+ FLAC__ASSERT(!ret || iterator->offset[iterator->depth] == debug_target_offset);
+ FLAC__ASSERT(!ret || ftello(iterator->file) == debug_target_offset + (FLAC__off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
+ }
return ret;
}
}
else /* iterator->length < block->length */ {
- unsigned padding_leftover = 0;
+ uint32_t padding_leftover = 0;
FLAC__bool padding_is_last = false;
if(use_padding) {
/* first see if we can even use padding */
@@ -718,7 +723,7 @@ FLAC_API FLAC__bool FLAC__metadata_simple_iterator_set_block(FLAC__Metadata_Simp
use_padding = false;
}
else {
- const unsigned extra_padding_bytes_required = block->length - iterator->length;
+ const uint32_t extra_padding_bytes_required = block->length - iterator->length;
simple_iterator_push_(iterator);
if(!FLAC__metadata_simple_iterator_next(iterator)) {
(void)simple_iterator_pop_(iterator);
@@ -748,21 +753,22 @@ FLAC_API FLAC__bool FLAC__metadata_simple_iterator_set_block(FLAC__Metadata_Simp
if(padding_leftover == 0) {
ret = write_metadata_block_stationary_(iterator, block);
FLAC__ASSERT(!ret || iterator->offset[iterator->depth] == debug_target_offset);
- FLAC__ASSERT(!ret || ftello(iterator->file) == debug_target_offset + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
+ FLAC__ASSERT(!ret || ftello(iterator->file) == debug_target_offset + (FLAC__off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
return ret;
}
else {
FLAC__ASSERT(padding_leftover >= FLAC__STREAM_METADATA_HEADER_LENGTH);
ret = write_metadata_block_stationary_with_padding_(iterator, block, padding_leftover - FLAC__STREAM_METADATA_HEADER_LENGTH, padding_is_last);
FLAC__ASSERT(!ret || iterator->offset[iterator->depth] == debug_target_offset);
- FLAC__ASSERT(!ret || ftello(iterator->file) == debug_target_offset + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
+ FLAC__ASSERT(!ret || ftello(iterator->file) == debug_target_offset + (FLAC__off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
return ret;
}
}
else {
- ret = rewrite_whole_file_(iterator, block, /*append=*/false);
- FLAC__ASSERT(!ret || iterator->offset[iterator->depth] == debug_target_offset);
- FLAC__ASSERT(!ret || ftello(iterator->file) == debug_target_offset + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
+ if((ret = rewrite_whole_file_(iterator, block, /*append=*/false))) {
+ FLAC__ASSERT(!ret || iterator->offset[iterator->depth] == debug_target_offset);
+ FLAC__ASSERT(!ret || ftello(iterator->file) == debug_target_offset + (FLAC__off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
+ }
return ret;
}
}
@@ -770,18 +776,21 @@ FLAC_API FLAC__bool FLAC__metadata_simple_iterator_set_block(FLAC__Metadata_Simp
FLAC_API FLAC__bool FLAC__metadata_simple_iterator_insert_block_after(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool use_padding)
{
- unsigned padding_leftover = 0;
+ uint32_t padding_leftover = 0;
FLAC__bool padding_is_last = false;
- FLAC__ASSERT_DECLARATION(off_t debug_target_offset = iterator->offset[iterator->depth] + FLAC__STREAM_METADATA_HEADER_LENGTH + iterator->length;)
+ FLAC__ASSERT_DECLARATION(FLAC__off_t debug_target_offset = iterator->offset[iterator->depth] + FLAC__STREAM_METADATA_HEADER_LENGTH + iterator->length;)
FLAC__bool ret;
FLAC__ASSERT(0 != iterator);
FLAC__ASSERT(0 != iterator->file);
FLAC__ASSERT(0 != block);
+ FLAC__ASSERT(iterator->status == FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK);
- if(!iterator->is_writable)
+ if(!iterator->is_writable) {
+ iterator->status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_WRITABLE;
return false;
+ }
if(block->type == FLAC__METADATA_TYPE_STREAMINFO) {
iterator->status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT;
@@ -828,30 +837,38 @@ FLAC_API FLAC__bool FLAC__metadata_simple_iterator_insert_block_after(FLAC__Meta
if(padding_leftover == 0) {
ret = write_metadata_block_stationary_(iterator, block);
FLAC__ASSERT(iterator->offset[iterator->depth] == debug_target_offset);
- FLAC__ASSERT(ftello(iterator->file) == debug_target_offset + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
+ FLAC__ASSERT(ftello(iterator->file) == debug_target_offset + (FLAC__off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
return ret;
}
else {
FLAC__ASSERT(padding_leftover >= FLAC__STREAM_METADATA_HEADER_LENGTH);
ret = write_metadata_block_stationary_with_padding_(iterator, block, padding_leftover - FLAC__STREAM_METADATA_HEADER_LENGTH, padding_is_last);
FLAC__ASSERT(iterator->offset[iterator->depth] == debug_target_offset);
- FLAC__ASSERT(ftello(iterator->file) == debug_target_offset + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
+ FLAC__ASSERT(ftello(iterator->file) == debug_target_offset + (FLAC__off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
return ret;
}
}
else {
- ret = rewrite_whole_file_(iterator, block, /*append=*/true);
- FLAC__ASSERT(iterator->offset[iterator->depth] == debug_target_offset);
- FLAC__ASSERT(ftello(iterator->file) == debug_target_offset + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
+ if((ret = rewrite_whole_file_(iterator, block, /*append=*/true))) {
+ FLAC__ASSERT(iterator->offset[iterator->depth] == debug_target_offset);
+ FLAC__ASSERT(ftello(iterator->file) == debug_target_offset + (FLAC__off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
+ }
return ret;
}
}
FLAC_API FLAC__bool FLAC__metadata_simple_iterator_delete_block(FLAC__Metadata_SimpleIterator *iterator, FLAC__bool use_padding)
{
- FLAC__ASSERT_DECLARATION(off_t debug_target_offset = iterator->offset[iterator->depth];)
+ FLAC__ASSERT_DECLARATION(FLAC__off_t debug_target_offset = iterator->offset[iterator->depth];)
FLAC__bool ret;
+ FLAC__ASSERT(iterator->status == FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK);
+
+ if(!iterator->is_writable) {
+ iterator->status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_WRITABLE;
+ return false;
+ }
+
if(iterator->type == FLAC__METADATA_TYPE_STREAMINFO) {
iterator->status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT;
return false;
@@ -871,14 +888,15 @@ FLAC_API FLAC__bool FLAC__metadata_simple_iterator_delete_block(FLAC__Metadata_S
FLAC__metadata_object_delete(padding);
if(!FLAC__metadata_simple_iterator_prev(iterator))
return false;
- FLAC__ASSERT(iterator->offset[iterator->depth] + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH + (off_t)iterator->length == debug_target_offset);
- FLAC__ASSERT(ftello(iterator->file) + (off_t)iterator->length == debug_target_offset);
+ FLAC__ASSERT(iterator->offset[iterator->depth] + (FLAC__off_t)FLAC__STREAM_METADATA_HEADER_LENGTH + (FLAC__off_t)iterator->length == debug_target_offset);
+ FLAC__ASSERT(ftello(iterator->file) + (FLAC__off_t)iterator->length == debug_target_offset);
return true;
}
else {
- ret = rewrite_whole_file_(iterator, 0, /*append=*/false);
- FLAC__ASSERT(iterator->offset[iterator->depth] + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH + (off_t)iterator->length == debug_target_offset);
- FLAC__ASSERT(ftello(iterator->file) + (off_t)iterator->length == debug_target_offset);
+ if((ret = rewrite_whole_file_(iterator, 0, /*append=*/false))) {
+ FLAC__ASSERT(iterator->offset[iterator->depth] + (FLAC__off_t)FLAC__STREAM_METADATA_HEADER_LENGTH + (FLAC__off_t)iterator->length == debug_target_offset);
+ FLAC__ASSERT(ftello(iterator->file) + (FLAC__off_t)iterator->length == debug_target_offset);
+ }
return ret;
}
}
@@ -902,15 +920,15 @@ struct FLAC__Metadata_Chain {
FLAC__bool is_ogg;
FLAC__Metadata_Node *head;
FLAC__Metadata_Node *tail;
- unsigned nodes;
+ uint32_t nodes;
FLAC__Metadata_ChainStatus status;
- off_t first_offset, last_offset;
+ FLAC__off_t first_offset, last_offset;
/*
* This is the length of the chain initially read from the FLAC file.
* it is used to compare against the current length to decide whether
* or not the whole file has to be rewritten.
*/
- off_t initial_length;
+ FLAC__off_t initial_length;
/* @@@ hacky, these are currently only needed by ogg reader */
FLAC__IOHandle handle;
FLAC__IOCallback_Read read_cb;
@@ -943,7 +961,7 @@ FLAC_API const char * const FLAC__Metadata_ChainStatusString[] = {
static FLAC__Metadata_Node *node_new_(void)
{
- return (FLAC__Metadata_Node*)calloc(1, sizeof(FLAC__Metadata_Node));
+ return calloc(1, sizeof(FLAC__Metadata_Node));
}
static void node_delete_(FLAC__Metadata_Node *node)
@@ -1034,10 +1052,10 @@ static void chain_delete_node_(FLAC__Metadata_Chain *chain, FLAC__Metadata_Node
node_delete_(node);
}
-static off_t chain_calculate_length_(FLAC__Metadata_Chain *chain)
+static FLAC__off_t chain_calculate_length_(FLAC__Metadata_Chain *chain)
{
const FLAC__Metadata_Node *node;
- off_t length = 0;
+ FLAC__off_t length = 0;
for(node = chain->head; node; node = node->next)
length += (FLAC__STREAM_METADATA_HEADER_LENGTH + node->data->length);
return length;
@@ -1099,8 +1117,8 @@ static void iterator_insert_node_after_(FLAC__Metadata_Iterator *iterator, FLAC_
static FLAC__bool chain_merge_adjacent_padding_(FLAC__Metadata_Chain *chain, FLAC__Metadata_Node *node)
{
if(node->data->type == FLAC__METADATA_TYPE_PADDING && 0 != node->next && node->next->data->type == FLAC__METADATA_TYPE_PADDING) {
- const unsigned growth = FLAC__STREAM_METADATA_HEADER_LENGTH + node->next->data->length;
- node->data->length += growth;
+ const uint32_t growth = FLAC__STREAM_METADATA_HEADER_LENGTH + node->next->data->length;
+ node->data->length += growth; /* new block size can be greater than max metadata block size, but it'll be fixed later in chain_prepare_for_write_() */
chain_delete_node_(chain, node->next);
return true;
@@ -1109,6 +1127,11 @@ static FLAC__bool chain_merge_adjacent_padding_(FLAC__Metadata_Chain *chain, FLA
return false;
}
+#if defined(_MSC_VER)
+// silence three MSVC warnings 'conversion from 'conversion from 'const __int64' to 'uint32_t', possible loss of data'
+#pragma warning ( disable : 4244 )
+#endif
+
/* Returns the new length of the chain, or 0 if there was an error. */
/* WATCHOUT: This can get called multiple times before a write, so
* it should still work when this happens.
@@ -1116,20 +1139,26 @@ static FLAC__bool chain_merge_adjacent_padding_(FLAC__Metadata_Chain *chain, FLA
/* WATCHOUT: Make sure to also update the logic in
* FLAC__metadata_chain_check_if_tempfile_needed() if the logic here changes.
*/
-static off_t chain_prepare_for_write_(FLAC__Metadata_Chain *chain, FLAC__bool use_padding)
+static FLAC__off_t chain_prepare_for_write_(FLAC__Metadata_Chain *chain, FLAC__bool use_padding)
{
- off_t current_length = chain_calculate_length_(chain);
+ FLAC__off_t current_length = chain_calculate_length_(chain);
+ FLAC__Metadata_Node * i;
+
+ /* Check all is_last settings on the blocks */
+ for(i = chain->head; i->next != NULL; i = i->next)
+ i->data->is_last = 0;
+ chain->tail->data->is_last = 1;
if(use_padding) {
/* if the metadata shrank and the last block is padding, we just extend the last padding block */
if(current_length < chain->initial_length && chain->tail->data->type == FLAC__METADATA_TYPE_PADDING) {
- const off_t delta = chain->initial_length - current_length;
+ const FLAC__off_t delta = chain->initial_length - current_length;
chain->tail->data->length += delta;
current_length += delta;
FLAC__ASSERT(current_length == chain->initial_length);
}
/* if the metadata shrank more than 4 bytes then there's room to add another padding block */
- else if(current_length + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH <= chain->initial_length) {
+ else if(current_length + (FLAC__off_t)FLAC__STREAM_METADATA_HEADER_LENGTH <= chain->initial_length) {
FLAC__StreamMetadata *padding;
FLAC__Metadata_Node *node;
if(0 == (padding = FLAC__metadata_object_new(FLAC__METADATA_TYPE_PADDING))) {
@@ -1149,16 +1178,16 @@ static off_t chain_prepare_for_write_(FLAC__Metadata_Chain *chain, FLAC__bool us
}
/* if the metadata grew but the last block is padding, try cutting the padding to restore the original length so we don't have to rewrite the whole file */
else if(current_length > chain->initial_length) {
- const off_t delta = current_length - chain->initial_length;
+ const FLAC__off_t delta = current_length - chain->initial_length;
if(chain->tail->data->type == FLAC__METADATA_TYPE_PADDING) {
/* if the delta is exactly the size of the last padding block, remove the padding block */
- if((off_t)chain->tail->data->length + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH == delta) {
+ if((FLAC__off_t)chain->tail->data->length + (FLAC__off_t)FLAC__STREAM_METADATA_HEADER_LENGTH == delta) {
chain_delete_node_(chain, chain->tail);
current_length = chain_calculate_length_(chain);
FLAC__ASSERT(current_length == chain->initial_length);
}
/* if there is at least 'delta' bytes of padding, trim the padding down */
- else if((off_t)chain->tail->data->length >= delta) {
+ else if((FLAC__off_t)chain->tail->data->length >= delta) {
chain->tail->data->length -= delta;
current_length -= delta;
FLAC__ASSERT(current_length == chain->initial_length);
@@ -1167,9 +1196,29 @@ static off_t chain_prepare_for_write_(FLAC__Metadata_Chain *chain, FLAC__bool us
}
}
+ /* check sizes of all metadata blocks; reduce padding size if necessary */
+ {
+ FLAC__Metadata_Node *node;
+ for (node = chain->head; node; node = node->next) {
+ if(node->data->length >= (1u << FLAC__STREAM_METADATA_LENGTH_LEN)) {
+ if(node->data->type == FLAC__METADATA_TYPE_PADDING) {
+ node->data->length = (1u << FLAC__STREAM_METADATA_LENGTH_LEN) - 1;
+ current_length = chain_calculate_length_(chain);
+ } else {
+ chain->status = FLAC__METADATA_CHAIN_STATUS_BAD_METADATA;
+ return 0;
+ }
+ }
+ }
+ }
+
return current_length;
}
+#if defined(_MSC_VER)
+#pragma warning ( default : 4244 )
+#endif
+
static FLAC__bool chain_read_cb_(FLAC__Metadata_Chain *chain, FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__IOCallback_Seek seek_cb, FLAC__IOCallback_Tell tell_cb)
{
FLAC__Metadata_Node *node;
@@ -1201,13 +1250,13 @@ static FLAC__bool chain_read_cb_(FLAC__Metadata_Chain *chain, FLAC__IOHandle han
chain->status = FLAC__METADATA_CHAIN_STATUS_READ_ERROR;
return false;
}
- chain->first_offset = (off_t)pos;
+ chain->first_offset = (FLAC__off_t)pos;
}
{
FLAC__bool is_last;
FLAC__MetadataType type;
- unsigned length;
+ uint32_t length;
do {
node = node_new_();
@@ -1217,6 +1266,7 @@ static FLAC__bool chain_read_cb_(FLAC__Metadata_Chain *chain, FLAC__IOHandle han
}
if(!read_metadata_block_header_cb_(handle, read_cb, &is_last, &type, &length)) {
+ node_delete_(node);
chain->status = FLAC__METADATA_CHAIN_STATUS_READ_ERROR;
return false;
}
@@ -1246,7 +1296,12 @@ static FLAC__bool chain_read_cb_(FLAC__Metadata_Chain *chain, FLAC__IOHandle han
chain->status = FLAC__METADATA_CHAIN_STATUS_READ_ERROR;
return false;
}
- chain->last_offset = (off_t)pos;
+ chain->last_offset = (FLAC__off_t)pos;
+ }
+
+ if(chain->head->data->type != FLAC__METADATA_TYPE_STREAMINFO) {
+ chain->status = FLAC__METADATA_CHAIN_STATUS_BAD_METADATA;
+ return false;
}
chain->initial_length = chain_calculate_length_(chain);
@@ -1341,6 +1396,12 @@ static FLAC__bool chain_read_ogg_cb_(FLAC__Metadata_Chain *chain, FLAC__IOHandle
chain->initial_length = chain_calculate_length_(chain);
+ if(chain->initial_length == 0 || chain->head->data->type != FLAC__METADATA_TYPE_STREAMINFO) {
+ /* Ogg FLAC file must have at least streaminfo and vorbis comment */
+ chain->status = FLAC__METADATA_CHAIN_STATUS_BAD_METADATA;
+ return false;
+ }
+
return true;
}
@@ -1380,7 +1441,7 @@ static FLAC__bool chain_rewrite_metadata_in_place_(FLAC__Metadata_Chain *chain)
FLAC__ASSERT(0 != chain->filename);
- if(0 == (file = fopen(chain->filename, "r+b"))) {
+ if(0 == (file = flac_fopen(chain->filename, "r+b"))) {
chain->status = FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE;
return false;
}
@@ -1395,7 +1456,7 @@ static FLAC__bool chain_rewrite_metadata_in_place_(FLAC__Metadata_Chain *chain)
static FLAC__bool chain_rewrite_file_(FLAC__Metadata_Chain *chain, const char *tempfile_path_prefix)
{
- FILE *f, *tempfile;
+ FILE *f, *tempfile = NULL;
char *tempfilename;
FLAC__Metadata_SimpleIteratorStatus status;
const FLAC__Metadata_Node *node;
@@ -1405,44 +1466,40 @@ static FLAC__bool chain_rewrite_file_(FLAC__Metadata_Chain *chain, const char *t
FLAC__ASSERT(0 != chain->head);
/* copy the file prefix (data up to first metadata block */
- if(0 == (f = fopen(chain->filename, "rb"))) {
+ if(0 == (f = flac_fopen(chain->filename, "rb"))) {
chain->status = FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE;
return false;
}
if(!open_tempfile_(chain->filename, tempfile_path_prefix, &tempfile, &tempfilename, &status)) {
chain->status = get_equivalent_status_(status);
- cleanup_tempfile_(&tempfile, &tempfilename);
- return false;
+ goto err;
}
if(!copy_n_bytes_from_file_(f, tempfile, chain->first_offset, &status)) {
chain->status = get_equivalent_status_(status);
- cleanup_tempfile_(&tempfile, &tempfilename);
- return false;
+ goto err;
}
/* write the metadata */
for(node = chain->head; node; node = node->next) {
if(!write_metadata_block_header_(tempfile, &status, node->data)) {
chain->status = get_equivalent_status_(status);
- return false;
+ goto err;
}
if(!write_metadata_block_data_(tempfile, &status, node->data)) {
chain->status = get_equivalent_status_(status);
- return false;
+ goto err;
}
}
/*FLAC__ASSERT(fflush(), ftello() == chain->last_offset);*/
/* copy the file postfix (everything after the metadata) */
if(0 != fseeko(f, chain->last_offset, SEEK_SET)) {
- cleanup_tempfile_(&tempfile, &tempfilename);
chain->status = FLAC__METADATA_CHAIN_STATUS_SEEK_ERROR;
- return false;
+ goto err;
}
if(!copy_remaining_bytes_from_file_(f, tempfile, &status)) {
- cleanup_tempfile_(&tempfile, &tempfilename);
chain->status = get_equivalent_status_(status);
- return false;
+ goto err;
}
/* move the tempfile on top of the original */
@@ -1451,6 +1508,11 @@ static FLAC__bool chain_rewrite_file_(FLAC__Metadata_Chain *chain, const char *t
return false;
return true;
+
+err:
+ (void)fclose(f);
+ cleanup_tempfile_(&tempfile, &tempfilename);
+ return false;
}
/* assumes 'handle' is already at beginning of file */
@@ -1497,7 +1559,7 @@ static FLAC__bool chain_rewrite_file_cb_(FLAC__Metadata_Chain *chain, FLAC__IOHa
FLAC_API FLAC__Metadata_Chain *FLAC__metadata_chain_new(void)
{
- FLAC__Metadata_Chain *chain = (FLAC__Metadata_Chain*)calloc(1, sizeof(FLAC__Metadata_Chain));
+ FLAC__Metadata_Chain *chain = calloc(1, sizeof(FLAC__Metadata_Chain));
if(0 != chain)
chain_init_(chain);
@@ -1542,7 +1604,7 @@ static FLAC__bool chain_read_(FLAC__Metadata_Chain *chain, const char *filename,
chain->is_ogg = is_ogg;
- if(0 == (file = fopen(filename, "rb"))) {
+ if(0 == (file = flac_fopen(filename, "rb"))) {
chain->status = FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE;
return false;
}
@@ -1610,45 +1672,104 @@ FLAC_API FLAC__bool FLAC__metadata_chain_read_ogg_with_callbacks(FLAC__Metadata_
return chain_read_with_callbacks_(chain, handle, callbacks, /*is_ogg=*/true);
}
+typedef enum {
+ LBS_NONE = 0,
+ LBS_SIZE_CHANGED,
+ LBS_BLOCK_ADDED,
+ LBS_BLOCK_REMOVED
+} LastBlockState;
+
+#if defined(_MSC_VER)
+// silence three MSVC warnings 'conversion from 'conversion from 'const __int64' to 'uint32_t', possible loss of data'
+#pragma warning ( disable : 4244 )
+#endif
+
FLAC_API FLAC__bool FLAC__metadata_chain_check_if_tempfile_needed(FLAC__Metadata_Chain *chain, FLAC__bool use_padding)
{
/* This does all the same checks that are in chain_prepare_for_write_()
* but doesn't actually alter the chain. Make sure to update the logic
* here if chain_prepare_for_write_() changes.
*/
- const off_t current_length = chain_calculate_length_(chain);
+ FLAC__off_t current_length;
+ LastBlockState lbs_state = LBS_NONE;
+ uint32_t lbs_size = 0;
FLAC__ASSERT(0 != chain);
+ current_length = chain_calculate_length_(chain);
+
if(use_padding) {
+ const FLAC__Metadata_Node * const node = chain->tail;
/* if the metadata shrank and the last block is padding, we just extend the last padding block */
- if(current_length < chain->initial_length && chain->tail->data->type == FLAC__METADATA_TYPE_PADDING)
- return false;
+ if(current_length < chain->initial_length && node->data->type == FLAC__METADATA_TYPE_PADDING) {
+ lbs_state = LBS_SIZE_CHANGED;
+ lbs_size = node->data->length + (chain->initial_length - current_length);
+ }
/* if the metadata shrank more than 4 bytes then there's room to add another padding block */
- else if(current_length + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH <= chain->initial_length)
- return false;
+ else if(current_length + (FLAC__off_t)FLAC__STREAM_METADATA_HEADER_LENGTH <= chain->initial_length) {
+ lbs_state = LBS_BLOCK_ADDED;
+ lbs_size = chain->initial_length - (current_length + (FLAC__off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
+ }
/* if the metadata grew but the last block is padding, try cutting the padding to restore the original length so we don't have to rewrite the whole file */
else if(current_length > chain->initial_length) {
- const off_t delta = current_length - chain->initial_length;
- if(chain->tail->data->type == FLAC__METADATA_TYPE_PADDING) {
+ const FLAC__off_t delta = current_length - chain->initial_length;
+ if(node->data->type == FLAC__METADATA_TYPE_PADDING) {
/* if the delta is exactly the size of the last padding block, remove the padding block */
- if((off_t)chain->tail->data->length + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH == delta)
- return false;
+ if((FLAC__off_t)node->data->length + (FLAC__off_t)FLAC__STREAM_METADATA_HEADER_LENGTH == delta) {
+ lbs_state = LBS_BLOCK_REMOVED;
+ lbs_size = 0;
+ }
/* if there is at least 'delta' bytes of padding, trim the padding down */
- else if((off_t)chain->tail->data->length >= delta)
- return false;
+ else if((FLAC__off_t)node->data->length >= delta) {
+ lbs_state = LBS_SIZE_CHANGED;
+ lbs_size = node->data->length - delta;
+ }
}
}
}
+ current_length = 0;
+ /* check sizes of all metadata blocks; reduce padding size if necessary */
+ {
+ const FLAC__Metadata_Node *node;
+ for(node = chain->head; node; node = node->next) {
+ uint32_t block_len = node->data->length;
+ if(node == chain->tail) {
+ if(lbs_state == LBS_BLOCK_REMOVED)
+ continue;
+ else if(lbs_state == LBS_SIZE_CHANGED)
+ block_len = lbs_size;
+ }
+ if(block_len >= (1u << FLAC__STREAM_METADATA_LENGTH_LEN)) {
+ if(node->data->type == FLAC__METADATA_TYPE_PADDING)
+ block_len = (1u << FLAC__STREAM_METADATA_LENGTH_LEN) - 1;
+ else
+ return false /* the return value doesn't matter */;
+ }
+ current_length += (FLAC__STREAM_METADATA_HEADER_LENGTH + block_len);
+ }
+
+ if(lbs_state == LBS_BLOCK_ADDED) {
+ /* test added padding block */
+ uint32_t block_len = lbs_size;
+ if(block_len >= (1u << FLAC__STREAM_METADATA_LENGTH_LEN))
+ block_len = (1u << FLAC__STREAM_METADATA_LENGTH_LEN) - 1;
+ current_length += (FLAC__STREAM_METADATA_HEADER_LENGTH + block_len);
+ }
+ }
+
return (current_length != chain->initial_length);
}
+#if defined(_MSC_VER)
+#pragma warning ( default : 4244 )
+#endif
+
FLAC_API FLAC__bool FLAC__metadata_chain_write(FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__bool preserve_file_stats)
{
- struct stat stats;
+ struct flac_stat_s stats;
const char *tempfile_path_prefix = 0;
- off_t current_length;
+ FLAC__off_t current_length;
FLAC__ASSERT(0 != chain);
@@ -1697,7 +1818,7 @@ FLAC_API FLAC__bool FLAC__metadata_chain_write(FLAC__Metadata_Chain *chain, FLAC
FLAC_API FLAC__bool FLAC__metadata_chain_write_with_callbacks(FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks)
{
- off_t current_length;
+ FLAC__off_t current_length;
FLAC__ASSERT(0 != chain);
@@ -1734,7 +1855,7 @@ FLAC_API FLAC__bool FLAC__metadata_chain_write_with_callbacks(FLAC__Metadata_Cha
FLAC_API FLAC__bool FLAC__metadata_chain_write_with_callbacks_and_tempfile(FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks, FLAC__IOHandle temp_handle, FLAC__IOCallbacks temp_callbacks)
{
- off_t current_length;
+ FLAC__off_t current_length;
FLAC__ASSERT(0 != chain);
@@ -1806,7 +1927,7 @@ FLAC_API void FLAC__metadata_chain_merge_padding(FLAC__Metadata_Chain *chain)
FLAC_API void FLAC__metadata_chain_sort_padding(FLAC__Metadata_Chain *chain)
{
FLAC__Metadata_Node *node, *save;
- unsigned i;
+ uint32_t i;
FLAC__ASSERT(0 != chain);
@@ -1832,7 +1953,7 @@ FLAC_API void FLAC__metadata_chain_sort_padding(FLAC__Metadata_Chain *chain)
FLAC_API FLAC__Metadata_Iterator *FLAC__metadata_iterator_new(void)
{
- FLAC__Metadata_Iterator *iterator = (FLAC__Metadata_Iterator*)calloc(1, sizeof(FLAC__Metadata_Iterator));
+ FLAC__Metadata_Iterator *iterator = calloc(1, sizeof(FLAC__Metadata_Iterator));
/* calloc() implies:
iterator->current = 0;
@@ -1983,9 +2104,9 @@ FLAC_API FLAC__bool FLAC__metadata_iterator_insert_block_after(FLAC__Metadata_It
*
***************************************************************************/
-void pack_uint32_(FLAC__uint32 val, FLAC__byte *b, unsigned bytes)
+void pack_uint32_(FLAC__uint32 val, FLAC__byte *b, uint32_t bytes)
{
- unsigned i;
+ uint32_t i;
b += bytes;
@@ -1995,9 +2116,9 @@ void pack_uint32_(FLAC__uint32 val, FLAC__byte *b, unsigned bytes)
}
}
-void pack_uint32_little_endian_(FLAC__uint32 val, FLAC__byte *b, unsigned bytes)
+void pack_uint32_little_endian_(FLAC__uint32 val, FLAC__byte *b, uint32_t bytes)
{
- unsigned i;
+ uint32_t i;
for(i = 0; i < bytes; i++) {
*(b++) = (FLAC__byte)(val & 0xff);
@@ -2005,9 +2126,9 @@ void pack_uint32_little_endian_(FLAC__uint32 val, FLAC__byte *b, unsigned bytes)
}
}
-void pack_uint64_(FLAC__uint64 val, FLAC__byte *b, unsigned bytes)
+void pack_uint64_(FLAC__uint64 val, FLAC__byte *b, uint32_t bytes)
{
- unsigned i;
+ uint32_t i;
b += bytes;
@@ -2017,10 +2138,10 @@ void pack_uint64_(FLAC__uint64 val, FLAC__byte *b, unsigned bytes)
}
}
-FLAC__uint32 unpack_uint32_(FLAC__byte *b, unsigned bytes)
+FLAC__uint32 unpack_uint32_(FLAC__byte *b, uint32_t bytes)
{
FLAC__uint32 ret = 0;
- unsigned i;
+ uint32_t i;
for(i = 0; i < bytes; i++)
ret = (ret << 8) | (FLAC__uint32)(*b++);
@@ -2028,10 +2149,10 @@ FLAC__uint32 unpack_uint32_(FLAC__byte *b, unsigned bytes)
return ret;
}
-FLAC__uint32 unpack_uint32_little_endian_(FLAC__byte *b, unsigned bytes)
+FLAC__uint32 unpack_uint32_little_endian_(FLAC__byte *b, uint32_t bytes)
{
FLAC__uint32 ret = 0;
- unsigned i;
+ uint32_t i;
b += bytes;
@@ -2041,10 +2162,10 @@ FLAC__uint32 unpack_uint32_little_endian_(FLAC__byte *b, unsigned bytes)
return ret;
}
-FLAC__uint64 unpack_uint64_(FLAC__byte *b, unsigned bytes)
+FLAC__uint64 unpack_uint64_(FLAC__byte *b, uint32_t bytes)
{
FLAC__uint64 ret = 0;
- unsigned i;
+ uint32_t i;
for(i = 0; i < bytes; i++)
ret = (ret << 8) | (FLAC__uint64)(*b++);
@@ -2075,7 +2196,7 @@ FLAC__bool read_metadata_block_data_(FLAC__Metadata_SimpleIterator *iterator, FL
return (iterator->status == FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK);
}
-FLAC__bool read_metadata_block_header_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__bool *is_last, FLAC__MetadataType *type, unsigned *length)
+FLAC__bool read_metadata_block_header_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__bool *is_last, FLAC__MetadataType *type, uint32_t *length)
{
FLAC__byte raw_header[FLAC__STREAM_METADATA_HEADER_LENGTH];
@@ -2106,7 +2227,7 @@ FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_cb_(FLAC__IOHandle
case FLAC__METADATA_TYPE_SEEKTABLE:
return read_metadata_block_data_seektable_cb_(handle, read_cb, &block->data.seek_table, block->length);
case FLAC__METADATA_TYPE_VORBIS_COMMENT:
- return read_metadata_block_data_vorbis_comment_cb_(handle, read_cb, &block->data.vorbis_comment);
+ return read_metadata_block_data_vorbis_comment_cb_(handle, read_cb, seek_cb, &block->data.vorbis_comment, block->length);
case FLAC__METADATA_TYPE_CUESHEET:
return read_metadata_block_data_cuesheet_cb_(handle, read_cb, &block->data.cue_sheet);
case FLAC__METADATA_TYPE_PICTURE:
@@ -2133,16 +2254,16 @@ FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_streaminfo_cb_(FLAC
block->max_blocksize = unpack_uint32_(b, 2); b += 2;
block->min_framesize = unpack_uint32_(b, 3); b += 3;
block->max_framesize = unpack_uint32_(b, 3); b += 3;
- block->sample_rate = (unpack_uint32_(b, 2) << 4) | ((unsigned)(b[2] & 0xf0) >> 4);
- block->channels = (unsigned)((b[2] & 0x0e) >> 1) + 1;
- block->bits_per_sample = ((((unsigned)(b[2] & 0x01)) << 4) | (((unsigned)(b[3] & 0xf0)) >> 4)) + 1;
+ block->sample_rate = (unpack_uint32_(b, 2) << 4) | ((uint32_t)(b[2] & 0xf0) >> 4);
+ block->channels = (uint32_t)((b[2] & 0x0e) >> 1) + 1;
+ block->bits_per_sample = ((((uint32_t)(b[2] & 0x01)) << 4) | (((uint32_t)(b[3] & 0xf0)) >> 4)) + 1;
block->total_samples = (((FLAC__uint64)(b[3] & 0x0f)) << 32) | unpack_uint64_(b+4, 4);
memcpy(block->md5sum, b+8, 16);
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK;
}
-FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_padding_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Seek seek_cb, FLAC__StreamMetadata_Padding *block, unsigned block_length)
+FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_padding_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Seek seek_cb, FLAC__StreamMetadata_Padding *block, uint32_t block_length)
{
(void)block; /* nothing to do; we don't care about reading the padding bytes */
@@ -2152,9 +2273,9 @@ FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_padding_cb_(FLAC__I
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK;
}
-FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_application_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_Application *block, unsigned block_length)
+FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_application_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_Application *block, uint32_t block_length)
{
- const unsigned id_bytes = FLAC__STREAM_METADATA_APPLICATION_ID_LEN / 8;
+ const uint32_t id_bytes = FLAC__STREAM_METADATA_APPLICATION_ID_LEN / 8;
if(read_cb(block->id, 1, id_bytes, handle) != id_bytes)
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR;
@@ -2168,7 +2289,7 @@ FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_application_cb_(FLA
block->data = 0;
}
else {
- if(0 == (block->data = (FLAC__byte*)malloc(block_length)))
+ if(0 == (block->data = malloc(block_length)))
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR;
if(read_cb(block->data, 1, block_length, handle) != block_length)
@@ -2178,18 +2299,19 @@ FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_application_cb_(FLA
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK;
}
-FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_seektable_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_SeekTable *block, unsigned block_length)
+FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_seektable_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_SeekTable *block, uint32_t block_length)
{
- unsigned i;
+ uint32_t i;
FLAC__byte buffer[FLAC__STREAM_METADATA_SEEKPOINT_LENGTH];
- FLAC__ASSERT(block_length % FLAC__STREAM_METADATA_SEEKPOINT_LENGTH == 0);
+ if(block_length % FLAC__STREAM_METADATA_SEEKPOINT_LENGTH != 0)
+ return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA;
block->num_points = block_length / FLAC__STREAM_METADATA_SEEKPOINT_LENGTH;
if(block->num_points == 0)
block->points = 0;
- else if(0 == (block->points = (FLAC__StreamMetadata_SeekPoint*)safe_malloc_mul_2op_(block->num_points, /*times*/sizeof(FLAC__StreamMetadata_SeekPoint))))
+ else if(0 == (block->points = safe_malloc_mul_2op_p(block->num_points, /*times*/sizeof(FLAC__StreamMetadata_SeekPoint))))
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR;
for(i = 0; i < block->num_points; i++) {
@@ -2204,48 +2326,58 @@ FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_seektable_cb_(FLAC_
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK;
}
-FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_vorbis_comment_entry_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_VorbisComment_Entry *entry)
+FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_vorbis_comment_entry_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_VorbisComment_Entry *entry, uint32_t max_length)
{
- const unsigned entry_length_len = FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN / 8;
+ const uint32_t entry_length_len = FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN / 8;
FLAC__byte buffer[4]; /* magic number is asserted below */
FLAC__ASSERT(FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN / 8 == sizeof(buffer));
+ if(max_length < entry_length_len)
+ return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA;
+
+ max_length -= entry_length_len;
if(read_cb(buffer, 1, entry_length_len, handle) != entry_length_len)
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR;
entry->length = unpack_uint32_little_endian_(buffer, entry_length_len);
+ if(max_length < entry->length) {
+ entry->length = 0;
+ return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA;
+ }
if(0 != entry->entry)
free(entry->entry);
- if(entry->length == 0) {
- entry->entry = 0;
- }
- else {
- if(0 == (entry->entry = (FLAC__byte*)safe_malloc_add_2op_(entry->length, /*+*/1)))
- return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR;
+ if(0 == (entry->entry = safe_malloc_add_2op_(entry->length, /*+*/1)))
+ return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR;
- if(read_cb(entry->entry, 1, entry->length, handle) != entry->length)
- return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR;
+ if(entry->length > 0 && read_cb(entry->entry, 1, entry->length, handle) != entry->length)
+ return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR;
- entry->entry[entry->length] = '\0';
- }
+ entry->entry[entry->length] = '\0';
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK;
}
-FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_vorbis_comment_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_VorbisComment *block)
+FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_vorbis_comment_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__IOCallback_Seek seek_cb, FLAC__StreamMetadata_VorbisComment *block, uint32_t block_length)
{
- unsigned i;
+ uint32_t i;
FLAC__Metadata_SimpleIteratorStatus status;
- const unsigned num_comments_len = FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN / 8;
+ const uint32_t num_comments_len = FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN / 8;
FLAC__byte buffer[4]; /* magic number is asserted below */
FLAC__ASSERT(FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN / 8 == sizeof(buffer));
- if(FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK != (status = read_metadata_block_data_vorbis_comment_entry_cb_(handle, read_cb, &(block->vendor_string))))
+ status = read_metadata_block_data_vorbis_comment_entry_cb_(handle, read_cb, &(block->vendor_string), block_length);
+ if(block_length >= 4)
+ block_length -= 4;
+ if(status == FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA)
+ goto skip;
+ else if(status != FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK)
return status;
+ block_length -= block->vendor_string.length;
+ if(block_length < num_comments_len) goto skip; else block_length -= num_comments_len;
if(read_cb(buffer, 1, num_comments_len, handle) != num_comments_len)
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR;
block->num_comments = unpack_uint32_little_endian_(buffer, num_comments_len);
@@ -2253,20 +2385,40 @@ FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_vorbis_comment_cb_(
if(block->num_comments == 0) {
block->comments = 0;
}
- else if(0 == (block->comments = (FLAC__StreamMetadata_VorbisComment_Entry*)calloc(block->num_comments, sizeof(FLAC__StreamMetadata_VorbisComment_Entry))))
+ else if(block->num_comments > (block_length >> 2)) { /* each comment needs at least 4 byte */
+ block->num_comments = 0;
+ status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA;
+ goto skip;
+ }
+ else if(0 == (block->comments = calloc(block->num_comments, sizeof(FLAC__StreamMetadata_VorbisComment_Entry)))) {
+ block->num_comments = 0;
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR;
+ }
for(i = 0; i < block->num_comments; i++) {
- if(FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK != (status = read_metadata_block_data_vorbis_comment_entry_cb_(handle, read_cb, block->comments + i)))
- return status;
+ status = read_metadata_block_data_vorbis_comment_entry_cb_(handle, read_cb, block->comments + i, block_length);
+ if(block_length >= 4) block_length -= 4;
+ if(status == FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA) {
+ block->num_comments = i;
+ goto skip;
+ }
+ else if(status != FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK) return status;
+ block_length -= block->comments[i].length;
}
- return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK;
+ skip:
+ if(block_length > 0) {
+ /* bad metadata */
+ if(0 != seek_cb(handle, block_length, SEEK_CUR))
+ return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR;
+ }
+
+ return status;
}
FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_cuesheet_track_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_CueSheet_Track *track)
{
- unsigned i, len;
+ uint32_t i, len;
FLAC__byte buffer[32]; /* asserted below that this is big enough */
FLAC__ASSERT(sizeof(buffer) >= sizeof(FLAC__uint64));
@@ -2308,7 +2460,7 @@ FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_cuesheet_track_cb_(
if(track->num_indices == 0) {
track->indices = 0;
}
- else if(0 == (track->indices = (FLAC__StreamMetadata_CueSheet_Index*)calloc(track->num_indices, sizeof(FLAC__StreamMetadata_CueSheet_Index))))
+ else if(0 == (track->indices = calloc(track->num_indices, sizeof(FLAC__StreamMetadata_CueSheet_Index))))
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR;
for(i = 0; i < track->num_indices; i++) {
@@ -2335,7 +2487,7 @@ FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_cuesheet_track_cb_(
FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_cuesheet_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_CueSheet *block)
{
- unsigned i, len;
+ uint32_t i, len;
FLAC__Metadata_SimpleIteratorStatus status;
FLAC__byte buffer[1024]; /* MSVC needs a constant expression so we put a magic number and assert */
@@ -2366,9 +2518,9 @@ FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_cuesheet_cb_(FLAC__
block->num_tracks = unpack_uint32_(buffer, len);
if(block->num_tracks == 0) {
- block->tracks = 0;
+ return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA;
}
- else if(0 == (block->tracks = (FLAC__StreamMetadata_CueSheet_Track*)calloc(block->num_tracks, sizeof(FLAC__StreamMetadata_CueSheet_Track))))
+ else if(0 == (block->tracks = calloc(block->num_tracks, sizeof(FLAC__StreamMetadata_CueSheet_Track))))
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR;
for(i = 0; i < block->num_tracks; i++) {
@@ -2394,10 +2546,13 @@ static FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_picture_cstr
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR;
*length = unpack_uint32_(buffer, length_len);
+ if(*length > (1u << FLAC__STREAM_METADATA_LENGTH_LEN)) /* data cannot be larger than FLAC metadata block */
+ return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA;
+
if(0 != *data)
free(*data);
- if(0 == (*data = (FLAC__byte*)safe_malloc_add_2op_(*length, /*+*/1)))
+ if(0 == (*data = safe_malloc_add_2op_(*length, /*+*/1)))
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR;
if(*length > 0) {
@@ -2465,13 +2620,13 @@ FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_picture_cb_(FLAC__I
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK;
}
-FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_unknown_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_Unknown *block, unsigned block_length)
+FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_unknown_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__StreamMetadata_Unknown *block, uint32_t block_length)
{
if(block_length == 0) {
block->data = 0;
}
else {
- if(0 == (block->data = (FLAC__byte*)malloc(block_length)))
+ if(0 == (block->data = malloc(block_length)))
return FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR;
if(read_cb(block->data, 1, block_length, handle) != block_length)
@@ -2514,6 +2669,9 @@ FLAC__bool write_metadata_block_header_cb_(FLAC__IOHandle handle, FLAC__IOCallba
FLAC__byte buffer[FLAC__STREAM_METADATA_HEADER_LENGTH];
FLAC__ASSERT(block->length < (1u << FLAC__STREAM_METADATA_LENGTH_LEN));
+ /* double protection */
+ if(block->length >= (1u << FLAC__STREAM_METADATA_LENGTH_LEN))
+ return false;
buffer[0] = (block->is_last? 0x80 : 0) | (FLAC__byte)block->type;
pack_uint32_(block->length, buffer + 1, 3);
@@ -2551,8 +2709,8 @@ FLAC__bool write_metadata_block_data_cb_(FLAC__IOHandle handle, FLAC__IOCallback
FLAC__bool write_metadata_block_data_streaminfo_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_StreamInfo *block)
{
FLAC__byte buffer[FLAC__STREAM_METADATA_STREAMINFO_LENGTH];
- const unsigned channels1 = block->channels - 1;
- const unsigned bps1 = block->bits_per_sample - 1;
+ const uint32_t channels1 = block->channels - 1;
+ const uint32_t bps1 = block->bits_per_sample - 1;
/* we are using hardcoded numbers for simplicity but we should
* probably eventually write a bit-level packer and use the
@@ -2575,9 +2733,9 @@ FLAC__bool write_metadata_block_data_streaminfo_cb_(FLAC__IOHandle handle, FLAC_
return true;
}
-FLAC__bool write_metadata_block_data_padding_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_Padding *block, unsigned block_length)
+FLAC__bool write_metadata_block_data_padding_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_Padding *block, uint32_t block_length)
{
- unsigned i, n = block_length;
+ uint32_t i, n = block_length;
FLAC__byte buffer[1024];
(void)block;
@@ -2596,9 +2754,9 @@ FLAC__bool write_metadata_block_data_padding_cb_(FLAC__IOHandle handle, FLAC__IO
return true;
}
-FLAC__bool write_metadata_block_data_application_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_Application *block, unsigned block_length)
+FLAC__bool write_metadata_block_data_application_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_Application *block, uint32_t block_length)
{
- const unsigned id_bytes = FLAC__STREAM_METADATA_APPLICATION_ID_LEN / 8;
+ const uint32_t id_bytes = FLAC__STREAM_METADATA_APPLICATION_ID_LEN / 8;
if(write_cb(block->id, 1, id_bytes, handle) != id_bytes)
return false;
@@ -2613,7 +2771,7 @@ FLAC__bool write_metadata_block_data_application_cb_(FLAC__IOHandle handle, FLAC
FLAC__bool write_metadata_block_data_seektable_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_SeekTable *block)
{
- unsigned i;
+ uint32_t i;
FLAC__byte buffer[FLAC__STREAM_METADATA_SEEKPOINT_LENGTH];
for(i = 0; i < block->num_points; i++) {
@@ -2630,12 +2788,12 @@ FLAC__bool write_metadata_block_data_seektable_cb_(FLAC__IOHandle handle, FLAC__
FLAC__bool write_metadata_block_data_vorbis_comment_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_VorbisComment *block)
{
- unsigned i;
- const unsigned entry_length_len = FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN / 8;
- const unsigned num_comments_len = FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN / 8;
+ uint32_t i;
+ const uint32_t entry_length_len = FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN / 8;
+ const uint32_t num_comments_len = FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN / 8;
FLAC__byte buffer[4]; /* magic number is asserted below */
- FLAC__ASSERT(max(FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN, FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN) / 8 == sizeof(buffer));
+ FLAC__ASSERT(flac_max(FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN, FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN) / 8 == sizeof(buffer));
pack_uint32_little_endian_(block->vendor_string.length, buffer, entry_length_len);
if(write_cb(buffer, 1, entry_length_len, handle) != entry_length_len)
@@ -2660,7 +2818,7 @@ FLAC__bool write_metadata_block_data_vorbis_comment_cb_(FLAC__IOHandle handle, F
FLAC__bool write_metadata_block_data_cuesheet_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_CueSheet *block)
{
- unsigned i, j, len;
+ uint32_t i, j, len;
FLAC__byte buffer[1024]; /* asserted below that this is big enough */
FLAC__ASSERT(sizeof(buffer) >= sizeof(FLAC__uint64));
@@ -2727,17 +2885,17 @@ FLAC__bool write_metadata_block_data_cuesheet_cb_(FLAC__IOHandle handle, FLAC__I
return false;
for(j = 0; j < track->num_indices; j++) {
- FLAC__StreamMetadata_CueSheet_Index *index = track->indices + j;
+ FLAC__StreamMetadata_CueSheet_Index *indx = track->indices + j;
FLAC__ASSERT(FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN % 8 == 0);
len = FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN / 8;
- pack_uint64_(index->offset, buffer, len);
+ pack_uint64_(indx->offset, buffer, len);
if(write_cb(buffer, 1, len, handle) != len)
return false;
FLAC__ASSERT(FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN % 8 == 0);
len = FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN / 8;
- pack_uint32_(index->number, buffer, len);
+ pack_uint32_(indx->number, buffer, len);
if(write_cb(buffer, 1, len, handle) != len)
return false;
@@ -2754,7 +2912,7 @@ FLAC__bool write_metadata_block_data_cuesheet_cb_(FLAC__IOHandle handle, FLAC__I
FLAC__bool write_metadata_block_data_picture_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_Picture *block)
{
- unsigned len;
+ uint32_t len;
size_t slen;
FLAC__byte buffer[4]; /* magic number is asserted below */
@@ -2826,7 +2984,7 @@ FLAC__bool write_metadata_block_data_picture_cb_(FLAC__IOHandle handle, FLAC__IO
return true;
}
-FLAC__bool write_metadata_block_data_unknown_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_Unknown *block, unsigned block_length)
+FLAC__bool write_metadata_block_data_unknown_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Write write_cb, const FLAC__StreamMetadata_Unknown *block, uint32_t block_length)
{
if(write_cb(block->data, 1, block_length, handle) != block_length)
return false;
@@ -2855,7 +3013,7 @@ FLAC__bool write_metadata_block_stationary_(FLAC__Metadata_SimpleIterator *itera
return read_metadata_block_header_(iterator);
}
-FLAC__bool write_metadata_block_stationary_with_padding_(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, unsigned padding_length, FLAC__bool padding_is_last)
+FLAC__bool write_metadata_block_stationary_with_padding_(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, uint32_t padding_length, FLAC__bool padding_is_last)
{
FLAC__StreamMetadata *padding;
@@ -2900,10 +3058,10 @@ FLAC__bool write_metadata_block_stationary_with_padding_(FLAC__Metadata_SimpleIt
FLAC__bool rewrite_whole_file_(FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool append)
{
- FILE *tempfile;
- char *tempfilename;
+ FILE *tempfile = NULL;
+ char *tempfilename = NULL;
int fixup_is_last_code = 0; /* 0 => no need to change any is_last flags */
- off_t fixup_is_last_flag_offset = -1;
+ FLAC__off_t fixup_is_last_flag_offset = -1;
FLAC__ASSERT(0 != block || append == false);
@@ -2974,11 +3132,11 @@ FLAC__bool simple_iterator_pop_(FLAC__Metadata_SimpleIterator *iterator)
* 2: seek error
* 3: not a FLAC file
*/
-unsigned seek_to_first_metadata_block_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__IOCallback_Seek seek_cb)
+uint32_t seek_to_first_metadata_block_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__IOCallback_Seek seek_cb)
{
FLAC__byte buffer[4];
size_t n;
- unsigned i;
+ uint32_t i;
FLAC__ASSERT(FLAC__STREAM_SYNC_LENGTH == sizeof(buffer));
@@ -2990,7 +3148,7 @@ unsigned seek_to_first_metadata_block_cb_(FLAC__IOHandle handle, FLAC__IOCallbac
else if(n != 4)
return 3;
else if(0 == memcmp(buffer, "ID3", 3)) {
- unsigned tag_length = 0;
+ uint32_t tag_length = 0;
/* skip to the tag length */
if(seek_cb(handle, 2, SEEK_CUR) < 0)
@@ -3024,14 +3182,14 @@ unsigned seek_to_first_metadata_block_cb_(FLAC__IOHandle handle, FLAC__IOCallbac
return 3;
}
-unsigned seek_to_first_metadata_block_(FILE *f)
+uint32_t seek_to_first_metadata_block_(FILE *f)
{
return seek_to_first_metadata_block_cb_((FLAC__IOHandle)f, (FLAC__IOCallback_Read)fread, fseek_wrapper_);
}
FLAC__bool simple_iterator_copy_file_prefix_(FLAC__Metadata_SimpleIterator *iterator, FILE **tempfile, char **tempfilename, FLAC__bool append)
{
- const off_t offset_end = append? iterator->offset[iterator->depth] + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH + (off_t)iterator->length : iterator->offset[iterator->depth];
+ const FLAC__off_t offset_end = append? iterator->offset[iterator->depth] + (FLAC__off_t)FLAC__STREAM_METADATA_HEADER_LENGTH + (FLAC__off_t)iterator->length : iterator->offset[iterator->depth];
if(0 != fseeko(iterator->file, 0, SEEK_SET)) {
iterator->status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR;
@@ -3049,12 +3207,12 @@ FLAC__bool simple_iterator_copy_file_prefix_(FLAC__Metadata_SimpleIterator *iter
return true;
}
-FLAC__bool simple_iterator_copy_file_postfix_(FLAC__Metadata_SimpleIterator *iterator, FILE **tempfile, char **tempfilename, int fixup_is_last_code, off_t fixup_is_last_flag_offset, FLAC__bool backup)
+FLAC__bool simple_iterator_copy_file_postfix_(FLAC__Metadata_SimpleIterator *iterator, FILE **tempfile, char **tempfilename, int fixup_is_last_code, FLAC__off_t fixup_is_last_flag_offset, FLAC__bool backup)
{
- off_t save_offset = iterator->offset[iterator->depth];
+ FLAC__off_t save_offset = iterator->offset[iterator->depth];
FLAC__ASSERT(0 != *tempfile);
- if(0 != fseeko(iterator->file, save_offset + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH + (off_t)iterator->length, SEEK_SET)) {
+ if(0 != fseeko(iterator->file, save_offset + (FLAC__off_t)FLAC__STREAM_METADATA_HEADER_LENGTH + (FLAC__off_t)iterator->length, SEEK_SET)) {
cleanup_tempfile_(tempfile, tempfilename);
iterator->status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR;
return false;
@@ -3114,7 +3272,7 @@ FLAC__bool simple_iterator_copy_file_postfix_(FLAC__Metadata_SimpleIterator *ite
if(!simple_iterator_prime_input_(iterator, !iterator->is_writable))
return false;
if(backup) {
- while(iterator->offset[iterator->depth] + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH + (off_t)iterator->length < save_offset)
+ while(iterator->offset[iterator->depth] + (FLAC__off_t)FLAC__STREAM_METADATA_HEADER_LENGTH + (FLAC__off_t)iterator->length < save_offset)
if(!FLAC__metadata_simple_iterator_next(iterator))
return false;
return true;
@@ -3128,14 +3286,14 @@ FLAC__bool simple_iterator_copy_file_postfix_(FLAC__Metadata_SimpleIterator *ite
}
}
-FLAC__bool copy_n_bytes_from_file_(FILE *file, FILE *tempfile, off_t bytes, FLAC__Metadata_SimpleIteratorStatus *status)
+FLAC__bool copy_n_bytes_from_file_(FILE *file, FILE *tempfile, FLAC__off_t bytes, FLAC__Metadata_SimpleIteratorStatus *status)
{
FLAC__byte buffer[8192];
size_t n;
FLAC__ASSERT(bytes >= 0);
while(bytes > 0) {
- n = min(sizeof(buffer), (size_t)bytes);
+ n = flac_min(sizeof(buffer), (size_t)bytes);
if(fread(buffer, 1, n, file) != n) {
*status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR;
return false;
@@ -3150,14 +3308,14 @@ FLAC__bool copy_n_bytes_from_file_(FILE *file, FILE *tempfile, off_t bytes, FLAC
return true;
}
-FLAC__bool copy_n_bytes_from_file_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__IOHandle temp_handle, FLAC__IOCallback_Write temp_write_cb, off_t bytes, FLAC__Metadata_SimpleIteratorStatus *status)
+FLAC__bool copy_n_bytes_from_file_cb_(FLAC__IOHandle handle, FLAC__IOCallback_Read read_cb, FLAC__IOHandle temp_handle, FLAC__IOCallback_Write temp_write_cb, FLAC__off_t bytes, FLAC__Metadata_SimpleIteratorStatus *status)
{
FLAC__byte buffer[8192];
size_t n;
FLAC__ASSERT(bytes >= 0);
while(bytes > 0) {
- n = min(sizeof(buffer), (size_t)bytes);
+ n = flac_min(sizeof(buffer), (size_t)bytes);
if(read_cb(buffer, 1, n, handle) != n) {
*status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR;
return false;
@@ -3212,35 +3370,62 @@ FLAC__bool copy_remaining_bytes_from_file_cb_(FLAC__IOHandle handle, FLAC__IOCal
return true;
}
+static int
+local_snprintf(char *str, size_t size, const char *fmt, ...)
+{
+ va_list va;
+ int rc;
+
+#if defined _MSC_VER
+ if (size == 0)
+ return 1024;
+#endif
+
+ va_start (va, fmt);
+
+#if defined _MSC_VER
+ rc = vsnprintf_s (str, size, _TRUNCATE, fmt, va);
+ if (rc < 0)
+ rc = size - 1;
+#elif defined __MINGW32__
+ rc = __mingw_vsnprintf (str, size, fmt, va);
+#else
+ rc = vsnprintf (str, size, fmt, va);
+#endif
+ va_end (va);
+
+ return rc;
+}
+
FLAC__bool open_tempfile_(const char *filename, const char *tempfile_path_prefix, FILE **tempfile, char **tempfilename, FLAC__Metadata_SimpleIteratorStatus *status)
{
static const char *tempfile_suffix = ".metadata_edit";
if(0 == tempfile_path_prefix) {
- if(0 == (*tempfilename = (char*)safe_malloc_add_3op_(strlen(filename), /*+*/strlen(tempfile_suffix), /*+*/1))) {
+ size_t dest_len = strlen(filename) + strlen(tempfile_suffix) + 1;
+ if(0 == (*tempfilename = safe_malloc_(dest_len))) {
*status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR;
return false;
}
- strcpy(*tempfilename, filename);
- strcat(*tempfilename, tempfile_suffix);
+ local_snprintf(*tempfilename, dest_len, "%s%s", filename, tempfile_suffix);
}
else {
const char *p = strrchr(filename, '/');
+ size_t dest_len;
if(0 == p)
p = filename;
else
p++;
- if(0 == (*tempfilename = (char*)safe_malloc_add_4op_(strlen(tempfile_path_prefix), /*+*/strlen(p), /*+*/strlen(tempfile_suffix), /*+*/2))) {
+ dest_len = strlen(tempfile_path_prefix) + strlen(p) + strlen(tempfile_suffix) + 2;
+
+ if(0 == (*tempfilename = safe_malloc_(dest_len))) {
*status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR;
return false;
}
- strcpy(*tempfilename, tempfile_path_prefix);
- strcat(*tempfilename, "/");
- strcat(*tempfilename, p);
- strcat(*tempfilename, tempfile_suffix);
+ local_snprintf(*tempfilename, dest_len, "%s/%s%s", tempfile_path_prefix, p, tempfile_suffix);
}
- if(0 == (*tempfile = fopen(*tempfilename, "w+b"))) {
+ if(0 == (*tempfile = flac_fopen(*tempfilename, "w+b"))) {
*status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE;
return false;
}
@@ -3261,16 +3446,16 @@ FLAC__bool transport_tempfile_(const char *filename, FILE **tempfile, char **tem
*tempfile = 0;
#if defined _MSC_VER || defined __BORLANDC__ || defined __MINGW32__ || defined __EMX__
- /* on some flavors of windows, rename() will fail if the destination already exists */
- if(unlink(filename) < 0) {
+ /* on some flavors of windows, flac_rename() will fail if the destination already exists */
+ if(flac_unlink(filename) < 0) {
cleanup_tempfile_(tempfile, tempfilename);
*status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_UNLINK_ERROR;
return false;
}
#endif
- /*@@@ to fully support the tempfile_path_prefix we need to update this piece to actually copy across filesystems instead of just rename(): */
- if(0 != rename(*tempfilename, filename)) {
+ /*@@@ to fully support the tempfile_path_prefix we need to update this piece to actually copy across filesystems instead of just flac_rename(): */
+ if(0 != flac_rename(*tempfilename, filename)) {
cleanup_tempfile_(tempfile, tempfilename);
*status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_RENAME_ERROR;
return false;
@@ -3289,39 +3474,45 @@ void cleanup_tempfile_(FILE **tempfile, char **tempfilename)
}
if(0 != *tempfilename) {
- (void)unlink(*tempfilename);
+ (void)flac_unlink(*tempfilename);
free(*tempfilename);
*tempfilename = 0;
}
}
-FLAC__bool get_file_stats_(const char *filename, struct stat *stats)
+FLAC__bool get_file_stats_(const char *filename, struct flac_stat_s *stats)
{
FLAC__ASSERT(0 != filename);
FLAC__ASSERT(0 != stats);
- return (0 == stat(filename, stats));
+ return (0 == flac_stat(filename, stats));
}
-void set_file_stats_(const char *filename, struct stat *stats)
+void set_file_stats_(const char *filename, struct flac_stat_s *stats)
{
+#if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200809L) && !defined(_WIN32)
+ struct timespec srctime[2] = {};
+ srctime[0].tv_sec = stats->st_atime;
+ srctime[1].tv_sec = stats->st_mtime;
+#else
struct utimbuf srctime;
+ srctime.actime = stats->st_atime;
+ srctime.modtime = stats->st_mtime;
+#endif
FLAC__ASSERT(0 != filename);
FLAC__ASSERT(0 != stats);
- srctime.actime = stats->st_atime;
- srctime.modtime = stats->st_mtime;
- (void)chmod(filename, stats->st_mode);
- (void)utime(filename, &srctime);
-#if !defined _MSC_VER && !defined __BORLANDC__ && !defined __MINGW32__ && !defined __EMX__
- (void)chown(filename, stats->st_uid, -1);
- (void)chown(filename, -1, stats->st_gid);
+ (void)flac_chmod(filename, stats->st_mode);
+ (void)flac_utime(filename, &srctime);
+#if !defined _MSC_VER && !defined __BORLANDC__ && !defined __MINGW32__
+ FLAC_CHECK_RETURN(chown(filename, stats->st_uid, -1));
+ FLAC_CHECK_RETURN(chown(filename, -1, stats->st_gid));
#endif
}
int fseek_wrapper_(FLAC__IOHandle handle, FLAC__int64 offset, int whence)
{
- return fseeko((FILE*)handle, (off_t)offset, whence);
+ return fseeko((FILE*)handle, (FLAC__off_t)offset, whence);
}
FLAC__int64 ftell_wrapper_(FLAC__IOHandle handle)
diff --git a/3rdparty/libflac/src/libFLAC/metadata_object.c b/3rdparty/libflac/src/libFLAC/metadata_object.c
index 6f8bccf4563..73e76076e16 100644
--- a/3rdparty/libflac/src/libFLAC/metadata_object.c
+++ b/3rdparty/libflac/src/libFLAC/metadata_object.c
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -37,9 +38,16 @@
#include <string.h>
#include "private/metadata.h"
+#include "private/memory.h"
+#include "private/stream_encoder_framing.h"
#include "FLAC/assert.h"
+#include "FLAC/stream_decoder.h"
#include "share/alloc.h"
+#include "share/compat.h"
+
+/* Alias the first (in share/alloc.h) to the second (in src/libFLAC/memory.c). */
+#define safe_malloc_mul_2op_ safe_malloc_mul_2op_p
/****************************************************************************
@@ -56,19 +64,17 @@
* else ASSERT
* malloc error leaves 'to' unchanged
*/
-static FLAC__bool copy_bytes_(FLAC__byte **to, const FLAC__byte *from, unsigned bytes)
+static FLAC__bool copy_bytes_(FLAC__byte **to, const FLAC__byte *from, uint32_t bytes)
{
- FLAC__ASSERT(0 != to);
- if(bytes > 0 && 0 != from) {
+ FLAC__ASSERT(to != NULL);
+ if (bytes > 0 && from != NULL) {
FLAC__byte *x;
- if(0 == (x = (FLAC__byte*)safe_malloc_(bytes)))
+ if ((x = safe_malloc_(bytes)) == NULL)
return false;
memcpy(x, from, bytes);
*to = x;
}
else {
- FLAC__ASSERT(0 == from);
- FLAC__ASSERT(bytes == 0);
*to = 0;
}
return true;
@@ -76,13 +82,12 @@ static FLAC__bool copy_bytes_(FLAC__byte **to, const FLAC__byte *from, unsigned
#if 0 /* UNUSED */
/* like copy_bytes_(), but free()s the original '*to' if the copy succeeds and the original '*to' is non-NULL */
-static FLAC__bool free_copy_bytes_(FLAC__byte **to, const FLAC__byte *from, unsigned bytes)
+static FLAC__bool free_copy_bytes_(FLAC__byte **to, const FLAC__byte *from, uint32_t bytes)
{
FLAC__byte *copy;
- FLAC__ASSERT(0 != to);
- if(copy_bytes_(&copy, from, bytes)) {
- if(*to)
- free(*to);
+ FLAC__ASSERT(to != NULL);
+ if (copy_bytes_(&copy, from, bytes)) {
+ free(*to);
*to = copy;
return true;
}
@@ -93,10 +98,10 @@ static FLAC__bool free_copy_bytes_(FLAC__byte **to, const FLAC__byte *from, unsi
/* reallocate entry to 1 byte larger and add a terminating NUL */
/* realloc() failure leaves entry unchanged */
-static FLAC__bool ensure_null_terminated_(FLAC__byte **entry, unsigned length)
+static FLAC__bool ensure_null_terminated_(FLAC__byte **entry, uint32_t length)
{
- FLAC__byte *x = (FLAC__byte*)safe_realloc_add_2op_(*entry, length, /*+*/1);
- if(0 != x) {
+ FLAC__byte *x = safe_realloc_nofree_add_2op_(*entry, length, /*+*/1);
+ if (x != NULL) {
x[length] = '\0';
*entry = x;
return true;
@@ -112,10 +117,9 @@ static FLAC__bool ensure_null_terminated_(FLAC__byte **entry, unsigned length)
static FLAC__bool copy_cstring_(char **to, const char *from)
{
char *copy = strdup(from);
- FLAC__ASSERT(to);
- if(copy) {
- if(*to)
- free(*to);
+ FLAC__ASSERT(to != NULL);
+ if (copy) {
+ free(*to);
*to = copy;
return true;
}
@@ -126,14 +130,15 @@ static FLAC__bool copy_cstring_(char **to, const char *from)
static FLAC__bool copy_vcentry_(FLAC__StreamMetadata_VorbisComment_Entry *to, const FLAC__StreamMetadata_VorbisComment_Entry *from)
{
to->length = from->length;
- if(0 == from->entry) {
+ if (from->entry == 0) {
FLAC__ASSERT(from->length == 0);
- to->entry = 0;
+ if ((to->entry = safe_malloc_(1)) == NULL)
+ return false;
+ to->entry[0] = '\0';
}
else {
FLAC__byte *x;
- FLAC__ASSERT(from->length > 0);
- if(0 == (x = (FLAC__byte*)safe_malloc_add_2op_(from->length, /*+*/1)))
+ if ((x = safe_malloc_add_2op_(from->length, /*+*/1)) == NULL)
return false;
memcpy(x, from->entry, from->length);
x[from->length] = '\0';
@@ -145,13 +150,13 @@ static FLAC__bool copy_vcentry_(FLAC__StreamMetadata_VorbisComment_Entry *to, co
static FLAC__bool copy_track_(FLAC__StreamMetadata_CueSheet_Track *to, const FLAC__StreamMetadata_CueSheet_Track *from)
{
memcpy(to, from, sizeof(FLAC__StreamMetadata_CueSheet_Track));
- if(0 == from->indices) {
+ if (from->indices == 0) {
FLAC__ASSERT(from->num_indices == 0);
}
else {
FLAC__StreamMetadata_CueSheet_Index *x;
FLAC__ASSERT(from->num_indices > 0);
- if(0 == (x = (FLAC__StreamMetadata_CueSheet_Index*)safe_malloc_mul_2op_(from->num_indices, /*times*/sizeof(FLAC__StreamMetadata_CueSheet_Index))))
+ if ((x = safe_malloc_mul_2op_p(from->num_indices, /*times*/sizeof(FLAC__StreamMetadata_CueSheet_Index))) == NULL)
return false;
memcpy(x, from->indices, from->num_indices * sizeof(FLAC__StreamMetadata_CueSheet_Index));
to->indices = x;
@@ -161,23 +166,23 @@ static FLAC__bool copy_track_(FLAC__StreamMetadata_CueSheet_Track *to, const FLA
static void seektable_calculate_length_(FLAC__StreamMetadata *object)
{
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_SEEKTABLE);
object->length = object->data.seek_table.num_points * FLAC__STREAM_METADATA_SEEKPOINT_LENGTH;
}
-static FLAC__StreamMetadata_SeekPoint *seekpoint_array_new_(unsigned num_points)
+static FLAC__StreamMetadata_SeekPoint *seekpoint_array_new_(uint32_t num_points)
{
FLAC__StreamMetadata_SeekPoint *object_array;
FLAC__ASSERT(num_points > 0);
- object_array = (FLAC__StreamMetadata_SeekPoint*)safe_malloc_mul_2op_(num_points, /*times*/sizeof(FLAC__StreamMetadata_SeekPoint));
+ object_array = safe_malloc_mul_2op_p(num_points, /*times*/sizeof(FLAC__StreamMetadata_SeekPoint));
- if(0 != object_array) {
- unsigned i;
- for(i = 0; i < num_points; i++) {
+ if (object_array != NULL) {
+ uint32_t i;
+ for (i = 0; i < num_points; i++) {
object_array[i].sample_number = FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER;
object_array[i].stream_offset = 0;
object_array[i].frame_samples = 0;
@@ -189,54 +194,52 @@ static FLAC__StreamMetadata_SeekPoint *seekpoint_array_new_(unsigned num_points)
static void vorbiscomment_calculate_length_(FLAC__StreamMetadata *object)
{
- unsigned i;
+ uint32_t i;
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_VORBIS_COMMENT);
object->length = (FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN) / 8;
object->length += object->data.vorbis_comment.vendor_string.length;
object->length += (FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN) / 8;
- for(i = 0; i < object->data.vorbis_comment.num_comments; i++) {
+ for (i = 0; i < object->data.vorbis_comment.num_comments; i++) {
object->length += (FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN / 8);
object->length += object->data.vorbis_comment.comments[i].length;
}
}
-static FLAC__StreamMetadata_VorbisComment_Entry *vorbiscomment_entry_array_new_(unsigned num_comments)
+static FLAC__StreamMetadata_VorbisComment_Entry *vorbiscomment_entry_array_new_(uint32_t num_comments)
{
FLAC__ASSERT(num_comments > 0);
- return (FLAC__StreamMetadata_VorbisComment_Entry*)safe_calloc_(num_comments, sizeof(FLAC__StreamMetadata_VorbisComment_Entry));
+ return safe_calloc_(num_comments, sizeof(FLAC__StreamMetadata_VorbisComment_Entry));
}
-static void vorbiscomment_entry_array_delete_(FLAC__StreamMetadata_VorbisComment_Entry *object_array, unsigned num_comments)
+static void vorbiscomment_entry_array_delete_(FLAC__StreamMetadata_VorbisComment_Entry *object_array, uint32_t num_comments)
{
- unsigned i;
+ uint32_t i;
- FLAC__ASSERT(0 != object_array && num_comments > 0);
+ FLAC__ASSERT(object_array != NULL);
- for(i = 0; i < num_comments; i++)
- if(0 != object_array[i].entry)
- free(object_array[i].entry);
+ for (i = 0; i < num_comments; i++)
+ free(object_array[i].entry);
- if(0 != object_array)
- free(object_array);
+ free(object_array);
}
-static FLAC__StreamMetadata_VorbisComment_Entry *vorbiscomment_entry_array_copy_(const FLAC__StreamMetadata_VorbisComment_Entry *object_array, unsigned num_comments)
+static FLAC__StreamMetadata_VorbisComment_Entry *vorbiscomment_entry_array_copy_(const FLAC__StreamMetadata_VorbisComment_Entry *object_array, uint32_t num_comments)
{
FLAC__StreamMetadata_VorbisComment_Entry *return_array;
- FLAC__ASSERT(0 != object_array);
+ FLAC__ASSERT(object_array != NULL);
FLAC__ASSERT(num_comments > 0);
return_array = vorbiscomment_entry_array_new_(num_comments);
- if(0 != return_array) {
- unsigned i;
+ if (return_array != NULL) {
+ uint32_t i;
- for(i = 0; i < num_comments; i++) {
- if(!copy_vcentry_(return_array+i, object_array+i)) {
+ for (i = 0; i < num_comments; i++) {
+ if (!copy_vcentry_(return_array+i, object_array+i)) {
vorbiscomment_entry_array_delete_(return_array, num_comments);
return 0;
}
@@ -250,18 +253,18 @@ static FLAC__bool vorbiscomment_set_entry_(FLAC__StreamMetadata *object, FLAC__S
{
FLAC__byte *save;
- FLAC__ASSERT(0 != object);
- FLAC__ASSERT(0 != dest);
- FLAC__ASSERT(0 != src);
+ FLAC__ASSERT(object != NULL);
+ FLAC__ASSERT(dest != NULL);
+ FLAC__ASSERT(src != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_VORBIS_COMMENT);
- FLAC__ASSERT((0 != src->entry && src->length > 0) || (0 == src->entry && src->length == 0));
+ FLAC__ASSERT((src->entry != NULL && src->length > 0) || (src->entry == NULL && src->length == 0));
save = dest->entry;
- if(0 != src->entry && src->length > 0) {
- if(copy) {
+ if (src->entry != NULL) {
+ if (copy) {
/* do the copy first so that if we fail we leave the dest object untouched */
- if(!copy_vcentry_(dest, src))
+ if (!copy_vcentry_(dest, src))
return false;
}
else {
@@ -275,7 +278,7 @@ static FLAC__bool vorbiscomment_set_entry_(FLAC__StreamMetadata *object, FLAC__S
* precise, the 'own' flavor would be a separate function with a
* non-const source pointer. But it's not, so we hack away.
*/
- if(!ensure_null_terminated_((FLAC__byte**)(&src->entry), src->length))
+ if (!ensure_null_terminated_((FLAC__byte**)(&src->entry), src->length))
return false;
*dest = *src;
}
@@ -285,23 +288,22 @@ static FLAC__bool vorbiscomment_set_entry_(FLAC__StreamMetadata *object, FLAC__S
*dest = *src;
}
- if(0 != save)
- free(save);
+ free(save);
vorbiscomment_calculate_length_(object);
return true;
}
-static int vorbiscomment_find_entry_from_(const FLAC__StreamMetadata *object, unsigned offset, const char *field_name, unsigned field_name_length)
+static int vorbiscomment_find_entry_from_(const FLAC__StreamMetadata *object, uint32_t offset, const char *field_name, uint32_t field_name_length)
{
- unsigned i;
+ uint32_t i;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_VORBIS_COMMENT);
- FLAC__ASSERT(0 != field_name);
+ FLAC__ASSERT(field_name != NULL);
- for(i = offset; i < object->data.vorbis_comment.num_comments; i++) {
- if(FLAC__metadata_object_vorbiscomment_entry_matches(object->data.vorbis_comment.comments[i], field_name, field_name_length))
+ for (i = offset; i < object->data.vorbis_comment.num_comments; i++) {
+ if (FLAC__metadata_object_vorbiscomment_entry_matches(object->data.vorbis_comment.comments[i], field_name, field_name_length))
return (int)i;
}
@@ -310,7 +312,7 @@ static int vorbiscomment_find_entry_from_(const FLAC__StreamMetadata *object, un
static void cuesheet_calculate_length_(FLAC__StreamMetadata *object)
{
- unsigned i;
+ uint32_t i;
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_CUESHEET);
@@ -332,7 +334,7 @@ static void cuesheet_calculate_length_(FLAC__StreamMetadata *object)
FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN
) / 8;
- for(i = 0; i < object->data.cue_sheet.num_tracks; i++) {
+ for (i = 0; i < object->data.cue_sheet.num_tracks; i++) {
object->length += object->data.cue_sheet.tracks[i].num_indices * (
FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN +
FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN +
@@ -341,51 +343,50 @@ static void cuesheet_calculate_length_(FLAC__StreamMetadata *object)
}
}
-static FLAC__StreamMetadata_CueSheet_Index *cuesheet_track_index_array_new_(unsigned num_indices)
+static FLAC__StreamMetadata_CueSheet_Index *cuesheet_track_index_array_new_(uint32_t num_indices)
{
FLAC__ASSERT(num_indices > 0);
- return (FLAC__StreamMetadata_CueSheet_Index*)safe_calloc_(num_indices, sizeof(FLAC__StreamMetadata_CueSheet_Index));
+ return safe_calloc_(num_indices, sizeof(FLAC__StreamMetadata_CueSheet_Index));
}
-static FLAC__StreamMetadata_CueSheet_Track *cuesheet_track_array_new_(unsigned num_tracks)
+static FLAC__StreamMetadata_CueSheet_Track *cuesheet_track_array_new_(uint32_t num_tracks)
{
FLAC__ASSERT(num_tracks > 0);
- return (FLAC__StreamMetadata_CueSheet_Track*)safe_calloc_(num_tracks, sizeof(FLAC__StreamMetadata_CueSheet_Track));
+ return safe_calloc_(num_tracks, sizeof(FLAC__StreamMetadata_CueSheet_Track));
}
-static void cuesheet_track_array_delete_(FLAC__StreamMetadata_CueSheet_Track *object_array, unsigned num_tracks)
+static void cuesheet_track_array_delete_(FLAC__StreamMetadata_CueSheet_Track *object_array, uint32_t num_tracks)
{
- unsigned i;
+ uint32_t i;
- FLAC__ASSERT(0 != object_array && num_tracks > 0);
+ FLAC__ASSERT(object_array != NULL && num_tracks > 0);
- for(i = 0; i < num_tracks; i++) {
- if(0 != object_array[i].indices) {
+ for (i = 0; i < num_tracks; i++) {
+ if (object_array[i].indices != 0) {
FLAC__ASSERT(object_array[i].num_indices > 0);
free(object_array[i].indices);
}
}
- if(0 != object_array)
- free(object_array);
+ free(object_array);
}
-static FLAC__StreamMetadata_CueSheet_Track *cuesheet_track_array_copy_(const FLAC__StreamMetadata_CueSheet_Track *object_array, unsigned num_tracks)
+static FLAC__StreamMetadata_CueSheet_Track *cuesheet_track_array_copy_(const FLAC__StreamMetadata_CueSheet_Track *object_array, uint32_t num_tracks)
{
FLAC__StreamMetadata_CueSheet_Track *return_array;
- FLAC__ASSERT(0 != object_array);
+ FLAC__ASSERT(object_array != NULL);
FLAC__ASSERT(num_tracks > 0);
return_array = cuesheet_track_array_new_(num_tracks);
- if(0 != return_array) {
- unsigned i;
+ if (return_array != NULL) {
+ uint32_t i;
- for(i = 0; i < num_tracks; i++) {
- if(!copy_track_(return_array+i, object_array+i)) {
+ for (i = 0; i < num_tracks; i++) {
+ if (!copy_track_(return_array+i, object_array+i)) {
cuesheet_track_array_delete_(return_array, num_tracks);
return 0;
}
@@ -399,25 +400,24 @@ static FLAC__bool cuesheet_set_track_(FLAC__StreamMetadata *object, FLAC__Stream
{
FLAC__StreamMetadata_CueSheet_Index *save;
- FLAC__ASSERT(0 != object);
- FLAC__ASSERT(0 != dest);
- FLAC__ASSERT(0 != src);
+ FLAC__ASSERT(object != NULL);
+ FLAC__ASSERT(dest != NULL);
+ FLAC__ASSERT(src != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_CUESHEET);
- FLAC__ASSERT((0 != src->indices && src->num_indices > 0) || (0 == src->indices && src->num_indices == 0));
+ FLAC__ASSERT((src->indices != NULL && src->num_indices > 0) || (src->indices == NULL && src->num_indices == 0));
save = dest->indices;
/* do the copy first so that if we fail we leave the object untouched */
- if(copy) {
- if(!copy_track_(dest, src))
+ if (copy) {
+ if (!copy_track_(dest, src))
return false;
}
else {
*dest = *src;
}
- if(0 != save)
- free(save);
+ free(save);
cuesheet_calculate_length_(object);
return true;
@@ -434,11 +434,11 @@ FLAC_API FLAC__StreamMetadata *FLAC__metadata_object_new(FLAC__MetadataType type
{
FLAC__StreamMetadata *object;
- if(type > FLAC__MAX_METADATA_TYPE_CODE)
+ if (type > FLAC__MAX_METADATA_TYPE)
return 0;
- object = (FLAC__StreamMetadata*)calloc(1, sizeof(FLAC__StreamMetadata));
- if(0 != object) {
+ object = calloc(1, sizeof(FLAC__StreamMetadata));
+ if (object != NULL) {
object->is_last = false;
object->type = type;
switch(type) {
@@ -464,8 +464,8 @@ FLAC_API FLAC__StreamMetadata *FLAC__metadata_object_new(FLAC__MetadataType type
*/
break;
case FLAC__METADATA_TYPE_VORBIS_COMMENT:
- object->data.vorbis_comment.vendor_string.length = (unsigned)strlen(FLAC__VENDOR_STRING);
- if(!copy_bytes_(&object->data.vorbis_comment.vendor_string.entry, (const FLAC__byte*)FLAC__VENDOR_STRING, object->data.vorbis_comment.vendor_string.length+1)) {
+ object->data.vorbis_comment.vendor_string.length = (uint32_t)strlen(FLAC__VENDOR_STRING);
+ if (!copy_bytes_(&object->data.vorbis_comment.vendor_string.entry, (const FLAC__byte*)FLAC__VENDOR_STRING, object->data.vorbis_comment.vendor_string.length+1)) {
free(object);
return 0;
}
@@ -498,13 +498,12 @@ FLAC_API FLAC__StreamMetadata *FLAC__metadata_object_new(FLAC__MetadataType type
object->data.picture.data = 0;
*/
/* now initialize mime_type and description with empty strings to make things easier on the client */
- if(!copy_cstring_(&object->data.picture.mime_type, "")) {
+ if (!copy_cstring_(&object->data.picture.mime_type, "")) {
free(object);
return 0;
}
- if(!copy_cstring_((char**)(&object->data.picture.description), "")) {
- if(object->data.picture.mime_type)
- free(object->data.picture.mime_type);
+ if (!copy_cstring_((char**)(&object->data.picture.description), "")) {
+ free(object->data.picture.mime_type);
free(object);
return 0;
}
@@ -525,9 +524,9 @@ FLAC_API FLAC__StreamMetadata *FLAC__metadata_object_clone(const FLAC__StreamMet
{
FLAC__StreamMetadata *to;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
- if(0 != (to = FLAC__metadata_object_new(object->type))) {
+ if ((to = FLAC__metadata_object_new(object->type)) != NULL) {
to->is_last = object->is_last;
to->type = object->type;
to->length = object->length;
@@ -538,44 +537,43 @@ FLAC_API FLAC__StreamMetadata *FLAC__metadata_object_clone(const FLAC__StreamMet
case FLAC__METADATA_TYPE_PADDING:
break;
case FLAC__METADATA_TYPE_APPLICATION:
- if(to->length < FLAC__STREAM_METADATA_APPLICATION_ID_LEN / 8) { /* underflow check */
+ if (to->length < FLAC__STREAM_METADATA_APPLICATION_ID_LEN / 8) { /* underflow check */
FLAC__metadata_object_delete(to);
return 0;
}
memcpy(&to->data.application.id, &object->data.application.id, FLAC__STREAM_METADATA_APPLICATION_ID_LEN / 8);
- if(!copy_bytes_(&to->data.application.data, object->data.application.data, object->length - FLAC__STREAM_METADATA_APPLICATION_ID_LEN / 8)) {
+ if (!copy_bytes_(&to->data.application.data, object->data.application.data, object->length - FLAC__STREAM_METADATA_APPLICATION_ID_LEN / 8)) {
FLAC__metadata_object_delete(to);
return 0;
}
break;
case FLAC__METADATA_TYPE_SEEKTABLE:
to->data.seek_table.num_points = object->data.seek_table.num_points;
- if(to->data.seek_table.num_points > SIZE_MAX / sizeof(FLAC__StreamMetadata_SeekPoint)) { /* overflow check */
+ if (to->data.seek_table.num_points > UINT32_MAX / sizeof(FLAC__StreamMetadata_SeekPoint)) { /* overflow check */
FLAC__metadata_object_delete(to);
return 0;
}
- if(!copy_bytes_((FLAC__byte**)&to->data.seek_table.points, (FLAC__byte*)object->data.seek_table.points, object->data.seek_table.num_points * sizeof(FLAC__StreamMetadata_SeekPoint))) {
+ if (!copy_bytes_((FLAC__byte**)&to->data.seek_table.points, (FLAC__byte*)object->data.seek_table.points, object->data.seek_table.num_points * sizeof(FLAC__StreamMetadata_SeekPoint))) {
FLAC__metadata_object_delete(to);
return 0;
}
break;
case FLAC__METADATA_TYPE_VORBIS_COMMENT:
- if(0 != to->data.vorbis_comment.vendor_string.entry) {
+ if (to->data.vorbis_comment.vendor_string.entry != NULL) {
free(to->data.vorbis_comment.vendor_string.entry);
to->data.vorbis_comment.vendor_string.entry = 0;
}
- if(!copy_vcentry_(&to->data.vorbis_comment.vendor_string, &object->data.vorbis_comment.vendor_string)) {
+ if (!copy_vcentry_(&to->data.vorbis_comment.vendor_string, &object->data.vorbis_comment.vendor_string)) {
FLAC__metadata_object_delete(to);
return 0;
}
- if(object->data.vorbis_comment.num_comments == 0) {
- FLAC__ASSERT(0 == object->data.vorbis_comment.comments);
+ if (object->data.vorbis_comment.num_comments == 0) {
to->data.vorbis_comment.comments = 0;
}
else {
- FLAC__ASSERT(0 != object->data.vorbis_comment.comments);
to->data.vorbis_comment.comments = vorbiscomment_entry_array_copy_(object->data.vorbis_comment.comments, object->data.vorbis_comment.num_comments);
- if(0 == to->data.vorbis_comment.comments) {
+ if (to->data.vorbis_comment.comments == NULL) {
+ to->data.vorbis_comment.num_comments = 0;
FLAC__metadata_object_delete(to);
return 0;
}
@@ -584,13 +582,13 @@ FLAC_API FLAC__StreamMetadata *FLAC__metadata_object_clone(const FLAC__StreamMet
break;
case FLAC__METADATA_TYPE_CUESHEET:
memcpy(&to->data.cue_sheet, &object->data.cue_sheet, sizeof(FLAC__StreamMetadata_CueSheet));
- if(object->data.cue_sheet.num_tracks == 0) {
- FLAC__ASSERT(0 == object->data.cue_sheet.tracks);
+ if (object->data.cue_sheet.num_tracks == 0) {
+ FLAC__ASSERT(object->data.cue_sheet.tracks == NULL);
}
else {
- FLAC__ASSERT(0 != object->data.cue_sheet.tracks);
+ FLAC__ASSERT(object->data.cue_sheet.tracks != 0);
to->data.cue_sheet.tracks = cuesheet_track_array_copy_(object->data.cue_sheet.tracks, object->data.cue_sheet.num_tracks);
- if(0 == to->data.cue_sheet.tracks) {
+ if (to->data.cue_sheet.tracks == NULL) {
FLAC__metadata_object_delete(to);
return 0;
}
@@ -598,11 +596,11 @@ FLAC_API FLAC__StreamMetadata *FLAC__metadata_object_clone(const FLAC__StreamMet
break;
case FLAC__METADATA_TYPE_PICTURE:
to->data.picture.type = object->data.picture.type;
- if(!copy_cstring_(&to->data.picture.mime_type, object->data.picture.mime_type)) {
+ if (!copy_cstring_(&to->data.picture.mime_type, object->data.picture.mime_type)) {
FLAC__metadata_object_delete(to);
return 0;
}
- if(!copy_cstring_((char**)(&to->data.picture.description), (const char*)object->data.picture.description)) {
+ if (!copy_cstring_((char**)(&to->data.picture.description), (const char*)object->data.picture.description)) {
FLAC__metadata_object_delete(to);
return 0;
}
@@ -611,13 +609,13 @@ FLAC_API FLAC__StreamMetadata *FLAC__metadata_object_clone(const FLAC__StreamMet
to->data.picture.depth = object->data.picture.depth;
to->data.picture.colors = object->data.picture.colors;
to->data.picture.data_length = object->data.picture.data_length;
- if(!copy_bytes_((&to->data.picture.data), object->data.picture.data, object->data.picture.data_length)) {
+ if (!copy_bytes_((&to->data.picture.data), object->data.picture.data, object->data.picture.data_length)) {
FLAC__metadata_object_delete(to);
return 0;
}
break;
default:
- if(!copy_bytes_(&to->data.unknown.data, object->data.unknown.data, object->length)) {
+ if (!copy_bytes_(&to->data.unknown.data, object->data.unknown.data, object->length)) {
FLAC__metadata_object_delete(to);
return 0;
}
@@ -630,58 +628,61 @@ FLAC_API FLAC__StreamMetadata *FLAC__metadata_object_clone(const FLAC__StreamMet
void FLAC__metadata_object_delete_data(FLAC__StreamMetadata *object)
{
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
switch(object->type) {
case FLAC__METADATA_TYPE_STREAMINFO:
case FLAC__METADATA_TYPE_PADDING:
break;
case FLAC__METADATA_TYPE_APPLICATION:
- if(0 != object->data.application.data) {
+ if (object->data.application.data != NULL) {
free(object->data.application.data);
- object->data.application.data = 0;
+ object->data.application.data = NULL;
}
break;
case FLAC__METADATA_TYPE_SEEKTABLE:
- if(0 != object->data.seek_table.points) {
+ if (object->data.seek_table.points != NULL) {
free(object->data.seek_table.points);
- object->data.seek_table.points = 0;
+ object->data.seek_table.points = NULL;
}
break;
case FLAC__METADATA_TYPE_VORBIS_COMMENT:
- if(0 != object->data.vorbis_comment.vendor_string.entry) {
+ if (object->data.vorbis_comment.vendor_string.entry != NULL) {
free(object->data.vorbis_comment.vendor_string.entry);
object->data.vorbis_comment.vendor_string.entry = 0;
}
- if(0 != object->data.vorbis_comment.comments) {
- FLAC__ASSERT(object->data.vorbis_comment.num_comments > 0);
+ if (object->data.vorbis_comment.comments != NULL) {
vorbiscomment_entry_array_delete_(object->data.vorbis_comment.comments, object->data.vorbis_comment.num_comments);
+ object->data.vorbis_comment.comments = NULL;
+ object->data.vorbis_comment.num_comments = 0;
}
break;
case FLAC__METADATA_TYPE_CUESHEET:
- if(0 != object->data.cue_sheet.tracks) {
+ if (object->data.cue_sheet.tracks != NULL) {
FLAC__ASSERT(object->data.cue_sheet.num_tracks > 0);
cuesheet_track_array_delete_(object->data.cue_sheet.tracks, object->data.cue_sheet.num_tracks);
+ object->data.cue_sheet.tracks = NULL;
+ object->data.cue_sheet.num_tracks = 0;
}
break;
case FLAC__METADATA_TYPE_PICTURE:
- if(0 != object->data.picture.mime_type) {
+ if (object->data.picture.mime_type != NULL) {
free(object->data.picture.mime_type);
- object->data.picture.mime_type = 0;
+ object->data.picture.mime_type = NULL;
}
- if(0 != object->data.picture.description) {
+ if (object->data.picture.description != NULL) {
free(object->data.picture.description);
- object->data.picture.description = 0;
+ object->data.picture.description = NULL;
}
- if(0 != object->data.picture.data) {
+ if (object->data.picture.data != NULL) {
free(object->data.picture.data);
- object->data.picture.data = 0;
+ object->data.picture.data = NULL;
}
break;
default:
- if(0 != object->data.unknown.data) {
+ if (object->data.unknown.data != NULL) {
free(object->data.unknown.data);
- object->data.unknown.data = 0;
+ object->data.unknown.data = NULL;
}
break;
}
@@ -695,58 +696,58 @@ FLAC_API void FLAC__metadata_object_delete(FLAC__StreamMetadata *object)
static FLAC__bool compare_block_data_streaminfo_(const FLAC__StreamMetadata_StreamInfo *block1, const FLAC__StreamMetadata_StreamInfo *block2)
{
- if(block1->min_blocksize != block2->min_blocksize)
+ if (block1->min_blocksize != block2->min_blocksize)
return false;
- if(block1->max_blocksize != block2->max_blocksize)
+ if (block1->max_blocksize != block2->max_blocksize)
return false;
- if(block1->min_framesize != block2->min_framesize)
+ if (block1->min_framesize != block2->min_framesize)
return false;
- if(block1->max_framesize != block2->max_framesize)
+ if (block1->max_framesize != block2->max_framesize)
return false;
- if(block1->sample_rate != block2->sample_rate)
+ if (block1->sample_rate != block2->sample_rate)
return false;
- if(block1->channels != block2->channels)
+ if (block1->channels != block2->channels)
return false;
- if(block1->bits_per_sample != block2->bits_per_sample)
+ if (block1->bits_per_sample != block2->bits_per_sample)
return false;
- if(block1->total_samples != block2->total_samples)
+ if (block1->total_samples != block2->total_samples)
return false;
- if(0 != memcmp(block1->md5sum, block2->md5sum, 16))
+ if (memcmp(block1->md5sum, block2->md5sum, 16) != 0)
return false;
return true;
}
-static FLAC__bool compare_block_data_application_(const FLAC__StreamMetadata_Application *block1, const FLAC__StreamMetadata_Application *block2, unsigned block_length)
+static FLAC__bool compare_block_data_application_(const FLAC__StreamMetadata_Application *block1, const FLAC__StreamMetadata_Application *block2, uint32_t block_length)
{
- FLAC__ASSERT(0 != block1);
- FLAC__ASSERT(0 != block2);
+ FLAC__ASSERT(block1 != NULL);
+ FLAC__ASSERT(block2 != NULL);
FLAC__ASSERT(block_length >= sizeof(block1->id));
- if(0 != memcmp(block1->id, block2->id, sizeof(block1->id)))
+ if (memcmp(block1->id, block2->id, sizeof(block1->id)) != 0)
return false;
- if(0 != block1->data && 0 != block2->data)
- return 0 == memcmp(block1->data, block2->data, block_length - sizeof(block1->id));
+ if (block1->data != NULL && block2->data != NULL)
+ return memcmp(block1->data, block2->data, block_length - sizeof(block1->id)) == 0;
else
return block1->data == block2->data;
}
static FLAC__bool compare_block_data_seektable_(const FLAC__StreamMetadata_SeekTable *block1, const FLAC__StreamMetadata_SeekTable *block2)
{
- unsigned i;
+ uint32_t i;
- FLAC__ASSERT(0 != block1);
- FLAC__ASSERT(0 != block2);
+ FLAC__ASSERT(block1 != NULL);
+ FLAC__ASSERT(block2 != NULL);
- if(block1->num_points != block2->num_points)
+ if (block1->num_points != block2->num_points)
return false;
- if(0 != block1->points && 0 != block2->points) {
- for(i = 0; i < block1->num_points; i++) {
- if(block1->points[i].sample_number != block2->points[i].sample_number)
+ if (block1->points != NULL && block2->points != NULL) {
+ for (i = 0; i < block1->num_points; i++) {
+ if (block1->points[i].sample_number != block2->points[i].sample_number)
return false;
- if(block1->points[i].stream_offset != block2->points[i].stream_offset)
+ if (block1->points[i].stream_offset != block2->points[i].stream_offset)
return false;
- if(block1->points[i].frame_samples != block2->points[i].frame_samples)
+ if (block1->points[i].frame_samples != block2->points[i].frame_samples)
return false;
}
return true;
@@ -757,27 +758,27 @@ static FLAC__bool compare_block_data_seektable_(const FLAC__StreamMetadata_SeekT
static FLAC__bool compare_block_data_vorbiscomment_(const FLAC__StreamMetadata_VorbisComment *block1, const FLAC__StreamMetadata_VorbisComment *block2)
{
- unsigned i;
+ uint32_t i;
- if(block1->vendor_string.length != block2->vendor_string.length)
+ if (block1->vendor_string.length != block2->vendor_string.length)
return false;
- if(0 != block1->vendor_string.entry && 0 != block2->vendor_string.entry) {
- if(0 != memcmp(block1->vendor_string.entry, block2->vendor_string.entry, block1->vendor_string.length))
+ if (block1->vendor_string.entry != NULL && block2->vendor_string.entry != NULL) {
+ if (memcmp(block1->vendor_string.entry, block2->vendor_string.entry, block1->vendor_string.length) != 0)
return false;
}
- else if(block1->vendor_string.entry != block2->vendor_string.entry)
+ else if (block1->vendor_string.entry != block2->vendor_string.entry)
return false;
- if(block1->num_comments != block2->num_comments)
+ if (block1->num_comments != block2->num_comments)
return false;
- for(i = 0; i < block1->num_comments; i++) {
- if(0 != block1->comments[i].entry && 0 != block2->comments[i].entry) {
- if(0 != memcmp(block1->comments[i].entry, block2->comments[i].entry, block1->comments[i].length))
+ for (i = 0; i < block1->num_comments; i++) {
+ if (block1->comments[i].entry != NULL && block2->comments[i].entry != NULL) {
+ if (memcmp(block1->comments[i].entry, block2->comments[i].entry, block1->comments[i].length) != 0)
return false;
}
- else if(block1->comments[i].entry != block2->comments[i].entry)
+ else if (block1->comments[i].entry != block2->comments[i].entry)
return false;
}
return true;
@@ -785,99 +786,99 @@ static FLAC__bool compare_block_data_vorbiscomment_(const FLAC__StreamMetadata_V
static FLAC__bool compare_block_data_cuesheet_(const FLAC__StreamMetadata_CueSheet *block1, const FLAC__StreamMetadata_CueSheet *block2)
{
- unsigned i, j;
+ uint32_t i, j;
- if(0 != strcmp(block1->media_catalog_number, block2->media_catalog_number))
+ if (strcmp(block1->media_catalog_number, block2->media_catalog_number) != 0)
return false;
- if(block1->lead_in != block2->lead_in)
+ if (block1->lead_in != block2->lead_in)
return false;
- if(block1->is_cd != block2->is_cd)
+ if (block1->is_cd != block2->is_cd)
return false;
- if(block1->num_tracks != block2->num_tracks)
+ if (block1->num_tracks != block2->num_tracks)
return false;
- if(0 != block1->tracks && 0 != block2->tracks) {
+ if (block1->tracks != NULL && block2->tracks != NULL) {
FLAC__ASSERT(block1->num_tracks > 0);
- for(i = 0; i < block1->num_tracks; i++) {
- if(block1->tracks[i].offset != block2->tracks[i].offset)
+ for (i = 0; i < block1->num_tracks; i++) {
+ if (block1->tracks[i].offset != block2->tracks[i].offset)
return false;
- if(block1->tracks[i].number != block2->tracks[i].number)
+ if (block1->tracks[i].number != block2->tracks[i].number)
return false;
- if(0 != memcmp(block1->tracks[i].isrc, block2->tracks[i].isrc, sizeof(block1->tracks[i].isrc)))
+ if (memcmp(block1->tracks[i].isrc, block2->tracks[i].isrc, sizeof(block1->tracks[i].isrc)) != 0)
return false;
- if(block1->tracks[i].type != block2->tracks[i].type)
+ if (block1->tracks[i].type != block2->tracks[i].type)
return false;
- if(block1->tracks[i].pre_emphasis != block2->tracks[i].pre_emphasis)
+ if (block1->tracks[i].pre_emphasis != block2->tracks[i].pre_emphasis)
return false;
- if(block1->tracks[i].num_indices != block2->tracks[i].num_indices)
+ if (block1->tracks[i].num_indices != block2->tracks[i].num_indices)
return false;
- if(0 != block1->tracks[i].indices && 0 != block2->tracks[i].indices) {
+ if (block1->tracks[i].indices != NULL && block2->tracks[i].indices != NULL) {
FLAC__ASSERT(block1->tracks[i].num_indices > 0);
- for(j = 0; j < block1->tracks[i].num_indices; j++) {
- if(block1->tracks[i].indices[j].offset != block2->tracks[i].indices[j].offset)
+ for (j = 0; j < block1->tracks[i].num_indices; j++) {
+ if (block1->tracks[i].indices[j].offset != block2->tracks[i].indices[j].offset)
return false;
- if(block1->tracks[i].indices[j].number != block2->tracks[i].indices[j].number)
+ if (block1->tracks[i].indices[j].number != block2->tracks[i].indices[j].number)
return false;
}
}
- else if(block1->tracks[i].indices != block2->tracks[i].indices)
+ else if (block1->tracks[i].indices != block2->tracks[i].indices)
return false;
}
}
- else if(block1->tracks != block2->tracks)
+ else if (block1->tracks != block2->tracks)
return false;
return true;
}
static FLAC__bool compare_block_data_picture_(const FLAC__StreamMetadata_Picture *block1, const FLAC__StreamMetadata_Picture *block2)
{
- if(block1->type != block2->type)
+ if (block1->type != block2->type)
return false;
- if(block1->mime_type != block2->mime_type && (0 == block1->mime_type || 0 == block2->mime_type || strcmp(block1->mime_type, block2->mime_type)))
+ if (block1->mime_type != block2->mime_type && (block1->mime_type == 0 || block2->mime_type == 0 || strcmp(block1->mime_type, block2->mime_type)))
return false;
- if(block1->description != block2->description && (0 == block1->description || 0 == block2->description || strcmp((const char *)block1->description, (const char *)block2->description)))
+ if (block1->description != block2->description && (block1->description == 0 || block2->description == 0 || strcmp((const char *)block1->description, (const char *)block2->description)))
return false;
- if(block1->width != block2->width)
+ if (block1->width != block2->width)
return false;
- if(block1->height != block2->height)
+ if (block1->height != block2->height)
return false;
- if(block1->depth != block2->depth)
+ if (block1->depth != block2->depth)
return false;
- if(block1->colors != block2->colors)
+ if (block1->colors != block2->colors)
return false;
- if(block1->data_length != block2->data_length)
+ if (block1->data_length != block2->data_length)
return false;
- if(block1->data != block2->data && (0 == block1->data || 0 == block2->data || memcmp(block1->data, block2->data, block1->data_length)))
+ if (block1->data != block2->data && (block1->data == NULL || block2->data == NULL || memcmp(block1->data, block2->data, block1->data_length)))
return false;
return true;
}
-static FLAC__bool compare_block_data_unknown_(const FLAC__StreamMetadata_Unknown *block1, const FLAC__StreamMetadata_Unknown *block2, unsigned block_length)
+static FLAC__bool compare_block_data_unknown_(const FLAC__StreamMetadata_Unknown *block1, const FLAC__StreamMetadata_Unknown *block2, uint32_t block_length)
{
- FLAC__ASSERT(0 != block1);
- FLAC__ASSERT(0 != block2);
+ FLAC__ASSERT(block1 != NULL);
+ FLAC__ASSERT(block2 != NULL);
- if(0 != block1->data && 0 != block2->data)
- return 0 == memcmp(block1->data, block2->data, block_length);
+ if (block1->data != NULL && block2->data != NULL)
+ return memcmp(block1->data, block2->data, block_length) == 0;
else
return block1->data == block2->data;
}
FLAC_API FLAC__bool FLAC__metadata_object_is_equal(const FLAC__StreamMetadata *block1, const FLAC__StreamMetadata *block2)
{
- FLAC__ASSERT(0 != block1);
- FLAC__ASSERT(0 != block2);
+ FLAC__ASSERT(block1 != NULL);
+ FLAC__ASSERT(block2 != NULL);
- if(block1->type != block2->type) {
+ if (block1->type != block2->type) {
return false;
}
- if(block1->is_last != block2->is_last) {
+ if (block1->is_last != block2->is_last) {
return false;
}
- if(block1->length != block2->length) {
+ if (block1->length != block2->length) {
return false;
}
switch(block1->type) {
@@ -900,42 +901,44 @@ FLAC_API FLAC__bool FLAC__metadata_object_is_equal(const FLAC__StreamMetadata *b
}
}
-FLAC_API FLAC__bool FLAC__metadata_object_application_set_data(FLAC__StreamMetadata *object, FLAC__byte *data, unsigned length, FLAC__bool copy)
+FLAC_API FLAC__bool FLAC__metadata_object_application_set_data(FLAC__StreamMetadata *object, FLAC__byte *data, uint32_t length, FLAC__bool copy)
{
FLAC__byte *save;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_APPLICATION);
- FLAC__ASSERT((0 != data && length > 0) || (0 == data && length == 0 && copy == false));
+ FLAC__ASSERT((data != NULL && length > 0) || (data == NULL && length == 0 && copy == false));
save = object->data.application.data;
/* do the copy first so that if we fail we leave the object untouched */
- if(copy) {
- if(!copy_bytes_(&object->data.application.data, data, length))
+ if (copy) {
+ if (!copy_bytes_(&object->data.application.data, data, length))
return false;
}
else {
object->data.application.data = data;
}
- if(0 != save)
- free(save);
+ free(save);
object->length = FLAC__STREAM_METADATA_APPLICATION_ID_LEN / 8 + length;
return true;
}
-FLAC_API FLAC__bool FLAC__metadata_object_seektable_resize_points(FLAC__StreamMetadata *object, unsigned new_num_points)
+FLAC_API FLAC__bool FLAC__metadata_object_seektable_resize_points(FLAC__StreamMetadata *object, uint32_t new_num_points)
{
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_SEEKTABLE);
- if(0 == object->data.seek_table.points) {
+ if((FLAC__uint64)(new_num_points) * FLAC__STREAM_METADATA_SEEKPOINT_LENGTH >= (1u << FLAC__STREAM_METADATA_LENGTH_LEN))
+ return false;
+
+ if (object->data.seek_table.points == 0) {
FLAC__ASSERT(object->data.seek_table.num_points == 0);
- if(0 == new_num_points)
+ if (new_num_points == 0)
return true;
- else if(0 == (object->data.seek_table.points = seekpoint_array_new_(new_num_points)))
+ else if ((object->data.seek_table.points = seekpoint_array_new_(new_num_points)) == 0)
return false;
}
else {
@@ -943,22 +946,27 @@ FLAC_API FLAC__bool FLAC__metadata_object_seektable_resize_points(FLAC__StreamMe
const size_t new_size = new_num_points * sizeof(FLAC__StreamMetadata_SeekPoint);
/* overflow check */
- if((size_t)new_num_points > SIZE_MAX / sizeof(FLAC__StreamMetadata_SeekPoint))
+ if (new_num_points > UINT32_MAX / sizeof(FLAC__StreamMetadata_SeekPoint))
return false;
FLAC__ASSERT(object->data.seek_table.num_points > 0);
- if(new_size == 0) {
+ if (new_size == 0) {
free(object->data.seek_table.points);
object->data.seek_table.points = 0;
}
- else if(0 == (object->data.seek_table.points = (FLAC__StreamMetadata_SeekPoint*)realloc(object->data.seek_table.points, new_size)))
- return false;
+ else {
+ /* Leave object->data.seek_table.points untouched if realloc fails */
+ FLAC__StreamMetadata_SeekPoint *tmpptr;
+ if ((tmpptr = realloc(object->data.seek_table.points, new_size)) == NULL)
+ return false;
+ object->data.seek_table.points = tmpptr;
+ }
/* if growing, set new elements to placeholders */
- if(new_size > old_size) {
- unsigned i;
- for(i = object->data.seek_table.num_points; i < new_num_points; i++) {
+ if (new_size > old_size) {
+ uint32_t i;
+ for (i = object->data.seek_table.num_points; i < new_num_points; i++) {
object->data.seek_table.points[i].sample_number = FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER;
object->data.seek_table.points[i].stream_offset = 0;
object->data.seek_table.points[i].frame_samples = 0;
@@ -972,28 +980,28 @@ FLAC_API FLAC__bool FLAC__metadata_object_seektable_resize_points(FLAC__StreamMe
return true;
}
-FLAC_API void FLAC__metadata_object_seektable_set_point(FLAC__StreamMetadata *object, unsigned point_num, FLAC__StreamMetadata_SeekPoint point)
+FLAC_API void FLAC__metadata_object_seektable_set_point(FLAC__StreamMetadata *object, uint32_t point_num, FLAC__StreamMetadata_SeekPoint point)
{
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_SEEKTABLE);
FLAC__ASSERT(point_num < object->data.seek_table.num_points);
object->data.seek_table.points[point_num] = point;
}
-FLAC_API FLAC__bool FLAC__metadata_object_seektable_insert_point(FLAC__StreamMetadata *object, unsigned point_num, FLAC__StreamMetadata_SeekPoint point)
+FLAC_API FLAC__bool FLAC__metadata_object_seektable_insert_point(FLAC__StreamMetadata *object, uint32_t point_num, FLAC__StreamMetadata_SeekPoint point)
{
int i;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_SEEKTABLE);
FLAC__ASSERT(point_num <= object->data.seek_table.num_points);
- if(!FLAC__metadata_object_seektable_resize_points(object, object->data.seek_table.num_points+1))
+ if (!FLAC__metadata_object_seektable_resize_points(object, object->data.seek_table.num_points+1))
return false;
/* move all points >= point_num forward one space */
- for(i = (int)object->data.seek_table.num_points-1; i > (int)point_num; i--)
+ for (i = (int)object->data.seek_table.num_points-1; i > (int)point_num; i--)
object->data.seek_table.points[i] = object->data.seek_table.points[i-1];
FLAC__metadata_object_seektable_set_point(object, point_num, point);
@@ -1001,16 +1009,16 @@ FLAC_API FLAC__bool FLAC__metadata_object_seektable_insert_point(FLAC__StreamMet
return true;
}
-FLAC_API FLAC__bool FLAC__metadata_object_seektable_delete_point(FLAC__StreamMetadata *object, unsigned point_num)
+FLAC_API FLAC__bool FLAC__metadata_object_seektable_delete_point(FLAC__StreamMetadata *object, uint32_t point_num)
{
- unsigned i;
+ uint32_t i;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_SEEKTABLE);
FLAC__ASSERT(point_num < object->data.seek_table.num_points);
/* move all points > point_num backward one space */
- for(i = point_num; i < object->data.seek_table.num_points-1; i++)
+ for (i = point_num; i < object->data.seek_table.num_points-1; i++)
object->data.seek_table.points[i] = object->data.seek_table.points[i+1];
return FLAC__metadata_object_seektable_resize_points(object, object->data.seek_table.num_points-1);
@@ -1018,18 +1026,18 @@ FLAC_API FLAC__bool FLAC__metadata_object_seektable_delete_point(FLAC__StreamMet
FLAC_API FLAC__bool FLAC__metadata_object_seektable_is_legal(const FLAC__StreamMetadata *object)
{
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_SEEKTABLE);
return FLAC__format_seektable_is_legal(&object->data.seek_table);
}
-FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_placeholders(FLAC__StreamMetadata *object, unsigned num)
+FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_placeholders(FLAC__StreamMetadata *object, uint32_t num)
{
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_SEEKTABLE);
- if(num > 0)
+ if (num > 0)
/* WATCHOUT: we rely on the fact that growing the array adds PLACEHOLDERS at the end */
return FLAC__metadata_object_seektable_resize_points(object, object->data.seek_table.num_points + num);
else
@@ -1040,12 +1048,12 @@ FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_point(FLAC__
{
FLAC__StreamMetadata_SeekTable *seek_table;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_SEEKTABLE);
seek_table = &object->data.seek_table;
- if(!FLAC__metadata_object_seektable_resize_points(object, seek_table->num_points + 1))
+ if (!FLAC__metadata_object_seektable_resize_points(object, seek_table->num_points + 1))
return false;
seek_table->points[seek_table->num_points - 1].sample_number = sample_number;
@@ -1055,22 +1063,22 @@ FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_point(FLAC__
return true;
}
-FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_points(FLAC__StreamMetadata *object, FLAC__uint64 sample_numbers[], unsigned num)
+FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_points(FLAC__StreamMetadata *object, FLAC__uint64 sample_numbers[], uint32_t num)
{
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_SEEKTABLE);
- FLAC__ASSERT(0 != sample_numbers || num == 0);
+ FLAC__ASSERT(sample_numbers != 0 || num == 0);
- if(num > 0) {
+ if (num > 0) {
FLAC__StreamMetadata_SeekTable *seek_table = &object->data.seek_table;
- unsigned i, j;
+ uint32_t i, j;
i = seek_table->num_points;
- if(!FLAC__metadata_object_seektable_resize_points(object, seek_table->num_points + num))
+ if (!FLAC__metadata_object_seektable_resize_points(object, seek_table->num_points + num))
return false;
- for(j = 0; j < num; i++, j++) {
+ for (j = 0; j < num; i++, j++) {
seek_table->points[i].sample_number = sample_numbers[j];
seek_table->points[i].stream_offset = 0;
seek_table->points[i].frame_samples = 0;
@@ -1080,22 +1088,21 @@ FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_points(FLAC_
return true;
}
-FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_points(FLAC__StreamMetadata *object, unsigned num, FLAC__uint64 total_samples)
+FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_points(FLAC__StreamMetadata *object, uint32_t num, FLAC__uint64 total_samples)
{
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_SEEKTABLE);
- FLAC__ASSERT(total_samples > 0);
- if(num > 0 && total_samples > 0) {
+ if (num > 0 && total_samples > 0) {
FLAC__StreamMetadata_SeekTable *seek_table = &object->data.seek_table;
- unsigned i, j;
+ uint32_t i, j;
i = seek_table->num_points;
- if(!FLAC__metadata_object_seektable_resize_points(object, seek_table->num_points + num))
+ if (!FLAC__metadata_object_seektable_resize_points(object, seek_table->num_points + num))
return false;
- for(j = 0; j < num; i++, j++) {
+ for (j = 0; j < num; i++, j++) {
seek_table->points[i].sample_number = total_samples * (FLAC__uint64)j / (FLAC__uint64)num;
seek_table->points[i].stream_offset = 0;
seek_table->points[i].frame_samples = 0;
@@ -1105,30 +1112,35 @@ FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_point
return true;
}
-FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_points_by_samples(FLAC__StreamMetadata *object, unsigned samples, FLAC__uint64 total_samples)
+FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_points_by_samples(FLAC__StreamMetadata *object, uint32_t samples, FLAC__uint64 total_samples)
{
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_SEEKTABLE);
- FLAC__ASSERT(samples > 0);
- FLAC__ASSERT(total_samples > 0);
- if(samples > 0 && total_samples > 0) {
+ if (samples > 0 && total_samples > 0) {
FLAC__StreamMetadata_SeekTable *seek_table = &object->data.seek_table;
- unsigned i, j;
+ uint32_t i, j;
FLAC__uint64 num, sample;
num = 1 + total_samples / samples; /* 1+ for the first sample at 0 */
/* now account for the fact that we don't place a seekpoint at "total_samples" since samples are number from 0: */
- if(total_samples % samples == 0)
+ if (total_samples % samples == 0)
num--;
+ /* Put a strict upper bound on the number of allowed seek points. */
+ if (num > 32768) {
+ /* Set the bound and recalculate samples accordingly. */
+ num = 32768;
+ samples = (uint32_t)(total_samples / num);
+ }
+
i = seek_table->num_points;
- if(!FLAC__metadata_object_seektable_resize_points(object, seek_table->num_points + (unsigned)num))
+ if (!FLAC__metadata_object_seektable_resize_points(object, seek_table->num_points + (uint32_t)num))
return false;
sample = 0;
- for(j = 0; j < num; i++, j++, sample += samples) {
+ for (j = 0; j < num; i++, j++, sample += samples) {
seek_table->points[i].sample_number = sample;
seek_table->points[i].stream_offset = 0;
seek_table->points[i].frame_samples = 0;
@@ -1140,9 +1152,9 @@ FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_point
FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_sort(FLAC__StreamMetadata *object, FLAC__bool compact)
{
- unsigned unique;
+ uint32_t unique;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_SEEKTABLE);
unique = FLAC__format_seektable_sort(&object->data.seek_table);
@@ -1152,51 +1164,76 @@ FLAC_API FLAC__bool FLAC__metadata_object_seektable_template_sort(FLAC__StreamMe
FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_set_vendor_string(FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
{
- if(!FLAC__format_vorbiscomment_entry_value_is_legal(entry.entry, entry.length))
+ if (!FLAC__format_vorbiscomment_entry_value_is_legal(entry.entry, entry.length))
return false;
return vorbiscomment_set_entry_(object, &object->data.vorbis_comment.vendor_string, &entry, copy);
}
-FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_resize_comments(FLAC__StreamMetadata *object, unsigned new_num_comments)
+FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_resize_comments(FLAC__StreamMetadata *object, uint32_t new_num_comments)
{
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_VORBIS_COMMENT);
- if(0 == object->data.vorbis_comment.comments) {
+ if (object->data.vorbis_comment.comments == NULL) {
FLAC__ASSERT(object->data.vorbis_comment.num_comments == 0);
- if(0 == new_num_comments)
+ if (new_num_comments == 0)
return true;
- else if(0 == (object->data.vorbis_comment.comments = vorbiscomment_entry_array_new_(new_num_comments)))
- return false;
+ else {
+ uint32_t i;
+ if ((object->data.vorbis_comment.comments = vorbiscomment_entry_array_new_(new_num_comments)) == NULL)
+ return false;
+ for (i = 0; i < new_num_comments; i++) {
+ object->data.vorbis_comment.comments[i].length = 0;
+ if ((object->data.vorbis_comment.comments[i].entry = safe_malloc_(1)) == NULL) {
+ object->data.vorbis_comment.num_comments = i+1;
+ return false;
+ }
+ object->data.vorbis_comment.comments[i].entry[0] = '\0';
+ }
+ }
}
else {
const size_t old_size = object->data.vorbis_comment.num_comments * sizeof(FLAC__StreamMetadata_VorbisComment_Entry);
const size_t new_size = new_num_comments * sizeof(FLAC__StreamMetadata_VorbisComment_Entry);
/* overflow check */
- if((size_t)new_num_comments > SIZE_MAX / sizeof(FLAC__StreamMetadata_VorbisComment_Entry))
+ if (new_num_comments > UINT32_MAX / sizeof(FLAC__StreamMetadata_VorbisComment_Entry))
return false;
FLAC__ASSERT(object->data.vorbis_comment.num_comments > 0);
/* if shrinking, free the truncated entries */
- if(new_num_comments < object->data.vorbis_comment.num_comments) {
- unsigned i;
- for(i = new_num_comments; i < object->data.vorbis_comment.num_comments; i++)
- if(0 != object->data.vorbis_comment.comments[i].entry)
+ if (new_num_comments < object->data.vorbis_comment.num_comments) {
+ uint32_t i;
+ for (i = new_num_comments; i < object->data.vorbis_comment.num_comments; i++)
+ if (object->data.vorbis_comment.comments[i].entry != NULL)
free(object->data.vorbis_comment.comments[i].entry);
}
- if(new_size == 0) {
+ if (new_size == 0) {
free(object->data.vorbis_comment.comments);
object->data.vorbis_comment.comments = 0;
}
- else if(0 == (object->data.vorbis_comment.comments = (FLAC__StreamMetadata_VorbisComment_Entry*)realloc(object->data.vorbis_comment.comments, new_size)))
- return false;
+ else {
+ /* Leave object->data.vorbis_comment.comments untouched if realloc fails */
+ FLAC__StreamMetadata_VorbisComment_Entry *tmpptr;
+ if ((tmpptr = realloc(object->data.vorbis_comment.comments, new_size)) == NULL)
+ return false;
+ object->data.vorbis_comment.comments = tmpptr;
+ }
/* if growing, zero all the length/pointers of new elements */
- if(new_size > old_size)
- memset(object->data.vorbis_comment.comments + object->data.vorbis_comment.num_comments, 0, new_size - old_size);
+ if (new_size > old_size) {
+ uint32_t i;
+ for (i = object->data.vorbis_comment.num_comments; i < new_num_comments; i++) {
+ object->data.vorbis_comment.comments[i].length = 0;
+ if ((object->data.vorbis_comment.comments[i].entry = safe_malloc_(1)) == NULL) {
+ object->data.vorbis_comment.num_comments = i+1;
+ return false;
+ }
+ object->data.vorbis_comment.comments[i].entry[0] = '\0';
+ }
+ }
}
object->data.vorbis_comment.num_comments = new_num_comments;
@@ -1205,52 +1242,54 @@ FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_resize_comments(FLAC__St
return true;
}
-FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_set_comment(FLAC__StreamMetadata *object, unsigned comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
+FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_set_comment(FLAC__StreamMetadata *object, uint32_t comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
{
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(comment_num < object->data.vorbis_comment.num_comments);
- if(!FLAC__format_vorbiscomment_entry_is_legal(entry.entry, entry.length))
+ if (!FLAC__format_vorbiscomment_entry_is_legal(entry.entry, entry.length))
return false;
return vorbiscomment_set_entry_(object, &object->data.vorbis_comment.comments[comment_num], &entry, copy);
}
-FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_insert_comment(FLAC__StreamMetadata *object, unsigned comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
+FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_insert_comment(FLAC__StreamMetadata *object, uint32_t comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
{
FLAC__StreamMetadata_VorbisComment *vc;
+ FLAC__StreamMetadata_VorbisComment_Entry temp;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_VORBIS_COMMENT);
FLAC__ASSERT(comment_num <= object->data.vorbis_comment.num_comments);
- if(!FLAC__format_vorbiscomment_entry_is_legal(entry.entry, entry.length))
+ if (!FLAC__format_vorbiscomment_entry_is_legal(entry.entry, entry.length))
return false;
vc = &object->data.vorbis_comment;
- if(!FLAC__metadata_object_vorbiscomment_resize_comments(object, vc->num_comments+1))
+ if (!FLAC__metadata_object_vorbiscomment_resize_comments(object, vc->num_comments+1))
return false;
/* move all comments >= comment_num forward one space */
+ /* reuse newly added empty comment */
+ temp = vc->comments[vc->num_comments-1];
memmove(&vc->comments[comment_num+1], &vc->comments[comment_num], sizeof(FLAC__StreamMetadata_VorbisComment_Entry)*(vc->num_comments-1-comment_num));
- vc->comments[comment_num].length = 0;
- vc->comments[comment_num].entry = 0;
+ vc->comments[comment_num] = temp;
return FLAC__metadata_object_vorbiscomment_set_comment(object, comment_num, entry, copy);
}
FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_append_comment(FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
{
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_VORBIS_COMMENT);
return FLAC__metadata_object_vorbiscomment_insert_comment(object, object->data.vorbis_comment.num_comments, entry, copy);
}
FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_replace_comment(FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool all, FLAC__bool copy)
{
- FLAC__ASSERT(0 != entry.entry && entry.length > 0);
+ FLAC__ASSERT(entry.entry != NULL);
- if(!FLAC__format_vorbiscomment_entry_is_legal(entry.entry, entry.length))
+ if (!FLAC__format_vorbiscomment_entry_is_legal(entry.entry, entry.length))
return false;
{
@@ -1258,23 +1297,26 @@ FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_replace_comment(FLAC__St
size_t field_name_length;
const FLAC__byte *eq = (FLAC__byte*)memchr(entry.entry, '=', entry.length);
- FLAC__ASSERT(0 != eq);
-
- if(0 == eq)
+ if (eq == NULL)
return false; /* double protection */
field_name_length = eq-entry.entry;
- if((i = vorbiscomment_find_entry_from_(object, 0, (const char *)entry.entry, field_name_length)) >= 0) {
- unsigned index = (unsigned)i;
- if(!FLAC__metadata_object_vorbiscomment_set_comment(object, index, entry, copy))
+ i = vorbiscomment_find_entry_from_(object, 0, (const char *)entry.entry, field_name_length);
+ if (i >= 0) {
+ uint32_t indx = (uint32_t)i;
+ if (!FLAC__metadata_object_vorbiscomment_set_comment(object, indx, entry, copy))
return false;
- if(all && (index+1 < object->data.vorbis_comment.num_comments)) {
- for(i = vorbiscomment_find_entry_from_(object, index+1, (const char *)entry.entry, field_name_length); i >= 0; ) {
- if(!FLAC__metadata_object_vorbiscomment_delete_comment(object, (unsigned)i))
+ entry = object->data.vorbis_comment.comments[indx];
+ indx++; /* skip over replaced comment */
+ if (all && indx < object->data.vorbis_comment.num_comments) {
+ i = vorbiscomment_find_entry_from_(object, indx, (const char *)entry.entry, field_name_length);
+ while (i >= 0) {
+ indx = (uint32_t)i;
+ if (!FLAC__metadata_object_vorbiscomment_delete_comment(object, indx))
return false;
- if((unsigned)i < object->data.vorbis_comment.num_comments)
- i = vorbiscomment_find_entry_from_(object, (unsigned)i, (const char *)entry.entry, field_name_length);
+ if (indx < object->data.vorbis_comment.num_comments)
+ i = vorbiscomment_find_entry_from_(object, indx, (const char *)entry.entry, field_name_length);
else
i = -1;
}
@@ -1286,19 +1328,18 @@ FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_replace_comment(FLAC__St
}
}
-FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_delete_comment(FLAC__StreamMetadata *object, unsigned comment_num)
+FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_delete_comment(FLAC__StreamMetadata *object, uint32_t comment_num)
{
FLAC__StreamMetadata_VorbisComment *vc;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_VORBIS_COMMENT);
FLAC__ASSERT(comment_num < object->data.vorbis_comment.num_comments);
vc = &object->data.vorbis_comment;
/* free the comment at comment_num */
- if(0 != vc->comments[comment_num].entry)
- free(vc->comments[comment_num].entry);
+ free(vc->comments[comment_num].entry);
/* move all comments > comment_num backward one space */
memmove(&vc->comments[comment_num], &vc->comments[comment_num+1], sizeof(FLAC__StreamMetadata_VorbisComment_Entry)*(vc->num_comments-comment_num-1));
@@ -1310,49 +1351,49 @@ FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_delete_comment(FLAC__Str
FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair(FLAC__StreamMetadata_VorbisComment_Entry *entry, const char *field_name, const char *field_value)
{
- FLAC__ASSERT(0 != entry);
- FLAC__ASSERT(0 != field_name);
- FLAC__ASSERT(0 != field_value);
+ FLAC__ASSERT(entry != NULL);
+ FLAC__ASSERT(field_name != NULL);
+ FLAC__ASSERT(field_value != NULL);
- if(!FLAC__format_vorbiscomment_entry_name_is_legal(field_name))
+ if (!FLAC__format_vorbiscomment_entry_name_is_legal(field_name))
return false;
- if(!FLAC__format_vorbiscomment_entry_value_is_legal((const FLAC__byte *)field_value, (unsigned)(-1)))
+ if (!FLAC__format_vorbiscomment_entry_value_is_legal((const FLAC__byte *)field_value, (uint32_t)(-1)))
return false;
{
const size_t nn = strlen(field_name);
const size_t nv = strlen(field_value);
entry->length = nn + 1 /*=*/ + nv;
- if(0 == (entry->entry = (FLAC__byte*)safe_malloc_add_4op_(nn, /*+*/1, /*+*/nv, /*+*/1)))
+ if ((entry->entry = safe_malloc_add_4op_(nn, /*+*/1, /*+*/nv, /*+*/1)) == NULL)
return false;
memcpy(entry->entry, field_name, nn);
entry->entry[nn] = '=';
memcpy(entry->entry+nn+1, field_value, nv);
entry->entry[entry->length] = '\0';
}
-
+
return true;
}
FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair(const FLAC__StreamMetadata_VorbisComment_Entry entry, char **field_name, char **field_value)
{
- FLAC__ASSERT(0 != entry.entry && entry.length > 0);
- FLAC__ASSERT(0 != field_name);
- FLAC__ASSERT(0 != field_value);
+ FLAC__ASSERT(entry.entry != NULL);
+ FLAC__ASSERT(field_name != NULL);
+ FLAC__ASSERT(field_value != NULL);
- if(!FLAC__format_vorbiscomment_entry_is_legal(entry.entry, entry.length))
+ if (!FLAC__format_vorbiscomment_entry_is_legal(entry.entry, entry.length))
return false;
{
const FLAC__byte *eq = (FLAC__byte*)memchr(entry.entry, '=', entry.length);
const size_t nn = eq-entry.entry;
const size_t nv = entry.length-nn-1; /* -1 for the '=' */
- FLAC__ASSERT(0 != eq);
- if(0 == eq)
+
+ if (eq == NULL)
return false; /* double protection */
- if(0 == (*field_name = (char*)safe_malloc_add_2op_(nn, /*+*/1)))
+ if ((*field_name = safe_malloc_add_2op_(nn, /*+*/1)) == NULL)
return false;
- if(0 == (*field_value = (char*)safe_malloc_add_2op_(nv, /*+*/1))) {
+ if ((*field_value = safe_malloc_add_2op_(nv, /*+*/1)) == NULL) {
free(*field_name);
return false;
}
@@ -1365,39 +1406,33 @@ FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair
return true;
}
-FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_entry_matches(const FLAC__StreamMetadata_VorbisComment_Entry entry, const char *field_name, unsigned field_name_length)
+FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_entry_matches(const FLAC__StreamMetadata_VorbisComment_Entry entry, const char *field_name, uint32_t field_name_length)
{
- FLAC__ASSERT(0 != entry.entry && entry.length > 0);
+ FLAC__ASSERT(entry.entry != NULL);
{
const FLAC__byte *eq = (FLAC__byte*)memchr(entry.entry, '=', entry.length);
-#if defined _MSC_VER || defined __BORLANDC__ || defined __MINGW32__ || defined __EMX__
-#define FLAC__STRNCASECMP strnicmp
-#else
-#define FLAC__STRNCASECMP strncasecmp
-#endif
- return (0 != eq && (unsigned)(eq-entry.entry) == field_name_length && 0 == FLAC__STRNCASECMP(field_name, (const char *)entry.entry, field_name_length));
-#undef FLAC__STRNCASECMP
+ return (eq != NULL && (uint32_t)(eq-entry.entry) == field_name_length && FLAC__STRNCASECMP(field_name, (const char *)entry.entry, field_name_length) == 0);
}
}
-FLAC_API int FLAC__metadata_object_vorbiscomment_find_entry_from(const FLAC__StreamMetadata *object, unsigned offset, const char *field_name)
+FLAC_API int FLAC__metadata_object_vorbiscomment_find_entry_from(const FLAC__StreamMetadata *object, uint32_t offset, const char *field_name)
{
- FLAC__ASSERT(0 != field_name);
+ FLAC__ASSERT(field_name != NULL);
return vorbiscomment_find_entry_from_(object, offset, field_name, strlen(field_name));
}
FLAC_API int FLAC__metadata_object_vorbiscomment_remove_entry_matching(FLAC__StreamMetadata *object, const char *field_name)
{
- const unsigned field_name_length = strlen(field_name);
- unsigned i;
+ const uint32_t field_name_length = strlen(field_name);
+ uint32_t i;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_VORBIS_COMMENT);
- for(i = 0; i < object->data.vorbis_comment.num_comments; i++) {
- if(FLAC__metadata_object_vorbiscomment_entry_matches(object->data.vorbis_comment.comments[i], field_name, field_name_length)) {
- if(!FLAC__metadata_object_vorbiscomment_delete_comment(object, i))
+ for (i = 0; i < object->data.vorbis_comment.num_comments; i++) {
+ if (FLAC__metadata_object_vorbiscomment_entry_matches(object->data.vorbis_comment.comments[i], field_name, field_name_length)) {
+ if (!FLAC__metadata_object_vorbiscomment_delete_comment(object, i))
return -1;
else
return 1;
@@ -1410,18 +1445,18 @@ FLAC_API int FLAC__metadata_object_vorbiscomment_remove_entry_matching(FLAC__Str
FLAC_API int FLAC__metadata_object_vorbiscomment_remove_entries_matching(FLAC__StreamMetadata *object, const char *field_name)
{
FLAC__bool ok = true;
- unsigned matching = 0;
- const unsigned field_name_length = strlen(field_name);
+ uint32_t matching = 0;
+ const uint32_t field_name_length = strlen(field_name);
int i;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_VORBIS_COMMENT);
/* must delete from end to start otherwise it will interfere with our iteration */
- for(i = (int)object->data.vorbis_comment.num_comments - 1; ok && i >= 0; i--) {
- if(FLAC__metadata_object_vorbiscomment_entry_matches(object->data.vorbis_comment.comments[i], field_name, field_name_length)) {
+ for (i = (int)object->data.vorbis_comment.num_comments - 1; ok && i >= 0; i--) {
+ if (FLAC__metadata_object_vorbiscomment_entry_matches(object->data.vorbis_comment.comments[i], field_name, field_name_length)) {
matching++;
- ok &= FLAC__metadata_object_vorbiscomment_delete_comment(object, (unsigned)i);
+ ok &= FLAC__metadata_object_vorbiscomment_delete_comment(object, (uint32_t)i);
}
}
@@ -1430,17 +1465,17 @@ FLAC_API int FLAC__metadata_object_vorbiscomment_remove_entries_matching(FLAC__S
FLAC_API FLAC__StreamMetadata_CueSheet_Track *FLAC__metadata_object_cuesheet_track_new(void)
{
- return (FLAC__StreamMetadata_CueSheet_Track*)calloc(1, sizeof(FLAC__StreamMetadata_CueSheet_Track));
+ return calloc(1, sizeof(FLAC__StreamMetadata_CueSheet_Track));
}
FLAC_API FLAC__StreamMetadata_CueSheet_Track *FLAC__metadata_object_cuesheet_track_clone(const FLAC__StreamMetadata_CueSheet_Track *object)
{
FLAC__StreamMetadata_CueSheet_Track *to;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
- if(0 != (to = FLAC__metadata_object_cuesheet_track_new())) {
- if(!copy_track_(to, object)) {
+ if ((to = FLAC__metadata_object_cuesheet_track_new()) != NULL) {
+ if (!copy_track_(to, object)) {
FLAC__metadata_object_cuesheet_track_delete(to);
return 0;
}
@@ -1451,9 +1486,9 @@ FLAC_API FLAC__StreamMetadata_CueSheet_Track *FLAC__metadata_object_cuesheet_tra
void FLAC__metadata_object_cuesheet_track_delete_data(FLAC__StreamMetadata_CueSheet_Track *object)
{
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
- if(0 != object->indices) {
+ if (object->indices != NULL) {
FLAC__ASSERT(object->num_indices > 0);
free(object->indices);
}
@@ -1465,20 +1500,20 @@ FLAC_API void FLAC__metadata_object_cuesheet_track_delete(FLAC__StreamMetadata_C
free(object);
}
-FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_resize_indices(FLAC__StreamMetadata *object, unsigned track_num, unsigned new_num_indices)
+FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_resize_indices(FLAC__StreamMetadata *object, uint32_t track_num, uint32_t new_num_indices)
{
FLAC__StreamMetadata_CueSheet_Track *track;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_CUESHEET);
FLAC__ASSERT(track_num < object->data.cue_sheet.num_tracks);
track = &object->data.cue_sheet.tracks[track_num];
- if(0 == track->indices) {
+ if (track->indices == NULL) {
FLAC__ASSERT(track->num_indices == 0);
- if(0 == new_num_indices)
+ if (new_num_indices == 0)
return true;
- else if(0 == (track->indices = cuesheet_track_index_array_new_(new_num_indices)))
+ else if ((track->indices = cuesheet_track_index_array_new_(new_num_indices)) == NULL)
return false;
}
else {
@@ -1486,20 +1521,25 @@ FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_resize_indices(FLAC__St
const size_t new_size = new_num_indices * sizeof(FLAC__StreamMetadata_CueSheet_Index);
/* overflow check */
- if((size_t)new_num_indices > SIZE_MAX / sizeof(FLAC__StreamMetadata_CueSheet_Index))
+ if (new_num_indices > UINT32_MAX / sizeof(FLAC__StreamMetadata_CueSheet_Index))
return false;
FLAC__ASSERT(track->num_indices > 0);
- if(new_size == 0) {
+ if (new_size == 0) {
free(track->indices);
track->indices = 0;
}
- else if(0 == (track->indices = (FLAC__StreamMetadata_CueSheet_Index*)realloc(track->indices, new_size)))
- return false;
+ else {
+ /* Leave track->indices untouched if realloc fails */
+ FLAC__StreamMetadata_CueSheet_Index *tmpptr;
+ if ((tmpptr = realloc(track->indices, new_size)) == NULL)
+ return false;
+ track->indices = tmpptr;
+ }
/* if growing, zero all the lengths/pointers of new elements */
- if(new_size > old_size)
+ if (new_size > old_size)
memset(track->indices + track->num_indices, 0, new_size - old_size);
}
@@ -1509,40 +1549,40 @@ FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_resize_indices(FLAC__St
return true;
}
-FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_insert_index(FLAC__StreamMetadata *object, unsigned track_num, unsigned index_num, FLAC__StreamMetadata_CueSheet_Index index)
+FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_insert_index(FLAC__StreamMetadata *object, uint32_t track_num, uint32_t index_num, FLAC__StreamMetadata_CueSheet_Index indx)
{
FLAC__StreamMetadata_CueSheet_Track *track;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_CUESHEET);
FLAC__ASSERT(track_num < object->data.cue_sheet.num_tracks);
FLAC__ASSERT(index_num <= object->data.cue_sheet.tracks[track_num].num_indices);
track = &object->data.cue_sheet.tracks[track_num];
- if(!FLAC__metadata_object_cuesheet_track_resize_indices(object, track_num, track->num_indices+1))
+ if (!FLAC__metadata_object_cuesheet_track_resize_indices(object, track_num, track->num_indices+1))
return false;
/* move all indices >= index_num forward one space */
memmove(&track->indices[index_num+1], &track->indices[index_num], sizeof(FLAC__StreamMetadata_CueSheet_Index)*(track->num_indices-1-index_num));
- track->indices[index_num] = index;
+ track->indices[index_num] = indx;
cuesheet_calculate_length_(object);
return true;
}
-FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_insert_blank_index(FLAC__StreamMetadata *object, unsigned track_num, unsigned index_num)
+FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_insert_blank_index(FLAC__StreamMetadata *object, uint32_t track_num, uint32_t index_num)
{
- FLAC__StreamMetadata_CueSheet_Index index;
- memset(&index, 0, sizeof(index));
- return FLAC__metadata_object_cuesheet_track_insert_index(object, track_num, index_num, index);
+ FLAC__StreamMetadata_CueSheet_Index indx;
+ memset(&indx, 0, sizeof(indx));
+ return FLAC__metadata_object_cuesheet_track_insert_index(object, track_num, index_num, indx);
}
-FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_delete_index(FLAC__StreamMetadata *object, unsigned track_num, unsigned index_num)
+FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_delete_index(FLAC__StreamMetadata *object, uint32_t track_num, uint32_t index_num)
{
FLAC__StreamMetadata_CueSheet_Track *track;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_CUESHEET);
FLAC__ASSERT(track_num < object->data.cue_sheet.num_tracks);
FLAC__ASSERT(index_num < object->data.cue_sheet.tracks[track_num].num_indices);
@@ -1557,16 +1597,16 @@ FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_track_delete_index(FLAC__Stre
return true;
}
-FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_resize_tracks(FLAC__StreamMetadata *object, unsigned new_num_tracks)
+FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_resize_tracks(FLAC__StreamMetadata *object, uint32_t new_num_tracks)
{
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_CUESHEET);
- if(0 == object->data.cue_sheet.tracks) {
+ if (object->data.cue_sheet.tracks == NULL) {
FLAC__ASSERT(object->data.cue_sheet.num_tracks == 0);
- if(0 == new_num_tracks)
+ if (new_num_tracks == 0)
return true;
- else if(0 == (object->data.cue_sheet.tracks = cuesheet_track_array_new_(new_num_tracks)))
+ else if ((object->data.cue_sheet.tracks = cuesheet_track_array_new_(new_num_tracks)) == NULL)
return false;
}
else {
@@ -1574,28 +1614,32 @@ FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_resize_tracks(FLAC__StreamMet
const size_t new_size = new_num_tracks * sizeof(FLAC__StreamMetadata_CueSheet_Track);
/* overflow check */
- if((size_t)new_num_tracks > SIZE_MAX / sizeof(FLAC__StreamMetadata_CueSheet_Track))
+ if (new_num_tracks > UINT32_MAX / sizeof(FLAC__StreamMetadata_CueSheet_Track))
return false;
FLAC__ASSERT(object->data.cue_sheet.num_tracks > 0);
/* if shrinking, free the truncated entries */
- if(new_num_tracks < object->data.cue_sheet.num_tracks) {
- unsigned i;
- for(i = new_num_tracks; i < object->data.cue_sheet.num_tracks; i++)
- if(0 != object->data.cue_sheet.tracks[i].indices)
- free(object->data.cue_sheet.tracks[i].indices);
+ if (new_num_tracks < object->data.cue_sheet.num_tracks) {
+ uint32_t i;
+ for (i = new_num_tracks; i < object->data.cue_sheet.num_tracks; i++)
+ free(object->data.cue_sheet.tracks[i].indices);
}
- if(new_size == 0) {
+ if (new_size == 0) {
free(object->data.cue_sheet.tracks);
object->data.cue_sheet.tracks = 0;
}
- else if(0 == (object->data.cue_sheet.tracks = (FLAC__StreamMetadata_CueSheet_Track*)realloc(object->data.cue_sheet.tracks, new_size)))
- return false;
+ else {
+ /* Leave object->data.cue_sheet.tracks untouched if realloc fails */
+ FLAC__StreamMetadata_CueSheet_Track *tmpptr;
+ if ((tmpptr = realloc(object->data.cue_sheet.tracks, new_size)) == NULL)
+ return false;
+ object->data.cue_sheet.tracks = tmpptr;
+ }
/* if growing, zero all the lengths/pointers of new elements */
- if(new_size > old_size)
+ if (new_size > old_size)
memset(object->data.cue_sheet.tracks + object->data.cue_sheet.num_tracks, 0, new_size - old_size);
}
@@ -1605,25 +1649,25 @@ FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_resize_tracks(FLAC__StreamMet
return true;
}
-FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_set_track(FLAC__StreamMetadata *object, unsigned track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy)
+FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_set_track(FLAC__StreamMetadata *object, uint32_t track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy)
{
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(track_num < object->data.cue_sheet.num_tracks);
return cuesheet_set_track_(object, object->data.cue_sheet.tracks + track_num, track, copy);
}
-FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_insert_track(FLAC__StreamMetadata *object, unsigned track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy)
+FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_insert_track(FLAC__StreamMetadata *object, uint32_t track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy)
{
FLAC__StreamMetadata_CueSheet *cs;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_CUESHEET);
FLAC__ASSERT(track_num <= object->data.cue_sheet.num_tracks);
cs = &object->data.cue_sheet;
- if(!FLAC__metadata_object_cuesheet_resize_tracks(object, cs->num_tracks+1))
+ if (!FLAC__metadata_object_cuesheet_resize_tracks(object, cs->num_tracks+1))
return false;
/* move all tracks >= track_num forward one space */
@@ -1634,26 +1678,25 @@ FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_insert_track(FLAC__StreamMeta
return FLAC__metadata_object_cuesheet_set_track(object, track_num, track, copy);
}
-FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_insert_blank_track(FLAC__StreamMetadata *object, unsigned track_num)
+FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_insert_blank_track(FLAC__StreamMetadata *object, uint32_t track_num)
{
FLAC__StreamMetadata_CueSheet_Track track;
memset(&track, 0, sizeof(track));
return FLAC__metadata_object_cuesheet_insert_track(object, track_num, &track, /*copy=*/false);
}
-FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_delete_track(FLAC__StreamMetadata *object, unsigned track_num)
+FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_delete_track(FLAC__StreamMetadata *object, uint32_t track_num)
{
FLAC__StreamMetadata_CueSheet *cs;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_CUESHEET);
FLAC__ASSERT(track_num < object->data.cue_sheet.num_tracks);
cs = &object->data.cue_sheet;
/* free the track at track_num */
- if(0 != cs->tracks[track_num].indices)
- free(cs->tracks[track_num].indices);
+ free(cs->tracks[track_num].indices);
/* move all tracks > track_num backward one space */
memmove(&cs->tracks[track_num], &cs->tracks[track_num+1], sizeof(FLAC__StreamMetadata_CueSheet_Track)*(cs->num_tracks-track_num-1));
@@ -1665,13 +1708,13 @@ FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_delete_track(FLAC__StreamMeta
FLAC_API FLAC__bool FLAC__metadata_object_cuesheet_is_legal(const FLAC__StreamMetadata *object, FLAC__bool check_cd_da_subset, const char **violation)
{
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_CUESHEET);
return FLAC__format_cuesheet_is_legal(&object->data.cue_sheet, check_cd_da_subset, violation);
}
-static FLAC__uint64 get_index_01_offset_(const FLAC__StreamMetadata_CueSheet *cs, unsigned track)
+static FLAC__uint64 get_index_01_offset_(const FLAC__StreamMetadata_CueSheet *cs, uint32_t track)
{
if (track >= (cs->num_tracks-1) || cs->tracks[track].num_indices < 1)
return 0;
@@ -1700,7 +1743,7 @@ FLAC_API FLAC__uint32 FLAC__metadata_object_cuesheet_calculate_cddb_id(const FLA
{
const FLAC__StreamMetadata_CueSheet *cs;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_CUESHEET);
cs = &object->data.cue_sheet;
@@ -1723,27 +1766,26 @@ FLAC_API FLAC__bool FLAC__metadata_object_picture_set_mime_type(FLAC__StreamMeta
char *old;
size_t old_length, new_length;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_PICTURE);
- FLAC__ASSERT(0 != mime_type);
+ FLAC__ASSERT(mime_type != NULL);
old = object->data.picture.mime_type;
old_length = old? strlen(old) : 0;
new_length = strlen(mime_type);
/* do the copy first so that if we fail we leave the object untouched */
- if(copy) {
- if(new_length >= SIZE_MAX) /* overflow check */
+ if (copy) {
+ if (new_length >= SIZE_MAX) /* overflow check */
return false;
- if(!copy_bytes_((FLAC__byte**)(&object->data.picture.mime_type), (FLAC__byte*)mime_type, new_length+1))
+ if (!copy_bytes_((FLAC__byte**)(&object->data.picture.mime_type), (FLAC__byte*)mime_type, new_length+1))
return false;
}
else {
object->data.picture.mime_type = mime_type;
}
- if(0 != old)
- free(old);
+ free(old);
object->length -= old_length;
object->length += new_length;
@@ -1755,27 +1797,26 @@ FLAC_API FLAC__bool FLAC__metadata_object_picture_set_description(FLAC__StreamMe
FLAC__byte *old;
size_t old_length, new_length;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_PICTURE);
- FLAC__ASSERT(0 != description);
+ FLAC__ASSERT(description != NULL);
old = object->data.picture.description;
old_length = old? strlen((const char *)old) : 0;
new_length = strlen((const char *)description);
/* do the copy first so that if we fail we leave the object untouched */
- if(copy) {
- if(new_length >= SIZE_MAX) /* overflow check */
+ if (copy) {
+ if (new_length >= SIZE_MAX) /* overflow check */
return false;
- if(!copy_bytes_(&object->data.picture.description, description, new_length+1))
+ if (!copy_bytes_(&object->data.picture.description, description, new_length+1))
return false;
}
else {
object->data.picture.description = description;
}
- if(0 != old)
- free(old);
+ free(old);
object->length -= old_length;
object->length += new_length;
@@ -1786,23 +1827,22 @@ FLAC_API FLAC__bool FLAC__metadata_object_picture_set_data(FLAC__StreamMetadata
{
FLAC__byte *old;
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_PICTURE);
- FLAC__ASSERT((0 != data && length > 0) || (0 == data && length == 0 && copy == false));
+ FLAC__ASSERT((data != NULL && length > 0) || (data == NULL && length == 0 && copy == false));
old = object->data.picture.data;
/* do the copy first so that if we fail we leave the object untouched */
- if(copy) {
- if(!copy_bytes_(&object->data.picture.data, data, length))
+ if (copy) {
+ if (!copy_bytes_(&object->data.picture.data, data, length))
return false;
}
else {
object->data.picture.data = data;
}
- if(0 != old)
- free(old);
+ free(old);
object->length -= object->data.picture.data_length;
object->data.picture.data_length = length;
@@ -1812,8 +1852,167 @@ FLAC_API FLAC__bool FLAC__metadata_object_picture_set_data(FLAC__StreamMetadata
FLAC_API FLAC__bool FLAC__metadata_object_picture_is_legal(const FLAC__StreamMetadata *object, const char **violation)
{
- FLAC__ASSERT(0 != object);
+ FLAC__ASSERT(object != NULL);
FLAC__ASSERT(object->type == FLAC__METADATA_TYPE_PICTURE);
return FLAC__format_picture_is_legal(&object->data.picture, violation);
}
+
+FLAC_API FLAC__byte * FLAC__metadata_object_get_raw(const FLAC__StreamMetadata *object)
+{
+ FLAC__BitWriter *bw;
+ const FLAC__byte * buffer;
+ FLAC__byte * output;
+ size_t bytes;
+
+ FLAC__ASSERT(object != NULL);
+
+ if((bw = FLAC__bitwriter_new()) == NULL)
+ return 0;
+ if(!FLAC__bitwriter_init(bw)) {
+ FLAC__bitwriter_delete(bw);
+ return 0;
+ }
+ if(!FLAC__add_metadata_block(object, bw, false)) {
+ FLAC__bitwriter_delete(bw);
+ return 0;
+ }
+
+ if(!FLAC__bitwriter_get_buffer(bw, &buffer, &bytes)) {
+ FLAC__bitwriter_delete(bw);
+ return 0;
+ }
+
+ /* Extra check whether length of bitwriter agrees with length of metadata block */
+ if(bytes != (object->length+FLAC__STREAM_METADATA_HEADER_LENGTH)) {
+ FLAC__bitwriter_delete(bw);
+ return 0;
+ }
+
+ output = safe_malloc_(bytes);
+ if(output == 0) {
+ FLAC__bitwriter_delete(bw);
+ return 0;
+ }
+
+ memcpy(output,buffer,bytes);
+ FLAC__bitwriter_delete(bw);
+ return output;
+}
+
+/* The following callbacks are for FLAC__metadata_object_set_raw */
+
+static FLAC__StreamDecoderReadStatus read_callback_(const FLAC__StreamDecoder *decoder, FLAC__byte *buffer, size_t *bytes, void *client_data);
+static FLAC__StreamDecoderWriteStatus write_callback_(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data);
+static void metadata_callback_(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data);
+static void error_callback_(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data);
+
+typedef struct {
+ FLAC__StreamMetadata *object;
+ FLAC__bool got_error;
+ FLAC__byte *buffer;
+ FLAC__int32 length;
+ FLAC__int32 tell;
+} set_raw_client_data;
+
+FLAC_API FLAC__StreamMetadata * FLAC__metadata_object_set_raw(FLAC__byte *buffer, FLAC__uint32 length)
+{
+ set_raw_client_data cd;
+ FLAC__StreamDecoder * decoder;
+
+ cd.buffer = buffer;
+ cd.length = length;
+ cd.got_error = false;
+ cd.object = 0;
+ cd.tell = -4;
+
+ decoder = FLAC__stream_decoder_new();
+
+ if(0 == decoder)
+ return 0;
+
+ FLAC__stream_decoder_set_md5_checking(decoder, false);
+ FLAC__stream_decoder_set_metadata_respond_all(decoder);
+
+ if(FLAC__stream_decoder_init_stream(decoder, read_callback_, NULL, NULL, NULL, NULL, write_callback_, metadata_callback_, error_callback_, &cd) != FLAC__STREAM_DECODER_INIT_STATUS_OK || cd.got_error) {
+ (void)FLAC__stream_decoder_finish(decoder);
+ FLAC__stream_decoder_delete(decoder);
+ return 0;
+ }
+
+ if((!FLAC__stream_decoder_process_until_end_of_metadata(decoder) && FLAC__stream_decoder_get_state(decoder) != FLAC__STREAM_DECODER_END_OF_STREAM) || cd.got_error) {
+ (void)FLAC__stream_decoder_finish(decoder);
+ FLAC__stream_decoder_delete(decoder);
+ if(0 != cd.object)
+ FLAC__metadata_object_delete(cd.object);
+ return 0;
+ }
+
+ (void)FLAC__stream_decoder_finish(decoder);
+ FLAC__stream_decoder_delete(decoder);
+
+ return cd.object;
+
+}
+
+FLAC__StreamDecoderReadStatus read_callback_(const FLAC__StreamDecoder *decoder, FLAC__byte *buffer, size_t *bytes, void *client_data)
+{
+ set_raw_client_data *cd = (set_raw_client_data *)client_data;
+ (void)decoder;
+
+ if(cd->tell == -4) {
+ if(*bytes < 4)
+ return FLAC__STREAM_DECODER_READ_STATUS_ABORT;
+ buffer[0] = 'f';
+ buffer[1] = 'L';
+ buffer[2] = 'a';
+ buffer[3] = 'C';
+ *bytes = 4;
+ cd->tell = 0;
+ return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE;
+ }
+ else if(cd->tell < 0)
+ return FLAC__STREAM_DECODER_READ_STATUS_ABORT;
+ else if(cd->tell == cd->length) {
+ *bytes = 0;
+ return FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM;
+ }
+ else {
+ if((FLAC__int32)(*bytes) > (cd->length - cd->tell))
+ *bytes = cd->length - cd->tell;
+ memcpy(buffer, cd->buffer+cd->tell, *bytes);
+ cd->tell += *bytes;
+ return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE;
+ }
+}
+
+FLAC__StreamDecoderWriteStatus write_callback_(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data)
+{
+ (void)decoder, (void)frame, (void)buffer, (void)client_data;
+
+ return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
+}
+
+void metadata_callback_(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
+{
+ set_raw_client_data *cd = (set_raw_client_data *)client_data;
+ (void)decoder;
+
+ /*
+ * we assume we only get here when the one metadata block we were
+ * looking for was passed to us
+ */
+ if(!cd->got_error && 0 == cd->object) {
+ if(0 == (cd->object = FLAC__metadata_object_clone(metadata)))
+ cd->got_error = true;
+ }
+}
+
+void error_callback_(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
+{
+ set_raw_client_data *cd = (set_raw_client_data *)client_data;
+ (void)decoder;
+
+ if(status != FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC)
+ cd->got_error = true;
+}
diff --git a/3rdparty/libflac/src/libFLAC/ogg_decoder_aspect.c b/3rdparty/libflac/src/libFLAC/ogg_decoder_aspect.c
index 945b2c3c0d8..58a2934601a 100644
--- a/3rdparty/libflac/src/libFLAC/ogg_decoder_aspect.c
+++ b/3rdparty/libflac/src/libFLAC/ogg_decoder_aspect.c
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -37,11 +38,8 @@
#include "FLAC/assert.h"
#include "private/ogg_decoder_aspect.h"
#include "private/ogg_mapping.h"
+#include "private/macros.h"
-#ifdef max
-#undef max
-#endif
-#define max(x,y) ((x)>(y)?(x):(y))
/***********************************************************************
*
@@ -113,7 +111,7 @@ FLAC__OggDecoderAspectReadStatus FLAC__ogg_decoder_aspect_read_callback_wrapper(
* decoder will eventually call the read callback to supply some data,
* but how much it asks for depends on how much free space it has in
* its internal buffer. It does not try to grow its internal buffer
- * to accomodate a whole frame because then the internal buffer size
+ * to accommodate a whole frame because then the internal buffer size
* could not be limited, which is necessary in embedded applications.
*
* Ogg however grows its internal buffer until a whole page is present;
@@ -163,7 +161,7 @@ FLAC__OggDecoderAspectReadStatus FLAC__ogg_decoder_aspect_read_callback_wrapper(
/* if it is the first header packet, check for magic and a supported Ogg FLAC mapping version */
if (aspect->working_packet.bytes > 0 && aspect->working_packet.packet[0] == FLAC__OGG_MAPPING_FIRST_HEADER_PACKET_TYPE) {
const FLAC__byte *b = aspect->working_packet.packet;
- const unsigned header_length =
+ const uint32_t header_length =
FLAC__OGG_MAPPING_PACKET_TYPE_LENGTH +
FLAC__OGG_MAPPING_MAGIC_LENGTH +
FLAC__OGG_MAPPING_VERSION_MAJOR_LENGTH +
@@ -175,9 +173,9 @@ FLAC__OggDecoderAspectReadStatus FLAC__ogg_decoder_aspect_read_callback_wrapper(
if (memcmp(b, FLAC__OGG_MAPPING_MAGIC, FLAC__OGG_MAPPING_MAGIC_LENGTH))
return FLAC__OGG_DECODER_ASPECT_READ_STATUS_NOT_FLAC;
b += FLAC__OGG_MAPPING_MAGIC_LENGTH;
- aspect->version_major = (unsigned)(*b);
+ aspect->version_major = (uint32_t)(*b);
b += FLAC__OGG_MAPPING_VERSION_MAJOR_LENGTH;
- aspect->version_minor = (unsigned)(*b);
+ aspect->version_minor = (uint32_t)(*b);
if (aspect->version_major != 1)
return FLAC__OGG_DECODER_ASPECT_READ_STATUS_UNSUPPORTED_MAPPING_VERSION;
aspect->working_packet.packet += header_length;
@@ -210,7 +208,7 @@ FLAC__OggDecoderAspectReadStatus FLAC__ogg_decoder_aspect_read_callback_wrapper(
}
else if (ret == 0) {
/* need more data */
- const size_t ogg_bytes_to_read = max(bytes_requested - *bytes, OGG_BYTES_CHUNK);
+ const size_t ogg_bytes_to_read = flac_max(bytes_requested - *bytes, OGG_BYTES_CHUNK);
char *oggbuf = ogg_sync_buffer(&aspect->sync_state, ogg_bytes_to_read);
if(0 == oggbuf) {
diff --git a/3rdparty/libflac/src/libFLAC/ogg_encoder_aspect.c b/3rdparty/libflac/src/libFLAC/ogg_encoder_aspect.c
index a9928c3d6e1..a88713b14b4 100644
--- a/3rdparty/libflac/src/libFLAC/ogg_encoder_aspect.c
+++ b/3rdparty/libflac/src/libFLAC/ogg_encoder_aspect.c
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -71,7 +72,7 @@ void FLAC__ogg_encoder_aspect_set_serial_number(FLAC__OggEncoderAspect *aspect,
aspect->serial_number = value;
}
-FLAC__bool FLAC__ogg_encoder_aspect_set_num_metadata(FLAC__OggEncoderAspect *aspect, unsigned value)
+FLAC__bool FLAC__ogg_encoder_aspect_set_num_metadata(FLAC__OggEncoderAspect *aspect, uint32_t value)
{
if(value < (1u << FLAC__OGG_MAPPING_NUM_HEADERS_LEN)) {
aspect->num_metadata = value;
@@ -108,7 +109,7 @@ void FLAC__ogg_encoder_aspect_set_defaults(FLAC__OggEncoderAspect *aspect)
* separate write callback for the fLaC magic, and then separate write
* callbacks for each metadata block and audio frame.
*/
-FLAC__StreamEncoderWriteStatus FLAC__ogg_encoder_aspect_write_callback_wrapper(FLAC__OggEncoderAspect *aspect, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, FLAC__bool is_last_block, FLAC__OggEncoderAspectWriteCallbackProxy write_callback, void *encoder, void *client_data)
+FLAC__StreamEncoderWriteStatus FLAC__ogg_encoder_aspect_write_callback_wrapper(FLAC__OggEncoderAspect *aspect, const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame, FLAC__bool is_last_block, FLAC__OggEncoderAspectWriteCallbackProxy write_callback, void *encoder, void *client_data)
{
/* WATCHOUT:
* This depends on the behavior of FLAC__StreamEncoder that 'samples'
@@ -169,14 +170,14 @@ FLAC__StreamEncoderWriteStatus FLAC__ogg_encoder_aspect_write_callback_wrapper(F
/* add STREAMINFO */
memcpy(b, buffer, bytes);
FLAC__ASSERT(b + bytes - synthetic_first_packet_body == sizeof(synthetic_first_packet_body));
- packet.packet = (unsigned char *)synthetic_first_packet_body;
+ packet.packet = (uint8_t *)synthetic_first_packet_body;
packet.bytes = sizeof(synthetic_first_packet_body);
packet.b_o_s = 1;
aspect->is_first_packet = false;
}
else {
- packet.packet = (unsigned char *)buffer;
+ packet.packet = (uint8_t *)buffer;
packet.bytes = bytes;
}
diff --git a/3rdparty/libflac/src/libFLAC/ogg_helper.c b/3rdparty/libflac/src/libFLAC/ogg_helper.c
index f406777e047..a4be34d22b9 100644
--- a/3rdparty/libflac/src/libFLAC/ogg_helper.c
+++ b/3rdparty/libflac/src/libFLAC/ogg_helper.c
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec
- * Copyright (C) 2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2004-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -93,8 +94,8 @@ void simple_ogg_page__clear(ogg_page *page)
FLAC__bool simple_ogg_page__get_at(FLAC__StreamEncoder *encoder, FLAC__uint64 position, ogg_page *page, FLAC__StreamEncoderSeekCallback seek_callback, FLAC__StreamEncoderReadCallback read_callback, void *client_data)
{
- static const unsigned OGG_HEADER_FIXED_PORTION_LEN = 27;
- static const unsigned OGG_MAX_HEADER_LEN = 27/*OGG_HEADER_FIXED_PORTION_LEN*/ + 255;
+ static const uint32_t OGG_HEADER_FIXED_PORTION_LEN = 27;
+ static const uint32_t OGG_MAX_HEADER_LEN = 27/*OGG_HEADER_FIXED_PORTION_LEN*/ + 255;
FLAC__byte crc[4];
FLAC__StreamEncoderSeekStatus seek_status;
@@ -113,7 +114,7 @@ FLAC__bool simple_ogg_page__get_at(FLAC__StreamEncoder *encoder, FLAC__uint64 po
}
/* allocate space for the page header */
- if(0 == (page->header = (unsigned char *)safe_malloc_(OGG_MAX_HEADER_LEN))) {
+ if(0 == (page->header = safe_malloc_(OGG_MAX_HEADER_LEN))) {
encoder->protected_->state = FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR;
return false;
}
@@ -141,10 +142,10 @@ FLAC__bool simple_ogg_page__get_at(FLAC__StreamEncoder *encoder, FLAC__uint64 po
return false;
{
- unsigned i;
+ uint32_t i;
/* check to see that it specifies a single packet */
- for(i = 0; i < (unsigned)page->header[26] - 1; i++) {
+ for(i = 0; i < (uint32_t)page->header[26] - 1; i++) {
if(page->header[i + OGG_HEADER_FIXED_PORTION_LEN] != 255) {
encoder->protected_->state = FLAC__STREAM_ENCODER_OGG_ERROR;
return false;
@@ -155,7 +156,7 @@ FLAC__bool simple_ogg_page__get_at(FLAC__StreamEncoder *encoder, FLAC__uint64 po
}
/* allocate space for the page body */
- if(0 == (page->body = (unsigned char *)safe_malloc_(page->body_len))) {
+ if(0 == (page->body = safe_malloc_(page->body_len))) {
encoder->protected_->state = FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR;
return false;
}
diff --git a/3rdparty/libflac/src/libFLAC/ogg_mapping.c b/3rdparty/libflac/src/libFLAC/ogg_mapping.c
index cd87197cb17..756c7165b29 100644
--- a/3rdparty/libflac/src/libFLAC/ogg_mapping.c
+++ b/3rdparty/libflac/src/libFLAC/ogg_mapping.c
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec
- * Copyright (C) 2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2004-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -35,13 +36,13 @@
#include "private/ogg_mapping.h"
-const unsigned FLAC__OGG_MAPPING_PACKET_TYPE_LEN = 8; /* bits */
+const uint32_t FLAC__OGG_MAPPING_PACKET_TYPE_LEN = 8; /* bits */
const FLAC__byte FLAC__OGG_MAPPING_FIRST_HEADER_PACKET_TYPE = 0x7f;
const FLAC__byte * const FLAC__OGG_MAPPING_MAGIC = (const FLAC__byte * const)"FLAC";
-const unsigned FLAC__OGG_MAPPING_VERSION_MAJOR_LEN = 8; /* bits */
-const unsigned FLAC__OGG_MAPPING_VERSION_MINOR_LEN = 8; /* bits */
+const uint32_t FLAC__OGG_MAPPING_VERSION_MAJOR_LEN = 8; /* bits */
+const uint32_t FLAC__OGG_MAPPING_VERSION_MINOR_LEN = 8; /* bits */
-const unsigned FLAC__OGG_MAPPING_NUM_HEADERS_LEN = 16; /* bits */
+const uint32_t FLAC__OGG_MAPPING_NUM_HEADERS_LEN = 16; /* bits */
diff --git a/3rdparty/libflac/src/libFLAC/ppc/Makefile.am b/3rdparty/libflac/src/libFLAC/ppc/Makefile.am
deleted file mode 100644
index 87cd95c63fb..00000000000
--- a/3rdparty/libflac/src/libFLAC/ppc/Makefile.am
+++ /dev/null
@@ -1,31 +0,0 @@
-# libFLAC - Free Lossless Audio Codec library
-# Copyright (C) 2004,2005,2006,2007 Josh Coalson
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# - Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# - Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# - Neither the name of the Xiph.org Foundation nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-SUBDIRS = as gas
diff --git a/3rdparty/libflac/src/libFLAC/ppc/Makefile.in b/3rdparty/libflac/src/libFLAC/ppc/Makefile.in
deleted file mode 100644
index 308a21b04cd..00000000000
--- a/3rdparty/libflac/src/libFLAC/ppc/Makefile.in
+++ /dev/null
@@ -1,533 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# libFLAC - Free Lossless Audio Codec library
-# Copyright (C) 2004,2005,2006,2007 Josh Coalson
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# - Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# - Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# - Neither the name of the Xiph.org Foundation nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-SUBDIRS = as gas
-subdir = src/libFLAC/ppc
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/libFLAC/ppc/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- else \
- include_option=--include; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/src/libFLAC/ppc/as/Makefile.am b/3rdparty/libflac/src/libFLAC/ppc/as/Makefile.am
deleted file mode 100644
index 919938bb423..00000000000
--- a/3rdparty/libflac/src/libFLAC/ppc/as/Makefile.am
+++ /dev/null
@@ -1,52 +0,0 @@
-# libFLAC - Free Lossless Audio Codec library
-# Copyright (C) 2004,2005,2006,2007 Josh Coalson
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# - Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# - Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# - Neither the name of the Xiph.org Foundation nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#@@@
-if FLaC__HAS_AS__TEMPORARILY_DISABLED
-
-SUFFIXES = .s .lo
-
-STRIP_NON_ASM = sh $(top_srcdir)/strip_non_asm_libtool_args.sh
-
-# For some unknown reason libtool can't figure out the tag for 'as', so
-# we fake it with --tag=CC and strip out unwanted options.
-.s.lo:
- $(LIBTOOL) --tag=CC --mode=compile $(STRIP_NON_ASM) as -force_cpusubtype_ALL -o $@ $<
-
-noinst_LTLIBRARIES = libFLAC-asm.la
-libFLAC_asm_la_SOURCES = \
- lpc_asm.s
-
-else
-
-EXTRA_DIST = \
- lpc_asm.s
-
-endif
diff --git a/3rdparty/libflac/src/libFLAC/ppc/as/Makefile.in b/3rdparty/libflac/src/libFLAC/ppc/as/Makefile.in
deleted file mode 100644
index 1565e461af5..00000000000
--- a/3rdparty/libflac/src/libFLAC/ppc/as/Makefile.in
+++ /dev/null
@@ -1,503 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# libFLAC - Free Lossless Audio Codec library
-# Copyright (C) 2004,2005,2006,2007 Josh Coalson
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# - Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# - Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# - Neither the name of the Xiph.org Foundation nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-
-#@@@
-@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@SUFFIXES = .s .lo
-
-@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@STRIP_NON_ASM = sh $(top_srcdir)/strip_non_asm_libtool_args.sh
-
-@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@noinst_LTLIBRARIES = libFLAC-asm.la
-@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@libFLAC_asm_la_SOURCES = \
-@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@ lpc_asm.s
-
-
-@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@EXTRA_DIST = \
-@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@ lpc_asm.s
-
-subdir = src/libFLAC/ppc/as
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-
-libFLAC_asm_la_LDFLAGS =
-libFLAC_asm_la_LIBADD =
-am__libFLAC_asm_la_SOURCES_DIST = lpc_asm.s
-@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@am_libFLAC_asm_la_OBJECTS = \
-@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@ lpc_asm.lo
-libFLAC_asm_la_OBJECTS = $(am_libFLAC_asm_la_OBJECTS)
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-CCASCOMPILE = $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS)
-LTCCASCOMPILE = $(LIBTOOL) --mode=compile $(CCAS) $(AM_CCASFLAGS) \
- $(CCASFLAGS)
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(am__libFLAC_asm_la_SOURCES_DIST)
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(libFLAC_asm_la_SOURCES)
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .lo .o .obj .s
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/libFLAC/ppc/as/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" = "$$p" && dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libFLAC-asm.la: $(libFLAC_asm_la_OBJECTS) $(libFLAC_asm_la_DEPENDENCIES)
- $(LINK) $(libFLAC_asm_la_LDFLAGS) $(libFLAC_asm_la_OBJECTS) $(libFLAC_asm_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
-
-distclean-compile:
- -rm -f *.tab.c
-
-.s.o:
- $(CCASCOMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
-
-.s.obj:
- $(CCASCOMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
-
-@FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@.s.lo:
- $(LTCCASCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
- pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
-
-
-# For some unknown reason libtool can't figure out the tag for 'as', so
-# we fake it with --tag=CC and strip out unwanted options.
-@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@.s.lo:
-@FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@ $(LIBTOOL) --tag=CC --mode=compile $(STRIP_NON_ASM) as -force_cpusubtype_ALL -o $@ $<
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/src/libFLAC/ppc/as/lpc_asm.s b/3rdparty/libflac/src/libFLAC/ppc/as/lpc_asm.s
deleted file mode 100644
index ca39c6ffeea..00000000000
--- a/3rdparty/libflac/src/libFLAC/ppc/as/lpc_asm.s
+++ /dev/null
@@ -1,429 +0,0 @@
-; libFLAC - Free Lossless Audio Codec library
-; Copyright (C) 2004,2005,2006,2007 Josh Coalson
-;
-; Redistribution and use in source and binary forms, with or without
-; modification, are permitted provided that the following conditions
-; are met:
-;
-; - Redistributions of source code must retain the above copyright
-; notice, this list of conditions and the following disclaimer.
-;
-; - Redistributions in binary form must reproduce the above copyright
-; notice, this list of conditions and the following disclaimer in the
-; documentation and/or other materials provided with the distribution.
-;
-; - Neither the name of the Xiph.org Foundation nor the names of its
-; contributors may be used to endorse or promote products derived from
-; this software without specific prior written permission.
-;
-; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-; ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
-; CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-.text
- .align 2
-.globl _FLAC__lpc_restore_signal_asm_ppc_altivec_16
-
-.globl _FLAC__lpc_restore_signal_asm_ppc_altivec_16_order8
-
-_FLAC__lpc_restore_signal_asm_ppc_altivec_16:
-; r3: residual[]
-; r4: data_len
-; r5: qlp_coeff[]
-; r6: order
-; r7: lp_quantization
-; r8: data[]
-
-; see src/libFLAC/lpc.c:FLAC__lpc_restore_signal()
-; these is a PowerPC/Altivec assembly version which requires bps<=16 (or actual
-; bps<=15 for mid-side coding, since that uses an extra bit)
-
-; these should be fast; the inner loop is unrolled (it takes no more than
-; 3*(order%4) instructions, all of which are arithmetic), and all of the
-; coefficients and all relevant history stay in registers, so the outer loop
-; has only one load from memory (the residual)
-
-; I have not yet run this through simg4, so there may be some avoidable stalls,
-; and there may be a somewhat more clever way to do the outer loop
-
-; the branch mechanism may prevent dynamic loading; I still need to examine
-; this issue, and there may be a more elegant method
-
- stmw r31,-4(r1)
-
- addi r9,r1,-28
- li r31,0xf
- andc r9,r9,r31 ; for quadword-aligned stack data
-
- slwi r6,r6,2 ; adjust for word size
- slwi r4,r4,2
- add r4,r4,r8 ; r4 = data+data_len
-
- mfspr r0,256 ; cache old vrsave
- addis r31,0,hi16(0xfffffc00)
- ori r31,r31,lo16(0xfffffc00)
- mtspr 256,r31 ; declare VRs in vrsave
-
- cmplw cr0,r8,r4 ; i<data_len
- bc 4,0,L1400
-
- ; load coefficients into v0-v7 and initial history into v8-v15
- li r31,0xf
- and r31,r8,r31 ; r31: data%4
- li r11,16
- subf r31,r31,r11 ; r31: 4-(data%4)
- slwi r31,r31,3 ; convert to bits for vsro
- li r10,-4
- stw r31,-4(r9)
- lvewx v0,r10,r9
- vspltisb v18,-1
- vsro v18,v18,v0 ; v18: mask vector
-
- li r31,0x8
- lvsl v0,0,r31
- vsldoi v0,v0,v0,12
- li r31,0xc
- lvsl v1,0,r31
- vspltisb v2,0
- vspltisb v3,-1
- vmrglw v2,v2,v3
- vsel v0,v1,v0,v2 ; v0: reversal permutation vector
-
- add r10,r5,r6
- lvsl v17,0,r5 ; v17: coefficient alignment permutation vector
- vperm v17,v17,v17,v0 ; v17: reversal coefficient alignment permutation vector
-
- mr r11,r8
- lvsl v16,0,r11 ; v16: history alignment permutation vector
-
- lvx v0,0,r5
- addi r5,r5,16
- lvx v1,0,r5
- vperm v0,v0,v1,v17
- lvx v8,0,r11
- addi r11,r11,-16
- lvx v9,0,r11
- vperm v8,v9,v8,v16
- cmplw cr0,r5,r10
- bc 12,0,L1101
- vand v0,v0,v18
- addis r31,0,hi16(L1307)
- ori r31,r31,lo16(L1307)
- b L1199
-
-L1101:
- addi r5,r5,16
- lvx v2,0,r5
- vperm v1,v1,v2,v17
- addi r11,r11,-16
- lvx v10,0,r11
- vperm v9,v10,v9,v16
- cmplw cr0,r5,r10
- bc 12,0,L1102
- vand v1,v1,v18
- addis r31,0,hi16(L1306)
- ori r31,r31,lo16(L1306)
- b L1199
-
-L1102:
- addi r5,r5,16
- lvx v3,0,r5
- vperm v2,v2,v3,v17
- addi r11,r11,-16
- lvx v11,0,r11
- vperm v10,v11,v10,v16
- cmplw cr0,r5,r10
- bc 12,0,L1103
- vand v2,v2,v18
- addis r31,0,hi16(L1305)
- ori r31,r31,lo16(L1305)
- b L1199
-
-L1103:
- addi r5,r5,16
- lvx v4,0,r5
- vperm v3,v3,v4,v17
- addi r11,r11,-16
- lvx v12,0,r11
- vperm v11,v12,v11,v16
- cmplw cr0,r5,r10
- bc 12,0,L1104
- vand v3,v3,v18
- addis r31,0,hi16(L1304)
- ori r31,r31,lo16(L1304)
- b L1199
-
-L1104:
- addi r5,r5,16
- lvx v5,0,r5
- vperm v4,v4,v5,v17
- addi r11,r11,-16
- lvx v13,0,r11
- vperm v12,v13,v12,v16
- cmplw cr0,r5,r10
- bc 12,0,L1105
- vand v4,v4,v18
- addis r31,0,hi16(L1303)
- ori r31,r31,lo16(L1303)
- b L1199
-
-L1105:
- addi r5,r5,16
- lvx v6,0,r5
- vperm v5,v5,v6,v17
- addi r11,r11,-16
- lvx v14,0,r11
- vperm v13,v14,v13,v16
- cmplw cr0,r5,r10
- bc 12,0,L1106
- vand v5,v5,v18
- addis r31,0,hi16(L1302)
- ori r31,r31,lo16(L1302)
- b L1199
-
-L1106:
- addi r5,r5,16
- lvx v7,0,r5
- vperm v6,v6,v7,v17
- addi r11,r11,-16
- lvx v15,0,r11
- vperm v14,v15,v14,v16
- cmplw cr0,r5,r10
- bc 12,0,L1107
- vand v6,v6,v18
- addis r31,0,hi16(L1301)
- ori r31,r31,lo16(L1301)
- b L1199
-
-L1107:
- addi r5,r5,16
- lvx v19,0,r5
- vperm v7,v7,v19,v17
- addi r11,r11,-16
- lvx v19,0,r11
- vperm v15,v19,v15,v16
- vand v7,v7,v18
- addis r31,0,hi16(L1300)
- ori r31,r31,lo16(L1300)
-
-L1199:
- mtctr r31
-
- ; set up invariant vectors
- vspltish v16,0 ; v16: zero vector
-
- li r10,-12
- lvsr v17,r10,r8 ; v17: result shift vector
- lvsl v18,r10,r3 ; v18: residual shift back vector
-
- li r10,-4
- stw r7,-4(r9)
- lvewx v19,r10,r9 ; v19: lp_quantization vector
-
-L1200:
- vmulosh v20,v0,v8 ; v20: sum vector
- bcctr 20,0
-
-L1300:
- vmulosh v21,v7,v15
- vsldoi v15,v15,v14,4 ; increment history
- vaddsws v20,v20,v21
-
-L1301:
- vmulosh v21,v6,v14
- vsldoi v14,v14,v13,4
- vaddsws v20,v20,v21
-
-L1302:
- vmulosh v21,v5,v13
- vsldoi v13,v13,v12,4
- vaddsws v20,v20,v21
-
-L1303:
- vmulosh v21,v4,v12
- vsldoi v12,v12,v11,4
- vaddsws v20,v20,v21
-
-L1304:
- vmulosh v21,v3,v11
- vsldoi v11,v11,v10,4
- vaddsws v20,v20,v21
-
-L1305:
- vmulosh v21,v2,v10
- vsldoi v10,v10,v9,4
- vaddsws v20,v20,v21
-
-L1306:
- vmulosh v21,v1,v9
- vsldoi v9,v9,v8,4
- vaddsws v20,v20,v21
-
-L1307:
- vsumsws v20,v20,v16 ; v20[3]: sum
- vsraw v20,v20,v19 ; v20[3]: sum >> lp_quantization
-
- lvewx v21,0,r3 ; v21[n]: *residual
- vperm v21,v21,v21,v18 ; v21[3]: *residual
- vaddsws v20,v21,v20 ; v20[3]: *residual + (sum >> lp_quantization)
- vsldoi v18,v18,v18,4 ; increment shift vector
-
- vperm v21,v20,v20,v17 ; v21[n]: shift for storage
- vsldoi v17,v17,v17,12 ; increment shift vector
- stvewx v21,0,r8
-
- vsldoi v20,v20,v20,12
- vsldoi v8,v8,v20,4 ; insert value onto history
-
- addi r3,r3,4
- addi r8,r8,4
- cmplw cr0,r8,r4 ; i<data_len
- bc 12,0,L1200
-
-L1400:
- mtspr 256,r0 ; restore old vrsave
- lmw r31,-4(r1)
- blr
-
-_FLAC__lpc_restore_signal_asm_ppc_altivec_16_order8:
-; r3: residual[]
-; r4: data_len
-; r5: qlp_coeff[]
-; r6: order
-; r7: lp_quantization
-; r8: data[]
-
-; see _FLAC__lpc_restore_signal_asm_ppc_altivec_16() above
-; this version assumes order<=8; it uses fewer vector registers, which should
-; save time in context switches, and has less code, which may improve
-; instruction caching
-
- stmw r31,-4(r1)
-
- addi r9,r1,-28
- li r31,0xf
- andc r9,r9,r31 ; for quadword-aligned stack data
-
- slwi r6,r6,2 ; adjust for word size
- slwi r4,r4,2
- add r4,r4,r8 ; r4 = data+data_len
-
- mfspr r0,256 ; cache old vrsave
- addis r31,0,hi16(0xffc00000)
- ori r31,r31,lo16(0xffc00000)
- mtspr 256,r31 ; declare VRs in vrsave
-
- cmplw cr0,r8,r4 ; i<data_len
- bc 4,0,L2400
-
- ; load coefficients into v0-v1 and initial history into v2-v3
- li r31,0xf
- and r31,r8,r31 ; r31: data%4
- li r11,16
- subf r31,r31,r11 ; r31: 4-(data%4)
- slwi r31,r31,3 ; convert to bits for vsro
- li r10,-4
- stw r31,-4(r9)
- lvewx v0,r10,r9
- vspltisb v6,-1
- vsro v6,v6,v0 ; v6: mask vector
-
- li r31,0x8
- lvsl v0,0,r31
- vsldoi v0,v0,v0,12
- li r31,0xc
- lvsl v1,0,r31
- vspltisb v2,0
- vspltisb v3,-1
- vmrglw v2,v2,v3
- vsel v0,v1,v0,v2 ; v0: reversal permutation vector
-
- add r10,r5,r6
- lvsl v5,0,r5 ; v5: coefficient alignment permutation vector
- vperm v5,v5,v5,v0 ; v5: reversal coefficient alignment permutation vector
-
- mr r11,r8
- lvsl v4,0,r11 ; v4: history alignment permutation vector
-
- lvx v0,0,r5
- addi r5,r5,16
- lvx v1,0,r5
- vperm v0,v0,v1,v5
- lvx v2,0,r11
- addi r11,r11,-16
- lvx v3,0,r11
- vperm v2,v3,v2,v4
- cmplw cr0,r5,r10
- bc 12,0,L2101
- vand v0,v0,v6
- addis r31,0,hi16(L2301)
- ori r31,r31,lo16(L2301)
- b L2199
-
-L2101:
- addi r5,r5,16
- lvx v7,0,r5
- vperm v1,v1,v7,v5
- addi r11,r11,-16
- lvx v7,0,r11
- vperm v3,v7,v3,v4
- vand v1,v1,v6
- addis r31,0,hi16(L2300)
- ori r31,r31,lo16(L2300)
-
-L2199:
- mtctr r31
-
- ; set up invariant vectors
- vspltish v4,0 ; v4: zero vector
-
- li r10,-12
- lvsr v5,r10,r8 ; v5: result shift vector
- lvsl v6,r10,r3 ; v6: residual shift back vector
-
- li r10,-4
- stw r7,-4(r9)
- lvewx v7,r10,r9 ; v7: lp_quantization vector
-
-L2200:
- vmulosh v8,v0,v2 ; v8: sum vector
- bcctr 20,0
-
-L2300:
- vmulosh v9,v1,v3
- vsldoi v3,v3,v2,4
- vaddsws v8,v8,v9
-
-L2301:
- vsumsws v8,v8,v4 ; v8[3]: sum
- vsraw v8,v8,v7 ; v8[3]: sum >> lp_quantization
-
- lvewx v9,0,r3 ; v9[n]: *residual
- vperm v9,v9,v9,v6 ; v9[3]: *residual
- vaddsws v8,v9,v8 ; v8[3]: *residual + (sum >> lp_quantization)
- vsldoi v6,v6,v6,4 ; increment shift vector
-
- vperm v9,v8,v8,v5 ; v9[n]: shift for storage
- vsldoi v5,v5,v5,12 ; increment shift vector
- stvewx v9,0,r8
-
- vsldoi v8,v8,v8,12
- vsldoi v2,v2,v8,4 ; insert value onto history
-
- addi r3,r3,4
- addi r8,r8,4
- cmplw cr0,r8,r4 ; i<data_len
- bc 12,0,L2200
-
-L2400:
- mtspr 256,r0 ; restore old vrsave
- lmw r31,-4(r1)
- blr
diff --git a/3rdparty/libflac/src/libFLAC/ppc/gas/Makefile.am b/3rdparty/libflac/src/libFLAC/ppc/gas/Makefile.am
deleted file mode 100644
index 3a66c27ae46..00000000000
--- a/3rdparty/libflac/src/libFLAC/ppc/gas/Makefile.am
+++ /dev/null
@@ -1,52 +0,0 @@
-# libFLAC - Free Lossless Audio Codec library
-# Copyright (C) 2004,2005,2006,2007 Josh Coalson
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# - Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# - Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# - Neither the name of the Xiph.org Foundation nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#@@@
-if FLaC__HAS_GAS__TEMPORARILY_DISABLED
-
-SUFFIXES = .s .lo
-
-STRIP_NON_ASM = sh $(top_srcdir)/strip_non_asm_libtool_args.sh
-
-# For some unknown reason libtool can't figure out the tag for 'gas', so
-# we fake it with --tag=CC and strip out unwanted options.
-.s.lo:
- $(LIBTOOL) --tag=CC --mode=compile $(STRIP_NON_ASM) gas -force_cpusubtype_ALL -o $@ $<
-
-noinst_LTLIBRARIES = libFLAC-asm.la
-libFLAC_asm_la_SOURCES = \
- lpc_asm.s
-
-else
-
-EXTRA_DIST = \
- lpc_asm.s
-
-endif
diff --git a/3rdparty/libflac/src/libFLAC/ppc/gas/Makefile.in b/3rdparty/libflac/src/libFLAC/ppc/gas/Makefile.in
deleted file mode 100644
index f4c97bc36d7..00000000000
--- a/3rdparty/libflac/src/libFLAC/ppc/gas/Makefile.in
+++ /dev/null
@@ -1,503 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# libFLAC - Free Lossless Audio Codec library
-# Copyright (C) 2004,2005,2006,2007 Josh Coalson
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# - Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# - Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# - Neither the name of the Xiph.org Foundation nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-
-#@@@
-@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@SUFFIXES = .s .lo
-
-@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@STRIP_NON_ASM = sh $(top_srcdir)/strip_non_asm_libtool_args.sh
-
-@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@noinst_LTLIBRARIES = libFLAC-asm.la
-@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@libFLAC_asm_la_SOURCES = \
-@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@ lpc_asm.s
-
-
-@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@EXTRA_DIST = \
-@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@ lpc_asm.s
-
-subdir = src/libFLAC/ppc/gas
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-
-libFLAC_asm_la_LDFLAGS =
-libFLAC_asm_la_LIBADD =
-am__libFLAC_asm_la_SOURCES_DIST = lpc_asm.s
-@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@am_libFLAC_asm_la_OBJECTS = \
-@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@ lpc_asm.lo
-libFLAC_asm_la_OBJECTS = $(am_libFLAC_asm_la_OBJECTS)
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-CCASCOMPILE = $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS)
-LTCCASCOMPILE = $(LIBTOOL) --mode=compile $(CCAS) $(AM_CCASFLAGS) \
- $(CCASFLAGS)
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(am__libFLAC_asm_la_SOURCES_DIST)
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(libFLAC_asm_la_SOURCES)
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .lo .o .obj .s
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/libFLAC/ppc/gas/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" = "$$p" && dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libFLAC-asm.la: $(libFLAC_asm_la_OBJECTS) $(libFLAC_asm_la_DEPENDENCIES)
- $(LINK) $(libFLAC_asm_la_LDFLAGS) $(libFLAC_asm_la_OBJECTS) $(libFLAC_asm_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
-
-distclean-compile:
- -rm -f *.tab.c
-
-.s.o:
- $(CCASCOMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
-
-.s.obj:
- $(CCASCOMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
-
-@FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@.s.lo:
- $(LTCCASCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
- pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
-
-
-# For some unknown reason libtool can't figure out the tag for 'gas', so
-# we fake it with --tag=CC and strip out unwanted options.
-@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@.s.lo:
-@FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@ $(LIBTOOL) --tag=CC --mode=compile $(STRIP_NON_ASM) gas -force_cpusubtype_ALL -o $@ $<
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/src/libFLAC/ppc/gas/lpc_asm.s b/3rdparty/libflac/src/libFLAC/ppc/gas/lpc_asm.s
deleted file mode 100644
index 2203570189e..00000000000
--- a/3rdparty/libflac/src/libFLAC/ppc/gas/lpc_asm.s
+++ /dev/null
@@ -1,431 +0,0 @@
-# libFLAC - Free Lossless Audio Codec library
-# Copyright (C) 2004,2005,2006,2007 Josh Coalson
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# - Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# - Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# - Neither the name of the Xiph.org Foundation nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-.text
- .align 2
-.globl _FLAC__lpc_restore_signal_asm_ppc_altivec_16
-.type _FLAC__lpc_restore_signal_asm_ppc_altivec_16, @function
-
-.globl _FLAC__lpc_restore_signal_asm_ppc_altivec_16_order8
-.type _FLAC__lpc_restore_signal_asm_ppc_altivec_16_order8, @function
-
-_FLAC__lpc_restore_signal_asm_ppc_altivec_16:
-# r3: residual[]
-# r4: data_len
-# r5: qlp_coeff[]
-# r6: order
-# r7: lp_quantization
-# r8: data[]
-
-# see src/libFLAC/lpc.c:FLAC__lpc_restore_signal()
-# these is a PowerPC/Altivec assembly version which requires bps<=16 (or actual
-# bps<=15 for mid-side coding, since that uses an extra bit)
-
-# these should be fast; the inner loop is unrolled (it takes no more than
-# 3*(order%4) instructions, all of which are arithmetic), and all of the
-# coefficients and all relevant history stay in registers, so the outer loop
-# has only one load from memory (the residual)
-
-# I have not yet run this through simg4, so there may be some avoidable stalls,
-# and there may be a somewhat more clever way to do the outer loop
-
-# the branch mechanism may prevent dynamic loading; I still need to examine
-# this issue, and there may be a more elegant method
-
- stmw r31,-4(r1)
-
- addi r9,r1,-28
- li r31,0xf
- andc r9,r9,r31 # for quadword-aligned stack data
-
- slwi r6,r6,2 # adjust for word size
- slwi r4,r4,2
- add r4,r4,r8 # r4 = data+data_len
-
- mfspr r0,256 # cache old vrsave
- addis r31,0,0xffff
- ori r31,r31,0xfc00
- mtspr 256,r31 # declare VRs in vrsave
-
- cmplw cr0,r8,r4 # i<data_len
- bc 4,0,L1400
-
- # load coefficients into v0-v7 and initial history into v8-v15
- li r31,0xf
- and r31,r8,r31 # r31: data%4
- li r11,16
- subf r31,r31,r11 # r31: 4-(data%4)
- slwi r31,r31,3 # convert to bits for vsro
- li r10,-4
- stw r31,-4(r9)
- lvewx v0,r10,r9
- vspltisb v18,-1
- vsro v18,v18,v0 # v18: mask vector
-
- li r31,0x8
- lvsl v0,0,r31
- vsldoi v0,v0,v0,12
- li r31,0xc
- lvsl v1,0,r31
- vspltisb v2,0
- vspltisb v3,-1
- vmrglw v2,v2,v3
- vsel v0,v1,v0,v2 # v0: reversal permutation vector
-
- add r10,r5,r6
- lvsl v17,0,r5 # v17: coefficient alignment permutation vector
- vperm v17,v17,v17,v0 # v17: reversal coefficient alignment permutation vector
-
- mr r11,r8
- lvsl v16,0,r11 # v16: history alignment permutation vector
-
- lvx v0,0,r5
- addi r5,r5,16
- lvx v1,0,r5
- vperm v0,v0,v1,v17
- lvx v8,0,r11
- addi r11,r11,-16
- lvx v9,0,r11
- vperm v8,v9,v8,v16
- cmplw cr0,r5,r10
- bc 12,0,L1101
- vand v0,v0,v18
- addis r31,0,L1307@ha
- ori r31,r31,L1307@l
- b L1199
-
-L1101:
- addi r5,r5,16
- lvx v2,0,r5
- vperm v1,v1,v2,v17
- addi r11,r11,-16
- lvx v10,0,r11
- vperm v9,v10,v9,v16
- cmplw cr0,r5,r10
- bc 12,0,L1102
- vand v1,v1,v18
- addis r31,0,L1306@ha
- ori r31,r31,L1306@l
- b L1199
-
-L1102:
- addi r5,r5,16
- lvx v3,0,r5
- vperm v2,v2,v3,v17
- addi r11,r11,-16
- lvx v11,0,r11
- vperm v10,v11,v10,v16
- cmplw cr0,r5,r10
- bc 12,0,L1103
- vand v2,v2,v18
- lis r31,L1305@ha
- la r31,L1305@l(r31)
- b L1199
-
-L1103:
- addi r5,r5,16
- lvx v4,0,r5
- vperm v3,v3,v4,v17
- addi r11,r11,-16
- lvx v12,0,r11
- vperm v11,v12,v11,v16
- cmplw cr0,r5,r10
- bc 12,0,L1104
- vand v3,v3,v18
- lis r31,L1304@ha
- la r31,L1304@l(r31)
- b L1199
-
-L1104:
- addi r5,r5,16
- lvx v5,0,r5
- vperm v4,v4,v5,v17
- addi r11,r11,-16
- lvx v13,0,r11
- vperm v12,v13,v12,v16
- cmplw cr0,r5,r10
- bc 12,0,L1105
- vand v4,v4,v18
- lis r31,L1303@ha
- la r31,L1303@l(r31)
- b L1199
-
-L1105:
- addi r5,r5,16
- lvx v6,0,r5
- vperm v5,v5,v6,v17
- addi r11,r11,-16
- lvx v14,0,r11
- vperm v13,v14,v13,v16
- cmplw cr0,r5,r10
- bc 12,0,L1106
- vand v5,v5,v18
- lis r31,L1302@ha
- la r31,L1302@l(r31)
- b L1199
-
-L1106:
- addi r5,r5,16
- lvx v7,0,r5
- vperm v6,v6,v7,v17
- addi r11,r11,-16
- lvx v15,0,r11
- vperm v14,v15,v14,v16
- cmplw cr0,r5,r10
- bc 12,0,L1107
- vand v6,v6,v18
- lis r31,L1301@ha
- la r31,L1301@l(r31)
- b L1199
-
-L1107:
- addi r5,r5,16
- lvx v19,0,r5
- vperm v7,v7,v19,v17
- addi r11,r11,-16
- lvx v19,0,r11
- vperm v15,v19,v15,v16
- vand v7,v7,v18
- lis r31,L1300@ha
- la r31,L1300@l(r31)
-
-L1199:
- mtctr r31
-
- # set up invariant vectors
- vspltish v16,0 # v16: zero vector
-
- li r10,-12
- lvsr v17,r10,r8 # v17: result shift vector
- lvsl v18,r10,r3 # v18: residual shift back vector
-
- li r10,-4
- stw r7,-4(r9)
- lvewx v19,r10,r9 # v19: lp_quantization vector
-
-L1200:
- vmulosh v20,v0,v8 # v20: sum vector
- bcctr 20,0
-
-L1300:
- vmulosh v21,v7,v15
- vsldoi v15,v15,v14,4 # increment history
- vaddsws v20,v20,v21
-
-L1301:
- vmulosh v21,v6,v14
- vsldoi v14,v14,v13,4
- vaddsws v20,v20,v21
-
-L1302:
- vmulosh v21,v5,v13
- vsldoi v13,v13,v12,4
- vaddsws v20,v20,v21
-
-L1303:
- vmulosh v21,v4,v12
- vsldoi v12,v12,v11,4
- vaddsws v20,v20,v21
-
-L1304:
- vmulosh v21,v3,v11
- vsldoi v11,v11,v10,4
- vaddsws v20,v20,v21
-
-L1305:
- vmulosh v21,v2,v10
- vsldoi v10,v10,v9,4
- vaddsws v20,v20,v21
-
-L1306:
- vmulosh v21,v1,v9
- vsldoi v9,v9,v8,4
- vaddsws v20,v20,v21
-
-L1307:
- vsumsws v20,v20,v16 # v20[3]: sum
- vsraw v20,v20,v19 # v20[3]: sum >> lp_quantization
-
- lvewx v21,0,r3 # v21[n]: *residual
- vperm v21,v21,v21,v18 # v21[3]: *residual
- vaddsws v20,v21,v20 # v20[3]: *residual + (sum >> lp_quantization)
- vsldoi v18,v18,v18,4 # increment shift vector
-
- vperm v21,v20,v20,v17 # v21[n]: shift for storage
- vsldoi v17,v17,v17,12 # increment shift vector
- stvewx v21,0,r8
-
- vsldoi v20,v20,v20,12
- vsldoi v8,v8,v20,4 # insert value onto history
-
- addi r3,r3,4
- addi r8,r8,4
- cmplw cr0,r8,r4 # i<data_len
- bc 12,0,L1200
-
-L1400:
- mtspr 256,r0 # restore old vrsave
- lmw r31,-4(r1)
- blr
-
-_FLAC__lpc_restore_signal_asm_ppc_altivec_16_order8:
-# r3: residual[]
-# r4: data_len
-# r5: qlp_coeff[]
-# r6: order
-# r7: lp_quantization
-# r8: data[]
-
-# see _FLAC__lpc_restore_signal_asm_ppc_altivec_16() above
-# this version assumes order<=8; it uses fewer vector registers, which should
-# save time in context switches, and has less code, which may improve
-# instruction caching
-
- stmw r31,-4(r1)
-
- addi r9,r1,-28
- li r31,0xf
- andc r9,r9,r31 # for quadword-aligned stack data
-
- slwi r6,r6,2 # adjust for word size
- slwi r4,r4,2
- add r4,r4,r8 # r4 = data+data_len
-
- mfspr r0,256 # cache old vrsave
- addis r31,0,0xffc0
- ori r31,r31,0x0000
- mtspr 256,r31 # declare VRs in vrsave
-
- cmplw cr0,r8,r4 # i<data_len
- bc 4,0,L2400
-
- # load coefficients into v0-v1 and initial history into v2-v3
- li r31,0xf
- and r31,r8,r31 # r31: data%4
- li r11,16
- subf r31,r31,r11 # r31: 4-(data%4)
- slwi r31,r31,3 # convert to bits for vsro
- li r10,-4
- stw r31,-4(r9)
- lvewx v0,r10,r9
- vspltisb v6,-1
- vsro v6,v6,v0 # v6: mask vector
-
- li r31,0x8
- lvsl v0,0,r31
- vsldoi v0,v0,v0,12
- li r31,0xc
- lvsl v1,0,r31
- vspltisb v2,0
- vspltisb v3,-1
- vmrglw v2,v2,v3
- vsel v0,v1,v0,v2 # v0: reversal permutation vector
-
- add r10,r5,r6
- lvsl v5,0,r5 # v5: coefficient alignment permutation vector
- vperm v5,v5,v5,v0 # v5: reversal coefficient alignment permutation vector
-
- mr r11,r8
- lvsl v4,0,r11 # v4: history alignment permutation vector
-
- lvx v0,0,r5
- addi r5,r5,16
- lvx v1,0,r5
- vperm v0,v0,v1,v5
- lvx v2,0,r11
- addi r11,r11,-16
- lvx v3,0,r11
- vperm v2,v3,v2,v4
- cmplw cr0,r5,r10
- bc 12,0,L2101
- vand v0,v0,v6
- lis r31,L2301@ha
- la r31,L2301@l(r31)
- b L2199
-
-L2101:
- addi r5,r5,16
- lvx v7,0,r5
- vperm v1,v1,v7,v5
- addi r11,r11,-16
- lvx v7,0,r11
- vperm v3,v7,v3,v4
- vand v1,v1,v6
- lis r31,L2300@ha
- la r31,L2300@l(r31)
-
-L2199:
- mtctr r31
-
- # set up invariant vectors
- vspltish v4,0 # v4: zero vector
-
- li r10,-12
- lvsr v5,r10,r8 # v5: result shift vector
- lvsl v6,r10,r3 # v6: residual shift back vector
-
- li r10,-4
- stw r7,-4(r9)
- lvewx v7,r10,r9 # v7: lp_quantization vector
-
-L2200:
- vmulosh v8,v0,v2 # v8: sum vector
- bcctr 20,0
-
-L2300:
- vmulosh v9,v1,v3
- vsldoi v3,v3,v2,4
- vaddsws v8,v8,v9
-
-L2301:
- vsumsws v8,v8,v4 # v8[3]: sum
- vsraw v8,v8,v7 # v8[3]: sum >> lp_quantization
-
- lvewx v9,0,r3 # v9[n]: *residual
- vperm v9,v9,v9,v6 # v9[3]: *residual
- vaddsws v8,v9,v8 # v8[3]: *residual + (sum >> lp_quantization)
- vsldoi v6,v6,v6,4 # increment shift vector
-
- vperm v9,v8,v8,v5 # v9[n]: shift for storage
- vsldoi v5,v5,v5,12 # increment shift vector
- stvewx v9,0,r8
-
- vsldoi v8,v8,v8,12
- vsldoi v2,v2,v8,4 # insert value onto history
-
- addi r3,r3,4
- addi r8,r8,4
- cmplw cr0,r8,r4 # i<data_len
- bc 12,0,L2200
-
-L2400:
- mtspr 256,r0 # restore old vrsave
- lmw r31,-4(r1)
- blr
diff --git a/3rdparty/libflac/src/libFLAC/stream_decoder.c b/3rdparty/libflac/src/libFLAC/stream_decoder.c
index 198d5dcc883..18d8dd3b219 100644
--- a/3rdparty/libflac/src/libFLAC/stream_decoder.c
+++ b/3rdparty/libflac/src/libFLAC/stream_decoder.c
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -33,27 +34,12 @@
# include <config.h>
#endif
-#if defined _MSC_VER || defined __MINGW32__
-#include <io.h> /* for _setmode() */
-#include <fcntl.h> /* for _O_BINARY */
-#endif
-#if defined __CYGWIN__ || defined __EMX__
-#include <io.h> /* for setmode(), O_BINARY */
-#include <fcntl.h> /* for _O_BINARY */
-#endif
#include <stdio.h>
#include <stdlib.h> /* for malloc() */
#include <string.h> /* for memset/memcpy() */
-#include <sys/stat.h> /* for stat() */
#include <sys/types.h> /* for off_t */
-#if defined _MSC_VER || defined __BORLANDC__ || defined __MINGW32__ /* @@@ [2G limit] */
-#ifndef fseeko
-#define fseeko fseek
-#endif
-#ifndef ftello
-#define ftello ftell
-#endif
-#endif
+#include <sys/stat.h> /* for stat() */
+#include "share/compat.h"
#include "FLAC/assert.h"
#include "share/alloc.h"
#include "protected/stream_decoder.h"
@@ -66,28 +52,11 @@
#include "private/lpc.h"
#include "private/md5.h"
#include "private/memory.h"
-
-#ifdef max
-#undef max
-#endif
-#define max(a,b) ((a)>(b)?(a):(b))
-
-/* adjust for compilers that can't understand using LLU suffix for uint64_t literals */
-#ifdef _MSC_VER
-#define FLAC__U64L(x) x
-#else
-#define FLAC__U64L(x) x##LLU
-#endif
+#include "private/macros.h"
/* technically this should be in an "export.c" but this is convenient enough */
-FLAC_API int FLAC_API_SUPPORTS_OGG_FLAC =
-#if FLAC__HAS_OGG
- 1
-#else
- 0
-#endif
-;
+FLAC_API int FLAC_API_SUPPORTS_OGG_FLAC = FLAC__HAS_OGG;
/***********************************************************************
@@ -96,7 +65,7 @@ FLAC_API int FLAC_API_SUPPORTS_OGG_FLAC =
*
***********************************************************************/
-static FLAC__byte ID3V2_TAG_[3] = { 'I', 'D', '3' };
+static const FLAC__byte ID3V2_TAG_[3] = { 'I', 'D', '3' };
/***********************************************************************
*
@@ -106,26 +75,27 @@ static FLAC__byte ID3V2_TAG_[3] = { 'I', 'D', '3' };
static void set_defaults_(FLAC__StreamDecoder *decoder);
static FILE *get_binary_stdin_(void);
-static FLAC__bool allocate_output_(FLAC__StreamDecoder *decoder, unsigned size, unsigned channels);
+static FLAC__bool allocate_output_(FLAC__StreamDecoder *decoder, uint32_t size, uint32_t channels, uint32_t bps);
static FLAC__bool has_id_filtered_(FLAC__StreamDecoder *decoder, FLAC__byte *id);
static FLAC__bool find_metadata_(FLAC__StreamDecoder *decoder);
static FLAC__bool read_metadata_(FLAC__StreamDecoder *decoder);
-static FLAC__bool read_metadata_streaminfo_(FLAC__StreamDecoder *decoder, FLAC__bool is_last, unsigned length);
-static FLAC__bool read_metadata_seektable_(FLAC__StreamDecoder *decoder, FLAC__bool is_last, unsigned length);
-static FLAC__bool read_metadata_vorbiscomment_(FLAC__StreamDecoder *decoder, FLAC__StreamMetadata_VorbisComment *obj);
+static FLAC__bool read_metadata_streaminfo_(FLAC__StreamDecoder *decoder, FLAC__bool is_last, uint32_t length);
+static FLAC__bool read_metadata_seektable_(FLAC__StreamDecoder *decoder, FLAC__bool is_last, uint32_t length);
+static FLAC__bool read_metadata_vorbiscomment_(FLAC__StreamDecoder *decoder, FLAC__StreamMetadata_VorbisComment *obj, uint32_t length);
static FLAC__bool read_metadata_cuesheet_(FLAC__StreamDecoder *decoder, FLAC__StreamMetadata_CueSheet *obj);
static FLAC__bool read_metadata_picture_(FLAC__StreamDecoder *decoder, FLAC__StreamMetadata_Picture *obj);
static FLAC__bool skip_id3v2_tag_(FLAC__StreamDecoder *decoder);
static FLAC__bool frame_sync_(FLAC__StreamDecoder *decoder);
static FLAC__bool read_frame_(FLAC__StreamDecoder *decoder, FLAC__bool *got_a_frame, FLAC__bool do_full_decode);
static FLAC__bool read_frame_header_(FLAC__StreamDecoder *decoder);
-static FLAC__bool read_subframe_(FLAC__StreamDecoder *decoder, unsigned channel, unsigned bps, FLAC__bool do_full_decode);
-static FLAC__bool read_subframe_constant_(FLAC__StreamDecoder *decoder, unsigned channel, unsigned bps, FLAC__bool do_full_decode);
-static FLAC__bool read_subframe_fixed_(FLAC__StreamDecoder *decoder, unsigned channel, unsigned bps, const unsigned order, FLAC__bool do_full_decode);
-static FLAC__bool read_subframe_lpc_(FLAC__StreamDecoder *decoder, unsigned channel, unsigned bps, const unsigned order, FLAC__bool do_full_decode);
-static FLAC__bool read_subframe_verbatim_(FLAC__StreamDecoder *decoder, unsigned channel, unsigned bps, FLAC__bool do_full_decode);
-static FLAC__bool read_residual_partitioned_rice_(FLAC__StreamDecoder *decoder, unsigned predictor_order, unsigned partition_order, FLAC__EntropyCodingMethod_PartitionedRiceContents *partitioned_rice_contents, FLAC__int32 *residual, FLAC__bool is_extended);
+static FLAC__bool read_subframe_(FLAC__StreamDecoder *decoder, uint32_t channel, uint32_t bps, FLAC__bool do_full_decode);
+static FLAC__bool read_subframe_constant_(FLAC__StreamDecoder *decoder, uint32_t channel, uint32_t bps, FLAC__bool do_full_decode);
+static FLAC__bool read_subframe_fixed_(FLAC__StreamDecoder *decoder, uint32_t channel, uint32_t bps, const uint32_t order, FLAC__bool do_full_decode);
+static FLAC__bool read_subframe_lpc_(FLAC__StreamDecoder *decoder, uint32_t channel, uint32_t bps, const uint32_t order, FLAC__bool do_full_decode);
+static FLAC__bool read_subframe_verbatim_(FLAC__StreamDecoder *decoder, uint32_t channel, uint32_t bps, FLAC__bool do_full_decode);
+static FLAC__bool read_residual_partitioned_rice_(FLAC__StreamDecoder *decoder, uint32_t predictor_order, uint32_t partition_order, FLAC__EntropyCodingMethod_PartitionedRiceContents *partitioned_rice_contents, FLAC__int32 *residual, FLAC__bool is_extended);
static FLAC__bool read_zero_padding_(FLAC__StreamDecoder *decoder);
+static void undo_channel_coding(FLAC__StreamDecoder *decoder);
static FLAC__bool read_callback_(FLAC__byte buffer[], size_t *bytes, void *client_data);
#if FLAC__HAS_OGG
static FLAC__StreamDecoderReadStatus read_callback_ogg_aspect_(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes);
@@ -150,9 +120,7 @@ static FLAC__bool file_eof_callback_(const FLAC__StreamDecoder *decoder, void *c
***********************************************************************/
typedef struct FLAC__StreamDecoderPrivate {
-#if FLAC__HAS_OGG
FLAC__bool is_ogg;
-#endif
FLAC__StreamDecoderReadCallback read_callback;
FLAC__StreamDecoderSeekCallback seek_callback;
FLAC__StreamDecoderTellCallback tell_callback;
@@ -161,22 +129,15 @@ typedef struct FLAC__StreamDecoderPrivate {
FLAC__StreamDecoderWriteCallback write_callback;
FLAC__StreamDecoderMetadataCallback metadata_callback;
FLAC__StreamDecoderErrorCallback error_callback;
- /* generic 32-bit datapath: */
- void (*local_lpc_restore_signal)(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]);
- /* generic 64-bit datapath: */
- void (*local_lpc_restore_signal_64bit)(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]);
- /* for use when the signal is <= 16 bits-per-sample, or <= 15 bits-per-sample on a side channel (which requires 1 extra bit): */
- void (*local_lpc_restore_signal_16bit)(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]);
- /* for use when the signal is <= 16 bits-per-sample, or <= 15 bits-per-sample on a side channel (which requires 1 extra bit), AND order <= 8: */
- void (*local_lpc_restore_signal_16bit_order8)(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]);
- FLAC__bool (*local_bitreader_read_rice_signed_block)(FLAC__BitReader *br, int vals[], unsigned nvals, unsigned parameter);
void *client_data;
FILE *file; /* only used if FLAC__stream_decoder_init_file()/FLAC__stream_decoder_init_file() called, else NULL */
FLAC__BitReader *input;
FLAC__int32 *output[FLAC__MAX_CHANNELS];
FLAC__int32 *residual[FLAC__MAX_CHANNELS]; /* WATCHOUT: these are the aligned pointers; the real pointers that should be free()'d are residual_unaligned[] below */
+ FLAC__int64 *side_subframe;
+ FLAC__bool side_subframe_in_use;
FLAC__EntropyCodingMethod_PartitionedRiceContents partitioned_rice_contents[FLAC__MAX_CHANNELS];
- unsigned output_capacity, output_channels;
+ uint32_t output_capacity, output_channels;
FLAC__uint32 fixed_block_size, next_fixed_block_size;
FLAC__uint64 samples_decoded;
FLAC__bool has_stream_info, has_seek_table;
@@ -198,13 +159,14 @@ typedef struct FLAC__StreamDecoderPrivate {
FLAC__MD5Context md5context;
FLAC__byte computed_md5sum[16]; /* this is the sum we computed from the decoded data */
/* (the rest of these are only used for seeking) */
- FLAC__Frame last_frame; /* holds the info of the last frame we seeked to */
+ FLAC__Frame last_frame; /* holds the info of the last frame we decoded or seeked to */
+ FLAC__bool last_frame_is_set;
FLAC__uint64 first_frame_offset; /* hint to the seek routine of where in the stream the first audio frame starts */
+ FLAC__uint64 last_seen_framesync; /* if tell callback works, the location of the last seen frame sync code, to rewind to if needed */
FLAC__uint64 target_sample;
- unsigned unparseable_frame_count; /* used to tell whether we're decoding a future version of FLAC or just got a bad sync */
-#if FLAC__HAS_OGG
+ uint32_t unparseable_frame_count; /* used to tell whether we're decoding a future version of FLAC or just got a bad sync */
FLAC__bool got_a_frame; /* hack needed in Ogg FLAC seek routine to check when process_single() actually writes a frame */
-#endif
+ FLAC__bool (*local_bitreader_read_rice_signed_block)(FLAC__BitReader *br, int vals[], uint32_t nvals, uint32_t parameter);
} FLAC__StreamDecoderPrivate;
/***********************************************************************
@@ -268,7 +230,8 @@ FLAC_API const char * const FLAC__StreamDecoderErrorStatusString[] = {
"FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC",
"FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER",
"FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH",
- "FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM"
+ "FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM",
+ "FLAC__STREAM_DECODER_ERROR_STATUS_BAD_METADATA"
};
/***********************************************************************
@@ -279,22 +242,22 @@ FLAC_API const char * const FLAC__StreamDecoderErrorStatusString[] = {
FLAC_API FLAC__StreamDecoder *FLAC__stream_decoder_new(void)
{
FLAC__StreamDecoder *decoder;
- unsigned i;
+ uint32_t i;
FLAC__ASSERT(sizeof(int) >= 4); /* we want to die right away if this is not true */
- decoder = (FLAC__StreamDecoder*)calloc(1, sizeof(FLAC__StreamDecoder));
+ decoder = calloc(1, sizeof(FLAC__StreamDecoder));
if(decoder == 0) {
return 0;
}
- decoder->protected_ = (FLAC__StreamDecoderProtected*)calloc(1, sizeof(FLAC__StreamDecoderProtected));
+ decoder->protected_ = calloc(1, sizeof(FLAC__StreamDecoderProtected));
if(decoder->protected_ == 0) {
free(decoder);
return 0;
}
- decoder->private_ = (FLAC__StreamDecoderPrivate*)calloc(1, sizeof(FLAC__StreamDecoderPrivate));
+ decoder->private_ = calloc(1, sizeof(FLAC__StreamDecoderPrivate));
if(decoder->private_ == 0) {
free(decoder->protected_);
free(decoder);
@@ -310,7 +273,7 @@ FLAC_API FLAC__StreamDecoder *FLAC__stream_decoder_new(void)
}
decoder->private_->metadata_filter_ids_capacity = 16;
- if(0 == (decoder->private_->metadata_filter_ids = (FLAC__byte*)malloc((FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8) * decoder->private_->metadata_filter_ids_capacity))) {
+ if(0 == (decoder->private_->metadata_filter_ids = malloc((FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8) * decoder->private_->metadata_filter_ids_capacity))) {
FLAC__bitreader_delete(decoder->private_->input);
free(decoder->private_);
free(decoder->protected_);
@@ -323,6 +286,8 @@ FLAC_API FLAC__StreamDecoder *FLAC__stream_decoder_new(void)
decoder->private_->residual_unaligned[i] = decoder->private_->residual[i] = 0;
}
+ decoder->private_->side_subframe = 0;
+
decoder->private_->output_capacity = 0;
decoder->private_->output_channels = 0;
decoder->private_->has_seek_table = false;
@@ -341,9 +306,11 @@ FLAC_API FLAC__StreamDecoder *FLAC__stream_decoder_new(void)
FLAC_API void FLAC__stream_decoder_delete(FLAC__StreamDecoder *decoder)
{
- unsigned i;
+ uint32_t i;
+
+ if (decoder == NULL)
+ return ;
- FLAC__ASSERT(0 != decoder);
FLAC__ASSERT(0 != decoder->protected_);
FLAC__ASSERT(0 != decoder->private_);
FLAC__ASSERT(0 != decoder->private_->input);
@@ -388,10 +355,8 @@ static FLAC__StreamDecoderInitStatus init_stream_internal_(
if(decoder->protected_->state != FLAC__STREAM_DECODER_UNINITIALIZED)
return FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED;
-#if !FLAC__HAS_OGG
- if(is_ogg)
+ if(FLAC__HAS_OGG == 0 && is_ogg)
return FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER;
-#endif
if(
0 == read_callback ||
@@ -404,53 +369,21 @@ static FLAC__StreamDecoderInitStatus init_stream_internal_(
#if FLAC__HAS_OGG
decoder->private_->is_ogg = is_ogg;
if(is_ogg && !FLAC__ogg_decoder_aspect_init(&decoder->protected_->ogg_decoder_aspect))
- return decoder->protected_->state = FLAC__STREAM_DECODER_OGG_ERROR;
+ return decoder->protected_->initstate = FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FILE;
#endif
- /*
- * get the CPU info and set the function pointers
- */
FLAC__cpu_info(&decoder->private_->cpuinfo);
- /* first default to the non-asm routines */
- decoder->private_->local_lpc_restore_signal = FLAC__lpc_restore_signal;
- decoder->private_->local_lpc_restore_signal_64bit = FLAC__lpc_restore_signal_wide;
- decoder->private_->local_lpc_restore_signal_16bit = FLAC__lpc_restore_signal;
- decoder->private_->local_lpc_restore_signal_16bit_order8 = FLAC__lpc_restore_signal;
decoder->private_->local_bitreader_read_rice_signed_block = FLAC__bitreader_read_rice_signed_block;
- /* now override with asm where appropriate */
-#ifndef FLAC__NO_ASM
- if(decoder->private_->cpuinfo.use_asm) {
-#ifdef FLAC__CPU_IA32
- FLAC__ASSERT(decoder->private_->cpuinfo.type == FLAC__CPUINFO_TYPE_IA32);
-#ifdef FLAC__HAS_NASM
-#if 1 /*@@@@@@ OPT: not clearly faster, needs more testing */
- if(decoder->private_->cpuinfo.data.ia32.bswap)
- decoder->private_->local_bitreader_read_rice_signed_block = FLAC__bitreader_read_rice_signed_block_asm_ia32_bswap;
-#endif
- if(decoder->private_->cpuinfo.data.ia32.mmx) {
- decoder->private_->local_lpc_restore_signal = FLAC__lpc_restore_signal_asm_ia32;
- decoder->private_->local_lpc_restore_signal_16bit = FLAC__lpc_restore_signal_asm_ia32_mmx;
- decoder->private_->local_lpc_restore_signal_16bit_order8 = FLAC__lpc_restore_signal_asm_ia32_mmx;
- }
- else {
- decoder->private_->local_lpc_restore_signal = FLAC__lpc_restore_signal_asm_ia32;
- decoder->private_->local_lpc_restore_signal_16bit = FLAC__lpc_restore_signal_asm_ia32;
- decoder->private_->local_lpc_restore_signal_16bit_order8 = FLAC__lpc_restore_signal_asm_ia32;
- }
-#endif
-#elif defined FLAC__CPU_PPC
- FLAC__ASSERT(decoder->private_->cpuinfo.type == FLAC__CPUINFO_TYPE_PPC);
- if(decoder->private_->cpuinfo.data.ppc.altivec) {
- decoder->private_->local_lpc_restore_signal_16bit = FLAC__lpc_restore_signal_asm_ppc_altivec_16;
- decoder->private_->local_lpc_restore_signal_16bit_order8 = FLAC__lpc_restore_signal_asm_ppc_altivec_16_order8;
- }
-#endif
+
+#ifdef FLAC__BMI2_SUPPORTED
+ if (decoder->private_->cpuinfo.x86.bmi2) {
+ decoder->private_->local_bitreader_read_rice_signed_block = FLAC__bitreader_read_rice_signed_block_bmi2;
}
#endif
/* from here on, errors are fatal */
- if(!FLAC__bitreader_init(decoder->private_->input, decoder->private_->cpuinfo, read_callback_, decoder)) {
+ if(!FLAC__bitreader_init(decoder->private_->input, read_callback_, decoder)) {
decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
return FLAC__STREAM_DECODER_INIT_STATUS_MEMORY_ALLOCATION_ERROR;
}
@@ -551,10 +484,10 @@ static FLAC__StreamDecoderInitStatus init_FILE_internal_(
FLAC__ASSERT(0 != file);
if(decoder->protected_->state != FLAC__STREAM_DECODER_UNINITIALIZED)
- return decoder->protected_->state = FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED;
+ return decoder->protected_->initstate = FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED;
if(0 == write_callback || 0 == error_callback)
- return decoder->protected_->state = FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS;
+ return decoder->protected_->initstate = FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS;
/*
* To make sure that our file does not go unclosed after an error, we
@@ -625,12 +558,12 @@ static FLAC__StreamDecoderInitStatus init_file_internal_(
* in FLAC__stream_decoder_init_FILE() before the FILE* is assigned.
*/
if(decoder->protected_->state != FLAC__STREAM_DECODER_UNINITIALIZED)
- return decoder->protected_->state = FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED;
+ return decoder->protected_->initstate = FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED;
if(0 == write_callback || 0 == error_callback)
- return decoder->protected_->state = FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS;
+ return decoder->protected_->initstate = FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS;
- file = filename? fopen(filename, "rb") : stdin;
+ file = filename? flac_fopen(filename, "rb") : stdin;
if(0 == file)
return FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FILE;
@@ -665,7 +598,7 @@ FLAC_API FLAC__StreamDecoderInitStatus FLAC__stream_decoder_init_ogg_file(
FLAC_API FLAC__bool FLAC__stream_decoder_finish(FLAC__StreamDecoder *decoder)
{
FLAC__bool md5_failed = false;
- unsigned i;
+ uint32_t i;
FLAC__ASSERT(0 != decoder);
FLAC__ASSERT(0 != decoder->private_);
@@ -674,23 +607,22 @@ FLAC_API FLAC__bool FLAC__stream_decoder_finish(FLAC__StreamDecoder *decoder)
if(decoder->protected_->state == FLAC__STREAM_DECODER_UNINITIALIZED)
return true;
- /* see the comment in FLAC__seekable_stream_decoder_reset() as to why we
+ /* see the comment in FLAC__stream_decoder_reset() as to why we
* always call FLAC__MD5Final()
*/
FLAC__MD5Final(decoder->private_->computed_md5sum, &decoder->private_->md5context);
- if(decoder->private_->has_seek_table && 0 != decoder->private_->seek_table.data.seek_table.points) {
- free(decoder->private_->seek_table.data.seek_table.points);
- decoder->private_->seek_table.data.seek_table.points = 0;
- decoder->private_->has_seek_table = false;
- }
+ free(decoder->private_->seek_table.data.seek_table.points);
+ decoder->private_->seek_table.data.seek_table.points = 0;
+ decoder->private_->has_seek_table = false;
+
FLAC__bitreader_free(decoder->private_->input);
for(i = 0; i < FLAC__MAX_CHANNELS; i++) {
/* WATCHOUT:
- * FLAC__lpc_restore_signal_asm_ia32_mmx() requires that the
- * output arrays have a buffer of up to 3 zeroes in front
- * (at negative indices) for alignment purposes; we use 4
- * to keep the data well-aligned.
+ * FLAC__lpc_restore_signal_asm_ia32_mmx() and ..._intrin_sseN()
+ * require that the output arrays have a buffer of up to 3 zeroes
+ * in front (at negative indices) for alignment purposes;
+ * we use 4 to keep the data well-aligned.
*/
if(0 != decoder->private_->output[i]) {
free(decoder->private_->output[i]-4);
@@ -701,6 +633,10 @@ FLAC_API FLAC__bool FLAC__stream_decoder_finish(FLAC__StreamDecoder *decoder)
decoder->private_->residual_unaligned[i] = decoder->private_->residual[i] = 0;
}
}
+ if(0 != decoder->private_->side_subframe) {
+ free(decoder->private_->side_subframe);
+ decoder->private_->side_subframe = 0;
+ }
decoder->private_->output_capacity = 0;
decoder->private_->output_channels = 0;
@@ -760,9 +696,9 @@ FLAC_API FLAC__bool FLAC__stream_decoder_set_metadata_respond(FLAC__StreamDecode
FLAC__ASSERT(0 != decoder);
FLAC__ASSERT(0 != decoder->private_);
FLAC__ASSERT(0 != decoder->protected_);
- FLAC__ASSERT((unsigned)type <= FLAC__MAX_METADATA_TYPE_CODE);
+ FLAC__ASSERT((uint32_t)type <= FLAC__MAX_METADATA_TYPE_CODE);
/* double protection */
- if((unsigned)type > FLAC__MAX_METADATA_TYPE_CODE)
+ if((uint32_t)type > FLAC__MAX_METADATA_TYPE_CODE)
return false;
if(decoder->protected_->state != FLAC__STREAM_DECODER_UNINITIALIZED)
return false;
@@ -787,7 +723,7 @@ FLAC_API FLAC__bool FLAC__stream_decoder_set_metadata_respond_application(FLAC__
FLAC__ASSERT(0 != decoder->private_->metadata_filter_ids);
if(decoder->private_->metadata_filter_ids_count == decoder->private_->metadata_filter_ids_capacity) {
- if(0 == (decoder->private_->metadata_filter_ids = (FLAC__byte*)safe_realloc_mul_2op_(decoder->private_->metadata_filter_ids, decoder->private_->metadata_filter_ids_capacity, /*times*/2))) {
+ if(0 == (decoder->private_->metadata_filter_ids = safe_realloc_mul_2op_(decoder->private_->metadata_filter_ids, decoder->private_->metadata_filter_ids_capacity, /*times*/2))) {
decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
return false;
}
@@ -802,7 +738,7 @@ FLAC_API FLAC__bool FLAC__stream_decoder_set_metadata_respond_application(FLAC__
FLAC_API FLAC__bool FLAC__stream_decoder_set_metadata_respond_all(FLAC__StreamDecoder *decoder)
{
- unsigned i;
+ uint32_t i;
FLAC__ASSERT(0 != decoder);
FLAC__ASSERT(0 != decoder->private_);
FLAC__ASSERT(0 != decoder->protected_);
@@ -819,9 +755,9 @@ FLAC_API FLAC__bool FLAC__stream_decoder_set_metadata_ignore(FLAC__StreamDecoder
FLAC__ASSERT(0 != decoder);
FLAC__ASSERT(0 != decoder->private_);
FLAC__ASSERT(0 != decoder->protected_);
- FLAC__ASSERT((unsigned)type <= FLAC__MAX_METADATA_TYPE_CODE);
+ FLAC__ASSERT((uint32_t)type <= FLAC__MAX_METADATA_TYPE_CODE);
/* double protection */
- if((unsigned)type > FLAC__MAX_METADATA_TYPE_CODE)
+ if((uint32_t)type > FLAC__MAX_METADATA_TYPE_CODE)
return false;
if(decoder->protected_->state != FLAC__STREAM_DECODER_UNINITIALIZED)
return false;
@@ -846,7 +782,7 @@ FLAC_API FLAC__bool FLAC__stream_decoder_set_metadata_ignore_application(FLAC__S
FLAC__ASSERT(0 != decoder->private_->metadata_filter_ids);
if(decoder->private_->metadata_filter_ids_count == decoder->private_->metadata_filter_ids_capacity) {
- if(0 == (decoder->private_->metadata_filter_ids = (FLAC__byte*)safe_realloc_mul_2op_(decoder->private_->metadata_filter_ids, decoder->private_->metadata_filter_ids_capacity, /*times*/2))) {
+ if(0 == (decoder->private_->metadata_filter_ids = safe_realloc_mul_2op_(decoder->private_->metadata_filter_ids, decoder->private_->metadata_filter_ids_capacity, /*times*/2))) {
decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
return false;
}
@@ -897,7 +833,7 @@ FLAC_API FLAC__uint64 FLAC__stream_decoder_get_total_samples(const FLAC__StreamD
return decoder->private_->has_stream_info? decoder->private_->stream_info.data.stream_info.total_samples : 0;
}
-FLAC_API unsigned FLAC__stream_decoder_get_channels(const FLAC__StreamDecoder *decoder)
+FLAC_API uint32_t FLAC__stream_decoder_get_channels(const FLAC__StreamDecoder *decoder)
{
FLAC__ASSERT(0 != decoder);
FLAC__ASSERT(0 != decoder->protected_);
@@ -911,21 +847,21 @@ FLAC_API FLAC__ChannelAssignment FLAC__stream_decoder_get_channel_assignment(con
return decoder->protected_->channel_assignment;
}
-FLAC_API unsigned FLAC__stream_decoder_get_bits_per_sample(const FLAC__StreamDecoder *decoder)
+FLAC_API uint32_t FLAC__stream_decoder_get_bits_per_sample(const FLAC__StreamDecoder *decoder)
{
FLAC__ASSERT(0 != decoder);
FLAC__ASSERT(0 != decoder->protected_);
return decoder->protected_->bits_per_sample;
}
-FLAC_API unsigned FLAC__stream_decoder_get_sample_rate(const FLAC__StreamDecoder *decoder)
+FLAC_API uint32_t FLAC__stream_decoder_get_sample_rate(const FLAC__StreamDecoder *decoder)
{
FLAC__ASSERT(0 != decoder);
FLAC__ASSERT(0 != decoder->protected_);
return decoder->protected_->sample_rate;
}
-FLAC_API unsigned FLAC__stream_decoder_get_blocksize(const FLAC__StreamDecoder *decoder)
+FLAC_API uint32_t FLAC__stream_decoder_get_blocksize(const FLAC__StreamDecoder *decoder)
{
FLAC__ASSERT(0 != decoder);
FLAC__ASSERT(0 != decoder->protected_);
@@ -938,10 +874,9 @@ FLAC_API FLAC__bool FLAC__stream_decoder_get_decode_position(const FLAC__StreamD
FLAC__ASSERT(0 != decoder->private_);
FLAC__ASSERT(0 != position);
-#if FLAC__HAS_OGG
- if(decoder->private_->is_ogg)
+ if(FLAC__HAS_OGG && decoder->private_->is_ogg)
return false;
-#endif
+
if(0 == decoder->private_->tell_callback)
return false;
if(decoder->private_->tell_callback(decoder, position, decoder->private_->client_data) != FLAC__STREAM_DECODER_TELL_STATUS_OK)
@@ -954,14 +889,24 @@ FLAC_API FLAC__bool FLAC__stream_decoder_get_decode_position(const FLAC__StreamD
return true;
}
+FLAC_API const void *FLAC__stream_decoder_get_client_data(FLAC__StreamDecoder *decoder)
+{
+ return decoder->private_->client_data;
+}
+
FLAC_API FLAC__bool FLAC__stream_decoder_flush(FLAC__StreamDecoder *decoder)
{
FLAC__ASSERT(0 != decoder);
FLAC__ASSERT(0 != decoder->private_);
FLAC__ASSERT(0 != decoder->protected_);
+ if(!decoder->private_->internal_reset_hack && decoder->protected_->state == FLAC__STREAM_DECODER_UNINITIALIZED)
+ return false;
+
decoder->private_->samples_decoded = 0;
decoder->private_->do_md5_checking = false;
+ decoder->private_->last_seen_framesync = 0;
+ decoder->private_->last_frame_is_set = false;
#if FLAC__HAS_OGG
if(decoder->private_->is_ogg)
@@ -1005,17 +950,15 @@ FLAC_API FLAC__bool FLAC__stream_decoder_reset(FLAC__StreamDecoder *decoder)
if(decoder->private_->seek_callback && decoder->private_->seek_callback(decoder, 0, decoder->private_->client_data) == FLAC__STREAM_DECODER_SEEK_STATUS_ERROR)
return false; /* seekable and seek fails, reset fails */
}
- else
- decoder->private_->internal_reset_hack = false;
decoder->protected_->state = FLAC__STREAM_DECODER_SEARCH_FOR_METADATA;
decoder->private_->has_stream_info = false;
- if(decoder->private_->has_seek_table && 0 != decoder->private_->seek_table.data.seek_table.points) {
- free(decoder->private_->seek_table.data.seek_table.points);
- decoder->private_->seek_table.data.seek_table.points = 0;
- decoder->private_->has_seek_table = false;
- }
+
+ free(decoder->private_->seek_table.data.seek_table.points);
+ decoder->private_->seek_table.data.seek_table.points = 0;
+ decoder->private_->has_seek_table = false;
+
decoder->private_->do_md5_checking = decoder->protected_->md5_checking;
/*
* This goes in reset() and not flush() because according to the spec, a
@@ -1029,10 +972,19 @@ FLAC_API FLAC__bool FLAC__stream_decoder_reset(FLAC__StreamDecoder *decoder)
* FLAC__stream_decoder_finish() to make sure things are always cleaned up
* properly.
*/
+ if(!decoder->private_->internal_reset_hack) {
+ /* Only finish MD5 context when it has been initialized
+ * (i.e. when internal_reset_hack is not set) */
+ FLAC__MD5Final(decoder->private_->computed_md5sum, &decoder->private_->md5context);
+ }
+ else
+ decoder->private_->internal_reset_hack = false;
FLAC__MD5Init(&decoder->private_->md5context);
decoder->private_->first_frame_offset = 0;
decoder->private_->unparseable_frame_count = 0;
+ decoder->private_->last_seen_framesync = 0;
+ decoder->private_->last_frame_is_set = false;
return true;
}
@@ -1068,7 +1020,6 @@ FLAC_API FLAC__bool FLAC__stream_decoder_process_single(FLAC__StreamDecoder *dec
case FLAC__STREAM_DECODER_ABORTED:
return true;
default:
- FLAC__ASSERT(0);
return false;
}
}
@@ -1095,7 +1046,6 @@ FLAC_API FLAC__bool FLAC__stream_decoder_process_until_end_of_metadata(FLAC__Str
case FLAC__STREAM_DECODER_ABORTED:
return true;
default:
- FLAC__ASSERT(0);
return false;
}
}
@@ -1129,7 +1079,6 @@ FLAC_API FLAC__bool FLAC__stream_decoder_process_until_end_of_stream(FLAC__Strea
case FLAC__STREAM_DECODER_ABORTED:
return true;
default:
- FLAC__ASSERT(0);
return false;
}
}
@@ -1160,7 +1109,6 @@ FLAC_API FLAC__bool FLAC__stream_decoder_skip_single_frame(FLAC__StreamDecoder *
case FLAC__STREAM_DECODER_ABORTED:
return true;
default:
- FLAC__ASSERT(0);
return false;
}
}
@@ -1239,7 +1187,7 @@ FLAC_API FLAC__bool FLAC__stream_decoder_seek_absolute(FLAC__StreamDecoder *deco
*
***********************************************************************/
-unsigned FLAC__stream_decoder_get_input_bytes_unconsumed(const FLAC__StreamDecoder *decoder)
+uint32_t FLAC__stream_decoder_get_input_bytes_unconsumed(const FLAC__StreamDecoder *decoder)
{
FLAC__ASSERT(0 != decoder);
FLAC__ASSERT(FLAC__bitreader_is_consumed_byte_aligned(decoder->private_->input));
@@ -1255,9 +1203,7 @@ unsigned FLAC__stream_decoder_get_input_bytes_unconsumed(const FLAC__StreamDecod
void set_defaults_(FLAC__StreamDecoder *decoder)
{
-#if FLAC__HAS_OGG
decoder->private_->is_ogg = false;
-#endif
decoder->private_->read_callback = 0;
decoder->private_->seek_callback = 0;
decoder->private_->tell_callback = 0;
@@ -1290,9 +1236,6 @@ FILE *get_binary_stdin_(void)
*/
#if defined _MSC_VER || defined __MINGW32__
_setmode(_fileno(stdin), _O_BINARY);
-#elif defined __CYGWIN__
- /* almost certainly not needed for any modern Cygwin, but let's be safe... */
- setmode(_fileno(stdin), _O_BINARY);
#elif defined __EMX__
setmode(fileno(stdin), O_BINARY);
#endif
@@ -1300,12 +1243,13 @@ FILE *get_binary_stdin_(void)
return stdin;
}
-FLAC__bool allocate_output_(FLAC__StreamDecoder *decoder, unsigned size, unsigned channels)
+FLAC__bool allocate_output_(FLAC__StreamDecoder *decoder, uint32_t size, uint32_t channels, uint32_t bps)
{
- unsigned i;
+ uint32_t i;
FLAC__int32 *tmp;
- if(size <= decoder->private_->output_capacity && channels <= decoder->private_->output_channels)
+ if(size <= decoder->private_->output_capacity && channels <= decoder->private_->output_channels &&
+ (bps < 32 || decoder->private_->side_subframe != 0))
return true;
/* simply using realloc() is not practical because the number of channels may change mid-stream */
@@ -1321,14 +1265,19 @@ FLAC__bool allocate_output_(FLAC__StreamDecoder *decoder, unsigned size, unsigne
}
}
+ if(0 != decoder->private_->side_subframe) {
+ free(decoder->private_->side_subframe);
+ decoder->private_->side_subframe = 0;
+ }
+
for(i = 0; i < channels; i++) {
/* WATCHOUT:
- * FLAC__lpc_restore_signal_asm_ia32_mmx() requires that the
- * output arrays have a buffer of up to 3 zeroes in front
- * (at negative indices) for alignment purposes; we use 4
- * to keep the data well-aligned.
+ * FLAC__lpc_restore_signal_asm_ia32_mmx() and ..._intrin_sseN()
+ * require that the output arrays have a buffer of up to 3 zeroes
+ * in front (at negative indices) for alignment purposes;
+ * we use 4 to keep the data well-aligned.
*/
- tmp = (FLAC__int32*)safe_malloc_muladd2_(sizeof(FLAC__int32), /*times (*/size, /*+*/4/*)*/);
+ tmp = safe_malloc_muladd2_(sizeof(FLAC__int32), /*times (*/size, /*+*/4/*)*/);
if(tmp == 0) {
decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
return false;
@@ -1336,15 +1285,20 @@ FLAC__bool allocate_output_(FLAC__StreamDecoder *decoder, unsigned size, unsigne
memset(tmp, 0, sizeof(FLAC__int32)*4);
decoder->private_->output[i] = tmp + 4;
- /* WATCHOUT:
- * minimum of quadword alignment for PPC vector optimizations is REQUIRED:
- */
if(!FLAC__memory_alloc_aligned_int32_array(size, &decoder->private_->residual_unaligned[i], &decoder->private_->residual[i])) {
decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
return false;
}
}
+ if(bps == 32) {
+ decoder->private_->side_subframe = safe_malloc_mul_2op_p(sizeof(FLAC__int64), /*times (*/size);
+ if(decoder->private_->side_subframe == NULL) {
+ decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
+ return false;
+ }
+ }
+
decoder->private_->output_capacity = size;
decoder->private_->output_channels = channels;
@@ -1368,7 +1322,7 @@ FLAC__bool has_id_filtered_(FLAC__StreamDecoder *decoder, FLAC__byte *id)
FLAC__bool find_metadata_(FLAC__StreamDecoder *decoder)
{
FLAC__uint32 x;
- unsigned i, id;
+ uint32_t i, id;
FLAC__bool first = true;
FLAC__ASSERT(FLAC__bitreader_is_consumed_byte_aligned(decoder->private_->input));
@@ -1388,6 +1342,10 @@ FLAC__bool find_metadata_(FLAC__StreamDecoder *decoder)
id = 0;
continue;
}
+
+ if(id >= 3)
+ return false;
+
if(x == ID3V2_TAG_[id]) {
id++;
i = 0;
@@ -1409,7 +1367,7 @@ FLAC__bool find_metadata_(FLAC__StreamDecoder *decoder)
decoder->private_->lookahead = (FLAC__byte)x;
decoder->private_->cached = true;
}
- else if(x >> 2 == 0x3e) { /* MAGIC NUMBER for the last 6 sync bits */
+ else if(x >> 1 == 0x7c) { /* MAGIC NUMBER for the last 6 sync bits and reserved 7th bit */
decoder->private_->header_warmup[1] = (FLAC__byte)x;
decoder->protected_->state = FLAC__STREAM_DECODER_READ_FRAME;
return true;
@@ -1454,22 +1412,27 @@ FLAC__bool read_metadata_(FLAC__StreamDecoder *decoder)
decoder->private_->metadata_callback(decoder, &decoder->private_->stream_info, decoder->private_->client_data);
}
else if(type == FLAC__METADATA_TYPE_SEEKTABLE) {
- if(!read_metadata_seektable_(decoder, is_last, length))
- return false;
+ /* just in case we already have a seek table, and reading the next one fails: */
+ decoder->private_->has_seek_table = false;
+
+ if(length > 0) {
+ if(!read_metadata_seektable_(decoder, is_last, length))
+ return false;
- decoder->private_->has_seek_table = true;
- if(!decoder->private_->is_seeking && decoder->private_->metadata_filter[FLAC__METADATA_TYPE_SEEKTABLE] && decoder->private_->metadata_callback)
- decoder->private_->metadata_callback(decoder, &decoder->private_->seek_table, decoder->private_->client_data);
+ decoder->private_->has_seek_table = true;
+ if(!decoder->private_->is_seeking && decoder->private_->metadata_filter[FLAC__METADATA_TYPE_SEEKTABLE] && decoder->private_->metadata_callback)
+ decoder->private_->metadata_callback(decoder, &decoder->private_->seek_table, decoder->private_->client_data);
+ }
}
else {
FLAC__bool skip_it = !decoder->private_->metadata_filter[type];
- unsigned real_length = length;
+ uint32_t real_length = length;
FLAC__StreamMetadata block;
+ memset(&block, 0, sizeof(block));
block.is_last = is_last;
block.type = (FLAC__MetadataType)type;
block.length = length;
- memset(&block.data, 0, sizeof(block.data));
if(type == FLAC__METADATA_TYPE_APPLICATION) {
if(!FLAC__bitreader_read_byte_block_aligned_no_crc(decoder->private_->input, block.data.application.id, FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8))
@@ -1491,36 +1454,38 @@ FLAC__bool read_metadata_(FLAC__StreamDecoder *decoder)
return false; /* read_callback_ sets the state for us */
}
else {
+ FLAC__bool ok = true;
+ FLAC__bitreader_set_limit(decoder->private_->input, real_length*8);
switch(type) {
case FLAC__METADATA_TYPE_PADDING:
/* skip the padding bytes */
if(!FLAC__bitreader_skip_byte_block_aligned_no_crc(decoder->private_->input, real_length))
- return false; /* read_callback_ sets the state for us */
+ ok = false; /* read_callback_ sets the state for us */
break;
case FLAC__METADATA_TYPE_APPLICATION:
/* remember, we read the ID already */
if(real_length > 0) {
- if(0 == (block.data.application.data = (FLAC__byte*)malloc(real_length))) {
+ if(0 == (block.data.application.data = malloc(real_length))) {
decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
- return false;
+ ok = false;
}
- if(!FLAC__bitreader_read_byte_block_aligned_no_crc(decoder->private_->input, block.data.application.data, real_length))
- return false; /* read_callback_ sets the state for us */
+ else if(!FLAC__bitreader_read_byte_block_aligned_no_crc(decoder->private_->input, block.data.application.data, real_length))
+ ok = false; /* read_callback_ sets the state for us */
}
else
block.data.application.data = 0;
break;
case FLAC__METADATA_TYPE_VORBIS_COMMENT:
- if(!read_metadata_vorbiscomment_(decoder, &block.data.vorbis_comment))
- return false;
+ if(!read_metadata_vorbiscomment_(decoder, &block.data.vorbis_comment, real_length))
+ ok = false;
break;
case FLAC__METADATA_TYPE_CUESHEET:
if(!read_metadata_cuesheet_(decoder, &block.data.cue_sheet))
- return false;
+ ok = false;
break;
case FLAC__METADATA_TYPE_PICTURE:
if(!read_metadata_picture_(decoder, &block.data.picture))
- return false;
+ ok = false;
break;
case FLAC__METADATA_TYPE_STREAMINFO:
case FLAC__METADATA_TYPE_SEEKTABLE:
@@ -1528,18 +1493,28 @@ FLAC__bool read_metadata_(FLAC__StreamDecoder *decoder)
break;
default:
if(real_length > 0) {
- if(0 == (block.data.unknown.data = (FLAC__byte*)malloc(real_length))) {
+ if(0 == (block.data.unknown.data = malloc(real_length))) {
decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
- return false;
+ ok = false;
}
- if(!FLAC__bitreader_read_byte_block_aligned_no_crc(decoder->private_->input, block.data.unknown.data, real_length))
- return false; /* read_callback_ sets the state for us */
+ else if(!FLAC__bitreader_read_byte_block_aligned_no_crc(decoder->private_->input, block.data.unknown.data, real_length))
+ ok = false; /* read_callback_ sets the state for us */
}
else
block.data.unknown.data = 0;
break;
}
- if(!decoder->private_->is_seeking && decoder->private_->metadata_callback)
+ if(FLAC__bitreader_limit_remaining(decoder->private_->input) > 0) {
+ /* Content in metadata block didn't fit in block length
+ * We cannot know whether the length or the content was
+ * corrupt, so stop parsing metadata */
+ send_error_to_client_(decoder, FLAC__STREAM_DECODER_ERROR_STATUS_BAD_METADATA);
+ if(decoder->protected_->state == FLAC__STREAM_DECODER_READ_METADATA)
+ decoder->protected_->state = FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC;
+ ok = false;
+ }
+ FLAC__bitreader_remove_limit(decoder->private_->input);
+ if(ok && !decoder->private_->is_seeking && decoder->private_->metadata_callback)
decoder->private_->metadata_callback(decoder, &block, decoder->private_->client_data);
/* now we have to free any malloc()ed data in the block */
@@ -1561,7 +1536,7 @@ FLAC__bool read_metadata_(FLAC__StreamDecoder *decoder)
free(block.data.vorbis_comment.comments);
break;
case FLAC__METADATA_TYPE_CUESHEET:
- if(block.data.cue_sheet.num_tracks > 0)
+ if(block.data.cue_sheet.num_tracks > 0 && 0 != block.data.cue_sheet.tracks)
for(i = 0; i < block.data.cue_sheet.num_tracks; i++)
if(0 != block.data.cue_sheet.tracks[i].indices)
free(block.data.cue_sheet.tracks[i].indices);
@@ -1584,6 +1559,9 @@ FLAC__bool read_metadata_(FLAC__StreamDecoder *decoder)
free(block.data.unknown.data);
break;
}
+
+ if(!ok) /* anything that unsets "ok" should also make sure decoder->protected_->state is updated */
+ return false;
}
}
@@ -1597,10 +1575,10 @@ FLAC__bool read_metadata_(FLAC__StreamDecoder *decoder)
return true;
}
-FLAC__bool read_metadata_streaminfo_(FLAC__StreamDecoder *decoder, FLAC__bool is_last, unsigned length)
+FLAC__bool read_metadata_streaminfo_(FLAC__StreamDecoder *decoder, FLAC__bool is_last, uint32_t length)
{
FLAC__uint32 x;
- unsigned bits, used_bits = 0;
+ uint32_t bits, used_bits = 0;
FLAC__ASSERT(FLAC__bitreader_is_consumed_byte_aligned(decoder->private_->input));
@@ -1661,6 +1639,8 @@ FLAC__bool read_metadata_streaminfo_(FLAC__StreamDecoder *decoder, FLAC__bool is
/* skip the rest of the block */
FLAC__ASSERT(used_bits % 8 == 0);
+ if (length < (used_bits / 8))
+ return false; /* read_callback_ sets the state for us */
length -= (used_bits / 8);
if(!FLAC__bitreader_skip_byte_block_aligned_no_crc(decoder->private_->input, length))
return false; /* read_callback_ sets the state for us */
@@ -1668,7 +1648,7 @@ FLAC__bool read_metadata_streaminfo_(FLAC__StreamDecoder *decoder, FLAC__bool is
return true;
}
-FLAC__bool read_metadata_seektable_(FLAC__StreamDecoder *decoder, FLAC__bool is_last, unsigned length)
+FLAC__bool read_metadata_seektable_(FLAC__StreamDecoder *decoder, FLAC__bool is_last, uint32_t length)
{
FLAC__uint32 i, x;
FLAC__uint64 xx;
@@ -1679,10 +1659,15 @@ FLAC__bool read_metadata_seektable_(FLAC__StreamDecoder *decoder, FLAC__bool is_
decoder->private_->seek_table.is_last = is_last;
decoder->private_->seek_table.length = length;
+ if(length % FLAC__STREAM_METADATA_SEEKPOINT_LENGTH) {
+ FLAC__bitreader_limit_invalidate(decoder->private_->input);
+ return false;
+ }
+
decoder->private_->seek_table.data.seek_table.num_points = length / FLAC__STREAM_METADATA_SEEKPOINT_LENGTH;
/* use realloc since we may pass through here several times (e.g. after seeking) */
- if(0 == (decoder->private_->seek_table.data.seek_table.points = (FLAC__StreamMetadata_SeekPoint*)safe_realloc_mul_2op_(decoder->private_->seek_table.data.seek_table.points, decoder->private_->seek_table.data.seek_table.num_points, /*times*/sizeof(FLAC__StreamMetadata_SeekPoint)))) {
+ if(0 == (decoder->private_->seek_table.data.seek_table.points = safe_realloc_mul_2op_(decoder->private_->seek_table.data.seek_table.points, decoder->private_->seek_table.data.seek_table.num_points, /*times*/sizeof(FLAC__StreamMetadata_SeekPoint)))) {
decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
return false;
}
@@ -1700,68 +1685,110 @@ FLAC__bool read_metadata_seektable_(FLAC__StreamDecoder *decoder, FLAC__bool is_
decoder->private_->seek_table.data.seek_table.points[i].frame_samples = x;
}
length -= (decoder->private_->seek_table.data.seek_table.num_points * FLAC__STREAM_METADATA_SEEKPOINT_LENGTH);
- /* if there is a partial point left, skip over it */
- if(length > 0) {
- /*@@@ do a send_error_to_client_() here? there's an argument for either way */
- if(!FLAC__bitreader_skip_byte_block_aligned_no_crc(decoder->private_->input, length))
- return false; /* read_callback_ sets the state for us */
- }
+
+ FLAC__ASSERT(length == 0);
return true;
}
-FLAC__bool read_metadata_vorbiscomment_(FLAC__StreamDecoder *decoder, FLAC__StreamMetadata_VorbisComment *obj)
+FLAC__bool read_metadata_vorbiscomment_(FLAC__StreamDecoder *decoder, FLAC__StreamMetadata_VorbisComment *obj, uint32_t length)
{
FLAC__uint32 i;
FLAC__ASSERT(FLAC__bitreader_is_consumed_byte_aligned(decoder->private_->input));
/* read vendor string */
- FLAC__ASSERT(FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN == 32);
- if(!FLAC__bitreader_read_uint32_little_endian(decoder->private_->input, &obj->vendor_string.length))
- return false; /* read_callback_ sets the state for us */
- if(obj->vendor_string.length > 0) {
- if(0 == (obj->vendor_string.entry = (FLAC__byte*)safe_malloc_add_2op_(obj->vendor_string.length, /*+*/1))) {
+ if (length >= 8) {
+ length -= 8; /* vendor string length + num comments entries alone take 8 bytes */
+ FLAC__ASSERT(FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN == 32);
+ if (!FLAC__bitreader_read_uint32_little_endian(decoder->private_->input, &obj->vendor_string.length))
+ return false; /* read_callback_ sets the state for us */
+ if (length < obj->vendor_string.length) {
+ obj->vendor_string.length = 0;
+ obj->vendor_string.entry = 0;
+ goto skip;
+ }
+ else
+ length -= obj->vendor_string.length;
+ if (0 == (obj->vendor_string.entry = safe_malloc_add_2op_(obj->vendor_string.length, /*+*/1))) {
decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
return false;
}
- if(!FLAC__bitreader_read_byte_block_aligned_no_crc(decoder->private_->input, obj->vendor_string.entry, obj->vendor_string.length))
+ if (!FLAC__bitreader_read_byte_block_aligned_no_crc(decoder->private_->input, obj->vendor_string.entry, obj->vendor_string.length))
return false; /* read_callback_ sets the state for us */
obj->vendor_string.entry[obj->vendor_string.length] = '\0';
- }
- else
- obj->vendor_string.entry = 0;
- /* read num comments */
- FLAC__ASSERT(FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN == 32);
- if(!FLAC__bitreader_read_uint32_little_endian(decoder->private_->input, &obj->num_comments))
- return false; /* read_callback_ sets the state for us */
+ /* read num comments */
+ FLAC__ASSERT(FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN == 32);
+ if (!FLAC__bitreader_read_uint32_little_endian(decoder->private_->input, &obj->num_comments))
+ return false; /* read_callback_ sets the state for us */
- /* read comments */
- if(obj->num_comments > 0) {
- if(0 == (obj->comments = (FLAC__StreamMetadata_VorbisComment_Entry*)safe_malloc_mul_2op_(obj->num_comments, /*times*/sizeof(FLAC__StreamMetadata_VorbisComment_Entry)))) {
- decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
+ /* read comments */
+ if (obj->num_comments > 100000) {
+ /* Possibly malicious file. */
+ obj->num_comments = 0;
return false;
}
- for(i = 0; i < obj->num_comments; i++) {
- FLAC__ASSERT(FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN == 32);
- if(!FLAC__bitreader_read_uint32_little_endian(decoder->private_->input, &obj->comments[i].length))
- return false; /* read_callback_ sets the state for us */
- if(obj->comments[i].length > 0) {
- if(0 == (obj->comments[i].entry = (FLAC__byte*)safe_malloc_add_2op_(obj->comments[i].length, /*+*/1))) {
+ if (obj->num_comments > 0) {
+ if (0 == (obj->comments = safe_malloc_mul_2op_p(obj->num_comments, /*times*/sizeof(FLAC__StreamMetadata_VorbisComment_Entry)))) {
+ obj->num_comments = 0;
+ decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
+ return false;
+ }
+ for (i = 0; i < obj->num_comments; i++) {
+ /* Initialize here just to make sure. */
+ obj->comments[i].length = 0;
+ obj->comments[i].entry = 0;
+
+ FLAC__ASSERT(FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN == 32);
+ if (length < 4) {
+ obj->num_comments = i;
+ goto skip;
+ }
+ else
+ length -= 4;
+ if (!FLAC__bitreader_read_uint32_little_endian(decoder->private_->input, &obj->comments[i].length)) {
+ obj->num_comments = i;
+ return false; /* read_callback_ sets the state for us */
+ }
+ if (length < obj->comments[i].length) {
+ obj->num_comments = i;
+ FLAC__bitreader_limit_invalidate(decoder->private_->input);
+ return false;
+ }
+ else
+ length -= obj->comments[i].length;
+ if (0 == (obj->comments[i].entry = safe_malloc_add_2op_(obj->comments[i].length, /*+*/1))) {
decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
+ obj->num_comments = i;
return false;
}
- if(!FLAC__bitreader_read_byte_block_aligned_no_crc(decoder->private_->input, obj->comments[i].entry, obj->comments[i].length))
- return false; /* read_callback_ sets the state for us */
+ memset (obj->comments[i].entry, 0, obj->comments[i].length) ;
+ if (!FLAC__bitreader_read_byte_block_aligned_no_crc(decoder->private_->input, obj->comments[i].entry, obj->comments[i].length)) {
+ /* Current i-th entry is bad, so we delete it. */
+ free (obj->comments[i].entry) ;
+ obj->comments[i].entry = NULL ;
+ obj->num_comments = i;
+ goto skip;
+ }
obj->comments[i].entry[obj->comments[i].length] = '\0';
}
- else
- obj->comments[i].entry = 0;
}
}
else {
- obj->comments = 0;
+ FLAC__bitreader_limit_invalidate(decoder->private_->input);
+ return false;
+ }
+
+ skip:
+ if (length > 0) {
+ /* length > 0 can only happen on files with invalid data in comments */
+ if(obj->num_comments < 1) {
+ free(obj->comments);
+ obj->comments = NULL;
+ }
+ FLAC__bitreader_limit_invalidate(decoder->private_->input);
+ return false;
}
return true;
@@ -1794,7 +1821,7 @@ FLAC__bool read_metadata_cuesheet_(FLAC__StreamDecoder *decoder, FLAC__StreamMet
obj->num_tracks = x;
if(obj->num_tracks > 0) {
- if(0 == (obj->tracks = (FLAC__StreamMetadata_CueSheet_Track*)safe_calloc_(obj->num_tracks, sizeof(FLAC__StreamMetadata_CueSheet_Track)))) {
+ if(0 == (obj->tracks = safe_calloc_(obj->num_tracks, sizeof(FLAC__StreamMetadata_CueSheet_Track)))) {
decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
return false;
}
@@ -1827,18 +1854,18 @@ FLAC__bool read_metadata_cuesheet_(FLAC__StreamDecoder *decoder, FLAC__StreamMet
track->num_indices = (FLAC__byte)x;
if(track->num_indices > 0) {
- if(0 == (track->indices = (FLAC__StreamMetadata_CueSheet_Index*)safe_calloc_(track->num_indices, sizeof(FLAC__StreamMetadata_CueSheet_Index)))) {
+ if(0 == (track->indices = safe_calloc_(track->num_indices, sizeof(FLAC__StreamMetadata_CueSheet_Index)))) {
decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
return false;
}
for(j = 0; j < track->num_indices; j++) {
- FLAC__StreamMetadata_CueSheet_Index *index = &track->indices[j];
- if(!FLAC__bitreader_read_raw_uint64(decoder->private_->input, &index->offset, FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN))
+ FLAC__StreamMetadata_CueSheet_Index *indx = &track->indices[j];
+ if(!FLAC__bitreader_read_raw_uint64(decoder->private_->input, &indx->offset, FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN))
return false; /* read_callback_ sets the state for us */
if(!FLAC__bitreader_read_raw_uint32(decoder->private_->input, &x, FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN))
return false; /* read_callback_ sets the state for us */
- index->number = (FLAC__byte)x;
+ indx->number = (FLAC__byte)x;
if(!FLAC__bitreader_skip_bits_no_crc(decoder->private_->input, FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN))
return false; /* read_callback_ sets the state for us */
@@ -1846,6 +1873,10 @@ FLAC__bool read_metadata_cuesheet_(FLAC__StreamDecoder *decoder, FLAC__StreamMet
}
}
}
+ else { /* obj->num_tracks == 0 */
+ FLAC__bitreader_limit_invalidate(decoder->private_->input);
+ return false;
+ }
return true;
}
@@ -1859,12 +1890,19 @@ FLAC__bool read_metadata_picture_(FLAC__StreamDecoder *decoder, FLAC__StreamMeta
/* read type */
if(!FLAC__bitreader_read_raw_uint32(decoder->private_->input, &x, FLAC__STREAM_METADATA_PICTURE_TYPE_LEN))
return false; /* read_callback_ sets the state for us */
- obj->type = x;
+ if(x < FLAC__STREAM_METADATA_PICTURE_TYPE_UNDEFINED)
+ obj->type = x;
+ else
+ obj->type = FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER;
/* read MIME type */
if(!FLAC__bitreader_read_raw_uint32(decoder->private_->input, &x, FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN))
return false; /* read_callback_ sets the state for us */
- if(0 == (obj->mime_type = (char*)safe_malloc_add_2op_(x, /*+*/1))) {
+ if(FLAC__bitreader_limit_remaining(decoder->private_->input) < x){
+ FLAC__bitreader_limit_invalidate(decoder->private_->input);
+ return false;
+ }
+ if(0 == (obj->mime_type = safe_malloc_add_2op_(x, /*+*/1))) {
decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
return false;
}
@@ -1877,7 +1915,11 @@ FLAC__bool read_metadata_picture_(FLAC__StreamDecoder *decoder, FLAC__StreamMeta
/* read description */
if(!FLAC__bitreader_read_raw_uint32(decoder->private_->input, &x, FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN))
return false; /* read_callback_ sets the state for us */
- if(0 == (obj->description = (FLAC__byte*)safe_malloc_add_2op_(x, /*+*/1))) {
+ if(FLAC__bitreader_limit_remaining(decoder->private_->input) < x){
+ FLAC__bitreader_limit_invalidate(decoder->private_->input);
+ return false;
+ }
+ if(0 == (obj->description = safe_malloc_add_2op_(x, /*+*/1))) {
decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
return false;
}
@@ -1906,7 +1948,11 @@ FLAC__bool read_metadata_picture_(FLAC__StreamDecoder *decoder, FLAC__StreamMeta
/* read data */
if(!FLAC__bitreader_read_raw_uint32(decoder->private_->input, &(obj->data_length), FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN))
return false; /* read_callback_ sets the state for us */
- if(0 == (obj->data = (FLAC__byte*)safe_malloc_(obj->data_length))) {
+ if(FLAC__bitreader_limit_remaining(decoder->private_->input) < obj->data_length){
+ FLAC__bitreader_limit_invalidate(decoder->private_->input);
+ return false;
+ }
+ if(0 == (obj->data = safe_malloc_(obj->data_length))) {
decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
return false;
}
@@ -1921,7 +1967,7 @@ FLAC__bool read_metadata_picture_(FLAC__StreamDecoder *decoder, FLAC__StreamMeta
FLAC__bool skip_id3v2_tag_(FLAC__StreamDecoder *decoder)
{
FLAC__uint32 x;
- unsigned i, skip;
+ uint32_t i, skip;
/* skip the version and flags bytes */
if(!FLAC__bitreader_read_raw_uint32(decoder->private_->input, &x, 24))
@@ -1945,15 +1991,6 @@ FLAC__bool frame_sync_(FLAC__StreamDecoder *decoder)
FLAC__uint32 x;
FLAC__bool first = true;
- /* If we know the total number of samples in the stream, stop if we've read that many. */
- /* This will stop us, for example, from wasting time trying to sync on an ID3V1 tag. */
- if(FLAC__stream_decoder_get_total_samples(decoder) > 0) {
- if(decoder->private_->samples_decoded >= FLAC__stream_decoder_get_total_samples(decoder)) {
- decoder->protected_->state = FLAC__STREAM_DECODER_END_OF_STREAM;
- return true;
- }
- }
-
/* make sure we're byte aligned */
if(!FLAC__bitreader_is_consumed_byte_aligned(decoder->private_->input)) {
if(!FLAC__bitreader_read_raw_uint32(decoder->private_->input, &x, FLAC__bitreader_bits_left_for_byte_alignment(decoder->private_->input)))
@@ -1980,9 +2017,15 @@ FLAC__bool frame_sync_(FLAC__StreamDecoder *decoder)
decoder->private_->lookahead = (FLAC__byte)x;
decoder->private_->cached = true;
}
- else if(x >> 2 == 0x3e) { /* MAGIC NUMBER for the last 6 sync bits */
+ else if(x >> 1 == 0x7c) { /* MAGIC NUMBER for the last 6 sync bits and reserved 7th bit */
decoder->private_->header_warmup[1] = (FLAC__byte)x;
decoder->protected_->state = FLAC__STREAM_DECODER_READ_FRAME;
+
+ /* Save location so we can rewind in case the frame turns
+ * out to be invalid after the header */
+ FLAC__bitreader_set_framesync_location(decoder->private_->input);
+ if(!FLAC__stream_decoder_get_decode_position(decoder, &decoder->private_->last_seen_framesync))
+ decoder->private_->last_seen_framesync = 0;
return true;
}
}
@@ -1997,13 +2040,13 @@ FLAC__bool frame_sync_(FLAC__StreamDecoder *decoder)
FLAC__bool read_frame_(FLAC__StreamDecoder *decoder, FLAC__bool *got_a_frame, FLAC__bool do_full_decode)
{
- unsigned channel;
- unsigned i;
- FLAC__int32 mid, side;
- unsigned frame_crc; /* the one we calculate from the input stream */
+ uint32_t channel;
+ uint32_t i;
+ uint32_t frame_crc; /* the one we calculate from the input stream */
FLAC__uint32 x;
*got_a_frame = false;
+ decoder->private_->side_subframe_in_use = false;
/* init the CRC */
frame_crc = 0;
@@ -2015,13 +2058,13 @@ FLAC__bool read_frame_(FLAC__StreamDecoder *decoder, FLAC__bool *got_a_frame, FL
return false;
if(decoder->protected_->state == FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC) /* means we didn't sync on a valid header */
return true;
- if(!allocate_output_(decoder, decoder->private_->frame.header.blocksize, decoder->private_->frame.header.channels))
+ if(!allocate_output_(decoder, decoder->private_->frame.header.blocksize, decoder->private_->frame.header.channels, decoder->private_->frame.header.bits_per_sample))
return false;
for(channel = 0; channel < decoder->private_->frame.header.channels; channel++) {
/*
* first figure the correct bits-per-sample of the subframe
*/
- unsigned bps = decoder->private_->frame.header.bits_per_sample;
+ uint32_t bps = decoder->private_->frame.header.bits_per_sample;
switch(decoder->private_->frame.header.channel_assignment) {
case FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT:
/* no adjustment needed */
@@ -2047,93 +2090,184 @@ FLAC__bool read_frame_(FLAC__StreamDecoder *decoder, FLAC__bool *got_a_frame, FL
/*
* now read it
*/
- if(!read_subframe_(decoder, channel, bps, do_full_decode))
- return false;
- if(decoder->protected_->state == FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC) /* means bad sync or got corruption */
- return true;
+ if(!read_subframe_(decoder, channel, bps, do_full_decode)){
+ /* read_callback_ sets the state for us */
+ if(decoder->protected_->state == FLAC__STREAM_DECODER_END_OF_STREAM)
+ break;
+ else
+ return false;
+ }
+ if(decoder->protected_->state != FLAC__STREAM_DECODER_READ_FRAME)
+ break;
}
- if(!read_zero_padding_(decoder))
- return false;
- if(decoder->protected_->state == FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC) /* means bad sync or got corruption (i.e. "zero bits" were not all zeroes) */
- return true;
+
+ if(decoder->protected_->state != FLAC__STREAM_DECODER_END_OF_STREAM)
+ if(!read_zero_padding_(decoder))
+ return false;
/*
* Read the frame CRC-16 from the footer and check
*/
- frame_crc = FLAC__bitreader_get_read_crc16(decoder->private_->input);
- if(!FLAC__bitreader_read_raw_uint32(decoder->private_->input, &x, FLAC__FRAME_FOOTER_CRC_LEN))
- return false; /* read_callback_ sets the state for us */
- if(frame_crc == x) {
+ if(decoder->protected_->state == FLAC__STREAM_DECODER_READ_FRAME) {
+ frame_crc = FLAC__bitreader_get_read_crc16(decoder->private_->input);
+ if(!FLAC__bitreader_read_raw_uint32(decoder->private_->input, &x, FLAC__FRAME_FOOTER_CRC_LEN)) {
+ /* read_callback_ sets the state for us */
+ if(decoder->protected_->state != FLAC__STREAM_DECODER_END_OF_STREAM)
+ return false;
+ }
+#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+ }
+ if(decoder->protected_->state == FLAC__STREAM_DECODER_READ_FRAME && frame_crc == x) {
+#endif
if(do_full_decode) {
/* Undo any special channel coding */
- switch(decoder->private_->frame.header.channel_assignment) {
- case FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT:
- /* do nothing */
- break;
- case FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE:
- FLAC__ASSERT(decoder->private_->frame.header.channels == 2);
- for(i = 0; i < decoder->private_->frame.header.blocksize; i++)
- decoder->private_->output[1][i] = decoder->private_->output[0][i] - decoder->private_->output[1][i];
- break;
- case FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE:
- FLAC__ASSERT(decoder->private_->frame.header.channels == 2);
- for(i = 0; i < decoder->private_->frame.header.blocksize; i++)
- decoder->private_->output[0][i] += decoder->private_->output[1][i];
- break;
- case FLAC__CHANNEL_ASSIGNMENT_MID_SIDE:
- FLAC__ASSERT(decoder->private_->frame.header.channels == 2);
- for(i = 0; i < decoder->private_->frame.header.blocksize; i++) {
-#if 1
- mid = decoder->private_->output[0][i];
- side = decoder->private_->output[1][i];
- mid <<= 1;
- mid |= (side & 1); /* i.e. if 'side' is odd... */
- decoder->private_->output[0][i] = (mid + side) >> 1;
- decoder->private_->output[1][i] = (mid - side) >> 1;
-#else
- /* OPT: without 'side' temp variable */
- mid = (decoder->private_->output[0][i] << 1) | (decoder->private_->output[1][i] & 1); /* i.e. if 'side' is odd... */
- decoder->private_->output[0][i] = (mid + decoder->private_->output[1][i]) >> 1;
- decoder->private_->output[1][i] = (mid - decoder->private_->output[1][i]) >> 1;
-#endif
+ undo_channel_coding(decoder);
+ /* Check whether decoded data actually fits bps */
+ for(channel = 0; channel < decoder->private_->frame.header.channels; channel++) {
+ for(i = 0; i < decoder->private_->frame.header.blocksize; i++) {
+ int shift_bits = 32 - decoder->private_->frame.header.bits_per_sample;
+ /* Check whether shift_bits MSBs are 'empty' by shifting up and down */
+ if((decoder->private_->output[channel][i] < (INT32_MIN >> shift_bits)) ||
+ (decoder->private_->output[channel][i] > (INT32_MAX >> shift_bits))) {
+ /* Bad frame, emit error */
+ send_error_to_client_(decoder, FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH);
+ decoder->protected_->state = FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC;
+ break;
}
- break;
- default:
- FLAC__ASSERT(0);
- break;
+ }
}
}
}
- else {
- /* Bad frame, emit error and zero the output signal */
+#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+ else if (decoder->protected_->state == FLAC__STREAM_DECODER_READ_FRAME) {
+ /* Bad frame, emit error */
send_error_to_client_(decoder, FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH);
- if(do_full_decode) {
- for(channel = 0; channel < decoder->private_->frame.header.channels; channel++) {
- memset(decoder->private_->output[channel], 0, sizeof(FLAC__int32) * decoder->private_->frame.header.blocksize);
+ decoder->protected_->state = FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC;
+ }
+#endif
+
+ /* Check whether frames are missing, if so, add silence to compensate */
+ if(decoder->private_->last_frame_is_set && decoder->protected_->state == FLAC__STREAM_DECODER_READ_FRAME && !decoder->private_->is_seeking && do_full_decode) {
+ FLAC__ASSERT(decoder->private_->frame.header.number_type == FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER);
+ FLAC__ASSERT(decoder->private_->last_frame.header.number_type == FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER);
+ if(decoder->private_->last_frame.header.number.sample_number + decoder->private_->last_frame.header.blocksize < decoder->private_->frame.header.number.sample_number) {
+ uint32_t padding_samples_needed = decoder->private_->frame.header.number.sample_number - (decoder->private_->last_frame.header.number.sample_number + decoder->private_->last_frame.header.blocksize);
+
+ /* Do some extra validation to assure last frame an current frame
+ * header are both valid before adding silence inbetween
+ * Technically both frames could be valid with differing sample_rates,
+ * channels and bits_per_sample, but it is quite rare */
+ if(decoder->private_->last_frame.header.sample_rate == decoder->private_->frame.header.sample_rate &&
+ decoder->private_->last_frame.header.channels == decoder->private_->frame.header.channels &&
+ decoder->private_->last_frame.header.bits_per_sample == decoder->private_->frame.header.bits_per_sample &&
+ decoder->private_->last_frame.header.blocksize >= 16) {
+ FLAC__Frame empty_frame;
+ FLAC__int32 * empty_buffer[FLAC__MAX_CHANNELS] = {NULL};
+ empty_frame.header = decoder->private_->last_frame.header;
+ empty_frame.footer.crc = 0;
+ for(i = 0; i < empty_frame.header.channels; i++) {
+ empty_buffer[i] = safe_calloc_(empty_frame.header.blocksize, sizeof(FLAC__int32));
+ if(empty_buffer[i] == NULL) {
+ for(i = 0; i < empty_frame.header.channels; i++)
+ if(empty_buffer[i] != NULL)
+ free(empty_buffer[i]);
+ decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
+ return false;
+ }
+ }
+ /* No repairs larger than 5 seconds or 50 frames are made, to not
+ * unexpectedly create enormous files when one of the headers was
+ * corrupt after all */
+ if(padding_samples_needed > (5*empty_frame.header.sample_rate))
+ padding_samples_needed = 5*empty_frame.header.sample_rate;
+ if(padding_samples_needed > (50*empty_frame.header.blocksize))
+ padding_samples_needed = 50*empty_frame.header.blocksize;
+ while(padding_samples_needed){
+ empty_frame.header.number.sample_number += empty_frame.header.blocksize;
+ if(padding_samples_needed < empty_frame.header.blocksize)
+ empty_frame.header.blocksize = padding_samples_needed;
+ padding_samples_needed -= empty_frame.header.blocksize;
+ decoder->protected_->blocksize = empty_frame.header.blocksize;
+
+ FLAC__ASSERT(empty_frame.header.number_type == FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER);
+ decoder->private_->samples_decoded = empty_frame.header.number.sample_number + empty_frame.header.blocksize;
+
+ for(channel = 0; channel < empty_frame.header.channels; channel++) {
+ empty_frame.subframes[channel].type = FLAC__SUBFRAME_TYPE_CONSTANT;
+ empty_frame.subframes[channel].data.constant.value = 0;
+ empty_frame.subframes[channel].wasted_bits = 0;
+ }
+
+ if(write_audio_frame_to_client_(decoder, &empty_frame, (const FLAC__int32 * const *)empty_buffer) != FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE) {
+ decoder->protected_->state = FLAC__STREAM_DECODER_ABORTED;
+ for(i = 0; i < empty_frame.header.channels; i++)
+ if(empty_buffer[i] != NULL)
+ free(empty_buffer[i]);
+ return false;
+ }
+ }
+ for(i = 0; i < empty_frame.header.channels; i++)
+ if(empty_buffer[i] != NULL)
+ free(empty_buffer[i]);
+
}
}
}
- *got_a_frame = true;
+ if(decoder->protected_->state == FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC || decoder->protected_->state == FLAC__STREAM_DECODER_END_OF_STREAM) {
+ /* Got corruption, rewind if possible. Return value of seek
+ * isn't checked, if the seek fails the decoder will continue anyway */
+ if(!FLAC__bitreader_rewind_to_after_last_seen_framesync(decoder->private_->input)){
+#ifndef NDEBUG
+ fprintf(stderr, "Rewinding, seeking necessary\n");
+#endif
+ if(decoder->private_->seek_callback && decoder->private_->last_seen_framesync){
+ /* Last framesync isn't in bitreader anymore, rewind with seek if possible */
+#ifndef NDEBUG
+ FLAC__uint64 current_decode_position;
+ if(FLAC__stream_decoder_get_decode_position(decoder, &current_decode_position))
+ fprintf(stderr, "Bitreader was %" PRIu64 " bytes short\n", current_decode_position-decoder->private_->last_seen_framesync);
+#endif
+ if(decoder->private_->seek_callback(decoder, decoder->private_->last_seen_framesync, decoder->private_->client_data) == FLAC__STREAM_DECODER_SEEK_STATUS_ERROR) {
+ decoder->protected_->state = FLAC__STREAM_DECODER_SEEK_ERROR;
+ return false;
+ }
+ if(!FLAC__bitreader_clear(decoder->private_->input)) {
+ decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
+ return false;
+ }
+ }
+ }
+#ifndef NDEBUG
+ else{
+ fprintf(stderr, "Rewinding, seeking not necessary\n");
+ }
+#endif
+ }
+ else {
+ *got_a_frame = true;
- /* we wait to update fixed_block_size until here, when we're sure we've got a proper frame and hence a correct blocksize */
- if(decoder->private_->next_fixed_block_size)
- decoder->private_->fixed_block_size = decoder->private_->next_fixed_block_size;
+ /* we wait to update fixed_block_size until here, when we're sure we've got a proper frame and hence a correct blocksize */
+ if(decoder->private_->next_fixed_block_size)
+ decoder->private_->fixed_block_size = decoder->private_->next_fixed_block_size;
- /* put the latest values into the public section of the decoder instance */
- decoder->protected_->channels = decoder->private_->frame.header.channels;
- decoder->protected_->channel_assignment = decoder->private_->frame.header.channel_assignment;
- decoder->protected_->bits_per_sample = decoder->private_->frame.header.bits_per_sample;
- decoder->protected_->sample_rate = decoder->private_->frame.header.sample_rate;
- decoder->protected_->blocksize = decoder->private_->frame.header.blocksize;
+ /* put the latest values into the public section of the decoder instance */
+ decoder->protected_->channels = decoder->private_->frame.header.channels;
+ decoder->protected_->channel_assignment = decoder->private_->frame.header.channel_assignment;
+ decoder->protected_->bits_per_sample = decoder->private_->frame.header.bits_per_sample;
+ decoder->protected_->sample_rate = decoder->private_->frame.header.sample_rate;
+ decoder->protected_->blocksize = decoder->private_->frame.header.blocksize;
- FLAC__ASSERT(decoder->private_->frame.header.number_type == FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER);
- decoder->private_->samples_decoded = decoder->private_->frame.header.number.sample_number + decoder->private_->frame.header.blocksize;
+ FLAC__ASSERT(decoder->private_->frame.header.number_type == FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER);
+ decoder->private_->samples_decoded = decoder->private_->frame.header.number.sample_number + decoder->private_->frame.header.blocksize;
- /* write it */
- if(do_full_decode) {
- if(write_audio_frame_to_client_(decoder, &decoder->private_->frame, (const FLAC__int32 * const *)decoder->private_->output) != FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE)
- return false;
+ /* write it */
+ if(do_full_decode) {
+ if(write_audio_frame_to_client_(decoder, &decoder->private_->frame, (const FLAC__int32 * const *)decoder->private_->output) != FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE) {
+ decoder->protected_->state = FLAC__STREAM_DECODER_ABORTED;
+ return false;
+ }
+ }
}
decoder->protected_->state = FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC;
@@ -2144,9 +2278,9 @@ FLAC__bool read_frame_header_(FLAC__StreamDecoder *decoder)
{
FLAC__uint32 x;
FLAC__uint64 xx;
- unsigned i, blocksize_hint = 0, sample_rate_hint = 0;
+ uint32_t i, blocksize_hint = 0, sample_rate_hint = 0;
FLAC__byte crc8, raw_header[16]; /* MAGIC NUMBER based on the maximum frame header size, including CRC */
- unsigned raw_header_len;
+ uint32_t raw_header_len;
FLAC__bool is_unparseable = false;
FLAC__ASSERT(FLAC__bitreader_is_consumed_byte_aligned(decoder->private_->input));
@@ -2281,7 +2415,7 @@ FLAC__bool read_frame_header_(FLAC__StreamDecoder *decoder)
FLAC__ASSERT(0);
}
- x = (unsigned)(raw_header[3] >> 4);
+ x = (uint32_t)(raw_header[3] >> 4);
if(x & 8) {
decoder->private_->frame.header.channels = 2;
switch(x & 7) {
@@ -2300,11 +2434,11 @@ FLAC__bool read_frame_header_(FLAC__StreamDecoder *decoder)
}
}
else {
- decoder->private_->frame.header.channels = (unsigned)x + 1;
+ decoder->private_->frame.header.channels = (uint32_t)x + 1;
decoder->private_->frame.header.channel_assignment = FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT;
}
- switch(x = (unsigned)(raw_header[3] & 0x0e) >> 1) {
+ switch(x = (uint32_t)(raw_header[3] & 0x0e) >> 1) {
case 0:
if(decoder->private_->has_stream_info)
decoder->private_->frame.header.bits_per_sample = decoder->private_->stream_info.data.stream_info.bits_per_sample;
@@ -2317,6 +2451,9 @@ FLAC__bool read_frame_header_(FLAC__StreamDecoder *decoder)
case 2:
decoder->private_->frame.header.bits_per_sample = 12;
break;
+ case 3:
+ is_unparseable = true;
+ break;
case 4:
decoder->private_->frame.header.bits_per_sample = 16;
break;
@@ -2326,18 +2463,19 @@ FLAC__bool read_frame_header_(FLAC__StreamDecoder *decoder)
case 6:
decoder->private_->frame.header.bits_per_sample = 24;
break;
- case 3:
case 7:
- is_unparseable = true;
+ decoder->private_->frame.header.bits_per_sample = 32;
break;
default:
FLAC__ASSERT(0);
break;
}
+#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
/* check to make sure that reserved bit is 0 */
if(raw_header[3] & 0x01) /* MAGIC NUMBER */
is_unparseable = true;
+#endif
/* read the frame's starting sample number (or frame number as the case may be) */
if(
@@ -2383,6 +2521,14 @@ FLAC__bool read_frame_header_(FLAC__StreamDecoder *decoder)
x = (x << 8) | _x;
}
decoder->private_->frame.header.blocksize = x+1;
+ if(decoder->private_->frame.header.blocksize > 65535) { /* invalid blocksize (65536) specified */
+ decoder->private_->lookahead = raw_header[raw_header_len-1]; /* back up as much as we can */
+ decoder->private_->cached = true;
+ send_error_to_client_(decoder, FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER);
+ decoder->protected_->state = FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC;
+ return true;
+ }
+
}
if(sample_rate_hint) {
@@ -2409,11 +2555,13 @@ FLAC__bool read_frame_header_(FLAC__StreamDecoder *decoder)
return false; /* read_callback_ sets the state for us */
crc8 = (FLAC__byte)x;
+#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
if(FLAC__crc8(raw_header, raw_header_len) != crc8) {
send_error_to_client_(decoder, FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER);
decoder->protected_->state = FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC;
return true;
}
+#endif
/* calculate the sample number from the frame number if needed */
decoder->private_->next_fixed_block_size = 0;
@@ -2449,11 +2597,11 @@ FLAC__bool read_frame_header_(FLAC__StreamDecoder *decoder)
return true;
}
-FLAC__bool read_subframe_(FLAC__StreamDecoder *decoder, unsigned channel, unsigned bps, FLAC__bool do_full_decode)
+FLAC__bool read_subframe_(FLAC__StreamDecoder *decoder, uint32_t channel, uint32_t bps, FLAC__bool do_full_decode)
{
FLAC__uint32 x;
FLAC__bool wasted_bits;
- unsigned i;
+ uint32_t i;
if(!FLAC__bitreader_read_raw_uint32(decoder->private_->input, &x, 8)) /* MAGIC NUMBER */
return false; /* read_callback_ sets the state for us */
@@ -2462,10 +2610,15 @@ FLAC__bool read_subframe_(FLAC__StreamDecoder *decoder, unsigned channel, unsign
x &= 0xfe;
if(wasted_bits) {
- unsigned u;
+ uint32_t u;
if(!FLAC__bitreader_read_unary_unsigned(decoder->private_->input, &u))
return false; /* read_callback_ sets the state for us */
decoder->private_->frame.subframes[channel].wasted_bits = u+1;
+ if (decoder->private_->frame.subframes[channel].wasted_bits >= bps) {
+ send_error_to_client_(decoder, FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC);
+ decoder->protected_->state = FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC;
+ return true;
+ }
bps -= decoder->private_->frame.subframes[channel].wasted_bits;
}
else
@@ -2493,7 +2646,13 @@ FLAC__bool read_subframe_(FLAC__StreamDecoder *decoder, unsigned channel, unsign
return true;
}
else if(x <= 24) {
- if(!read_subframe_fixed_(decoder, channel, bps, (x>>1)&7, do_full_decode))
+ uint32_t predictor_order = (x>>1)&7;
+ if(decoder->private_->frame.header.blocksize <= predictor_order){
+ send_error_to_client_(decoder, FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC);
+ decoder->protected_->state = FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC;
+ return true;
+ }
+ if(!read_subframe_fixed_(decoder, channel, bps, predictor_order, do_full_decode))
return false;
if(decoder->protected_->state == FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC) /* means bad sync or got corruption */
return true;
@@ -2504,7 +2663,13 @@ FLAC__bool read_subframe_(FLAC__StreamDecoder *decoder, unsigned channel, unsign
return true;
}
else {
- if(!read_subframe_lpc_(decoder, channel, bps, ((x>>1)&31)+1, do_full_decode))
+ uint32_t predictor_order = ((x>>1)&31)+1;
+ if(decoder->private_->frame.header.blocksize <= predictor_order){
+ send_error_to_client_(decoder, FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC);
+ decoder->protected_->state = FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC;
+ return true;
+ }
+ if(!read_subframe_lpc_(decoder, channel, bps, predictor_order, do_full_decode))
return false;
if(decoder->protected_->state == FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC) /* means bad sync or got corruption */
return true;
@@ -2512,42 +2677,63 @@ FLAC__bool read_subframe_(FLAC__StreamDecoder *decoder, unsigned channel, unsign
if(wasted_bits && do_full_decode) {
x = decoder->private_->frame.subframes[channel].wasted_bits;
- for(i = 0; i < decoder->private_->frame.header.blocksize; i++)
- decoder->private_->output[channel][i] <<= x;
+ if((bps + x) < 33) {
+ for(i = 0; i < decoder->private_->frame.header.blocksize; i++) {
+ uint32_t val = decoder->private_->output[channel][i];
+ decoder->private_->output[channel][i] = (val << x);
+ }
+ }
+ else {
+ /* When there are wasted bits, bps is never 33 and so
+ * side_subframe is never already in use */
+ FLAC__ASSERT(!decoder->private_->side_subframe_in_use);
+ decoder->private_->side_subframe_in_use = true;
+ for(i = 0; i < decoder->private_->frame.header.blocksize; i++) {
+ uint64_t val = decoder->private_->output[channel][i];
+ decoder->private_->side_subframe[i] = (val << x);
+ }
+ }
}
return true;
}
-FLAC__bool read_subframe_constant_(FLAC__StreamDecoder *decoder, unsigned channel, unsigned bps, FLAC__bool do_full_decode)
+FLAC__bool read_subframe_constant_(FLAC__StreamDecoder *decoder, uint32_t channel, uint32_t bps, FLAC__bool do_full_decode)
{
FLAC__Subframe_Constant *subframe = &decoder->private_->frame.subframes[channel].data.constant;
- FLAC__int32 x;
- unsigned i;
- FLAC__int32 *output = decoder->private_->output[channel];
+ FLAC__int64 x;
+ uint32_t i;
decoder->private_->frame.subframes[channel].type = FLAC__SUBFRAME_TYPE_CONSTANT;
- if(!FLAC__bitreader_read_raw_int32(decoder->private_->input, &x, bps))
+ if(!FLAC__bitreader_read_raw_int64(decoder->private_->input, &x, bps))
return false; /* read_callback_ sets the state for us */
subframe->value = x;
/* decode the subframe */
if(do_full_decode) {
- for(i = 0; i < decoder->private_->frame.header.blocksize; i++)
- output[i] = x;
+ if(bps <= 32) {
+ FLAC__int32 *output = decoder->private_->output[channel];
+ for(i = 0; i < decoder->private_->frame.header.blocksize; i++)
+ output[i] = x;
+ } else {
+ FLAC__int64 *output = decoder->private_->side_subframe;
+ decoder->private_->side_subframe_in_use = true;
+ for(i = 0; i < decoder->private_->frame.header.blocksize; i++)
+ output[i] = x;
+ }
}
return true;
}
-FLAC__bool read_subframe_fixed_(FLAC__StreamDecoder *decoder, unsigned channel, unsigned bps, const unsigned order, FLAC__bool do_full_decode)
+FLAC__bool read_subframe_fixed_(FLAC__StreamDecoder *decoder, uint32_t channel, uint32_t bps, const uint32_t order, FLAC__bool do_full_decode)
{
FLAC__Subframe_Fixed *subframe = &decoder->private_->frame.subframes[channel].data.fixed;
- FLAC__int32 i32;
+ FLAC__int64 i64;
FLAC__uint32 u32;
- unsigned u;
+ uint32_t u;
decoder->private_->frame.subframes[channel].type = FLAC__SUBFRAME_TYPE_FIXED;
@@ -2556,9 +2742,9 @@ FLAC__bool read_subframe_fixed_(FLAC__StreamDecoder *decoder, unsigned channel,
/* read warm-up samples */
for(u = 0; u < order; u++) {
- if(!FLAC__bitreader_read_raw_int32(decoder->private_->input, &i32, bps))
+ if(!FLAC__bitreader_read_raw_int64(decoder->private_->input, &i64, bps))
return false; /* read_callback_ sets the state for us */
- subframe->warmup[u] = i32;
+ subframe->warmup[u] = i64;
}
/* read entropy coding method info */
@@ -2570,6 +2756,12 @@ FLAC__bool read_subframe_fixed_(FLAC__StreamDecoder *decoder, unsigned channel,
case FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2:
if(!FLAC__bitreader_read_raw_uint32(decoder->private_->input, &u32, FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN))
return false; /* read_callback_ sets the state for us */
+ if((decoder->private_->frame.header.blocksize >> u32 < order) ||
+ (decoder->private_->frame.header.blocksize % (1 << u32) > 0)) {
+ send_error_to_client_(decoder, FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC);
+ decoder->protected_->state = FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC;
+ return true;
+ }
subframe->entropy_coding_method.data.partitioned_rice.order = u32;
subframe->entropy_coding_method.data.partitioned_rice.contents = &decoder->private_->partitioned_rice_contents[channel];
break;
@@ -2592,19 +2784,32 @@ FLAC__bool read_subframe_fixed_(FLAC__StreamDecoder *decoder, unsigned channel,
/* decode the subframe */
if(do_full_decode) {
- memcpy(decoder->private_->output[channel], subframe->warmup, sizeof(FLAC__int32) * order);
- FLAC__fixed_restore_signal(decoder->private_->residual[channel], decoder->private_->frame.header.blocksize-order, order, decoder->private_->output[channel]+order);
+ if(bps < 33){
+ uint32_t i;
+ for(i = 0; i < order; i++)
+ decoder->private_->output[channel][i] = subframe->warmup[i];
+ if(bps+order <= 32)
+ FLAC__fixed_restore_signal(decoder->private_->residual[channel], decoder->private_->frame.header.blocksize-order, order, decoder->private_->output[channel]+order);
+ else
+ FLAC__fixed_restore_signal_wide(decoder->private_->residual[channel], decoder->private_->frame.header.blocksize-order, order, decoder->private_->output[channel]+order);
+ }
+ else {
+ decoder->private_->side_subframe_in_use = true;
+ memcpy(decoder->private_->side_subframe, subframe->warmup, sizeof(FLAC__int64) * order);
+ FLAC__fixed_restore_signal_wide_33bit(decoder->private_->residual[channel], decoder->private_->frame.header.blocksize-order, order, decoder->private_->side_subframe+order);
+ }
}
return true;
}
-FLAC__bool read_subframe_lpc_(FLAC__StreamDecoder *decoder, unsigned channel, unsigned bps, const unsigned order, FLAC__bool do_full_decode)
+FLAC__bool read_subframe_lpc_(FLAC__StreamDecoder *decoder, uint32_t channel, uint32_t bps, const uint32_t order, FLAC__bool do_full_decode)
{
FLAC__Subframe_LPC *subframe = &decoder->private_->frame.subframes[channel].data.lpc;
FLAC__int32 i32;
+ FLAC__int64 i64;
FLAC__uint32 u32;
- unsigned u;
+ uint32_t u;
decoder->private_->frame.subframes[channel].type = FLAC__SUBFRAME_TYPE_LPC;
@@ -2613,9 +2818,9 @@ FLAC__bool read_subframe_lpc_(FLAC__StreamDecoder *decoder, unsigned channel, un
/* read warm-up samples */
for(u = 0; u < order; u++) {
- if(!FLAC__bitreader_read_raw_int32(decoder->private_->input, &i32, bps))
+ if(!FLAC__bitreader_read_raw_int64(decoder->private_->input, &i64, bps))
return false; /* read_callback_ sets the state for us */
- subframe->warmup[u] = i32;
+ subframe->warmup[u] = i64;
}
/* read qlp coeff precision */
@@ -2631,6 +2836,11 @@ FLAC__bool read_subframe_lpc_(FLAC__StreamDecoder *decoder, unsigned channel, un
/* read qlp shift */
if(!FLAC__bitreader_read_raw_int32(decoder->private_->input, &i32, FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN))
return false; /* read_callback_ sets the state for us */
+ if(i32 < 0) {
+ send_error_to_client_(decoder, FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC);
+ decoder->protected_->state = FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC;
+ return true;
+ }
subframe->quantization_level = i32;
/* read quantized lp coefficiencts */
@@ -2649,6 +2859,12 @@ FLAC__bool read_subframe_lpc_(FLAC__StreamDecoder *decoder, unsigned channel, un
case FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2:
if(!FLAC__bitreader_read_raw_uint32(decoder->private_->input, &u32, FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN))
return false; /* read_callback_ sets the state for us */
+ if((decoder->private_->frame.header.blocksize >> u32 < order) ||
+ (decoder->private_->frame.header.blocksize % (1 << u32) > 0)) {
+ send_error_to_client_(decoder, FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC);
+ decoder->protected_->state = FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC;
+ return true;
+ }
subframe->entropy_coding_method.data.partitioned_rice.order = u32;
subframe->entropy_coding_method.data.partitioned_rice.contents = &decoder->private_->partitioned_rice_contents[channel];
break;
@@ -2671,76 +2887,80 @@ FLAC__bool read_subframe_lpc_(FLAC__StreamDecoder *decoder, unsigned channel, un
/* decode the subframe */
if(do_full_decode) {
- memcpy(decoder->private_->output[channel], subframe->warmup, sizeof(FLAC__int32) * order);
- /*@@@@@@ technically not pessimistic enough, should be more like
- if( (FLAC__uint64)order * ((((FLAC__uint64)1)<<bps)-1) * ((1<<subframe->qlp_coeff_precision)-1) < (((FLAC__uint64)-1) << 32) )
- */
- if(bps + subframe->qlp_coeff_precision + FLAC__bitmath_ilog2(order) <= 32)
- if(bps <= 16 && subframe->qlp_coeff_precision <= 16) {
- if(order <= 8)
- decoder->private_->local_lpc_restore_signal_16bit_order8(decoder->private_->residual[channel], decoder->private_->frame.header.blocksize-order, subframe->qlp_coeff, order, subframe->quantization_level, decoder->private_->output[channel]+order);
- else
- decoder->private_->local_lpc_restore_signal_16bit(decoder->private_->residual[channel], decoder->private_->frame.header.blocksize-order, subframe->qlp_coeff, order, subframe->quantization_level, decoder->private_->output[channel]+order);
- }
+ if(bps <= 32) {
+ uint32_t i;
+ for(i = 0; i < order; i++)
+ decoder->private_->output[channel][i] = subframe->warmup[i];
+ if(FLAC__lpc_max_residual_bps(bps, subframe->qlp_coeff, order, subframe->quantization_level) <= 32 &&
+ FLAC__lpc_max_prediction_before_shift_bps(bps, subframe->qlp_coeff, order) <= 32)
+ FLAC__lpc_restore_signal(decoder->private_->residual[channel], decoder->private_->frame.header.blocksize-order, subframe->qlp_coeff, order, subframe->quantization_level, decoder->private_->output[channel]+order);
else
- decoder->private_->local_lpc_restore_signal(decoder->private_->residual[channel], decoder->private_->frame.header.blocksize-order, subframe->qlp_coeff, order, subframe->quantization_level, decoder->private_->output[channel]+order);
- else
- decoder->private_->local_lpc_restore_signal_64bit(decoder->private_->residual[channel], decoder->private_->frame.header.blocksize-order, subframe->qlp_coeff, order, subframe->quantization_level, decoder->private_->output[channel]+order);
+ FLAC__lpc_restore_signal_wide(decoder->private_->residual[channel], decoder->private_->frame.header.blocksize-order, subframe->qlp_coeff, order, subframe->quantization_level, decoder->private_->output[channel]+order);
+ }
+ else {
+ decoder->private_->side_subframe_in_use = true;
+ memcpy(decoder->private_->side_subframe, subframe->warmup, sizeof(FLAC__int64) * order);
+ FLAC__lpc_restore_signal_wide_33bit(decoder->private_->residual[channel], decoder->private_->frame.header.blocksize-order, subframe->qlp_coeff, order, subframe->quantization_level, decoder->private_->side_subframe+order);
+ }
}
return true;
}
-FLAC__bool read_subframe_verbatim_(FLAC__StreamDecoder *decoder, unsigned channel, unsigned bps, FLAC__bool do_full_decode)
+FLAC__bool read_subframe_verbatim_(FLAC__StreamDecoder *decoder, uint32_t channel, uint32_t bps, FLAC__bool do_full_decode)
{
FLAC__Subframe_Verbatim *subframe = &decoder->private_->frame.subframes[channel].data.verbatim;
- FLAC__int32 x, *residual = decoder->private_->residual[channel];
- unsigned i;
+ uint32_t i;
decoder->private_->frame.subframes[channel].type = FLAC__SUBFRAME_TYPE_VERBATIM;
- subframe->data = residual;
+ if(bps < 33) {
+ FLAC__int32 x, *residual = decoder->private_->residual[channel];
- for(i = 0; i < decoder->private_->frame.header.blocksize; i++) {
- if(!FLAC__bitreader_read_raw_int32(decoder->private_->input, &x, bps))
- return false; /* read_callback_ sets the state for us */
- residual[i] = x;
+ subframe->data_type = FLAC__VERBATIM_SUBFRAME_DATA_TYPE_INT32;
+ subframe->data.int32 = residual;
+
+ for(i = 0; i < decoder->private_->frame.header.blocksize; i++) {
+ if(!FLAC__bitreader_read_raw_int32(decoder->private_->input, &x, bps))
+ return false; /* read_callback_ sets the state for us */
+ residual[i] = x;
+ }
+
+ /* decode the subframe */
+ if(do_full_decode)
+ memcpy(decoder->private_->output[channel], subframe->data.int32, sizeof(FLAC__int32) * decoder->private_->frame.header.blocksize);
}
+ else {
+ FLAC__int64 x, *side = decoder->private_->side_subframe;
- /* decode the subframe */
- if(do_full_decode)
- memcpy(decoder->private_->output[channel], subframe->data, sizeof(FLAC__int32) * decoder->private_->frame.header.blocksize);
+ subframe->data_type = FLAC__VERBATIM_SUBFRAME_DATA_TYPE_INT64;
+ subframe->data.int64 = side;
+ decoder->private_->side_subframe_in_use = true;
+
+ for(i = 0; i < decoder->private_->frame.header.blocksize; i++) {
+ if(!FLAC__bitreader_read_raw_int64(decoder->private_->input, &x, bps))
+ return false; /* read_callback_ sets the state for us */
+ side[i] = x;
+ }
+ }
return true;
}
-FLAC__bool read_residual_partitioned_rice_(FLAC__StreamDecoder *decoder, unsigned predictor_order, unsigned partition_order, FLAC__EntropyCodingMethod_PartitionedRiceContents *partitioned_rice_contents, FLAC__int32 *residual, FLAC__bool is_extended)
+FLAC__bool read_residual_partitioned_rice_(FLAC__StreamDecoder *decoder, uint32_t predictor_order, uint32_t partition_order, FLAC__EntropyCodingMethod_PartitionedRiceContents *partitioned_rice_contents, FLAC__int32 *residual, FLAC__bool is_extended)
{
FLAC__uint32 rice_parameter;
int i;
- unsigned partition, sample, u;
- const unsigned partitions = 1u << partition_order;
- const unsigned partition_samples = partition_order > 0? decoder->private_->frame.header.blocksize >> partition_order : decoder->private_->frame.header.blocksize - predictor_order;
- const unsigned plen = is_extended? FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN : FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN;
- const unsigned pesc = is_extended? FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER : FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER;
-
- /* sanity checks */
- if(partition_order == 0) {
- if(decoder->private_->frame.header.blocksize < predictor_order) {
- send_error_to_client_(decoder, FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC);
- decoder->protected_->state = FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC;
- return true;
- }
- }
- else {
- if(partition_samples < predictor_order) {
- send_error_to_client_(decoder, FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC);
- decoder->protected_->state = FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC;
- return true;
- }
- }
+ uint32_t partition, sample, u;
+ const uint32_t partitions = 1u << partition_order;
+ const uint32_t partition_samples = decoder->private_->frame.header.blocksize >> partition_order;
+ const uint32_t plen = is_extended? FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN : FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN;
+ const uint32_t pesc = is_extended? FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER : FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER;
- if(!FLAC__format_entropy_coding_method_partitioned_rice_contents_ensure_size(partitioned_rice_contents, max(6, partition_order))) {
+ /* invalid predictor and partition orders mush be handled in the callers */
+ FLAC__ASSERT(partition_order > 0? partition_samples >= predictor_order : decoder->private_->frame.header.blocksize >= predictor_order);
+
+ if(!FLAC__format_entropy_coding_method_partitioned_rice_contents_ensure_size(partitioned_rice_contents, flac_max(6u, partition_order))) {
decoder->protected_->state = FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR;
return false;
}
@@ -2752,19 +2972,34 @@ FLAC__bool read_residual_partitioned_rice_(FLAC__StreamDecoder *decoder, unsigne
partitioned_rice_contents->parameters[partition] = rice_parameter;
if(rice_parameter < pesc) {
partitioned_rice_contents->raw_bits[partition] = 0;
- u = (partition_order == 0 || partition > 0)? partition_samples : partition_samples - predictor_order;
- if(!decoder->private_->local_bitreader_read_rice_signed_block(decoder->private_->input, residual + sample, u, rice_parameter))
- return false; /* read_callback_ sets the state for us */
+ u = (partition == 0) ? partition_samples - predictor_order : partition_samples;
+ if(!decoder->private_->local_bitreader_read_rice_signed_block(decoder->private_->input, residual + sample, u, rice_parameter)){
+ if(decoder->protected_->state == FLAC__STREAM_DECODER_READ_FRAME) {
+ /* no error was set, read_callback_ didn't set it, so
+ * invalid rice symbol was found */
+ send_error_to_client_(decoder, FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC);
+ decoder->protected_->state = FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC;
+ return true;
+ }
+ else
+ return false; /* read_callback_ sets the state for us */
+ }
sample += u;
}
else {
if(!FLAC__bitreader_read_raw_uint32(decoder->private_->input, &rice_parameter, FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN))
return false; /* read_callback_ sets the state for us */
partitioned_rice_contents->raw_bits[partition] = rice_parameter;
- for(u = (partition_order == 0 || partition > 0)? 0 : predictor_order; u < partition_samples; u++, sample++) {
- if(!FLAC__bitreader_read_raw_int32(decoder->private_->input, &i, rice_parameter))
- return false; /* read_callback_ sets the state for us */
- residual[sample] = i;
+ if(rice_parameter == 0) {
+ for(u = (partition == 0)? predictor_order : 0; u < partition_samples; u++, sample++)
+ residual[sample] = 0;
+ }
+ else{
+ for(u = (partition == 0)? predictor_order : 0; u < partition_samples; u++, sample++) {
+ if(!FLAC__bitreader_read_raw_int32(decoder->private_->input, &i, rice_parameter))
+ return false; /* read_callback_ sets the state for us */
+ residual[sample] = i;
+ }
}
}
}
@@ -2778,10 +3013,12 @@ FLAC__bool read_zero_padding_(FLAC__StreamDecoder *decoder)
FLAC__uint32 zero = 0;
if(!FLAC__bitreader_read_raw_uint32(decoder->private_->input, &zero, FLAC__bitreader_bits_left_for_byte_alignment(decoder->private_->input)))
return false; /* read_callback_ sets the state for us */
+#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
if(zero != 0) {
send_error_to_client_(decoder, FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC);
decoder->protected_->state = FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC;
}
+#endif
}
return true;
}
@@ -2866,6 +3103,66 @@ FLAC__bool read_callback_(FLAC__byte buffer[], size_t *bytes, void *client_data)
*/
}
+#if defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION) && !defined(FUZZING_BUILD_MODE_FLAC_SANITIZE_SIGNED_INTEGER_OVERFLOW)
+/* The attribute below is to silence the undefined sanitizer of oss-fuzz.
+ * Because fuzzing feeds bogus predictors and residual samples to the
+ * decoder, having overflows in this section is unavoidable. Also,
+ * because the calculated values are audio path only, there is no
+ * potential for security problems */
+__attribute__((no_sanitize("signed-integer-overflow")))
+#endif
+void undo_channel_coding(FLAC__StreamDecoder *decoder) {
+ uint32_t i;
+ switch(decoder->private_->frame.header.channel_assignment) {
+ case FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT:
+ /* do nothing */
+ break;
+ case FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE:
+ FLAC__ASSERT(decoder->private_->frame.header.channels == 2);
+ FLAC__ASSERT(decoder->private_->side_subframe_in_use != /* logical XOR */ (decoder->private_->frame.header.bits_per_sample < 32));
+ for(i = 0; i < decoder->private_->frame.header.blocksize; i++)
+ if(decoder->private_->side_subframe_in_use)
+ decoder->private_->output[1][i] = decoder->private_->output[0][i] - decoder->private_->side_subframe[i];
+ else
+ decoder->private_->output[1][i] = decoder->private_->output[0][i] - decoder->private_->output[1][i];
+ break;
+ case FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE:
+ FLAC__ASSERT(decoder->private_->frame.header.channels == 2);
+ FLAC__ASSERT(decoder->private_->side_subframe_in_use != /* logical XOR */ (decoder->private_->frame.header.bits_per_sample < 32));
+ for(i = 0; i < decoder->private_->frame.header.blocksize; i++)
+ if(decoder->private_->side_subframe_in_use)
+ decoder->private_->output[0][i] = decoder->private_->output[1][i] + decoder->private_->side_subframe[i];
+ else
+ decoder->private_->output[0][i] += decoder->private_->output[1][i];
+ break;
+ case FLAC__CHANNEL_ASSIGNMENT_MID_SIDE:
+ FLAC__ASSERT(decoder->private_->frame.header.channels == 2);
+ FLAC__ASSERT(decoder->private_->side_subframe_in_use != /* logical XOR */ (decoder->private_->frame.header.bits_per_sample < 32));
+ for(i = 0; i < decoder->private_->frame.header.blocksize; i++) {
+ if(!decoder->private_->side_subframe_in_use){
+ FLAC__int32 mid, side;
+ mid = decoder->private_->output[0][i];
+ side = decoder->private_->output[1][i];
+ mid = ((uint32_t) mid) << 1;
+ mid |= (side & 1); /* i.e. if 'side' is odd... */
+ decoder->private_->output[0][i] = (mid + side) >> 1;
+ decoder->private_->output[1][i] = (mid - side) >> 1;
+ }
+ else { /* bps == 32 */
+ FLAC__int64 mid;
+ mid = ((uint64_t)decoder->private_->output[0][i]) << 1;
+ mid |= (decoder->private_->side_subframe[i] & 1); /* i.e. if 'side' is odd... */
+ decoder->private_->output[0][i] = (mid + decoder->private_->side_subframe[i]) >> 1;
+ decoder->private_->output[1][i] = (mid - decoder->private_->side_subframe[i]) >> 1;
+ }
+ }
+ break;
+ default:
+ FLAC__ASSERT(0);
+ break;
+ }
+}
+
#if FLAC__HAS_OGG
FLAC__StreamDecoderReadStatus read_callback_ogg_aspect_(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes)
{
@@ -2914,6 +3211,8 @@ FLAC__OggDecoderAspectReadStatus read_callback_proxy_(const void *void_decoder,
FLAC__StreamDecoderWriteStatus write_audio_frame_to_client_(FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[])
{
+ decoder->private_->last_frame = *frame; /* save the frame */
+ decoder->private_->last_frame_is_set = true;
if(decoder->private_->is_seeking) {
FLAC__uint64 this_frame_sample = frame->header.number.sample_number;
FLAC__uint64 next_frame_sample = this_frame_sample + (FLAC__uint64)frame->header.blocksize;
@@ -2924,17 +3223,20 @@ FLAC__StreamDecoderWriteStatus write_audio_frame_to_client_(FLAC__StreamDecoder
#if FLAC__HAS_OGG
decoder->private_->got_a_frame = true;
#endif
- decoder->private_->last_frame = *frame; /* save the frame */
if(this_frame_sample <= target_sample && target_sample < next_frame_sample) { /* we hit our target frame */
- unsigned delta = (unsigned)(target_sample - this_frame_sample);
+ uint32_t delta = (uint32_t)(target_sample - this_frame_sample);
/* kick out of seek mode */
decoder->private_->is_seeking = false;
/* shift out the samples before target_sample */
if(delta > 0) {
- unsigned channel;
+ uint32_t channel;
const FLAC__int32 *newbuffer[FLAC__MAX_CHANNELS];
- for(channel = 0; channel < frame->header.channels; channel++)
+ for(channel = 0; channel < frame->header.channels; channel++) {
newbuffer[channel] = buffer[channel] + delta;
+ decoder->private_->last_frame.subframes[channel].type = FLAC__SUBFRAME_TYPE_VERBATIM;
+ decoder->private_->last_frame.subframes[channel].data.verbatim.data_type = FLAC__VERBATIM_SUBFRAME_DATA_TYPE_INT32;
+ decoder->private_->last_frame.subframes[channel].data.verbatim.data.int32 = newbuffer[channel];
+ }
decoder->private_->last_frame.header.blocksize -= delta;
decoder->private_->last_frame.header.number.sample_number += (FLAC__uint64)delta;
/* write the relevant samples */
@@ -2977,16 +3279,16 @@ FLAC__bool seek_to_absolute_sample_(FLAC__StreamDecoder *decoder, FLAC__uint64 s
FLAC__uint64 first_frame_offset = decoder->private_->first_frame_offset, lower_bound, upper_bound, lower_bound_sample, upper_bound_sample, this_frame_sample;
FLAC__int64 pos = -1;
int i;
- unsigned approx_bytes_per_frame;
- FLAC__bool first_seek = true;
+ uint32_t approx_bytes_per_frame;
+ FLAC__bool first_seek = true, seek_from_lower_bound = false;
const FLAC__uint64 total_samples = FLAC__stream_decoder_get_total_samples(decoder);
- const unsigned min_blocksize = decoder->private_->stream_info.data.stream_info.min_blocksize;
- const unsigned max_blocksize = decoder->private_->stream_info.data.stream_info.max_blocksize;
- const unsigned max_framesize = decoder->private_->stream_info.data.stream_info.max_framesize;
- const unsigned min_framesize = decoder->private_->stream_info.data.stream_info.min_framesize;
+ const uint32_t min_blocksize = decoder->private_->stream_info.data.stream_info.min_blocksize;
+ const uint32_t max_blocksize = decoder->private_->stream_info.data.stream_info.max_blocksize;
+ const uint32_t max_framesize = decoder->private_->stream_info.data.stream_info.max_framesize;
+ const uint32_t min_framesize = decoder->private_->stream_info.data.stream_info.min_framesize;
/* take these from the current frame in case they've changed mid-stream */
- unsigned channels = FLAC__stream_decoder_get_channels(decoder);
- unsigned bps = FLAC__stream_decoder_get_bits_per_sample(decoder);
+ uint32_t channels = FLAC__stream_decoder_get_channels(decoder);
+ uint32_t bps = FLAC__stream_decoder_get_bits_per_sample(decoder);
const FLAC__StreamMetadata_SeekTable *seek_table = decoder->private_->has_seek_table? &decoder->private_->seek_table.data.seek_table : 0;
/* use values from stream info if we didn't decode a frame */
@@ -3005,7 +3307,7 @@ FLAC__bool seek_to_absolute_sample_(FLAC__StreamDecoder *decoder, FLAC__uint64 s
* min_blocksize might be zero.
*/
else if(min_blocksize == max_blocksize && min_blocksize > 0) {
- /* note there are no () around 'bps/8' to keep precision up since it's an integer calulation */
+ /* note there are no () around 'bps/8' to keep precision up since it's an integer calculation */
approx_bytes_per_frame = min_blocksize * channels * bps/8 + 64;
}
else
@@ -3013,22 +3315,36 @@ FLAC__bool seek_to_absolute_sample_(FLAC__StreamDecoder *decoder, FLAC__uint64 s
/*
* First, we set an upper and lower bound on where in the
- * stream we will search. For now we assume the worst case
- * scenario, which is our best guess at the beginning of
- * the first frame and end of the stream.
+ * stream we will search. For now we take the current position
+ * as one bound and, depending on where the target position lies,
+ * the beginning of the first frame or the end of the stream as
+ * the other bound.
*/
lower_bound = first_frame_offset;
lower_bound_sample = 0;
upper_bound = stream_length;
upper_bound_sample = total_samples > 0 ? total_samples : target_sample /*estimate it*/;
+ if(decoder->protected_->state == FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC &&
+ decoder->private_->samples_decoded != 0) {
+ if(target_sample < decoder->private_->samples_decoded) {
+ if(FLAC__stream_decoder_get_decode_position(decoder, &upper_bound))
+ upper_bound_sample = decoder->private_->samples_decoded;
+ } else {
+ if(FLAC__stream_decoder_get_decode_position(decoder, &lower_bound))
+ lower_bound_sample = decoder->private_->samples_decoded;
+ }
+ }
+
/*
* Now we refine the bounds if we have a seektable with
* suitable points. Note that according to the spec they
* must be ordered by ascending sample number.
*
* Note: to protect against invalid seek tables we will ignore points
- * that have frame_samples==0 or sample_number>=total_samples
+ * that have frame_samples==0 or sample_number>=total_samples. Also,
+ * because math is limited to 64-bit ints, seekpoints with an offset
+ * larger than 2^63 (8 exbibyte) are rejected.
*/
if(seek_table) {
FLAC__uint64 new_lower_bound = lower_bound;
@@ -3089,25 +3405,34 @@ FLAC__bool seek_to_absolute_sample_(FLAC__StreamDecoder *decoder, FLAC__uint64 s
decoder->private_->target_sample = target_sample;
while(1) {
+ /* check whether decoder is still valid so bad state isn't overwritten
+ * with seek error */
+ if(decoder->protected_->state == FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR ||
+ decoder->protected_->state == FLAC__STREAM_DECODER_ABORTED)
+ return false;
/* check if the bounds are still ok */
- if (lower_bound_sample >= upper_bound_sample || lower_bound > upper_bound) {
+ if (lower_bound_sample >= upper_bound_sample ||
+ lower_bound > upper_bound ||
+ upper_bound >= INT64_MAX) {
decoder->protected_->state = FLAC__STREAM_DECODER_SEEK_ERROR;
return false;
}
+ if(seek_from_lower_bound) {
+ pos = lower_bound;
+ }
+ else {
#ifndef FLAC__INTEGER_ONLY_LIBRARY
-#if defined _MSC_VER || defined __MINGW32__
- /* with VC++ you have to spoon feed it the casting */
- pos = (FLAC__int64)lower_bound + (FLAC__int64)((FLAC__double)(FLAC__int64)(target_sample - lower_bound_sample) / (FLAC__double)(FLAC__int64)(upper_bound_sample - lower_bound_sample) * (FLAC__double)(FLAC__int64)(upper_bound - lower_bound)) - approx_bytes_per_frame;
+ pos = (FLAC__int64)lower_bound + (FLAC__int64)((double)(target_sample - lower_bound_sample) / (double)(upper_bound_sample - lower_bound_sample) * (double)(upper_bound - lower_bound)) - approx_bytes_per_frame;
#else
- pos = (FLAC__int64)lower_bound + (FLAC__int64)((FLAC__double)(target_sample - lower_bound_sample) / (FLAC__double)(upper_bound_sample - lower_bound_sample) * (FLAC__double)(upper_bound - lower_bound)) - approx_bytes_per_frame;
-#endif
-#else
- /* a little less accurate: */
- if(upper_bound - lower_bound < 0xffffffff)
- pos = (FLAC__int64)lower_bound + (FLAC__int64)(((target_sample - lower_bound_sample) * (upper_bound - lower_bound)) / (upper_bound_sample - lower_bound_sample)) - approx_bytes_per_frame;
- else /* @@@ WATCHOUT, ~2TB limit */
- pos = (FLAC__int64)lower_bound + (FLAC__int64)((((target_sample - lower_bound_sample)>>8) * ((upper_bound - lower_bound)>>8)) / ((upper_bound_sample - lower_bound_sample)>>16)) - approx_bytes_per_frame;
+ /* a little less accurate: */
+ if(upper_bound - lower_bound < 0xffffffff)
+ pos = (FLAC__int64)lower_bound + (FLAC__int64)(((target_sample - lower_bound_sample) * (upper_bound - lower_bound)) / (upper_bound_sample - lower_bound_sample)) - approx_bytes_per_frame;
+ else { /* @@@ WATCHOUT, ~2TB limit */
+ FLAC__uint64 ratio = (1<<16) / (upper_bound_sample - lower_bound_sample);
+ pos = (FLAC__int64)lower_bound + (FLAC__int64)((((target_sample - lower_bound_sample)>>8) * ((upper_bound - lower_bound)>>8) * ratio)) - approx_bytes_per_frame;
+ }
#endif
+ }
if(pos >= (FLAC__int64)upper_bound)
pos = (FLAC__int64)upper_bound - 1;
if(pos < (FLAC__int64)lower_bound)
@@ -3127,24 +3452,32 @@ FLAC__bool seek_to_absolute_sample_(FLAC__StreamDecoder *decoder, FLAC__uint64 s
* FLAC__stream_decoder_process_single() to return false.
*/
decoder->private_->unparseable_frame_count = 0;
- if(!FLAC__stream_decoder_process_single(decoder)) {
- decoder->protected_->state = FLAC__STREAM_DECODER_SEEK_ERROR;
- return false;
+ if(!FLAC__stream_decoder_process_single(decoder) || decoder->protected_->state == FLAC__STREAM_DECODER_ABORTED || 0 == decoder->private_->samples_decoded) {
+ /* No frame could be decoded */
+ if(decoder->protected_->state != FLAC__STREAM_DECODER_ABORTED && decoder->private_->eof_callback(decoder, decoder->private_->client_data) && !seek_from_lower_bound){
+ /* decoder has hit end of stream while processing corrupt
+ * frame. To remedy this, try decoding a frame at the lower
+ * bound so the seek after that hopefully ends up somewhere
+ * else */
+ seek_from_lower_bound = true;
+ continue;
+ }
+ else {
+ decoder->protected_->state = FLAC__STREAM_DECODER_SEEK_ERROR;
+ return false;
+ }
}
+ seek_from_lower_bound = false;
+
/* our write callback will change the state when it gets to the target frame */
/* actually, we could have got_a_frame if our decoder is at FLAC__STREAM_DECODER_END_OF_STREAM so we need to check for that also */
-#if 0
- /*@@@@@@ used to be the following; not clear if the check for end of stream is needed anymore */
- if(decoder->protected_->state != FLAC__SEEKABLE_STREAM_DECODER_SEEKING && decoder->protected_->state != FLAC__STREAM_DECODER_END_OF_STREAM)
- break;
-#endif
if(!decoder->private_->is_seeking)
break;
FLAC__ASSERT(decoder->private_->last_frame.header.number_type == FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER);
this_frame_sample = decoder->private_->last_frame.header.number.sample_number;
- if (0 == decoder->private_->samples_decoded || (this_frame_sample + decoder->private_->last_frame.header.blocksize >= upper_bound_sample && !first_seek)) {
+ if(this_frame_sample + decoder->private_->last_frame.header.blocksize >= upper_bound_sample && !first_seek) {
if (pos == (FLAC__int64)lower_bound) {
/* can't move back any more than the first frame, something is fatally wrong */
decoder->protected_->state = FLAC__STREAM_DECODER_SEEK_ERROR;
@@ -3152,11 +3485,11 @@ FLAC__bool seek_to_absolute_sample_(FLAC__StreamDecoder *decoder, FLAC__uint64 s
}
/* our last move backwards wasn't big enough, try again */
approx_bytes_per_frame = approx_bytes_per_frame? approx_bytes_per_frame * 2 : 16;
- continue;
+ continue;
}
/* allow one seek over upper bound, so we can get a correct upper_bound_sample for streams with unknown total_samples */
first_seek = false;
-
+
/* make sure we are not seeking in corrupted stream */
if (this_frame_sample < lower_bound_sample) {
decoder->protected_->state = FLAC__STREAM_DECODER_SEEK_ERROR;
@@ -3171,7 +3504,7 @@ FLAC__bool seek_to_absolute_sample_(FLAC__StreamDecoder *decoder, FLAC__uint64 s
decoder->protected_->state = FLAC__STREAM_DECODER_SEEK_ERROR;
return false;
}
- approx_bytes_per_frame = (unsigned)(2 * (upper_bound - pos) / 3 + 16);
+ approx_bytes_per_frame = (uint32_t)(2 * (upper_bound - pos) / 3 + 16);
}
else { /* target_sample >= this_frame_sample + this frame's blocksize */
lower_bound_sample = this_frame_sample + decoder->private_->last_frame.header.blocksize;
@@ -3179,7 +3512,7 @@ FLAC__bool seek_to_absolute_sample_(FLAC__StreamDecoder *decoder, FLAC__uint64 s
decoder->protected_->state = FLAC__STREAM_DECODER_SEEK_ERROR;
return false;
}
- approx_bytes_per_frame = (unsigned)(2 * (lower_bound - pos) / 3 + 16);
+ approx_bytes_per_frame = (uint32_t)(2 * (lower_bound - pos) / 3 + 16);
}
}
@@ -3194,14 +3527,14 @@ FLAC__bool seek_to_absolute_sample_ogg_(FLAC__StreamDecoder *decoder, FLAC__uint
FLAC__uint64 this_frame_sample = (FLAC__uint64)0 - 1;
FLAC__uint64 pos = 0; /* only initialized to avoid compiler warning */
FLAC__bool did_a_seek;
- unsigned iteration = 0;
+ uint32_t iteration = 0;
- /* In the first iterations, we will calculate the target byte position
+ /* In the first iterations, we will calculate the target byte position
* by the distance from the target sample to left_sample and
* right_sample (let's call it "proportional search"). After that, we
* will switch to binary search.
*/
- unsigned BINARY_SEARCH_AFTER_ITERATION = 2;
+ uint32_t BINARY_SEARCH_AFTER_ITERATION = 2;
/* We will switch to a linear search once our current sample is less
* than this number of samples ahead of the target sample
@@ -3218,18 +3551,19 @@ FLAC__bool seek_to_absolute_sample_ogg_(FLAC__StreamDecoder *decoder, FLAC__uint
decoder->private_->target_sample = target_sample;
for( ; ; iteration++) {
+ /* Do sanity checks on bounds */
+ if(right_pos <= left_pos || right_pos - left_pos < 9) {
+ /* FLAC frame is at least 9 byte in size */
+ decoder->protected_->state = FLAC__STREAM_DECODER_SEEK_ERROR;
+ return false;
+ }
if (iteration == 0 || this_frame_sample > target_sample || target_sample - this_frame_sample > LINEAR_SEARCH_WITHIN_SAMPLES) {
if (iteration >= BINARY_SEARCH_AFTER_ITERATION) {
pos = (right_pos + left_pos) / 2;
}
else {
#ifndef FLAC__INTEGER_ONLY_LIBRARY
-#if defined _MSC_VER || defined __MINGW32__
- /* with MSVC you have to spoon feed it the casting */
- pos = (FLAC__uint64)((FLAC__double)(FLAC__int64)(target_sample - left_sample) / (FLAC__double)(FLAC__int64)(right_sample - left_sample) * (FLAC__double)(FLAC__int64)(right_pos - left_pos));
-#else
- pos = (FLAC__uint64)((FLAC__double)(target_sample - left_sample) / (FLAC__double)(right_sample - left_sample) * (FLAC__double)(right_pos - left_pos));
-#endif
+ pos = (FLAC__uint64)((double)(target_sample - left_sample) / (double)(right_sample - left_sample) * (double)(right_pos - left_pos));
#else
/* a little less accurate: */
if ((target_sample-left_sample <= 0xffffffff) && (right_pos-left_pos <= 0xffffffff))
@@ -3259,7 +3593,8 @@ FLAC__bool seek_to_absolute_sample_ogg_(FLAC__StreamDecoder *decoder, FLAC__uint
did_a_seek = false;
decoder->private_->got_a_frame = false;
- if(!FLAC__stream_decoder_process_single(decoder)) {
+ if(!FLAC__stream_decoder_process_single(decoder) ||
+ decoder->protected_->state == FLAC__STREAM_DECODER_ABORTED) {
decoder->protected_->state = FLAC__STREAM_DECODER_SEEK_ERROR;
return false;
}
@@ -3306,7 +3641,7 @@ FLAC__bool seek_to_absolute_sample_ogg_(FLAC__StreamDecoder *decoder, FLAC__uint
}
left_pos = pos;
}
- else if(this_frame_sample > target_sample) {
+ else {
right_sample = this_frame_sample;
/* sanity check to avoid infinite loop */
if (right_pos == pos) {
@@ -3346,7 +3681,7 @@ FLAC__StreamDecoderSeekStatus file_seek_callback_(const FLAC__StreamDecoder *dec
if(decoder->private_->file == stdin)
return FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED;
- else if(fseeko(decoder->private_->file, (off_t)absolute_byte_offset, SEEK_SET) < 0)
+ else if(fseeko(decoder->private_->file, (FLAC__off_t)absolute_byte_offset, SEEK_SET) < 0)
return FLAC__STREAM_DECODER_SEEK_STATUS_ERROR;
else
return FLAC__STREAM_DECODER_SEEK_STATUS_OK;
@@ -3354,7 +3689,7 @@ FLAC__StreamDecoderSeekStatus file_seek_callback_(const FLAC__StreamDecoder *dec
FLAC__StreamDecoderTellStatus file_tell_callback_(const FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data)
{
- off_t pos;
+ FLAC__off_t pos;
(void)client_data;
if(decoder->private_->file == stdin)
@@ -3369,12 +3704,18 @@ FLAC__StreamDecoderTellStatus file_tell_callback_(const FLAC__StreamDecoder *dec
FLAC__StreamDecoderLengthStatus file_length_callback_(const FLAC__StreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data)
{
- struct stat filestats;
+ struct flac_stat_s filestats;
(void)client_data;
if(decoder->private_->file == stdin)
return FLAC__STREAM_DECODER_LENGTH_STATUS_UNSUPPORTED;
- else if(fstat(fileno(decoder->private_->file), &filestats) != 0)
+
+#ifndef FLAC__USE_FILELENGTHI64
+ if(flac_fstat(fileno(decoder->private_->file), &filestats) != 0)
+#else
+ filestats.st_size = _filelengthi64(fileno(decoder->private_->file));
+ if(filestats.st_size < 0)
+#endif
return FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR;
else {
*stream_length = (FLAC__uint64)filestats.st_size;
diff --git a/3rdparty/libflac/src/libFLAC/stream_encoder.c b/3rdparty/libflac/src/libFLAC/stream_encoder.c
index afc79850096..c1c03e49ed6 100644
--- a/3rdparty/libflac/src/libFLAC/stream_encoder.c
+++ b/3rdparty/libflac/src/libFLAC/stream_encoder.c
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -33,30 +34,18 @@
# include <config.h>
#endif
-#if defined _MSC_VER || defined __MINGW32__
-#include <io.h> /* for _setmode() */
-#include <fcntl.h> /* for _O_BINARY */
-#endif
-#if defined __CYGWIN__ || defined __EMX__
-#include <io.h> /* for setmode(), O_BINARY */
-#include <fcntl.h> /* for _O_BINARY */
-#endif
#include <limits.h>
#include <stdio.h>
#include <stdlib.h> /* for malloc() */
#include <string.h> /* for memcpy() */
#include <sys/types.h> /* for off_t */
-#if defined _MSC_VER || defined __BORLANDC__ || defined __MINGW32__ /* @@@ [2G limit] */
-#ifndef fseeko
-#define fseeko fseek
-#endif
-#ifndef ftello
-#define ftello ftell
-#endif
+#ifdef _WIN32
+#include <windows.h> /* for GetFileType() */
+#include <io.h> /* for _get_osfhandle() */
#endif
+#include "share/compat.h"
#include "FLAC/assert.h"
#include "FLAC/stream_decoder.h"
-#include "share/alloc.h"
#include "protected/stream_encoder.h"
#include "private/bitwriter.h"
#include "private/bitmath.h"
@@ -67,26 +56,17 @@
#include "private/lpc.h"
#include "private/md5.h"
#include "private/memory.h"
+#include "private/macros.h"
#if FLAC__HAS_OGG
#include "private/ogg_helper.h"
#include "private/ogg_mapping.h"
#endif
+#include "private/stream_encoder.h"
#include "private/stream_encoder_framing.h"
#include "private/window.h"
+#include "share/alloc.h"
+#include "share/private.h"
-#ifndef FLaC__INLINE
-#define FLaC__INLINE
-#endif
-
-#ifdef min
-#undef min
-#endif
-#define min(x,y) ((x)<(y)?(x):(y))
-
-#ifdef max
-#undef max
-#endif
-#define max(x,y) ((x)>(y)?(x):(y))
/* Exact Rice codeword length calculation is off by default. The simple
* (and fast) estimation (of how many bits a residual value will be
@@ -98,48 +78,59 @@
* parameter estimation in this encoder is very good, almost always
* yielding compression within 0.1% of the optimal parameters.
*/
-#undef ENABLE_RICE_PARAMETER_SEARCH
+#undef ENABLE_RICE_PARAMETER_SEARCH
typedef struct {
FLAC__int32 *data[FLAC__MAX_CHANNELS];
- unsigned size; /* of each data[] in samples */
- unsigned tail;
+ uint32_t size; /* of each data[] in samples */
+ uint32_t tail;
} verify_input_fifo;
typedef struct {
const FLAC__byte *data;
- unsigned capacity;
- unsigned bytes;
+ uint32_t capacity;
+ uint32_t bytes;
} verify_output;
+#ifndef FLAC__INTEGER_ONLY_LIBRARY
+typedef struct {
+ uint32_t a, b, c;
+ FLAC__ApodizationSpecification * current_apodization;
+ double autoc_root[FLAC__MAX_LPC_ORDER+1];
+ double autoc[FLAC__MAX_LPC_ORDER+1];
+} apply_apodization_state_struct;
+#endif
+
typedef enum {
ENCODER_IN_MAGIC = 0,
ENCODER_IN_METADATA = 1,
ENCODER_IN_AUDIO = 2
} EncoderStateHint;
-static struct CompressionLevels {
+static const struct CompressionLevels {
FLAC__bool do_mid_side_stereo;
FLAC__bool loose_mid_side_stereo;
- unsigned max_lpc_order;
- unsigned qlp_coeff_precision;
+ uint32_t max_lpc_order;
+ uint32_t qlp_coeff_precision;
FLAC__bool do_qlp_coeff_prec_search;
FLAC__bool do_escape_coding;
FLAC__bool do_exhaustive_model_search;
- unsigned min_residual_partition_order;
- unsigned max_residual_partition_order;
- unsigned rice_parameter_search_dist;
+ uint32_t min_residual_partition_order;
+ uint32_t max_residual_partition_order;
+ uint32_t rice_parameter_search_dist;
+ const char *apodization;
} compression_levels_[] = {
- { false, false, 0, 0, false, false, false, 0, 3, 0 },
- { true , true , 0, 0, false, false, false, 0, 3, 0 },
- { true , false, 0, 0, false, false, false, 0, 3, 0 },
- { false, false, 6, 0, false, false, false, 0, 4, 0 },
- { true , true , 8, 0, false, false, false, 0, 4, 0 },
- { true , false, 8, 0, false, false, false, 0, 5, 0 },
- { true , false, 8, 0, false, false, false, 0, 6, 0 },
- { true , false, 8, 0, false, false, true , 0, 6, 0 },
- { true , false, 12, 0, false, false, true , 0, 6, 0 }
+ { false, false, 0, 0, false, false, false, 0, 3, 0, "tukey(5e-1)" },
+ { true , true , 0, 0, false, false, false, 0, 3, 0, "tukey(5e-1)" },
+ { true , false, 0, 0, false, false, false, 0, 3, 0, "tukey(5e-1)" },
+ { false, false, 6, 0, false, false, false, 0, 4, 0, "tukey(5e-1)" },
+ { true , true , 8, 0, false, false, false, 0, 4, 0, "tukey(5e-1)" },
+ { true , false, 8, 0, false, false, false, 0, 5, 0, "tukey(5e-1)" },
+ { true , false, 8, 0, false, false, false, 0, 6, 0, "subdivide_tukey(2)" },
+ { true , false, 12, 0, false, false, false, 0, 6, 0, "subdivide_tukey(2)" },
+ { true , false, 12, 0, false, false, false, 0, 6, 0, "subdivide_tukey(3)" }
+ /* here we use locale-independent 5e-1 instead of 0.5 or 0,5 */
};
@@ -151,130 +142,140 @@ static struct CompressionLevels {
static void set_defaults_(FLAC__StreamEncoder *encoder);
static void free_(FLAC__StreamEncoder *encoder);
-static FLAC__bool resize_buffers_(FLAC__StreamEncoder *encoder, unsigned new_blocksize);
-static FLAC__bool write_bitbuffer_(FLAC__StreamEncoder *encoder, unsigned samples, FLAC__bool is_last_block);
-static FLAC__StreamEncoderWriteStatus write_frame_(FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, FLAC__bool is_last_block);
+static FLAC__bool resize_buffers_(FLAC__StreamEncoder *encoder, uint32_t new_blocksize);
+static FLAC__bool write_bitbuffer_(FLAC__StreamEncoder *encoder, uint32_t samples, FLAC__bool is_last_block);
+static FLAC__StreamEncoderWriteStatus write_frame_(FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, uint32_t samples, FLAC__bool is_last_block);
static void update_metadata_(const FLAC__StreamEncoder *encoder);
#if FLAC__HAS_OGG
static void update_ogg_metadata_(FLAC__StreamEncoder *encoder);
#endif
-static FLAC__bool process_frame_(FLAC__StreamEncoder *encoder, FLAC__bool is_fractional_block, FLAC__bool is_last_block);
-static FLAC__bool process_subframes_(FLAC__StreamEncoder *encoder, FLAC__bool is_fractional_block);
+static FLAC__bool process_frame_(FLAC__StreamEncoder *encoder, FLAC__bool is_last_block);
+static FLAC__bool process_subframes_(FLAC__StreamEncoder *encoder);
static FLAC__bool process_subframe_(
FLAC__StreamEncoder *encoder,
- unsigned min_partition_order,
- unsigned max_partition_order,
+ uint32_t min_partition_order,
+ uint32_t max_partition_order,
const FLAC__FrameHeader *frame_header,
- unsigned subframe_bps,
- const FLAC__int32 integer_signal[],
+ uint32_t subframe_bps,
+ const void *integer_signal,
FLAC__Subframe *subframe[2],
FLAC__EntropyCodingMethod_PartitionedRiceContents *partitioned_rice_contents[2],
FLAC__int32 *residual[2],
- unsigned *best_subframe,
- unsigned *best_bits
+ uint32_t *best_subframe,
+ uint32_t *best_bits
);
+#ifndef FLAC__INTEGER_ONLY_LIBRARY
+static FLAC__bool apply_apodization_(
+ FLAC__StreamEncoder *encoder,
+ apply_apodization_state_struct *apply_apodization_state,
+ uint32_t blocksize,
+ double *lpc_error,
+ uint32_t *max_lpc_order_this_apodization,
+ uint32_t subframe_bps,
+ const void *integer_signal,
+ uint32_t *guess_lpc_order
+);
+#endif
+
static FLAC__bool add_subframe_(
FLAC__StreamEncoder *encoder,
- unsigned blocksize,
- unsigned subframe_bps,
+ uint32_t blocksize,
+ uint32_t subframe_bps,
const FLAC__Subframe *subframe,
FLAC__BitWriter *frame
);
-static unsigned evaluate_constant_subframe_(
+static uint32_t evaluate_constant_subframe_(
FLAC__StreamEncoder *encoder,
- const FLAC__int32 signal,
- unsigned blocksize,
- unsigned subframe_bps,
+ const FLAC__int64 signal,
+ uint32_t blocksize,
+ uint32_t subframe_bps,
FLAC__Subframe *subframe
);
-static unsigned evaluate_fixed_subframe_(
+static uint32_t evaluate_fixed_subframe_(
FLAC__StreamEncoder *encoder,
- const FLAC__int32 signal[],
+ const void *signal,
FLAC__int32 residual[],
FLAC__uint64 abs_residual_partition_sums[],
- unsigned raw_bits_per_partition[],
- unsigned blocksize,
- unsigned subframe_bps,
- unsigned order,
- unsigned rice_parameter,
- unsigned rice_parameter_limit,
- unsigned min_partition_order,
- unsigned max_partition_order,
+ uint32_t raw_bits_per_partition[],
+ uint32_t blocksize,
+ uint32_t subframe_bps,
+ uint32_t order,
+ uint32_t rice_parameter_limit,
+ uint32_t min_partition_order,
+ uint32_t max_partition_order,
FLAC__bool do_escape_coding,
- unsigned rice_parameter_search_dist,
+ uint32_t rice_parameter_search_dist,
FLAC__Subframe *subframe,
FLAC__EntropyCodingMethod_PartitionedRiceContents *partitioned_rice_contents
);
#ifndef FLAC__INTEGER_ONLY_LIBRARY
-static unsigned evaluate_lpc_subframe_(
+static uint32_t evaluate_lpc_subframe_(
FLAC__StreamEncoder *encoder,
- const FLAC__int32 signal[],
+ const void *signal,
FLAC__int32 residual[],
FLAC__uint64 abs_residual_partition_sums[],
- unsigned raw_bits_per_partition[],
+ uint32_t raw_bits_per_partition[],
const FLAC__real lp_coeff[],
- unsigned blocksize,
- unsigned subframe_bps,
- unsigned order,
- unsigned qlp_coeff_precision,
- unsigned rice_parameter,
- unsigned rice_parameter_limit,
- unsigned min_partition_order,
- unsigned max_partition_order,
+ uint32_t blocksize,
+ uint32_t subframe_bps,
+ uint32_t order,
+ uint32_t qlp_coeff_precision,
+ uint32_t rice_parameter_limit,
+ uint32_t min_partition_order,
+ uint32_t max_partition_order,
FLAC__bool do_escape_coding,
- unsigned rice_parameter_search_dist,
+ uint32_t rice_parameter_search_dist,
FLAC__Subframe *subframe,
FLAC__EntropyCodingMethod_PartitionedRiceContents *partitioned_rice_contents
);
#endif
-static unsigned evaluate_verbatim_subframe_(
- FLAC__StreamEncoder *encoder,
- const FLAC__int32 signal[],
- unsigned blocksize,
- unsigned subframe_bps,
+static uint32_t evaluate_verbatim_subframe_(
+ FLAC__StreamEncoder *encoder,
+ const void *signal,
+ uint32_t blocksize,
+ uint32_t subframe_bps,
FLAC__Subframe *subframe
);
-static unsigned find_best_partition_order_(
+static uint32_t find_best_partition_order_(
struct FLAC__StreamEncoderPrivate *private_,
const FLAC__int32 residual[],
FLAC__uint64 abs_residual_partition_sums[],
- unsigned raw_bits_per_partition[],
- unsigned residual_samples,
- unsigned predictor_order,
- unsigned rice_parameter,
- unsigned rice_parameter_limit,
- unsigned min_partition_order,
- unsigned max_partition_order,
- unsigned bps,
+ uint32_t raw_bits_per_partition[],
+ uint32_t residual_samples,
+ uint32_t predictor_order,
+ uint32_t rice_parameter_limit,
+ uint32_t min_partition_order,
+ uint32_t max_partition_order,
+ uint32_t bps,
FLAC__bool do_escape_coding,
- unsigned rice_parameter_search_dist,
+ uint32_t rice_parameter_search_dist,
FLAC__EntropyCodingMethod *best_ecm
);
static void precompute_partition_info_sums_(
const FLAC__int32 residual[],
FLAC__uint64 abs_residual_partition_sums[],
- unsigned residual_samples,
- unsigned predictor_order,
- unsigned min_partition_order,
- unsigned max_partition_order,
- unsigned bps
+ uint32_t residual_samples,
+ uint32_t predictor_order,
+ uint32_t min_partition_order,
+ uint32_t max_partition_order,
+ uint32_t bps
);
static void precompute_partition_info_escapes_(
const FLAC__int32 residual[],
- unsigned raw_bits_per_partition[],
- unsigned residual_samples,
- unsigned predictor_order,
- unsigned min_partition_order,
- unsigned max_partition_order
+ uint32_t raw_bits_per_partition[],
+ uint32_t residual_samples,
+ uint32_t predictor_order,
+ uint32_t min_partition_order,
+ uint32_t max_partition_order
);
static FLAC__bool set_partitioned_rice_(
@@ -282,35 +283,35 @@ static FLAC__bool set_partitioned_rice_(
const FLAC__int32 residual[],
#endif
const FLAC__uint64 abs_residual_partition_sums[],
- const unsigned raw_bits_per_partition[],
- const unsigned residual_samples,
- const unsigned predictor_order,
- const unsigned suggested_rice_parameter,
- const unsigned rice_parameter_limit,
- const unsigned rice_parameter_search_dist,
- const unsigned partition_order,
+ const uint32_t raw_bits_per_partition[],
+ const uint32_t residual_samples,
+ const uint32_t predictor_order,
+ const uint32_t rice_parameter_limit,
+ const uint32_t rice_parameter_search_dist,
+ const uint32_t partition_order,
const FLAC__bool search_for_escapes,
FLAC__EntropyCodingMethod_PartitionedRiceContents *partitioned_rice_contents,
- unsigned *bits
+ uint32_t *bits
);
-static unsigned get_wasted_bits_(FLAC__int32 signal[], unsigned samples);
+static uint32_t get_wasted_bits_(FLAC__int32 signal[], uint32_t samples);
+static uint32_t get_wasted_bits_wide_(FLAC__int64 signal_wide[], FLAC__int32 signal[], uint32_t samples);
/* verify-related routines: */
static void append_to_verify_fifo_(
verify_input_fifo *fifo,
const FLAC__int32 * const input[],
- unsigned input_offset,
- unsigned channels,
- unsigned wide_samples
+ uint32_t input_offset,
+ uint32_t channels,
+ uint32_t wide_samples
);
static void append_to_verify_fifo_interleaved_(
verify_input_fifo *fifo,
const FLAC__int32 input[],
- unsigned input_offset,
- unsigned channels,
- unsigned wide_samples
+ uint32_t input_offset,
+ uint32_t channels,
+ uint32_t wide_samples
);
static FLAC__StreamDecoderReadStatus verify_read_callback_(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data);
@@ -321,7 +322,7 @@ static void verify_error_callback_(const FLAC__StreamDecoder *decoder, FLAC__Str
static FLAC__StreamEncoderReadStatus file_read_callback_(const FLAC__StreamEncoder *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data);
static FLAC__StreamEncoderSeekStatus file_seek_callback_(const FLAC__StreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data);
static FLAC__StreamEncoderTellStatus file_tell_callback_(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data);
-static FLAC__StreamEncoderWriteStatus file_write_callback_(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data);
+static FLAC__StreamEncoderWriteStatus file_write_callback_(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame, void *client_data);
static FILE *get_binary_stdout_(void);
@@ -332,17 +333,18 @@ static FILE *get_binary_stdout_(void);
***********************************************************************/
typedef struct FLAC__StreamEncoderPrivate {
- unsigned input_capacity; /* current size (in samples) of the signal and residual buffers */
+ uint32_t input_capacity; /* current size (in samples) of the signal and residual buffers */
FLAC__int32 *integer_signal[FLAC__MAX_CHANNELS]; /* the integer version of the input signal */
FLAC__int32 *integer_signal_mid_side[2]; /* the integer version of the mid-side input signal (stereo only) */
+ FLAC__int64 *integer_signal_33bit_side; /* 33-bit side for 32-bit stereo decorrelation */
#ifndef FLAC__INTEGER_ONLY_LIBRARY
FLAC__real *real_signal[FLAC__MAX_CHANNELS]; /* (@@@ currently unused) the floating-point version of the input signal */
FLAC__real *real_signal_mid_side[2]; /* (@@@ currently unused) the floating-point version of the mid-side input signal (stereo only) */
FLAC__real *window[FLAC__MAX_APODIZATION_FUNCTIONS]; /* the pre-computed floating-point window for each apodization function */
FLAC__real *windowed_signal; /* the integer_signal[] * current window[] */
#endif
- unsigned subframe_bps[FLAC__MAX_CHANNELS]; /* the effective bits per sample of the input signal (stream bps - wasted bits) */
- unsigned subframe_bps_mid_side[2]; /* the effective bits per sample of the mid-side input signal (stream bps - wasted bits + 0/1) */
+ uint32_t subframe_bps[FLAC__MAX_CHANNELS]; /* the effective bits per sample of the input signal (stream bps - wasted bits) */
+ uint32_t subframe_bps_mid_side[2]; /* the effective bits per sample of the mid-side input signal (stream bps - wasted bits + 0/1) */
FLAC__int32 *residual_workspace[FLAC__MAX_CHANNELS][2]; /* each channel has a candidate and best workspace where the subframe residual signals will be stored */
FLAC__int32 *residual_workspace_mid_side[2][2];
FLAC__Subframe subframe_workspace[FLAC__MAX_CHANNELS][2];
@@ -353,42 +355,49 @@ typedef struct FLAC__StreamEncoderPrivate {
FLAC__EntropyCodingMethod_PartitionedRiceContents partitioned_rice_contents_workspace_mid_side[FLAC__MAX_CHANNELS][2];
FLAC__EntropyCodingMethod_PartitionedRiceContents *partitioned_rice_contents_workspace_ptr[FLAC__MAX_CHANNELS][2];
FLAC__EntropyCodingMethod_PartitionedRiceContents *partitioned_rice_contents_workspace_ptr_mid_side[FLAC__MAX_CHANNELS][2];
- unsigned best_subframe[FLAC__MAX_CHANNELS]; /* index (0 or 1) into 2nd dimension of the above workspaces */
- unsigned best_subframe_mid_side[2];
- unsigned best_subframe_bits[FLAC__MAX_CHANNELS]; /* size in bits of the best subframe for each channel */
- unsigned best_subframe_bits_mid_side[2];
+ uint32_t best_subframe[FLAC__MAX_CHANNELS]; /* index (0 or 1) into 2nd dimension of the above workspaces */
+ uint32_t best_subframe_mid_side[2];
+ uint32_t best_subframe_bits[FLAC__MAX_CHANNELS]; /* size in bits of the best subframe for each channel */
+ uint32_t best_subframe_bits_mid_side[2];
FLAC__uint64 *abs_residual_partition_sums; /* workspace where the sum of abs(candidate residual) for each partition is stored */
- unsigned *raw_bits_per_partition; /* workspace where the sum of silog2(candidate residual) for each partition is stored */
+ uint32_t *raw_bits_per_partition; /* workspace where the sum of silog2(candidate residual) for each partition is stored */
FLAC__BitWriter *frame; /* the current frame being worked on */
- unsigned loose_mid_side_stereo_frames; /* rounded number of frames the encoder will use before trying both independent and mid/side frames again */
- unsigned loose_mid_side_stereo_frame_count; /* number of frames using the current channel assignment */
+ uint32_t loose_mid_side_stereo_frames; /* rounded number of frames the encoder will use before trying both independent and mid/side frames again */
+ uint32_t loose_mid_side_stereo_frame_count; /* number of frames using the current channel assignment */
FLAC__ChannelAssignment last_channel_assignment;
FLAC__StreamMetadata streaminfo; /* scratchpad for STREAMINFO as it is built */
FLAC__StreamMetadata_SeekTable *seek_table; /* pointer into encoder->protected_->metadata_ where the seek table is */
- unsigned current_sample_number;
- unsigned current_frame_number;
+ uint32_t current_sample_number;
+ uint32_t current_frame_number;
FLAC__MD5Context md5context;
FLAC__CPUInfo cpuinfo;
+ void (*local_precompute_partition_info_sums)(const FLAC__int32 residual[], FLAC__uint64 abs_residual_partition_sums[], uint32_t residual_samples, uint32_t predictor_order, uint32_t min_partition_order, uint32_t max_partition_order, uint32_t bps);
#ifndef FLAC__INTEGER_ONLY_LIBRARY
- unsigned (*local_fixed_compute_best_predictor)(const FLAC__int32 data[], unsigned data_len, FLAC__float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
+ uint32_t (*local_fixed_compute_best_predictor)(const FLAC__int32 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
+ uint32_t (*local_fixed_compute_best_predictor_wide)(const FLAC__int32 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
+ uint32_t (*local_fixed_compute_best_predictor_limit_residual)(const FLAC__int32 data[], uint32_t data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
#else
- unsigned (*local_fixed_compute_best_predictor)(const FLAC__int32 data[], unsigned data_len, FLAC__fixedpoint residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
+ uint32_t (*local_fixed_compute_best_predictor)(const FLAC__int32 data[], uint32_t data_len, FLAC__fixedpoint residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
+ uint32_t (*local_fixed_compute_best_predictor_wide)(const FLAC__int32 data[], uint32_t data_len, FLAC__fixedpoint residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
+ uint32_t (*local_fixed_compute_best_predictor_limit_residual)(const FLAC__int32 data[], uint32_t data_len, FLAC__fixedpoint residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]);
#endif
#ifndef FLAC__INTEGER_ONLY_LIBRARY
- void (*local_lpc_compute_autocorrelation)(const FLAC__real data[], unsigned data_len, unsigned lag, FLAC__real autoc[]);
- void (*local_lpc_compute_residual_from_qlp_coefficients)(const FLAC__int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 residual[]);
- void (*local_lpc_compute_residual_from_qlp_coefficients_64bit)(const FLAC__int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 residual[]);
- void (*local_lpc_compute_residual_from_qlp_coefficients_16bit)(const FLAC__int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 residual[]);
+ void (*local_lpc_compute_autocorrelation)(const FLAC__real data[], uint32_t data_len, uint32_t lag, double autoc[]);
+ void (*local_lpc_compute_residual_from_qlp_coefficients)(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[]);
+ void (*local_lpc_compute_residual_from_qlp_coefficients_64bit)(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[]);
+ void (*local_lpc_compute_residual_from_qlp_coefficients_16bit)(const FLAC__int32 *data, uint32_t data_len, const FLAC__int32 qlp_coeff[], uint32_t order, int lp_quantization, FLAC__int32 residual[]);
#endif
- FLAC__bool use_wide_by_block; /* use slow 64-bit versions of some functions because of the block size */
- FLAC__bool use_wide_by_partition; /* use slow 64-bit versions of some functions because of the min partition order and blocksize */
- FLAC__bool use_wide_by_order; /* use slow 64-bit versions of some functions because of the lpc order */
+ FLAC__bool disable_mmx;
+ FLAC__bool disable_sse2;
+ FLAC__bool disable_ssse3;
+ FLAC__bool disable_sse41;
+ FLAC__bool disable_sse42;
+ FLAC__bool disable_avx2;
+ FLAC__bool disable_fma;
FLAC__bool disable_constant_subframes;
FLAC__bool disable_fixed_subframes;
FLAC__bool disable_verbatim_subframes;
-#if FLAC__HAS_OGG
FLAC__bool is_ogg;
-#endif
FLAC__StreamEncoderReadCallback read_callback; /* currently only needed for Ogg FLAC */
FLAC__StreamEncoderSeekCallback seek_callback;
FLAC__StreamEncoderTellCallback tell_callback;
@@ -396,15 +405,16 @@ typedef struct FLAC__StreamEncoderPrivate {
FLAC__StreamEncoderMetadataCallback metadata_callback;
FLAC__StreamEncoderProgressCallback progress_callback;
void *client_data;
- unsigned first_seekpoint_to_check;
+ uint32_t first_seekpoint_to_check;
FILE *file; /* only used when encoding to a file */
FLAC__uint64 bytes_written;
FLAC__uint64 samples_written;
- unsigned frames_written;
- unsigned total_frames_estimate;
+ uint32_t frames_written;
+ uint32_t total_frames_estimate;
/* unaligned (original) pointers to allocated data */
FLAC__int32 *integer_signal_unaligned[FLAC__MAX_CHANNELS];
FLAC__int32 *integer_signal_mid_side_unaligned[2];
+ FLAC__int64 *integer_signal_33bit_side_unaligned;
#ifndef FLAC__INTEGER_ONLY_LIBRARY
FLAC__real *real_signal_unaligned[FLAC__MAX_CHANNELS]; /* (@@@ currently unused) */
FLAC__real *real_signal_mid_side_unaligned[2]; /* (@@@ currently unused) */
@@ -414,7 +424,7 @@ typedef struct FLAC__StreamEncoderPrivate {
FLAC__int32 *residual_workspace_unaligned[FLAC__MAX_CHANNELS][2];
FLAC__int32 *residual_workspace_mid_side_unaligned[2][2];
FLAC__uint64 *abs_residual_partition_sums_unaligned;
- unsigned *raw_bits_per_partition_unaligned;
+ uint32_t *raw_bits_per_partition_unaligned;
/*
* These fields have been moved here from private function local
* declarations merely to save stack space during encoding.
@@ -434,9 +444,9 @@ typedef struct FLAC__StreamEncoderPrivate {
verify_output output;
struct {
FLAC__uint64 absolute_sample;
- unsigned frame_number;
- unsigned channel;
- unsigned sample;
+ uint32_t frame_number;
+ uint32_t channel;
+ uint32_t sample;
FLAC__int32 expected;
FLAC__int32 got;
} error_stats;
@@ -479,7 +489,7 @@ FLAC_API const char * const FLAC__StreamEncoderInitStatusString[] = {
"FLAC__STREAM_ENCODER_INIT_STATUS_ALREADY_INITIALIZED"
};
-FLAC_API const char * const FLAC__treamEncoderReadStatusString[] = {
+FLAC_API const char * const FLAC__StreamEncoderReadStatusString[] = {
"FLAC__STREAM_ENCODER_READ_STATUS_CONTINUE",
"FLAC__STREAM_ENCODER_READ_STATUS_END_OF_STREAM",
"FLAC__STREAM_ENCODER_READ_STATUS_ABORT",
@@ -514,7 +524,7 @@ FLAC_API const char * const FLAC__StreamEncoderTellStatusString[] = {
* WATCHOUT: some parts of the code assert that OVERREAD_ == 1 and there's
* not really any reason to change it.
*/
-static const unsigned OVERREAD_ = 1;
+static const uint32_t OVERREAD_ = 1;
/***********************************************************************
*
@@ -524,22 +534,22 @@ static const unsigned OVERREAD_ = 1;
FLAC_API FLAC__StreamEncoder *FLAC__stream_encoder_new(void)
{
FLAC__StreamEncoder *encoder;
- unsigned i;
+ uint32_t i;
FLAC__ASSERT(sizeof(int) >= 4); /* we want to die right away if this is not true */
- encoder = (FLAC__StreamEncoder*)calloc(1, sizeof(FLAC__StreamEncoder));
+ encoder = calloc(1, sizeof(FLAC__StreamEncoder));
if(encoder == 0) {
return 0;
}
- encoder->protected_ = (FLAC__StreamEncoderProtected*)calloc(1, sizeof(FLAC__StreamEncoderProtected));
+ encoder->protected_ = calloc(1, sizeof(FLAC__StreamEncoderProtected));
if(encoder->protected_ == 0) {
free(encoder);
return 0;
}
- encoder->private_ = (FLAC__StreamEncoderPrivate*)calloc(1, sizeof(FLAC__StreamEncoderPrivate));
+ encoder->private_ = calloc(1, sizeof(FLAC__StreamEncoderPrivate));
if(encoder->private_ == 0) {
free(encoder->protected_);
free(encoder);
@@ -556,6 +566,8 @@ FLAC_API FLAC__StreamEncoder *FLAC__stream_encoder_new(void)
encoder->private_->file = 0;
+ encoder->protected_->state = FLAC__STREAM_ENCODER_UNINITIALIZED;
+
set_defaults_(encoder);
encoder->private_->is_being_deleted = false;
@@ -588,16 +600,16 @@ FLAC_API FLAC__StreamEncoder *FLAC__stream_encoder_new(void)
for(i = 0; i < 2; i++)
FLAC__format_entropy_coding_method_partitioned_rice_contents_init(&encoder->private_->partitioned_rice_contents_extra[i]);
- encoder->protected_->state = FLAC__STREAM_ENCODER_UNINITIALIZED;
-
return encoder;
}
FLAC_API void FLAC__stream_encoder_delete(FLAC__StreamEncoder *encoder)
{
- unsigned i;
+ uint32_t i;
+
+ if (encoder == NULL)
+ return ;
- FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->protected_);
FLAC__ASSERT(0 != encoder->private_);
FLAC__ASSERT(0 != encoder->private_->frame);
@@ -643,7 +655,7 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_(
FLAC__bool is_ogg
)
{
- unsigned i;
+ uint32_t i;
FLAC__bool metadata_has_seektable, metadata_has_vorbis_comment, metadata_picture_has_type1, metadata_picture_has_type2;
FLAC__ASSERT(0 != encoder);
@@ -651,10 +663,8 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_(
if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
return FLAC__STREAM_ENCODER_INIT_STATUS_ALREADY_INITIALIZED;
-#if !FLAC__HAS_OGG
- if(is_ogg)
+ if(FLAC__HAS_OGG == 0 && is_ogg)
return FLAC__STREAM_ENCODER_INIT_STATUS_UNSUPPORTED_CONTAINER;
-#endif
if(0 == write_callback || (seek_callback && 0 == tell_callback))
return FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS;
@@ -669,10 +679,7 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_(
else if(!encoder->protected_->do_mid_side_stereo)
encoder->protected_->loose_mid_side_stereo = false;
- if(encoder->protected_->bits_per_sample >= 32)
- encoder->protected_->do_mid_side_stereo = false; /* since we currenty do 32-bit math, the side channel would have 33 bps and overflow */
-
- if(encoder->protected_->bits_per_sample < FLAC__MIN_BITS_PER_SAMPLE || encoder->protected_->bits_per_sample > FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE)
+ if(encoder->protected_->bits_per_sample < FLAC__MIN_BITS_PER_SAMPLE || encoder->protected_->bits_per_sample > FLAC__MAX_BITS_PER_SAMPLE)
return FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BITS_PER_SAMPLE;
if(!FLAC__format_sample_rate_is_valid(encoder->protected_->sample_rate))
@@ -698,7 +705,7 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_(
if(encoder->protected_->bits_per_sample < 16) {
/* @@@ need some data about how to set this here w.r.t. blocksize and sample rate */
/* @@@ until then we'll make a guess */
- encoder->protected_->qlp_coeff_precision = max(FLAC__MIN_QLP_COEFF_PRECISION, 2 + encoder->protected_->bits_per_sample / 2);
+ encoder->protected_->qlp_coeff_precision = flac_max(FLAC__MIN_QLP_COEFF_PRECISION, 2 + encoder->protected_->bits_per_sample / 2);
}
else if(encoder->protected_->bits_per_sample == 16) {
if(encoder->protected_->blocksize <= 192)
@@ -730,20 +737,7 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_(
return FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_QLP_COEFF_PRECISION;
if(encoder->protected_->streamable_subset) {
- if(
- encoder->protected_->blocksize != 192 &&
- encoder->protected_->blocksize != 576 &&
- encoder->protected_->blocksize != 1152 &&
- encoder->protected_->blocksize != 2304 &&
- encoder->protected_->blocksize != 4608 &&
- encoder->protected_->blocksize != 256 &&
- encoder->protected_->blocksize != 512 &&
- encoder->protected_->blocksize != 1024 &&
- encoder->protected_->blocksize != 2048 &&
- encoder->protected_->blocksize != 4096 &&
- encoder->protected_->blocksize != 8192 &&
- encoder->protected_->blocksize != 16384
- )
+ if(!FLAC__format_blocksize_is_subset(encoder->protected_->blocksize, encoder->protected_->sample_rate))
return FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE;
if(!FLAC__format_sample_rate_is_subset(encoder->protected_->sample_rate))
return FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE;
@@ -752,7 +746,8 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_(
encoder->protected_->bits_per_sample != 12 &&
encoder->protected_->bits_per_sample != 16 &&
encoder->protected_->bits_per_sample != 20 &&
- encoder->protected_->bits_per_sample != 24
+ encoder->protected_->bits_per_sample != 24 &&
+ encoder->protected_->bits_per_sample != 32
)
return FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE;
if(encoder->protected_->max_residual_partition_order > FLAC__SUBSET_MAX_RICE_PARTITION_ORDER)
@@ -774,14 +769,26 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_(
encoder->protected_->min_residual_partition_order = encoder->protected_->max_residual_partition_order;
#if FLAC__HAS_OGG
+ /* drop any seektable for ogg */
+ if(is_ogg && 0 != encoder->protected_->metadata && encoder->protected_->num_metadata_blocks > 0) {
+ uint32_t i1;
+ for(i1 = 0; i1 < encoder->protected_->num_metadata_blocks; i1++) {
+ if(0 != encoder->protected_->metadata[i1] && encoder->protected_->metadata[i1]->type == FLAC__METADATA_TYPE_SEEKTABLE) {
+ encoder->protected_->num_metadata_blocks--;
+ for( ; i1 < encoder->protected_->num_metadata_blocks; i1++)
+ encoder->protected_->metadata[i1] = encoder->protected_->metadata[i1+1];
+ break;
+ }
+ }
+ }
/* reorder metadata if necessary to ensure that any VORBIS_COMMENT is the first, according to the mapping spec */
if(is_ogg && 0 != encoder->protected_->metadata && encoder->protected_->num_metadata_blocks > 1) {
- unsigned i;
- for(i = 1; i < encoder->protected_->num_metadata_blocks; i++) {
- if(0 != encoder->protected_->metadata[i] && encoder->protected_->metadata[i]->type == FLAC__METADATA_TYPE_VORBIS_COMMENT) {
- FLAC__StreamMetadata *vc = encoder->protected_->metadata[i];
- for( ; i > 0; i--)
- encoder->protected_->metadata[i] = encoder->protected_->metadata[i-1];
+ uint32_t i1;
+ for(i1 = 1; i1 < encoder->protected_->num_metadata_blocks; i1++) {
+ if(0 != encoder->protected_->metadata[i1] && encoder->protected_->metadata[i1]->type == FLAC__METADATA_TYPE_VORBIS_COMMENT) {
+ FLAC__StreamMetadata *vc = encoder->protected_->metadata[i1];
+ for( ; i1 > 0; i1--)
+ encoder->protected_->metadata[i1] = encoder->protected_->metadata[i1-1];
encoder->protected_->metadata[0] = vc;
break;
}
@@ -790,10 +797,10 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_(
#endif
/* keep track of any SEEKTABLE block */
if(0 != encoder->protected_->metadata && encoder->protected_->num_metadata_blocks > 0) {
- unsigned i;
- for(i = 0; i < encoder->protected_->num_metadata_blocks; i++) {
- if(0 != encoder->protected_->metadata[i] && encoder->protected_->metadata[i]->type == FLAC__METADATA_TYPE_SEEKTABLE) {
- encoder->private_->seek_table = &encoder->protected_->metadata[i]->data.seek_table;
+ uint32_t i2;
+ for(i2 = 0; i2 < encoder->protected_->num_metadata_blocks; i2++) {
+ if(0 != encoder->protected_->metadata[i2] && encoder->protected_->metadata[i2]->type == FLAC__METADATA_TYPE_SEEKTABLE) {
+ encoder->private_->seek_table = &encoder->protected_->metadata[i2]->data.seek_table;
break; /* take only the first one */
}
}
@@ -835,7 +842,7 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_(
metadata_picture_has_type1 = true;
/* standard icon must be 32x32 pixel PNG */
if(
- m->data.picture.type == FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD &&
+ m->data.picture.type == FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD &&
(
(strcmp(m->data.picture.mime_type, "image/png") && strcmp(m->data.picture.mime_type, "-->")) ||
m->data.picture.width != 32 ||
@@ -865,6 +872,7 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_(
encoder->private_->real_signal_mid_side_unaligned[i] = encoder->private_->real_signal_mid_side[i] = 0;
#endif
}
+ encoder->private_->integer_signal_33bit_side_unaligned = encoder->private_->integer_signal_33bit_side = 0;
#ifndef FLAC__INTEGER_ONLY_LIBRARY
for(i = 0; i < encoder->protected_->num_apodizations; i++)
encoder->private_->window_unaligned[i] = encoder->private_->window[i] = 0;
@@ -883,15 +891,15 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_(
encoder->private_->abs_residual_partition_sums_unaligned = encoder->private_->abs_residual_partition_sums = 0;
encoder->private_->raw_bits_per_partition_unaligned = encoder->private_->raw_bits_per_partition = 0;
#ifndef FLAC__INTEGER_ONLY_LIBRARY
- encoder->private_->loose_mid_side_stereo_frames = (unsigned)((FLAC__double)encoder->protected_->sample_rate * 0.4 / (FLAC__double)encoder->protected_->blocksize + 0.5);
+ encoder->private_->loose_mid_side_stereo_frames = (uint32_t)((double)encoder->protected_->sample_rate * 0.4 / (double)encoder->protected_->blocksize + 0.5);
#else
/* 26214 is the approximate fixed-point equivalent to 0.4 (0.4 * 2^16) */
- /* sample rate can be up to 655350 Hz, and thus use 20 bits, so we do the multiply&divide by hand */
- FLAC__ASSERT(FLAC__MAX_SAMPLE_RATE <= 655350);
+ /* sample rate can be up to 1048575 Hz, and thus use 20 bits, so we do the multiply&divide by hand */
+ FLAC__ASSERT(FLAC__MAX_SAMPLE_RATE <= 1048575);
FLAC__ASSERT(FLAC__MAX_BLOCK_SIZE <= 65535);
- FLAC__ASSERT(encoder->protected_->sample_rate <= 655350);
+ FLAC__ASSERT(encoder->protected_->sample_rate <= 1048575);
FLAC__ASSERT(encoder->protected_->blocksize <= 65535);
- encoder->private_->loose_mid_side_stereo_frames = (unsigned)FLAC__fixedpoint_trunc((((FLAC__uint64)(encoder->protected_->sample_rate) * (FLAC__uint64)(26214)) << 16) / (encoder->protected_->blocksize<<16) + FLAC__FP_ONE_HALF);
+ encoder->private_->loose_mid_side_stereo_frames = (uint32_t)FLAC__fixedpoint_trunc((((FLAC__uint64)(encoder->protected_->sample_rate) * (FLAC__uint64)(26214)) << 16) / (encoder->protected_->blocksize<<16) + FLAC__FP_ONE_HALF);
#endif
if(encoder->private_->loose_mid_side_stereo_frames == 0)
encoder->private_->loose_mid_side_stereo_frames = 1;
@@ -899,19 +907,34 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_(
encoder->private_->current_sample_number = 0;
encoder->private_->current_frame_number = 0;
- encoder->private_->use_wide_by_block = (encoder->protected_->bits_per_sample + FLAC__bitmath_ilog2(encoder->protected_->blocksize)+1 > 30);
- encoder->private_->use_wide_by_order = (encoder->protected_->bits_per_sample + FLAC__bitmath_ilog2(max(encoder->protected_->max_lpc_order, FLAC__MAX_FIXED_ORDER))+1 > 30); /*@@@ need to use this? */
- encoder->private_->use_wide_by_partition = (false); /*@@@ need to set this */
-
/*
* get the CPU info and set the function pointers
*/
FLAC__cpu_info(&encoder->private_->cpuinfo);
+ /* remove cpu info as requested by
+ * FLAC__stream_encoder_disable_instruction_set */
+ if(encoder->private_->disable_mmx)
+ encoder->private_->cpuinfo.x86.mmx = false;
+ if(encoder->private_->disable_sse2)
+ encoder->private_->cpuinfo.x86.sse2 = false;
+ if(encoder->private_->disable_ssse3)
+ encoder->private_->cpuinfo.x86.ssse3 = false;
+ if(encoder->private_->disable_sse41)
+ encoder->private_->cpuinfo.x86.sse41 = false;
+ if(encoder->private_->disable_sse42)
+ encoder->private_->cpuinfo.x86.sse42 = false;
+ if(encoder->private_->disable_avx2)
+ encoder->private_->cpuinfo.x86.avx2 = false;
+ if(encoder->private_->disable_fma)
+ encoder->private_->cpuinfo.x86.fma = false;
/* first default to the non-asm routines */
#ifndef FLAC__INTEGER_ONLY_LIBRARY
encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation;
#endif
+ encoder->private_->local_precompute_partition_info_sums = precompute_partition_info_sums_;
encoder->private_->local_fixed_compute_best_predictor = FLAC__fixed_compute_best_predictor;
+ encoder->private_->local_fixed_compute_best_predictor_wide = FLAC__fixed_compute_best_predictor_wide;
+ encoder->private_->local_fixed_compute_best_predictor_limit_residual = FLAC__fixed_compute_best_predictor_limit_residual;
#ifndef FLAC__INTEGER_ONLY_LIBRARY
encoder->private_->local_lpc_compute_residual_from_qlp_coefficients = FLAC__lpc_compute_residual_from_qlp_coefficients;
encoder->private_->local_lpc_compute_residual_from_qlp_coefficients_64bit = FLAC__lpc_compute_residual_from_qlp_coefficients_wide;
@@ -920,43 +943,159 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_(
/* now override with asm where appropriate */
#ifndef FLAC__INTEGER_ONLY_LIBRARY
# ifndef FLAC__NO_ASM
+#if defined FLAC__CPU_ARM64 && FLAC__HAS_NEONINTRIN
+#if FLAC__HAS_A64NEONINTRIN
+ if(encoder->protected_->max_lpc_order < 8)
+ encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation_intrin_neon_lag_8;
+ else if(encoder->protected_->max_lpc_order < 10)
+ encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation_intrin_neon_lag_10;
+ else if(encoder->protected_->max_lpc_order < 14)
+ encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation_intrin_neon_lag_14;
+ else
+ encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation;
+#endif
+ encoder->private_->local_lpc_compute_residual_from_qlp_coefficients_16bit = FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_neon;
+ encoder->private_->local_lpc_compute_residual_from_qlp_coefficients = FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_neon;
+ encoder->private_->local_lpc_compute_residual_from_qlp_coefficients_64bit = FLAC__lpc_compute_residual_from_qlp_coefficients_wide_intrin_neon;
+#endif /* defined FLAC__CPU_ARM64 && FLAC__HAS_NEONINTRIN */
+
if(encoder->private_->cpuinfo.use_asm) {
# ifdef FLAC__CPU_IA32
FLAC__ASSERT(encoder->private_->cpuinfo.type == FLAC__CPUINFO_TYPE_IA32);
-# ifdef FLAC__HAS_NASM
- if(encoder->private_->cpuinfo.data.ia32.sse) {
- if(encoder->protected_->max_lpc_order < 4)
- encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_4;
- else if(encoder->protected_->max_lpc_order < 8)
- encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_8;
+# if FLAC__HAS_X86INTRIN
+# ifdef FLAC__SSE2_SUPPORTED
+ if (encoder->private_->cpuinfo.x86.sse2) {
+ if(encoder->protected_->max_lpc_order < 8)
+ encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation_intrin_sse2_lag_8;
+ else if(encoder->protected_->max_lpc_order < 10)
+ encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation_intrin_sse2_lag_10;
+ else if(encoder->protected_->max_lpc_order < 14)
+ encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation_intrin_sse2_lag_14;
+
+ encoder->private_->local_lpc_compute_residual_from_qlp_coefficients = FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_sse2;
+ encoder->private_->local_lpc_compute_residual_from_qlp_coefficients_16bit = FLAC__lpc_compute_residual_from_qlp_coefficients_16_intrin_sse2;
+ }
+# endif
+# ifdef FLAC__SSE4_1_SUPPORTED
+ if (encoder->private_->cpuinfo.x86.sse41) {
+ encoder->private_->local_lpc_compute_residual_from_qlp_coefficients = FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_sse41;
+ encoder->private_->local_lpc_compute_residual_from_qlp_coefficients_64bit = FLAC__lpc_compute_residual_from_qlp_coefficients_wide_intrin_sse41;
+ }
+# endif
+# ifdef FLAC__AVX2_SUPPORTED
+ if (encoder->private_->cpuinfo.x86.avx2) {
+ encoder->private_->local_lpc_compute_residual_from_qlp_coefficients_16bit = FLAC__lpc_compute_residual_from_qlp_coefficients_16_intrin_avx2;
+ encoder->private_->local_lpc_compute_residual_from_qlp_coefficients = FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_avx2;
+ encoder->private_->local_lpc_compute_residual_from_qlp_coefficients_64bit = FLAC__lpc_compute_residual_from_qlp_coefficients_wide_intrin_avx2;
+ }
+# endif
+
+# ifdef FLAC__SSE2_SUPPORTED
+ if (encoder->private_->cpuinfo.x86.sse2) {
+ encoder->private_->local_fixed_compute_best_predictor = FLAC__fixed_compute_best_predictor_intrin_sse2;
+ }
+# endif
+# ifdef FLAC__SSSE3_SUPPORTED
+ if (encoder->private_->cpuinfo.x86.ssse3) {
+ encoder->private_->local_fixed_compute_best_predictor = FLAC__fixed_compute_best_predictor_intrin_ssse3;
+ }
+# endif
+# ifdef FLAC__SSE4_2_SUPPORTED
+ if (encoder->private_->cpuinfo.x86.sse42) {
+ encoder->private_->local_fixed_compute_best_predictor_limit_residual = FLAC__fixed_compute_best_predictor_limit_residual_intrin_sse42;
+ }
+# endif
+# ifdef FLAC__AVX2_SUPPORTED
+ if (encoder->private_->cpuinfo.x86.avx2) {
+ encoder->private_->local_fixed_compute_best_predictor_wide = FLAC__fixed_compute_best_predictor_wide_intrin_avx2;
+ encoder->private_->local_fixed_compute_best_predictor_limit_residual = FLAC__fixed_compute_best_predictor_limit_residual_intrin_avx2;
+ }
+# endif
+# endif /* FLAC__HAS_X86INTRIN */
+# elif defined FLAC__CPU_X86_64
+ FLAC__ASSERT(encoder->private_->cpuinfo.type == FLAC__CPUINFO_TYPE_X86_64);
+# if FLAC__HAS_X86INTRIN
+# ifdef FLAC__SSE2_SUPPORTED
+ if(encoder->private_->cpuinfo.x86.sse2) { /* For fuzzing */
+ if(encoder->protected_->max_lpc_order < 8)
+ encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation_intrin_sse2_lag_8;
+ else if(encoder->protected_->max_lpc_order < 10)
+ encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation_intrin_sse2_lag_10;
+ else if(encoder->protected_->max_lpc_order < 14)
+ encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation_intrin_sse2_lag_14;
+
+ encoder->private_->local_lpc_compute_residual_from_qlp_coefficients_16bit = FLAC__lpc_compute_residual_from_qlp_coefficients_16_intrin_sse2;
+ }
+# endif
+# ifdef FLAC__SSE4_1_SUPPORTED
+ if(encoder->private_->cpuinfo.x86.sse41) {
+ encoder->private_->local_lpc_compute_residual_from_qlp_coefficients = FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_sse41;
+ }
+# endif
+# ifdef FLAC__AVX2_SUPPORTED
+ if(encoder->private_->cpuinfo.x86.avx2) {
+ encoder->private_->local_lpc_compute_residual_from_qlp_coefficients_16bit = FLAC__lpc_compute_residual_from_qlp_coefficients_16_intrin_avx2;
+ encoder->private_->local_lpc_compute_residual_from_qlp_coefficients = FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_avx2;
+ encoder->private_->local_lpc_compute_residual_from_qlp_coefficients_64bit = FLAC__lpc_compute_residual_from_qlp_coefficients_wide_intrin_avx2;
+ }
+# endif
+# ifdef FLAC__FMA_SUPPORTED
+ if(encoder->private_->cpuinfo.x86.fma) {
+ if(encoder->protected_->max_lpc_order < 8)
+ encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation_intrin_fma_lag_8;
else if(encoder->protected_->max_lpc_order < 12)
- encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_12;
- else
- encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation_asm_ia32;
+ encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation_intrin_fma_lag_12;
+ else if(encoder->protected_->max_lpc_order < 16)
+ encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation_intrin_fma_lag_16;
}
- else if(encoder->private_->cpuinfo.data.ia32._3dnow)
- encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation_asm_ia32_3dnow;
- else
- encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation_asm_ia32;
- if(encoder->private_->cpuinfo.data.ia32.mmx) {
- encoder->private_->local_lpc_compute_residual_from_qlp_coefficients = FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32;
- encoder->private_->local_lpc_compute_residual_from_qlp_coefficients_16bit = FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32_mmx;
+# endif
+
+
+# ifdef FLAC__SSE2_SUPPORTED
+ if(encoder->private_->cpuinfo.x86.sse2) { /* For fuzzing */
+ encoder->private_->local_fixed_compute_best_predictor = FLAC__fixed_compute_best_predictor_intrin_sse2;
}
- else {
- encoder->private_->local_lpc_compute_residual_from_qlp_coefficients = FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32;
- encoder->private_->local_lpc_compute_residual_from_qlp_coefficients_16bit = FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32;
+# endif
+# ifdef FLAC__SSSE3_SUPPORTED
+ if (encoder->private_->cpuinfo.x86.ssse3) {
+ encoder->private_->local_fixed_compute_best_predictor = FLAC__fixed_compute_best_predictor_intrin_ssse3;
+ }
+# endif
+# ifdef FLAC__SSE4_2_SUPPORTED
+ if (encoder->private_->cpuinfo.x86.sse42) {
+ encoder->private_->local_fixed_compute_best_predictor_limit_residual = FLAC__fixed_compute_best_predictor_limit_residual_intrin_sse42;
+ }
+# endif
+# ifdef FLAC__AVX2_SUPPORTED
+ if (encoder->private_->cpuinfo.x86.avx2) {
+ encoder->private_->local_fixed_compute_best_predictor_wide = FLAC__fixed_compute_best_predictor_wide_intrin_avx2;
+ encoder->private_->local_fixed_compute_best_predictor_limit_residual = FLAC__fixed_compute_best_predictor_limit_residual_intrin_avx2;
}
- if(encoder->private_->cpuinfo.data.ia32.mmx && encoder->private_->cpuinfo.data.ia32.cmov)
- encoder->private_->local_fixed_compute_best_predictor = FLAC__fixed_compute_best_predictor_asm_ia32_mmx_cmov;
-# endif /* FLAC__HAS_NASM */
-# endif /* FLAC__CPU_IA32 */
+# endif
+# endif /* FLAC__HAS_X86INTRIN */
+# endif /* FLAC__CPU_... */
}
# endif /* !FLAC__NO_ASM */
+
#endif /* !FLAC__INTEGER_ONLY_LIBRARY */
- /* finally override based on wide-ness if necessary */
- if(encoder->private_->use_wide_by_block) {
- encoder->private_->local_fixed_compute_best_predictor = FLAC__fixed_compute_best_predictor_wide;
+#if !defined FLAC__NO_ASM && FLAC__HAS_X86INTRIN
+ if(encoder->private_->cpuinfo.use_asm) {
+# if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64)
+# ifdef FLAC__SSE2_SUPPORTED
+ if (encoder->private_->cpuinfo.x86.sse2)
+ encoder->private_->local_precompute_partition_info_sums = FLAC__precompute_partition_info_sums_intrin_sse2;
+# endif
+# ifdef FLAC__SSSE3_SUPPORTED
+ if (encoder->private_->cpuinfo.x86.ssse3)
+ encoder->private_->local_precompute_partition_info_sums = FLAC__precompute_partition_info_sums_intrin_ssse3;
+# endif
+# ifdef FLAC__AVX2_SUPPORTED
+ if (encoder->private_->cpuinfo.x86.avx2)
+ encoder->private_->local_precompute_partition_info_sums = FLAC__precompute_partition_info_sums_intrin_avx2;
+# endif
+# endif /* FLAC__CPU_... */
}
+#endif /* !FLAC__NO_ASM && FLAC__HAS_X86INTRIN */
/* set state to OK; from here on, errors are fatal and we'll override the state then */
encoder->protected_->state = FLAC__STREAM_ENCODER_OK;
@@ -996,7 +1135,7 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_(
*/
encoder->private_->verify.input_fifo.size = encoder->protected_->blocksize+OVERREAD_;
for(i = 0; i < encoder->protected_->channels; i++) {
- if(0 == (encoder->private_->verify.input_fifo.data[i] = (FLAC__int32*)safe_malloc_mul_2op_(sizeof(FLAC__int32), /*times*/encoder->private_->verify.input_fifo.size))) {
+ if(0 == (encoder->private_->verify.input_fifo.data[i] = safe_malloc_mul_2op_p(sizeof(FLAC__int32), /*times*/encoder->private_->verify.input_fifo.size))) {
encoder->protected_->state = FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR;
return FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR;
}
@@ -1006,10 +1145,12 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_(
/*
* Now set up a stream decoder for verification
*/
- encoder->private_->verify.decoder = FLAC__stream_decoder_new();
if(0 == encoder->private_->verify.decoder) {
- encoder->protected_->state = FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR;
- return FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR;
+ encoder->private_->verify.decoder = FLAC__stream_decoder_new();
+ if(0 == encoder->private_->verify.decoder) {
+ encoder->protected_->state = FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR;
+ return FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR;
+ }
}
if(FLAC__stream_decoder_init_stream(encoder->private_->verify.decoder, verify_read_callback_, /*seek_callback=*/0, /*tell_callback=*/0, /*length_callback=*/0, /*eof_callback=*/0, verify_write_callback_, verify_metadata_callback_, verify_error_callback_, /*client_data=*/encoder) != FLAC__STREAM_DECODER_INIT_STATUS_OK) {
@@ -1067,7 +1208,7 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_(
memset(encoder->private_->streaminfo.data.stream_info.md5sum, 0, 16); /* we don't know this yet; have to fill it in later */
if(encoder->protected_->do_md5)
FLAC__MD5Init(&encoder->private_->md5context);
- if(!FLAC__add_metadata_block(&encoder->private_->streaminfo, encoder->private_->frame)) {
+ if(!FLAC__add_metadata_block(&encoder->private_->streaminfo, encoder->private_->frame, true)) {
encoder->protected_->state = FLAC__STREAM_ENCODER_FRAMING_ERROR;
return FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR;
}
@@ -1103,7 +1244,7 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_(
vorbis_comment.data.vorbis_comment.vendor_string.entry = 0;
vorbis_comment.data.vorbis_comment.num_comments = 0;
vorbis_comment.data.vorbis_comment.comments = 0;
- if(!FLAC__add_metadata_block(&vorbis_comment, encoder->private_->frame)) {
+ if(!FLAC__add_metadata_block(&vorbis_comment, encoder->private_->frame, true)) {
encoder->protected_->state = FLAC__STREAM_ENCODER_FRAMING_ERROR;
return FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR;
}
@@ -1118,7 +1259,7 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_(
*/
for(i = 0; i < encoder->protected_->num_metadata_blocks; i++) {
encoder->protected_->metadata[i]->is_last = (i == encoder->protected_->num_metadata_blocks - 1);
- if(!FLAC__add_metadata_block(encoder->protected_->metadata[i], encoder->private_->frame)) {
+ if(!FLAC__add_metadata_block(encoder->protected_->metadata[i], encoder->private_->frame, true)) {
encoder->protected_->state = FLAC__STREAM_ENCODER_FRAMING_ERROR;
return FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR;
}
@@ -1182,7 +1323,7 @@ FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_ogg_stream(
/*is_ogg=*/true
);
}
-
+
static FLAC__StreamEncoderInitStatus init_FILE_internal_(
FLAC__StreamEncoder *encoder,
FILE *file,
@@ -1213,6 +1354,14 @@ static FLAC__StreamEncoderInitStatus init_FILE_internal_(
if(file == stdout)
file = get_binary_stdout_(); /* just to be safe */
+#ifdef _WIN32
+ /*
+ * Windows can suffer quite badly from disk fragmentation. This can be
+ * reduced significantly by setting the output buffer size to be 10MB.
+ */
+ if(GetFileType((HANDLE)_get_osfhandle(_fileno(file))) == FILE_TYPE_DISK)
+ setvbuf(file, NULL, _IOFBF, 10*1024*1024);
+#endif
encoder->private_->file = file;
encoder->private_->progress_callback = progress_callback;
@@ -1236,15 +1385,15 @@ static FLAC__StreamEncoderInitStatus init_FILE_internal_(
}
{
- unsigned blocksize = FLAC__stream_encoder_get_blocksize(encoder);
+ uint32_t blocksize = FLAC__stream_encoder_get_blocksize(encoder);
FLAC__ASSERT(blocksize != 0);
- encoder->private_->total_frames_estimate = (unsigned)((FLAC__stream_encoder_get_total_samples_estimate(encoder) + blocksize - 1) / blocksize);
+ encoder->private_->total_frames_estimate = (uint32_t)((FLAC__stream_encoder_get_total_samples_estimate(encoder) + blocksize - 1) / blocksize);
}
return init_status;
}
-
+
FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_FILE(
FLAC__StreamEncoder *encoder,
FILE *file,
@@ -1254,7 +1403,7 @@ FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_FILE(
{
return init_FILE_internal_(encoder, file, progress_callback, client_data, /*is_ogg=*/false);
}
-
+
FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_ogg_FILE(
FLAC__StreamEncoder *encoder,
FILE *file,
@@ -1285,7 +1434,7 @@ static FLAC__StreamEncoderInitStatus init_file_internal_(
if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
return FLAC__STREAM_ENCODER_INIT_STATUS_ALREADY_INITIALIZED;
- file = filename? fopen(filename, "w+b") : stdout;
+ file = filename? flac_fopen(filename, "w+b") : stdout;
if(file == 0) {
encoder->protected_->state = FLAC__STREAM_ENCODER_IO_ERROR;
@@ -1319,18 +1468,34 @@ FLAC_API FLAC__bool FLAC__stream_encoder_finish(FLAC__StreamEncoder *encoder)
{
FLAC__bool error = false;
- FLAC__ASSERT(0 != encoder);
+ if (encoder == NULL)
+ return false;
+
FLAC__ASSERT(0 != encoder->private_);
FLAC__ASSERT(0 != encoder->protected_);
- if(encoder->protected_->state == FLAC__STREAM_ENCODER_UNINITIALIZED)
+ if(encoder->protected_->state == FLAC__STREAM_ENCODER_UNINITIALIZED){
+ if(encoder->protected_->metadata){ // True in case FLAC__stream_encoder_set_metadata was used but init failed
+ free(encoder->protected_->metadata);
+ encoder->protected_->metadata = 0;
+ encoder->protected_->num_metadata_blocks = 0;
+ }
+ if(0 != encoder->private_->file) {
+ if(encoder->private_->file != stdout)
+ fclose(encoder->private_->file);
+ encoder->private_->file = 0;
+ }
return true;
+ }
if(encoder->protected_->state == FLAC__STREAM_ENCODER_OK && !encoder->private_->is_being_deleted) {
if(encoder->private_->current_sample_number != 0) {
- const FLAC__bool is_fractional_block = encoder->protected_->blocksize != encoder->private_->current_sample_number;
encoder->protected_->blocksize = encoder->private_->current_sample_number;
- if(!process_frame_(encoder, is_fractional_block, /*is_last_block=*/true))
+ if(!resize_buffers_(encoder, encoder->protected_->blocksize)) {
+ /* the above function sets the state for us in case of an error */
+ return FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR;
+ }
+ if(!process_frame_(encoder, /*is_last_block=*/true))
error = true;
}
}
@@ -1424,6 +1589,14 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_streamable_subset(FLAC__StreamEncod
return true;
}
+/*
+ * The following routine was intended as debug routine and is not in the
+ * public headers, but SHOULD NOT CHANGE! It is known is is used in
+ * some non-audio projects needing every last bit of performance.
+ * See https://github.com/xiph/flac/issues/547 for details. These projects
+ * provide their own prototype, so changing the signature of this function
+ * would break building.
+ */
FLAC_API FLAC__bool FLAC__stream_encoder_set_do_md5(FLAC__StreamEncoder *encoder, FLAC__bool value)
{
FLAC__ASSERT(0 != encoder);
@@ -1435,7 +1608,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_do_md5(FLAC__StreamEncoder *encoder
return true;
}
-FLAC_API FLAC__bool FLAC__stream_encoder_set_channels(FLAC__StreamEncoder *encoder, unsigned value)
+FLAC_API FLAC__bool FLAC__stream_encoder_set_channels(FLAC__StreamEncoder *encoder, uint32_t value)
{
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
@@ -1446,7 +1619,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_channels(FLAC__StreamEncoder *encod
return true;
}
-FLAC_API FLAC__bool FLAC__stream_encoder_set_bits_per_sample(FLAC__StreamEncoder *encoder, unsigned value)
+FLAC_API FLAC__bool FLAC__stream_encoder_set_bits_per_sample(FLAC__StreamEncoder *encoder, uint32_t value)
{
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
@@ -1457,7 +1630,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_bits_per_sample(FLAC__StreamEncoder
return true;
}
-FLAC_API FLAC__bool FLAC__stream_encoder_set_sample_rate(FLAC__StreamEncoder *encoder, unsigned value)
+FLAC_API FLAC__bool FLAC__stream_encoder_set_sample_rate(FLAC__StreamEncoder *encoder, uint32_t value)
{
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
@@ -1468,7 +1641,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_sample_rate(FLAC__StreamEncoder *en
return true;
}
-FLAC_API FLAC__bool FLAC__stream_encoder_set_compression_level(FLAC__StreamEncoder *encoder, unsigned value)
+FLAC_API FLAC__bool FLAC__stream_encoder_set_compression_level(FLAC__StreamEncoder *encoder, uint32_t value)
{
FLAC__bool ok = true;
FLAC__ASSERT(0 != encoder);
@@ -1481,11 +1654,10 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_compression_level(FLAC__StreamEncod
ok &= FLAC__stream_encoder_set_do_mid_side_stereo (encoder, compression_levels_[value].do_mid_side_stereo);
ok &= FLAC__stream_encoder_set_loose_mid_side_stereo (encoder, compression_levels_[value].loose_mid_side_stereo);
#ifndef FLAC__INTEGER_ONLY_LIBRARY
-#if 0
- /* was: */
+#if 1
ok &= FLAC__stream_encoder_set_apodization (encoder, compression_levels_[value].apodization);
- /* but it's too hard to specify the string in a locale-specific way */
#else
+ /* equivalent to -A tukey(0.5) */
encoder->protected_->num_apodizations = 1;
encoder->protected_->apodizations[0].type = FLAC__APODIZATION_TUKEY;
encoder->protected_->apodizations[0].parameters.tukey.p = 0.5;
@@ -1502,7 +1674,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_compression_level(FLAC__StreamEncod
return ok;
}
-FLAC_API FLAC__bool FLAC__stream_encoder_set_blocksize(FLAC__StreamEncoder *encoder, unsigned value)
+FLAC_API FLAC__bool FLAC__stream_encoder_set_blocksize(FLAC__StreamEncoder *encoder, uint32_t value)
{
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
@@ -1589,6 +1761,62 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_apodization(FLAC__StreamEncoder *en
encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_TUKEY;
}
}
+ else if(n>15 && 0 == strncmp("partial_tukey(", specification, 14)) {
+ FLAC__int32 tukey_parts = (FLAC__int32)strtod(specification+14, 0);
+ const char *si_1 = strchr(specification, '/');
+ FLAC__real overlap = si_1?flac_min((FLAC__real)strtod(si_1+1, 0),0.99f):0.1f;
+ FLAC__real overlap_units = 1.0f/(1.0f - overlap) - 1.0f;
+ const char *si_2 = strchr((si_1?(si_1+1):specification), '/');
+ FLAC__real tukey_p = si_2?(FLAC__real)strtod(si_2+1, 0):0.2f;
+
+ if (tukey_parts <= 1) {
+ encoder->protected_->apodizations[encoder->protected_->num_apodizations].parameters.tukey.p = tukey_p;
+ encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_TUKEY;
+ }else if (encoder->protected_->num_apodizations + tukey_parts < 32){
+ FLAC__int32 m;
+ for(m = 0; m < tukey_parts; m++){
+ encoder->protected_->apodizations[encoder->protected_->num_apodizations].parameters.multiple_tukey.p = tukey_p;
+ encoder->protected_->apodizations[encoder->protected_->num_apodizations].parameters.multiple_tukey.start = m/(tukey_parts+overlap_units);
+ encoder->protected_->apodizations[encoder->protected_->num_apodizations].parameters.multiple_tukey.end = (m+1+overlap_units)/(tukey_parts+overlap_units);
+ encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_PARTIAL_TUKEY;
+ }
+ }
+ }
+ else if(n>16 && 0 == strncmp("punchout_tukey(", specification, 15)) {
+ FLAC__int32 tukey_parts = (FLAC__int32)strtod(specification+15, 0);
+ const char *si_1 = strchr(specification, '/');
+ FLAC__real overlap = si_1?flac_min((FLAC__real)strtod(si_1+1, 0),0.99f):0.2f;
+ FLAC__real overlap_units = 1.0f/(1.0f - overlap) - 1.0f;
+ const char *si_2 = strchr((si_1?(si_1+1):specification), '/');
+ FLAC__real tukey_p = si_2?(FLAC__real)strtod(si_2+1, 0):0.2f;
+
+ if (tukey_parts <= 1) {
+ encoder->protected_->apodizations[encoder->protected_->num_apodizations].parameters.tukey.p = tukey_p;
+ encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_TUKEY;
+ }else if (encoder->protected_->num_apodizations + tukey_parts < 32){
+ FLAC__int32 m;
+ for(m = 0; m < tukey_parts; m++){
+ encoder->protected_->apodizations[encoder->protected_->num_apodizations].parameters.multiple_tukey.p = tukey_p;
+ encoder->protected_->apodizations[encoder->protected_->num_apodizations].parameters.multiple_tukey.start = m/(tukey_parts+overlap_units);
+ encoder->protected_->apodizations[encoder->protected_->num_apodizations].parameters.multiple_tukey.end = (m+1+overlap_units)/(tukey_parts+overlap_units);
+ encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_PUNCHOUT_TUKEY;
+ }
+ }
+ }
+ else if(n>17 && 0 == strncmp("subdivide_tukey(", specification, 16)){
+ FLAC__int32 parts = (FLAC__int32)strtod(specification+16, 0);
+ if(parts > 1){
+ const char *si_1 = strchr(specification, '/');
+ FLAC__real p = si_1?(FLAC__real)strtod(si_1+1, 0):5e-1;
+ if(p > 1)
+ p = 1;
+ else if(p < 0)
+ p = 0;
+ encoder->protected_->apodizations[encoder->protected_->num_apodizations].parameters.subdivide_tukey.parts = parts;
+ encoder->protected_->apodizations[encoder->protected_->num_apodizations].parameters.subdivide_tukey.p = p/parts;
+ encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_SUBDIVIDE_TUKEY;
+ }
+ }
else if(n==5 && 0 == strncmp("welch" , specification, n))
encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_WELCH;
if (encoder->protected_->num_apodizations == 32)
@@ -1607,7 +1835,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_apodization(FLAC__StreamEncoder *en
return true;
}
-FLAC_API FLAC__bool FLAC__stream_encoder_set_max_lpc_order(FLAC__StreamEncoder *encoder, unsigned value)
+FLAC_API FLAC__bool FLAC__stream_encoder_set_max_lpc_order(FLAC__StreamEncoder *encoder, uint32_t value)
{
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
@@ -1618,7 +1846,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_max_lpc_order(FLAC__StreamEncoder *
return true;
}
-FLAC_API FLAC__bool FLAC__stream_encoder_set_qlp_coeff_precision(FLAC__StreamEncoder *encoder, unsigned value)
+FLAC_API FLAC__bool FLAC__stream_encoder_set_qlp_coeff_precision(FLAC__StreamEncoder *encoder, uint32_t value)
{
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
@@ -1647,8 +1875,10 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_do_escape_coding(FLAC__StreamEncode
FLAC__ASSERT(0 != encoder->protected_);
if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
return false;
-#if 0
- /*@@@ deprecated: */
+#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+ /* was deprecated since FLAC 1.0.4 (24-Sep-2002), but is needed for
+ * full spec coverage, so this should be reenabled at some point.
+ * For now only enable while fuzzing */
encoder->protected_->do_escape_coding = value;
#else
(void)value;
@@ -1667,7 +1897,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_do_exhaustive_model_search(FLAC__St
return true;
}
-FLAC_API FLAC__bool FLAC__stream_encoder_set_min_residual_partition_order(FLAC__StreamEncoder *encoder, unsigned value)
+FLAC_API FLAC__bool FLAC__stream_encoder_set_min_residual_partition_order(FLAC__StreamEncoder *encoder, uint32_t value)
{
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
@@ -1678,7 +1908,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_min_residual_partition_order(FLAC__
return true;
}
-FLAC_API FLAC__bool FLAC__stream_encoder_set_max_residual_partition_order(FLAC__StreamEncoder *encoder, unsigned value)
+FLAC_API FLAC__bool FLAC__stream_encoder_set_max_residual_partition_order(FLAC__StreamEncoder *encoder, uint32_t value)
{
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
@@ -1689,7 +1919,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_max_residual_partition_order(FLAC__
return true;
}
-FLAC_API FLAC__bool FLAC__stream_encoder_set_rice_parameter_search_dist(FLAC__StreamEncoder *encoder, unsigned value)
+FLAC_API FLAC__bool FLAC__stream_encoder_set_rice_parameter_search_dist(FLAC__StreamEncoder *encoder, uint32_t value)
{
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
@@ -1712,11 +1942,12 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_total_samples_estimate(FLAC__Stream
FLAC__ASSERT(0 != encoder->protected_);
if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
return false;
+ value = flac_min(value, (FLAC__U64L(1) << FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN) - 1);
encoder->protected_->total_samples_estimate = value;
return true;
}
-FLAC_API FLAC__bool FLAC__stream_encoder_set_metadata(FLAC__StreamEncoder *encoder, FLAC__StreamMetadata **metadata, unsigned num_blocks)
+FLAC_API FLAC__bool FLAC__stream_encoder_set_metadata(FLAC__StreamEncoder *encoder, FLAC__StreamMetadata **metadata, uint32_t num_blocks)
{
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
@@ -1735,7 +1966,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_metadata(FLAC__StreamEncoder *encod
}
if(num_blocks) {
FLAC__StreamMetadata **m;
- if(0 == (m = (FLAC__StreamMetadata**)safe_malloc_mul_2op_(sizeof(m[0]), /*times*/num_blocks)))
+ if(0 == (m = safe_malloc_mul_2op_p(sizeof(m[0]), /*times*/num_blocks)))
return false;
memcpy(m, metadata, sizeof(m[0]) * num_blocks);
encoder->protected_->metadata = m;
@@ -1748,10 +1979,38 @@ FLAC_API FLAC__bool FLAC__stream_encoder_set_metadata(FLAC__StreamEncoder *encod
return true;
}
+FLAC_API FLAC__bool FLAC__stream_encoder_set_limit_min_bitrate(FLAC__StreamEncoder *encoder, FLAC__bool value)
+{
+ FLAC__ASSERT(0 != encoder);
+ FLAC__ASSERT(0 != encoder->private_);
+ FLAC__ASSERT(0 != encoder->protected_);
+ if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
+ return false;
+ encoder->protected_->limit_min_bitrate = value;
+ return true;
+}
+
/*
- * These three functions are not static, but not publically exposed in
- * include/FLAC/ either. They are used by the test suite.
+ * These four functions are not static, but not publicly exposed in
+ * include/FLAC/ either. They are used by the test suite and in fuzzing
*/
+FLAC_API FLAC__bool FLAC__stream_encoder_disable_instruction_set(FLAC__StreamEncoder *encoder, FLAC__bool value)
+{
+ FLAC__ASSERT(0 != encoder);
+ FLAC__ASSERT(0 != encoder->private_);
+ FLAC__ASSERT(0 != encoder->protected_);
+ if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
+ return false;
+ encoder->private_->disable_mmx = value & 1;
+ encoder->private_->disable_sse2 = value & 2;
+ encoder->private_->disable_ssse3 = value & 4;
+ encoder->private_->disable_sse41 = value & 8;
+ encoder->private_->disable_avx2 = value & 16;
+ encoder->private_->disable_fma = value & 32;
+ encoder->private_->disable_sse42 = value & 64;
+ return true;
+}
+
FLAC_API FLAC__bool FLAC__stream_encoder_disable_constant_subframes(FLAC__StreamEncoder *encoder, FLAC__bool value)
{
FLAC__ASSERT(0 != encoder);
@@ -1815,7 +2074,7 @@ FLAC_API const char *FLAC__stream_encoder_get_resolved_state_string(const FLAC__
return FLAC__stream_decoder_get_resolved_state_string(encoder->private_->verify.decoder);
}
-FLAC_API void FLAC__stream_encoder_get_verify_decoder_error_stats(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_sample, unsigned *frame_number, unsigned *channel, unsigned *sample, FLAC__int32 *expected, FLAC__int32 *got)
+FLAC_API void FLAC__stream_encoder_get_verify_decoder_error_stats(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_sample, uint32_t *frame_number, uint32_t *channel, uint32_t *sample, FLAC__int32 *expected, FLAC__int32 *got)
{
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
@@ -1858,7 +2117,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_get_do_md5(const FLAC__StreamEncoder *e
return encoder->protected_->do_md5;
}
-FLAC_API unsigned FLAC__stream_encoder_get_channels(const FLAC__StreamEncoder *encoder)
+FLAC_API uint32_t FLAC__stream_encoder_get_channels(const FLAC__StreamEncoder *encoder)
{
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
@@ -1866,7 +2125,7 @@ FLAC_API unsigned FLAC__stream_encoder_get_channels(const FLAC__StreamEncoder *e
return encoder->protected_->channels;
}
-FLAC_API unsigned FLAC__stream_encoder_get_bits_per_sample(const FLAC__StreamEncoder *encoder)
+FLAC_API uint32_t FLAC__stream_encoder_get_bits_per_sample(const FLAC__StreamEncoder *encoder)
{
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
@@ -1874,7 +2133,7 @@ FLAC_API unsigned FLAC__stream_encoder_get_bits_per_sample(const FLAC__StreamEnc
return encoder->protected_->bits_per_sample;
}
-FLAC_API unsigned FLAC__stream_encoder_get_sample_rate(const FLAC__StreamEncoder *encoder)
+FLAC_API uint32_t FLAC__stream_encoder_get_sample_rate(const FLAC__StreamEncoder *encoder)
{
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
@@ -1882,7 +2141,7 @@ FLAC_API unsigned FLAC__stream_encoder_get_sample_rate(const FLAC__StreamEncoder
return encoder->protected_->sample_rate;
}
-FLAC_API unsigned FLAC__stream_encoder_get_blocksize(const FLAC__StreamEncoder *encoder)
+FLAC_API uint32_t FLAC__stream_encoder_get_blocksize(const FLAC__StreamEncoder *encoder)
{
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
@@ -1906,7 +2165,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_get_loose_mid_side_stereo(const FLAC__S
return encoder->protected_->loose_mid_side_stereo;
}
-FLAC_API unsigned FLAC__stream_encoder_get_max_lpc_order(const FLAC__StreamEncoder *encoder)
+FLAC_API uint32_t FLAC__stream_encoder_get_max_lpc_order(const FLAC__StreamEncoder *encoder)
{
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
@@ -1914,7 +2173,7 @@ FLAC_API unsigned FLAC__stream_encoder_get_max_lpc_order(const FLAC__StreamEncod
return encoder->protected_->max_lpc_order;
}
-FLAC_API unsigned FLAC__stream_encoder_get_qlp_coeff_precision(const FLAC__StreamEncoder *encoder)
+FLAC_API uint32_t FLAC__stream_encoder_get_qlp_coeff_precision(const FLAC__StreamEncoder *encoder)
{
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
@@ -1946,7 +2205,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_get_do_exhaustive_model_search(const FL
return encoder->protected_->do_exhaustive_model_search;
}
-FLAC_API unsigned FLAC__stream_encoder_get_min_residual_partition_order(const FLAC__StreamEncoder *encoder)
+FLAC_API uint32_t FLAC__stream_encoder_get_min_residual_partition_order(const FLAC__StreamEncoder *encoder)
{
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
@@ -1954,7 +2213,7 @@ FLAC_API unsigned FLAC__stream_encoder_get_min_residual_partition_order(const FL
return encoder->protected_->min_residual_partition_order;
}
-FLAC_API unsigned FLAC__stream_encoder_get_max_residual_partition_order(const FLAC__StreamEncoder *encoder)
+FLAC_API uint32_t FLAC__stream_encoder_get_max_residual_partition_order(const FLAC__StreamEncoder *encoder)
{
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
@@ -1962,7 +2221,7 @@ FLAC_API unsigned FLAC__stream_encoder_get_max_residual_partition_order(const FL
return encoder->protected_->max_residual_partition_order;
}
-FLAC_API unsigned FLAC__stream_encoder_get_rice_parameter_search_dist(const FLAC__StreamEncoder *encoder)
+FLAC_API uint32_t FLAC__stream_encoder_get_rice_parameter_search_dist(const FLAC__StreamEncoder *encoder)
{
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
@@ -1978,51 +2237,58 @@ FLAC_API FLAC__uint64 FLAC__stream_encoder_get_total_samples_estimate(const FLAC
return encoder->protected_->total_samples_estimate;
}
-FLAC_API FLAC__bool FLAC__stream_encoder_process(FLAC__StreamEncoder *encoder, const FLAC__int32 * const buffer[], unsigned samples)
+FLAC_API FLAC__bool FLAC__stream_encoder_get_limit_min_bitrate(const FLAC__StreamEncoder *encoder)
+{
+ FLAC__ASSERT(0 != encoder);
+ FLAC__ASSERT(0 != encoder->private_);
+ FLAC__ASSERT(0 != encoder->protected_);
+ return encoder->protected_->limit_min_bitrate;
+}
+
+FLAC_API FLAC__bool FLAC__stream_encoder_process(FLAC__StreamEncoder *encoder, const FLAC__int32 * const buffer[], uint32_t samples)
{
- unsigned i, j = 0, channel;
- const unsigned channels = encoder->protected_->channels, blocksize = encoder->protected_->blocksize;
+ uint32_t i, j = 0, k = 0, channel;
+ const uint32_t channels = encoder->protected_->channels, blocksize = encoder->protected_->blocksize;
+ const FLAC__int32 sample_max = INT32_MAX >> (32 - encoder->protected_->bits_per_sample);
+ const FLAC__int32 sample_min = INT32_MIN >> (32 - encoder->protected_->bits_per_sample);
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
FLAC__ASSERT(0 != encoder->protected_);
- FLAC__ASSERT(encoder->protected_->state == FLAC__STREAM_ENCODER_OK);
+
+ if(encoder->protected_->state != FLAC__STREAM_ENCODER_OK)
+ return false;
do {
- const unsigned n = min(blocksize+OVERREAD_-encoder->private_->current_sample_number, samples-j);
+ const uint32_t n = flac_min(blocksize+OVERREAD_-encoder->private_->current_sample_number, samples-j);
if(encoder->protected_->verify)
append_to_verify_fifo_(&encoder->private_->verify.input_fifo, buffer, j, channels, n);
- for(channel = 0; channel < channels; channel++)
- memcpy(&encoder->private_->integer_signal[channel][encoder->private_->current_sample_number], &buffer[channel][j], sizeof(buffer[channel][0]) * n);
-
- if(encoder->protected_->do_mid_side_stereo) {
- FLAC__ASSERT(channels == 2);
- /* "i <= blocksize" to overread 1 sample; see comment in OVERREAD_ decl */
- for(i = encoder->private_->current_sample_number; i <= blocksize && j < samples; i++, j++) {
- encoder->private_->integer_signal_mid_side[1][i] = buffer[0][j] - buffer[1][j];
- encoder->private_->integer_signal_mid_side[0][i] = (buffer[0][j] + buffer[1][j]) >> 1; /* NOTE: not the same as 'mid = (buffer[0][j] + buffer[1][j]) / 2' ! */
+ for(channel = 0; channel < channels; channel++) {
+ if (buffer[channel] == NULL) {
+ return false;
}
+ for(i = encoder->private_->current_sample_number, k = j; i <= blocksize && k < samples; i++, k++) {
+ if(buffer[channel][k] < sample_min || buffer[channel][k] > sample_max){
+ encoder->protected_->state = FLAC__STREAM_ENCODER_CLIENT_ERROR;
+ return false;
+ }
+ }
+ memcpy(&encoder->private_->integer_signal[channel][encoder->private_->current_sample_number], &buffer[channel][j], sizeof(buffer[channel][0]) * n);
}
- else
- j += n;
-
+ j += n;
encoder->private_->current_sample_number += n;
/* we only process if we have a full block + 1 extra sample; final block is always handled by FLAC__stream_encoder_finish() */
if(encoder->private_->current_sample_number > blocksize) {
FLAC__ASSERT(encoder->private_->current_sample_number == blocksize+OVERREAD_);
FLAC__ASSERT(OVERREAD_ == 1); /* assert we only overread 1 sample which simplifies the rest of the code below */
- if(!process_frame_(encoder, /*is_fractional_block=*/false, /*is_last_block=*/false))
+ if(!process_frame_(encoder, /*is_last_block=*/false))
return false;
/* move unprocessed overread samples to beginnings of arrays */
for(channel = 0; channel < channels; channel++)
encoder->private_->integer_signal[channel][0] = encoder->private_->integer_signal[channel][blocksize];
- if(encoder->protected_->do_mid_side_stereo) {
- encoder->private_->integer_signal_mid_side[0][0] = encoder->private_->integer_signal_mid_side[0][blocksize];
- encoder->private_->integer_signal_mid_side[1][0] = encoder->private_->integer_signal_mid_side[1][blocksize];
- }
encoder->private_->current_sample_number = 1;
}
} while(j < samples);
@@ -2030,84 +2296,48 @@ FLAC_API FLAC__bool FLAC__stream_encoder_process(FLAC__StreamEncoder *encoder, c
return true;
}
-FLAC_API FLAC__bool FLAC__stream_encoder_process_interleaved(FLAC__StreamEncoder *encoder, const FLAC__int32 buffer[], unsigned samples)
+FLAC_API FLAC__bool FLAC__stream_encoder_process_interleaved(FLAC__StreamEncoder *encoder, const FLAC__int32 buffer[], uint32_t samples)
{
- unsigned i, j, k, channel;
- FLAC__int32 x, mid, side;
- const unsigned channels = encoder->protected_->channels, blocksize = encoder->protected_->blocksize;
+ uint32_t i, j, k, channel;
+ const uint32_t channels = encoder->protected_->channels, blocksize = encoder->protected_->blocksize;
+ const FLAC__int32 sample_max = INT32_MAX >> (32 - encoder->protected_->bits_per_sample);
+ const FLAC__int32 sample_min = INT32_MIN >> (32 - encoder->protected_->bits_per_sample);
FLAC__ASSERT(0 != encoder);
FLAC__ASSERT(0 != encoder->private_);
FLAC__ASSERT(0 != encoder->protected_);
- FLAC__ASSERT(encoder->protected_->state == FLAC__STREAM_ENCODER_OK);
- j = k = 0;
- /*
- * we have several flavors of the same basic loop, optimized for
- * different conditions:
- */
- if(encoder->protected_->do_mid_side_stereo && channels == 2) {
- /*
- * stereo coding: unroll channel loop
- */
- do {
- if(encoder->protected_->verify)
- append_to_verify_fifo_interleaved_(&encoder->private_->verify.input_fifo, buffer, j, channels, min(blocksize+OVERREAD_-encoder->private_->current_sample_number, samples-j));
+ if(encoder->protected_->state != FLAC__STREAM_ENCODER_OK)
+ return false;
- /* "i <= blocksize" to overread 1 sample; see comment in OVERREAD_ decl */
- for(i = encoder->private_->current_sample_number; i <= blocksize && j < samples; i++, j++) {
- encoder->private_->integer_signal[0][i] = mid = side = buffer[k++];
- x = buffer[k++];
- encoder->private_->integer_signal[1][i] = x;
- mid += x;
- side -= x;
- mid >>= 1; /* NOTE: not the same as 'mid = (left + right) / 2' ! */
- encoder->private_->integer_signal_mid_side[1][i] = side;
- encoder->private_->integer_signal_mid_side[0][i] = mid;
- }
- encoder->private_->current_sample_number = i;
- /* we only process if we have a full block + 1 extra sample; final block is always handled by FLAC__stream_encoder_finish() */
- if(i > blocksize) {
- if(!process_frame_(encoder, /*is_fractional_block=*/false, /*is_last_block=*/false))
- return false;
- /* move unprocessed overread samples to beginnings of arrays */
- FLAC__ASSERT(i == blocksize+OVERREAD_);
- FLAC__ASSERT(OVERREAD_ == 1); /* assert we only overread 1 sample which simplifies the rest of the code below */
- encoder->private_->integer_signal[0][0] = encoder->private_->integer_signal[0][blocksize];
- encoder->private_->integer_signal[1][0] = encoder->private_->integer_signal[1][blocksize];
- encoder->private_->integer_signal_mid_side[0][0] = encoder->private_->integer_signal_mid_side[0][blocksize];
- encoder->private_->integer_signal_mid_side[1][0] = encoder->private_->integer_signal_mid_side[1][blocksize];
- encoder->private_->current_sample_number = 1;
- }
- } while(j < samples);
- }
- else {
- /*
- * independent channel coding: buffer each channel in inner loop
- */
- do {
- if(encoder->protected_->verify)
- append_to_verify_fifo_interleaved_(&encoder->private_->verify.input_fifo, buffer, j, channels, min(blocksize+OVERREAD_-encoder->private_->current_sample_number, samples-j));
+ j = k = 0;
+ do {
+ if(encoder->protected_->verify)
+ append_to_verify_fifo_interleaved_(&encoder->private_->verify.input_fifo, buffer, j, channels, flac_min(blocksize+OVERREAD_-encoder->private_->current_sample_number, samples-j));
/* "i <= blocksize" to overread 1 sample; see comment in OVERREAD_ decl */
- for(i = encoder->private_->current_sample_number; i <= blocksize && j < samples; i++, j++) {
- for(channel = 0; channel < channels; channel++)
- encoder->private_->integer_signal[channel][i] = buffer[k++];
- }
- encoder->private_->current_sample_number = i;
- /* we only process if we have a full block + 1 extra sample; final block is always handled by FLAC__stream_encoder_finish() */
- if(i > blocksize) {
- if(!process_frame_(encoder, /*is_fractional_block=*/false, /*is_last_block=*/false))
+ for(i = encoder->private_->current_sample_number; i <= blocksize && j < samples; i++, j++) {
+ for(channel = 0; channel < channels; channel++){
+ if(buffer[k] < sample_min || buffer[k] > sample_max){
+ encoder->protected_->state = FLAC__STREAM_ENCODER_CLIENT_ERROR;
return false;
- /* move unprocessed overread samples to beginnings of arrays */
- FLAC__ASSERT(i == blocksize+OVERREAD_);
- FLAC__ASSERT(OVERREAD_ == 1); /* assert we only overread 1 sample which simplifies the rest of the code below */
- for(channel = 0; channel < channels; channel++)
- encoder->private_->integer_signal[channel][0] = encoder->private_->integer_signal[channel][blocksize];
- encoder->private_->current_sample_number = 1;
+ }
+ encoder->private_->integer_signal[channel][i] = buffer[k++];
}
- } while(j < samples);
- }
+ }
+ encoder->private_->current_sample_number = i;
+ /* we only process if we have a full block + 1 extra sample; final block is always handled by FLAC__stream_encoder_finish() */
+ if(i > blocksize) {
+ if(!process_frame_(encoder, /*is_last_block=*/false))
+ return false;
+ /* move unprocessed overread samples to beginnings of arrays */
+ FLAC__ASSERT(i == blocksize+OVERREAD_);
+ FLAC__ASSERT(OVERREAD_ == 1); /* assert we only overread 1 sample which simplifies the rest of the code below */
+ for(channel = 0; channel < channels; channel++)
+ encoder->private_->integer_signal[channel][0] = encoder->private_->integer_signal[channel][blocksize];
+ encoder->private_->current_sample_number = 1;
+ }
+ } while(j < samples);
return true;
}
@@ -2149,16 +2379,21 @@ void set_defaults_(FLAC__StreamEncoder *encoder)
encoder->protected_->max_residual_partition_order = 0;
encoder->protected_->rice_parameter_search_dist = 0;
encoder->protected_->total_samples_estimate = 0;
+ encoder->protected_->limit_min_bitrate = false;
encoder->protected_->metadata = 0;
encoder->protected_->num_metadata_blocks = 0;
encoder->private_->seek_table = 0;
+ encoder->private_->disable_mmx = false;
+ encoder->private_->disable_sse2 = false;
+ encoder->private_->disable_ssse3 = false;
+ encoder->private_->disable_sse41 = false;
+ encoder->private_->disable_sse42 = false;
+ encoder->private_->disable_avx2 = false;
encoder->private_->disable_constant_subframes = false;
encoder->private_->disable_fixed_subframes = false;
encoder->private_->disable_verbatim_subframes = false;
-#if FLAC__HAS_OGG
encoder->private_->is_ogg = false;
-#endif
encoder->private_->read_callback = 0;
encoder->private_->write_callback = 0;
encoder->private_->seek_callback = 0;
@@ -2170,11 +2405,13 @@ void set_defaults_(FLAC__StreamEncoder *encoder)
#if FLAC__HAS_OGG
FLAC__ogg_encoder_aspect_set_defaults(&encoder->protected_->ogg_encoder_aspect);
#endif
+
+ FLAC__stream_encoder_set_compression_level(encoder, 5);
}
void free_(FLAC__StreamEncoder *encoder)
{
- unsigned i, channel;
+ uint32_t i, channel;
FLAC__ASSERT(0 != encoder);
if(encoder->protected_->metadata) {
@@ -2206,6 +2443,10 @@ void free_(FLAC__StreamEncoder *encoder)
}
#endif
}
+ if(0 != encoder->private_->integer_signal_33bit_side_unaligned){
+ free(encoder->private_->integer_signal_33bit_side_unaligned);
+ encoder->private_->integer_signal_33bit_side_unaligned = 0;
+ }
#ifndef FLAC__INTEGER_ONLY_LIBRARY
for(i = 0; i < encoder->protected_->num_apodizations; i++) {
if(0 != encoder->private_->window_unaligned[i]) {
@@ -2253,76 +2494,96 @@ void free_(FLAC__StreamEncoder *encoder)
FLAC__bitwriter_free(encoder->private_->frame);
}
-FLAC__bool resize_buffers_(FLAC__StreamEncoder *encoder, unsigned new_blocksize)
+FLAC__bool resize_buffers_(FLAC__StreamEncoder *encoder, uint32_t new_blocksize)
{
FLAC__bool ok;
- unsigned i, channel;
+ uint32_t i, channel;
FLAC__ASSERT(new_blocksize > 0);
FLAC__ASSERT(encoder->protected_->state == FLAC__STREAM_ENCODER_OK);
- FLAC__ASSERT(encoder->private_->current_sample_number == 0);
-
- /* To avoid excessive malloc'ing, we only grow the buffer; no shrinking. */
- if(new_blocksize <= encoder->private_->input_capacity)
- return true;
ok = true;
- /* WATCHOUT: FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32_mmx()
- * requires that the input arrays (in our case the integer signals)
- * have a buffer of up to 3 zeroes in front (at negative indices) for
- * alignment purposes; we use 4 in front to keep the data well-aligned.
- */
+ /* To avoid excessive malloc'ing, we only grow the buffer; no shrinking. */
+ if(new_blocksize > encoder->private_->input_capacity) {
- for(i = 0; ok && i < encoder->protected_->channels; i++) {
- ok = ok && FLAC__memory_alloc_aligned_int32_array(new_blocksize+4+OVERREAD_, &encoder->private_->integer_signal_unaligned[i], &encoder->private_->integer_signal[i]);
- memset(encoder->private_->integer_signal[i], 0, sizeof(FLAC__int32)*4);
- encoder->private_->integer_signal[i] += 4;
-#ifndef FLAC__INTEGER_ONLY_LIBRARY
-#if 0 /* @@@ currently unused */
- if(encoder->protected_->max_lpc_order > 0)
- ok = ok && FLAC__memory_alloc_aligned_real_array(new_blocksize+OVERREAD_, &encoder->private_->real_signal_unaligned[i], &encoder->private_->real_signal[i]);
-#endif
-#endif
- }
- for(i = 0; ok && i < 2; i++) {
- ok = ok && FLAC__memory_alloc_aligned_int32_array(new_blocksize+4+OVERREAD_, &encoder->private_->integer_signal_mid_side_unaligned[i], &encoder->private_->integer_signal_mid_side[i]);
- memset(encoder->private_->integer_signal_mid_side[i], 0, sizeof(FLAC__int32)*4);
- encoder->private_->integer_signal_mid_side[i] += 4;
-#ifndef FLAC__INTEGER_ONLY_LIBRARY
-#if 0 /* @@@ currently unused */
- if(encoder->protected_->max_lpc_order > 0)
- ok = ok && FLAC__memory_alloc_aligned_real_array(new_blocksize+OVERREAD_, &encoder->private_->real_signal_mid_side_unaligned[i], &encoder->private_->real_signal_mid_side[i]);
-#endif
-#endif
- }
+ /* WATCHOUT: FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32_mmx() and ..._intrin_sse2()
+ * require that the input arrays (in our case the integer signals)
+ * have a buffer of up to 3 zeroes in front (at negative indices) for
+ * alignment purposes; we use 4 in front to keep the data well-aligned.
+ */
+
+ for(i = 0; ok && i < encoder->protected_->channels; i++) {
+ ok = ok && FLAC__memory_alloc_aligned_int32_array(new_blocksize+4+OVERREAD_, &encoder->private_->integer_signal_unaligned[i], &encoder->private_->integer_signal[i]);
+ if(ok) {
+ memset(encoder->private_->integer_signal[i], 0, sizeof(FLAC__int32)*4);
+ encoder->private_->integer_signal[i] += 4;
+ }
+ }
+ for(i = 0; ok && i < 2; i++) {
+ ok = ok && FLAC__memory_alloc_aligned_int32_array(new_blocksize+4+OVERREAD_, &encoder->private_->integer_signal_mid_side_unaligned[i], &encoder->private_->integer_signal_mid_side[i]);
+ if(ok) {
+ memset(encoder->private_->integer_signal_mid_side[i], 0, sizeof(FLAC__int32)*4);
+ encoder->private_->integer_signal_mid_side[i] += 4;
+ }
+ }
+ ok = ok && FLAC__memory_alloc_aligned_int64_array(new_blocksize+4+OVERREAD_, &encoder->private_->integer_signal_33bit_side_unaligned, &encoder->private_->integer_signal_33bit_side);
#ifndef FLAC__INTEGER_ONLY_LIBRARY
- if(ok && encoder->protected_->max_lpc_order > 0) {
- for(i = 0; ok && i < encoder->protected_->num_apodizations; i++)
- ok = ok && FLAC__memory_alloc_aligned_real_array(new_blocksize, &encoder->private_->window_unaligned[i], &encoder->private_->window[i]);
- ok = ok && FLAC__memory_alloc_aligned_real_array(new_blocksize, &encoder->private_->windowed_signal_unaligned, &encoder->private_->windowed_signal);
- }
+ if(ok && encoder->protected_->max_lpc_order > 0) {
+ for(i = 0; ok && i < encoder->protected_->num_apodizations; i++)
+ ok = ok && FLAC__memory_alloc_aligned_real_array(new_blocksize, &encoder->private_->window_unaligned[i], &encoder->private_->window[i]);
+ ok = ok && FLAC__memory_alloc_aligned_real_array(new_blocksize, &encoder->private_->windowed_signal_unaligned, &encoder->private_->windowed_signal);
+ }
#endif
- for(channel = 0; ok && channel < encoder->protected_->channels; channel++) {
- for(i = 0; ok && i < 2; i++) {
- ok = ok && FLAC__memory_alloc_aligned_int32_array(new_blocksize, &encoder->private_->residual_workspace_unaligned[channel][i], &encoder->private_->residual_workspace[channel][i]);
+ for(channel = 0; ok && channel < encoder->protected_->channels; channel++) {
+ for(i = 0; ok && i < 2; i++) {
+ ok = ok && FLAC__memory_alloc_aligned_int32_array(new_blocksize, &encoder->private_->residual_workspace_unaligned[channel][i], &encoder->private_->residual_workspace[channel][i]);
+ }
}
- }
- for(channel = 0; ok && channel < 2; channel++) {
+
+
+ for(channel = 0; ok && channel < encoder->protected_->channels; channel++) {
+ for(i = 0; ok && i < 2; i++) {
+ ok = ok && FLAC__format_entropy_coding_method_partitioned_rice_contents_ensure_size(&encoder->private_->partitioned_rice_contents_workspace[channel][i], encoder->protected_->max_residual_partition_order);
+ ok = ok && FLAC__format_entropy_coding_method_partitioned_rice_contents_ensure_size(&encoder->private_->partitioned_rice_contents_workspace[channel][i], encoder->protected_->max_residual_partition_order);
+ }
+ }
+
+ for(channel = 0; ok && channel < 2; channel++) {
+ for(i = 0; ok && i < 2; i++) {
+ ok = ok && FLAC__memory_alloc_aligned_int32_array(new_blocksize, &encoder->private_->residual_workspace_mid_side_unaligned[channel][i], &encoder->private_->residual_workspace_mid_side[channel][i]);
+ }
+ }
+
+ for(channel = 0; ok && channel < 2; channel++) {
+ for(i = 0; ok && i < 2; i++) {
+ ok = ok && FLAC__format_entropy_coding_method_partitioned_rice_contents_ensure_size(&encoder->private_->partitioned_rice_contents_workspace_mid_side[channel][i], encoder->protected_->max_residual_partition_order);
+ }
+ }
+
for(i = 0; ok && i < 2; i++) {
- ok = ok && FLAC__memory_alloc_aligned_int32_array(new_blocksize, &encoder->private_->residual_workspace_mid_side_unaligned[channel][i], &encoder->private_->residual_workspace_mid_side[channel][i]);
+ ok = ok && FLAC__format_entropy_coding_method_partitioned_rice_contents_ensure_size(&encoder->private_->partitioned_rice_contents_extra[i], encoder->protected_->max_residual_partition_order);
}
+
+
+ /* the *2 is an approximation to the series 1 + 1/2 + 1/4 + ... that sums tree occupies in a flat array */
+ /*@@@ new_blocksize*2 is too pessimistic, but to fix, we need smarter logic because a smaller new_blocksize can actually increase the # of partitions; would require moving this out into a separate function, then checking its capacity against the need of the current blocksize&min/max_partition_order (and maybe predictor order) */
+ ok = ok && FLAC__memory_alloc_aligned_uint64_array(new_blocksize * 2, &encoder->private_->abs_residual_partition_sums_unaligned, &encoder->private_->abs_residual_partition_sums);
+ if(encoder->protected_->do_escape_coding)
+ ok = ok && FLAC__memory_alloc_aligned_uint32_array(new_blocksize * 2, &encoder->private_->raw_bits_per_partition_unaligned, &encoder->private_->raw_bits_per_partition);
+}
+ if(ok)
+ encoder->private_->input_capacity = new_blocksize;
+ else {
+ encoder->protected_->state = FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR;
+ return ok;
}
- /* the *2 is an approximation to the series 1 + 1/2 + 1/4 + ... that sums tree occupies in a flat array */
- /*@@@ new_blocksize*2 is too pessimistic, but to fix, we need smarter logic because a smaller new_blocksize can actually increase the # of partitions; would require moving this out into a separate function, then checking its capacity against the need of the current blocksize&min/max_partition_order (and maybe predictor order) */
- ok = ok && FLAC__memory_alloc_aligned_uint64_array(new_blocksize * 2, &encoder->private_->abs_residual_partition_sums_unaligned, &encoder->private_->abs_residual_partition_sums);
- if(encoder->protected_->do_escape_coding)
- ok = ok && FLAC__memory_alloc_aligned_unsigned_array(new_blocksize * 2, &encoder->private_->raw_bits_per_partition_unaligned, &encoder->private_->raw_bits_per_partition);
+
/* now adjust the windows if the blocksize has changed */
#ifndef FLAC__INTEGER_ONLY_LIBRARY
- if(ok && new_blocksize != encoder->private_->input_capacity && encoder->protected_->max_lpc_order > 0) {
- for(i = 0; ok && i < encoder->protected_->num_apodizations; i++) {
+ if(encoder->protected_->max_lpc_order > 0 && new_blocksize > 1) {
+ for(i = 0; i < encoder->protected_->num_apodizations; i++) {
switch(encoder->protected_->apodizations[i].type) {
case FLAC__APODIZATION_BARTLETT:
FLAC__window_bartlett(encoder->private_->window[i], new_blocksize);
@@ -2366,6 +2627,15 @@ FLAC__bool resize_buffers_(FLAC__StreamEncoder *encoder, unsigned new_blocksize)
case FLAC__APODIZATION_TUKEY:
FLAC__window_tukey(encoder->private_->window[i], new_blocksize, encoder->protected_->apodizations[i].parameters.tukey.p);
break;
+ case FLAC__APODIZATION_PARTIAL_TUKEY:
+ FLAC__window_partial_tukey(encoder->private_->window[i], new_blocksize, encoder->protected_->apodizations[i].parameters.multiple_tukey.p, encoder->protected_->apodizations[i].parameters.multiple_tukey.start, encoder->protected_->apodizations[i].parameters.multiple_tukey.end);
+ break;
+ case FLAC__APODIZATION_PUNCHOUT_TUKEY:
+ FLAC__window_punchout_tukey(encoder->private_->window[i], new_blocksize, encoder->protected_->apodizations[i].parameters.multiple_tukey.p, encoder->protected_->apodizations[i].parameters.multiple_tukey.start, encoder->protected_->apodizations[i].parameters.multiple_tukey.end);
+ break;
+ case FLAC__APODIZATION_SUBDIVIDE_TUKEY:
+ FLAC__window_tukey(encoder->private_->window[i], new_blocksize, encoder->protected_->apodizations[i].parameters.tukey.p);
+ break;
case FLAC__APODIZATION_WELCH:
FLAC__window_welch(encoder->private_->window[i], new_blocksize);
break;
@@ -2377,17 +2647,17 @@ FLAC__bool resize_buffers_(FLAC__StreamEncoder *encoder, unsigned new_blocksize)
}
}
}
+ if (new_blocksize <= FLAC__MAX_LPC_ORDER) {
+ /* intrinsics autocorrelation routines do not all handle cases in which lag might be
+ * larger than data_len. Lag is one larger than the LPC order */
+ encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation;
+ }
#endif
- if(ok)
- encoder->private_->input_capacity = new_blocksize;
- else
- encoder->protected_->state = FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR;
-
- return ok;
+ return true;
}
-FLAC__bool write_bitbuffer_(FLAC__StreamEncoder *encoder, unsigned samples, FLAC__bool is_last_block)
+FLAC__bool write_bitbuffer_(FLAC__StreamEncoder *encoder, uint32_t samples, FLAC__bool is_last_block)
{
const FLAC__byte *buffer;
size_t bytes;
@@ -2406,7 +2676,10 @@ FLAC__bool write_bitbuffer_(FLAC__StreamEncoder *encoder, unsigned samples, FLAC
encoder->private_->verify.needs_magic_hack = true;
}
else {
- if(!FLAC__stream_decoder_process_single(encoder->private_->verify.decoder)) {
+ if(!FLAC__stream_decoder_process_single(encoder->private_->verify.decoder)
+ || (!is_last_block
+ && (FLAC__stream_encoder_get_verify_decoder_state(encoder) == FLAC__STREAM_DECODER_END_OF_STREAM))
+ || encoder->protected_->state == FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR /* Happens when error callback was used */) {
FLAC__bitwriter_release_buffer(encoder->private_->frame);
FLAC__bitwriter_clear(encoder->private_->frame);
if(encoder->protected_->state != FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA)
@@ -2427,18 +2700,22 @@ FLAC__bool write_bitbuffer_(FLAC__StreamEncoder *encoder, unsigned samples, FLAC
FLAC__bitwriter_clear(encoder->private_->frame);
if(samples > 0) {
- encoder->private_->streaminfo.data.stream_info.min_framesize = min(bytes, encoder->private_->streaminfo.data.stream_info.min_framesize);
- encoder->private_->streaminfo.data.stream_info.max_framesize = max(bytes, encoder->private_->streaminfo.data.stream_info.max_framesize);
+ encoder->private_->streaminfo.data.stream_info.min_framesize = flac_min(bytes, encoder->private_->streaminfo.data.stream_info.min_framesize);
+ encoder->private_->streaminfo.data.stream_info.max_framesize = flac_max(bytes, encoder->private_->streaminfo.data.stream_info.max_framesize);
}
return true;
}
-FLAC__StreamEncoderWriteStatus write_frame_(FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, FLAC__bool is_last_block)
+FLAC__StreamEncoderWriteStatus write_frame_(FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, uint32_t samples, FLAC__bool is_last_block)
{
FLAC__StreamEncoderWriteStatus status;
FLAC__uint64 output_position = 0;
+#if FLAC__HAS_OGG == 0
+ (void)is_last_block;
+#endif
+
/* FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED just means we didn't get the offset; no error */
if(encoder->private_->tell_callback && encoder->private_->tell_callback(encoder, &output_position, encoder->private_->client_data) == FLAC__STREAM_ENCODER_TELL_STATUS_ERROR) {
encoder->protected_->state = FLAC__STREAM_ENCODER_CLIENT_ERROR;
@@ -2462,11 +2739,11 @@ FLAC__StreamEncoderWriteStatus write_frame_(FLAC__StreamEncoder *encoder, const
* frame yet)
*/
if(0 != encoder->private_->seek_table && encoder->protected_->audio_offset > 0 && encoder->private_->seek_table->num_points > 0) {
- const unsigned blocksize = FLAC__stream_encoder_get_blocksize(encoder);
+ const uint32_t blocksize = FLAC__stream_encoder_get_blocksize(encoder);
const FLAC__uint64 frame_first_sample = encoder->private_->samples_written;
const FLAC__uint64 frame_last_sample = frame_first_sample + (FLAC__uint64)blocksize - 1;
FLAC__uint64 test_sample;
- unsigned i;
+ uint32_t i;
for(i = encoder->private_->first_seekpoint_to_check; i < encoder->private_->seek_table->num_points; i++) {
test_sample = encoder->private_->seek_table->points[i].sample_number;
if(test_sample > frame_last_sample) {
@@ -2515,7 +2792,7 @@ FLAC__StreamEncoderWriteStatus write_frame_(FLAC__StreamEncoder *encoder, const
* when the encoder goes back to write metadata, 'current_frame'
* will drop back to 0.
*/
- encoder->private_->frames_written = max(encoder->private_->frames_written, encoder->private_->current_frame_number+1);
+ encoder->private_->frames_written = flac_max(encoder->private_->frames_written, encoder->private_->current_frame_number+1);
}
else
encoder->protected_->state = FLAC__STREAM_ENCODER_CLIENT_ERROR;
@@ -2526,12 +2803,12 @@ FLAC__StreamEncoderWriteStatus write_frame_(FLAC__StreamEncoder *encoder, const
/* Gets called when the encoding process has finished so that we can update the STREAMINFO and SEEKTABLE blocks. */
void update_metadata_(const FLAC__StreamEncoder *encoder)
{
- FLAC__byte b[max(6, FLAC__STREAM_METADATA_SEEKPOINT_LENGTH)];
+ FLAC__byte b[flac_max(6u, FLAC__STREAM_METADATA_SEEKPOINT_LENGTH)];
const FLAC__StreamMetadata *metadata = &encoder->private_->streaminfo;
- const FLAC__uint64 samples = metadata->data.stream_info.total_samples;
- const unsigned min_framesize = metadata->data.stream_info.min_framesize;
- const unsigned max_framesize = metadata->data.stream_info.max_framesize;
- const unsigned bps = metadata->data.stream_info.bits_per_sample;
+ FLAC__uint64 samples = metadata->data.stream_info.total_samples;
+ const uint32_t min_framesize = metadata->data.stream_info.min_framesize;
+ const uint32_t max_framesize = metadata->data.stream_info.max_framesize;
+ const uint32_t bps = metadata->data.stream_info.bits_per_sample;
FLAC__StreamEncoderSeekStatus seek_status;
FLAC__ASSERT(metadata->type == FLAC__METADATA_TYPE_STREAMINFO);
@@ -2545,7 +2822,7 @@ void update_metadata_(const FLAC__StreamEncoder *encoder)
* Write MD5 signature
*/
{
- const unsigned md5_offset =
+ const uint32_t md5_offset =
FLAC__STREAM_METADATA_HEADER_LENGTH +
(
FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN +
@@ -2573,7 +2850,7 @@ void update_metadata_(const FLAC__StreamEncoder *encoder)
* Write total samples
*/
{
- const unsigned total_samples_byte_offset =
+ const uint32_t total_samples_byte_offset =
FLAC__STREAM_METADATA_HEADER_LENGTH +
(
FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN +
@@ -2585,6 +2862,8 @@ void update_metadata_(const FLAC__StreamEncoder *encoder)
FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN
- 4
) / 8;
+ if(samples > (FLAC__U64L(1) << FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN))
+ samples = 0;
b[0] = ((FLAC__byte)(bps-1) << 4) | (FLAC__byte)((samples >> 32) & 0x0F);
b[1] = (FLAC__byte)((samples >> 24) & 0xFF);
@@ -2606,7 +2885,7 @@ void update_metadata_(const FLAC__StreamEncoder *encoder)
* Write min/max framesize
*/
{
- const unsigned min_framesize_offset =
+ const uint32_t min_framesize_offset =
FLAC__STREAM_METADATA_HEADER_LENGTH +
(
FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN +
@@ -2634,7 +2913,7 @@ void update_metadata_(const FLAC__StreamEncoder *encoder)
* Write seektable
*/
if(0 != encoder->private_->seek_table && encoder->private_->seek_table->num_points > 0 && encoder->protected_->seektable_offset > 0) {
- unsigned i;
+ uint32_t i;
FLAC__format_seektable_sort(encoder->private_->seek_table);
@@ -2648,7 +2927,7 @@ void update_metadata_(const FLAC__StreamEncoder *encoder)
for(i = 0; i < encoder->private_->seek_table->num_points; i++) {
FLAC__uint64 xx;
- unsigned x;
+ uint32_t x;
xx = encoder->private_->seek_table->points[i].sample_number;
b[7] = (FLAC__byte)xx; xx >>= 8;
b[6] = (FLAC__byte)xx; xx >>= 8;
@@ -2683,7 +2962,7 @@ void update_metadata_(const FLAC__StreamEncoder *encoder)
void update_ogg_metadata_(FLAC__StreamEncoder *encoder)
{
/* the # of bytes in the 1st packet that precede the STREAMINFO */
- static const unsigned FIRST_OGG_PACKET_STREAMINFO_PREFIX_LENGTH =
+ static const uint32_t FIRST_OGG_PACKET_STREAMINFO_PREFIX_LENGTH =
FLAC__OGG_MAPPING_PACKET_TYPE_LENGTH +
FLAC__OGG_MAPPING_MAGIC_LENGTH +
FLAC__OGG_MAPPING_VERSION_MAJOR_LENGTH +
@@ -2691,11 +2970,11 @@ void update_ogg_metadata_(FLAC__StreamEncoder *encoder)
FLAC__OGG_MAPPING_NUM_HEADERS_LENGTH +
FLAC__STREAM_SYNC_LENGTH
;
- FLAC__byte b[max(6, FLAC__STREAM_METADATA_SEEKPOINT_LENGTH)];
+ FLAC__byte b[flac_max(6u, FLAC__STREAM_METADATA_SEEKPOINT_LENGTH)];
const FLAC__StreamMetadata *metadata = &encoder->private_->streaminfo;
const FLAC__uint64 samples = metadata->data.stream_info.total_samples;
- const unsigned min_framesize = metadata->data.stream_info.min_framesize;
- const unsigned max_framesize = metadata->data.stream_info.max_framesize;
+ const uint32_t min_framesize = metadata->data.stream_info.min_framesize;
+ const uint32_t max_framesize = metadata->data.stream_info.max_framesize;
ogg_page page;
FLAC__ASSERT(metadata->type == FLAC__METADATA_TYPE_STREAMINFO);
@@ -2725,7 +3004,7 @@ void update_ogg_metadata_(FLAC__StreamEncoder *encoder)
* Write MD5 signature
*/
{
- const unsigned md5_offset =
+ const uint32_t md5_offset =
FIRST_OGG_PACKET_STREAMINFO_PREFIX_LENGTH +
FLAC__STREAM_METADATA_HEADER_LENGTH +
(
@@ -2739,7 +3018,7 @@ void update_ogg_metadata_(FLAC__StreamEncoder *encoder)
FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN
) / 8;
- if(md5_offset + 16 > (unsigned)page.body_len) {
+ if(md5_offset + 16 > (uint32_t)page.body_len) {
encoder->protected_->state = FLAC__STREAM_ENCODER_OGG_ERROR;
simple_ogg_page__clear(&page);
return;
@@ -2751,7 +3030,7 @@ void update_ogg_metadata_(FLAC__StreamEncoder *encoder)
* Write total samples
*/
{
- const unsigned total_samples_byte_offset =
+ const uint32_t total_samples_byte_offset =
FIRST_OGG_PACKET_STREAMINFO_PREFIX_LENGTH +
FLAC__STREAM_METADATA_HEADER_LENGTH +
(
@@ -2765,7 +3044,7 @@ void update_ogg_metadata_(FLAC__StreamEncoder *encoder)
- 4
) / 8;
- if(total_samples_byte_offset + 5 > (unsigned)page.body_len) {
+ if(total_samples_byte_offset + 5 > (uint32_t)page.body_len) {
encoder->protected_->state = FLAC__STREAM_ENCODER_OGG_ERROR;
simple_ogg_page__clear(&page);
return;
@@ -2783,7 +3062,7 @@ void update_ogg_metadata_(FLAC__StreamEncoder *encoder)
* Write min/max framesize
*/
{
- const unsigned min_framesize_offset =
+ const uint32_t min_framesize_offset =
FIRST_OGG_PACKET_STREAMINFO_PREFIX_LENGTH +
FLAC__STREAM_METADATA_HEADER_LENGTH +
(
@@ -2791,7 +3070,7 @@ void update_ogg_metadata_(FLAC__StreamEncoder *encoder)
FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN
) / 8;
- if(min_framesize_offset + 6 > (unsigned)page.body_len) {
+ if(min_framesize_offset + 6 > (uint32_t)page.body_len) {
encoder->protected_->state = FLAC__STREAM_ENCODER_OGG_ERROR;
simple_ogg_page__clear(&page);
return;
@@ -2809,67 +3088,10 @@ void update_ogg_metadata_(FLAC__StreamEncoder *encoder)
return; /* state already set */
}
simple_ogg_page__clear(&page);
-
- /*
- * Write seektable
- */
- if(0 != encoder->private_->seek_table && encoder->private_->seek_table->num_points > 0 && encoder->protected_->seektable_offset > 0) {
- unsigned i;
- FLAC__byte *p;
-
- FLAC__format_seektable_sort(encoder->private_->seek_table);
-
- FLAC__ASSERT(FLAC__format_seektable_is_legal(encoder->private_->seek_table));
-
- simple_ogg_page__init(&page);
- if(!simple_ogg_page__get_at(encoder, encoder->protected_->seektable_offset, &page, encoder->private_->seek_callback, encoder->private_->read_callback, encoder->private_->client_data)) {
- simple_ogg_page__clear(&page);
- return; /* state already set */
- }
-
- if((FLAC__STREAM_METADATA_HEADER_LENGTH + 18*encoder->private_->seek_table->num_points) != (unsigned)page.body_len) {
- encoder->protected_->state = FLAC__STREAM_ENCODER_OGG_ERROR;
- simple_ogg_page__clear(&page);
- return;
- }
-
- for(i = 0, p = page.body + FLAC__STREAM_METADATA_HEADER_LENGTH; i < encoder->private_->seek_table->num_points; i++, p += 18) {
- FLAC__uint64 xx;
- unsigned x;
- xx = encoder->private_->seek_table->points[i].sample_number;
- b[7] = (FLAC__byte)xx; xx >>= 8;
- b[6] = (FLAC__byte)xx; xx >>= 8;
- b[5] = (FLAC__byte)xx; xx >>= 8;
- b[4] = (FLAC__byte)xx; xx >>= 8;
- b[3] = (FLAC__byte)xx; xx >>= 8;
- b[2] = (FLAC__byte)xx; xx >>= 8;
- b[1] = (FLAC__byte)xx; xx >>= 8;
- b[0] = (FLAC__byte)xx; xx >>= 8;
- xx = encoder->private_->seek_table->points[i].stream_offset;
- b[15] = (FLAC__byte)xx; xx >>= 8;
- b[14] = (FLAC__byte)xx; xx >>= 8;
- b[13] = (FLAC__byte)xx; xx >>= 8;
- b[12] = (FLAC__byte)xx; xx >>= 8;
- b[11] = (FLAC__byte)xx; xx >>= 8;
- b[10] = (FLAC__byte)xx; xx >>= 8;
- b[9] = (FLAC__byte)xx; xx >>= 8;
- b[8] = (FLAC__byte)xx; xx >>= 8;
- x = encoder->private_->seek_table->points[i].frame_samples;
- b[17] = (FLAC__byte)x; x >>= 8;
- b[16] = (FLAC__byte)x; x >>= 8;
- memcpy(p, b, 18);
- }
-
- if(!simple_ogg_page__set_at(encoder, encoder->protected_->seektable_offset, &page, encoder->private_->seek_callback, encoder->private_->write_callback, encoder->private_->client_data)) {
- simple_ogg_page__clear(&page);
- return; /* state already set */
- }
- simple_ogg_page__clear(&page);
- }
}
#endif
-FLAC__bool process_frame_(FLAC__StreamEncoder *encoder, FLAC__bool is_fractional_block, FLAC__bool is_last_block)
+FLAC__bool process_frame_(FLAC__StreamEncoder *encoder, FLAC__bool is_last_block)
{
FLAC__uint16 crc;
FLAC__ASSERT(encoder->protected_->state == FLAC__STREAM_ENCODER_OK);
@@ -2885,7 +3107,7 @@ FLAC__bool process_frame_(FLAC__StreamEncoder *encoder, FLAC__bool is_fractional
/*
* Process the frame header and subframes into the frame bitbuffer
*/
- if(!process_subframes_(encoder, is_fractional_block)) {
+ if(!process_subframes_(encoder)) {
/* the above function sets the state for us in case of an error */
return false;
}
@@ -2928,23 +3150,19 @@ FLAC__bool process_frame_(FLAC__StreamEncoder *encoder, FLAC__bool is_fractional
return true;
}
-FLAC__bool process_subframes_(FLAC__StreamEncoder *encoder, FLAC__bool is_fractional_block)
+FLAC__bool process_subframes_(FLAC__StreamEncoder *encoder)
{
FLAC__FrameHeader frame_header;
- unsigned channel, min_partition_order = encoder->protected_->min_residual_partition_order, max_partition_order;
- FLAC__bool do_independent, do_mid_side;
+ uint32_t channel, min_partition_order = encoder->protected_->min_residual_partition_order, max_partition_order;
+ FLAC__bool do_independent, do_mid_side, backup_disable_constant_subframes = encoder->private_->disable_constant_subframes, all_subframes_constant = true;
/*
* Calculate the min,max Rice partition orders
*/
- if(is_fractional_block) {
- max_partition_order = 0;
- }
- else {
- max_partition_order = FLAC__format_get_max_rice_partition_order_from_blocksize(encoder->protected_->blocksize);
- max_partition_order = min(max_partition_order, encoder->protected_->max_residual_partition_order);
- }
- min_partition_order = min(min_partition_order, max_partition_order);
+
+ max_partition_order = FLAC__format_get_max_rice_partition_order_from_blocksize(encoder->protected_->blocksize);
+ max_partition_order = flac_min(max_partition_order, encoder->protected_->max_residual_partition_order);
+ min_partition_order = flac_min(min_partition_order, max_partition_order);
/*
* Setup the frame
@@ -2984,11 +3202,33 @@ FLAC__bool process_subframes_(FLAC__StreamEncoder *encoder, FLAC__bool is_fracti
FLAC__ASSERT(do_independent || do_mid_side);
/*
+ * Prepare mid-side signals if applicable
+ */
+ if(do_mid_side) {
+ uint32_t i;
+ FLAC__ASSERT(encoder->protected_->channels == 2);
+ if(encoder->protected_->bits_per_sample < 32)
+ for(i = 0; i < encoder->protected_->blocksize; i++) {
+ encoder->private_->integer_signal_mid_side[1][i] = encoder->private_->integer_signal[0][i] - encoder->private_->integer_signal[1][i];
+ encoder->private_->integer_signal_mid_side[0][i] = (encoder->private_->integer_signal[0][i] + encoder->private_->integer_signal[1][i]) >> 1; /* NOTE: not the same as 'mid = (signal[0][j] + signal[1][j]) / 2' ! */
+ }
+ else
+ for(i = 0; i <= encoder->protected_->blocksize; i++) {
+ encoder->private_->integer_signal_33bit_side[i] = (FLAC__int64)encoder->private_->integer_signal[0][i] - (FLAC__int64)encoder->private_->integer_signal[1][i];
+ encoder->private_->integer_signal_mid_side[0][i] = ((FLAC__int64)encoder->private_->integer_signal[0][i] + (FLAC__int64)encoder->private_->integer_signal[1][i]) >> 1; /* NOTE: not the same as 'mid = (signal[0][j] + signal[1][j]) / 2' ! */
+ }
+ }
+
+
+ /*
* Check for wasted bits; set effective bps for each subframe
*/
if(do_independent) {
for(channel = 0; channel < encoder->protected_->channels; channel++) {
- const unsigned w = get_wasted_bits_(encoder->private_->integer_signal[channel], encoder->protected_->blocksize);
+ uint32_t w = get_wasted_bits_(encoder->private_->integer_signal[channel], encoder->protected_->blocksize);
+ if (w > encoder->protected_->bits_per_sample) {
+ w = encoder->protected_->bits_per_sample;
+ }
encoder->private_->subframe_workspace[channel][0].wasted_bits = encoder->private_->subframe_workspace[channel][1].wasted_bits = w;
encoder->private_->subframe_bps[channel] = encoder->protected_->bits_per_sample - w;
}
@@ -2996,7 +3236,15 @@ FLAC__bool process_subframes_(FLAC__StreamEncoder *encoder, FLAC__bool is_fracti
if(do_mid_side) {
FLAC__ASSERT(encoder->protected_->channels == 2);
for(channel = 0; channel < 2; channel++) {
- const unsigned w = get_wasted_bits_(encoder->private_->integer_signal_mid_side[channel], encoder->protected_->blocksize);
+ uint32_t w;
+ if(encoder->protected_->bits_per_sample < 32 || channel == 0)
+ w = get_wasted_bits_(encoder->private_->integer_signal_mid_side[channel], encoder->protected_->blocksize);
+ else
+ w = get_wasted_bits_wide_(encoder->private_->integer_signal_33bit_side, encoder->private_->integer_signal_mid_side[channel], encoder->protected_->blocksize);
+
+ if (w > encoder->protected_->bits_per_sample) {
+ w = encoder->protected_->bits_per_sample;
+ }
encoder->private_->subframe_workspace_mid_side[channel][0].wasted_bits = encoder->private_->subframe_workspace_mid_side[channel][1].wasted_bits = w;
encoder->private_->subframe_bps_mid_side[channel] = encoder->protected_->bits_per_sample - w + (channel==0? 0:1);
}
@@ -3007,6 +3255,12 @@ FLAC__bool process_subframes_(FLAC__StreamEncoder *encoder, FLAC__bool is_fracti
*/
if(do_independent) {
for(channel = 0; channel < encoder->protected_->channels; channel++) {
+ if(encoder->protected_->limit_min_bitrate && all_subframes_constant && (channel + 1) == encoder->protected_->channels){
+ /* This frame contains only constant subframes at this point.
+ * To prevent the frame from becoming too small, make sure
+ * the last subframe isn't constant */
+ encoder->private_->disable_constant_subframes = true;
+ }
if(!
process_subframe_(
encoder,
@@ -3023,6 +3277,8 @@ FLAC__bool process_subframes_(FLAC__StreamEncoder *encoder, FLAC__bool is_fracti
)
)
return false;
+ if(encoder->private_->subframe_workspace[channel][encoder->private_->best_subframe[channel]].type != FLAC__SUBFRAME_TYPE_CONSTANT)
+ all_subframes_constant = false;
}
}
@@ -3033,6 +3289,11 @@ FLAC__bool process_subframes_(FLAC__StreamEncoder *encoder, FLAC__bool is_fracti
FLAC__ASSERT(encoder->protected_->channels == 2);
for(channel = 0; channel < 2; channel++) {
+ void *integer_signal_;
+ if(encoder->private_->subframe_bps_mid_side[channel] <= 32)
+ integer_signal_ = encoder->private_->integer_signal_mid_side[channel];
+ else
+ integer_signal_ = encoder->private_->integer_signal_33bit_side;
if(!
process_subframe_(
encoder,
@@ -3040,7 +3301,7 @@ FLAC__bool process_subframes_(FLAC__StreamEncoder *encoder, FLAC__bool is_fracti
max_partition_order,
&frame_header,
encoder->private_->subframe_bps_mid_side[channel],
- encoder->private_->integer_signal_mid_side[channel],
+ integer_signal_,
encoder->private_->subframe_workspace_ptr_mid_side[channel],
encoder->private_->partitioned_rice_contents_workspace_ptr_mid_side[channel],
encoder->private_->residual_workspace_mid_side[channel],
@@ -3056,7 +3317,7 @@ FLAC__bool process_subframes_(FLAC__StreamEncoder *encoder, FLAC__bool is_fracti
* Compose the frame bitbuffer
*/
if(do_mid_side) {
- unsigned left_bps = 0, right_bps = 0; /* initialized only to prevent superfluous compiler warning */
+ uint32_t left_bps = 0, right_bps = 0; /* initialized only to prevent superfluous compiler warning */
FLAC__Subframe *left_subframe = 0, *right_subframe = 0; /* initialized only to prevent superfluous compiler warning */
FLAC__ChannelAssignment channel_assignment;
@@ -3066,8 +3327,8 @@ FLAC__bool process_subframes_(FLAC__StreamEncoder *encoder, FLAC__bool is_fracti
channel_assignment = (encoder->private_->last_channel_assignment == FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT? FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT : FLAC__CHANNEL_ASSIGNMENT_MID_SIDE);
}
else {
- unsigned bits[4]; /* WATCHOUT - indexed by FLAC__ChannelAssignment */
- unsigned min_bits;
+ uint32_t bits[4]; /* WATCHOUT - indexed by FLAC__ChannelAssignment */
+ uint32_t min_bits;
int ca;
FLAC__ASSERT(FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT == 0);
@@ -3084,7 +3345,11 @@ FLAC__bool process_subframes_(FLAC__StreamEncoder *encoder, FLAC__bool is_fracti
channel_assignment = FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT;
min_bits = bits[channel_assignment];
- for(ca = 1; ca <= 3; ca++) {
+
+ /* When doing loose mid-side stereo, ignore left-side
+ * and right-side options */
+ ca = encoder->protected_->loose_mid_side_stereo ? 3 : 1;
+ for( ; ca <= 3; ca++) {
if(bits[ca] < min_bits) {
min_bits = bits[ca];
channel_assignment = (FLAC__ChannelAssignment)ca;
@@ -3168,55 +3433,75 @@ FLAC__bool process_subframes_(FLAC__StreamEncoder *encoder, FLAC__bool is_fracti
}
encoder->private_->last_channel_assignment = frame_header.channel_assignment;
+ encoder->private_->disable_constant_subframes = backup_disable_constant_subframes;
return true;
}
FLAC__bool process_subframe_(
FLAC__StreamEncoder *encoder,
- unsigned min_partition_order,
- unsigned max_partition_order,
+ uint32_t min_partition_order,
+ uint32_t max_partition_order,
const FLAC__FrameHeader *frame_header,
- unsigned subframe_bps,
- const FLAC__int32 integer_signal[],
+ uint32_t subframe_bps,
+ const void *integer_signal,
FLAC__Subframe *subframe[2],
FLAC__EntropyCodingMethod_PartitionedRiceContents *partitioned_rice_contents[2],
FLAC__int32 *residual[2],
- unsigned *best_subframe,
- unsigned *best_bits
+ uint32_t *best_subframe,
+ uint32_t *best_bits
)
{
#ifndef FLAC__INTEGER_ONLY_LIBRARY
- FLAC__float fixed_residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1];
+ float fixed_residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1];
#else
FLAC__fixedpoint fixed_residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1];
#endif
#ifndef FLAC__INTEGER_ONLY_LIBRARY
- FLAC__double lpc_residual_bits_per_sample;
- FLAC__real autoc[FLAC__MAX_LPC_ORDER+1]; /* WATCHOUT: the size is important even though encoder->protected_->max_lpc_order might be less; some asm routines need all the space */
- FLAC__double lpc_error[FLAC__MAX_LPC_ORDER];
- unsigned min_lpc_order, max_lpc_order, lpc_order;
- unsigned min_qlp_coeff_precision, max_qlp_coeff_precision, qlp_coeff_precision;
+ double lpc_residual_bits_per_sample;
+ apply_apodization_state_struct apply_apodization_state;
+ double lpc_error[FLAC__MAX_LPC_ORDER];
+ uint32_t min_lpc_order, max_lpc_order, lpc_order, guess_lpc_order;
+ uint32_t min_qlp_coeff_precision, max_qlp_coeff_precision, qlp_coeff_precision;
#endif
- unsigned min_fixed_order, max_fixed_order, guess_fixed_order, fixed_order;
- unsigned rice_parameter;
- unsigned _candidate_bits, _best_bits;
- unsigned _best_subframe;
+ uint32_t min_fixed_order, max_fixed_order, guess_fixed_order, fixed_order;
+ uint32_t _candidate_bits, _best_bits;
+ uint32_t _best_subframe;
/* only use RICE2 partitions if stream bps > 16 */
- const unsigned rice_parameter_limit = FLAC__stream_encoder_get_bits_per_sample(encoder) > 16? FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER : FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER;
+ const uint32_t rice_parameter_limit = FLAC__stream_encoder_get_bits_per_sample(encoder) > 16? FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER : FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER;
FLAC__ASSERT(frame_header->blocksize > 0);
/* verbatim subframe is the baseline against which we measure other compressed subframes */
_best_subframe = 0;
if(encoder->private_->disable_verbatim_subframes && frame_header->blocksize >= FLAC__MAX_FIXED_ORDER)
- _best_bits = UINT_MAX;
+ _best_bits = UINT32_MAX;
else
_best_bits = evaluate_verbatim_subframe_(encoder, integer_signal, frame_header->blocksize, subframe_bps, subframe[_best_subframe]);
+ *best_bits = _best_bits;
+
+ if(frame_header->blocksize > FLAC__MAX_FIXED_ORDER) {
+ uint32_t signal_is_constant = false;
+ /* The next formula determines when to use a 64-bit accumulator
+ * for the error of a fixed predictor, and when a 32-bit one. As
+ * the error of a 4th order predictor for a given sample is the
+ * sum of 17 sample values (1+4+6+4+1) and there are blocksize -
+ * order error values to be summed, the maximum total error is
+ * maximum_sample_value * (blocksize - order) * 17. As ilog2(x)
+ * calculates floor(2log(x)), the result must be 31 or lower
+ */
+ if(subframe_bps < 28){
+ if(subframe_bps + FLAC__bitmath_ilog2((frame_header->blocksize-FLAC__MAX_FIXED_ORDER)*17) < 32)
+ guess_fixed_order = encoder->private_->local_fixed_compute_best_predictor(((FLAC__int32 *)integer_signal)+FLAC__MAX_FIXED_ORDER, frame_header->blocksize-FLAC__MAX_FIXED_ORDER, fixed_residual_bits_per_sample);
+ else
+ guess_fixed_order = encoder->private_->local_fixed_compute_best_predictor_wide(((FLAC__int32 *)integer_signal)+FLAC__MAX_FIXED_ORDER, frame_header->blocksize-FLAC__MAX_FIXED_ORDER, fixed_residual_bits_per_sample);
+ }
+ else
+ if(subframe_bps <= 32)
+ guess_fixed_order = encoder->private_->local_fixed_compute_best_predictor_limit_residual(((FLAC__int32 *)integer_signal+FLAC__MAX_FIXED_ORDER),frame_header->blocksize-FLAC__MAX_FIXED_ORDER, fixed_residual_bits_per_sample);
+ else
+ guess_fixed_order = FLAC__fixed_compute_best_predictor_limit_residual_33bit(((FLAC__int64 *)integer_signal+FLAC__MAX_FIXED_ORDER),frame_header->blocksize-FLAC__MAX_FIXED_ORDER, fixed_residual_bits_per_sample);
- if(frame_header->blocksize >= FLAC__MAX_FIXED_ORDER) {
- unsigned signal_is_constant = false;
- guess_fixed_order = encoder->private_->local_fixed_compute_best_predictor(integer_signal+FLAC__MAX_FIXED_ORDER, frame_header->blocksize-FLAC__MAX_FIXED_ORDER, fixed_residual_bits_per_sample);
/* check for constant subframe */
if(
!encoder->private_->disable_constant_subframes &&
@@ -3227,17 +3512,33 @@ FLAC__bool process_subframe_(
#endif
) {
/* the above means it's possible all samples are the same value; now double-check it: */
- unsigned i;
+ uint32_t i;
signal_is_constant = true;
- for(i = 1; i < frame_header->blocksize; i++) {
- if(integer_signal[0] != integer_signal[i]) {
- signal_is_constant = false;
- break;
+ if(subframe_bps <= 32){
+ const FLAC__int32 *integer_signal_ = integer_signal;
+ for(i = 1; i < frame_header->blocksize; i++) {
+ if(integer_signal_[0] != integer_signal_[i]) {
+ signal_is_constant = false;
+ break;
+ }
+ }
+ }
+ else {
+ const FLAC__int64 *integer_signal_ = integer_signal;
+ for(i = 1; i < frame_header->blocksize; i++) {
+ if(integer_signal_[0] != integer_signal_[i]) {
+ signal_is_constant = false;
+ break;
+ }
}
}
}
if(signal_is_constant) {
- _candidate_bits = evaluate_constant_subframe_(encoder, integer_signal[0], frame_header->blocksize, subframe_bps, subframe[!_best_subframe]);
+ if(subframe_bps <= 32)
+ _candidate_bits = evaluate_constant_subframe_(encoder, ((FLAC__int32 *)integer_signal)[0], frame_header->blocksize, subframe_bps, subframe[!_best_subframe]);
+ else
+ _candidate_bits = evaluate_constant_subframe_(encoder, ((FLAC__int64 *)integer_signal)[0], frame_header->blocksize, subframe_bps, subframe[!_best_subframe]);
+
if(_candidate_bits < _best_bits) {
_best_subframe = !_best_subframe;
_best_bits = _candidate_bits;
@@ -3257,21 +3558,12 @@ FLAC__bool process_subframe_(
max_fixed_order = frame_header->blocksize - 1;
for(fixed_order = min_fixed_order; fixed_order <= max_fixed_order; fixed_order++) {
#ifndef FLAC__INTEGER_ONLY_LIBRARY
- if(fixed_residual_bits_per_sample[fixed_order] >= (FLAC__float)subframe_bps)
+ if(fixed_residual_bits_per_sample[fixed_order] >= (float)subframe_bps)
continue; /* don't even try */
- rice_parameter = (fixed_residual_bits_per_sample[fixed_order] > 0.0)? (unsigned)(fixed_residual_bits_per_sample[fixed_order]+0.5) : 0; /* 0.5 is for rounding */
#else
if(FLAC__fixedpoint_trunc(fixed_residual_bits_per_sample[fixed_order]) >= (int)subframe_bps)
continue; /* don't even try */
- rice_parameter = (fixed_residual_bits_per_sample[fixed_order] > FLAC__FP_ZERO)? (unsigned)FLAC__fixedpoint_trunc(fixed_residual_bits_per_sample[fixed_order]+FLAC__FP_ONE_HALF) : 0; /* 0.5 is for rounding */
-#endif
- rice_parameter++; /* to account for the signed->unsigned conversion during rice coding */
- if(rice_parameter >= rice_parameter_limit) {
-#ifdef DEBUG_VERBOSE
- fprintf(stderr, "clipping rice_parameter (%u -> %u) @0\n", rice_parameter, rice_parameter_limit - 1);
#endif
- rice_parameter = rice_parameter_limit - 1;
- }
_candidate_bits =
evaluate_fixed_subframe_(
encoder,
@@ -3282,7 +3574,6 @@ FLAC__bool process_subframe_(
frame_header->blocksize,
subframe_bps,
fixed_order,
- rice_parameter,
rice_parameter_limit,
min_partition_order,
max_partition_order,
@@ -3306,84 +3597,68 @@ FLAC__bool process_subframe_(
else
max_lpc_order = encoder->protected_->max_lpc_order;
if(max_lpc_order > 0) {
- unsigned a;
- for (a = 0; a < encoder->protected_->num_apodizations; a++) {
- FLAC__lpc_window_data(integer_signal, encoder->private_->window[a], encoder->private_->windowed_signal, frame_header->blocksize);
- encoder->private_->local_lpc_compute_autocorrelation(encoder->private_->windowed_signal, frame_header->blocksize, max_lpc_order+1, autoc);
- /* if autoc[0] == 0.0, the signal is constant and we usually won't get here, but it can happen */
- if(autoc[0] != 0.0) {
- FLAC__lpc_compute_lp_coefficients(autoc, &max_lpc_order, encoder->private_->lp_coeff, lpc_error);
- if(encoder->protected_->do_exhaustive_model_search) {
- min_lpc_order = 1;
+ apply_apodization_state.a = 0;
+ apply_apodization_state.b = 1;
+ apply_apodization_state.c = 0;
+ while (apply_apodization_state.a < encoder->protected_->num_apodizations) {
+ uint32_t max_lpc_order_this_apodization = max_lpc_order;
+
+ if(!apply_apodization_(encoder, &apply_apodization_state,
+ frame_header->blocksize, lpc_error,
+ &max_lpc_order_this_apodization,
+ subframe_bps, integer_signal,
+ &guess_lpc_order))
+ /* If apply_apodization_ fails, try next apodization */
+ continue;
+
+ if(encoder->protected_->do_exhaustive_model_search) {
+ min_lpc_order = 1;
+ }
+ else {
+ min_lpc_order = max_lpc_order_this_apodization = guess_lpc_order;
+ }
+ for(lpc_order = min_lpc_order; lpc_order <= max_lpc_order_this_apodization; lpc_order++) {
+ lpc_residual_bits_per_sample = FLAC__lpc_compute_expected_bits_per_residual_sample(lpc_error[lpc_order-1], frame_header->blocksize-lpc_order);
+ if(lpc_residual_bits_per_sample >= (double)subframe_bps)
+ continue; /* don't even try */
+ if(encoder->protected_->do_qlp_coeff_prec_search) {
+ min_qlp_coeff_precision = FLAC__MIN_QLP_COEFF_PRECISION;
+ /* try to keep qlp coeff precision such that only 32-bit math is required for decode of <=16bps(+1bps for side channel) streams */
+ if(subframe_bps <= 17) {
+ max_qlp_coeff_precision = flac_min(32 - subframe_bps - FLAC__bitmath_ilog2(lpc_order), FLAC__MAX_QLP_COEFF_PRECISION);
+ max_qlp_coeff_precision = flac_max(max_qlp_coeff_precision, min_qlp_coeff_precision);
+ }
+ else
+ max_qlp_coeff_precision = FLAC__MAX_QLP_COEFF_PRECISION;
}
else {
- const unsigned guess_lpc_order =
- FLAC__lpc_compute_best_order(
- lpc_error,
- max_lpc_order,
+ min_qlp_coeff_precision = max_qlp_coeff_precision = encoder->protected_->qlp_coeff_precision;
+ }
+ for(qlp_coeff_precision = min_qlp_coeff_precision; qlp_coeff_precision <= max_qlp_coeff_precision; qlp_coeff_precision++) {
+ _candidate_bits =
+ evaluate_lpc_subframe_(
+ encoder,
+ integer_signal,
+ residual[!_best_subframe],
+ encoder->private_->abs_residual_partition_sums,
+ encoder->private_->raw_bits_per_partition,
+ encoder->private_->lp_coeff[lpc_order-1],
frame_header->blocksize,
- subframe_bps + (
- encoder->protected_->do_qlp_coeff_prec_search?
- FLAC__MIN_QLP_COEFF_PRECISION : /* have to guess; use the min possible size to avoid accidentally favoring lower orders */
- encoder->protected_->qlp_coeff_precision
- )
+ subframe_bps,
+ lpc_order,
+ qlp_coeff_precision,
+ rice_parameter_limit,
+ min_partition_order,
+ max_partition_order,
+ encoder->protected_->do_escape_coding,
+ encoder->protected_->rice_parameter_search_dist,
+ subframe[!_best_subframe],
+ partitioned_rice_contents[!_best_subframe]
);
- min_lpc_order = max_lpc_order = guess_lpc_order;
- }
- if(max_lpc_order >= frame_header->blocksize)
- max_lpc_order = frame_header->blocksize - 1;
- for(lpc_order = min_lpc_order; lpc_order <= max_lpc_order; lpc_order++) {
- lpc_residual_bits_per_sample = FLAC__lpc_compute_expected_bits_per_residual_sample(lpc_error[lpc_order-1], frame_header->blocksize-lpc_order);
- if(lpc_residual_bits_per_sample >= (FLAC__double)subframe_bps)
- continue; /* don't even try */
- rice_parameter = (lpc_residual_bits_per_sample > 0.0)? (unsigned)(lpc_residual_bits_per_sample+0.5) : 0; /* 0.5 is for rounding */
- rice_parameter++; /* to account for the signed->unsigned conversion during rice coding */
- if(rice_parameter >= rice_parameter_limit) {
-#ifdef DEBUG_VERBOSE
- fprintf(stderr, "clipping rice_parameter (%u -> %u) @1\n", rice_parameter, rice_parameter_limit - 1);
-#endif
- rice_parameter = rice_parameter_limit - 1;
- }
- if(encoder->protected_->do_qlp_coeff_prec_search) {
- min_qlp_coeff_precision = FLAC__MIN_QLP_COEFF_PRECISION;
- /* try to ensure a 32-bit datapath throughout for 16bps(+1bps for side channel) or less */
- if(subframe_bps <= 17) {
- max_qlp_coeff_precision = min(32 - subframe_bps - lpc_order, FLAC__MAX_QLP_COEFF_PRECISION);
- max_qlp_coeff_precision = max(max_qlp_coeff_precision, min_qlp_coeff_precision);
- }
- else
- max_qlp_coeff_precision = FLAC__MAX_QLP_COEFF_PRECISION;
- }
- else {
- min_qlp_coeff_precision = max_qlp_coeff_precision = encoder->protected_->qlp_coeff_precision;
- }
- for(qlp_coeff_precision = min_qlp_coeff_precision; qlp_coeff_precision <= max_qlp_coeff_precision; qlp_coeff_precision++) {
- _candidate_bits =
- evaluate_lpc_subframe_(
- encoder,
- integer_signal,
- residual[!_best_subframe],
- encoder->private_->abs_residual_partition_sums,
- encoder->private_->raw_bits_per_partition,
- encoder->private_->lp_coeff[lpc_order-1],
- frame_header->blocksize,
- subframe_bps,
- lpc_order,
- qlp_coeff_precision,
- rice_parameter,
- rice_parameter_limit,
- min_partition_order,
- max_partition_order,
- encoder->protected_->do_escape_coding,
- encoder->protected_->rice_parameter_search_dist,
- subframe[!_best_subframe],
- partitioned_rice_contents[!_best_subframe]
- );
- if(_candidate_bits > 0) { /* if == 0, there was a problem quantizing the lpcoeffs */
- if(_candidate_bits < _best_bits) {
- _best_subframe = !_best_subframe;
- _best_bits = _candidate_bits;
- }
+ if(_candidate_bits > 0) { /* if == 0, there was a problem quantizing the lpcoeffs */
+ if(_candidate_bits < _best_bits) {
+ _best_subframe = !_best_subframe;
+ _best_bits = _candidate_bits;
}
}
}
@@ -3396,7 +3671,7 @@ FLAC__bool process_subframe_(
}
/* under rare circumstances this can happen when all but lpc subframe types are disabled: */
- if(_best_bits == UINT_MAX) {
+ if(_best_bits == UINT32_MAX) {
FLAC__ASSERT(_best_subframe == 0);
_best_bits = evaluate_verbatim_subframe_(encoder, integer_signal, frame_header->blocksize, subframe_bps, subframe[_best_subframe]);
}
@@ -3407,10 +3682,112 @@ FLAC__bool process_subframe_(
return true;
}
+#ifndef FLAC__INTEGER_ONLY_LIBRARY
+static inline void set_next_subdivide_tukey(FLAC__int32 parts, uint32_t * apodizations, uint32_t * current_depth, uint32_t * current_part){
+ // current_part is interleaved: even are partial, odd are punchout
+ if(*current_depth == 2){
+ // For depth 2, we only do partial, no punchout as that is almost redundant
+ if(*current_part == 0){
+ *current_part = 2;
+ }else{ /* *current_path == 2 */
+ *current_part = 0;
+ (*current_depth)++;
+ }
+ }else if((*current_part) < (2*(*current_depth)-1)){
+ (*current_part)++;
+ }else{ /* (*current_part) >= (2*(*current_depth)-1) */
+ *current_part = 0;
+ (*current_depth)++;
+ }
+
+ /* Now check if we are done with this SUBDIVIDE_TUKEY apodization */
+ if(*current_depth > (uint32_t) parts){
+ (*apodizations)++;
+ *current_depth = 1;
+ *current_part = 0;
+ }
+}
+
+FLAC__bool apply_apodization_(FLAC__StreamEncoder *encoder,
+ apply_apodization_state_struct *apply_apodization_state,
+ uint32_t blocksize,
+ double *lpc_error,
+ uint32_t *max_lpc_order_this_apodization,
+ uint32_t subframe_bps,
+ const void *integer_signal,
+ uint32_t *guess_lpc_order)
+{
+ apply_apodization_state->current_apodization = &encoder->protected_->apodizations[apply_apodization_state->a];
+
+ if(apply_apodization_state->b == 1) {
+ /* window full subblock */
+ if(subframe_bps <= 32)
+ FLAC__lpc_window_data(integer_signal, encoder->private_->window[apply_apodization_state->a], encoder->private_->windowed_signal, blocksize);
+ else
+ FLAC__lpc_window_data_wide(integer_signal, encoder->private_->window[apply_apodization_state->a], encoder->private_->windowed_signal, blocksize);
+ encoder->private_->local_lpc_compute_autocorrelation(encoder->private_->windowed_signal, blocksize, (*max_lpc_order_this_apodization)+1, apply_apodization_state->autoc);
+ if(apply_apodization_state->current_apodization->type == FLAC__APODIZATION_SUBDIVIDE_TUKEY){
+ uint32_t i;
+ for(i = 0; i < *max_lpc_order_this_apodization; i++)
+ memcpy(apply_apodization_state->autoc_root, apply_apodization_state->autoc, *max_lpc_order_this_apodization*sizeof(apply_apodization_state->autoc[0]));
+
+ (apply_apodization_state->b)++;
+ }else{
+ (apply_apodization_state->a)++;
+ }
+ }
+ else {
+ /* window part of subblock */
+ if(blocksize/apply_apodization_state->b <= FLAC__MAX_LPC_ORDER) {
+ /* intrinsics autocorrelation routines do not all handle cases in which lag might be
+ * larger than data_len, and some routines round lag up to the nearest multiple of 4
+ * As little gain is expected from using LPC on part of a signal as small as 32 samples
+ * and to enable widening this rounding up to larger values in the future, windowing
+ * parts smaller than or equal to FLAC__MAX_LPC_ORDER (which is 32) samples is not supported */
+ set_next_subdivide_tukey(apply_apodization_state->current_apodization->parameters.subdivide_tukey.parts, &apply_apodization_state->a, &apply_apodization_state->b, &apply_apodization_state->c);
+ return false;
+ }
+ if(!(apply_apodization_state->c % 2)) {
+ /* on even c, evaluate the (c/2)th partial window of size blocksize/b */
+ if(subframe_bps <= 32)
+ FLAC__lpc_window_data_partial(integer_signal, encoder->private_->window[apply_apodization_state->a], encoder->private_->windowed_signal, blocksize, blocksize/apply_apodization_state->b/2, (apply_apodization_state->c/2*blocksize)/apply_apodization_state->b);
+ else
+ FLAC__lpc_window_data_partial_wide(integer_signal, encoder->private_->window[apply_apodization_state->a], encoder->private_->windowed_signal, blocksize, blocksize/apply_apodization_state->b/2, (apply_apodization_state->c/2*blocksize)/apply_apodization_state->b);
+ encoder->private_->local_lpc_compute_autocorrelation(encoder->private_->windowed_signal, blocksize/apply_apodization_state->b, (*max_lpc_order_this_apodization)+1, apply_apodization_state->autoc);
+ }
+ else {
+ /* on uneven c, evaluate the root window (over the whole block) minus the previous partial window
+ * similar to tukey_punchout apodization but more efficient */
+ uint32_t i;
+ for(i = 0; i < *max_lpc_order_this_apodization; i++)
+ apply_apodization_state->autoc[i] = apply_apodization_state->autoc_root[i] - apply_apodization_state->autoc[i];
+ }
+ /* Next function sets a, b and c appropriate for next iteration */
+ set_next_subdivide_tukey(apply_apodization_state->current_apodization->parameters.subdivide_tukey.parts, &apply_apodization_state->a, &apply_apodization_state->b, &apply_apodization_state->c);
+ }
+
+ if(apply_apodization_state->autoc[0] == 0.0) /* Signal seems to be constant, so we can't do lp. Constant detection is probably disabled */
+ return false;
+ FLAC__lpc_compute_lp_coefficients(apply_apodization_state->autoc, max_lpc_order_this_apodization, encoder->private_->lp_coeff, lpc_error);
+ *guess_lpc_order =
+ FLAC__lpc_compute_best_order(
+ lpc_error,
+ *max_lpc_order_this_apodization,
+ blocksize,
+ subframe_bps + (
+ encoder->protected_->do_qlp_coeff_prec_search?
+ FLAC__MIN_QLP_COEFF_PRECISION : /* have to guess; use the min possible size to avoid accidentally favoring lower orders */
+ encoder->protected_->qlp_coeff_precision
+ )
+ );
+ return true;
+}
+#endif
+
FLAC__bool add_subframe_(
FLAC__StreamEncoder *encoder,
- unsigned blocksize,
- unsigned subframe_bps,
+ uint32_t blocksize,
+ uint32_t subframe_bps,
const FLAC__Subframe *subframe,
FLAC__BitWriter *frame
)
@@ -3451,10 +3828,10 @@ FLAC__bool add_subframe_(
#if SPOTCHECK_ESTIMATE
static void spotcheck_subframe_estimate_(
FLAC__StreamEncoder *encoder,
- unsigned blocksize,
- unsigned subframe_bps,
+ uint32_t blocksize,
+ uint32_t subframe_bps,
const FLAC__Subframe *subframe,
- unsigned estimate
+ uint32_t estimate
)
{
FLAC__bool ret;
@@ -3470,7 +3847,7 @@ static void spotcheck_subframe_estimate_(
ret = add_subframe_(encoder, blocksize, subframe_bps, subframe, frame);
FLAC__ASSERT(ret);
{
- const unsigned actual = FLAC__bitwriter_get_input_bits_unconsumed(frame);
+ const uint32_t actual = FLAC__bitwriter_get_input_bits_unconsumed(frame);
if(estimate != actual)
fprintf(stderr, "EST: bad, frame#%u sub#%%d type=%8s est=%u, actual=%u, delta=%d\n", encoder->private_->current_frame_number, FLAC__SubframeTypeString[subframe->type], estimate, actual, (int)actual-(int)estimate);
}
@@ -3478,15 +3855,15 @@ static void spotcheck_subframe_estimate_(
}
#endif
-unsigned evaluate_constant_subframe_(
+uint32_t evaluate_constant_subframe_(
FLAC__StreamEncoder *encoder,
- const FLAC__int32 signal,
- unsigned blocksize,
- unsigned subframe_bps,
+ const FLAC__int64 signal,
+ uint32_t blocksize,
+ uint32_t subframe_bps,
FLAC__Subframe *subframe
)
{
- unsigned estimate;
+ uint32_t estimate;
subframe->type = FLAC__SUBFRAME_TYPE_CONSTANT;
subframe->data.constant.value = signal;
@@ -3501,29 +3878,33 @@ unsigned evaluate_constant_subframe_(
return estimate;
}
-unsigned evaluate_fixed_subframe_(
+uint32_t evaluate_fixed_subframe_(
FLAC__StreamEncoder *encoder,
- const FLAC__int32 signal[],
+ const void *signal,
FLAC__int32 residual[],
FLAC__uint64 abs_residual_partition_sums[],
- unsigned raw_bits_per_partition[],
- unsigned blocksize,
- unsigned subframe_bps,
- unsigned order,
- unsigned rice_parameter,
- unsigned rice_parameter_limit,
- unsigned min_partition_order,
- unsigned max_partition_order,
+ uint32_t raw_bits_per_partition[],
+ uint32_t blocksize,
+ uint32_t subframe_bps,
+ uint32_t order,
+ uint32_t rice_parameter_limit,
+ uint32_t min_partition_order,
+ uint32_t max_partition_order,
FLAC__bool do_escape_coding,
- unsigned rice_parameter_search_dist,
+ uint32_t rice_parameter_search_dist,
FLAC__Subframe *subframe,
FLAC__EntropyCodingMethod_PartitionedRiceContents *partitioned_rice_contents
)
{
- unsigned i, residual_bits, estimate;
- const unsigned residual_samples = blocksize - order;
+ uint32_t i, residual_bits, estimate;
+ const uint32_t residual_samples = blocksize - order;
- FLAC__fixed_compute_residual(signal+order, residual_samples, order, residual);
+ if((subframe_bps + order) <= 32)
+ FLAC__fixed_compute_residual(((FLAC__int32 *)signal)+order, residual_samples, order, residual);
+ else if(subframe_bps <= 32)
+ FLAC__fixed_compute_residual_wide(((FLAC__int32 *)signal)+order, residual_samples, order, residual);
+ else
+ FLAC__fixed_compute_residual_wide_33bit(((FLAC__int64 *)signal)+order, residual_samples, order, residual);
subframe->type = FLAC__SUBFRAME_TYPE_FIXED;
@@ -3539,7 +3920,6 @@ unsigned evaluate_fixed_subframe_(
raw_bits_per_partition,
residual_samples,
order,
- rice_parameter,
rice_parameter_limit,
min_partition_order,
max_partition_order,
@@ -3550,10 +3930,18 @@ unsigned evaluate_fixed_subframe_(
);
subframe->data.fixed.order = order;
- for(i = 0; i < order; i++)
- subframe->data.fixed.warmup[i] = signal[i];
+ if(subframe_bps <= 32)
+ for(i = 0; i < order; i++)
+ subframe->data.fixed.warmup[i] = ((FLAC__int32 *)signal)[i];
+ else
+ for(i = 0; i < order; i++)
+ subframe->data.fixed.warmup[i] = ((FLAC__int64 *)signal)[i];
- estimate = FLAC__SUBFRAME_ZERO_PAD_LEN + FLAC__SUBFRAME_TYPE_LEN + FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN + subframe->wasted_bits + (order * subframe_bps) + residual_bits;
+ estimate = FLAC__SUBFRAME_ZERO_PAD_LEN + FLAC__SUBFRAME_TYPE_LEN + FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN + subframe->wasted_bits + (order * subframe_bps);
+ if(residual_bits < UINT32_MAX - estimate) // To make sure estimate doesn't overflow
+ estimate += residual_bits;
+ else
+ estimate = UINT32_MAX;
#if SPOTCHECK_ESTIMATE
spotcheck_subframe_estimate_(encoder, blocksize, subframe_bps, subframe, estimate);
@@ -3563,50 +3951,59 @@ unsigned evaluate_fixed_subframe_(
}
#ifndef FLAC__INTEGER_ONLY_LIBRARY
-unsigned evaluate_lpc_subframe_(
+uint32_t evaluate_lpc_subframe_(
FLAC__StreamEncoder *encoder,
- const FLAC__int32 signal[],
+ const void *signal,
FLAC__int32 residual[],
FLAC__uint64 abs_residual_partition_sums[],
- unsigned raw_bits_per_partition[],
+ uint32_t raw_bits_per_partition[],
const FLAC__real lp_coeff[],
- unsigned blocksize,
- unsigned subframe_bps,
- unsigned order,
- unsigned qlp_coeff_precision,
- unsigned rice_parameter,
- unsigned rice_parameter_limit,
- unsigned min_partition_order,
- unsigned max_partition_order,
+ uint32_t blocksize,
+ uint32_t subframe_bps,
+ uint32_t order,
+ uint32_t qlp_coeff_precision,
+ uint32_t rice_parameter_limit,
+ uint32_t min_partition_order,
+ uint32_t max_partition_order,
FLAC__bool do_escape_coding,
- unsigned rice_parameter_search_dist,
+ uint32_t rice_parameter_search_dist,
FLAC__Subframe *subframe,
FLAC__EntropyCodingMethod_PartitionedRiceContents *partitioned_rice_contents
)
{
- FLAC__int32 qlp_coeff[FLAC__MAX_LPC_ORDER];
- unsigned i, residual_bits, estimate;
+ FLAC__int32 qlp_coeff[FLAC__MAX_LPC_ORDER]; /* WATCHOUT: the size is important; some x86 intrinsic routines need more than lpc order elements */
+ uint32_t i, residual_bits, estimate;
int quantization, ret;
- const unsigned residual_samples = blocksize - order;
+ const uint32_t residual_samples = blocksize - order;
- /* try to keep qlp coeff precision such that only 32-bit math is required for decode of <=16bps streams */
- if(subframe_bps <= 16) {
+ /* try to keep qlp coeff precision such that only 32-bit math is required for decode of <=16bps(+1bps for side channel) streams */
+ if(subframe_bps <= 17) {
FLAC__ASSERT(order > 0);
FLAC__ASSERT(order <= FLAC__MAX_LPC_ORDER);
- qlp_coeff_precision = min(qlp_coeff_precision, 32 - subframe_bps - FLAC__bitmath_ilog2(order));
+ qlp_coeff_precision = flac_min(qlp_coeff_precision, 32 - subframe_bps - FLAC__bitmath_ilog2(order));
}
ret = FLAC__lpc_quantize_coefficients(lp_coeff, order, qlp_coeff_precision, qlp_coeff, &quantization);
if(ret != 0)
return 0; /* this is a hack to indicate to the caller that we can't do lp at this order on this subframe */
- if(subframe_bps + qlp_coeff_precision + FLAC__bitmath_ilog2(order) <= 32)
- if(subframe_bps <= 16 && qlp_coeff_precision <= 16)
- encoder->private_->local_lpc_compute_residual_from_qlp_coefficients_16bit(signal+order, residual_samples, qlp_coeff, order, quantization, residual);
+ if(FLAC__lpc_max_residual_bps(subframe_bps, qlp_coeff, order, quantization) > 32) {
+ if(subframe_bps <= 32){
+ if(!FLAC__lpc_compute_residual_from_qlp_coefficients_limit_residual(((FLAC__int32 *)signal)+order, residual_samples, qlp_coeff, order, quantization, residual))
+ return 0;
+ }
else
- encoder->private_->local_lpc_compute_residual_from_qlp_coefficients(signal+order, residual_samples, qlp_coeff, order, quantization, residual);
+ if(!FLAC__lpc_compute_residual_from_qlp_coefficients_limit_residual_33bit(((FLAC__int64 *)signal)+order, residual_samples, qlp_coeff, order, quantization, residual))
+ return 0;
+ }
else
- encoder->private_->local_lpc_compute_residual_from_qlp_coefficients_64bit(signal+order, residual_samples, qlp_coeff, order, quantization, residual);
+ if(FLAC__lpc_max_prediction_before_shift_bps(subframe_bps, qlp_coeff, order) <= 32)
+ if(subframe_bps <= 16 && qlp_coeff_precision <= 16)
+ encoder->private_->local_lpc_compute_residual_from_qlp_coefficients_16bit(((FLAC__int32 *)signal)+order, residual_samples, qlp_coeff, order, quantization, residual);
+ else
+ encoder->private_->local_lpc_compute_residual_from_qlp_coefficients(((FLAC__int32 *)signal)+order, residual_samples, qlp_coeff, order, quantization, residual);
+ else
+ encoder->private_->local_lpc_compute_residual_from_qlp_coefficients_64bit(((FLAC__int32 *)signal)+order, residual_samples, qlp_coeff, order, quantization, residual);
subframe->type = FLAC__SUBFRAME_TYPE_LPC;
@@ -3622,7 +4019,6 @@ unsigned evaluate_lpc_subframe_(
raw_bits_per_partition,
residual_samples,
order,
- rice_parameter,
rice_parameter_limit,
min_partition_order,
max_partition_order,
@@ -3636,10 +4032,19 @@ unsigned evaluate_lpc_subframe_(
subframe->data.lpc.qlp_coeff_precision = qlp_coeff_precision;
subframe->data.lpc.quantization_level = quantization;
memcpy(subframe->data.lpc.qlp_coeff, qlp_coeff, sizeof(FLAC__int32)*FLAC__MAX_LPC_ORDER);
- for(i = 0; i < order; i++)
- subframe->data.lpc.warmup[i] = signal[i];
+ if(subframe_bps <= 32)
+ for(i = 0; i < order; i++)
+ subframe->data.lpc.warmup[i] = ((FLAC__int32 *)signal)[i];
+ else
+ for(i = 0; i < order; i++)
+ subframe->data.lpc.warmup[i] = ((FLAC__int64 *)signal)[i];
+
- estimate = FLAC__SUBFRAME_ZERO_PAD_LEN + FLAC__SUBFRAME_TYPE_LEN + FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN + subframe->wasted_bits + FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN + FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN + (order * (qlp_coeff_precision + subframe_bps)) + residual_bits;
+ estimate = FLAC__SUBFRAME_ZERO_PAD_LEN + FLAC__SUBFRAME_TYPE_LEN + FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN + subframe->wasted_bits + FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN + FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN + (order * (qlp_coeff_precision + subframe_bps));
+ if(residual_bits < UINT32_MAX - estimate) // To make sure estimate doesn't overflow
+ estimate += residual_bits;
+ else
+ estimate = UINT32_MAX;
#if SPOTCHECK_ESTIMATE
spotcheck_subframe_estimate_(encoder, blocksize, subframe_bps, subframe, estimate);
@@ -3649,19 +4054,26 @@ unsigned evaluate_lpc_subframe_(
}
#endif
-unsigned evaluate_verbatim_subframe_(
+uint32_t evaluate_verbatim_subframe_(
FLAC__StreamEncoder *encoder,
- const FLAC__int32 signal[],
- unsigned blocksize,
- unsigned subframe_bps,
+ const void *signal,
+ uint32_t blocksize,
+ uint32_t subframe_bps,
FLAC__Subframe *subframe
)
{
- unsigned estimate;
+ uint32_t estimate;
subframe->type = FLAC__SUBFRAME_TYPE_VERBATIM;
- subframe->data.verbatim.data = signal;
+ if(subframe_bps <= 32){
+ subframe->data.verbatim.data_type = FLAC__VERBATIM_SUBFRAME_DATA_TYPE_INT32;
+ subframe->data.verbatim.data.int32 = signal;
+ }
+ else {
+ subframe->data.verbatim.data_type = FLAC__VERBATIM_SUBFRAME_DATA_TYPE_INT64;
+ subframe->data.verbatim.data.int64 = signal;
+ }
estimate = FLAC__SUBFRAME_ZERO_PAD_LEN + FLAC__SUBFRAME_TYPE_LEN + FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN + subframe->wasted_bits + (blocksize * subframe_bps);
@@ -3674,39 +4086,38 @@ unsigned evaluate_verbatim_subframe_(
return estimate;
}
-unsigned find_best_partition_order_(
+uint32_t find_best_partition_order_(
FLAC__StreamEncoderPrivate *private_,
const FLAC__int32 residual[],
FLAC__uint64 abs_residual_partition_sums[],
- unsigned raw_bits_per_partition[],
- unsigned residual_samples,
- unsigned predictor_order,
- unsigned rice_parameter,
- unsigned rice_parameter_limit,
- unsigned min_partition_order,
- unsigned max_partition_order,
- unsigned bps,
+ uint32_t raw_bits_per_partition[],
+ uint32_t residual_samples,
+ uint32_t predictor_order,
+ uint32_t rice_parameter_limit,
+ uint32_t min_partition_order,
+ uint32_t max_partition_order,
+ uint32_t bps,
FLAC__bool do_escape_coding,
- unsigned rice_parameter_search_dist,
+ uint32_t rice_parameter_search_dist,
FLAC__EntropyCodingMethod *best_ecm
)
{
- unsigned residual_bits, best_residual_bits = 0;
- unsigned best_parameters_index = 0;
- unsigned best_partition_order = 0;
- const unsigned blocksize = residual_samples + predictor_order;
+ uint32_t residual_bits, best_residual_bits = 0;
+ uint32_t best_parameters_index = 0;
+ uint32_t best_partition_order = 0;
+ const uint32_t blocksize = residual_samples + predictor_order;
max_partition_order = FLAC__format_get_max_rice_partition_order_from_blocksize_limited_max_and_predictor_order(max_partition_order, blocksize, predictor_order);
- min_partition_order = min(min_partition_order, max_partition_order);
+ min_partition_order = flac_min(min_partition_order, max_partition_order);
- precompute_partition_info_sums_(residual, abs_residual_partition_sums, residual_samples, predictor_order, min_partition_order, max_partition_order, bps);
+ private_->local_precompute_partition_info_sums(residual, abs_residual_partition_sums, residual_samples, predictor_order, min_partition_order, max_partition_order, bps);
if(do_escape_coding)
precompute_partition_info_escapes_(residual, raw_bits_per_partition, residual_samples, predictor_order, min_partition_order, max_partition_order);
{
int partition_order;
- unsigned sum;
+ uint32_t sum;
for(partition_order = (int)max_partition_order, sum = 0; partition_order >= (int)min_partition_order; partition_order--) {
if(!
@@ -3718,10 +4129,9 @@ unsigned find_best_partition_order_(
raw_bits_per_partition+sum,
residual_samples,
predictor_order,
- rice_parameter,
rice_parameter_limit,
rice_parameter_search_dist,
- (unsigned)partition_order,
+ (uint32_t)partition_order,
do_escape_coding,
&private_->partitioned_rice_contents_extra[!best_parameters_index],
&residual_bits
@@ -3748,13 +4158,12 @@ unsigned find_best_partition_order_(
* knowledge; it is const to the outside world.
*/
FLAC__EntropyCodingMethod_PartitionedRiceContents* prc = (FLAC__EntropyCodingMethod_PartitionedRiceContents*)best_ecm->data.partitioned_rice.contents;
- unsigned partition;
+ uint32_t partition;
/* save best parameters and raw_bits */
- FLAC__format_entropy_coding_method_partitioned_rice_contents_ensure_size(prc, max(6, best_partition_order));
- memcpy(prc->parameters, private_->partitioned_rice_contents_extra[best_parameters_index].parameters, sizeof(unsigned)*((unsigned long long)1<<(best_partition_order)));
+ memcpy(prc->parameters, private_->partitioned_rice_contents_extra[best_parameters_index].parameters, (uint32_t)sizeof(uint32_t)*(1<<(best_partition_order)));
if(do_escape_coding)
- memcpy(prc->raw_bits, private_->partitioned_rice_contents_extra[best_parameters_index].raw_bits, sizeof(unsigned)*((unsigned long long)1<<(best_partition_order)));
+ memcpy(prc->raw_bits, private_->partitioned_rice_contents_extra[best_parameters_index].raw_bits, (uint32_t)sizeof(uint32_t)*(1<<(best_partition_order)));
/*
* Now need to check if the type should be changed to
* FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2 based on the
@@ -3771,76 +4180,52 @@ unsigned find_best_partition_order_(
return best_residual_bits;
}
-#if defined(FLAC__CPU_IA32) && !defined FLAC__NO_ASM && defined FLAC__HAS_NASM
-extern void precompute_partition_info_sums_32bit_asm_ia32_(
- const FLAC__int32 residual[],
- FLAC__uint64 abs_residual_partition_sums[],
- unsigned blocksize,
- unsigned predictor_order,
- unsigned min_partition_order,
- unsigned max_partition_order
-);
-#endif
-
void precompute_partition_info_sums_(
const FLAC__int32 residual[],
FLAC__uint64 abs_residual_partition_sums[],
- unsigned residual_samples,
- unsigned predictor_order,
- unsigned min_partition_order,
- unsigned max_partition_order,
- unsigned bps
+ uint32_t residual_samples,
+ uint32_t predictor_order,
+ uint32_t min_partition_order,
+ uint32_t max_partition_order,
+ uint32_t bps
)
{
- const unsigned default_partition_samples = (residual_samples + predictor_order) >> max_partition_order;
- unsigned partitions = 1u << max_partition_order;
+ const uint32_t default_partition_samples = (residual_samples + predictor_order) >> max_partition_order;
+ uint32_t partitions = 1u << max_partition_order;
FLAC__ASSERT(default_partition_samples > predictor_order);
-#if defined(FLAC__CPU_IA32) && !defined FLAC__NO_ASM && defined FLAC__HAS_NASM
- /* slightly pessimistic but still catches all common cases */
- /* WATCHOUT: "+ bps" is an assumption that the average residual magnitude will not be more than "bps" bits */
- if(FLAC__bitmath_ilog2(default_partition_samples) + bps < 32) {
- precompute_partition_info_sums_32bit_asm_ia32_(residual, abs_residual_partition_sums, residual_samples + predictor_order, predictor_order, min_partition_order, max_partition_order);
- return;
- }
-#endif
-
/* first do max_partition_order */
{
- unsigned partition, residual_sample, end = (unsigned)(-(int)predictor_order);
- /* slightly pessimistic but still catches all common cases */
- /* WATCHOUT: "+ bps" is an assumption that the average residual magnitude will not be more than "bps" bits */
- if(FLAC__bitmath_ilog2(default_partition_samples) + bps < 32) {
- FLAC__uint32 abs_residual_partition_sum;
-
+ const uint32_t threshold = 32 - FLAC__bitmath_ilog2(default_partition_samples);
+ uint32_t partition, residual_sample, end = (uint32_t)(-(int)predictor_order);
+ /* WATCHOUT: "bps + FLAC__MAX_EXTRA_RESIDUAL_BPS" is the maximum assumed size of the average residual magnitude */
+ if(bps + FLAC__MAX_EXTRA_RESIDUAL_BPS < threshold) {
for(partition = residual_sample = 0; partition < partitions; partition++) {
+ FLAC__uint32 abs_residual_partition_sum = 0;
end += default_partition_samples;
- abs_residual_partition_sum = 0;
for( ; residual_sample < end; residual_sample++)
abs_residual_partition_sum += abs(residual[residual_sample]); /* abs(INT_MIN) is undefined, but if the residual is INT_MIN we have bigger problems */
abs_residual_partition_sums[partition] = abs_residual_partition_sum;
}
}
else { /* have to pessimistically use 64 bits for accumulator */
- FLAC__uint64 abs_residual_partition_sum;
-
for(partition = residual_sample = 0; partition < partitions; partition++) {
+ FLAC__uint64 abs_residual_partition_sum64 = 0;
end += default_partition_samples;
- abs_residual_partition_sum = 0;
for( ; residual_sample < end; residual_sample++)
- abs_residual_partition_sum += abs(residual[residual_sample]); /* abs(INT_MIN) is undefined, but if the residual is INT_MIN we have bigger problems */
- abs_residual_partition_sums[partition] = abs_residual_partition_sum;
+ abs_residual_partition_sum64 += abs(residual[residual_sample]); /* abs(INT_MIN) is undefined, but if the residual is INT_MIN we have bigger problems */
+ abs_residual_partition_sums[partition] = abs_residual_partition_sum64;
}
}
}
/* now merge partitions for lower orders */
{
- unsigned from_partition = 0, to_partition = partitions;
+ uint32_t from_partition = 0, to_partition = partitions;
int partition_order;
for(partition_order = (int)max_partition_order - 1; partition_order >= (int)min_partition_order; partition_order--) {
- unsigned i;
+ uint32_t i;
partitions >>= 1;
for(i = 0; i < partitions; i++) {
abs_residual_partition_sums[to_partition++] =
@@ -3854,24 +4239,24 @@ void precompute_partition_info_sums_(
void precompute_partition_info_escapes_(
const FLAC__int32 residual[],
- unsigned raw_bits_per_partition[],
- unsigned residual_samples,
- unsigned predictor_order,
- unsigned min_partition_order,
- unsigned max_partition_order
+ uint32_t raw_bits_per_partition[],
+ uint32_t residual_samples,
+ uint32_t predictor_order,
+ uint32_t min_partition_order,
+ uint32_t max_partition_order
)
{
int partition_order;
- unsigned from_partition, to_partition = 0;
- const unsigned blocksize = residual_samples + predictor_order;
+ uint32_t from_partition, to_partition = 0;
+ const uint32_t blocksize = residual_samples + predictor_order;
/* first do max_partition_order */
for(partition_order = (int)max_partition_order; partition_order >= 0; partition_order--) {
FLAC__int32 r;
FLAC__uint32 rmax;
- unsigned partition, partition_sample, partition_samples, residual_sample;
- const unsigned partitions = 1u << partition_order;
- const unsigned default_partition_samples = blocksize >> partition_order;
+ uint32_t partition, partition_sample, partition_samples, residual_sample;
+ const uint32_t partitions = 1u << partition_order;
+ const uint32_t default_partition_samples = blocksize >> partition_order;
FLAC__ASSERT(default_partition_samples > predictor_order);
@@ -3897,13 +4282,13 @@ void precompute_partition_info_escapes_(
/* now merge partitions for lower orders */
for(from_partition = 0, --partition_order; partition_order >= (int)min_partition_order; partition_order--) {
- unsigned m;
- unsigned i;
- const unsigned partitions = 1u << partition_order;
+ uint32_t m;
+ uint32_t i;
+ const uint32_t partitions = 1u << partition_order;
for(i = 0; i < partitions; i++) {
m = raw_bits_per_partition[from_partition];
from_partition++;
- raw_bits_per_partition[to_partition] = max(m, raw_bits_per_partition[from_partition]);
+ raw_bits_per_partition[to_partition] = flac_max(m, raw_bits_per_partition[from_partition]);
from_partition++;
to_partition++;
}
@@ -3911,36 +4296,37 @@ void precompute_partition_info_escapes_(
}
#ifdef EXACT_RICE_BITS_CALCULATION
-static FLaC__INLINE unsigned count_rice_bits_in_partition_(
- const unsigned rice_parameter,
- const unsigned partition_samples,
+static inline uint32_t count_rice_bits_in_partition_(
+ const uint32_t rice_parameter,
+ const uint32_t partition_samples,
const FLAC__int32 *residual
)
{
- unsigned i, partition_bits =
+ uint32_t i;
+ uint64_t partition_bits =
FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN + /* actually could end up being FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN but err on side of 16bps */
(1+rice_parameter) * partition_samples /* 1 for unary stop bit + rice_parameter for the binary portion */
;
for(i = 0; i < partition_samples; i++)
partition_bits += ( (FLAC__uint32)((residual[i]<<1)^(residual[i]>>31)) >> rice_parameter );
- return partition_bits;
+ return (uint32_t)(flac_min(partition_bits,UINT32_MAX)); // To make sure the return value doesn't overflow
}
#else
-static FLaC__INLINE unsigned count_rice_bits_in_partition_(
- const unsigned rice_parameter,
- const unsigned partition_samples,
+static inline uint32_t count_rice_bits_in_partition_(
+ const uint32_t rice_parameter,
+ const uint32_t partition_samples,
const FLAC__uint64 abs_residual_partition_sum
)
{
- return
+ return (uint32_t)(flac_min( // To make sure the return value doesn't overflow
FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN + /* actually could end up being FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN but err on side of 16bps */
(1+rice_parameter) * partition_samples + /* 1 for unary stop bit + rice_parameter for the binary portion */
(
rice_parameter?
- (unsigned)(abs_residual_partition_sum >> (rice_parameter-1)) /* rice_parameter-1 because the real coder sign-folds instead of using a sign bit */
- : (unsigned)(abs_residual_partition_sum << 1) /* can't shift by negative number, so reverse */
+ (abs_residual_partition_sum >> (rice_parameter-1)) /* rice_parameter-1 because the real coder sign-folds instead of using a sign bit */
+ : (abs_residual_partition_sum << 1) /* can't shift by negative number, so reverse */
)
- - (partition_samples >> 1)
+ - (partition_samples >> 1),UINT32_MAX));
/* -(partition_samples>>1) to subtract out extra contributions to the abs_residual_partition_sum.
* The actual number of bits used is closer to the sum(for all i in the partition) of abs(residual[i])>>(rice_parameter-1)
* By using the abs_residual_partition sum, we also add in bits in the LSBs that would normally be shifted out.
@@ -3956,62 +4342,100 @@ FLAC__bool set_partitioned_rice_(
const FLAC__int32 residual[],
#endif
const FLAC__uint64 abs_residual_partition_sums[],
- const unsigned raw_bits_per_partition[],
- const unsigned residual_samples,
- const unsigned predictor_order,
- const unsigned suggested_rice_parameter,
- const unsigned rice_parameter_limit,
- const unsigned rice_parameter_search_dist,
- const unsigned partition_order,
+ const uint32_t raw_bits_per_partition[],
+ const uint32_t residual_samples,
+ const uint32_t predictor_order,
+ const uint32_t rice_parameter_limit,
+ const uint32_t rice_parameter_search_dist,
+ const uint32_t partition_order,
const FLAC__bool search_for_escapes,
FLAC__EntropyCodingMethod_PartitionedRiceContents *partitioned_rice_contents,
- unsigned *bits
+ uint32_t *bits
)
{
- unsigned rice_parameter, partition_bits;
- unsigned best_partition_bits, best_rice_parameter = 0;
- unsigned bits_ = FLAC__ENTROPY_CODING_METHOD_TYPE_LEN + FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN;
- unsigned *parameters, *raw_bits;
+ uint32_t rice_parameter, partition_bits;
+ uint32_t best_partition_bits, best_rice_parameter = 0;
+ uint32_t bits_ = FLAC__ENTROPY_CODING_METHOD_TYPE_LEN + FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN;
+ uint32_t *parameters, *raw_bits;
+ uint32_t partition, residual_sample;
+ uint32_t partition_samples, partition_samples_base;
+ uint32_t partition_samples_fixed_point_divisor, partition_samples_fixed_point_divisor_base;
+ const uint32_t partitions = 1u << partition_order;
+ FLAC__uint64 mean;
#ifdef ENABLE_RICE_PARAMETER_SEARCH
- unsigned min_rice_parameter, max_rice_parameter;
+ uint32_t min_rice_parameter, max_rice_parameter;
#else
(void)rice_parameter_search_dist;
#endif
- FLAC__ASSERT(suggested_rice_parameter < FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER);
FLAC__ASSERT(rice_parameter_limit <= FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER);
- FLAC__format_entropy_coding_method_partitioned_rice_contents_ensure_size(partitioned_rice_contents, max(6, partition_order));
parameters = partitioned_rice_contents->parameters;
raw_bits = partitioned_rice_contents->raw_bits;
- if(partition_order == 0) {
- best_partition_bits = (unsigned)(-1);
+ partition_samples_base = (residual_samples+predictor_order) >> partition_order;
+
+ /* Integer division is slow. To speed up things, precalculate a fixed point
+ * divisor, as all partitions except the first are the same size. 18 bits
+ * are taken because maximum block size is 65535, max partition size for
+ * partitions other than 0 is 32767 (15 bit), max abs residual is 2^31,
+ * which leaves 18 bit */
+ partition_samples_fixed_point_divisor_base = 0x40000 / partition_samples_base;
+
+ for(partition = residual_sample = 0; partition < partitions; partition++) {
+ partition_samples = partition_samples_base;
+ if(partition > 0) {
+ partition_samples_fixed_point_divisor = partition_samples_fixed_point_divisor_base;
+ }
+ else {
+ if(partition_samples <= predictor_order)
+ return false;
+ else
+ partition_samples -= predictor_order;
+ partition_samples_fixed_point_divisor = 0x40000 / partition_samples;
+ }
+ mean = abs_residual_partition_sums[partition];
+ /* 'mean' is not a good name for the variable, it is
+ * actually the sum of magnitudes of all residual values
+ * in the partition, so the actual mean is
+ * mean/partition_samples
+ */
+ if(mean < 2 || (((mean - 1)*partition_samples_fixed_point_divisor)>>18) == 0)
+ rice_parameter = 0;
+ else
+ rice_parameter = FLAC__bitmath_ilog2_wide(((mean - 1)*partition_samples_fixed_point_divisor)>>18) + 1;
+
+ if(rice_parameter >= rice_parameter_limit) {
+#ifndef NDEBUG
+ fprintf(stderr, "clipping rice_parameter (%u -> %u) @6\n", rice_parameter, rice_parameter_limit - 1);
+#endif
+ rice_parameter = rice_parameter_limit - 1;
+ }
+
+ best_partition_bits = UINT32_MAX;
#ifdef ENABLE_RICE_PARAMETER_SEARCH
if(rice_parameter_search_dist) {
- if(suggested_rice_parameter < rice_parameter_search_dist)
+ if(rice_parameter < rice_parameter_search_dist)
min_rice_parameter = 0;
else
- min_rice_parameter = suggested_rice_parameter - rice_parameter_search_dist;
- max_rice_parameter = suggested_rice_parameter + rice_parameter_search_dist;
+ min_rice_parameter = rice_parameter - rice_parameter_search_dist;
+ max_rice_parameter = rice_parameter + rice_parameter_search_dist;
if(max_rice_parameter >= rice_parameter_limit) {
-#ifdef DEBUG_VERBOSE
- fprintf(stderr, "clipping rice_parameter (%u -> %u) @5\n", max_rice_parameter, rice_parameter_limit - 1);
+#ifndef NDEBUG
+ fprintf(stderr, "clipping rice_parameter (%u -> %u) @7\n", max_rice_parameter, rice_parameter_limit - 1);
#endif
max_rice_parameter = rice_parameter_limit - 1;
}
}
else
- min_rice_parameter = max_rice_parameter = suggested_rice_parameter;
+ min_rice_parameter = max_rice_parameter = rice_parameter;
for(rice_parameter = min_rice_parameter; rice_parameter <= max_rice_parameter; rice_parameter++) {
-#else
- rice_parameter = suggested_rice_parameter;
#endif
#ifdef EXACT_RICE_BITS_CALCULATION
- partition_bits = count_rice_bits_in_partition_(rice_parameter, residual_samples, residual);
+ partition_bits = count_rice_bits_in_partition_(rice_parameter, partition_samples, residual+residual_sample);
#else
- partition_bits = count_rice_bits_in_partition_(rice_parameter, residual_samples, abs_residual_partition_sums[0]);
+ partition_bits = count_rice_bits_in_partition_(rice_parameter, partition_samples, abs_residual_partition_sums[partition]);
#endif
if(partition_bits < best_partition_bits) {
best_rice_parameter = rice_parameter;
@@ -4021,104 +4445,30 @@ FLAC__bool set_partitioned_rice_(
}
#endif
if(search_for_escapes) {
- partition_bits = FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN + FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN + raw_bits_per_partition[0] * residual_samples;
- if(partition_bits <= best_partition_bits) {
- raw_bits[0] = raw_bits_per_partition[0];
+ partition_bits = FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN + FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN + raw_bits_per_partition[partition] * partition_samples;
+ if(partition_bits <= best_partition_bits && raw_bits_per_partition[partition] < 32) {
+ raw_bits[partition] = raw_bits_per_partition[partition];
best_rice_parameter = 0; /* will be converted to appropriate escape parameter later */
best_partition_bits = partition_bits;
}
else
- raw_bits[0] = 0;
+ raw_bits[partition] = 0;
}
- parameters[0] = best_rice_parameter;
- bits_ += best_partition_bits;
- }
- else {
- unsigned partition, residual_sample;
- unsigned partition_samples;
- FLAC__uint64 mean, k;
- const unsigned partitions = 1u << partition_order;
- for(partition = residual_sample = 0; partition < partitions; partition++) {
- partition_samples = (residual_samples+predictor_order) >> partition_order;
- if(partition == 0) {
- if(partition_samples <= predictor_order)
- return false;
- else
- partition_samples -= predictor_order;
- }
- mean = abs_residual_partition_sums[partition];
- /* we are basically calculating the size in bits of the
- * average residual magnitude in the partition:
- * rice_parameter = floor(log2(mean/partition_samples))
- * 'mean' is not a good name for the variable, it is
- * actually the sum of magnitudes of all residual values
- * in the partition, so the actual mean is
- * mean/partition_samples
- */
- for(rice_parameter = 0, k = partition_samples; k < mean; rice_parameter++, k <<= 1)
- ;
- if(rice_parameter >= rice_parameter_limit) {
-#ifdef DEBUG_VERBOSE
- fprintf(stderr, "clipping rice_parameter (%u -> %u) @6\n", rice_parameter, rice_parameter_limit - 1);
-#endif
- rice_parameter = rice_parameter_limit - 1;
- }
-
- best_partition_bits = (unsigned)(-1);
-#ifdef ENABLE_RICE_PARAMETER_SEARCH
- if(rice_parameter_search_dist) {
- if(rice_parameter < rice_parameter_search_dist)
- min_rice_parameter = 0;
- else
- min_rice_parameter = rice_parameter - rice_parameter_search_dist;
- max_rice_parameter = rice_parameter + rice_parameter_search_dist;
- if(max_rice_parameter >= rice_parameter_limit) {
-#ifdef DEBUG_VERBOSE
- fprintf(stderr, "clipping rice_parameter (%u -> %u) @7\n", max_rice_parameter, rice_parameter_limit - 1);
-#endif
- max_rice_parameter = rice_parameter_limit - 1;
- }
- }
- else
- min_rice_parameter = max_rice_parameter = rice_parameter;
-
- for(rice_parameter = min_rice_parameter; rice_parameter <= max_rice_parameter; rice_parameter++) {
-#endif
-#ifdef EXACT_RICE_BITS_CALCULATION
- partition_bits = count_rice_bits_in_partition_(rice_parameter, partition_samples, residual+residual_sample);
-#else
- partition_bits = count_rice_bits_in_partition_(rice_parameter, partition_samples, abs_residual_partition_sums[partition]);
-#endif
- if(partition_bits < best_partition_bits) {
- best_rice_parameter = rice_parameter;
- best_partition_bits = partition_bits;
- }
-#ifdef ENABLE_RICE_PARAMETER_SEARCH
- }
-#endif
- if(search_for_escapes) {
- partition_bits = FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN + FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN + raw_bits_per_partition[partition] * partition_samples;
- if(partition_bits <= best_partition_bits) {
- raw_bits[partition] = raw_bits_per_partition[partition];
- best_rice_parameter = 0; /* will be converted to appropriate escape parameter later */
- best_partition_bits = partition_bits;
- }
- else
- raw_bits[partition] = 0;
- }
- parameters[partition] = best_rice_parameter;
+ parameters[partition] = best_rice_parameter;
+ if(best_partition_bits < UINT32_MAX - bits_) // To make sure _bits doesn't overflow
bits_ += best_partition_bits;
- residual_sample += partition_samples;
- }
+ else
+ bits_ = UINT32_MAX;
+ residual_sample += partition_samples;
}
*bits = bits_;
return true;
}
-unsigned get_wasted_bits_(FLAC__int32 signal[], unsigned samples)
+uint32_t get_wasted_bits_(FLAC__int32 signal[], uint32_t samples)
{
- unsigned i, shift;
+ uint32_t i, shift;
FLAC__int32 x = 0;
for(i = 0; i < samples && !(x&1); i++)
@@ -4140,9 +4490,34 @@ unsigned get_wasted_bits_(FLAC__int32 signal[], unsigned samples)
return shift;
}
-void append_to_verify_fifo_(verify_input_fifo *fifo, const FLAC__int32 * const input[], unsigned input_offset, unsigned channels, unsigned wide_samples)
+uint32_t get_wasted_bits_wide_(FLAC__int64 signal_wide[], FLAC__int32 signal[], uint32_t samples)
{
- unsigned channel;
+ uint32_t i, shift;
+ FLAC__int64 x = 0;
+
+ for(i = 0; i < samples && !(x&1); i++)
+ x |= signal_wide[i];
+
+ if(x == 0) {
+ shift = 1;
+ }
+ else {
+ for(shift = 0; !(x&1); shift++)
+ x >>= 1;
+ }
+
+ if(shift > 0) {
+ for(i = 0; i < samples; i++)
+ signal[i] = (FLAC__int32)(signal_wide[i] >> shift);
+ }
+
+ return shift;
+}
+
+
+void append_to_verify_fifo_(verify_input_fifo *fifo, const FLAC__int32 * const input[], uint32_t input_offset, uint32_t channels, uint32_t wide_samples)
+{
+ uint32_t channel;
for(channel = 0; channel < channels; channel++)
memcpy(&fifo->data[channel][fifo->tail], &input[channel][input_offset], sizeof(FLAC__int32) * wide_samples);
@@ -4152,11 +4527,11 @@ void append_to_verify_fifo_(verify_input_fifo *fifo, const FLAC__int32 * const i
FLAC__ASSERT(fifo->tail <= fifo->size);
}
-void append_to_verify_fifo_interleaved_(verify_input_fifo *fifo, const FLAC__int32 input[], unsigned input_offset, unsigned channels, unsigned wide_samples)
+void append_to_verify_fifo_interleaved_(verify_input_fifo *fifo, const FLAC__int32 input[], uint32_t input_offset, uint32_t channels, uint32_t wide_samples)
{
- unsigned channel;
- unsigned sample, wide_sample;
- unsigned tail = fifo->tail;
+ uint32_t channel;
+ uint32_t sample, wide_sample;
+ uint32_t tail = fifo->tail;
sample = input_offset * channels;
for(wide_sample = 0; wide_sample < wide_samples; wide_sample++) {
@@ -4203,16 +4578,21 @@ FLAC__StreamDecoderReadStatus verify_read_callback_(const FLAC__StreamDecoder *d
FLAC__StreamDecoderWriteStatus verify_write_callback_(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data)
{
FLAC__StreamEncoder *encoder = (FLAC__StreamEncoder *)client_data;
- unsigned channel;
- const unsigned channels = frame->header.channels;
- const unsigned blocksize = frame->header.blocksize;
- const unsigned bytes_per_block = sizeof(FLAC__int32) * blocksize;
+ uint32_t channel;
+ const uint32_t channels = frame->header.channels;
+ const uint32_t blocksize = frame->header.blocksize;
+ const uint32_t bytes_per_block = sizeof(FLAC__int32) * blocksize;
(void)decoder;
+ if(encoder->protected_->state == FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR) {
+ /* This is set when verify_error_callback_ was called */
+ return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
+ }
+
for(channel = 0; channel < channels; channel++) {
if(0 != memcmp(buffer[channel], encoder->private_->verify.input_fifo.data[channel], bytes_per_block)) {
- unsigned i, sample = 0;
+ uint32_t i, sample = 0;
FLAC__int32 expect = 0, got = 0;
for(i = 0; i < blocksize; i++) {
@@ -4226,7 +4606,7 @@ FLAC__StreamDecoderWriteStatus verify_write_callback_(const FLAC__StreamDecoder
FLAC__ASSERT(i < blocksize);
FLAC__ASSERT(frame->header.number_type == FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER);
encoder->private_->verify.error_stats.absolute_sample = frame->header.number.sample_number + sample;
- encoder->private_->verify.error_stats.frame_number = (unsigned)(frame->header.number.sample_number / blocksize);
+ encoder->private_->verify.error_stats.frame_number = (uint32_t)(frame->header.number.sample_number / blocksize);
encoder->private_->verify.error_stats.channel = channel;
encoder->private_->verify.error_stats.sample = sample;
encoder->private_->verify.error_stats.expected = expect;
@@ -4273,7 +4653,7 @@ FLAC__StreamEncoderSeekStatus file_seek_callback_(const FLAC__StreamEncoder *enc
{
(void)client_data;
- if(fseeko(encoder->private_->file, (off_t)absolute_byte_offset, SEEK_SET) < 0)
+ if(fseeko(encoder->private_->file, (FLAC__off_t)absolute_byte_offset, SEEK_SET) < 0)
return FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR;
else
return FLAC__STREAM_ENCODER_SEEK_STATUS_OK;
@@ -4281,7 +4661,7 @@ FLAC__StreamEncoderSeekStatus file_seek_callback_(const FLAC__StreamEncoder *enc
FLAC__StreamEncoderTellStatus file_tell_callback_(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data)
{
- off_t offset;
+ FLAC__off_t offset;
(void)client_data;
@@ -4308,7 +4688,7 @@ static size_t local__fwrite(const void *ptr, size_t size, size_t nmemb, FILE *st
#define local__fwrite fwrite
#endif
-FLAC__StreamEncoderWriteStatus file_write_callback_(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data)
+FLAC__StreamEncoderWriteStatus file_write_callback_(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame, void *client_data)
{
(void)client_data, (void)current_frame;
@@ -4350,9 +4730,6 @@ FILE *get_binary_stdout_(void)
*/
#if defined _MSC_VER || defined __MINGW32__
_setmode(_fileno(stdout), _O_BINARY);
-#elif defined __CYGWIN__
- /* almost certainly not needed for any modern Cygwin, but let's be safe... */
- setmode(_fileno(stdout), _O_BINARY);
#elif defined __EMX__
setmode(fileno(stdout), O_BINARY);
#endif
diff --git a/3rdparty/libflac/src/libFLAC/stream_encoder_framing.c b/3rdparty/libflac/src/libFLAC/stream_encoder_framing.c
index 621b34c8228..0e07a317650 100644
--- a/3rdparty/libflac/src/libFLAC/stream_encoder_framing.c
+++ b/3rdparty/libflac/src/libFLAC/stream_encoder_framing.c
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -38,19 +39,18 @@
#include "private/stream_encoder_framing.h"
#include "private/crc.h"
#include "FLAC/assert.h"
-
-#ifdef max
-#undef max
-#endif
-#define max(x,y) ((x)>(y)?(x):(y))
+#include "share/compat.h"
static FLAC__bool add_entropy_coding_method_(FLAC__BitWriter *bw, const FLAC__EntropyCodingMethod *method);
-static FLAC__bool add_residual_partitioned_rice_(FLAC__BitWriter *bw, const FLAC__int32 residual[], const unsigned residual_samples, const unsigned predictor_order, const unsigned rice_parameters[], const unsigned raw_bits[], const unsigned partition_order, const FLAC__bool is_extended);
+static FLAC__bool add_residual_partitioned_rice_(FLAC__BitWriter *bw, const FLAC__int32 residual[], const uint32_t residual_samples, const uint32_t predictor_order, const uint32_t rice_parameters[], const uint32_t raw_bits[], const uint32_t partition_order, const FLAC__bool is_extended);
-FLAC__bool FLAC__add_metadata_block(const FLAC__StreamMetadata *metadata, FLAC__BitWriter *bw)
+FLAC__bool FLAC__add_metadata_block(const FLAC__StreamMetadata *metadata, FLAC__BitWriter *bw, FLAC__bool update_vendor_string)
{
- unsigned i, j;
- const unsigned vendor_string_length = (unsigned)strlen(FLAC__VENDOR_STRING);
+ uint32_t i, j, metadata_length;
+ const uint32_t vendor_string_length = (uint32_t)strlen(FLAC__VENDOR_STRING);
+ const uint32_t start_bits = FLAC__bitwriter_get_input_bits_unconsumed(bw);
+
+ FLAC__ASSERT(FLAC__bitwriter_is_byte_aligned(bw));
if(!FLAC__bitwriter_write_raw_uint32(bw, metadata->is_last, FLAC__STREAM_METADATA_IS_LAST_LEN))
return false;
@@ -61,14 +61,17 @@ FLAC__bool FLAC__add_metadata_block(const FLAC__StreamMetadata *metadata, FLAC__
/*
* First, for VORBIS_COMMENTs, adjust the length to reflect our vendor string
*/
- i = metadata->length;
- if(metadata->type == FLAC__METADATA_TYPE_VORBIS_COMMENT) {
+ metadata_length = metadata->length;
+ if(metadata->type == FLAC__METADATA_TYPE_VORBIS_COMMENT && update_vendor_string) {
FLAC__ASSERT(metadata->data.vorbis_comment.vendor_string.length == 0 || 0 != metadata->data.vorbis_comment.vendor_string.entry);
- i -= metadata->data.vorbis_comment.vendor_string.length;
- i += vendor_string_length;
+ metadata_length -= metadata->data.vorbis_comment.vendor_string.length;
+ metadata_length += vendor_string_length;
}
- FLAC__ASSERT(i < (1u << FLAC__STREAM_METADATA_LENGTH_LEN));
- if(!FLAC__bitwriter_write_raw_uint32(bw, i, FLAC__STREAM_METADATA_LENGTH_LEN))
+ FLAC__ASSERT(metadata_length < (1u << FLAC__STREAM_METADATA_LENGTH_LEN));
+ /* double protection */
+ if(metadata_length >= (1u << FLAC__STREAM_METADATA_LENGTH_LEN))
+ return false;
+ if(!FLAC__bitwriter_write_raw_uint32(bw, metadata_length, FLAC__STREAM_METADATA_LENGTH_LEN))
return false;
switch(metadata->type) {
@@ -96,8 +99,13 @@ FLAC__bool FLAC__add_metadata_block(const FLAC__StreamMetadata *metadata, FLAC__
FLAC__ASSERT(metadata->data.stream_info.bits_per_sample <= (1u << FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN));
if(!FLAC__bitwriter_write_raw_uint32(bw, metadata->data.stream_info.bits_per_sample-1, FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN))
return false;
- if(!FLAC__bitwriter_write_raw_uint64(bw, metadata->data.stream_info.total_samples, FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN))
- return false;
+ if(metadata->data.stream_info.total_samples >= (FLAC__U64L(1) << FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN)){
+ if(!FLAC__bitwriter_write_raw_uint64(bw, 0, FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN))
+ return false;
+ }else{
+ if(!FLAC__bitwriter_write_raw_uint64(bw, metadata->data.stream_info.total_samples, FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN))
+ return false;
+ }
if(!FLAC__bitwriter_write_byte_block(bw, metadata->data.stream_info.md5sum, 16))
return false;
break;
@@ -122,10 +130,18 @@ FLAC__bool FLAC__add_metadata_block(const FLAC__StreamMetadata *metadata, FLAC__
}
break;
case FLAC__METADATA_TYPE_VORBIS_COMMENT:
- if(!FLAC__bitwriter_write_raw_uint32_little_endian(bw, vendor_string_length))
- return false;
- if(!FLAC__bitwriter_write_byte_block(bw, (const FLAC__byte*)FLAC__VENDOR_STRING, vendor_string_length))
- return false;
+ if(update_vendor_string) {
+ if(!FLAC__bitwriter_write_raw_uint32_little_endian(bw, vendor_string_length))
+ return false;
+ if(!FLAC__bitwriter_write_byte_block(bw, (const FLAC__byte*)FLAC__VENDOR_STRING, vendor_string_length))
+ return false;
+ }
+ else {
+ if(!FLAC__bitwriter_write_raw_uint32_little_endian(bw, metadata->data.vorbis_comment.vendor_string.length))
+ return false;
+ if(!FLAC__bitwriter_write_byte_block(bw, metadata->data.vorbis_comment.vendor_string.entry, metadata->data.vorbis_comment.vendor_string.length))
+ return false;
+ }
if(!FLAC__bitwriter_write_raw_uint32_little_endian(bw, metadata->data.vorbis_comment.num_comments))
return false;
for(i = 0; i < metadata->data.vorbis_comment.num_comments; i++) {
@@ -166,11 +182,11 @@ FLAC__bool FLAC__add_metadata_block(const FLAC__StreamMetadata *metadata, FLAC__
if(!FLAC__bitwriter_write_raw_uint32(bw, track->num_indices, FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN))
return false;
for(j = 0; j < track->num_indices; j++) {
- const FLAC__StreamMetadata_CueSheet_Index *index = track->indices + j;
+ const FLAC__StreamMetadata_CueSheet_Index *indx = track->indices + j;
- if(!FLAC__bitwriter_write_raw_uint64(bw, index->offset, FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN))
+ if(!FLAC__bitwriter_write_raw_uint64(bw, indx->offset, FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN))
return false;
- if(!FLAC__bitwriter_write_raw_uint32(bw, index->number, FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN))
+ if(!FLAC__bitwriter_write_raw_uint32(bw, indx->number, FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN))
return false;
if(!FLAC__bitwriter_write_zeroes(bw, FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN))
return false;
@@ -212,13 +228,23 @@ FLAC__bool FLAC__add_metadata_block(const FLAC__StreamMetadata *metadata, FLAC__
break;
}
+ /* Now check whether metadata block length was correct */
+ {
+ uint32_t length_in_bits = FLAC__bitwriter_get_input_bits_unconsumed(bw);
+ if(length_in_bits < start_bits)
+ return false;
+ length_in_bits -= start_bits;
+ if(length_in_bits % 8 != 0 || length_in_bits != (metadata_length*8+32))
+ return false;
+ }
+
FLAC__ASSERT(FLAC__bitwriter_is_byte_aligned(bw));
return true;
}
FLAC__bool FLAC__frame_add_header(const FLAC__FrameHeader *header, FLAC__BitWriter *bw)
{
- unsigned u, blocksize_hint, sample_rate_hint;
+ uint32_t u, blocksize_hint, sample_rate_hint;
FLAC__byte crc;
FLAC__ASSERT(FLAC__bitwriter_is_byte_aligned(bw));
@@ -277,7 +303,7 @@ FLAC__bool FLAC__frame_add_header(const FLAC__FrameHeader *header, FLAC__BitWrit
default:
if(header->sample_rate <= 255000 && header->sample_rate % 1000 == 0)
sample_rate_hint = u = 12;
- else if(header->sample_rate % 10 == 0)
+ else if(header->sample_rate <= 655350 && header->sample_rate % 10 == 0)
sample_rate_hint = u = 14;
else if(header->sample_rate <= 0xffff)
sample_rate_hint = u = 13;
@@ -318,6 +344,7 @@ FLAC__bool FLAC__frame_add_header(const FLAC__FrameHeader *header, FLAC__BitWrit
case 16: u = 4; break;
case 20: u = 5; break;
case 24: u = 6; break;
+ case 32: u = 7; break;
default: u = 0; break;
}
if(!FLAC__bitwriter_write_raw_uint32(bw, u, FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN))
@@ -363,22 +390,22 @@ FLAC__bool FLAC__frame_add_header(const FLAC__FrameHeader *header, FLAC__BitWrit
return true;
}
-FLAC__bool FLAC__subframe_add_constant(const FLAC__Subframe_Constant *subframe, unsigned subframe_bps, unsigned wasted_bits, FLAC__BitWriter *bw)
+FLAC__bool FLAC__subframe_add_constant(const FLAC__Subframe_Constant *subframe, uint32_t subframe_bps, uint32_t wasted_bits, FLAC__BitWriter *bw)
{
FLAC__bool ok;
ok =
FLAC__bitwriter_write_raw_uint32(bw, FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK | (wasted_bits? 1:0), FLAC__SUBFRAME_ZERO_PAD_LEN + FLAC__SUBFRAME_TYPE_LEN + FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN) &&
(wasted_bits? FLAC__bitwriter_write_unary_unsigned(bw, wasted_bits-1) : true) &&
- FLAC__bitwriter_write_raw_int32(bw, subframe->value, subframe_bps)
+ FLAC__bitwriter_write_raw_int64(bw, subframe->value, subframe_bps)
;
return ok;
}
-FLAC__bool FLAC__subframe_add_fixed(const FLAC__Subframe_Fixed *subframe, unsigned residual_samples, unsigned subframe_bps, unsigned wasted_bits, FLAC__BitWriter *bw)
+FLAC__bool FLAC__subframe_add_fixed(const FLAC__Subframe_Fixed *subframe, uint32_t residual_samples, uint32_t subframe_bps, uint32_t wasted_bits, FLAC__BitWriter *bw)
{
- unsigned i;
+ uint32_t i;
if(!FLAC__bitwriter_write_raw_uint32(bw, FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK | (subframe->order<<1) | (wasted_bits? 1:0), FLAC__SUBFRAME_ZERO_PAD_LEN + FLAC__SUBFRAME_TYPE_LEN + FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN))
return false;
@@ -387,7 +414,7 @@ FLAC__bool FLAC__subframe_add_fixed(const FLAC__Subframe_Fixed *subframe, unsign
return false;
for(i = 0; i < subframe->order; i++)
- if(!FLAC__bitwriter_write_raw_int32(bw, subframe->warmup[i], subframe_bps))
+ if(!FLAC__bitwriter_write_raw_int64(bw, subframe->warmup[i], subframe_bps))
return false;
if(!add_entropy_coding_method_(bw, &subframe->entropy_coding_method))
@@ -414,9 +441,9 @@ FLAC__bool FLAC__subframe_add_fixed(const FLAC__Subframe_Fixed *subframe, unsign
return true;
}
-FLAC__bool FLAC__subframe_add_lpc(const FLAC__Subframe_LPC *subframe, unsigned residual_samples, unsigned subframe_bps, unsigned wasted_bits, FLAC__BitWriter *bw)
+FLAC__bool FLAC__subframe_add_lpc(const FLAC__Subframe_LPC *subframe, uint32_t residual_samples, uint32_t subframe_bps, uint32_t wasted_bits, FLAC__BitWriter *bw)
{
- unsigned i;
+ uint32_t i;
if(!FLAC__bitwriter_write_raw_uint32(bw, FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK | ((subframe->order-1)<<1) | (wasted_bits? 1:0), FLAC__SUBFRAME_ZERO_PAD_LEN + FLAC__SUBFRAME_TYPE_LEN + FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN))
return false;
@@ -425,7 +452,7 @@ FLAC__bool FLAC__subframe_add_lpc(const FLAC__Subframe_LPC *subframe, unsigned r
return false;
for(i = 0; i < subframe->order; i++)
- if(!FLAC__bitwriter_write_raw_int32(bw, subframe->warmup[i], subframe_bps))
+ if(!FLAC__bitwriter_write_raw_int64(bw, subframe->warmup[i], subframe_bps))
return false;
if(!FLAC__bitwriter_write_raw_uint32(bw, subframe->qlp_coeff_precision-1, FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN))
@@ -460,10 +487,9 @@ FLAC__bool FLAC__subframe_add_lpc(const FLAC__Subframe_LPC *subframe, unsigned r
return true;
}
-FLAC__bool FLAC__subframe_add_verbatim(const FLAC__Subframe_Verbatim *subframe, unsigned samples, unsigned subframe_bps, unsigned wasted_bits, FLAC__BitWriter *bw)
+FLAC__bool FLAC__subframe_add_verbatim(const FLAC__Subframe_Verbatim *subframe, uint32_t samples, uint32_t subframe_bps, uint32_t wasted_bits, FLAC__BitWriter *bw)
{
- unsigned i;
- const FLAC__int32 *signal = subframe->data;
+ uint32_t i;
if(!FLAC__bitwriter_write_raw_uint32(bw, FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK | (wasted_bits? 1:0), FLAC__SUBFRAME_ZERO_PAD_LEN + FLAC__SUBFRAME_TYPE_LEN + FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN))
return false;
@@ -471,9 +497,24 @@ FLAC__bool FLAC__subframe_add_verbatim(const FLAC__Subframe_Verbatim *subframe,
if(!FLAC__bitwriter_write_unary_unsigned(bw, wasted_bits-1))
return false;
- for(i = 0; i < samples; i++)
- if(!FLAC__bitwriter_write_raw_int32(bw, signal[i], subframe_bps))
- return false;
+ if(subframe->data_type == FLAC__VERBATIM_SUBFRAME_DATA_TYPE_INT32) {
+ const FLAC__int32 *signal = subframe->data.int32;
+
+ FLAC__ASSERT(subframe_bps < 33);
+
+ for(i = 0; i < samples; i++)
+ if(!FLAC__bitwriter_write_raw_int32(bw, signal[i], subframe_bps))
+ return false;
+ }
+ else {
+ const FLAC__int64 *signal = subframe->data.int64;
+
+ FLAC__ASSERT(subframe_bps == 33);
+
+ for(i = 0; i < samples; i++)
+ if(!FLAC__bitwriter_write_raw_int64(bw, (FLAC__int64)signal[i], subframe_bps))
+ return false;
+ }
return true;
}
@@ -494,13 +535,13 @@ FLAC__bool add_entropy_coding_method_(FLAC__BitWriter *bw, const FLAC__EntropyCo
return true;
}
-FLAC__bool add_residual_partitioned_rice_(FLAC__BitWriter *bw, const FLAC__int32 residual[], const unsigned residual_samples, const unsigned predictor_order, const unsigned rice_parameters[], const unsigned raw_bits[], const unsigned partition_order, const FLAC__bool is_extended)
+FLAC__bool add_residual_partitioned_rice_(FLAC__BitWriter *bw, const FLAC__int32 residual[], const uint32_t residual_samples, const uint32_t predictor_order, const uint32_t rice_parameters[], const uint32_t raw_bits[], const uint32_t partition_order, const FLAC__bool is_extended)
{
- const unsigned plen = is_extended? FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN : FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN;
- const unsigned pesc = is_extended? FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER : FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER;
+ const uint32_t plen = is_extended? FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN : FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN;
+ const uint32_t pesc = is_extended? FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER : FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER;
if(partition_order == 0) {
- unsigned i;
+ uint32_t i;
if(raw_bits[0] == 0) {
if(!FLAC__bitwriter_write_raw_uint32(bw, rice_parameters[0], plen))
@@ -522,9 +563,9 @@ FLAC__bool add_residual_partitioned_rice_(FLAC__BitWriter *bw, const FLAC__int32
return true;
}
else {
- unsigned i, j, k = 0, k_last = 0;
- unsigned partition_samples;
- const unsigned default_partition_samples = (residual_samples+predictor_order) >> partition_order;
+ uint32_t i, j, k = 0, k_last = 0;
+ uint32_t partition_samples;
+ const uint32_t default_partition_samples = (residual_samples+predictor_order) >> partition_order;
for(i = 0; i < (1u<<partition_order); i++) {
partition_samples = default_partition_samples;
if(i == 0)
diff --git a/3rdparty/libflac/src/libFLAC/stream_encoder_intrin_avx2.c b/3rdparty/libflac/src/libFLAC/stream_encoder_intrin_avx2.c
new file mode 100644
index 00000000000..b37efb388f9
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC/stream_encoder_intrin_avx2.c
@@ -0,0 +1,146 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "private/cpu.h"
+
+#ifndef FLAC__NO_ASM
+#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN
+#include "private/stream_encoder.h"
+#include "private/bitmath.h"
+#ifdef FLAC__AVX2_SUPPORTED
+
+#include <stdlib.h> /* for abs() */
+#include <immintrin.h> /* AVX2 */
+#include "FLAC/assert.h"
+
+FLAC__SSE_TARGET("avx2")
+void FLAC__precompute_partition_info_sums_intrin_avx2(const FLAC__int32 residual[], FLAC__uint64 abs_residual_partition_sums[],
+ uint32_t residual_samples, uint32_t predictor_order, uint32_t min_partition_order, uint32_t max_partition_order, uint32_t bps)
+{
+ const uint32_t default_partition_samples = (residual_samples + predictor_order) >> max_partition_order;
+ uint32_t partitions = 1u << max_partition_order;
+
+ FLAC__ASSERT(default_partition_samples > predictor_order);
+
+ /* first do max_partition_order */
+ {
+ const uint32_t threshold = 32 - FLAC__bitmath_ilog2(default_partition_samples);
+ uint32_t partition, residual_sample, end = (uint32_t)(-(int32_t)predictor_order);
+
+ if(bps + FLAC__MAX_EXTRA_RESIDUAL_BPS < threshold) {
+ for(partition = residual_sample = 0; partition < partitions; partition++) {
+ __m256i sum256 = _mm256_setzero_si256();
+ __m128i sum128;
+ end += default_partition_samples;
+
+ for( ; (int)residual_sample < (int)end-7; residual_sample+=8) {
+ __m256i res256 = _mm256_abs_epi32(_mm256_loadu_si256((const __m256i*)(const void*)(residual+residual_sample)));
+ sum256 = _mm256_add_epi32(sum256, res256);
+ }
+
+ sum128 = _mm_add_epi32(_mm256_extracti128_si256(sum256, 1), _mm256_castsi256_si128(sum256));
+
+ for( ; (int)residual_sample < (int)end-3; residual_sample+=4) {
+ __m128i res128 = _mm_abs_epi32(_mm_loadu_si128((const __m128i*)(const void*)(residual+residual_sample)));
+ sum128 = _mm_add_epi32(sum128, res128);
+ }
+
+ for( ; residual_sample < end; residual_sample++) {
+ __m128i res128 = _mm_abs_epi32(_mm_cvtsi32_si128(residual[residual_sample]));
+ sum128 = _mm_add_epi32(sum128, res128);
+ }
+
+ sum128 = _mm_add_epi32(sum128, _mm_shuffle_epi32(sum128, _MM_SHUFFLE(1,0,3,2)));
+ sum128 = _mm_add_epi32(sum128, _mm_shufflelo_epi16(sum128, _MM_SHUFFLE(1,0,3,2)));
+ abs_residual_partition_sums[partition] = (FLAC__uint32)_mm_cvtsi128_si32(sum128);
+/* workaround for MSVC bugs (at least versions 2015 and 2017 are affected) */
+#if (defined _MSC_VER) && (defined FLAC__CPU_X86_64)
+ abs_residual_partition_sums[partition] &= 0xFFFFFFFF; /**/
+#endif
+ }
+ }
+ else { /* have to pessimistically use 64 bits for accumulator */
+ for(partition = residual_sample = 0; partition < partitions; partition++) {
+ __m256i sum256 = _mm256_setzero_si256();
+ __m128i sum128;
+ end += default_partition_samples;
+
+ for( ; (int)residual_sample < (int)end-3; residual_sample+=4) {
+ __m128i res128 = _mm_abs_epi32(_mm_loadu_si128((const __m128i*)(const void*)(residual+residual_sample)));
+ __m256i res256 = _mm256_cvtepu32_epi64(res128);
+ sum256 = _mm256_add_epi64(sum256, res256);
+ }
+
+ sum128 = _mm_add_epi64(_mm256_extracti128_si256(sum256, 1), _mm256_castsi256_si128(sum256));
+
+ for( ; (int)residual_sample < (int)end-1; residual_sample+=2) {
+ __m128i res128 = _mm_abs_epi32(_mm_loadl_epi64((const __m128i*)(const void*)(residual+residual_sample)));
+ res128 = _mm_cvtepu32_epi64(res128);
+ sum128 = _mm_add_epi64(sum128, res128);
+ }
+
+ for( ; residual_sample < end; residual_sample++) {
+ __m128i res128 = _mm_abs_epi32(_mm_cvtsi32_si128(residual[residual_sample]));
+ sum128 = _mm_add_epi64(sum128, res128);
+ }
+
+ sum128 = _mm_add_epi64(sum128, _mm_srli_si128(sum128, 8));
+ _mm_storel_epi64((__m128i*)(void*)(abs_residual_partition_sums+partition), sum128);
+ }
+ }
+ }
+
+ /* now merge partitions for lower orders */
+ {
+ uint32_t from_partition = 0, to_partition = partitions;
+ int partition_order;
+ for(partition_order = (int)max_partition_order - 1; partition_order >= (int)min_partition_order; partition_order--) {
+ uint32_t i;
+ partitions >>= 1;
+ for(i = 0; i < partitions; i++) {
+ abs_residual_partition_sums[to_partition++] =
+ abs_residual_partition_sums[from_partition ] +
+ abs_residual_partition_sums[from_partition+1];
+ from_partition += 2;
+ }
+ }
+ }
+ _mm256_zeroupper();
+}
+
+#endif /* FLAC__AVX2_SUPPORTED */
+#endif /* (FLAC__CPU_IA32 || FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN */
+#endif /* FLAC__NO_ASM */
diff --git a/3rdparty/libflac/src/libFLAC/stream_encoder_intrin_sse2.c b/3rdparty/libflac/src/libFLAC/stream_encoder_intrin_sse2.c
new file mode 100644
index 00000000000..dd25fa65bc5
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC/stream_encoder_intrin_sse2.c
@@ -0,0 +1,159 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "private/cpu.h"
+
+#ifndef FLAC__NO_ASM
+#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN
+#include "private/stream_encoder.h"
+#include "private/bitmath.h"
+#ifdef FLAC__SSE2_SUPPORTED
+
+#include <stdlib.h> /* for abs() */
+#include <emmintrin.h> /* SSE2 */
+#include "FLAC/assert.h"
+#include "share/compat.h"
+
+FLAC__SSE_TARGET("sse2")
+static inline __m128i local_abs_epi32(__m128i val)
+{
+ __m128i mask = _mm_srai_epi32(val, 31);
+ val = _mm_xor_si128(val, mask);
+ val = _mm_sub_epi32(val, mask);
+ return val;
+}
+
+
+FLAC__SSE_TARGET("sse2")
+void FLAC__precompute_partition_info_sums_intrin_sse2(const FLAC__int32 residual[], FLAC__uint64 abs_residual_partition_sums[],
+ uint32_t residual_samples, uint32_t predictor_order, uint32_t min_partition_order, uint32_t max_partition_order, uint32_t bps)
+{
+ const uint32_t default_partition_samples = (residual_samples + predictor_order) >> max_partition_order;
+ uint32_t partitions = 1u << max_partition_order;
+
+ FLAC__ASSERT(default_partition_samples > predictor_order);
+
+ /* first do max_partition_order */
+ {
+ const uint32_t threshold = 32 - FLAC__bitmath_ilog2(default_partition_samples);
+ uint32_t partition, residual_sample, end = (uint32_t)(-(int32_t)predictor_order);
+
+ if(bps + FLAC__MAX_EXTRA_RESIDUAL_BPS < threshold) {
+ for(partition = residual_sample = 0; partition < partitions; partition++) {
+ __m128i mm_sum = _mm_setzero_si128();
+ uint32_t e1, e3;
+ end += default_partition_samples;
+
+ e1 = (residual_sample + 3) & ~3; e3 = end & ~3;
+ if(e1 > end)
+ e1 = end; /* try flac -l 1 -b 16 and you'll be here */
+
+ /* assumption: residual[] is properly aligned so (residual + e1) is properly aligned too and _mm_loadu_si128() is fast */
+ for( ; residual_sample < e1; residual_sample++) {
+ __m128i mm_res = local_abs_epi32(_mm_cvtsi32_si128(residual[residual_sample]));
+ mm_sum = _mm_add_epi32(mm_sum, mm_res);
+ }
+
+ for( ; residual_sample < e3; residual_sample+=4) {
+ __m128i mm_res = local_abs_epi32(_mm_loadu_si128((const __m128i*)(const void*)(residual+residual_sample)));
+ mm_sum = _mm_add_epi32(mm_sum, mm_res);
+ }
+
+ for( ; residual_sample < end; residual_sample++) {
+ __m128i mm_res = local_abs_epi32(_mm_cvtsi32_si128(residual[residual_sample]));
+ mm_sum = _mm_add_epi32(mm_sum, mm_res);
+ }
+
+ mm_sum = _mm_add_epi32(mm_sum, _mm_shuffle_epi32(mm_sum, _MM_SHUFFLE(1,0,3,2)));
+ mm_sum = _mm_add_epi32(mm_sum, _mm_shufflelo_epi16(mm_sum, _MM_SHUFFLE(1,0,3,2)));
+ abs_residual_partition_sums[partition] = (FLAC__uint32)_mm_cvtsi128_si32(mm_sum);
+/* workaround for MSVC bugs (at least versions 2015 and 2017 are affected) */
+#if (defined _MSC_VER) && (defined FLAC__CPU_X86_64)
+ abs_residual_partition_sums[partition] &= 0xFFFFFFFF;
+#endif
+ }
+ }
+ else { /* have to pessimistically use 64 bits for accumulator */
+ for(partition = residual_sample = 0; partition < partitions; partition++) {
+ __m128i mm_sum = _mm_setzero_si128();
+ uint32_t e1, e3;
+ end += default_partition_samples;
+
+ e1 = (residual_sample + 1) & ~1; e3 = end & ~1;
+ FLAC__ASSERT(e1 <= end);
+
+ for( ; residual_sample < e1; residual_sample++) {
+ __m128i mm_res = local_abs_epi32(_mm_cvtsi32_si128(residual[residual_sample])); /* 0 0 0 |r0| == 00 |r0_64| */
+ mm_sum = _mm_add_epi64(mm_sum, mm_res);
+ }
+
+ for( ; residual_sample < e3; residual_sample+=2) {
+ __m128i mm_res = local_abs_epi32(_mm_loadl_epi64((const __m128i*)(const void*)(residual+residual_sample))); /* 0 0 |r1| |r0| */
+ mm_res = _mm_shuffle_epi32(mm_res, _MM_SHUFFLE(3,1,2,0)); /* 0 |r1| 0 |r0| == |r1_64| |r0_64| */
+ mm_sum = _mm_add_epi64(mm_sum, mm_res);
+ }
+
+ for( ; residual_sample < end; residual_sample++) {
+ __m128i mm_res = local_abs_epi32(_mm_cvtsi32_si128(residual[residual_sample]));
+ mm_sum = _mm_add_epi64(mm_sum, mm_res);
+ }
+
+ mm_sum = _mm_add_epi64(mm_sum, _mm_srli_si128(mm_sum, 8));
+ _mm_storel_epi64((__m128i*)(void*)(abs_residual_partition_sums+partition), mm_sum);
+ }
+ }
+ }
+
+ /* now merge partitions for lower orders */
+ {
+ uint32_t from_partition = 0, to_partition = partitions;
+ int partition_order;
+ for(partition_order = (int)max_partition_order - 1; partition_order >= (int)min_partition_order; partition_order--) {
+ uint32_t i;
+ partitions >>= 1;
+ for(i = 0; i < partitions; i++) {
+ abs_residual_partition_sums[to_partition++] =
+ abs_residual_partition_sums[from_partition ] +
+ abs_residual_partition_sums[from_partition+1];
+ from_partition += 2;
+ }
+ }
+ }
+}
+
+#endif /* FLAC__SSE2_SUPPORTED */
+#endif /* (FLAC__CPU_IA32 || FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN */
+#endif /* FLAC__NO_ASM */
diff --git a/3rdparty/libflac/src/libFLAC/stream_encoder_intrin_ssse3.c b/3rdparty/libflac/src/libFLAC/stream_encoder_intrin_ssse3.c
new file mode 100644
index 00000000000..241f723a6ba
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC/stream_encoder_intrin_ssse3.c
@@ -0,0 +1,148 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "private/cpu.h"
+
+#ifndef FLAC__NO_ASM
+#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN
+#include "private/stream_encoder.h"
+#include "private/bitmath.h"
+#ifdef FLAC__SSSE3_SUPPORTED
+
+#include <stdlib.h> /* for abs() */
+#include <tmmintrin.h> /* SSSE3 */
+#include "FLAC/assert.h"
+
+FLAC__SSE_TARGET("ssse3")
+void FLAC__precompute_partition_info_sums_intrin_ssse3(const FLAC__int32 residual[], FLAC__uint64 abs_residual_partition_sums[],
+ uint32_t residual_samples, uint32_t predictor_order, uint32_t min_partition_order, uint32_t max_partition_order, uint32_t bps)
+{
+ const uint32_t default_partition_samples = (residual_samples + predictor_order) >> max_partition_order;
+ uint32_t partitions = 1u << max_partition_order;
+
+ FLAC__ASSERT(default_partition_samples > predictor_order);
+
+ /* first do max_partition_order */
+ {
+ const uint32_t threshold = 32 - FLAC__bitmath_ilog2(default_partition_samples);
+ uint32_t partition, residual_sample, end = (uint32_t)(-(int32_t)predictor_order);
+
+ if(bps + FLAC__MAX_EXTRA_RESIDUAL_BPS < threshold) {
+ for(partition = residual_sample = 0; partition < partitions; partition++) {
+ __m128i mm_sum = _mm_setzero_si128();
+ uint32_t e1, e3;
+ end += default_partition_samples;
+
+ e1 = (residual_sample + 3) & ~3; e3 = end & ~3;
+ if(e1 > end)
+ e1 = end; /* try flac -l 1 -b 16 and you'll be here */
+
+ /* assumption: residual[] is properly aligned so (residual + e1) is properly aligned too and _mm_loadu_si128() is fast */
+ for( ; residual_sample < e1; residual_sample++) {
+ __m128i mm_res = _mm_abs_epi32(_mm_cvtsi32_si128(residual[residual_sample]));
+ mm_sum = _mm_add_epi32(mm_sum, mm_res);
+ }
+
+ for( ; residual_sample < e3; residual_sample+=4) {
+ __m128i mm_res = _mm_abs_epi32(_mm_loadu_si128((const __m128i*)(const void*)(residual+residual_sample)));
+ mm_sum = _mm_add_epi32(mm_sum, mm_res);
+ }
+
+ for( ; residual_sample < end; residual_sample++) {
+ __m128i mm_res = _mm_abs_epi32(_mm_cvtsi32_si128(residual[residual_sample]));
+ mm_sum = _mm_add_epi32(mm_sum, mm_res);
+ }
+
+ mm_sum = _mm_add_epi32(mm_sum, _mm_shuffle_epi32(mm_sum, _MM_SHUFFLE(1,0,3,2)));
+ mm_sum = _mm_add_epi32(mm_sum, _mm_shufflelo_epi16(mm_sum, _MM_SHUFFLE(1,0,3,2)));
+ abs_residual_partition_sums[partition] = (FLAC__uint32)_mm_cvtsi128_si32(mm_sum);
+/* workaround for MSVC bugs (at least versions 2015 and 2017 are affected) */
+#if (defined _MSC_VER) && (defined FLAC__CPU_X86_64)
+ abs_residual_partition_sums[partition] &= 0xFFFFFFFF;
+#endif
+ }
+ }
+ else { /* have to pessimistically use 64 bits for accumulator */
+ for(partition = residual_sample = 0; partition < partitions; partition++) {
+ __m128i mm_sum = _mm_setzero_si128();
+ uint32_t e1, e3;
+ end += default_partition_samples;
+
+ e1 = (residual_sample + 1) & ~1; e3 = end & ~1;
+ FLAC__ASSERT(e1 <= end);
+
+ for( ; residual_sample < e1; residual_sample++) {
+ __m128i mm_res = _mm_abs_epi32(_mm_cvtsi32_si128(residual[residual_sample])); /* 0 0 0 |r0| == 00 |r0_64| */
+ mm_sum = _mm_add_epi64(mm_sum, mm_res);
+ }
+
+ for( ; residual_sample < e3; residual_sample+=2) {
+ __m128i mm_res = _mm_abs_epi32(_mm_loadl_epi64((const __m128i*)(const void*)(residual+residual_sample))); /* 0 0 |r1| |r0| */
+ mm_res = _mm_shuffle_epi32(mm_res, _MM_SHUFFLE(3,1,2,0)); /* 0 |r1| 0 |r0| == |r1_64| |r0_64| */
+ mm_sum = _mm_add_epi64(mm_sum, mm_res);
+ }
+
+ for( ; residual_sample < end; residual_sample++) {
+ __m128i mm_res = _mm_abs_epi32(_mm_cvtsi32_si128(residual[residual_sample]));
+ mm_sum = _mm_add_epi64(mm_sum, mm_res);
+ }
+
+ mm_sum = _mm_add_epi64(mm_sum, _mm_srli_si128(mm_sum, 8));
+ _mm_storel_epi64((__m128i*)(void*)(abs_residual_partition_sums+partition), mm_sum);
+ }
+ }
+ }
+
+ /* now merge partitions for lower orders */
+ {
+ uint32_t from_partition = 0, to_partition = partitions;
+ int partition_order;
+ for(partition_order = (int)max_partition_order - 1; partition_order >= (int)min_partition_order; partition_order--) {
+ uint32_t i;
+ partitions >>= 1;
+ for(i = 0; i < partitions; i++) {
+ abs_residual_partition_sums[to_partition++] =
+ abs_residual_partition_sums[from_partition ] +
+ abs_residual_partition_sums[from_partition+1];
+ from_partition += 2;
+ }
+ }
+ }
+}
+
+#endif /* FLAC__SSSE3_SUPPORTED */
+#endif /* (FLAC__CPU_IA32 || FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN */
+#endif /* FLAC__NO_ASM */
diff --git a/3rdparty/libflac/src/libFLAC/version.rc b/3rdparty/libflac/src/libFLAC/version.rc
new file mode 100644
index 00000000000..019da1dd25e
--- /dev/null
+++ b/3rdparty/libflac/src/libFLAC/version.rc
@@ -0,0 +1,40 @@
+#include <winver.h>
+#include "config.h"
+#include "FLAC/export.h"
+
+#if (defined GIT_COMMIT_HASH && defined GIT_COMMIT_DATE)
+# ifdef GIT_COMMIT_TAG
+# define VERSIONSTRING GIT_COMMIT_TAG
+# else
+# define VERSIONSTRING "git-" GIT_COMMIT_HASH
+# endif
+#else
+# define VERSIONSTRING PACKAGE_VERSION
+#endif
+
+#define xstr(s) str(s)
+#define str(s) #s
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION FLAC_API_VERSION_CURRENT,FLAC_API_VERSION_REVISION,0,0
+FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
+FILEFLAGS 0
+FILEOS VOS__WINDOWS32
+FILETYPE VFT_DLL
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "FileDescription", "libFLAC for Windows"
+ VALUE "ProductName", "Free Lossless Audio Codec"
+ VALUE "ProductVersion", VERSIONSTRING
+ VALUE "CompanyName", "Xiph.Org"
+ VALUE "LegalCopyright", "2000-2009 Josh Coalson, 2011-2023 Xiph.Org Foundation"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
diff --git a/3rdparty/libflac/src/libFLAC/window.c b/3rdparty/libflac/src/libFLAC/window.c
index b35c72efeac..69d5464afef 100644
--- a/3rdparty/libflac/src/libFLAC/window.c
+++ b/3rdparty/libflac/src/libFLAC/window.c
@@ -1,5 +1,6 @@
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2006,2007 Josh Coalson
+ * Copyright (C) 2006-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -34,18 +35,18 @@
#endif
#include <math.h>
+#include "share/compat.h"
#include "FLAC/assert.h"
#include "FLAC/format.h"
#include "private/window.h"
#ifndef FLAC__INTEGER_ONLY_LIBRARY
-#ifndef M_PI
-/* math.h in VC++ doesn't seem to have this (how Microsoft is that?) */
-#define M_PI 3.14159265358979323846
+#if defined(_MSC_VER)
+// silence 25 MSVC warnings 'conversion from 'double' to 'float', possible loss of data'
+#pragma warning ( disable : 4244 )
#endif
-
void FLAC__window_bartlett(FLAC__real *window, const FLAC__int32 L)
{
const FLAC__int32 N = L - 1;
@@ -61,7 +62,7 @@ void FLAC__window_bartlett(FLAC__real *window, const FLAC__int32 L)
for (n = 0; n <= L/2-1; n++)
window[n] = 2.0f * n / (float)N;
for (; n <= N; n++)
- window[n] = 2.0f - 2.0f * (N-n) / (float)N;
+ window[n] = 2.0f - 2.0f * n / (float)N;
}
}
@@ -71,7 +72,7 @@ void FLAC__window_bartlett_hann(FLAC__real *window, const FLAC__int32 L)
FLAC__int32 n;
for (n = 0; n < L; n++)
- window[n] = (FLAC__real)(0.62f - 0.48f * fabs((float)n/(float)N+0.5f) + 0.38f * cos(2.0f * M_PI * ((float)n/(float)N+0.5f)));
+ window[n] = (FLAC__real)(0.62f - 0.48f * fabsf((float)n/(float)N-0.5f) - 0.38f * cosf(2.0f * M_PI * ((float)n/(float)N)));
}
void FLAC__window_blackman(FLAC__real *window, const FLAC__int32 L)
@@ -80,7 +81,7 @@ void FLAC__window_blackman(FLAC__real *window, const FLAC__int32 L)
FLAC__int32 n;
for (n = 0; n < L; n++)
- window[n] = (FLAC__real)(0.42f - 0.5f * cos(2.0f * M_PI * n / N) + 0.08f * cos(4.0f * M_PI * n / N));
+ window[n] = (FLAC__real)(0.42f - 0.5f * cosf(2.0f * M_PI * n / N) + 0.08f * cosf(4.0f * M_PI * n / N));
}
/* 4-term -92dB side-lobe */
@@ -90,7 +91,7 @@ void FLAC__window_blackman_harris_4term_92db_sidelobe(FLAC__real *window, const
FLAC__int32 n;
for (n = 0; n <= N; n++)
- window[n] = (FLAC__real)(0.35875f - 0.48829f * cos(2.0f * M_PI * n / N) + 0.14128f * cos(4.0f * M_PI * n / N) - 0.01168f * cos(6.0f * M_PI * n / N));
+ window[n] = (FLAC__real)(0.35875f - 0.48829f * cosf(2.0f * M_PI * n / N) + 0.14128f * cosf(4.0f * M_PI * n / N) - 0.01168f * cosf(6.0f * M_PI * n / N));
}
void FLAC__window_connes(FLAC__real *window, const FLAC__int32 L)
@@ -112,7 +113,7 @@ void FLAC__window_flattop(FLAC__real *window, const FLAC__int32 L)
FLAC__int32 n;
for (n = 0; n < L; n++)
- window[n] = (FLAC__real)(1.0f - 1.93f * cos(2.0f * M_PI * n / N) + 1.29f * cos(4.0f * M_PI * n / N) - 0.388f * cos(6.0f * M_PI * n / N) + 0.0322f * cos(8.0f * M_PI * n / N));
+ window[n] = (FLAC__real)(0.21557895f - 0.41663158f * cosf(2.0f * M_PI * n / N) + 0.277263158f * cosf(4.0f * M_PI * n / N) - 0.083578947f * cosf(6.0f * M_PI * n / N) + 0.006947368f * cosf(8.0f * M_PI * n / N));
}
void FLAC__window_gauss(FLAC__real *window, const FLAC__int32 L, const FLAC__real stddev)
@@ -121,9 +122,15 @@ void FLAC__window_gauss(FLAC__real *window, const FLAC__int32 L, const FLAC__rea
const double N2 = (double)N / 2.;
FLAC__int32 n;
- for (n = 0; n <= N; n++) {
- const double k = ((double)n - N2) / (stddev * N2);
- window[n] = (FLAC__real)exp(-0.5f * k * k);
+ if(!(stddev > 0.0f && stddev <= 0.5f))
+ /* stddev is not between 0 and 0.5, might be NaN.
+ * Default to 0.5 */
+ FLAC__window_gauss(window, L, 0.25f);
+ else {
+ for (n = 0; n <= N; n++) {
+ const double k = ((double)n - N2) / (stddev * N2);
+ window[n] = (FLAC__real)exp(-0.5f * k * k);
+ }
}
}
@@ -133,7 +140,7 @@ void FLAC__window_hamming(FLAC__real *window, const FLAC__int32 L)
FLAC__int32 n;
for (n = 0; n < L; n++)
- window[n] = (FLAC__real)(0.54f - 0.46f * cos(2.0f * M_PI * n / N));
+ window[n] = (FLAC__real)(0.54f - 0.46f * cosf(2.0f * M_PI * n / N));
}
void FLAC__window_hann(FLAC__real *window, const FLAC__int32 L)
@@ -142,7 +149,7 @@ void FLAC__window_hann(FLAC__real *window, const FLAC__int32 L)
FLAC__int32 n;
for (n = 0; n < L; n++)
- window[n] = (FLAC__real)(0.5f - 0.5f * cos(2.0f * M_PI * n / N));
+ window[n] = (FLAC__real)(0.5f - 0.5f * cosf(2.0f * M_PI * n / N));
}
void FLAC__window_kaiser_bessel(FLAC__real *window, const FLAC__int32 L)
@@ -151,7 +158,7 @@ void FLAC__window_kaiser_bessel(FLAC__real *window, const FLAC__int32 L)
FLAC__int32 n;
for (n = 0; n < L; n++)
- window[n] = (FLAC__real)(0.402f - 0.498f * cos(2.0f * M_PI * n / N) + 0.098f * cos(4.0f * M_PI * n / N) - 0.001f * cos(6.0f * M_PI * n / N));
+ window[n] = (FLAC__real)(0.402f - 0.498f * cosf(2.0f * M_PI * n / N) + 0.098f * cosf(4.0f * M_PI * n / N) - 0.001f * cosf(6.0f * M_PI * n / N));
}
void FLAC__window_nuttall(FLAC__real *window, const FLAC__int32 L)
@@ -160,7 +167,7 @@ void FLAC__window_nuttall(FLAC__real *window, const FLAC__int32 L)
FLAC__int32 n;
for (n = 0; n < L; n++)
- window[n] = (FLAC__real)(0.3635819f - 0.4891775f*cos(2.0f*M_PI*n/N) + 0.1365995f*cos(4.0f*M_PI*n/N) - 0.0106411f*cos(6.0f*M_PI*n/N));
+ window[n] = (FLAC__real)(0.3635819f - 0.4891775f*cosf(2.0f*M_PI*n/N) + 0.1365995f*cosf(4.0f*M_PI*n/N) - 0.0106411f*cosf(6.0f*M_PI*n/N));
}
void FLAC__window_rectangle(FLAC__real *window, const FLAC__int32 L)
@@ -176,16 +183,16 @@ void FLAC__window_triangle(FLAC__real *window, const FLAC__int32 L)
FLAC__int32 n;
if (L & 1) {
- for (n = 1; n <= L+1/2; n++)
+ for (n = 1; n <= (L+1)/2; n++)
window[n-1] = 2.0f * n / ((float)L + 1.0f);
for (; n <= L; n++)
- window[n-1] = - (float)(2 * (L - n + 1)) / ((float)L + 1.0f);
+ window[n-1] = (float)(2 * (L - n + 1)) / ((float)L + 1.0f);
}
else {
for (n = 1; n <= L/2; n++)
- window[n-1] = 2.0f * n / (float)L;
+ window[n-1] = 2.0f * n / ((float)L + 1.0f);
for (; n <= L; n++)
- window[n-1] = ((float)(2 * (L - n)) + 1.0f) / (float)L;
+ window[n-1] = (float)(2 * (L - n + 1)) / ((float)L + 1.0f);
}
}
@@ -195,6 +202,10 @@ void FLAC__window_tukey(FLAC__real *window, const FLAC__int32 L, const FLAC__rea
FLAC__window_rectangle(window, L);
else if (p >= 1.0)
FLAC__window_hann(window, L);
+ else if (!(p > 0.0f && p < 1.0f))
+ /* p is not between 0 and 1, probably NaN.
+ * Default to 0.5 */
+ FLAC__window_tukey(window, L, 0.5f);
else {
const FLAC__int32 Np = (FLAC__int32)(p / 2.0f * L) - 1;
FLAC__int32 n;
@@ -203,13 +214,81 @@ void FLAC__window_tukey(FLAC__real *window, const FLAC__int32 L, const FLAC__rea
/* ...replace ends with hann */
if (Np > 0) {
for (n = 0; n <= Np; n++) {
- window[n] = (FLAC__real)(0.5f - 0.5f * cos(M_PI * n / Np));
- window[L-Np-1+n] = (FLAC__real)(0.5f - 0.5f * cos(M_PI * (n+Np) / Np));
+ window[n] = (FLAC__real)(0.5f - 0.5f * cosf(M_PI * n / Np));
+ window[L-Np-1+n] = (FLAC__real)(0.5f - 0.5f * cosf(M_PI * (n+Np) / Np));
}
}
}
}
+void FLAC__window_partial_tukey(FLAC__real *window, const FLAC__int32 L, const FLAC__real p, const FLAC__real start, const FLAC__real end)
+{
+ const FLAC__int32 start_n = (FLAC__int32)(start * L);
+ const FLAC__int32 end_n = (FLAC__int32)(end * L);
+ const FLAC__int32 N = end_n - start_n;
+ FLAC__int32 Np, n, i;
+
+ if (p <= 0.0f)
+ FLAC__window_partial_tukey(window, L, 0.05f, start, end);
+ else if (p >= 1.0f)
+ FLAC__window_partial_tukey(window, L, 0.95f, start, end);
+ else if (!(p > 0.0f && p < 1.0f))
+ /* p is not between 0 and 1, probably NaN.
+ * Default to 0.5 */
+ FLAC__window_partial_tukey(window, L, 0.5f, start, end);
+ else {
+
+ Np = (FLAC__int32)(p / 2.0f * N);
+
+ for (n = 0; n < start_n && n < L; n++)
+ window[n] = 0.0f;
+ for (i = 1; n < (start_n+Np) && n < L; n++, i++)
+ window[n] = (FLAC__real)(0.5f - 0.5f * cosf(M_PI * i / Np));
+ for (; n < (end_n-Np) && n < L; n++)
+ window[n] = 1.0f;
+ for (i = Np; n < end_n && n < L; n++, i--)
+ window[n] = (FLAC__real)(0.5f - 0.5f * cosf(M_PI * i / Np));
+ for (; n < L; n++)
+ window[n] = 0.0f;
+ }
+}
+
+void FLAC__window_punchout_tukey(FLAC__real *window, const FLAC__int32 L, const FLAC__real p, const FLAC__real start, const FLAC__real end)
+{
+ const FLAC__int32 start_n = (FLAC__int32)(start * L);
+ const FLAC__int32 end_n = (FLAC__int32)(end * L);
+ FLAC__int32 Ns, Ne, n, i;
+
+ if (p <= 0.0f)
+ FLAC__window_punchout_tukey(window, L, 0.05f, start, end);
+ else if (p >= 1.0f)
+ FLAC__window_punchout_tukey(window, L, 0.95f, start, end);
+ else if (!(p > 0.0f && p < 1.0f))
+ /* p is not between 0 and 1, probably NaN.
+ * Default to 0.5 */
+ FLAC__window_punchout_tukey(window, L, 0.5f, start, end);
+ else {
+
+ Ns = (FLAC__int32)(p / 2.0f * start_n);
+ Ne = (FLAC__int32)(p / 2.0f * (L - end_n));
+
+ for (n = 0, i = 1; n < Ns && n < L; n++, i++)
+ window[n] = (FLAC__real)(0.5f - 0.5f * cosf(M_PI * i / Ns));
+ for (; n < start_n-Ns && n < L; n++)
+ window[n] = 1.0f;
+ for (i = Ns; n < start_n && n < L; n++, i--)
+ window[n] = (FLAC__real)(0.5f - 0.5f * cosf(M_PI * i / Ns));
+ for (; n < end_n && n < L; n++)
+ window[n] = 0.0f;
+ for (i = 1; n < end_n+Ne && n < L; n++, i++)
+ window[n] = (FLAC__real)(0.5f - 0.5f * cosf(M_PI * i / Ne));
+ for (; n < L - (Ne) && n < L; n++)
+ window[n] = 1.0f;
+ for (i = Ne; n < L; n++, i--)
+ window[n] = (FLAC__real)(0.5f - 0.5f * cosf(M_PI * i / Ne));
+ }
+}
+
void FLAC__window_welch(FLAC__real *window, const FLAC__int32 L)
{
const FLAC__int32 N = L - 1;
@@ -222,4 +301,8 @@ void FLAC__window_welch(FLAC__real *window, const FLAC__int32 L)
}
}
+#if defined(_MSC_VER)
+#pragma warning ( default : 4244 )
+#endif
+
#endif /* !defined FLAC__INTEGER_ONLY_LIBRARY */
diff --git a/3rdparty/libflac/src/metaflac/CMakeLists.txt b/3rdparty/libflac/src/metaflac/CMakeLists.txt
new file mode 100644
index 00000000000..b8af705831d
--- /dev/null
+++ b/3rdparty/libflac/src/metaflac/CMakeLists.txt
@@ -0,0 +1,18 @@
+add_executable(metaflac
+ main.c
+ operations.c
+ operations_shorthand_cuesheet.c
+ operations_shorthand_picture.c
+ operations_shorthand_seektable.c
+ operations_shorthand_streaminfo.c
+ operations_shorthand_vorbiscomment.c
+ options.c
+ usage.c
+ utils.c
+ version.rc
+ $<$<BOOL:${WIN32}>:../../include/share/win_utf8_io.h>
+ $<$<BOOL:${WIN32}>:../share/win_utf8_io/win_utf8_io.c>)
+target_link_libraries(metaflac FLAC getopt utf8)
+
+install(TARGETS metaflac EXPORT targets
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
diff --git a/3rdparty/libflac/src/metaflac/Makefile.am b/3rdparty/libflac/src/metaflac/Makefile.am
index 92aa50bf467..8c212ff40e2 100644
--- a/3rdparty/libflac/src/metaflac/Makefile.am
+++ b/3rdparty/libflac/src/metaflac/Makefile.am
@@ -1,5 +1,6 @@
# metaflac - Command-line FLAC metadata editor
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2000-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -11,18 +12,25 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+if OS_IS_WINDOWS
+win_utf8_lib = $(top_builddir)/src/share/win_utf8_io/libwin_utf8_io.la
+if HAVE_WINDRES
+metaflac_DEPENDENCIES = version.o
+windows_resource_link = -Wl,version.o
+endif
+endif
bin_PROGRAMS = metaflac
AM_CFLAGS = @OGG_CFLAGS@
-
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
EXTRA_DIST = \
- Makefile.lite \
- metaflac.dsp \
- metaflac.vcproj
+ CMakeLists.txt \
+ version.rc
metaflac_SOURCES = \
main.c \
@@ -40,15 +48,18 @@ metaflac_SOURCES = \
options.h \
usage.h \
utils.h
-metaflac_LDFLAGS =
+metaflac_LDFLAGS = $(AM_LDFLAGS) $(windows_resource_link)
metaflac_LDADD = \
$(top_builddir)/src/share/grabbag/libgrabbag.la \
$(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
- $(top_builddir)/src/share/getopt/libgetopt.a \
+ $(top_builddir)/src/share/getopt/libgetopt.la \
$(top_builddir)/src/share/utf8/libutf8.la \
$(top_builddir)/src/libFLAC/libFLAC.la \
- @OGG_LIBS@ \
- @LIBICONV@ \
- @MINGW_WINSOCK_LIBS@ \
- -lm
+ $(win_utf8_lib) \
+ @LTLIBICONV@
+
+CLEANFILES = metaflac.exe
+
+.rc.o:
+ $(RC) $(AM_CPPFLAGS) $< $@
diff --git a/3rdparty/libflac/src/metaflac/Makefile.in b/3rdparty/libflac/src/metaflac/Makefile.in
index 4f6872ed4c9..dae2fae5351 100644
--- a/3rdparty/libflac/src/metaflac/Makefile.in
+++ b/3rdparty/libflac/src/metaflac/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,8 @@
@SET_MAKE@
# metaflac - Command-line FLAC metadata editor
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2000-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -27,20 +28,71 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +104,132 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+@HAVE_WINDRES_FALSE@metaflac_DEPENDENCIES = $(top_builddir)/src/share/grabbag/libgrabbag.la \
+@HAVE_WINDRES_FALSE@ $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
+@HAVE_WINDRES_FALSE@ $(top_builddir)/src/share/getopt/libgetopt.la \
+@HAVE_WINDRES_FALSE@ $(top_builddir)/src/share/utf8/libutf8.la \
+@HAVE_WINDRES_FALSE@ $(top_builddir)/src/libFLAC/libFLAC.la \
+@HAVE_WINDRES_FALSE@ $(win_utf8_lib)
+@OS_IS_WINDOWS_FALSE@metaflac_DEPENDENCIES = $(top_builddir)/src/share/grabbag/libgrabbag.la \
+@OS_IS_WINDOWS_FALSE@ $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
+@OS_IS_WINDOWS_FALSE@ $(top_builddir)/src/share/getopt/libgetopt.la \
+@OS_IS_WINDOWS_FALSE@ $(top_builddir)/src/share/utf8/libutf8.la \
+@OS_IS_WINDOWS_FALSE@ $(top_builddir)/src/libFLAC/libFLAC.la \
+@OS_IS_WINDOWS_FALSE@ $(win_utf8_lib)
+bin_PROGRAMS = metaflac$(EXEEXT)
+subdir = src/metaflac
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+PROGRAMS = $(bin_PROGRAMS)
+am_metaflac_OBJECTS = main.$(OBJEXT) operations.$(OBJEXT) \
+ operations_shorthand_cuesheet.$(OBJEXT) \
+ operations_shorthand_picture.$(OBJEXT) \
+ operations_shorthand_seektable.$(OBJEXT) \
+ operations_shorthand_streaminfo.$(OBJEXT) \
+ operations_shorthand_vorbiscomment.$(OBJEXT) options.$(OBJEXT) \
+ usage.$(OBJEXT) utils.$(OBJEXT)
+metaflac_OBJECTS = $(am_metaflac_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+metaflac_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(metaflac_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/main.Po ./$(DEPDIR)/operations.Po \
+ ./$(DEPDIR)/operations_shorthand_cuesheet.Po \
+ ./$(DEPDIR)/operations_shorthand_picture.Po \
+ ./$(DEPDIR)/operations_shorthand_seektable.Po \
+ ./$(DEPDIR)/operations_shorthand_streaminfo.Po \
+ ./$(DEPDIR)/operations_shorthand_vorbiscomment.Po \
+ ./$(DEPDIR)/options.Po ./$(DEPDIR)/usage.Po \
+ ./$(DEPDIR)/utils.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(metaflac_SOURCES)
+DIST_SOURCES = $(metaflac_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,168 +238,151 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
-bin_PROGRAMS = metaflac
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+@OS_IS_WINDOWS_TRUE@win_utf8_lib = $(top_builddir)/src/share/win_utf8_io/libwin_utf8_io.la
+@HAVE_WINDRES_TRUE@@OS_IS_WINDOWS_TRUE@metaflac_DEPENDENCIES = version.o
+@HAVE_WINDRES_TRUE@@OS_IS_WINDOWS_TRUE@windows_resource_link = -Wl,version.o
AM_CFLAGS = @OGG_CFLAGS@
-
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
EXTRA_DIST = \
- Makefile.lite \
- metaflac.dsp \
- metaflac.vcproj
-
+ CMakeLists.txt \
+ version.rc
metaflac_SOURCES = \
main.c \
@@ -246,154 +401,150 @@ metaflac_SOURCES = \
usage.h \
utils.h
-metaflac_LDFLAGS =
-
+metaflac_LDFLAGS = $(AM_LDFLAGS) $(windows_resource_link)
metaflac_LDADD = \
$(top_builddir)/src/share/grabbag/libgrabbag.la \
$(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
- $(top_builddir)/src/share/getopt/libgetopt.a \
+ $(top_builddir)/src/share/getopt/libgetopt.la \
$(top_builddir)/src/share/utf8/libutf8.la \
$(top_builddir)/src/libFLAC/libFLAC.la \
- @OGG_LIBS@ \
- @LIBICONV@ \
- @MINGW_WINSOCK_LIBS@ \
- -lm
-
-subdir = src/metaflac
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-bin_PROGRAMS = metaflac$(EXEEXT)
-PROGRAMS = $(bin_PROGRAMS)
-
-am_metaflac_OBJECTS = main.$(OBJEXT) operations.$(OBJEXT) \
- operations_shorthand_cuesheet.$(OBJEXT) \
- operations_shorthand_picture.$(OBJEXT) \
- operations_shorthand_seektable.$(OBJEXT) \
- operations_shorthand_streaminfo.$(OBJEXT) \
- operations_shorthand_vorbiscomment.$(OBJEXT) options.$(OBJEXT) \
- usage.$(OBJEXT) utils.$(OBJEXT)
-metaflac_OBJECTS = $(am_metaflac_OBJECTS)
-metaflac_DEPENDENCIES = $(top_builddir)/src/share/grabbag/libgrabbag.la \
- $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
- $(top_builddir)/src/share/getopt/libgetopt.a \
- $(top_builddir)/src/share/utf8/libutf8.la \
- $(top_builddir)/src/libFLAC/libFLAC.la
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/main.Po ./$(DEPDIR)/operations.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/operations_shorthand_cuesheet.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/operations_shorthand_picture.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/operations_shorthand_seektable.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/operations_shorthand_streaminfo.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/operations_shorthand_vorbiscomment.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/options.Po ./$(DEPDIR)/usage.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/utils.Po
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(metaflac_SOURCES)
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(metaflac_SOURCES)
+ $(win_utf8_lib) \
+ @LTLIBICONV@
+CLEANFILES = metaflac.exe
all: all-am
.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/metaflac/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+.SUFFIXES: .c .lo .o .obj .rc
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/metaflac/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/metaflac/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(bindir)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \
- else :; fi; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p \
+ || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
- rm -f $(DESTDIR)$(bindir)/$$f; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-metaflac$(EXEEXT): $(metaflac_OBJECTS) $(metaflac_DEPENDENCIES)
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+metaflac$(EXEEXT): $(metaflac_OBJECTS) $(metaflac_DEPENDENCIES) $(EXTRA_metaflac_DEPENDENCIES)
@rm -f metaflac$(EXEEXT)
- $(LINK) $(metaflac_LDFLAGS) $(metaflac_OBJECTS) $(metaflac_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(metaflac_LINK) $(metaflac_OBJECTS) $(metaflac_LDADD) $(LIBS)
mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
+ -rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/operations.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/operations_shorthand_cuesheet.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/operations_shorthand_picture.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/operations_shorthand_seektable.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/operations_shorthand_streaminfo.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/operations_shorthand_vorbiscomment.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/options.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/usage.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/operations.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/operations_shorthand_cuesheet.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/operations_shorthand_picture.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/operations_shorthand_seektable.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/operations_shorthand_streaminfo.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/operations_shorthand_vorbiscomment.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/options.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/usage.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -401,101 +552,97 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
-
installdirs:
- $(mkinstalldirs) $(DESTDIR)$(bindir)
+ for dir in "$(DESTDIR)$(bindir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
@@ -506,16 +653,23 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -525,31 +679,71 @@ clean: clean-am
clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/main.Po
+ -rm -f ./$(DEPDIR)/operations.Po
+ -rm -f ./$(DEPDIR)/operations_shorthand_cuesheet.Po
+ -rm -f ./$(DEPDIR)/operations_shorthand_picture.Po
+ -rm -f ./$(DEPDIR)/operations_shorthand_seektable.Po
+ -rm -f ./$(DEPDIR)/operations_shorthand_streaminfo.Po
+ -rm -f ./$(DEPDIR)/operations_shorthand_vorbiscomment.Po
+ -rm -f ./$(DEPDIR)/options.Po
+ -rm -f ./$(DEPDIR)/usage.Po
+ -rm -f ./$(DEPDIR)/utils.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am: install-binPROGRAMS
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/main.Po
+ -rm -f ./$(DEPDIR)/operations.Po
+ -rm -f ./$(DEPDIR)/operations_shorthand_cuesheet.Po
+ -rm -f ./$(DEPDIR)/operations_shorthand_picture.Po
+ -rm -f ./$(DEPDIR)/operations_shorthand_seektable.Po
+ -rm -f ./$(DEPDIR)/operations_shorthand_streaminfo.Po
+ -rm -f ./$(DEPDIR)/operations_shorthand_vorbiscomment.Po
+ -rm -f ./$(DEPDIR)/options.Po
+ -rm -f ./$(DEPDIR)/usage.Po
+ -rm -f ./$(DEPDIR)/utils.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -566,19 +760,29 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-binPROGRAMS uninstall-info-am
+uninstall-am: uninstall-binPROGRAMS
+
+.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
- clean-generic clean-libtool ctags distclean distclean-compile \
- distclean-generic distclean-libtool distclean-tags distdir dvi \
- dvi-am info info-am install install-am install-binPROGRAMS \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-binPROGRAMS \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-binPROGRAMS \
- uninstall-info-am
+ tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
+
+.PRECIOUS: Makefile
+
+
+.rc.o:
+ $(RC) $(AM_CPPFLAGS) $< $@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/src/metaflac/Makefile.lite b/3rdparty/libflac/src/metaflac/Makefile.lite
deleted file mode 100644
index 56dba51859b..00000000000
--- a/3rdparty/libflac/src/metaflac/Makefile.lite
+++ /dev/null
@@ -1,49 +0,0 @@
-# metaflac - Command-line FLAC metadata editor
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#
-# GNU makefile
-#
-
-topdir = ../..
-libdir = $(topdir)/obj/$(BUILD)/lib
-
-PROGRAM_NAME = metaflac
-
-INCLUDES = -I./include -I$(topdir)/include -I$(OGG_INCLUDE_DIR)
-
-ifeq ($(DARWIN_BUILD),yes)
-EXPLICIT_LIBS = $(libdir)/libgrabbag.a $(libdir)/libFLAC.a $(libdir)/libreplaygain_analysis.a $(libdir)/libgetopt.a $(libdir)/libutf8.a $(OGG_LIB_DIR)/libogg.a -liconv -lm
-else
-LIBS = -lgrabbag -lFLAC -lreplaygain_analysis -lgetopt -lutf8 -L$(OGG_LIB_DIR) -logg -lm
-endif
-
-SRCS_C = \
- main.c \
- operations.c \
- operations_shorthand_cuesheet.c \
- operations_shorthand_picture.c \
- operations_shorthand_seektable.c \
- operations_shorthand_streaminfo.c \
- operations_shorthand_vorbiscomment.c \
- options.c \
- usage.c \
- utils.c
-
-include $(topdir)/build/exe.mk
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/src/metaflac/main.c b/3rdparty/libflac/src/metaflac/main.c
index d2b8145e26e..bb6629358c9 100644
--- a/3rdparty/libflac/src/metaflac/main.c
+++ b/3rdparty/libflac/src/metaflac/main.c
@@ -1,5 +1,6 @@
/* metaflac - Command-line FLAC metadata editor
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,20 +12,27 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "operations.h"
#include "options.h"
#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+#include "share/compat.h"
+#ifndef FUZZ_TOOL_METAFLAC
int main(int argc, char *argv[])
+#else
+static int main_to_fuzz(int argc, char *argv[])
+#endif
{
CommandLineOptions options;
int ret = 0;
@@ -33,11 +41,30 @@ int main(int argc, char *argv[])
_response(&argc, &argv);
_wildcard(&argc, &argv);
#endif
+#ifdef _WIN32
+ if (get_utf8_argv(&argc, &argv) != 0) {
+ fputs("ERROR: failed to convert command line parameters to UTF-8\n", stderr);
+ return 1;
+ }
+#endif
+#ifdef _WIN32
+ {
+ const char *var;
+ var = getenv("LC_ALL");
+ if (!var)
+ var = getenv("LC_NUMERIC");
+ if (!var)
+ var = getenv("LANG");
+ if (!var || strcmp(var, "C") != 0)
+ setlocale(LC_ALL, "");
+ }
+#else
setlocale(LC_ALL, "");
+#endif
init_options(&options);
- if(parse_options(argc, argv, &options))
+ if ((ret = parse_options(argc, argv, &options)) == 0)
ret = !do_operations(&options);
else
ret = 1;
diff --git a/3rdparty/libflac/src/metaflac/metaflac.dsp b/3rdparty/libflac/src/metaflac/metaflac.dsp
deleted file mode 100644
index aa1fbadd2b6..00000000000
--- a/3rdparty/libflac/src/metaflac/metaflac.dsp
+++ /dev/null
@@ -1,152 +0,0 @@
-# Microsoft Developer Studio Project File - Name="metaflac" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=metaflac - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "metaflac.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "metaflac.mak" CFG="metaflac - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "metaflac - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "metaflac - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "metaflac - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\obj\release\bin"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /I "..\..\include" /D "NDEBUG" /D "FLAC__NO_DLL" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\obj\release\lib\grabbag_static.lib ..\..\obj\release\lib\libFLAC_static.lib ..\..\obj\release\lib\replaygain_analysis_static.lib ..\..\obj\release\lib\getopt_static.lib ..\..\obj\release\lib\utf8_static.lib ..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "metaflac - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\obj\debug\bin"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "." /I "..\..\include" /D "_DEBUG" /D "DEBUG" /D "FLAC__NO_DLL" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\obj\debug\lib\grabbag_static.lib ..\..\obj\debug\lib\libFLAC_static.lib ..\..\obj\debug\lib\replaygain_analysis_static.lib ..\..\obj\debug\lib\getopt_static.lib ..\..\obj\debug\lib\utf8_static.lib ..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "metaflac - Win32 Release"
-# Name "metaflac - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\main.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\operations.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\operations_shorthand_cuesheet.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\operations_shorthand_picture.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\operations_shorthand_seektable.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\operations_shorthand_streaminfo.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\operations_shorthand_vorbiscomment.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\options.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\usage.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\utils.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\operations.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\options.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\usage.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\utils.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/metaflac/metaflac.vcproj b/3rdparty/libflac/src/metaflac/metaflac.vcproj
deleted file mode 100644
index 6da60fe6dc9..00000000000
--- a/3rdparty/libflac/src/metaflac/metaflac.vcproj
+++ /dev/null
@@ -1,256 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="metaflac"
- ProjectGUID="{4cefbc87-c215-11db-8314-0800200c9a66}"
- RootNamespace="metaflac"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\obj\debug\bin"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".;..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;FLAC__HAS_OGG;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="2"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\obj\release\bin"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".;..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;FLAC__HAS_OGG;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="1"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\operations.h"
- >
- </File>
- <File
- RelativePath=".\options.h"
- >
- </File>
- <File
- RelativePath=".\usage.h"
- >
- </File>
- <File
- RelativePath=".\utils.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\main.c"
- >
- </File>
- <File
- RelativePath=".\operations.c"
- >
- </File>
- <File
- RelativePath=".\operations_shorthand_cuesheet.c"
- >
- </File>
- <File
- RelativePath=".\operations_shorthand_picture.c"
- >
- </File>
- <File
- RelativePath=".\operations_shorthand_seektable.c"
- >
- </File>
- <File
- RelativePath=".\operations_shorthand_streaminfo.c"
- >
- </File>
- <File
- RelativePath=".\operations_shorthand_vorbiscomment.c"
- >
- </File>
- <File
- RelativePath=".\options.c"
- >
- </File>
- <File
- RelativePath=".\usage.c"
- >
- </File>
- <File
- RelativePath=".\utils.c"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/metaflac/operations.c b/3rdparty/libflac/src/metaflac/operations.c
index 54774bf69b0..d81d87a79d5 100644
--- a/3rdparty/libflac/src/metaflac/operations.c
+++ b/3rdparty/libflac/src/metaflac/operations.c
@@ -1,5 +1,6 @@
/* metaflac - Command-line FLAC metadata editor
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,12 +12,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -27,6 +28,7 @@
#include "FLAC/metadata.h"
#include "share/alloc.h"
#include "share/grabbag.h"
+#include "share/compat.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -42,11 +44,12 @@ static FLAC__bool do_major_operation__remove_all(FLAC__Metadata_Chain *chain, co
static FLAC__bool do_shorthand_operations(const CommandLineOptions *options);
static FLAC__bool do_shorthand_operations_on_file(const char *filename, const CommandLineOptions *options);
static FLAC__bool do_shorthand_operation(const char *filename, FLAC__bool prefix_with_filename, FLAC__Metadata_Chain *chain, const Operation *operation, FLAC__bool *needs_write, FLAC__bool utf8_convert);
-static FLAC__bool do_shorthand_operation__add_replay_gain(char **filenames, unsigned num_files, FLAC__bool preserve_modtime);
+static FLAC__bool do_shorthand_operation__add_replay_gain(char **filenames, unsigned num_files, FLAC__bool preserve_modtime, FLAC__bool scan);
static FLAC__bool do_shorthand_operation__add_padding(const char *filename, FLAC__Metadata_Chain *chain, unsigned length, FLAC__bool *needs_write);
static FLAC__bool passes_filter(const CommandLineOptions *options, const FLAC__StreamMetadata *block, unsigned block_number);
static void write_metadata(const char *filename, FLAC__StreamMetadata *block, unsigned block_number, FLAC__bool raw, FLAC__bool hexdump_application);
+static void write_metadata_binary(FLAC__StreamMetadata *block, FLAC__byte *block_raw, FLAC__bool headerless);
/* from operations_shorthand_seektable.c */
extern FLAC__bool do_shorthand_operation__add_seekpoints(const char *filename, FLAC__Metadata_Chain *chain, const char *specification, FLAC__bool *needs_write);
@@ -186,9 +189,21 @@ FLAC__bool do_major_operation__list(const char *filename, FLAC__Metadata_Chain *
block = FLAC__metadata_iterator_get_block(iterator);
ok &= (0 != block);
if(!ok)
- fprintf(stderr, "%s: ERROR: couldn't get block from chain\n", filename);
- else if(passes_filter(options, FLAC__metadata_iterator_get_block(iterator), block_number))
- write_metadata(filename, block, block_number, !options->utf8_convert, options->application_data_format_is_hexdump);
+ flac_fprintf(stderr, "%s: ERROR: couldn't get block from chain\n", filename);
+ else if(passes_filter(options, FLAC__metadata_iterator_get_block(iterator), block_number)) {
+ if(!options->data_format_is_binary && !options->data_format_is_binary_headerless)
+ write_metadata(filename, block, block_number, !options->utf8_convert, options->application_data_format_is_hexdump);
+ else {
+ FLAC__byte * block_raw = FLAC__metadata_object_get_raw(block);
+ if(block_raw == 0) {
+ flac_fprintf(stderr, "%s: ERROR: couldn't get block in raw form\n", filename);
+ FLAC__metadata_iterator_delete(iterator);
+ return false;
+ }
+ write_metadata_binary(block, block_raw, options->data_format_is_binary_headerless);
+ free(block_raw);
+ }
+ }
block_number++;
} while(ok && FLAC__metadata_iterator_next(iterator));
@@ -199,9 +214,124 @@ FLAC__bool do_major_operation__list(const char *filename, FLAC__Metadata_Chain *
FLAC__bool do_major_operation__append(FLAC__Metadata_Chain *chain, const CommandLineOptions *options)
{
- (void) chain, (void) options;
- fprintf(stderr, "ERROR: --append not implemented yet\n");
- return false;
+ FLAC__byte header[FLAC__STREAM_METADATA_HEADER_LENGTH];
+ FLAC__byte *buffer;
+ FLAC__uint32 buffer_size, num_objects = 0, i, append_after = UINT32_MAX;
+ FLAC__StreamMetadata *object;
+ FLAC__Metadata_Iterator *iterator = 0;
+ FLAC__bool has_vorbiscomment = false;
+
+ /* First, find out after which block appending should take place */
+ for(i = 0; i < options->args.num_arguments; i++) {
+ if(options->args.arguments[i].type == ARG__BLOCK_NUMBER) {
+ if(append_after != UINT32_MAX || options->args.arguments[i].value.block_number.num_entries > 1) {
+ flac_fprintf(stderr, "ERROR: more than one block number specified with --append\n");
+ return false;
+ }
+ append_after = options->args.arguments[i].value.block_number.entries[0];
+ }
+ }
+
+ iterator = FLAC__metadata_iterator_new();
+
+ if(0 == iterator)
+ die("out of memory allocating iterator");
+
+ FLAC__metadata_iterator_init(iterator, chain);
+
+ /* Find out whether there is already a vorbis comment block present */
+ do {
+ FLAC__MetadataType type = FLAC__metadata_iterator_get_block_type(iterator);
+ if(type == FLAC__METADATA_TYPE_VORBIS_COMMENT)
+ has_vorbiscomment = true;
+ }
+ while(FLAC__metadata_iterator_next(iterator));
+
+ /* Reset iterator */
+ FLAC__metadata_iterator_init(iterator, chain);
+
+ /* Go to requested block */
+ for(i = 0; i < append_after; i++) {
+ if(!FLAC__metadata_iterator_next(iterator))
+ break;
+ }
+
+#ifdef _WIN32
+ _setmode(fileno(stdin),_O_BINARY);
+#endif
+
+ /* Read header from stdin */
+ while(fread(header, 1, FLAC__STREAM_METADATA_HEADER_LENGTH, stdin) == FLAC__STREAM_METADATA_HEADER_LENGTH) {
+
+ buffer_size = ((FLAC__uint32)(header[1]) << 16) + ((FLAC__uint32)(header[2]) << 8) + header[3];
+ buffer = safe_malloc_(buffer_size + FLAC__STREAM_METADATA_HEADER_LENGTH);
+ if(0 == buffer)
+ die("out of memory allocating read buffer");
+ memcpy(buffer, header, FLAC__STREAM_METADATA_HEADER_LENGTH);
+
+ num_objects++;
+
+ if(fread(buffer+FLAC__STREAM_METADATA_HEADER_LENGTH, 1, buffer_size, stdin) < buffer_size) {
+ flac_fprintf(stderr, "ERROR: couldn't read metadata block #%u from stdin\n",(num_objects));
+ free(buffer);
+ FLAC__metadata_iterator_delete(iterator);
+ return false;
+ }
+
+ if((object = FLAC__metadata_object_set_raw(buffer, buffer_size + FLAC__STREAM_METADATA_HEADER_LENGTH)) == NULL) {
+ flac_fprintf(stderr, "ERROR: couldn't parse supplied metadata block #%u\n",(num_objects));
+ free(buffer);
+ FLAC__metadata_iterator_delete(iterator);
+ return false;
+ }
+ free(buffer);
+
+ if(has_vorbiscomment && object->type == FLAC__METADATA_TYPE_VORBIS_COMMENT) {
+ flac_fprintf(stderr, "ERROR: can't add another vorbis comment block to file, it already has one\n");
+ FLAC__metadata_object_delete(object);
+ FLAC__metadata_iterator_delete(iterator);
+ return false;
+ }
+
+
+ if(object->type == FLAC__METADATA_TYPE_STREAMINFO) {
+ flac_fprintf(stderr, "ERROR: can't add streaminfo to file\n");
+ FLAC__metadata_object_delete(object);
+ FLAC__metadata_iterator_delete(iterator);
+ return false;
+ }
+
+ if(object->type == FLAC__METADATA_TYPE_SEEKTABLE) {
+ flac_fprintf(stderr, "ERROR: can't add seektable to file, please use --add-seekpoint instead\n");
+ FLAC__metadata_object_delete(object);
+ FLAC__metadata_iterator_delete(iterator);
+ return false;
+ }
+
+ if(!FLAC__metadata_iterator_insert_block_after(iterator, object)) {
+ flac_fprintf(stderr, "ERROR: couldn't add supplied metadata block #%u to file\n",(num_objects));
+ FLAC__metadata_object_delete(object);
+ FLAC__metadata_iterator_delete(iterator);
+ return false;
+ }
+ /* Now check whether what type of block was added */
+ {
+ FLAC__MetadataType type = FLAC__metadata_iterator_get_block_type(iterator);
+ if(type == FLAC__METADATA_TYPE_VORBIS_COMMENT)
+ has_vorbiscomment = true;
+ }
+ }
+
+#ifdef _WIN32
+ _setmode(fileno(stdin),_O_TEXT);
+#endif
+
+ if(num_objects == 0)
+ flac_fprintf(stderr, "ERROR: unable to find a metadata block in the supplied input\n");
+
+ FLAC__metadata_iterator_delete(iterator);
+
+ return true;
}
FLAC__bool do_major_operation__remove(FLAC__Metadata_Chain *chain, const CommandLineOptions *options)
@@ -264,7 +394,9 @@ FLAC__bool do_shorthand_operations(const CommandLineOptions *options)
if(ok && options->num_files > 0) {
for(i = 0; i < options->ops.num_operations; i++) {
if(options->ops.operations[i].type == OP__ADD_REPLAY_GAIN)
- ok = do_shorthand_operation__add_replay_gain(options->filenames, options->num_files, options->preserve_modtime);
+ ok = do_shorthand_operation__add_replay_gain(options->filenames, options->num_files, options->preserve_modtime, false);
+ else if(options->ops.operations[i].type == OP__SCAN_REPLAY_GAIN)
+ ok = do_shorthand_operation__add_replay_gain(options->filenames, options->num_files, options->preserve_modtime, true);
}
}
@@ -282,7 +414,8 @@ FLAC__bool do_shorthand_operations_on_file(const char *filename, const CommandLi
if(!FLAC__metadata_chain_read(chain, filename)) {
print_error_with_chain_status(chain, "%s: ERROR: reading metadata", filename);
- return false;
+ ok = false;
+ goto cleanup;
}
for(i = 0; i < options->ops.num_operations && ok; i++) {
@@ -321,6 +454,7 @@ FLAC__bool do_shorthand_operations_on_file(const char *filename, const CommandLi
print_error_with_chain_status(chain, "%s: ERROR: writing FLAC file", filename);
}
+ cleanup :
FLAC__metadata_chain_delete(chain);
return ok;
@@ -354,6 +488,7 @@ FLAC__bool do_shorthand_operation(const char *filename, FLAC__bool prefix_with_f
case OP__SHOW_VC_VENDOR:
case OP__SHOW_VC_FIELD:
case OP__REMOVE_VC_ALL:
+ case OP__REMOVE_VC_ALL_EXCEPT:
case OP__REMOVE_VC_FIELD:
case OP__REMOVE_VC_FIRSTFIELD:
case OP__SET_VC_FIELD:
@@ -373,7 +508,8 @@ FLAC__bool do_shorthand_operation(const char *filename, FLAC__bool prefix_with_f
ok = do_shorthand_operation__add_seekpoints(filename, chain, operation->argument.add_seekpoint.specification, needs_write);
break;
case OP__ADD_REPLAY_GAIN:
- /* this command is always executed last */
+ case OP__SCAN_REPLAY_GAIN:
+ /* these commands are always executed last */
ok = true;
break;
case OP__ADD_PADDING:
@@ -388,7 +524,7 @@ FLAC__bool do_shorthand_operation(const char *filename, FLAC__bool prefix_with_f
return ok;
}
-FLAC__bool do_shorthand_operation__add_replay_gain(char **filenames, unsigned num_files, FLAC__bool preserve_modtime)
+FLAC__bool do_shorthand_operation__add_replay_gain(char **filenames, unsigned num_files, FLAC__bool preserve_modtime, FLAC__bool scan)
{
FLAC__StreamMetadata streaminfo;
float *title_gains = 0, *title_peaks = 0;
@@ -405,7 +541,7 @@ FLAC__bool do_shorthand_operation__add_replay_gain(char **filenames, unsigned nu
for(i = 0; i < num_files; i++) {
FLAC__ASSERT(0 != filenames[i]);
if(!FLAC__metadata_get_streaminfo(filenames[i], &streaminfo)) {
- fprintf(stderr, "%s: ERROR: can't open file or get STREAMINFO block\n", filenames[i]);
+ flac_fprintf(stderr, "%s: ERROR: can't open file or get STREAMINFO block\n", filenames[i]);
return false;
}
if(first) {
@@ -416,45 +552,48 @@ FLAC__bool do_shorthand_operation__add_replay_gain(char **filenames, unsigned nu
}
else {
if(sample_rate != streaminfo.data.stream_info.sample_rate) {
- fprintf(stderr, "%s: ERROR: sample rate of %u Hz does not match previous files' %u Hz\n", filenames[i], streaminfo.data.stream_info.sample_rate, sample_rate);
+ flac_fprintf(stderr, "%s: ERROR: sample rate of %u Hz does not match previous files' %u Hz\n", filenames[i], streaminfo.data.stream_info.sample_rate, sample_rate);
return false;
}
if(bits_per_sample != streaminfo.data.stream_info.bits_per_sample) {
- fprintf(stderr, "%s: ERROR: resolution of %u bps does not match previous files' %u bps\n", filenames[i], streaminfo.data.stream_info.bits_per_sample, bits_per_sample);
+ flac_fprintf(stderr, "%s: ERROR: resolution of %u bps does not match previous files' %u bps\n", filenames[i], streaminfo.data.stream_info.bits_per_sample, bits_per_sample);
return false;
}
if(channels != streaminfo.data.stream_info.channels) {
- fprintf(stderr, "%s: ERROR: # channels (%u) does not match previous files' (%u)\n", filenames[i], streaminfo.data.stream_info.channels, channels);
+ flac_fprintf(stderr, "%s: ERROR: # channels (%u) does not match previous files' (%u)\n", filenames[i], streaminfo.data.stream_info.channels, channels);
return false;
}
}
if(!grabbag__replaygain_is_valid_sample_frequency(sample_rate)) {
- fprintf(stderr, "%s: ERROR: sample rate of %u Hz is not supported\n", filenames[i], sample_rate);
+ flac_fprintf(stderr, "%s: ERROR: sample rate of %u Hz is not supported\n", filenames[i], sample_rate);
return false;
}
if(channels != 1 && channels != 2) {
- fprintf(stderr, "%s: ERROR: # of channels (%u) is not supported, must be 1 or 2\n", filenames[i], channels);
+ flac_fprintf(stderr, "%s: ERROR: # of channels (%u) is not supported, must be 1 or 2\n", filenames[i], channels);
+ return false;
+ }
+ if(bits_per_sample < FLAC__MIN_BITS_PER_SAMPLE || bits_per_sample > FLAC__MAX_BITS_PER_SAMPLE) {
+ flac_fprintf(stderr, "%s: ERROR: resolution (%u) is not supported, must be between %u and %u\n", filenames[i], bits_per_sample, FLAC__MIN_BITS_PER_SAMPLE, FLAC__MAX_BITS_PER_SAMPLE);
return false;
}
}
- FLAC__ASSERT(bits_per_sample >= FLAC__MIN_BITS_PER_SAMPLE && bits_per_sample <= FLAC__MAX_BITS_PER_SAMPLE);
if(!grabbag__replaygain_init(sample_rate)) {
FLAC__ASSERT(0);
/* double protection */
- fprintf(stderr, "internal error\n");
+ flac_fprintf(stderr, "internal error\n");
return false;
}
if(
- 0 == (title_gains = (float*)safe_malloc_mul_2op_(sizeof(float), /*times*/num_files)) ||
- 0 == (title_peaks = (float*)safe_malloc_mul_2op_(sizeof(float), /*times*/num_files))
+ 0 == (title_gains = safe_malloc_mul_2op_(sizeof(float), /*times*/num_files)) ||
+ 0 == (title_peaks = safe_malloc_mul_2op_(sizeof(float), /*times*/num_files))
)
die("out of memory allocating space for title gains/peaks");
for(i = 0; i < num_files; i++) {
if(0 != (error = grabbag__replaygain_analyze_file(filenames[i], title_gains+i, title_peaks+i))) {
- fprintf(stderr, "%s: ERROR: during analysis (%s)\n", filenames[i], error);
+ flac_fprintf(stderr, "%s: ERROR: during analysis (%s)\n", filenames[i], error);
free(title_gains);
free(title_peaks);
return false;
@@ -463,11 +602,15 @@ FLAC__bool do_shorthand_operation__add_replay_gain(char **filenames, unsigned nu
grabbag__replaygain_get_album(&album_gain, &album_peak);
for(i = 0; i < num_files; i++) {
- if(0 != (error = grabbag__replaygain_store_to_file(filenames[i], album_gain, album_peak, title_gains[i], title_peaks[i], preserve_modtime))) {
- fprintf(stderr, "%s: ERROR: writing tags (%s)\n", filenames[i], error);
- free(title_gains);
- free(title_peaks);
- return false;
+ if(!scan) {
+ if(0 != (error = grabbag__replaygain_store_to_file(filenames[i], album_gain, album_peak, title_gains[i], title_peaks[i], preserve_modtime))) {
+ flac_fprintf(stderr, "%s: ERROR: writing tags (%s)\n", filenames[i], error);
+ free(title_gains);
+ free(title_peaks);
+ return false;
+ }
+ } else {
+ flac_fprintf(stdout, "%s: %f %f %f %f\n", filenames[i], album_gain, album_peak, title_gains[i], title_peaks[i]);
}
}
@@ -550,7 +693,7 @@ void write_metadata(const char *filename, FLAC__StreamMetadata *block, unsigned
unsigned i, j;
/*@@@ yuck, should do this with a varargs function or something: */
-#define PPR if(filename)printf("%s:",filename);
+#define PPR if(filename) { if(raw) printf("%s:",filename); else flac_printf("%s:",filename); }
PPR; printf("METADATA block #%u\n", block_number);
PPR; printf(" type: %u (%s)\n", (unsigned)block->type, block->type < FLAC__METADATA_TYPE_UNDEFINED? FLAC__MetadataTypeString[block->type] : "UNKNOWN");
PPR; printf(" is last: %s\n", block->is_last? "true":"false");
@@ -565,11 +708,7 @@ void write_metadata(const char *filename, FLAC__StreamMetadata *block, unsigned
PPR; printf(" sample_rate: %u Hz\n", block->data.stream_info.sample_rate);
PPR; printf(" channels: %u\n", block->data.stream_info.channels);
PPR; printf(" bits-per-sample: %u\n", block->data.stream_info.bits_per_sample);
-#ifdef _MSC_VER
- PPR; printf(" total samples: %I64u\n", block->data.stream_info.total_samples);
-#else
- PPR; printf(" total samples: %llu\n", (unsigned long long)block->data.stream_info.total_samples);
-#endif
+ PPR; printf(" total samples: %" PRIu64 "\n", block->data.stream_info.total_samples);
PPR; printf(" MD5 signature: ");
for(i = 0; i < 16; i++) {
printf("%02x", (unsigned)block->data.stream_info.md5sum[i]);
@@ -596,11 +735,7 @@ void write_metadata(const char *filename, FLAC__StreamMetadata *block, unsigned
PPR; printf(" seek points: %u\n", block->data.seek_table.num_points);
for(i = 0; i < block->data.seek_table.num_points; i++) {
if(block->data.seek_table.points[i].sample_number != FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER) {
-#ifdef _MSC_VER
- PPR; printf(" point %u: sample_number=%I64u, stream_offset=%I64u, frame_samples=%u\n", i, block->data.seek_table.points[i].sample_number, block->data.seek_table.points[i].stream_offset, block->data.seek_table.points[i].frame_samples);
-#else
- PPR; printf(" point %u: sample_number=%llu, stream_offset=%llu, frame_samples=%u\n", i, (unsigned long long)block->data.seek_table.points[i].sample_number, (unsigned long long)block->data.seek_table.points[i].stream_offset, block->data.seek_table.points[i].frame_samples);
-#endif
+ PPR; printf(" point %u: sample_number=%" PRIu64 ", stream_offset=%" PRIu64 ", frame_samples=%u\n", i, block->data.seek_table.points[i].sample_number, block->data.seek_table.points[i].stream_offset, block->data.seek_table.points[i].frame_samples);
}
else {
PPR; printf(" point %u: PLACEHOLDER\n", i);
@@ -618,11 +753,7 @@ void write_metadata(const char *filename, FLAC__StreamMetadata *block, unsigned
break;
case FLAC__METADATA_TYPE_CUESHEET:
PPR; printf(" media catalog number: %s\n", block->data.cue_sheet.media_catalog_number);
-#ifdef _MSC_VER
- PPR; printf(" lead-in: %I64u\n", block->data.cue_sheet.lead_in);
-#else
- PPR; printf(" lead-in: %llu\n", (unsigned long long)block->data.cue_sheet.lead_in);
-#endif
+ PPR; printf(" lead-in: %" PRIu64 "\n", block->data.cue_sheet.lead_in);
PPR; printf(" is CD: %s\n", block->data.cue_sheet.is_cd? "true":"false");
PPR; printf(" number of tracks: %u\n", block->data.cue_sheet.num_tracks);
for(i = 0; i < block->data.cue_sheet.num_tracks; i++) {
@@ -630,11 +761,7 @@ void write_metadata(const char *filename, FLAC__StreamMetadata *block, unsigned
const FLAC__bool is_last = (i == block->data.cue_sheet.num_tracks-1);
const FLAC__bool is_leadout = is_last && track->num_indices == 0;
PPR; printf(" track[%u]\n", i);
-#ifdef _MSC_VER
- PPR; printf(" offset: %I64u\n", track->offset);
-#else
- PPR; printf(" offset: %llu\n", (unsigned long long)track->offset);
-#endif
+ PPR; printf(" offset: %" PRIu64 "\n", track->offset);
if(is_last) {
PPR; printf(" number: %u (%s)\n", (unsigned)track->number, is_leadout? "LEAD-OUT" : "INVALID");
}
@@ -647,14 +774,10 @@ void write_metadata(const char *filename, FLAC__StreamMetadata *block, unsigned
PPR; printf(" pre-emphasis: %s\n", track->pre_emphasis? "true":"false");
PPR; printf(" number of index points: %u\n", track->num_indices);
for(j = 0; j < track->num_indices; j++) {
- const FLAC__StreamMetadata_CueSheet_Index *index = track->indices+j;
+ const FLAC__StreamMetadata_CueSheet_Index *indx = track->indices+j;
PPR; printf(" index[%u]\n", j);
-#ifdef _MSC_VER
- PPR; printf(" offset: %I64u\n", index->offset);
-#else
- PPR; printf(" offset: %llu\n", (unsigned long long)index->offset);
-#endif
- PPR; printf(" number: %u\n", (unsigned)index->number);
+ PPR; printf(" offset: %" PRIu64 "\n", indx->offset);
+ PPR; printf(" number: %u\n", (unsigned)indx->number);
}
}
}
@@ -680,3 +803,21 @@ void write_metadata(const char *filename, FLAC__StreamMetadata *block, unsigned
}
#undef PPR
}
+
+void write_metadata_binary(FLAC__StreamMetadata *block, FLAC__byte *block_raw, FLAC__bool headerless)
+{
+#ifdef _WIN32
+ fflush(stdout);
+ _setmode(fileno(stdout),_O_BINARY);
+#endif
+ if(!headerless)
+ local_fwrite(block_raw, 1, block->length+FLAC__STREAM_METADATA_HEADER_LENGTH, stdout);
+ else if(block->type == FLAC__METADATA_TYPE_APPLICATION && block->length > 3)
+ local_fwrite(block_raw+FLAC__STREAM_METADATA_HEADER_LENGTH+4, 1, block->length-4, stdout);
+ else
+ local_fwrite(block_raw+FLAC__STREAM_METADATA_HEADER_LENGTH, 1, block->length, stdout);
+#ifdef _WIN32
+ fflush(stdout);
+ _setmode(fileno(stdout),_O_TEXT);
+#endif
+}
diff --git a/3rdparty/libflac/src/metaflac/operations.h b/3rdparty/libflac/src/metaflac/operations.h
index b5144a36be5..79e1c3ba794 100644
--- a/3rdparty/libflac/src/metaflac/operations.h
+++ b/3rdparty/libflac/src/metaflac/operations.h
@@ -1,5 +1,6 @@
/* metaflac - Command-line FLAC metadata editor
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef metaflac__operations_h
diff --git a/3rdparty/libflac/src/metaflac/operations_shorthand.h b/3rdparty/libflac/src/metaflac/operations_shorthand.h
index 112c079b0a6..1877c26858b 100644
--- a/3rdparty/libflac/src/metaflac/operations_shorthand.h
+++ b/3rdparty/libflac/src/metaflac/operations_shorthand.h
@@ -1,5 +1,6 @@
/* metaflac - Command-line FLAC metadata editor
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "options.h"
diff --git a/3rdparty/libflac/src/metaflac/operations_shorthand_cuesheet.c b/3rdparty/libflac/src/metaflac/operations_shorthand_cuesheet.c
index 14912c11931..13c4dedb413 100644
--- a/3rdparty/libflac/src/metaflac/operations_shorthand_cuesheet.c
+++ b/3rdparty/libflac/src/metaflac/operations_shorthand_cuesheet.c
@@ -1,5 +1,6 @@
/* metaflac - Command-line FLAC metadata editor
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,25 +12,25 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <errno.h>
-#include <stdio.h> /* for snprintf() */
#include <string.h>
#include "options.h"
#include "utils.h"
#include "FLAC/assert.h"
#include "share/grabbag.h"
+#include "share/compat.h"
#include "operations_shorthand.h"
-static FLAC__bool import_cs_from(const char *filename, FLAC__StreamMetadata **cuesheet, const char *cs_filename, FLAC__bool *needs_write, FLAC__uint64 lead_out_offset, FLAC__bool is_cdda, Argument_AddSeekpoint *add_seekpoint_link);
+static FLAC__bool import_cs_from(const char *filename, FLAC__StreamMetadata **cuesheet, const char *cs_filename, FLAC__bool *needs_write, FLAC__uint64 lead_out_offset, unsigned sample_rate, FLAC__bool is_cdda, Argument_AddSeekpoint *add_seekpoint_link);
static FLAC__bool export_cs_to(const char *filename, const FLAC__StreamMetadata *cuesheet, const char *cs_filename);
FLAC__bool do_shorthand_operation__cuesheet(const char *filename, FLAC__Metadata_Chain *chain, const Operation *operation, FLAC__bool *needs_write)
@@ -39,6 +40,7 @@ FLAC__bool do_shorthand_operation__cuesheet(const char *filename, FLAC__Metadata
FLAC__Metadata_Iterator *iterator = FLAC__metadata_iterator_new();
FLAC__uint64 lead_out_offset = 0;
FLAC__bool is_cdda = false;
+ unsigned sample_rate = 0;
if(0 == iterator)
die("out of memory allocating iterator");
@@ -50,18 +52,25 @@ FLAC__bool do_shorthand_operation__cuesheet(const char *filename, FLAC__Metadata
if(block->type == FLAC__METADATA_TYPE_STREAMINFO) {
lead_out_offset = block->data.stream_info.total_samples;
if(lead_out_offset == 0) {
- fprintf(stderr, "%s: ERROR: FLAC file must have total_samples set in STREAMINFO in order to import/export cuesheet\n", filename);
+ flac_fprintf(stderr, "%s: ERROR: FLAC file must have total_samples set in STREAMINFO in order to import/export cuesheet\n", filename);
FLAC__metadata_iterator_delete(iterator);
return false;
}
- is_cdda = (block->data.stream_info.channels == 1 || block->data.stream_info.channels == 2) && (block->data.stream_info.bits_per_sample == 16) && (block->data.stream_info.sample_rate == 44100);
+ sample_rate = block->data.stream_info.sample_rate;
+ is_cdda = (block->data.stream_info.channels == 1 || block->data.stream_info.channels == 2) && (block->data.stream_info.bits_per_sample == 16) && (sample_rate == 44100);
}
else if(block->type == FLAC__METADATA_TYPE_CUESHEET)
cuesheet = block;
} while(FLAC__metadata_iterator_next(iterator));
if(lead_out_offset == 0) {
- fprintf(stderr, "%s: ERROR: FLAC stream has no STREAMINFO block\n", filename);
+ flac_fprintf(stderr, "%s: ERROR: FLAC stream has no STREAMINFO block\n", filename);
+ FLAC__metadata_iterator_delete(iterator);
+ return false;
+ }
+
+ if(sample_rate == 0) {
+ flac_fprintf(stderr, "%s: ERROR: cannot parse cuesheet when sample rate is unknown\n", filename);
FLAC__metadata_iterator_delete(iterator);
return false;
}
@@ -69,11 +78,11 @@ FLAC__bool do_shorthand_operation__cuesheet(const char *filename, FLAC__Metadata
switch(operation->type) {
case OP__IMPORT_CUESHEET_FROM:
if(0 != cuesheet) {
- fprintf(stderr, "%s: ERROR: FLAC file already has CUESHEET block\n", filename);
+ flac_fprintf(stderr, "%s: ERROR: FLAC file already has CUESHEET block\n", filename);
ok = false;
}
else {
- ok = import_cs_from(filename, &cuesheet, operation->argument.import_cuesheet_from.filename, needs_write, lead_out_offset, is_cdda, operation->argument.import_cuesheet_from.add_seekpoint_link);
+ ok = import_cs_from(filename, &cuesheet, operation->argument.import_cuesheet_from.filename, needs_write, lead_out_offset, sample_rate, is_cdda, operation->argument.import_cuesheet_from.add_seekpoint_link);
if(ok) {
/* append CUESHEET block */
while(FLAC__metadata_iterator_next(iterator))
@@ -88,7 +97,7 @@ FLAC__bool do_shorthand_operation__cuesheet(const char *filename, FLAC__Metadata
break;
case OP__EXPORT_CUESHEET_TO:
if(0 == cuesheet) {
- fprintf(stderr, "%s: ERROR: FLAC file has no CUESHEET block\n", filename);
+ flac_fprintf(stderr, "%s: ERROR: FLAC file has no CUESHEET block\n", filename);
ok = false;
}
else
@@ -108,7 +117,7 @@ FLAC__bool do_shorthand_operation__cuesheet(const char *filename, FLAC__Metadata
* local routines
*/
-FLAC__bool import_cs_from(const char *filename, FLAC__StreamMetadata **cuesheet, const char *cs_filename, FLAC__bool *needs_write, FLAC__uint64 lead_out_offset, FLAC__bool is_cdda, Argument_AddSeekpoint *add_seekpoint_link)
+FLAC__bool import_cs_from(const char *filename, FLAC__StreamMetadata **cuesheet, const char *cs_filename, FLAC__bool *needs_write, FLAC__uint64 lead_out_offset, unsigned sample_rate, FLAC__bool is_cdda, Argument_AddSeekpoint *add_seekpoint_link)
{
FILE *f;
const char *error_message;
@@ -116,55 +125,52 @@ FLAC__bool import_cs_from(const char *filename, FLAC__StreamMetadata **cuesheet,
unsigned last_line_read;
if(0 == cs_filename || strlen(cs_filename) == 0) {
- fprintf(stderr, "%s: ERROR: empty import file name\n", filename);
+ flac_fprintf(stderr, "%s: ERROR: empty import file name\n", filename);
return false;
}
if(0 == strcmp(cs_filename, "-"))
f = stdin;
else
- f = fopen(cs_filename, "r");
+ f = flac_fopen(cs_filename, "r");
if(0 == f) {
- fprintf(stderr, "%s: ERROR: can't open import file %s: %s\n", filename, cs_filename, strerror(errno));
+ flac_fprintf(stderr, "%s: ERROR: can't open import file %s: %s\n", filename, cs_filename, strerror(errno));
return false;
}
- *cuesheet = grabbag__cuesheet_parse(f, &error_message, &last_line_read, is_cdda, lead_out_offset);
+ *cuesheet = grabbag__cuesheet_parse(f, &error_message, &last_line_read, sample_rate, is_cdda, lead_out_offset);
if(f != stdin)
fclose(f);
if(0 == *cuesheet) {
- fprintf(stderr, "%s: ERROR: while parsing cuesheet \"%s\" on line %u: %s\n", filename, cs_filename, last_line_read, error_message);
+ flac_fprintf(stderr, "%s: ERROR: while parsing cuesheet \"%s\" on line %u: %s\n", filename, cs_filename, last_line_read, error_message);
return false;
}
if(!FLAC__format_cuesheet_is_legal(&(*cuesheet)->data.cue_sheet, /*check_cd_da_subset=*/false, &error_message)) {
- fprintf(stderr, "%s: ERROR parsing cuesheet \"%s\": %s\n", filename, cs_filename, error_message);
+ flac_fprintf(stderr, "%s: ERROR parsing cuesheet \"%s\": %s\n", filename, cs_filename, error_message);
+ FLAC__metadata_object_delete(*cuesheet);
return false;
}
/* if we're expecting CDDA, warn about non-compliance */
if(is_cdda && !FLAC__format_cuesheet_is_legal(&(*cuesheet)->data.cue_sheet, /*check_cd_da_subset=*/true, &error_message)) {
- fprintf(stderr, "%s: WARNING cuesheet \"%s\" is not audio CD compliant: %s\n", filename, cs_filename, error_message);
+ flac_fprintf(stderr, "%s: WARNING cuesheet \"%s\" is not audio CD compliant: %s\n", filename, cs_filename, error_message);
(*cuesheet)->data.cue_sheet.is_cd = false;
}
/* add seekpoints for each index point if required */
if(0 != seekpoint_specification) {
char spec[128];
- unsigned track, index;
+ unsigned track, indx;
const FLAC__StreamMetadata_CueSheet *cs = &(*cuesheet)->data.cue_sheet;
if(0 == *seekpoint_specification)
*seekpoint_specification = local_strdup("");
for(track = 0; track < cs->num_tracks; track++) {
const FLAC__StreamMetadata_CueSheet_Track *tr = cs->tracks+track;
- for(index = 0; index < tr->num_indices; index++) {
-#ifdef _MSC_VER
- sprintf(spec, "%I64u;", tr->offset + tr->indices[index].offset);
-#else
- sprintf(spec, "%llu;", (unsigned long long)(tr->offset + tr->indices[index].offset));
-#endif
+ for(indx = 0; indx < tr->num_indices; indx++) {
+ flac_snprintf(spec, sizeof (spec), "%" PRIu64 ";", (tr->offset + tr->indices[indx].offset));
local_strcat(seekpoint_specification, spec);
}
}
@@ -181,30 +187,28 @@ FLAC__bool export_cs_to(const char *filename, const FLAC__StreamMetadata *cueshe
size_t reflen;
if(0 == cs_filename || strlen(cs_filename) == 0) {
- fprintf(stderr, "%s: ERROR: empty export file name\n", filename);
+ flac_fprintf(stderr, "%s: ERROR: empty export file name\n", filename);
return false;
}
if(0 == strcmp(cs_filename, "-"))
f = stdout;
else
- f = fopen(cs_filename, "w");
+ f = flac_fopen(cs_filename, "w");
if(0 == f) {
- fprintf(stderr, "%s: ERROR: can't open export file %s: %s\n", filename, cs_filename, strerror(errno));
+ flac_fprintf(stderr, "%s: ERROR: can't open export file %s: %s\n", filename, cs_filename, strerror(errno));
return false;
}
reflen = strlen(filename) + 7 + 1;
if(0 == (ref = malloc(reflen))) {
- fprintf(stderr, "%s: ERROR: allocating memory\n", filename);
+ flac_fprintf(stderr, "%s: ERROR: allocating memory\n", filename);
+ if(f != stdout)
+ fclose(f);
return false;
}
-#if defined _MSC_VER || defined __MINGW32__
- _snprintf(ref, reflen, "\"%s\" FLAC", filename);
-#else
- snprintf(ref, reflen, "\"%s\" FLAC", filename);
-#endif
+ flac_snprintf(ref, reflen, "\"%s\" FLAC", filename);
grabbag__cuesheet_emit(f, cuesheet, ref);
@@ -212,6 +216,11 @@ FLAC__bool export_cs_to(const char *filename, const FLAC__StreamMetadata *cueshe
if(f != stdout)
fclose(f);
+#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+ /* Delete output file when fuzzing */
+ if(f != stdout)
+ flac_unlink(cs_filename);
+#endif
return true;
}
diff --git a/3rdparty/libflac/src/metaflac/operations_shorthand_picture.c b/3rdparty/libflac/src/metaflac/operations_shorthand_picture.c
index 9045aaeb6cf..6bb459baa30 100644
--- a/3rdparty/libflac/src/metaflac/operations_shorthand_picture.c
+++ b/3rdparty/libflac/src/metaflac/operations_shorthand_picture.c
@@ -1,5 +1,6 @@
/* metaflac - Command-line FLAC metadata editor
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,12 +12,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -94,9 +95,9 @@ FLAC__bool do_shorthand_operation__picture(const char *filename, FLAC__Metadata_
} while(FLAC__metadata_iterator_next(iterator) && 0 == picture);
if(0 == picture) {
if(block_number < 0)
- fprintf(stderr, "%s: ERROR: FLAC file has no PICTURE block\n", filename);
+ flac_fprintf(stderr, "%s: ERROR: FLAC file has no PICTURE block\n", filename);
else
- fprintf(stderr, "%s: ERROR: FLAC file has no PICTURE block at block #%d\n", filename, block_number);
+ flac_fprintf(stderr, "%s: ERROR: FLAC file has no PICTURE block at block #%d\n", filename, block_number);
ok = false;
}
else
@@ -122,19 +123,21 @@ FLAC__bool import_pic_from(const char *filename, FLAC__StreamMetadata **picture,
const char *error_message;
if(0 == specification || strlen(specification) == 0) {
- fprintf(stderr, "%s: ERROR: empty picture specification\n", filename);
+ flac_fprintf(stderr, "%s: ERROR: empty picture specification\n", filename);
return false;
}
*picture = grabbag__picture_parse_specification(specification, &error_message);
if(0 == *picture) {
- fprintf(stderr, "%s: ERROR: while parsing picture specification \"%s\": %s\n", filename, specification, error_message);
+ flac_fprintf(stderr, "%s: ERROR: while parsing picture specification \"%s\": %s\n", filename, specification, error_message);
return false;
}
if(!FLAC__format_picture_is_legal(&(*picture)->data.picture, &error_message)) {
- fprintf(stderr, "%s: ERROR: new PICTURE block for \"%s\" is illegal: %s\n", filename, specification, error_message);
+ flac_fprintf(stderr, "%s: ERROR: new PICTURE block for \"%s\" is illegal: %s\n", filename, specification, error_message);
+ FLAC__metadata_object_delete(*picture);
+ *picture = 0;
return false;
}
@@ -148,26 +151,34 @@ FLAC__bool export_pic_to(const char *filename, const FLAC__StreamMetadata *pictu
const FLAC__uint32 len = picture->data.picture.data_length;
if(0 == pic_filename || strlen(pic_filename) == 0) {
- fprintf(stderr, "%s: ERROR: empty export file name\n", filename);
+ flac_fprintf(stderr, "%s: ERROR: empty export file name\n", filename);
return false;
}
if(0 == strcmp(pic_filename, "-"))
f = grabbag__file_get_binary_stdout();
else
- f = fopen(pic_filename, "wb");
+ f = flac_fopen(pic_filename, "wb");
if(0 == f) {
- fprintf(stderr, "%s: ERROR: can't open export file %s: %s\n", filename, pic_filename, strerror(errno));
+ flac_fprintf(stderr, "%s: ERROR: can't open export file %s: %s\n", filename, pic_filename, strerror(errno));
return false;
}
if(fwrite(picture->data.picture.data, 1, len, f) != len) {
- fprintf(stderr, "%s: ERROR: writing PICTURE data to file\n", filename);
+ flac_fprintf(stderr, "%s: ERROR: writing PICTURE data to file\n", filename);
+ if(f != stdout)
+ fclose(f);
return false;
}
if(f != stdout)
fclose(f);
+#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+ /* Delete output file when fuzzing */
+ if(f != stdout)
+ flac_unlink(pic_filename);
+#endif
+
return true;
}
diff --git a/3rdparty/libflac/src/metaflac/operations_shorthand_seektable.c b/3rdparty/libflac/src/metaflac/operations_shorthand_seektable.c
index 4f4fb5d9f64..c9175b36862 100644
--- a/3rdparty/libflac/src/metaflac/operations_shorthand_seektable.c
+++ b/3rdparty/libflac/src/metaflac/operations_shorthand_seektable.c
@@ -1,5 +1,6 @@
/* metaflac - Command-line FLAC metadata editor
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,12 +12,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -53,7 +54,8 @@ FLAC__bool do_shorthand_operation__add_seekpoints(const char *filename, FLAC__Me
} while(!found_seektable_block && FLAC__metadata_iterator_next(iterator));
if(total_samples == 0) {
- fprintf(stderr, "%s: ERROR: cannot add seekpoints because STREAMINFO block does not specify total_samples\n", filename);
+ flac_fprintf(stderr, "%s: ERROR: cannot add seekpoints because STREAMINFO block does not specify total_samples\n", filename);
+ FLAC__metadata_iterator_delete(iterator);
return false;
}
@@ -67,6 +69,7 @@ FLAC__bool do_shorthand_operation__add_seekpoints(const char *filename, FLAC__Me
if(!FLAC__metadata_iterator_insert_block_after(iterator, block)) {
print_error_with_chain_status(chain, "%s: ERROR: adding new SEEKTABLE block to metadata", filename);
FLAC__metadata_object_delete(block);
+ FLAC__metadata_iterator_delete(iterator);
return false;
}
/* iterator is left pointing to new block */
@@ -79,7 +82,7 @@ FLAC__bool do_shorthand_operation__add_seekpoints(const char *filename, FLAC__Me
FLAC__ASSERT(block->type == FLAC__METADATA_TYPE_SEEKTABLE);
if(!grabbag__seektable_convert_specification_to_template(specification, /*only_explicit_placeholders=*/false, total_samples, sample_rate, block, /*spec_has_real_points=*/0)) {
- fprintf(stderr, "%s: ERROR (internal) preparing seektable with seekpoints\n", filename);
+ flac_fprintf(stderr, "%s: ERROR (internal) preparing seektable with seekpoints\n", filename);
return false;
}
@@ -178,7 +181,7 @@ FLAC__bool populate_seekpoint_values(const char *filename, FLAC__StreamMetadata
decoder = FLAC__stream_decoder_new();
if(0 == decoder) {
- fprintf(stderr, "%s: ERROR (--add-seekpoint) creating the decoder instance\n", filename);
+ flac_fprintf(stderr, "%s: ERROR (--add-seekpoint) creating the decoder instance\n", filename);
return false;
}
@@ -186,28 +189,28 @@ FLAC__bool populate_seekpoint_values(const char *filename, FLAC__StreamMetadata
FLAC__stream_decoder_set_metadata_ignore_all(decoder);
if(FLAC__stream_decoder_init_file(decoder, filename, write_callback_, /*metadata_callback=*/0, error_callback_, &client_data) != FLAC__STREAM_DECODER_INIT_STATUS_OK) {
- fprintf(stderr, "%s: ERROR (--add-seekpoint) initializing the decoder instance (%s)\n", filename, FLAC__stream_decoder_get_resolved_state_string(decoder));
+ flac_fprintf(stderr, "%s: ERROR (--add-seekpoint) initializing the decoder instance (%s)\n", filename, FLAC__stream_decoder_get_resolved_state_string(decoder));
ok = false;
}
if(ok && !FLAC__stream_decoder_process_until_end_of_metadata(decoder)) {
- fprintf(stderr, "%s: ERROR (--add-seekpoint) decoding file (%s)\n", filename, FLAC__stream_decoder_get_resolved_state_string(decoder));
+ flac_fprintf(stderr, "%s: ERROR (--add-seekpoint) decoding file (%s)\n", filename, FLAC__stream_decoder_get_resolved_state_string(decoder));
ok = false;
}
if(ok && !FLAC__stream_decoder_get_decode_position(decoder, &client_data.audio_offset)) {
- fprintf(stderr, "%s: ERROR (--add-seekpoint) decoding file\n", filename);
+ flac_fprintf(stderr, "%s: ERROR (--add-seekpoint) decoding file\n", filename);
ok = false;
}
client_data.last_offset = client_data.audio_offset;
if(ok && !FLAC__stream_decoder_process_until_end_of_stream(decoder)) {
- fprintf(stderr, "%s: ERROR (--add-seekpoint) decoding file (%s)\n", filename, FLAC__stream_decoder_get_resolved_state_string(decoder));
+ flac_fprintf(stderr, "%s: ERROR (--add-seekpoint) decoding file (%s)\n", filename, FLAC__stream_decoder_get_resolved_state_string(decoder));
ok = false;
}
if(ok && client_data.error_occurred) {
- fprintf(stderr, "%s: ERROR (--add-seekpoint) decoding file (%u:%s)\n", filename, (unsigned)client_data.error_status, FLAC__StreamDecoderErrorStatusString[client_data.error_status]);
+ flac_fprintf(stderr, "%s: ERROR (--add-seekpoint) decoding file (%u:%s)\n", filename, (unsigned)client_data.error_status, FLAC__StreamDecoderErrorStatusString[client_data.error_status]);
ok = false;
}
diff --git a/3rdparty/libflac/src/metaflac/operations_shorthand_streaminfo.c b/3rdparty/libflac/src/metaflac/operations_shorthand_streaminfo.c
index b4593f50e24..32198416901 100644
--- a/3rdparty/libflac/src/metaflac/operations_shorthand_streaminfo.c
+++ b/3rdparty/libflac/src/metaflac/operations_shorthand_streaminfo.c
@@ -1,5 +1,6 @@
/* metaflac - Command-line FLAC metadata editor
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,12 +12,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -24,6 +25,7 @@
#include "utils.h"
#include "FLAC/assert.h"
#include "FLAC/metadata.h"
+#include "share/compat.h"
#include <string.h>
#include "operations_shorthand.h"
@@ -45,7 +47,7 @@ FLAC__bool do_shorthand_operation__streaminfo(const char *filename, FLAC__bool p
FLAC__ASSERT(block->type == FLAC__METADATA_TYPE_STREAMINFO);
if(prefix_with_filename)
- printf("%s:", filename);
+ flac_printf("%s:", filename);
switch(operation->type) {
case OP__SHOW_MD5SUM:
@@ -75,11 +77,7 @@ FLAC__bool do_shorthand_operation__streaminfo(const char *filename, FLAC__bool p
printf("%u\n", block->data.stream_info.bits_per_sample);
break;
case OP__SHOW_TOTAL_SAMPLES:
-#ifdef _MSC_VER
- printf("%I64u\n", block->data.stream_info.total_samples);
-#else
- printf("%llu\n", (unsigned long long)block->data.stream_info.total_samples);
-#endif
+ printf("%" PRIu64 "\n", block->data.stream_info.total_samples);
break;
case OP__SET_MD5SUM:
memcpy(block->data.stream_info.md5sum, operation->argument.streaminfo_md5.value, 16);
diff --git a/3rdparty/libflac/src/metaflac/operations_shorthand_vorbiscomment.c b/3rdparty/libflac/src/metaflac/operations_shorthand_vorbiscomment.c
index ba00859b502..27c9e4c87a3 100644
--- a/3rdparty/libflac/src/metaflac/operations_shorthand_vorbiscomment.c
+++ b/3rdparty/libflac/src/metaflac/operations_shorthand_vorbiscomment.c
@@ -1,5 +1,6 @@
/* metaflac - Command-line FLAC metadata editor
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,12 +12,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -29,8 +30,10 @@
#include <stdlib.h>
#include <string.h>
#include "operations_shorthand.h"
+#include "share/compat.h"
static FLAC__bool remove_vc_all(const char *filename, FLAC__StreamMetadata *block, FLAC__bool *needs_write);
+static FLAC__bool remove_vc_all_except(const char *filename, FLAC__StreamMetadata *block, const char *field_name, FLAC__bool *needs_write);
static FLAC__bool remove_vc_field(const char *filename, FLAC__StreamMetadata *block, const char *field_name, FLAC__bool *needs_write);
static FLAC__bool remove_vc_firstfield(const char *filename, FLAC__StreamMetadata *block, const char *field_name, FLAC__bool *needs_write);
static FLAC__bool set_vc_field(const char *filename, FLAC__StreamMetadata *block, const Argument_VcField *field, FLAC__bool *needs_write, FLAC__bool raw);
@@ -88,6 +91,9 @@ FLAC__bool do_shorthand_operation__vorbis_comment(const char *filename, FLAC__bo
case OP__REMOVE_VC_ALL:
ok = remove_vc_all(filename, block, needs_write);
break;
+ case OP__REMOVE_VC_ALL_EXCEPT:
+ ok = remove_vc_all_except(filename, block, operation->argument.vc_field_name.value, needs_write);
+ break;
case OP__REMOVE_VC_FIELD:
ok = remove_vc_field(filename, block, operation->argument.vc_field_name.value, needs_write);
break;
@@ -95,7 +101,11 @@ FLAC__bool do_shorthand_operation__vorbis_comment(const char *filename, FLAC__bo
ok = remove_vc_firstfield(filename, block, operation->argument.vc_field_name.value, needs_write);
break;
case OP__SET_VC_FIELD:
+#ifdef _WIN32 /* do not convert anything or things will break */
+ ok = set_vc_field(filename, block, &operation->argument.vc_field, needs_write, true);
+#else
ok = set_vc_field(filename, block, &operation->argument.vc_field, needs_write, raw);
+#endif
break;
case OP__IMPORT_VC_FROM:
ok = import_vc_from(filename, block, &operation->argument.filename, needs_write, raw);
@@ -126,7 +136,7 @@ FLAC__bool remove_vc_all(const char *filename, FLAC__StreamMetadata *block, FLAC
if(0 != block->data.vorbis_comment.comments) {
FLAC__ASSERT(block->data.vorbis_comment.num_comments > 0);
if(!FLAC__metadata_object_vorbiscomment_resize_comments(block, 0)) {
- fprintf(stderr, "%s: ERROR: memory allocation failure\n", filename);
+ flac_fprintf(stderr, "%s: ERROR: memory allocation failure\n", filename);
return false;
}
*needs_write = true;
@@ -138,6 +148,51 @@ FLAC__bool remove_vc_all(const char *filename, FLAC__StreamMetadata *block, FLAC
return true;
}
+FLAC__bool remove_vc_all_except(const char *filename, FLAC__StreamMetadata *block, const char *field_name, FLAC__bool *needs_write)
+{
+ char * field_names[200];
+ uint32_t field_name_length, i;
+ int j, num_field_names;
+
+ FLAC__ASSERT(0 != block);
+ FLAC__ASSERT(block->type == FLAC__METADATA_TYPE_VORBIS_COMMENT);
+ FLAC__ASSERT(0 != needs_write);
+
+ field_name_length = strlen(field_name);
+ field_names[0] = (void *)field_name;
+
+ for(num_field_names = 1; num_field_names < 200; num_field_names++) {
+ char * separator = strchr(field_names[num_field_names-1], '=');
+ if(separator == 0 || separator >= field_name + field_name_length)
+ break;
+ field_names[num_field_names] = separator+1;
+ }
+
+ if(num_field_names > 200) {
+ flac_fprintf(stderr, "%s: ERROR: too many field names\n", filename);
+ return false;
+ }
+
+ for(i = 0; i < block->data.vorbis_comment.num_comments; ) {
+ int field_name_found = false;
+ for(j = 0; j < num_field_names; j++) {
+ const uint32_t length = (j == (num_field_names - 1))?(uint32_t)strlen(field_names[j]):(uint32_t)(strchr(field_names[j],'=')-field_names[j]);
+ if(FLAC__metadata_object_vorbiscomment_entry_matches(block->data.vorbis_comment.comments[i], field_names[j], length)) {
+ field_name_found = true;
+ break;
+ }
+ }
+ if(!field_name_found) {
+ FLAC__metadata_object_vorbiscomment_delete_comment(block, i);
+ *needs_write = true;
+ }
+ else
+ i++;
+ }
+
+ return true;
+}
+
FLAC__bool remove_vc_field(const char *filename, FLAC__StreamMetadata *block, const char *field_name, FLAC__bool *needs_write)
{
int n;
@@ -147,7 +202,7 @@ FLAC__bool remove_vc_field(const char *filename, FLAC__StreamMetadata *block, co
n = FLAC__metadata_object_vorbiscomment_remove_entries_matching(block, field_name);
if(n < 0) {
- fprintf(stderr, "%s: ERROR: memory allocation failure\n", filename);
+ flac_fprintf(stderr, "%s: ERROR: memory allocation failure\n", filename);
return false;
}
else if(n > 0)
@@ -165,7 +220,7 @@ FLAC__bool remove_vc_firstfield(const char *filename, FLAC__StreamMetadata *bloc
n = FLAC__metadata_object_vorbiscomment_remove_entry_matching(block, field_name);
if(n < 0) {
- fprintf(stderr, "%s: ERROR: memory allocation failure\n", filename);
+ flac_fprintf(stderr, "%s: ERROR: memory allocation failure\n", filename);
return false;
}
else if(n > 0)
@@ -188,20 +243,20 @@ FLAC__bool set_vc_field(const char *filename, FLAC__StreamMetadata *block, const
/* read the file into 'data' */
FILE *f = 0;
char *data = 0;
- const off_t size = grabbag__file_get_filesize(field->field_value);
+ const FLAC__off_t size = grabbag__file_get_filesize(field->field_value);
if(size < 0) {
- fprintf(stderr, "%s: ERROR: can't open file '%s' for '%s' tag value\n", filename, field->field_value, field->field_name);
+ flac_fprintf(stderr, "%s: ERROR: can't open file '%s' for '%s' tag value\n", filename, field->field_value, field->field_name);
return false;
}
if(size >= 0x100000) { /* magic arbitrary limit, actual format limit is near 16MB */
- fprintf(stderr, "%s: ERROR: file '%s' for '%s' tag value is too large\n", filename, field->field_value, field->field_name);
+ flac_fprintf(stderr, "%s: ERROR: file '%s' for '%s' tag value is too large\n", filename, field->field_value, field->field_name);
return false;
}
if(0 == (data = malloc(size+1)))
die("out of memory allocating tag value");
data[size] = '\0';
- if(0 == (f = fopen(field->field_value, "rb")) || fread(data, 1, size, f) != (size_t)size) {
- fprintf(stderr, "%s: ERROR: while reading file '%s' for '%s' tag value: %s\n", filename, field->field_value, field->field_name, strerror(errno));
+ if(0 == (f = flac_fopen(field->field_value, "rb")) || fread(data, 1, size, f) != (size_t)size) {
+ flac_fprintf(stderr, "%s: ERROR: while reading file '%s' for '%s' tag value: %s\n", filename, field->field_value, field->field_name, strerror(errno));
free(data);
if(f)
fclose(f);
@@ -210,7 +265,7 @@ FLAC__bool set_vc_field(const char *filename, FLAC__StreamMetadata *block, const
fclose(f);
if(strlen(data) != (size_t)size) {
free(data);
- fprintf(stderr, "%s: ERROR: file '%s' for '%s' tag value has embedded NULs\n", filename, field->field_value, field->field_name);
+ flac_fprintf(stderr, "%s: ERROR: file '%s' for '%s' tag value has embedded NULs\n", filename, field->field_value, field->field_name);
return false;
}
@@ -223,19 +278,19 @@ FLAC__bool set_vc_field(const char *filename, FLAC__StreamMetadata *block, const
}
else {
free(data);
- fprintf(stderr, "%s: ERROR: converting file '%s' contents to UTF-8 for tag value\n", filename, field->field_value);
+ flac_fprintf(stderr, "%s: ERROR: converting file '%s' contents to UTF-8 for tag value\n", filename, field->field_value);
return false;
}
/* create and entry and append it */
if(!FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair(&entry, field->field_name, converted)) {
free(converted);
- fprintf(stderr, "%s: ERROR: file '%s' for '%s' tag value is not valid UTF-8\n", filename, field->field_value, field->field_name);
+ flac_fprintf(stderr, "%s: ERROR: file '%s' for '%s' tag value is not valid UTF-8\n", filename, field->field_value, field->field_name);
return false;
}
free(converted);
if(!FLAC__metadata_object_vorbiscomment_append_comment(block, entry, /*copy=*/false)) {
- fprintf(stderr, "%s: ERROR: memory allocation failure\n", filename);
+ flac_fprintf(stderr, "%s: ERROR: memory allocation failure\n", filename);
return false;
}
@@ -244,6 +299,7 @@ FLAC__bool set_vc_field(const char *filename, FLAC__StreamMetadata *block, const
}
else {
FLAC__bool needs_free = false;
+ entry.entry = (FLAC__byte *)field->field;
if(raw) {
entry.entry = (FLAC__byte *)field->field;
}
@@ -252,7 +308,7 @@ FLAC__bool set_vc_field(const char *filename, FLAC__StreamMetadata *block, const
needs_free = true;
}
else {
- fprintf(stderr, "%s: ERROR: converting comment '%s' to UTF-8\n", filename, field->field);
+ flac_fprintf(stderr, "%s: ERROR: converting comment '%s' to UTF-8\n", filename, field->field);
return false;
}
entry.length = strlen((const char *)entry.entry);
@@ -263,14 +319,14 @@ FLAC__bool set_vc_field(const char *filename, FLAC__StreamMetadata *block, const
* our previous parsing has already established that the field
* name is OK, so it must be the field value
*/
- fprintf(stderr, "%s: ERROR: tag value for '%s' is not valid UTF-8\n", filename, field->field_name);
+ flac_fprintf(stderr, "%s: ERROR: tag value for '%s' is not valid UTF-8\n", filename, field->field_name);
return false;
}
if(!FLAC__metadata_object_vorbiscomment_append_comment(block, entry, /*copy=*/true)) {
if(needs_free)
free(converted);
- fprintf(stderr, "%s: ERROR: memory allocation failure\n", filename);
+ flac_fprintf(stderr, "%s: ERROR: memory allocation failure\n", filename);
return false;
}
@@ -288,26 +344,25 @@ FLAC__bool import_vc_from(const char *filename, FLAC__StreamMetadata *block, con
FLAC__bool ret;
if(0 == vc_filename->value || strlen(vc_filename->value) == 0) {
- fprintf(stderr, "%s: ERROR: empty import file name\n", filename);
+ flac_fprintf(stderr, "%s: ERROR: empty import file name\n", filename);
return false;
}
if(0 == strcmp(vc_filename->value, "-"))
f = stdin;
else
- f = fopen(vc_filename->value, "r");
+ f = flac_fopen(vc_filename->value, "r");
if(0 == f) {
- fprintf(stderr, "%s: ERROR: can't open import file %s: %s\n", filename, vc_filename->value, strerror(errno));
+ flac_fprintf(stderr, "%s: ERROR: can't open import file %s: %s\n", filename, vc_filename->value, strerror(errno));
return false;
}
ret = true;
- while(ret && !feof(f)) {
- fgets(line, sizeof(line), f);
+ while(ret && !feof(f) && fgets(line, sizeof(line), f) != NULL) {
if(!feof(f)) {
char *p = strchr(line, '\n');
if(0 == p) {
- fprintf(stderr, "%s: ERROR: line too long, aborting\n", vc_filename->value);
+ flac_fprintf(stderr, "%s: ERROR: line too long, aborting\n", vc_filename->value);
ret = false;
}
else {
@@ -318,7 +373,7 @@ FLAC__bool import_vc_from(const char *filename, FLAC__StreamMetadata *block, con
field.field_value_from_file = false;
if(!parse_vorbis_comment_field(line, &field.field, &field.field_name, &field.field_value, &field.field_value_length, &violation)) {
FLAC__ASSERT(0 != violation);
- fprintf(stderr, "%s: ERROR: malformed vorbis comment field \"%s\",\n %s\n", vc_filename->value, line, violation);
+ flac_fprintf(stderr, "%s: ERROR: malformed vorbis comment field \"%s\",\n %s\n", vc_filename->value, line, violation);
ret = false;
}
else {
@@ -345,16 +400,16 @@ FLAC__bool export_vc_to(const char *filename, FLAC__StreamMetadata *block, const
FLAC__bool ret;
if(0 == vc_filename->value || strlen(vc_filename->value) == 0) {
- fprintf(stderr, "%s: ERROR: empty export file name\n", filename);
+ flac_fprintf(stderr, "%s: ERROR: empty export file name\n", filename);
return false;
}
if(0 == strcmp(vc_filename->value, "-"))
f = stdout;
else
- f = fopen(vc_filename->value, "w");
+ f = flac_fopen(vc_filename->value, "w");
if(0 == f) {
- fprintf(stderr, "%s: ERROR: can't open export file %s: %s\n", filename, vc_filename->value, strerror(errno));
+ flac_fprintf(stderr, "%s: ERROR: can't open export file %s: %s\n", filename, vc_filename->value, strerror(errno));
return false;
}
@@ -364,5 +419,12 @@ FLAC__bool export_vc_to(const char *filename, FLAC__StreamMetadata *block, const
if(f != stdout)
fclose(f);
+
+#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+ /* Delete output file when fuzzing */
+ if(f != stdout)
+ flac_unlink(vc_filename->value);
+#endif
+
return ret;
}
diff --git a/3rdparty/libflac/src/metaflac/options.c b/3rdparty/libflac/src/metaflac/options.c
index 56c441691f5..1b4b6f624b2 100644
--- a/3rdparty/libflac/src/metaflac/options.c
+++ b/3rdparty/libflac/src/metaflac/options.c
@@ -1,5 +1,6 @@
/* metaflac - Command-line FLAC metadata editor
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,12 +12,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -25,6 +26,7 @@
#include "utils.h"
#include "FLAC/assert.h"
#include "share/alloc.h"
+#include "share/compat.h"
#include "share/grabbag/replaygain.h"
#include <ctype.h>
#include <stdio.h>
@@ -62,21 +64,24 @@ struct share__option long_options_[] = {
{ "set-channels", 1, 0, 0 }, /* undocumented */
{ "set-bps", 1, 0, 0 }, /* undocumented */
{ "set-total-samples", 1, 0, 0 }, /* undocumented */ /* WATCHOUT: used by test/test_flac.sh on windows */
- { "show-vendor-tag", 0, 0, 0 },
- { "show-tag", 1, 0, 0 },
- { "remove-all-tags", 0, 0, 0 },
- { "remove-tag", 1, 0, 0 },
- { "remove-first-tag", 1, 0, 0 },
- { "set-tag", 1, 0, 0 },
- { "set-tag-from-file", 1, 0, 0 },
- { "import-tags-from", 1, 0, 0 },
- { "export-tags-to", 1, 0, 0 },
+ { "show-vendor-tag", 0, 0, 0 },
+ { "show-all-tags", 0, 0, 0 },
+ { "show-tag", 1, 0, 0 },
+ { "remove-all-tags", 0, 0, 0 },
+ { "remove-all-tags-except", 1, 0, 0 },
+ { "remove-tag", 1, 0, 0 },
+ { "remove-first-tag", 1, 0, 0 },
+ { "set-tag", 1, 0, 0 },
+ { "set-tag-from-file", 1, 0, 0 },
+ { "import-tags-from", 1, 0, 0 },
+ { "export-tags-to", 1, 0, 0 },
{ "import-cuesheet-from", 1, 0, 0 },
{ "export-cuesheet-to", 1, 0, 0 },
{ "import-picture-from", 1, 0, 0 },
{ "export-picture-to", 1, 0, 0 },
{ "add-seekpoint", 1, 0, 0 },
{ "add-replay-gain", 0, 0, 0 },
+ { "scan-replay-gain", 0, 0, 0 },
{ "remove-replay-gain", 0, 0, 0 },
{ "add-padding", 1, 0, 0 },
/* major operations */
@@ -111,6 +116,7 @@ static FLAC__bool parse_uint32(const char *src, FLAC__uint32 *dest);
static FLAC__bool parse_uint64(const char *src, FLAC__uint64 *dest);
static FLAC__bool parse_string(const char *src, char **dest);
static FLAC__bool parse_vorbis_comment_field_name(const char *field_ref, char **name, const char **violation);
+static FLAC__bool parse_vorbis_comment_field_names(const char *field_ref, char **names, const char **violation);
static FLAC__bool parse_add_seekpoint(const char *in, char **out, const char **violation);
static FLAC__bool parse_add_padding(const char *in, unsigned *out);
static FLAC__bool parse_block_number(const char *in, Argument_BlockNumber *out);
@@ -133,6 +139,8 @@ void init_options(CommandLineOptions *options)
options->cued_seekpoints = true;
options->show_long_help = false;
options->show_version = false;
+ options->data_format_is_binary = false;
+ options->data_format_is_binary_headerless = false;
options->application_data_format_is_hexdump = false;
options->ops.operations = 0;
@@ -177,8 +185,8 @@ FLAC__bool parse_options(int argc, char *argv[], CommandLineOptions *options)
options->prefix_with_filename = (argc - share__optind > 1);
if(share__optind >= argc && !options->show_long_help && !options->show_version) {
- fprintf(stderr,"ERROR: you must specify at least one FLAC file;\n");
- fprintf(stderr," metaflac cannot be used as a pipe\n");
+ flac_fprintf(stderr,"ERROR: you must specify at least one FLAC file;\n");
+ flac_fprintf(stderr," metaflac cannot be used as a pipe\n");
had_error = true;
}
@@ -186,7 +194,7 @@ FLAC__bool parse_options(int argc, char *argv[], CommandLineOptions *options)
if(options->num_files > 0) {
unsigned i = 0;
- if(0 == (options->filenames = (char**)safe_malloc_mul_2op_(sizeof(char*), /*times*/options->num_files)))
+ if(0 == (options->filenames = safe_malloc_mul_2op_(sizeof(char*), /*times*/options->num_files)))
die("out of memory allocating space for file names list");
while(share__optind < argc)
options->filenames[i++] = local_strdup(argv[share__optind++]);
@@ -194,40 +202,40 @@ FLAC__bool parse_options(int argc, char *argv[], CommandLineOptions *options)
if(options->args.checks.num_major_ops > 0) {
if(options->args.checks.num_major_ops > 1) {
- fprintf(stderr, "ERROR: you may only specify one major operation at a time\n");
+ flac_fprintf(stderr, "ERROR: you may only specify one major operation at a time\n");
had_error = true;
}
else if(options->args.checks.num_shorthand_ops > 0) {
- fprintf(stderr, "ERROR: you may not mix shorthand and major operations\n");
+ flac_fprintf(stderr, "ERROR: you may not mix shorthand and major operations\n");
had_error = true;
}
}
/* check for only one FLAC file used with certain options */
- if(options->num_files > 1) {
+ if(!had_error && options->num_files > 1) {
if(0 != find_shorthand_operation(options, OP__IMPORT_CUESHEET_FROM)) {
- fprintf(stderr, "ERROR: you may only specify one FLAC file when using '--import-cuesheet-from'\n");
+ flac_fprintf(stderr, "ERROR: you may only specify one FLAC file when using '--import-cuesheet-from'\n");
had_error = true;
}
if(0 != find_shorthand_operation(options, OP__EXPORT_CUESHEET_TO)) {
- fprintf(stderr, "ERROR: you may only specify one FLAC file when using '--export-cuesheet-to'\n");
+ flac_fprintf(stderr, "ERROR: you may only specify one FLAC file when using '--export-cuesheet-to'\n");
had_error = true;
}
if(0 != find_shorthand_operation(options, OP__EXPORT_PICTURE_TO)) {
- fprintf(stderr, "ERROR: you may only specify one FLAC file when using '--export-picture-to'\n");
+ flac_fprintf(stderr, "ERROR: you may only specify one FLAC file when using '--export-picture-to'\n");
had_error = true;
}
if(
0 != find_shorthand_operation(options, OP__IMPORT_VC_FROM) &&
0 == strcmp(find_shorthand_operation(options, OP__IMPORT_VC_FROM)->argument.filename.value, "-")
) {
- fprintf(stderr, "ERROR: you may only specify one FLAC file when using '--import-tags-from=-'\n");
+ flac_fprintf(stderr, "ERROR: you may only specify one FLAC file when using '--import-tags-from=-'\n");
had_error = true;
}
}
if(options->args.checks.has_block_type && options->args.checks.has_except_block_type) {
- fprintf(stderr, "ERROR: you may not specify both '--block-type' and '--except-block-type'\n");
+ flac_fprintf(stderr, "ERROR: you may not specify both '--block-type' and '--except-block-type'\n");
had_error = true;
}
@@ -249,7 +257,7 @@ FLAC__bool parse_options(int argc, char *argv[], CommandLineOptions *options)
}
}
- return !had_error;
+ return had_error;
}
void free_options(CommandLineOptions *options)
@@ -266,6 +274,7 @@ void free_options(CommandLineOptions *options)
case OP__SHOW_VC_FIELD:
case OP__REMOVE_VC_FIELD:
case OP__REMOVE_VC_FIRSTFIELD:
+ case OP__REMOVE_VC_ALL_EXCEPT:
if(0 != op->argument.vc_field_name.value)
free(op->argument.vc_field_name.value);
break;
@@ -399,7 +408,7 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
op = append_shorthand_operation(options, OP__SET_MD5SUM);
FLAC__ASSERT(0 != option_argument);
if(!parse_md5(option_argument, op->argument.streaminfo_md5.value)) {
- fprintf(stderr, "ERROR (--%s): bad MD5 sum\n", opt);
+ flac_fprintf(stderr, "ERROR (--%s): bad MD5 sum\n", opt);
ok = false;
}
else
@@ -408,7 +417,7 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
else if(0 == strcmp(opt, "set-min-blocksize")) {
op = append_shorthand_operation(options, OP__SET_MIN_BLOCKSIZE);
if(!parse_uint32(option_argument, &(op->argument.streaminfo_uint32.value)) || op->argument.streaminfo_uint32.value < FLAC__MIN_BLOCK_SIZE || op->argument.streaminfo_uint32.value > FLAC__MAX_BLOCK_SIZE) {
- fprintf(stderr, "ERROR (--%s): value must be >= %u and <= %u\n", opt, FLAC__MIN_BLOCK_SIZE, FLAC__MAX_BLOCK_SIZE);
+ flac_fprintf(stderr, "ERROR (--%s): value must be >= %u and <= %u\n", opt, FLAC__MIN_BLOCK_SIZE, FLAC__MAX_BLOCK_SIZE);
ok = false;
}
else
@@ -417,7 +426,7 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
else if(0 == strcmp(opt, "set-max-blocksize")) {
op = append_shorthand_operation(options, OP__SET_MAX_BLOCKSIZE);
if(!parse_uint32(option_argument, &(op->argument.streaminfo_uint32.value)) || op->argument.streaminfo_uint32.value < FLAC__MIN_BLOCK_SIZE || op->argument.streaminfo_uint32.value > FLAC__MAX_BLOCK_SIZE) {
- fprintf(stderr, "ERROR (--%s): value must be >= %u and <= %u\n", opt, FLAC__MIN_BLOCK_SIZE, FLAC__MAX_BLOCK_SIZE);
+ flac_fprintf(stderr, "ERROR (--%s): value must be >= %u and <= %u\n", opt, FLAC__MIN_BLOCK_SIZE, FLAC__MAX_BLOCK_SIZE);
ok = false;
}
else
@@ -426,7 +435,7 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
else if(0 == strcmp(opt, "set-min-framesize")) {
op = append_shorthand_operation(options, OP__SET_MIN_FRAMESIZE);
if(!parse_uint32(option_argument, &(op->argument.streaminfo_uint32.value)) || op->argument.streaminfo_uint32.value >= (1u<<FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN)) {
- fprintf(stderr, "ERROR (--%s): value must be a %u-bit unsigned integer\n", opt, FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN);
+ flac_fprintf(stderr, "ERROR (--%s): value must be a %u-bit unsigned integer\n", opt, FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN);
ok = false;
}
else
@@ -435,7 +444,7 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
else if(0 == strcmp(opt, "set-max-framesize")) {
op = append_shorthand_operation(options, OP__SET_MAX_FRAMESIZE);
if(!parse_uint32(option_argument, &(op->argument.streaminfo_uint32.value)) || op->argument.streaminfo_uint32.value >= (1u<<FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN)) {
- fprintf(stderr, "ERROR (--%s): value must be a %u-bit unsigned integer\n", opt, FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN);
+ flac_fprintf(stderr, "ERROR (--%s): value must be a %u-bit unsigned integer\n", opt, FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN);
ok = false;
}
else
@@ -444,7 +453,7 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
else if(0 == strcmp(opt, "set-sample-rate")) {
op = append_shorthand_operation(options, OP__SET_SAMPLE_RATE);
if(!parse_uint32(option_argument, &(op->argument.streaminfo_uint32.value)) || !FLAC__format_sample_rate_is_valid(op->argument.streaminfo_uint32.value)) {
- fprintf(stderr, "ERROR (--%s): invalid sample rate\n", opt);
+ flac_fprintf(stderr, "ERROR (--%s): invalid sample rate\n", opt);
ok = false;
}
else
@@ -453,7 +462,7 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
else if(0 == strcmp(opt, "set-channels")) {
op = append_shorthand_operation(options, OP__SET_CHANNELS);
if(!parse_uint32(option_argument, &(op->argument.streaminfo_uint32.value)) || op->argument.streaminfo_uint32.value > FLAC__MAX_CHANNELS) {
- fprintf(stderr, "ERROR (--%s): value must be > 0 and <= %u\n", opt, FLAC__MAX_CHANNELS);
+ flac_fprintf(stderr, "ERROR (--%s): value must be > 0 and <= %u\n", opt, FLAC__MAX_CHANNELS);
ok = false;
}
else
@@ -462,7 +471,7 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
else if(0 == strcmp(opt, "set-bps")) {
op = append_shorthand_operation(options, OP__SET_BPS);
if(!parse_uint32(option_argument, &(op->argument.streaminfo_uint32.value)) || op->argument.streaminfo_uint32.value < FLAC__MIN_BITS_PER_SAMPLE || op->argument.streaminfo_uint32.value > FLAC__MAX_BITS_PER_SAMPLE) {
- fprintf(stderr, "ERROR (--%s): value must be >= %u and <= %u\n", opt, FLAC__MIN_BITS_PER_SAMPLE, FLAC__MAX_BITS_PER_SAMPLE);
+ flac_fprintf(stderr, "ERROR (--%s): value must be >= %u and <= %u\n", opt, FLAC__MIN_BITS_PER_SAMPLE, FLAC__MAX_BITS_PER_SAMPLE);
ok = false;
}
else
@@ -471,7 +480,7 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
else if(0 == strcmp(opt, "set-total-samples")) {
op = append_shorthand_operation(options, OP__SET_TOTAL_SAMPLES);
if(!parse_uint64(option_argument, &(op->argument.streaminfo_uint64.value)) || op->argument.streaminfo_uint64.value >= (((FLAC__uint64)1)<<FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN)) {
- fprintf(stderr, "ERROR (--%s): value must be a %u-bit unsigned integer\n", opt, FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN);
+ flac_fprintf(stderr, "ERROR (--%s): value must be a %u-bit unsigned integer\n", opt, FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN);
ok = false;
}
else
@@ -486,20 +495,34 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
FLAC__ASSERT(0 != option_argument);
if(!parse_vorbis_comment_field_name(option_argument, &(op->argument.vc_field_name.value), &violation)) {
FLAC__ASSERT(0 != violation);
- fprintf(stderr, "ERROR (--%s): malformed vorbis comment field name \"%s\",\n %s\n", opt, option_argument, violation);
+ flac_fprintf(stderr, "ERROR (--%s): malformed vorbis comment field name \"%s\",\n %s\n", opt, option_argument, violation);
ok = false;
}
}
+ else if(0 == strcmp(opt, "show-all-tags")) {
+ op = append_shorthand_operation(options, OP__EXPORT_VC_TO);
+ parse_string("-",&op->argument.filename.value);
+ }
else if(0 == strcmp(opt, "remove-all-tags")) {
(void) append_shorthand_operation(options, OP__REMOVE_VC_ALL);
}
+ else if(0 == strcmp(opt, "remove-all-tags-except")) {
+ const char *violation;
+ op = append_shorthand_operation(options, OP__REMOVE_VC_ALL_EXCEPT);
+ FLAC__ASSERT(0 != option_argument);
+ if(!parse_vorbis_comment_field_names(option_argument, &(op->argument.vc_field_name.value), &violation)) {
+ FLAC__ASSERT(0 != violation);
+ flac_fprintf(stderr, "ERROR (--%s): malformed vorbis comment field name \"%s\",\n %s\n", opt, option_argument, violation);
+ ok = false;
+ }
+ }
else if(0 == strcmp(opt, "remove-tag")) {
const char *violation;
op = append_shorthand_operation(options, OP__REMOVE_VC_FIELD);
FLAC__ASSERT(0 != option_argument);
if(!parse_vorbis_comment_field_name(option_argument, &(op->argument.vc_field_name.value), &violation)) {
FLAC__ASSERT(0 != violation);
- fprintf(stderr, "ERROR (--%s): malformed vorbis comment field name \"%s\",\n %s\n", opt, option_argument, violation);
+ flac_fprintf(stderr, "ERROR (--%s): malformed vorbis comment field name \"%s\",\n %s\n", opt, option_argument, violation);
ok = false;
}
}
@@ -509,7 +532,7 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
FLAC__ASSERT(0 != option_argument);
if(!parse_vorbis_comment_field_name(option_argument, &(op->argument.vc_field_name.value), &violation)) {
FLAC__ASSERT(0 != violation);
- fprintf(stderr, "ERROR (--%s): malformed vorbis comment field name \"%s\",\n %s\n", opt, option_argument, violation);
+ flac_fprintf(stderr, "ERROR (--%s): malformed vorbis comment field name \"%s\",\n %s\n", opt, option_argument, violation);
ok = false;
}
}
@@ -520,7 +543,7 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
op->argument.vc_field.field_value_from_file = false;
if(!parse_vorbis_comment_field(option_argument, &(op->argument.vc_field.field), &(op->argument.vc_field.field_name), &(op->argument.vc_field.field_value), &(op->argument.vc_field.field_value_length), &violation)) {
FLAC__ASSERT(0 != violation);
- fprintf(stderr, "ERROR (--%s): malformed vorbis comment field \"%s\",\n %s\n", opt, option_argument, violation);
+ flac_fprintf(stderr, "ERROR (--%s): malformed vorbis comment field \"%s\",\n %s\n", opt, option_argument, violation);
ok = false;
}
}
@@ -531,7 +554,7 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
op->argument.vc_field.field_value_from_file = true;
if(!parse_vorbis_comment_field(option_argument, &(op->argument.vc_field.field), &(op->argument.vc_field.field_name), &(op->argument.vc_field.field_value), &(op->argument.vc_field.field_value_length), &violation)) {
FLAC__ASSERT(0 != violation);
- fprintf(stderr, "ERROR (--%s): malformed vorbis comment field \"%s\",\n %s\n", opt, option_argument, violation);
+ flac_fprintf(stderr, "ERROR (--%s): malformed vorbis comment field \"%s\",\n %s\n", opt, option_argument, violation);
ok = false;
}
}
@@ -539,7 +562,7 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
op = append_shorthand_operation(options, OP__IMPORT_VC_FROM);
FLAC__ASSERT(0 != option_argument);
if(!parse_string(option_argument, &(op->argument.filename.value))) {
- fprintf(stderr, "ERROR (--%s): missing filename\n", opt);
+ flac_fprintf(stderr, "ERROR (--%s): missing filename\n", opt);
ok = false;
}
}
@@ -547,19 +570,19 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
op = append_shorthand_operation(options, OP__EXPORT_VC_TO);
FLAC__ASSERT(0 != option_argument);
if(!parse_string(option_argument, &(op->argument.filename.value))) {
- fprintf(stderr, "ERROR (--%s): missing filename\n", opt);
+ flac_fprintf(stderr, "ERROR (--%s): missing filename\n", opt);
ok = false;
}
}
else if(0 == strcmp(opt, "import-cuesheet-from")) {
if(0 != find_shorthand_operation(options, OP__IMPORT_CUESHEET_FROM)) {
- fprintf(stderr, "ERROR (--%s): may be specified only once\n", opt);
+ flac_fprintf(stderr, "ERROR (--%s): may be specified only once\n", opt);
ok = false;
}
op = append_shorthand_operation(options, OP__IMPORT_CUESHEET_FROM);
FLAC__ASSERT(0 != option_argument);
if(!parse_string(option_argument, &(op->argument.import_cuesheet_from.filename))) {
- fprintf(stderr, "ERROR (--%s): missing filename\n", opt);
+ flac_fprintf(stderr, "ERROR (--%s): missing filename\n", opt);
ok = false;
}
}
@@ -567,7 +590,7 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
op = append_shorthand_operation(options, OP__EXPORT_CUESHEET_TO);
FLAC__ASSERT(0 != option_argument);
if(!parse_string(option_argument, &(op->argument.filename.value))) {
- fprintf(stderr, "ERROR (--%s): missing filename\n", opt);
+ flac_fprintf(stderr, "ERROR (--%s): missing filename\n", opt);
ok = false;
}
}
@@ -575,16 +598,16 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
op = append_shorthand_operation(options, OP__IMPORT_PICTURE_FROM);
FLAC__ASSERT(0 != option_argument);
if(!parse_string(option_argument, &(op->argument.specification.value))) {
- fprintf(stderr, "ERROR (--%s): missing specification\n", opt);
+ flac_fprintf(stderr, "ERROR (--%s): missing specification\n", opt);
ok = false;
}
}
else if(0 == strcmp(opt, "export-picture-to")) {
- const Argument *arg = find_argument(options, ARG__BLOCK_NUMBER);
+ arg = find_argument(options, ARG__BLOCK_NUMBER);
op = append_shorthand_operation(options, OP__EXPORT_PICTURE_TO);
FLAC__ASSERT(0 != option_argument);
if(!parse_string(option_argument, &(op->argument.export_picture_to.filename))) {
- fprintf(stderr, "ERROR (--%s): missing filename\n", opt);
+ flac_fprintf(stderr, "ERROR (--%s): missing filename\n", opt);
ok = false;
}
op->argument.export_picture_to.block_number_link = arg? &(arg->value.block_number) : 0;
@@ -595,7 +618,7 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
FLAC__ASSERT(0 != option_argument);
if(!parse_add_seekpoint(option_argument, &spec, &violation)) {
FLAC__ASSERT(0 != violation);
- fprintf(stderr, "ERROR (--%s): malformed seekpoint specification \"%s\",\n %s\n", opt, option_argument, violation);
+ flac_fprintf(stderr, "ERROR (--%s): malformed seekpoint specification \"%s\",\n %s\n", opt, option_argument, violation);
ok = false;
}
else {
@@ -610,6 +633,9 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
else if(0 == strcmp(opt, "add-replay-gain")) {
(void) append_shorthand_operation(options, OP__ADD_REPLAY_GAIN);
}
+ else if(0 == strcmp(opt, "scan-replay-gain")) {
+ (void) append_shorthand_operation(options, OP__SCAN_REPLAY_GAIN);
+ }
else if(0 == strcmp(opt, "remove-replay-gain")) {
const FLAC__byte * const tags[5] = {
GRABBAG__REPLAYGAIN_TAG_REFERENCE_LOUDNESS,
@@ -628,7 +654,7 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
op = append_shorthand_operation(options, OP__ADD_PADDING);
FLAC__ASSERT(0 != option_argument);
if(!parse_add_padding(option_argument, &(op->argument.add_padding.length))) {
- fprintf(stderr, "ERROR (--%s): illegal length \"%s\", length must be >= 0 and < 2^%u\n", opt, option_argument, FLAC__STREAM_METADATA_LENGTH_LEN);
+ flac_fprintf(stderr, "ERROR (--%s): illegal length \"%s\", length must be >= 0 and < 2^%u\n", opt, option_argument, FLAC__STREAM_METADATA_LENGTH_LEN);
ok = false;
}
}
@@ -660,7 +686,7 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
arg = append_argument(options, ARG__BLOCK_NUMBER);
FLAC__ASSERT(0 != option_argument);
if(!parse_block_number(option_argument, &(arg->value.block_number))) {
- fprintf(stderr, "ERROR: malformed block number specification \"%s\"\n", option_argument);
+ flac_fprintf(stderr, "ERROR: malformed block number specification \"%s\"\n", option_argument);
ok = false;
}
}
@@ -668,7 +694,7 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
arg = append_argument(options, ARG__BLOCK_TYPE);
FLAC__ASSERT(0 != option_argument);
if(!parse_block_type(option_argument, &(arg->value.block_type))) {
- fprintf(stderr, "ERROR (--%s): malformed block type specification \"%s\"\n", opt, option_argument);
+ flac_fprintf(stderr, "ERROR (--%s): malformed block type specification \"%s\"\n", opt, option_argument);
ok = false;
}
options->args.checks.has_block_type = true;
@@ -677,7 +703,7 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
arg = append_argument(options, ARG__EXCEPT_BLOCK_TYPE);
FLAC__ASSERT(0 != option_argument);
if(!parse_block_type(option_argument, &(arg->value.block_type))) {
- fprintf(stderr, "ERROR (--%s): malformed block type specification \"%s\"\n", opt, option_argument);
+ flac_fprintf(stderr, "ERROR (--%s): malformed block type specification \"%s\"\n", opt, option_argument);
ok = false;
}
options->args.checks.has_except_block_type = true;
@@ -686,14 +712,16 @@ FLAC__bool parse_option(int option_index, const char *option_argument, CommandLi
arg = append_argument(options, ARG__DATA_FORMAT);
FLAC__ASSERT(0 != option_argument);
if(!parse_data_format(option_argument, &(arg->value.data_format))) {
- fprintf(stderr, "ERROR (--%s): illegal data format \"%s\"\n", opt, option_argument);
+ flac_fprintf(stderr, "ERROR (--%s): illegal data format \"%s\"\n", opt, option_argument);
ok = false;
}
+ options->data_format_is_binary = arg->value.data_format.is_binary;
+ options->data_format_is_binary_headerless = arg->value.data_format.is_headerless;
}
else if(0 == strcmp(opt, "application-data-format")) {
FLAC__ASSERT(0 != option_argument);
if(!parse_application_data_format(option_argument, &(options->application_data_format_is_hexdump))) {
- fprintf(stderr, "ERROR (--%s): illegal application data format \"%s\"\n", opt, option_argument);
+ flac_fprintf(stderr, "ERROR (--%s): illegal application data format \"%s\"\n", opt, option_argument);
ok = false;
}
}
@@ -713,16 +741,16 @@ void append_new_operation(CommandLineOptions *options, Operation operation)
{
if(options->ops.capacity == 0) {
options->ops.capacity = 50;
- if(0 == (options->ops.operations = (Operation*)malloc(sizeof(Operation) * options->ops.capacity)))
+ if(0 == (options->ops.operations = malloc(sizeof(Operation) * options->ops.capacity)))
die("out of memory allocating space for option list");
memset(options->ops.operations, 0, sizeof(Operation) * options->ops.capacity);
}
if(options->ops.capacity <= options->ops.num_operations) {
unsigned original_capacity = options->ops.capacity;
- if(options->ops.capacity > SIZE_MAX / 2) /* overflow check */
+ if(options->ops.capacity > UINT32_MAX / 2) /* overflow check */
die("out of memory allocating space for option list");
options->ops.capacity *= 2;
- if(0 == (options->ops.operations = (Operation*)safe_realloc_mul_2op_(options->ops.operations, sizeof(Operation), /*times*/options->ops.capacity)))
+ if(0 == (options->ops.operations = safe_realloc_mul_2op_(options->ops.operations, sizeof(Operation), /*times*/options->ops.capacity)))
die("out of memory allocating space for option list");
memset(options->ops.operations + original_capacity, 0, sizeof(Operation) * (options->ops.capacity - original_capacity));
}
@@ -734,16 +762,16 @@ void append_new_argument(CommandLineOptions *options, Argument argument)
{
if(options->args.capacity == 0) {
options->args.capacity = 50;
- if(0 == (options->args.arguments = (Argument*)malloc(sizeof(Argument) * options->args.capacity)))
+ if(0 == (options->args.arguments = malloc(sizeof(Argument) * options->args.capacity)))
die("out of memory allocating space for option list");
memset(options->args.arguments, 0, sizeof(Argument) * options->args.capacity);
}
if(options->args.capacity <= options->args.num_arguments) {
unsigned original_capacity = options->args.capacity;
- if(options->args.capacity > SIZE_MAX / 2) /* overflow check */
+ if(options->args.capacity > UINT32_MAX / 2) /* overflow check */
die("out of memory allocating space for option list");
options->args.capacity *= 2;
- if(0 == (options->args.arguments = (Argument*)safe_realloc_mul_2op_(options->args.arguments, sizeof(Argument), /*times*/options->args.capacity)))
+ if(0 == (options->args.arguments = safe_realloc_mul_2op_(options->args.arguments, sizeof(Argument), /*times*/options->args.capacity)))
die("out of memory allocating space for option list");
memset(options->args.arguments + original_capacity, 0, sizeof(Argument) * (options->args.capacity - original_capacity));
}
@@ -840,34 +868,12 @@ FLAC__bool parse_uint32(const char *src, FLAC__uint32 *dest)
return true;
}
-#ifdef _MSC_VER
-/* There's no strtoull() in MSVC6 so we just write a specialized one */
-static FLAC__uint64 local__strtoull(const char *src)
-{
- FLAC__uint64 ret = 0;
- int c;
- FLAC__ASSERT(0 != src);
- while(0 != (c = *src++)) {
- c -= '0';
- if(c >= 0 && c <= 9)
- ret = (ret * 10) + c;
- else
- break;
- }
- return ret;
-}
-#endif
-
FLAC__bool parse_uint64(const char *src, FLAC__uint64 *dest)
{
FLAC__ASSERT(0 != src);
if(strlen(src) == 0 || strspn(src, "0123456789") != strlen(src))
return false;
-#ifdef _MSC_VER
- *dest = local__strtoull(src);
-#else
*dest = strtoull(src, 0, 10);
-#endif
return true;
}
@@ -902,6 +908,29 @@ FLAC__bool parse_vorbis_comment_field_name(const char *field_ref, char **name, c
return true;
}
+FLAC__bool parse_vorbis_comment_field_names(const char *field_ref, char **names, const char **violation)
+{
+ static const char * const violations[] = {
+ "field name contains invalid character"
+ };
+
+ char *q, *s;
+
+ s = local_strdup(field_ref);
+
+ for(q = s; *q; q++) {
+ if(*q < 0x20 || *q > 0x7d) {
+ free(s);
+ *violation = violations[0];
+ return false;
+ }
+ }
+
+ *names = s;
+
+ return true;
+}
+
FLAC__bool parse_add_seekpoint(const char *in, char **out, const char **violation)
{
static const char *garbled_ = "garbled specification";
@@ -974,7 +1003,7 @@ FLAC__bool parse_block_number(const char *in, Argument_BlockNumber *out)
/* make space */
FLAC__ASSERT(out->num_entries > 0);
- if(0 == (out->entries = (unsigned*)safe_malloc_mul_2op_(sizeof(unsigned), /*times*/out->num_entries)))
+ if(0 == (out->entries = safe_malloc_mul_2op_(sizeof(unsigned), /*times*/out->num_entries)))
die("out of memory allocating space for option list");
/* load 'em up */
@@ -1013,7 +1042,7 @@ FLAC__bool parse_block_type(const char *in, Argument_BlockType *out)
/* make space */
FLAC__ASSERT(out->num_entries > 0);
- if(0 == (out->entries = (Argument_BlockTypeEntry*)safe_malloc_mul_2op_(sizeof(Argument_BlockTypeEntry), /*times*/out->num_entries)))
+ if(0 == (out->entries = safe_malloc_mul_2op_(sizeof(Argument_BlockTypeEntry), /*times*/out->num_entries)))
die("out of memory allocating space for option list");
/* load 'em up */
@@ -1040,10 +1069,10 @@ FLAC__bool parse_block_type(const char *in, Argument_BlockType *out)
out->entries[entry].type = FLAC__METADATA_TYPE_APPLICATION;
out->entries[entry].filter_application_by_id = (0 != r);
if(0 != r) {
- if(strlen(r) == 4) {
- strcpy(out->entries[entry].application_id, r);
+ if(strlen(r) == sizeof (out->entries[entry].application_id)) {
+ memcpy(out->entries[entry].application_id, r, sizeof (out->entries[entry].application_id));
}
- else if(strlen(r) == 10 && strncmp(r, "0x", 2) == 0 && strspn(r+2, "0123456789ABCDEFabcdef") == 8) {
+ else if(strlen(r) == 10 && FLAC__STRNCASECMP(r, "0x", 2) == 0 && strspn(r+2, "0123456789ABCDEFabcdef") == 8) {
FLAC__uint32 x = strtoul(r+2, 0, 16);
out->entries[entry].application_id[3] = (FLAC__byte)(x & 0xff);
out->entries[entry].application_id[2] = (FLAC__byte)((x>>=8) & 0xff);
@@ -1083,10 +1112,18 @@ FLAC__bool parse_block_type(const char *in, Argument_BlockType *out)
FLAC__bool parse_data_format(const char *in, Argument_DataFormat *out)
{
- if(0 == strcmp(in, "binary"))
+ if(0 == strcmp(in, "binary-headerless")) {
+ out->is_binary = false;
+ out->is_headerless = true;
+ }
+ else if(0 == strcmp(in, "binary")) {
out->is_binary = true;
- else if(0 == strcmp(in, "text"))
+ out->is_headerless = false;
+ }
+ else if(0 == strcmp(in, "text")) {
out->is_binary = false;
+ out->is_headerless = false;
+ }
else
return false;
return true;
@@ -1105,5 +1142,5 @@ FLAC__bool parse_application_data_format(const char *in, FLAC__bool *out)
void undocumented_warning(const char *opt)
{
- fprintf(stderr, "WARNING: undocmented option --%s should be used with caution,\n only for repairing a damaged STREAMINFO block\n", opt);
+ flac_fprintf(stderr, "WARNING: undocumented option --%s should be used with caution,\n only for repairing a damaged STREAMINFO block\n", opt);
}
diff --git a/3rdparty/libflac/src/metaflac/options.h b/3rdparty/libflac/src/metaflac/options.h
index 244a8d01f7b..984f2e11480 100644
--- a/3rdparty/libflac/src/metaflac/options.h
+++ b/3rdparty/libflac/src/metaflac/options.h
@@ -1,5 +1,6 @@
/* metaflac - Command-line FLAC metadata editor
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef metaflac__options_h
@@ -53,6 +54,7 @@ typedef enum {
OP__SHOW_VC_VENDOR,
OP__SHOW_VC_FIELD,
OP__REMOVE_VC_ALL,
+ OP__REMOVE_VC_ALL_EXCEPT,
OP__REMOVE_VC_FIELD,
OP__REMOVE_VC_FIRSTFIELD,
OP__SET_VC_FIELD,
@@ -64,6 +66,7 @@ typedef enum {
OP__EXPORT_PICTURE_TO,
OP__ADD_SEEKPOINT,
OP__ADD_REPLAY_GAIN,
+ OP__SCAN_REPLAY_GAIN,
OP__ADD_PADDING,
OP__LIST,
OP__APPEND,
@@ -128,6 +131,7 @@ typedef struct {
typedef struct {
FLAC__bool is_binary;
+ FLAC__bool is_headerless;
} Argument_DataFormat;
typedef struct {
@@ -187,6 +191,8 @@ typedef struct {
FLAC__bool cued_seekpoints;
FLAC__bool show_long_help;
FLAC__bool show_version;
+ FLAC__bool data_format_is_binary;
+ FLAC__bool data_format_is_binary_headerless;
FLAC__bool application_data_format_is_hexdump;
struct {
Operation *operations;
diff --git a/3rdparty/libflac/src/metaflac/usage.c b/3rdparty/libflac/src/metaflac/usage.c
index 02cfaf23e35..58afc0ea047 100644
--- a/3rdparty/libflac/src/metaflac/usage.c
+++ b/3rdparty/libflac/src/metaflac/usage.c
@@ -1,5 +1,6 @@
/* metaflac - Command-line FLAC metadata editor
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,25 +12,28 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
+#include "utils.h"
#include "usage.h"
#include "FLAC/format.h"
#include <stdarg.h>
#include <stdio.h>
+#include "share/compat.h"
static void usage_header(FILE *out)
{
fprintf(out, "==============================================================================\n");
fprintf(out, "metaflac - Command-line FLAC metadata editor version %s\n", FLAC__VERSION_STRING);
- fprintf(out, "Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson\n");
+ fprintf(out, "Copyright (C) 2001-2009 Josh Coalson\n");
+ fprintf(out, "Copyright (C) 2011-2023 Xiph.Org Foundation\n");
fprintf(out, "\n");
fprintf(out, "This program is free software; you can redistribute it and/or\n");
fprintf(out, "modify it under the terms of the GNU General Public License\n");
@@ -41,9 +45,9 @@ static void usage_header(FILE *out)
fprintf(out, "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n");
fprintf(out, "GNU General Public License for more details.\n");
fprintf(out, "\n");
- fprintf(out, "You should have received a copy of the GNU General Public License\n");
- fprintf(out, "along with this program; if not, write to the Free Software\n");
- fprintf(out, "Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n");
+ fprintf(out, "You should have received a copy of the GNU General Public License along\n");
+ fprintf(out, "with this program; if not, write to the Free Software Foundation, Inc.,\n");
+ fprintf(out, "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n");
fprintf(out, "==============================================================================\n");
}
@@ -58,7 +62,9 @@ static void usage_summary(FILE *out)
fprintf(out, "Options:\n");
fprintf(out, "--preserve-modtime Preserve the original modification time in spite of edits\n");
fprintf(out, "--with-filename Prefix each output line with the FLAC file name\n");
- fprintf(out, " (the default if more than one FLAC file is specified)\n");
+ fprintf(out, " (the default if more than one FLAC file is specified).\n");
+ fprintf(out, " This option has no effect for options exporting to a\n");
+ fprintf(out, " file, like --export-tags-to.\n");
fprintf(out, "--no-filename Do not prefix each output line with the FLAC file name\n");
fprintf(out, " (the default if only one FLAC file is specified)\n");
fprintf(out, "--no-utf8-convert Do not convert tags from UTF-8 to local charset,\n");
@@ -83,9 +89,9 @@ int short_usage(const char *message, ...)
}
usage_header(stderr);
- fprintf(stderr, "\n");
- fprintf(stderr, "This is the short help; for full help use 'metaflac --help'\n");
- fprintf(stderr, "\n");
+ flac_fprintf(stderr, "\n");
+ flac_fprintf(stderr, "This is the short help; for full help use 'metaflac --help'\n");
+ flac_fprintf(stderr, "\n");
usage_summary(stderr);
return message? 1 : 0;
@@ -120,10 +126,14 @@ int long_usage(const char *message, ...)
fprintf(out, "--show-total-samples Show the total # of samples from the STREAMINFO block.\n");
fprintf(out, "\n");
fprintf(out, "--show-vendor-tag Show the vendor string from the VORBIS_COMMENT block.\n");
- fprintf(out, "--show-tag=NAME Show all tags where the the field name matches 'NAME'.\n");
+ fprintf(out, "--show-tag=NAME Show all tags where the field name matches 'NAME'.\n");
+ fprintf(out, "--show-all-tags Show all tags. This is an alias for --export-tags-to=-.\n");
fprintf(out, "--remove-tag=NAME Remove all tags whose field name is 'NAME'.\n");
fprintf(out, "--remove-first-tag=NAME Remove first tag whose field name is 'NAME'.\n");
fprintf(out, "--remove-all-tags Remove all tags, leaving only the vendor string.\n");
+ fprintf(out, "--remove-all-tags-except=NAME1[=NAME2[=...]] Remove all tags, except the vendor\n");
+ fprintf(out, " string and the tag names specified. Tag names must be\n");
+ fprintf(out, " separated by an = character.\n");
fprintf(out, "--set-tag=FIELD Add a tag. The FIELD must comply with the Vorbis comment\n");
fprintf(out, " spec, of the form \"NAME=VALUE\". If there is currently\n");
fprintf(out, " no tag block, one will be created.\n");
@@ -189,7 +199,7 @@ int long_usage(const char *message, ...)
fprintf(out, " mean that FILE is actually a URL to an image, though this use is\n");
fprintf(out, " discouraged.\n");
fprintf(out, " DESCRIPTION is optional; the default is an empty string\n");
- fprintf(out, " The next part specfies the resolution and color information. If\n");
+ fprintf(out, " The next part specifies the resolution and color information. If\n");
fprintf(out, " the MIME-TYPE is image/jpeg, image/png, or image/gif, you can\n");
fprintf(out, " usually leave this empty and they can be detected from the file.\n");
fprintf(out, " Otherwise, you must specify the width in pixels, height in pixels,\n");
@@ -213,8 +223,13 @@ int long_usage(const char *message, ...)
fprintf(out, " executed last, after all other operations have been\n");
fprintf(out, " completed and written to disk. All FLAC files specified\n");
fprintf(out, " must have the same resolution, sample rate, and number\n");
- fprintf(out, " of channels. The sample rate must be one of 8, 11.025,\n");
- fprintf(out, " 12, 16, 22.05, 24, 32, 44.1, or 48 kHz.\n");
+ fprintf(out, " of channels. Only mono and stereo files are allowed,\n");
+ fprintf(out, " and the sample rate must be 8, 11.025, 12, 16, 18.9,\n");
+ fprintf(out, " 22.05, 24, 28, 32, 36, 37.8, 44.1, 48, 56, 64, 72, 75.6,\n");
+ fprintf(out, " 88.2, 96, 112, 128, 144, 151.2, 176.4, 192, 224, 256,\n");
+ fprintf(out, " 288, 302.4, 352.8, 384, 448, 512, 576, or 604.8 kHz.\n");
+ fprintf(out, "--scan-replay-gain Like --add-replay-gain, but only analyzes the files\n");
+ fprintf(out, " rather than writing them to tags.\n");
fprintf(out, "--remove-replay-gain Removes the ReplayGain tags.\n");
fprintf(out, "--add-seekpoint={#|X|#x|#s} Add seek points to a SEEKTABLE block\n");
fprintf(out, " # : a specific sample number for a seek point\n");
@@ -262,23 +277,30 @@ int long_usage(const char *message, ...)
fprintf(out, " NOTE: if both --block-number and --[except-]block-type are specified,\n");
fprintf(out, " the result is the logical AND of both arguments.\n");
fprintf(out, "\n");
-#if 0
- /*@@@ not implemented yet */
- fprintf(out, " --data-format=binary|text\n");
+ fprintf(out, " --data-format=binary|binary-headerless|text\n");
fprintf(out, " By default a human-readable text representation of the data is displayed.\n");
fprintf(out, " You may specify --data-format=binary to dump the raw binary form of each\n");
- fprintf(out, " metadata block. The output can be read in using a subsequent call to\n");
- fprintf(out, " "metaflac --append --from-file=..."\n");
+ fprintf(out, " metadata block. Specify --data-format=binary-headerless to omit output of\n");
+ fprintf(out, " metadata block headers, including the id of APPLICATION metadata blocks.\n");
+ fprintf(out, " The output can be read in using a subsequent call to\n");
+ fprintf(out, " \"metaflac --append\"\n");
fprintf(out, "\n");
-#endif
fprintf(out, " --application-data-format=hexdump|text\n");
fprintf(out, " If the application block you are displaying contains binary data but your\n");
fprintf(out, " --data-format=text, you can display a hex dump of the application data\n");
fprintf(out, " contents instead using --application-data-format=hexdump\n");
fprintf(out, "\n");
-#if 0
- /*@@@ not implemented yet */
fprintf(out, "--append\n");
+ fprintf(out, " Insert a metadata block from a file. This must be a binary block as\n");
+ fprintf(out, " exported with --list --data-format=binary. The insertion point is\n");
+ fprintf(out, " defined with --block-number=#. The new block will be added after the\n");
+ fprintf(out, " given block number. This prevents the illegal insertion of a block\n");
+ fprintf(out, " before the first STREAMINFO block. You may not --append another\n");
+ fprintf(out, " STREAMINFO block. It is possible to copy a metadata block from one\n");
+ fprintf(out, " file to another with this option. For example use\n");
+ fprintf(out, " metaflac --list --data-format=binary --block-number=6 file.flac > block\n");
+ fprintf(out, " to export the block, and then import it with\n");
+ fprintf(out, " metaflac --append anotherfile.flac < block\n");
fprintf(out, " Insert a metadata block from a file. The input file must be in the same\n");
fprintf(out, " format as generated with --list.\n");
fprintf(out, "\n");
@@ -288,6 +310,8 @@ int long_usage(const char *message, ...)
fprintf(out, " of a block before the first STREAMINFO block. You may not --append another\n");
fprintf(out, " STREAMINFO block.\n");
fprintf(out, "\n");
+#if 0
+ /*@@@ not implemented yet */
fprintf(out, " --from-file=filename\n");
fprintf(out, " Mandatory 'option' to specify the input file containing the block contents.\n");
fprintf(out, "\n");
diff --git a/3rdparty/libflac/src/metaflac/usage.h b/3rdparty/libflac/src/metaflac/usage.h
index 8ad091c7120..1366417a7bc 100644
--- a/3rdparty/libflac/src/metaflac/usage.h
+++ b/3rdparty/libflac/src/metaflac/usage.h
@@ -1,5 +1,6 @@
/* metaflac - Command-line FLAC metadata editor
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef metaflac__usage_h
diff --git a/3rdparty/libflac/src/metaflac/utils.c b/3rdparty/libflac/src/metaflac/utils.c
index cdd823c2074..045719a7445 100644
--- a/3rdparty/libflac/src/metaflac/utils.c
+++ b/3rdparty/libflac/src/metaflac/utils.c
@@ -1,5 +1,6 @@
/* metaflac - Command-line FLAC metadata editor
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,29 +12,31 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
-#include "utils.h"
-#include "FLAC/assert.h"
-#include "share/alloc.h"
-#include "share/utf8.h"
#include <ctype.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include "utils.h"
+#include "FLAC/assert.h"
+#include "share/alloc.h"
+#include "share/safe_str.h"
+#include "share/utf8.h"
+#include "share/compat.h"
void die(const char *message)
{
FLAC__ASSERT(0 != message);
- fprintf(stderr, "ERROR: %s\n", message);
+ flac_fprintf(stderr, "ERROR: %s\n", message);
exit(1);
}
@@ -58,21 +61,34 @@ char *local_strdup(const char *source)
void local_strcat(char **dest, const char *source)
{
- size_t ndest, nsource;
+ size_t ndest, nsource, outlen;
FLAC__ASSERT(0 != dest);
FLAC__ASSERT(0 != source);
- ndest = *dest? strlen(*dest) : 0;
+ ndest = *dest ? strlen(*dest) : 0;
nsource = strlen(source);
+ outlen = ndest + nsource + 1;
if(nsource == 0)
return;
- *dest = (char*)safe_realloc_add_3op_(*dest, ndest, /*+*/nsource, /*+*/1);
- if(0 == *dest)
+ *dest = safe_realloc_add_3op_(*dest, ndest, /*+*/nsource, /*+*/1);
+ if(*dest == NULL)
die("out of memory growing string");
- strcpy((*dest)+ndest, source);
+ /* If ndest == 0, strlen in safe_strncat reads
+ * uninitialized data. To prevent that, set first character
+ * to zero */
+ if(ndest == 0)
+ *dest[0] = 0;
+ safe_strncat(*dest, source, outlen);
+}
+
+static inline int local_isprint(int c)
+{
+ if (c < 32) return 0;
+ if (c > 127) return 0;
+ return isprint(c);
}
void hexdump(const char *filename, const FLAC__byte *buf, unsigned bytes, const char *indent)
@@ -81,11 +97,11 @@ void hexdump(const char *filename, const FLAC__byte *buf, unsigned bytes, const
const FLAC__byte *b = buf;
for(i = 0; i < bytes; i += 16) {
- printf("%s%s%s%08X: "
+ flac_printf("%s%s", filename? filename:"", filename? ":":"");
+ printf("%s%08X: "
"%02X %02X %02X %02X %02X %02X %02X %02X "
"%02X %02X %02X %02X %02X %02X %02X %02X "
"%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",
- filename? filename:"", filename? ":":"",
indent, i,
left > 0? (unsigned char)b[ 0] : 0,
left > 1? (unsigned char)b[ 1] : 0,
@@ -103,22 +119,22 @@ void hexdump(const char *filename, const FLAC__byte *buf, unsigned bytes, const
left > 13? (unsigned char)b[13] : 0,
left > 14? (unsigned char)b[14] : 0,
left > 15? (unsigned char)b[15] : 0,
- (left > 0) ? (isprint(b[ 0]) ? b[ 0] : '.') : ' ',
- (left > 1) ? (isprint(b[ 1]) ? b[ 1] : '.') : ' ',
- (left > 2) ? (isprint(b[ 2]) ? b[ 2] : '.') : ' ',
- (left > 3) ? (isprint(b[ 3]) ? b[ 3] : '.') : ' ',
- (left > 4) ? (isprint(b[ 4]) ? b[ 4] : '.') : ' ',
- (left > 5) ? (isprint(b[ 5]) ? b[ 5] : '.') : ' ',
- (left > 6) ? (isprint(b[ 6]) ? b[ 6] : '.') : ' ',
- (left > 7) ? (isprint(b[ 7]) ? b[ 7] : '.') : ' ',
- (left > 8) ? (isprint(b[ 8]) ? b[ 8] : '.') : ' ',
- (left > 9) ? (isprint(b[ 9]) ? b[ 9] : '.') : ' ',
- (left > 10) ? (isprint(b[10]) ? b[10] : '.') : ' ',
- (left > 11) ? (isprint(b[11]) ? b[11] : '.') : ' ',
- (left > 12) ? (isprint(b[12]) ? b[12] : '.') : ' ',
- (left > 13) ? (isprint(b[13]) ? b[13] : '.') : ' ',
- (left > 14) ? (isprint(b[14]) ? b[14] : '.') : ' ',
- (left > 15) ? (isprint(b[15]) ? b[15] : '.') : ' '
+ (left > 0) ? (local_isprint(b[ 0]) ? b[ 0] : '.') : ' ',
+ (left > 1) ? (local_isprint(b[ 1]) ? b[ 1] : '.') : ' ',
+ (left > 2) ? (local_isprint(b[ 2]) ? b[ 2] : '.') : ' ',
+ (left > 3) ? (local_isprint(b[ 3]) ? b[ 3] : '.') : ' ',
+ (left > 4) ? (local_isprint(b[ 4]) ? b[ 4] : '.') : ' ',
+ (left > 5) ? (local_isprint(b[ 5]) ? b[ 5] : '.') : ' ',
+ (left > 6) ? (local_isprint(b[ 6]) ? b[ 6] : '.') : ' ',
+ (left > 7) ? (local_isprint(b[ 7]) ? b[ 7] : '.') : ' ',
+ (left > 8) ? (local_isprint(b[ 8]) ? b[ 8] : '.') : ' ',
+ (left > 9) ? (local_isprint(b[ 9]) ? b[ 9] : '.') : ' ',
+ (left > 10) ? (local_isprint(b[10]) ? b[10] : '.') : ' ',
+ (left > 11) ? (local_isprint(b[11]) ? b[11] : '.') : ' ',
+ (left > 12) ? (local_isprint(b[12]) ? b[12] : '.') : ' ',
+ (left > 13) ? (local_isprint(b[13]) ? b[13] : '.') : ' ',
+ (left > 14) ? (local_isprint(b[14]) ? b[14] : '.') : ' ',
+ (left > 15) ? (local_isprint(b[15]) ? b[15] : '.') : ' '
);
left -= 16;
b += 16;
@@ -134,47 +150,47 @@ void print_error_with_chain_status(FLAC__Metadata_Chain *chain, const char *form
va_start(args, format);
- (void) vfprintf(stderr, format, args);
+ (void) flac_vfprintf(stderr, format, args);
va_end(args);
- fprintf(stderr, ", status = \"%s\"\n", FLAC__Metadata_ChainStatusString[status]);
+ flac_fprintf(stderr, ", status = \"%s\"\n", FLAC__Metadata_ChainStatusString[status]);
if(status == FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE) {
- fprintf(stderr, "\n"
+ flac_fprintf(stderr, "\n"
"The FLAC file could not be opened. Most likely the file does not exist\n"
"or is not readable.\n"
);
}
else if(status == FLAC__METADATA_CHAIN_STATUS_NOT_A_FLAC_FILE) {
- fprintf(stderr, "\n"
+ flac_fprintf(stderr, "\n"
"The file does not appear to be a FLAC file.\n"
);
}
else if(status == FLAC__METADATA_CHAIN_STATUS_NOT_WRITABLE) {
- fprintf(stderr, "\n"
+ flac_fprintf(stderr, "\n"
"The FLAC file does not have write permissions.\n"
);
}
else if(status == FLAC__METADATA_CHAIN_STATUS_BAD_METADATA) {
- fprintf(stderr, "\n"
- "The metadata to be writted does not conform to the FLAC metadata\n"
+ flac_fprintf(stderr, "\n"
+ "The metadata to be written does not conform to the FLAC metadata\n"
"specifications.\n"
);
}
else if(status == FLAC__METADATA_CHAIN_STATUS_READ_ERROR) {
- fprintf(stderr, "\n"
+ flac_fprintf(stderr, "\n"
"There was an error while reading the FLAC file.\n"
);
}
else if(status == FLAC__METADATA_CHAIN_STATUS_WRITE_ERROR) {
- fprintf(stderr, "\n"
+ flac_fprintf(stderr, "\n"
"There was an error while writing FLAC file; most probably the disk is\n"
"full.\n"
);
}
else if(status == FLAC__METADATA_CHAIN_STATUS_UNLINK_ERROR) {
- fprintf(stderr, "\n"
+ flac_fprintf(stderr, "\n"
"There was an error removing the temporary FLAC file.\n"
);
}
@@ -221,13 +237,18 @@ void write_vc_field(const char *filename, const FLAC__StreamMetadata_VorbisComme
{
if(0 != entry->entry) {
if(filename)
- fprintf(f, "%s:", filename);
+ flac_fprintf(f, "%s:", filename);
if(!raw) {
/*
* WATCHOUT: comments that contain an embedded null will
* be truncated by utf_decode().
*/
+#ifdef _WIN32 /* if we are outputting to console, we need to use proper print functions to show unicode characters */
+ if (f == stdout || f == stderr) {
+ flac_fprintf(f, "%s", entry->entry);
+ } else {
+#endif
char *converted;
if(utf8_decode((const char *)entry->entry, &converted) >= 0) {
@@ -237,6 +258,9 @@ void write_vc_field(const char *filename, const FLAC__StreamMetadata_VorbisComme
else {
(void) local_fwrite(entry->entry, 1, entry->length, f);
}
+#ifdef _WIN32
+ }
+#endif
}
else {
(void) local_fwrite(entry->entry, 1, entry->length, f);
diff --git a/3rdparty/libflac/src/metaflac/utils.h b/3rdparty/libflac/src/metaflac/utils.h
index 111d10cccdc..972a4501c9e 100644
--- a/3rdparty/libflac/src/metaflac/utils.h
+++ b/3rdparty/libflac/src/metaflac/utils.h
@@ -1,5 +1,6 @@
/* metaflac - Command-line FLAC metadata editor
- * Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2001-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef metaflac__utils_h
@@ -22,6 +23,11 @@
#include "FLAC/metadata.h"
#include <stdio.h> /* for FILE */
+#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
+#undef stderr
+#define stderr stdout
+#endif
+
void die(const char *message);
#ifdef FLAC__VALGRIND_TESTING
size_t local_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
diff --git a/3rdparty/libflac/src/metaflac/version.rc b/3rdparty/libflac/src/metaflac/version.rc
new file mode 100644
index 00000000000..51172024752
--- /dev/null
+++ b/3rdparty/libflac/src/metaflac/version.rc
@@ -0,0 +1,38 @@
+#include <winver.h>
+#include "config.h"
+
+#if (defined GIT_COMMIT_HASH && defined GIT_COMMIT_DATE)
+# ifdef GIT_COMMIT_TAG
+# define VERSIONSTRING GIT_COMMIT_TAG
+# else
+# define VERSIONSTRING "git-" GIT_COMMIT_HASH
+# endif
+#else
+# define VERSIONSTRING PACKAGE_VERSION
+#endif
+
+#define xstr(s) str(s)
+#define str(s) #s
+
+VS_VERSION_INFO VERSIONINFO
+FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
+FILEFLAGS 0
+FILEOS VOS__WINDOWS32
+FILETYPE VFT_DLL
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "FileDescription", "metaflac command line tool for Windows"
+ VALUE "ProductName", "Free Lossless Audio Codec"
+ VALUE "ProductVersion", VERSIONSTRING
+ VALUE "CompanyName", "Xiph.Org"
+ VALUE "LegalCopyright", "2000-2009 Josh Coalson, 2011-2023 Xiph.Org Foundation"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
diff --git a/3rdparty/libflac/src/monkeys_audio_utilities/Makefile.am b/3rdparty/libflac/src/monkeys_audio_utilities/Makefile.am
deleted file mode 100644
index 3cfe69af8a3..00000000000
--- a/3rdparty/libflac/src/monkeys_audio_utilities/Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-SUBDIRS = flac_mac flac_ren
diff --git a/3rdparty/libflac/src/monkeys_audio_utilities/Makefile.in b/3rdparty/libflac/src/monkeys_audio_utilities/Makefile.in
deleted file mode 100644
index 2444f6c3648..00000000000
--- a/3rdparty/libflac/src/monkeys_audio_utilities/Makefile.in
+++ /dev/null
@@ -1,520 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-SUBDIRS = flac_mac flac_ren
-subdir = src/monkeys_audio_utilities
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/monkeys_audio_utilities/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- else \
- include_option=--include; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/src/monkeys_audio_utilities/flac_mac/Makefile.in b/3rdparty/libflac/src/monkeys_audio_utilities/flac_mac/Makefile.in
deleted file mode 100644
index 15621b356b9..00000000000
--- a/3rdparty/libflac/src/monkeys_audio_utilities/flac_mac/Makefile.in
+++ /dev/null
@@ -1,375 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# flac_mac - wedge utility to add FLAC support to Monkey's Audio
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-EXTRA_DIST = \
- flac_mac.dsp \
- flac_mac.vcproj \
- main.c
-
-subdir = src/monkeys_audio_utilities/flac_mac
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/monkeys_audio_utilities/flac_mac/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/src/monkeys_audio_utilities/flac_mac/flac_mac.dsp b/3rdparty/libflac/src/monkeys_audio_utilities/flac_mac/flac_mac.dsp
deleted file mode 100644
index 7c5253a97fa..00000000000
--- a/3rdparty/libflac/src/monkeys_audio_utilities/flac_mac/flac_mac.dsp
+++ /dev/null
@@ -1,100 +0,0 @@
-# Microsoft Developer Studio Project File - Name="flac_mac" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=flac_mac - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "flac_mac.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "flac_mac.mak" CFG="flac_mac - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "flac_mac - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "flac_mac - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "flac_mac - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\obj\release\bin"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "flac_mac - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\obj\debug\bin"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "flac_mac - Win32 Release"
-# Name "flac_mac - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\main.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/monkeys_audio_utilities/flac_mac/flac_mac.vcproj b/3rdparty/libflac/src/monkeys_audio_utilities/flac_mac/flac_mac.vcproj
deleted file mode 100644
index cc65f83294f..00000000000
--- a/3rdparty/libflac/src/monkeys_audio_utilities/flac_mac/flac_mac.vcproj
+++ /dev/null
@@ -1,200 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="flac_mac"
- ProjectGUID="{4cefbc7e-c215-11db-8314-0800200c9a66}"
- RootNamespace="flac_mac"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\..\obj\debug\bin"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="2"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\..\obj\release\bin"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\main.c"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/monkeys_audio_utilities/flac_mac/main.c b/3rdparty/libflac/src/monkeys_audio_utilities/flac_mac/main.c
deleted file mode 100644
index 8e0410386eb..00000000000
--- a/3rdparty/libflac/src/monkeys_audio_utilities/flac_mac/main.c
+++ /dev/null
@@ -1,208 +0,0 @@
-/* flac_mac - wedge utility to add FLAC support to Monkey's Audio
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-/*
- * This program can be used to allow FLAC to masquerade as one of the other
- * supported lossless codecs in Monkey's Audio. See the documentation for
- * how to do this.
- */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include<stdio.h>
-#include<stdlib.h>
-#include<string.h>
-#include<wtypes.h>
-#include<process.h>
-#include<winbase.h>
-
-static int execit(char *prog, char *args);
-static int forkit(char *prog, char *args);
-
-int main(int argc, char *argv[])
-{
- int flac_return_val = 0, opt_arg = 1, from_arg = -1, to_arg = -1, flac_level = 5, i;
- char prog[MAX_PATH], cmdline[MAX_PATH*2], from[MAX_PATH], to[MAX_PATH], macdir[MAX_PATH], options[256], *p;
- enum { WAVPACK, RKAU, SHORTEN } codec;
-
- /* get the directory where MAC external codecs reside */
- if(0 != (p = strrchr(argv[0],'\\'))) {
- strcpy(macdir, argv[0]);
- *(strrchr(macdir,'\\')+1) = '\0';
- }
- else {
- strcpy(macdir, "");
- }
-
- /* determine which codec we were called as and parse the options */
- if(p == 0)
- p = argv[0];
- else
- p++;
- if(0 == strnicmp(p, "short", 5)) {
- codec = SHORTEN;
- }
- else if(0 == strnicmp(p, "rkau", 4)) {
- codec = RKAU;
- if(argv[1][0] == '-' && argv[1][1] == 'l') {
- opt_arg = 2;
- switch(argv[1][2]) {
- case '1': flac_level = 1; break;
- case '2': flac_level = 5; break;
- case '3': flac_level = 8; break;
- }
- }
- }
- else if(0 == strnicmp(p, "wavpack", 7)) {
- codec = WAVPACK;
- if(argv[1][0] == '-') {
- opt_arg = 2;
- switch(argv[1][1]) {
- case 'f': flac_level = 1; break;
- case 'h': flac_level = 8; break;
- default: opt_arg = 1;
- }
- }
- }
- else {
- return -5;
- }
-
- /* figure out which arguments are the source and destination files */
- for(i = 1; i < argc; i++)
- if(argv[i][0] != '-') {
- from_arg = i++;
- break;
- }
- for( ; i < argc; i++)
- if(argv[i][0] != '-') {
- to_arg = i++;
- break;
- }
- if(to_arg < 0)
- return -4;
-
- /* build the command to call flac with */
- sprintf(prog, "%sflac.exe", macdir);
- sprintf(options, "-%d", flac_level);
- for(i = opt_arg; i < argc; i++)
- if(argv[i][0] == '-') {
- strcat(options, " ");
- strcat(options, argv[i]);
- }
- sprintf(cmdline, "\"%s\" %s -o \"%s\" \"%s\"", prog, options, argv[to_arg], argv[from_arg]);
-
- flac_return_val = execit(prog, cmdline);
-
- /*
- * Now that flac has finished, we need to fork a process that will rename
- * the resulting file with the correct extension once MAC has moved it to
- * it's final resting place.
- */
- if(0 == flac_return_val) {
- /* get the destination directory, if any */
- if(0 != (p = strchr(argv[to_arg],'\\'))) {
- strcpy(from, argv[to_arg]);
- *(strrchr(from,'\\')+1) = '\0';
- }
- else {
- strcpy(from, "");
- }
-
- /* for the full 'from' and 'to' paths for the renamer process */
- p = strrchr(argv[from_arg],'\\');
- strcat(from, p? p+1 : argv[from_arg]);
- strcpy(to, from);
- if(0 == strchr(from,'.'))
- return -3;
- switch(codec) {
- case SHORTEN: strcpy(strrchr(from,'.'), ".shn"); break;
- case WAVPACK: strcpy(strrchr(from,'.'), ".wv"); break;
- case RKAU: strcpy(strrchr(from,'.'), ".rka"); break;
- }
- strcpy(strrchr(to,'.'), ".flac");
-
- sprintf(prog, "%sflac_ren.exe", macdir);
- sprintf(cmdline, "\"%s\" \"%s\" \"%s\"", prog, from, to);
-
- flac_return_val = forkit(prog, cmdline);
- }
-
- return flac_return_val;
-}
-
-int execit(char *prog, char *args)
-{
- BOOL ok;
- STARTUPINFO startup_info;
- PROCESS_INFORMATION proc_info;
-
- GetStartupInfo(&startup_info);
-
- ok = CreateProcess(
- prog,
- args,
- 0, /*process security attributes*/
- 0, /*thread security attributes*/
- FALSE,
- 0, /*dwCreationFlags*/
- 0, /*environment*/
- 0, /*lpCurrentDirectory*/
- &startup_info,
- &proc_info
- );
- if(ok) {
- DWORD dw;
- dw = WaitForSingleObject(proc_info.hProcess, INFINITE);
- ok = (dw != 0xFFFFFFFF);
- CloseHandle(proc_info.hThread);
- CloseHandle(proc_info.hProcess);
- }
-
- return ok? 0 : -1;
-}
-
-int forkit(char *prog, char *args)
-{
- BOOL ok;
- STARTUPINFO startup_info;
- PROCESS_INFORMATION proc_info;
-
- GetStartupInfo(&startup_info);
-
- ok = CreateProcess(
- prog,
- args,
- 0, /*process security attributes*/
- 0, /*thread security attributes*/
- FALSE,
- DETACHED_PROCESS, /*dwCreationFlags*/
- 0, /*environment*/
- 0, /*lpCurrentDirectory*/
- &startup_info,
- &proc_info
- );
- if(ok) {
- CloseHandle(proc_info.hThread);
- CloseHandle(proc_info.hProcess);
- }
-
- return ok? 0 : -2;
-}
diff --git a/3rdparty/libflac/src/monkeys_audio_utilities/flac_ren/Makefile.in b/3rdparty/libflac/src/monkeys_audio_utilities/flac_ren/Makefile.in
deleted file mode 100644
index 01bd04287e8..00000000000
--- a/3rdparty/libflac/src/monkeys_audio_utilities/flac_ren/Makefile.in
+++ /dev/null
@@ -1,375 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# flac_ren - renamer part of utility to add FLAC support to Monkey's Audio
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-EXTRA_DIST = \
- flac_ren.dsp \
- flac_ren.vcproj \
- main.c
-
-subdir = src/monkeys_audio_utilities/flac_ren
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/monkeys_audio_utilities/flac_ren/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/src/monkeys_audio_utilities/flac_ren/flac_ren.dsp b/3rdparty/libflac/src/monkeys_audio_utilities/flac_ren/flac_ren.dsp
deleted file mode 100644
index ea9abb42c57..00000000000
--- a/3rdparty/libflac/src/monkeys_audio_utilities/flac_ren/flac_ren.dsp
+++ /dev/null
@@ -1,100 +0,0 @@
-# Microsoft Developer Studio Project File - Name="flac_ren" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=flac_ren - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "flac_ren.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "flac_ren.mak" CFG="flac_ren - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "flac_ren - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "flac_ren - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "flac_ren - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\obj\release\bin"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "flac_ren - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\obj\debug\bin"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "flac_ren - Win32 Release"
-# Name "flac_ren - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\main.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/monkeys_audio_utilities/flac_ren/flac_ren.vcproj b/3rdparty/libflac/src/monkeys_audio_utilities/flac_ren/flac_ren.vcproj
deleted file mode 100644
index e6f274e5966..00000000000
--- a/3rdparty/libflac/src/monkeys_audio_utilities/flac_ren/flac_ren.vcproj
+++ /dev/null
@@ -1,200 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="flac_ren"
- ProjectGUID="{4cefbc7f-c215-11db-8314-0800200c9a66}"
- RootNamespace="flac_ren"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\..\obj\debug\bin"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="2"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\..\obj\release\bin"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\main.c"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/monkeys_audio_utilities/flac_ren/main.c b/3rdparty/libflac/src/monkeys_audio_utilities/flac_ren/main.c
deleted file mode 100644
index 14667b4c65d..00000000000
--- a/3rdparty/libflac/src/monkeys_audio_utilities/flac_ren/main.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* flac_ren - renamer part of utility to add FLAC support to Monkey's Audio
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <io.h>
-#include <sys/stat.h>
-#include <wtypes.h>
-#include <winbase.h>
-
-int main(int argc, char *argv[])
-{
- struct stat s;
-
- /* wait till the 'from' file has reached its final destination */
- do {
- Sleep(2000);
- } while(stat(argv[1], &s) < 0);
-
- /* now rename it */
- return rename(argv[1], argv[2]);
-}
diff --git a/3rdparty/libflac/src/plugin_common/Makefile.am b/3rdparty/libflac/src/plugin_common/Makefile.am
deleted file mode 100644
index e2915a7c672..00000000000
--- a/3rdparty/libflac/src/plugin_common/Makefile.am
+++ /dev/null
@@ -1,48 +0,0 @@
-# plugin_common - Routines common to several plugins
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-AUTOMAKE_OPTIONS = foreign
-
-INCLUDES = -I$(top_srcdir)/include
-
-noinst_LTLIBRARIES = libplugin_common.la
-
-noinst_HEADERS = \
- all.h \
- charset.h \
- defs.h \
- dither.h \
- replaygain.h \
- tags.h
-
-libplugin_common_la_SOURCES = \
- charset.c \
- dither.c \
- replaygain.c \
- tags.c
-
-EXTRA_DIST = \
- Makefile.lite \
- README \
- plugin_common_static.dsp \
- plugin_common_static.vcproj
-
-debug:
- $(MAKE) all CFLAGS="@DEBUG@"
-
-profile:
- $(MAKE) all CFLAGS="@PROFILE@"
diff --git a/3rdparty/libflac/src/plugin_common/Makefile.in b/3rdparty/libflac/src/plugin_common/Makefile.in
deleted file mode 100644
index 663a3096275..00000000000
--- a/3rdparty/libflac/src/plugin_common/Makefile.in
+++ /dev/null
@@ -1,539 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# plugin_common - Routines common to several plugins
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-AUTOMAKE_OPTIONS = foreign
-
-INCLUDES = -I$(top_srcdir)/include
-
-noinst_LTLIBRARIES = libplugin_common.la
-
-noinst_HEADERS = \
- all.h \
- charset.h \
- defs.h \
- dither.h \
- replaygain.h \
- tags.h
-
-
-libplugin_common_la_SOURCES = \
- charset.c \
- dither.c \
- replaygain.c \
- tags.c
-
-
-EXTRA_DIST = \
- Makefile.lite \
- README \
- plugin_common_static.dsp \
- plugin_common_static.vcproj
-
-subdir = src/plugin_common
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-
-libplugin_common_la_LDFLAGS =
-libplugin_common_la_LIBADD =
-am_libplugin_common_la_OBJECTS = charset.lo dither.lo replaygain.lo \
- tags.lo
-libplugin_common_la_OBJECTS = $(am_libplugin_common_la_OBJECTS)
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/charset.Plo ./$(DEPDIR)/dither.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/replaygain.Plo ./$(DEPDIR)/tags.Plo
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(libplugin_common_la_SOURCES)
-HEADERS = $(noinst_HEADERS)
-
-DIST_COMMON = README $(noinst_HEADERS) $(srcdir)/Makefile.in \
- Makefile.am
-SOURCES = $(libplugin_common_la_SOURCES)
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign src/plugin_common/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" = "$$p" && dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libplugin_common.la: $(libplugin_common_la_OBJECTS) $(libplugin_common_la_DEPENDENCIES)
- $(LINK) $(libplugin_common_la_LDFLAGS) $(libplugin_common_la_OBJECTS) $(libplugin_common_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/charset.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dither.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/replaygain.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tags.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES) $(HEADERS)
-
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
- pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
-
-
-debug:
- $(MAKE) all CFLAGS="@DEBUG@"
-
-profile:
- $(MAKE) all CFLAGS="@PROFILE@"
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/src/plugin_common/Makefile.lite b/3rdparty/libflac/src/plugin_common/Makefile.lite
deleted file mode 100644
index 987bae8d05d..00000000000
--- a/3rdparty/libflac/src/plugin_common/Makefile.lite
+++ /dev/null
@@ -1,36 +0,0 @@
-# plugin_common - Routines common to several plugins
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-#
-# GNU makefile
-#
-
-topdir = ../..
-
-LIB_NAME = libplugin_common
-INCLUDES = -I$(topdir)/include -I$(HOME)/local/include
-DEFINES =
-
-SRCS_C = \
- charset.c \
- dither.c \
- replaygain.c \
- tags.c
-
-include $(topdir)/build/lib.mk
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/src/plugin_common/README b/3rdparty/libflac/src/plugin_common/README
deleted file mode 100644
index 5a3352614d3..00000000000
--- a/3rdparty/libflac/src/plugin_common/README
+++ /dev/null
@@ -1,2 +0,0 @@
-This directory contains a convenience library of routines that are
-common to the plugins.
diff --git a/3rdparty/libflac/src/plugin_common/all.h b/3rdparty/libflac/src/plugin_common/all.h
deleted file mode 100644
index e987dd088f5..00000000000
--- a/3rdparty/libflac/src/plugin_common/all.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* plugin_common - Routines common to several plugins
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef FLAC__PLUGIN_COMMON__ALL_H
-#define FLAC__PLUGIN_COMMON__ALL_H
-
-#include "charset.h"
-#include "dither.h"
-#include "tags.h"
-
-#endif
diff --git a/3rdparty/libflac/src/plugin_common/charset.c b/3rdparty/libflac/src/plugin_common/charset.c
deleted file mode 100644
index cc826690876..00000000000
--- a/3rdparty/libflac/src/plugin_common/charset.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/* plugin_common - Routines common to several plugins
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
- *
- * Only slightly modified charset.c from:
- * EasyTAG - Tag editor for MP3 and OGG files
- * Copyright (C) 1999-2001 Håvard Kvålen <havardk@xmms.org>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-
-#ifdef HAVE_ICONV
-#include <iconv.h>
-#endif
-
-#ifdef HAVE_LANGINFO_CODESET
-#include <langinfo.h>
-#endif
-
-#include "charset.h"
-
-
-/*************
- * Functions *
- *************/
-
-char* FLAC_plugin__charset_get_current (void)
-{
- char *charset = getenv("CHARSET");
-
-#ifdef HAVE_LANGINFO_CODESET
- if (!charset)
- charset = nl_langinfo(CODESET);
-#endif
- if (!charset)
- charset = "ISO-8859-1";
-
- return charset;
-}
-
-
-#ifdef HAVE_ICONV
-char* FLAC_plugin__charset_convert_string (const char *string, char *from, char *to)
-{
- size_t outleft, outsize, length;
- iconv_t cd;
- char *out, *outptr;
- const char *input = string;
-
- if (!string)
- return NULL;
-
- length = strlen(string);
-
- if ((cd = iconv_open(to, from)) == (iconv_t)-1)
- {
-#ifdef DEBUG
- fprintf(stderr, "convert_string(): Conversion not supported. Charsets: %s -> %s", from, to);
-#endif
- return strdup(string);
- }
-
- /* Due to a GLIBC bug, round outbuf_size up to a multiple of 4 */
- /* + 1 for nul in case len == 1 */
- outsize = ((length + 3) & ~3) + 1;
- if(outsize < length) /* overflow check */
- return NULL;
- out = (char*)malloc(outsize);
- outleft = outsize - 1;
- outptr = out;
-
-retry:
- if (iconv(cd, (char**)&input, &length, &outptr, &outleft) == (size_t)(-1))
- {
- int used;
- switch (errno)
- {
- case E2BIG:
- used = outptr - out;
- if((outsize - 1) * 2 + 1 <= outsize) { /* overflow check */
- free(out);
- return NULL;
- }
- outsize = (outsize - 1) * 2 + 1;
- out = realloc(out, outsize);
- outptr = out + used;
- outleft = outsize - 1 - used;
- goto retry;
- case EINVAL:
- break;
- case EILSEQ:
- /* Invalid sequence, try to get the rest of the string */
- input++;
- length = strlen(input);
- goto retry;
- default:
-#ifdef DEBUG
- fprintf(stderr, "convert_string(): Conversion failed. Inputstring: %s; Error: %s", string, strerror(errno));
-#endif
- break;
- }
- }
- *outptr = '\0';
-
- iconv_close(cd);
- return out;
-}
-#else
-char* FLAC_plugin__charset_convert_string (const char *string, char *from, char *to)
-{
- (void)from, (void)to;
- if (!string)
- return NULL;
- return strdup(string);
-}
-#endif
-
-#ifdef HAVE_ICONV
-int FLAC_plugin__charset_test_conversion (char *from, char *to)
-{
- iconv_t cd;
-
- if ((cd=iconv_open(to,from)) == (iconv_t)-1)
- {
- /* Conversion not supported */
- return 0;
- }
- iconv_close(cd);
- return 1;
-}
-#else
-int FLAC_plugin__charset_test_conversion (char *from, char *to)
-{
- (void)from, (void)to;
- return 1;
-}
-#endif
diff --git a/3rdparty/libflac/src/plugin_common/charset.h b/3rdparty/libflac/src/plugin_common/charset.h
deleted file mode 100644
index 7ea283818fc..00000000000
--- a/3rdparty/libflac/src/plugin_common/charset.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* plugin_common - Routines common to several plugins
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
- *
- * Only slightly modified charset.h from:
- * charset.h - 2001/12/04
- * EasyTAG - Tag editor for MP3 and OGG files
- * Copyright (C) 1999-2001 H蛆ard Kv虱en <havardk@xmms.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-
-#ifndef FLAC__PLUGIN_COMMON__CHARSET_H
-#define FLAC__PLUGIN_COMMON__CHARSET_H
-
-
-/**************
- * Prototypes *
- **************/
-
-char *FLAC_plugin__charset_get_current(void);
-char *FLAC_plugin__charset_convert_string(const char *string, char *from, char *to);
-
-/* returns 1 for success, 0 for failure or no iconv */
-int FLAC_plugin__charset_test_conversion(char *from, char *to);
-
-#endif
diff --git a/3rdparty/libflac/src/plugin_common/defs.h b/3rdparty/libflac/src/plugin_common/defs.h
deleted file mode 100644
index 0cc9b4b06b5..00000000000
--- a/3rdparty/libflac/src/plugin_common/defs.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* plugin_common - Routines common to several plugins
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef FLAC__PLUGIN_COMMON__DEFS_H
-#define FLAC__PLUGIN_COMMON__DEFS_H
-
-#define FLAC_PLUGIN__MAX_SUPPORTED_CHANNELS 2
-
-#endif
diff --git a/3rdparty/libflac/src/plugin_common/dither.c b/3rdparty/libflac/src/plugin_common/dither.c
deleted file mode 100644
index 538a28029e0..00000000000
--- a/3rdparty/libflac/src/plugin_common/dither.c
+++ /dev/null
@@ -1,262 +0,0 @@
-/* plugin_common - Routines common to several plugins
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
- *
- * dithering routine derived from (other GPLed source):
- * mad - MPEG audio decoder
- * Copyright (C) 2000-2001 Robert Leslie
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include "dither.h"
-#include "FLAC/assert.h"
-
-#ifdef max
-#undef max
-#endif
-#define max(a,b) ((a)>(b)?(a):(b))
-
-#ifndef FLaC__INLINE
-#define FLaC__INLINE
-#endif
-
-
-/* 32-bit pseudo-random number generator
- *
- * @@@ According to Miroslav, this one is poor quality, the one from the
- * @@@ original replaygain code is much better
- */
-static FLaC__INLINE FLAC__uint32 prng(FLAC__uint32 state)
-{
- return (state * 0x0019660dL + 0x3c6ef35fL) & 0xffffffffL;
-}
-
-/* dither routine derived from MAD winamp plugin */
-
-typedef struct {
- FLAC__int32 error[3];
- FLAC__int32 random;
-} dither_state;
-
-static FLaC__INLINE FLAC__int32 linear_dither(unsigned source_bps, unsigned target_bps, FLAC__int32 sample, dither_state *dither, const FLAC__int32 MIN, const FLAC__int32 MAX)
-{
- unsigned scalebits;
- FLAC__int32 output, mask, random;
-
- FLAC__ASSERT(source_bps < 32);
- FLAC__ASSERT(target_bps <= 24);
- FLAC__ASSERT(target_bps <= source_bps);
-
- /* noise shape */
- sample += dither->error[0] - dither->error[1] + dither->error[2];
-
- dither->error[2] = dither->error[1];
- dither->error[1] = dither->error[0] / 2;
-
- /* bias */
- output = sample + (1L << (source_bps - target_bps - 1));
-
- scalebits = source_bps - target_bps;
- mask = (1L << scalebits) - 1;
-
- /* dither */
- random = (FLAC__int32)prng(dither->random);
- output += (random & mask) - (dither->random & mask);
-
- dither->random = random;
-
- /* clip */
- if(output > MAX) {
- output = MAX;
-
- if(sample > MAX)
- sample = MAX;
- }
- else if(output < MIN) {
- output = MIN;
-
- if(sample < MIN)
- sample = MIN;
- }
-
- /* quantize */
- output &= ~mask;
-
- /* error feedback */
- dither->error[0] = sample - output;
-
- /* scale */
- return output >> scalebits;
-}
-
-size_t FLAC__plugin_common__pack_pcm_signed_big_endian(FLAC__byte *data, const FLAC__int32 * const input[], unsigned wide_samples, unsigned channels, unsigned source_bps, unsigned target_bps)
-{
- static dither_state dither[FLAC_PLUGIN__MAX_SUPPORTED_CHANNELS];
- FLAC__byte * const start = data;
- FLAC__int32 sample;
- const FLAC__int32 *input_;
- unsigned samples, channel;
- const unsigned bytes_per_sample = target_bps / 8;
- const unsigned incr = bytes_per_sample * channels;
-
- FLAC__ASSERT(channels > 0 && channels <= FLAC_PLUGIN__MAX_SUPPORTED_CHANNELS);
- FLAC__ASSERT(source_bps < 32);
- FLAC__ASSERT(target_bps <= 24);
- FLAC__ASSERT(target_bps <= source_bps);
- FLAC__ASSERT((source_bps & 7) == 0);
- FLAC__ASSERT((target_bps & 7) == 0);
-
- if(source_bps != target_bps) {
- const FLAC__int32 MIN = -(1L << (source_bps - 1));
- const FLAC__int32 MAX = ~MIN; /*(1L << (source_bps-1)) - 1 */
-
- for(channel = 0; channel < channels; channel++) {
-
- samples = wide_samples;
- data = start + bytes_per_sample * channel;
- input_ = input[channel];
-
- while(samples--) {
- sample = linear_dither(source_bps, target_bps, *input_++, &dither[channel], MIN, MAX);
-
- switch(target_bps) {
- case 8:
- data[0] = sample ^ 0x80;
- break;
- case 16:
- data[0] = (FLAC__byte)(sample >> 8);
- data[1] = (FLAC__byte)sample;
- break;
- case 24:
- data[0] = (FLAC__byte)(sample >> 16);
- data[1] = (FLAC__byte)(sample >> 8);
- data[2] = (FLAC__byte)sample;
- break;
- }
-
- data += incr;
- }
- }
- }
- else {
- for(channel = 0; channel < channels; channel++) {
- samples = wide_samples;
- data = start + bytes_per_sample * channel;
- input_ = input[channel];
-
- while(samples--) {
- sample = *input_++;
-
- switch(target_bps) {
- case 8:
- data[0] = sample ^ 0x80;
- break;
- case 16:
- data[0] = (FLAC__byte)(sample >> 8);
- data[1] = (FLAC__byte)sample;
- break;
- case 24:
- data[0] = (FLAC__byte)(sample >> 16);
- data[1] = (FLAC__byte)(sample >> 8);
- data[2] = (FLAC__byte)sample;
- break;
- }
-
- data += incr;
- }
- }
- }
-
- return wide_samples * channels * (target_bps/8);
-}
-
-size_t FLAC__plugin_common__pack_pcm_signed_little_endian(FLAC__byte *data, const FLAC__int32 * const input[], unsigned wide_samples, unsigned channels, unsigned source_bps, unsigned target_bps)
-{
- static dither_state dither[FLAC_PLUGIN__MAX_SUPPORTED_CHANNELS];
- FLAC__byte * const start = data;
- FLAC__int32 sample;
- const FLAC__int32 *input_;
- unsigned samples, channel;
- const unsigned bytes_per_sample = target_bps / 8;
- const unsigned incr = bytes_per_sample * channels;
-
- FLAC__ASSERT(channels > 0 && channels <= FLAC_PLUGIN__MAX_SUPPORTED_CHANNELS);
- FLAC__ASSERT(source_bps < 32);
- FLAC__ASSERT(target_bps <= 24);
- FLAC__ASSERT(target_bps <= source_bps);
- FLAC__ASSERT((source_bps & 7) == 0);
- FLAC__ASSERT((target_bps & 7) == 0);
-
- if(source_bps != target_bps) {
- const FLAC__int32 MIN = -(1L << (source_bps - 1));
- const FLAC__int32 MAX = ~MIN; /*(1L << (source_bps-1)) - 1 */
-
- for(channel = 0; channel < channels; channel++) {
-
- samples = wide_samples;
- data = start + bytes_per_sample * channel;
- input_ = input[channel];
-
- while(samples--) {
- sample = linear_dither(source_bps, target_bps, *input_++, &dither[channel], MIN, MAX);
-
- switch(target_bps) {
- case 8:
- data[0] = sample ^ 0x80;
- break;
- case 24:
- data[2] = (FLAC__byte)(sample >> 16);
- /* fall through */
- case 16:
- data[1] = (FLAC__byte)(sample >> 8);
- data[0] = (FLAC__byte)sample;
- }
-
- data += incr;
- }
- }
- }
- else {
- for(channel = 0; channel < channels; channel++) {
- samples = wide_samples;
- data = start + bytes_per_sample * channel;
- input_ = input[channel];
-
- while(samples--) {
- sample = *input_++;
-
- switch(target_bps) {
- case 8:
- data[0] = sample ^ 0x80;
- break;
- case 24:
- data[2] = (FLAC__byte)(sample >> 16);
- /* fall through */
- case 16:
- data[1] = (FLAC__byte)(sample >> 8);
- data[0] = (FLAC__byte)sample;
- }
-
- data += incr;
- }
- }
- }
-
- return wide_samples * channels * (target_bps/8);
-}
diff --git a/3rdparty/libflac/src/plugin_common/dither.h b/3rdparty/libflac/src/plugin_common/dither.h
deleted file mode 100644
index ad94bae194a..00000000000
--- a/3rdparty/libflac/src/plugin_common/dither.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* plugin_common - Routines common to several plugins
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef FLAC__PLUGIN_COMMON__DITHER_H
-#define FLAC__PLUGIN_COMMON__DITHER_H
-
-#include <stdlib.h> /* for size_t */
-#include "defs.h" /* buy FLAC_PLUGIN__MAX_SUPPORTED_CHANNELS for the caller */
-#include "FLAC/ordinals.h"
-
-size_t FLAC__plugin_common__pack_pcm_signed_big_endian(FLAC__byte *data, const FLAC__int32 * const input[], unsigned wide_samples, unsigned channels, unsigned source_bps, unsigned target_bps);
-size_t FLAC__plugin_common__pack_pcm_signed_little_endian(FLAC__byte *data, const FLAC__int32 * const input[], unsigned wide_samples, unsigned channels, unsigned source_bps, unsigned target_bps);
-
-#endif
diff --git a/3rdparty/libflac/src/plugin_common/plugin_common_static.dsp b/3rdparty/libflac/src/plugin_common/plugin_common_static.dsp
deleted file mode 100644
index ae9b2bce61e..00000000000
--- a/3rdparty/libflac/src/plugin_common/plugin_common_static.dsp
+++ /dev/null
@@ -1,128 +0,0 @@
-# Microsoft Developer Studio Project File - Name="plugin_common_static" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=plugin_common_static - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "plugin_common_static.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "plugin_common_static.mak" CFG="plugin_common_static - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "plugin_common_static - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "plugin_common_static - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "plugin_common"
-# PROP Scc_LocalPath "..\.."
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "plugin_common_static - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\obj\release\lib"
-# PROP Intermediate_Dir "Release_static"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /WX /GX /Ox /Og /Oi /Os /Op /I ".\include" /I "..\..\include" /D "FLAC__NO_DLL" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /nodefaultlib
-
-!ELSEIF "$(CFG)" == "plugin_common_static - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\obj\debug\lib"
-# PROP Intermediate_Dir "Debug_static"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I ".\include" /I "..\..\include" /D "FLAC__NO_DLL" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /nodefaultlib
-
-!ENDIF
-
-# Begin Target
-
-# Name "plugin_common_static - Win32 Release"
-# Name "plugin_common_static - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp"
-# Begin Source File
-
-SOURCE=.\charset.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\dither.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\replaygain.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\tags.c
-# End Source File
-# End Group
-# Begin Group "Public Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\all.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\charset.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\dither.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\replaygain.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\tags.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/plugin_common/plugin_common_static.vcproj b/3rdparty/libflac/src/plugin_common/plugin_common_static.vcproj
deleted file mode 100644
index ee64d2593aa..00000000000
--- a/3rdparty/libflac/src/plugin_common/plugin_common_static.vcproj
+++ /dev/null
@@ -1,209 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="plugin_common_static"
- ProjectGUID="{4cefbc88-c215-11db-8314-0800200c9a66}"
- RootNamespace="plugin_common_static"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\obj\debug\lib"
- IntermediateDirectory="Debug_static"
- ConfigurationType="4"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".\include;..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\obj\debug\lib\$(ProjectName).lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\obj\release\lib"
- IntermediateDirectory="Release_static"
- ConfigurationType="4"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".\include;..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\obj\release\lib\$(ProjectName).lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\all.h"
- >
- </File>
- <File
- RelativePath=".\charset.h"
- >
- </File>
- <File
- RelativePath=".\defs.h"
- >
- </File>
- <File
- RelativePath=".\dither.h"
- >
- </File>
- <File
- RelativePath=".\replaygain.h"
- >
- </File>
- <File
- RelativePath=".\tags.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\charset.c"
- >
- </File>
- <File
- RelativePath=".\dither.c"
- >
- </File>
- <File
- RelativePath=".\replaygain.c"
- >
- </File>
- <File
- RelativePath=".\tags.c"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/plugin_common/replaygain.c b/3rdparty/libflac/src/plugin_common/replaygain.c
deleted file mode 100644
index 5ad59c8305c..00000000000
--- a/3rdparty/libflac/src/plugin_common/replaygain.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* plugin_common - Routines common to several plugins
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
- * Copyright (C) 2003 Philip Jägenstedt
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include "replaygain.h"
-#include "FLAC/ordinals.h"
-#include "FLAC/metadata.h"
-#include "share/grabbag.h"
-
-FLAC__bool FLAC_plugin__replaygain_get_from_file(const char *filename,
- double *reference, FLAC__bool *reference_set,
- double *track_gain, FLAC__bool *track_gain_set,
- double *album_gain, FLAC__bool *album_gain_set,
- double *track_peak, FLAC__bool *track_peak_set,
- double *album_peak, FLAC__bool *album_peak_set)
-{
- FLAC__Metadata_SimpleIterator *iterator = FLAC__metadata_simple_iterator_new();
- FLAC__bool ret = false;
-
- *track_gain_set = *album_gain_set = *track_peak_set = *album_peak_set = false;
-
- if(0 != iterator) {
- if(FLAC__metadata_simple_iterator_init(iterator, filename, /*read_only=*/true, /*preserve_file_stats=*/true)) {
- FLAC__bool got_vorbis_comments = false;
- ret = true;
- do {
- if(FLAC__metadata_simple_iterator_get_block_type(iterator) == FLAC__METADATA_TYPE_VORBIS_COMMENT) {
- FLAC__StreamMetadata *block = FLAC__metadata_simple_iterator_get_block(iterator);
- if(0 != block) {
- if(grabbag__replaygain_load_from_vorbiscomment(block, /*album_mode=*/false, /*strict=*/true, reference, track_gain, track_peak)) {
- *reference_set = *track_gain_set = *track_peak_set = true;
- }
- if(grabbag__replaygain_load_from_vorbiscomment(block, /*album_mode=*/true, /*strict=*/true, reference, album_gain, album_peak)) {
- *reference_set = *album_gain_set = *album_peak_set = true;
- }
- FLAC__metadata_object_delete(block);
- got_vorbis_comments = true;
- }
- }
- } while (!got_vorbis_comments && FLAC__metadata_simple_iterator_next(iterator));
- }
- FLAC__metadata_simple_iterator_delete(iterator);
- }
- return ret;
-}
diff --git a/3rdparty/libflac/src/plugin_common/replaygain.h b/3rdparty/libflac/src/plugin_common/replaygain.h
deleted file mode 100644
index 528312ecc9c..00000000000
--- a/3rdparty/libflac/src/plugin_common/replaygain.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* plugin_common - Routines common to several plugins
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
- * Copyright (C) 2003 Philip Jägenstedt
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef FLAC__PLUGIN_COMMON__REPLAYGAIN_H
-#define FLAC__PLUGIN_COMMON__REPLAYGAIN_H
-
-#include "FLAC/ordinals.h"
-
-FLAC__bool FLAC_plugin__replaygain_get_from_file(const char *filename,
- double *reference, FLAC__bool *reference_set,
- double *track_gain, FLAC__bool *track_gain_set,
- double *album_gain, FLAC__bool *album_gain_set,
- double *track_peak, FLAC__bool *track_peak_set,
- double *album_peak, FLAC__bool *album_peak_set);
-
-#endif
diff --git a/3rdparty/libflac/src/plugin_common/tags.c b/3rdparty/libflac/src/plugin_common/tags.c
deleted file mode 100644
index befc8484fd2..00000000000
--- a/3rdparty/libflac/src/plugin_common/tags.c
+++ /dev/null
@@ -1,358 +0,0 @@
-/* plugin_common - Routines common to several plugins
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include "tags.h"
-#include "FLAC/assert.h"
-#include "FLAC/metadata.h"
-#include "share/alloc.h"
-
-#ifndef FLaC__INLINE
-#define FLaC__INLINE
-#endif
-
-
-static FLaC__INLINE size_t local__wide_strlen(const FLAC__uint16 *s)
-{
- size_t n = 0;
- while(*s++)
- n++;
- return n;
-}
-
-/*
- * also disallows non-shortest-form encodings, c.f.
- * http://www.unicode.org/versions/corrigendum1.html
- * and a more clear explanation at the end of this section:
- * http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
- */
-static FLaC__INLINE size_t local__utf8len(const FLAC__byte *utf8)
-{
- FLAC__ASSERT(0 != utf8);
- if ((utf8[0] & 0x80) == 0) {
- return 1;
- }
- else if ((utf8[0] & 0xE0) == 0xC0 && (utf8[1] & 0xC0) == 0x80) {
- if ((utf8[0] & 0xFE) == 0xC0) /* overlong sequence check */
- return 0;
- return 2;
- }
- else if ((utf8[0] & 0xF0) == 0xE0 && (utf8[1] & 0xC0) == 0x80 && (utf8[2] & 0xC0) == 0x80) {
- if (utf8[0] == 0xE0 && (utf8[1] & 0xE0) == 0x80) /* overlong sequence check */
- return 0;
- /* illegal surrogates check (U+D800...U+DFFF and U+FFFE...U+FFFF) */
- if (utf8[0] == 0xED && (utf8[1] & 0xE0) == 0xA0) /* D800-DFFF */
- return 0;
- if (utf8[0] == 0xEF && utf8[1] == 0xBF && (utf8[2] & 0xFE) == 0xBE) /* FFFE-FFFF */
- return 0;
- return 3;
- }
- else if ((utf8[0] & 0xF8) == 0xF0 && (utf8[1] & 0xC0) == 0x80 && (utf8[2] & 0xC0) == 0x80 && (utf8[3] & 0xC0) == 0x80) {
- if (utf8[0] == 0xF0 && (utf8[1] & 0xF0) == 0x80) /* overlong sequence check */
- return 0;
- return 4;
- }
- else if ((utf8[0] & 0xFC) == 0xF8 && (utf8[1] & 0xC0) == 0x80 && (utf8[2] & 0xC0) == 0x80 && (utf8[3] & 0xC0) == 0x80 && (utf8[4] & 0xC0) == 0x80) {
- if (utf8[0] == 0xF8 && (utf8[1] & 0xF8) == 0x80) /* overlong sequence check */
- return 0;
- return 5;
- }
- else if ((utf8[0] & 0xFE) == 0xFC && (utf8[1] & 0xC0) == 0x80 && (utf8[2] & 0xC0) == 0x80 && (utf8[3] & 0xC0) == 0x80 && (utf8[4] & 0xC0) == 0x80 && (utf8[5] & 0xC0) == 0x80) {
- if (utf8[0] == 0xFC && (utf8[1] & 0xFC) == 0x80) /* overlong sequence check */
- return 0;
- return 6;
- }
- else {
- return 0;
- }
-}
-
-
-static FLaC__INLINE size_t local__utf8_to_ucs2(const FLAC__byte *utf8, FLAC__uint16 *ucs2)
-{
- const size_t len = local__utf8len(utf8);
-
- FLAC__ASSERT(0 != ucs2);
-
- if (len == 1)
- *ucs2 = *utf8;
- else if (len == 2)
- *ucs2 = (*utf8 & 0x3F)<<6 | (*(utf8+1) & 0x3F);
- else if (len == 3)
- *ucs2 = (*utf8 & 0x1F)<<12 | (*(utf8+1) & 0x3F)<<6 | (*(utf8+2) & 0x3F);
- else
- *ucs2 = '?';
-
- return len;
-}
-
-static FLAC__uint16 *local__convert_utf8_to_ucs2(const char *src, unsigned length)
-{
- FLAC__uint16 *out;
- size_t chars = 0;
-
- FLAC__ASSERT(0 != src);
-
- /* calculate length */
- {
- const unsigned char *s, *end;
- for (s=(const unsigned char *)src, end=s+length; s<end; chars++) {
- const unsigned n = local__utf8len(s);
- if (n == 0)
- return 0;
- s += n;
- }
- FLAC__ASSERT(s == end);
- }
-
- /* allocate */
- out = (FLAC__uint16*)safe_malloc_mul_2op_(chars, /*times*/sizeof(FLAC__uint16));
- if (0 == out) {
- FLAC__ASSERT(0);
- return 0;
- }
-
- /* convert */
- {
- const unsigned char *s = (const unsigned char *)src;
- FLAC__uint16 *u = out;
- for ( ; chars; chars--)
- s += local__utf8_to_ucs2(s, u++);
- }
-
- return out;
-}
-
-static FLaC__INLINE size_t local__ucs2len(FLAC__uint16 ucs2)
-{
- if (ucs2 < 0x0080)
- return 1;
- else if (ucs2 < 0x0800)
- return 2;
- else
- return 3;
-}
-
-static FLaC__INLINE size_t local__ucs2_to_utf8(FLAC__uint16 ucs2, FLAC__byte *utf8)
-{
- if (ucs2 < 0x080) {
- utf8[0] = (FLAC__byte)ucs2;
- return 1;
- }
- else if (ucs2 < 0x800) {
- utf8[0] = 0xc0 | (ucs2 >> 6);
- utf8[1] = 0x80 | (ucs2 & 0x3f);
- return 2;
- }
- else {
- utf8[0] = 0xe0 | (ucs2 >> 12);
- utf8[1] = 0x80 | ((ucs2 >> 6) & 0x3f);
- utf8[2] = 0x80 | (ucs2 & 0x3f);
- return 3;
- }
-}
-
-static char *local__convert_ucs2_to_utf8(const FLAC__uint16 *src, unsigned length)
-{
- char *out;
- size_t len = 0, n;
-
- FLAC__ASSERT(0 != src);
-
- /* calculate length */
- {
- unsigned i;
- for (i = 0; i < length; i++) {
- n = local__ucs2len(src[i]);
- if(len + n < len) /* overflow check */
- return 0;
- len += n;
- }
- }
-
- /* allocate */
- out = (char*)safe_malloc_mul_2op_(len, /*times*/sizeof(char));
- if (0 == out)
- return 0;
-
- /* convert */
- {
- unsigned char *u = (unsigned char *)out;
- for ( ; *src; src++)
- u += local__ucs2_to_utf8(*src, u);
- local__ucs2_to_utf8(*src, u);
- }
-
- return out;
-}
-
-
-FLAC__bool FLAC_plugin__tags_get(const char *filename, FLAC__StreamMetadata **tags)
-{
- if(!FLAC__metadata_get_tags(filename, tags))
- if(0 == (*tags = FLAC__metadata_object_new(FLAC__METADATA_TYPE_VORBIS_COMMENT)))
- return false;
- return true;
-}
-
-FLAC__bool FLAC_plugin__tags_set(const char *filename, const FLAC__StreamMetadata *tags)
-{
- FLAC__Metadata_Chain *chain;
- FLAC__Metadata_Iterator *iterator;
- FLAC__StreamMetadata *block;
- FLAC__bool got_vorbis_comments = false;
- FLAC__bool ok;
-
- if(0 == (chain = FLAC__metadata_chain_new()))
- return false;
-
- if(!FLAC__metadata_chain_read(chain, filename)) {
- FLAC__metadata_chain_delete(chain);
- return false;
- }
-
- if(0 == (iterator = FLAC__metadata_iterator_new())) {
- FLAC__metadata_chain_delete(chain);
- return false;
- }
-
- FLAC__metadata_iterator_init(iterator, chain);
-
- do {
- if(FLAC__metadata_iterator_get_block_type(iterator) == FLAC__METADATA_TYPE_VORBIS_COMMENT)
- got_vorbis_comments = true;
- } while(!got_vorbis_comments && FLAC__metadata_iterator_next(iterator));
-
- if(0 == (block = FLAC__metadata_object_clone(tags))) {
- FLAC__metadata_chain_delete(chain);
- FLAC__metadata_iterator_delete(iterator);
- return false;
- }
-
- if(got_vorbis_comments)
- ok = FLAC__metadata_iterator_set_block(iterator, block);
- else
- ok = FLAC__metadata_iterator_insert_block_after(iterator, block);
-
- FLAC__metadata_iterator_delete(iterator);
-
- if(ok) {
- FLAC__metadata_chain_sort_padding(chain);
- ok = FLAC__metadata_chain_write(chain, /*use_padding=*/true, /*preserve_file_stats=*/true);
- }
-
- FLAC__metadata_chain_delete(chain);
-
- return ok;
-}
-
-void FLAC_plugin__tags_destroy(FLAC__StreamMetadata **tags)
-{
- FLAC__metadata_object_delete(*tags);
- *tags = 0;
-}
-
-const char *FLAC_plugin__tags_get_tag_utf8(const FLAC__StreamMetadata *tags, const char *name)
-{
- const int i = FLAC__metadata_object_vorbiscomment_find_entry_from(tags, /*offset=*/0, name);
- return (i < 0? 0 : strchr((const char *)tags->data.vorbis_comment.comments[i].entry, '=')+1);
-}
-
-FLAC__uint16 *FLAC_plugin__tags_get_tag_ucs2(const FLAC__StreamMetadata *tags, const char *name)
-{
- const char *utf8 = FLAC_plugin__tags_get_tag_utf8(tags, name);
- if(0 == utf8)
- return 0;
- return local__convert_utf8_to_ucs2(utf8, strlen(utf8)+1); /* +1 for terminating null */
-}
-
-int FLAC_plugin__tags_delete_tag(FLAC__StreamMetadata *tags, const char *name)
-{
- return FLAC__metadata_object_vorbiscomment_remove_entries_matching(tags, name);
-}
-
-int FLAC_plugin__tags_delete_all(FLAC__StreamMetadata *tags)
-{
- int n = (int)tags->data.vorbis_comment.num_comments;
- if(n > 0) {
- if(!FLAC__metadata_object_vorbiscomment_resize_comments(tags, 0))
- n = -1;
- }
- return n;
-}
-
-FLAC__bool FLAC_plugin__tags_add_tag_utf8(FLAC__StreamMetadata *tags, const char *name, const char *value, const char *separator)
-{
- int i;
-
- FLAC__ASSERT(0 != tags);
- FLAC__ASSERT(0 != name);
- FLAC__ASSERT(0 != value);
-
- if(separator && (i = FLAC__metadata_object_vorbiscomment_find_entry_from(tags, /*offset=*/0, name)) >= 0) {
- FLAC__StreamMetadata_VorbisComment_Entry *entry = tags->data.vorbis_comment.comments+i;
- const size_t value_len = strlen(value);
- const size_t separator_len = strlen(separator);
- FLAC__byte *new_entry;
- if(0 == (new_entry = (FLAC__byte*)safe_realloc_add_4op_(entry->entry, entry->length, /*+*/value_len, /*+*/separator_len, /*+*/1)))
- return false;
- memcpy(new_entry+entry->length, separator, separator_len);
- entry->length += separator_len;
- memcpy(new_entry+entry->length, value, value_len);
- entry->length += value_len;
- new_entry[entry->length] = '\0';
- entry->entry = new_entry;
- }
- else {
- FLAC__StreamMetadata_VorbisComment_Entry entry;
- if(!FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair(&entry, name, value))
- return false;
- FLAC__metadata_object_vorbiscomment_append_comment(tags, entry, /*copy=*/false);
- }
- return true;
-}
-
-FLAC__bool FLAC_plugin__tags_set_tag_ucs2(FLAC__StreamMetadata *tags, const char *name, const FLAC__uint16 *value, FLAC__bool replace_all)
-{
- FLAC__StreamMetadata_VorbisComment_Entry entry;
-
- FLAC__ASSERT(0 != tags);
- FLAC__ASSERT(0 != name);
- FLAC__ASSERT(0 != value);
-
- {
- char *utf8 = local__convert_ucs2_to_utf8(value, local__wide_strlen(value)+1); /* +1 for the terminating null */
- if(0 == utf8)
- return false;
- if(!FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair(&entry, name, utf8)) {
- free(utf8);
- return false;
- }
- free(utf8);
- }
- if(!FLAC__metadata_object_vorbiscomment_replace_comment(tags, entry, replace_all, /*copy=*/false))
- return false;
- return true;
-}
diff --git a/3rdparty/libflac/src/plugin_common/tags.h b/3rdparty/libflac/src/plugin_common/tags.h
deleted file mode 100644
index 78887674762..00000000000
--- a/3rdparty/libflac/src/plugin_common/tags.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* plugin_common - Routines common to several plugins
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef FLAC__PLUGIN_COMMON__TAGS_H
-#define FLAC__PLUGIN_COMMON__TAGS_H
-
-#include "FLAC/format.h"
-
-FLAC__bool FLAC_plugin__tags_get(const char *filename, FLAC__StreamMetadata **tags);
-FLAC__bool FLAC_plugin__tags_set(const char *filename, const FLAC__StreamMetadata *tags);
-
-/*
- * Deletes the tags object and sets '*tags' to NULL.
- */
-void FLAC_plugin__tags_destroy(FLAC__StreamMetadata **tags);
-
-/*
- * Gets the value (in UTF-8) of the first tag with the given name (NULL if no
- * such tag exists).
- */
-const char *FLAC_plugin__tags_get_tag_utf8(const FLAC__StreamMetadata *tags, const char *name);
-
-/*
- * Gets the value (in UCS-2) of the first tag with the given name (NULL if no
- * such tag exists).
- *
- * NOTE: the returned string is malloc()ed and must be free()d by the caller.
- */
-FLAC__uint16 *FLAC_plugin__tags_get_tag_ucs2(const FLAC__StreamMetadata *tags, const char *name);
-
-/*
- * Removes all tags with the given 'name'. Returns the number of tags removed,
- * or -1 on memory allocation error.
- */
-int FLAC_plugin__tags_delete_tag(FLAC__StreamMetadata *tags, const char *name);
-
-/*
- * Removes all tags. Returns the number of tags removed, or -1 on memory
- * allocation error.
- */
-int FLAC_plugin__tags_delete_all(FLAC__StreamMetadata *tags);
-
-/*
- * Adds a "name=value" tag to the tags. 'value' must be in UTF-8. If
- * 'separator' is non-NULL and 'tags' already contains a tag for 'name', the
- * first such tag's value is appended with separator, then value.
- */
-FLAC__bool FLAC_plugin__tags_add_tag_utf8(FLAC__StreamMetadata *tags, const char *name, const char *value, const char *separator);
-
-/*
- * Adds a "name=value" tag to the tags. 'value' must be in UCS-2. If 'tags'
- * already contains a tag or tags for 'name', then they will be replaced
- * according to 'replace_all': if 'replace_all' is false, only the first such
- * tag will be replaced; if true, all matching tags will be replaced by the one
- * new tag.
- */
-FLAC__bool FLAC_plugin__tags_set_tag_ucs2(FLAC__StreamMetadata *tags, const char *name, const FLAC__uint16 *value, FLAC__bool replace_all);
-
-#endif
diff --git a/3rdparty/libflac/src/plugin_winamp2/Makefile.am b/3rdparty/libflac/src/plugin_winamp2/Makefile.am
deleted file mode 100644
index 401d4d5f7e6..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/Makefile.am
+++ /dev/null
@@ -1,33 +0,0 @@
-# in_flac - Winamp2 FLAC input plugin
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-SUBDIRS = include
-
-EXTRA_DIST = \
- configure.h \
- configure.c \
- in_flac.c \
- in_flac.dsp \
- in_flac.vcproj \
- infobox.c \
- infobox.h \
- playback.c \
- playback.h \
- resource.h \
- resource.rc \
- tagz.cpp \
- tagz.h
diff --git a/3rdparty/libflac/src/plugin_winamp2/Makefile.in b/3rdparty/libflac/src/plugin_winamp2/Makefile.in
deleted file mode 100644
index c08f7944c24..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/Makefile.in
+++ /dev/null
@@ -1,536 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# in_flac - Winamp2 FLAC input plugin
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-SUBDIRS = include
-
-EXTRA_DIST = \
- configure.h \
- configure.c \
- in_flac.c \
- in_flac.dsp \
- in_flac.vcproj \
- infobox.c \
- infobox.h \
- playback.c \
- playback.h \
- resource.h \
- resource.rc \
- tagz.cpp \
- tagz.h
-
-subdir = src/plugin_winamp2
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/plugin_winamp2/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- else \
- include_option=--include; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/src/plugin_winamp2/configure.c b/3rdparty/libflac/src/plugin_winamp2/configure.c
deleted file mode 100644
index dee0709bee6..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/configure.c
+++ /dev/null
@@ -1,428 +0,0 @@
-/* in_flac - Winamp2 FLAC input plugin
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <windows.h>
-#include <commctrl.h>
-#include <stdio.h>
-#include "configure.h"
-#include "tagz.h"
-#include "resource.h"
-#include "share/alloc.h"
-
-
-static char buffer[256];
-static char ini_name[MAX_PATH];
-
-/*
- * Read/write config
- */
-
-#define RI(x, def) (x = GetPrivateProfileInt("FLAC", #x, def, ini_name))
-#define WI(x) WritePrivateProfileString("FLAC", #x, itoa(x, buffer, 10), ini_name)
-#define RS(x, n, def) GetPrivateProfileString("FLAC", #x, def, x, n, ini_name)
-#define WS(x) WritePrivateProfileString("FLAC", #x, x, ini_name)
-
-static const char default_format[] = "[%artist% - ]$if2(%title%,%filename%)";
-static const char default_sep[] = ", ";
-
-static wchar_t *convert_ansi_to_wide_(const char *src)
-{
- int len;
- wchar_t *dest;
-
- FLAC__ASSERT(0 != src);
-
- len = strlen(src) + 1;
- /* copy */
- dest = safe_malloc_mul_2op_(len, /*times*/sizeof(wchar_t));
- if (dest) mbstowcs(dest, src, len);
- return dest;
-}
-
-void InitConfig()
-{
- char *p;
-
- GetModuleFileName(NULL, ini_name, sizeof(ini_name));
- p = strrchr(ini_name, '.');
- if (!p) p = ini_name + strlen(ini_name);
- strcpy(p, ".ini");
-
- flac_cfg.title.tag_format_w = NULL;
-}
-
-void ReadConfig()
-{
- RS(flac_cfg.title.tag_format, sizeof(flac_cfg.title.tag_format), default_format);
- if (flac_cfg.title.tag_format_w)
- free(flac_cfg.title.tag_format_w);
- flac_cfg.title.tag_format_w = convert_ansi_to_wide_(flac_cfg.title.tag_format);
- /* @@@ FIXME: trailing spaces */
- RS(flac_cfg.title.sep, sizeof(flac_cfg.title.sep), default_sep);
- RI(flac_cfg.tag.reserve_space, 1);
-
- RI(flac_cfg.display.show_bps, 1);
- RI(flac_cfg.output.misc.stop_err, 0);
- RI(flac_cfg.output.replaygain.enable, 1);
- RI(flac_cfg.output.replaygain.album_mode, 0);
- RI(flac_cfg.output.replaygain.hard_limit, 0);
- RI(flac_cfg.output.replaygain.preamp, 0);
- RI(flac_cfg.output.resolution.normal.dither_24_to_16, 0);
- RI(flac_cfg.output.resolution.replaygain.dither, 0);
- RI(flac_cfg.output.resolution.replaygain.noise_shaping, 1);
- RI(flac_cfg.output.resolution.replaygain.bps_out, 16);
-}
-
-void WriteConfig()
-{
- WS(flac_cfg.title.tag_format);
- WI(flac_cfg.tag.reserve_space);
- WS(flac_cfg.title.sep);
-
- WI(flac_cfg.display.show_bps);
- WI(flac_cfg.output.misc.stop_err);
- WI(flac_cfg.output.replaygain.enable);
- WI(flac_cfg.output.replaygain.album_mode);
- WI(flac_cfg.output.replaygain.hard_limit);
- WI(flac_cfg.output.replaygain.preamp);
- WI(flac_cfg.output.resolution.normal.dither_24_to_16);
- WI(flac_cfg.output.resolution.replaygain.dither);
- WI(flac_cfg.output.resolution.replaygain.noise_shaping);
- WI(flac_cfg.output.resolution.replaygain.bps_out);
-}
-
-/*
- * Dialog
- */
-
-#define PREAMP_RANGE 24
-
-#define Check(x,y) CheckDlgButton(hwnd, x, y ? BST_CHECKED : BST_UNCHECKED)
-#define GetCheck(x) (IsDlgButtonChecked(hwnd, x)==BST_CHECKED)
-#define GetSel(x) SendDlgItemMessage(hwnd, x, CB_GETCURSEL, 0, 0)
-#define GetPos(x) SendDlgItemMessage(hwnd, x, TBM_GETPOS, 0, 0)
-#define Enable(x,y) EnableWindow(GetDlgItem(hwnd, x), y)
-
-static INT_PTR CALLBACK GeneralProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- switch (msg)
- {
- /* init */
- case WM_INITDIALOG:
- SendDlgItemMessage(hwnd, IDC_TITLE, EM_LIMITTEXT, 255, 0);
- SendDlgItemMessage(hwnd, IDC_SEP, EM_LIMITTEXT, 15, 0);
-
- SetDlgItemText(hwnd, IDC_TITLE, flac_cfg.title.tag_format);
- SetDlgItemText(hwnd, IDC_SEP, flac_cfg.title.sep);
- Check(IDC_ID3V1, 0);
-/*! Check(IDC_RESERVE, flac_cfg.tag.reserve_space); */
- Check(IDC_BPS, flac_cfg.display.show_bps);
- Check(IDC_ERRORS, flac_cfg.output.misc.stop_err);
- return TRUE;
- /* commands */
- case WM_COMMAND:
- switch (LOWORD(wParam))
- {
- /* ok */
- case IDOK:
- GetDlgItemText(hwnd, IDC_TITLE, flac_cfg.title.tag_format, sizeof(flac_cfg.title.tag_format));
- if (flac_cfg.title.tag_format_w)
- free(flac_cfg.title.tag_format_w);
- GetDlgItemText(hwnd, IDC_SEP, flac_cfg.title.sep, sizeof(flac_cfg.title.sep));
- flac_cfg.title.tag_format_w = convert_ansi_to_wide_(flac_cfg.title.tag_format);
-
-/*! flac_cfg.tag.reserve_space = GetCheck(IDC_RESERVE); */
- flac_cfg.display.show_bps = GetCheck(IDC_BPS);
- flac_cfg.output.misc.stop_err = GetCheck(IDC_ERRORS);
- break;
- /* reset */
- case IDC_RESET:
- Check(IDC_ID3V1, 0);
- Check(IDC_RESERVE, 1);
- Check(IDC_BPS, 1);
- Check(IDC_ERRORS, 0);
- /* fall throught */
- /* default */
- case IDC_TAGZ_DEFAULT:
- SetDlgItemText(hwnd, IDC_TITLE, default_format);
- break;
- /* help */
- case IDC_TAGZ_HELP:
- MessageBox(hwnd, tagz_manual, "Help", 0);
- break;
- }
- break;
- }
-
- return 0;
-}
-
-
-static void UpdatePreamp(HWND hwnd, HWND hamp)
-{
- int pos = SendMessage(hamp, TBM_GETPOS, 0, 0) - PREAMP_RANGE;
- sprintf(buffer, "%d dB", pos);
- SetDlgItemText(hwnd, IDC_PA, buffer);
-}
-
-static void UpdateRG(HWND hwnd)
-{
- int on = GetCheck(IDC_ENABLE);
- Enable(IDC_ALBUM, on);
- Enable(IDC_LIMITER, on);
- Enable(IDC_PREAMP, on);
- Enable(IDC_PA, on);
-}
-
-static void UpdateDither(HWND hwnd)
-{
- int on = GetCheck(IDC_DITHERRG);
- Enable(IDC_SHAPE, on);
-}
-
-static INT_PTR CALLBACK OutputProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- switch (msg)
- {
- /* init */
- case WM_INITDIALOG:
- Check(IDC_ENABLE, flac_cfg.output.replaygain.enable);
- Check(IDC_ALBUM, flac_cfg.output.replaygain.album_mode);
- Check(IDC_LIMITER, flac_cfg.output.replaygain.hard_limit);
- Check(IDC_DITHER, flac_cfg.output.resolution.normal.dither_24_to_16);
- Check(IDC_DITHERRG, flac_cfg.output.resolution.replaygain.dither);
- /* prepare preamp slider */
- {
- HWND hamp = GetDlgItem(hwnd, IDC_PREAMP);
- SendMessage(hamp, TBM_SETRANGE, 1, MAKELONG(0, PREAMP_RANGE*2));
- SendMessage(hamp, TBM_SETPOS, 1, flac_cfg.output.replaygain.preamp+PREAMP_RANGE);
- UpdatePreamp(hwnd, hamp);
- }
- /* fill comboboxes */
- {
- HWND hlist = GetDlgItem(hwnd, IDC_TO);
- SendMessage(hlist, CB_ADDSTRING, 0, (LPARAM)"16 bps");
- SendMessage(hlist, CB_ADDSTRING, 0, (LPARAM)"24 bps");
- SendMessage(hlist, CB_SETCURSEL, flac_cfg.output.resolution.replaygain.bps_out/8 - 2, 0);
-
- hlist = GetDlgItem(hwnd, IDC_SHAPE);
- SendMessage(hlist, CB_ADDSTRING, 0, (LPARAM)"None");
- SendMessage(hlist, CB_ADDSTRING, 0, (LPARAM)"Low");
- SendMessage(hlist, CB_ADDSTRING, 0, (LPARAM)"Medium");
- SendMessage(hlist, CB_ADDSTRING, 0, (LPARAM)"High");
- SendMessage(hlist, CB_SETCURSEL, flac_cfg.output.resolution.replaygain.noise_shaping, 0);
- }
- UpdateRG(hwnd);
- UpdateDither(hwnd);
- return TRUE;
- /* commands */
- case WM_COMMAND:
- switch (LOWORD(wParam))
- {
- /* ok */
- case IDOK:
- flac_cfg.output.replaygain.enable = GetCheck(IDC_ENABLE);
- flac_cfg.output.replaygain.album_mode = GetCheck(IDC_ALBUM);
- flac_cfg.output.replaygain.hard_limit = GetCheck(IDC_LIMITER);
- flac_cfg.output.replaygain.preamp = GetPos(IDC_PREAMP) - PREAMP_RANGE;
- flac_cfg.output.resolution.normal.dither_24_to_16 = GetCheck(IDC_DITHER);
- flac_cfg.output.resolution.replaygain.dither = GetCheck(IDC_DITHERRG);
- flac_cfg.output.resolution.replaygain.noise_shaping = GetSel(IDC_SHAPE);
- flac_cfg.output.resolution.replaygain.bps_out = (GetSel(IDC_TO)+2)*8;
- break;
- /* reset */
- case IDC_RESET:
- Check(IDC_ENABLE, 1);
- Check(IDC_ALBUM, 0);
- Check(IDC_LIMITER, 0);
- Check(IDC_DITHER, 0);
- Check(IDC_DITHERRG, 0);
-
- SendDlgItemMessage(hwnd, IDC_PREAMP, TBM_SETPOS, 1, PREAMP_RANGE);
- SendDlgItemMessage(hwnd, IDC_TO, CB_SETCURSEL, 0, 0);
- SendDlgItemMessage(hwnd, IDC_SHAPE, CB_SETCURSEL, 1, 0);
-
- UpdatePreamp(hwnd, GetDlgItem(hwnd, IDC_PREAMP));
- UpdateRG(hwnd);
- UpdateDither(hwnd);
- break;
- /* active check-boxes */
- case IDC_ENABLE:
- UpdateRG(hwnd);
- break;
- case IDC_DITHERRG:
- UpdateDither(hwnd);
- break;
- }
- break;
- /* scroller */
- case WM_HSCROLL:
- if (GetDlgCtrlID((HWND)lParam)==IDC_PREAMP)
- UpdatePreamp(hwnd, (HWND)lParam);
- return 0;
- }
-
- return 0;
-}
-
-#define NUM_PAGES 2
-
-typedef struct
-{
- HWND htab;
- HWND hdlg;
- RECT r;
- HWND all[NUM_PAGES];
-} LOCALDATA;
-
-static void ScreenToClientRect(HWND hwnd, RECT *rect)
-{
- POINT pt = { rect->left, rect->top };
- ScreenToClient(hwnd, &pt);
- rect->left = pt.x;
- rect->top = pt.y;
-
- pt.x = rect->right;
- pt.y = rect->bottom;
- ScreenToClient(hwnd, &pt);
- rect->right = pt.x;
- rect->bottom = pt.y;
-}
-
-static void SendCommand(HWND hwnd, int command)
-{
- LOCALDATA *data = (LOCALDATA*)GetWindowLong(hwnd, GWL_USERDATA);
- SendMessage(data->hdlg, WM_COMMAND, command, 0);
-}
-
-static void BroadcastCommand(HWND hwnd, int command)
-{
- LOCALDATA *data = (LOCALDATA*)GetWindowLong(hwnd, GWL_USERDATA);
- int i;
-
- for (i=0; i<NUM_PAGES; i++)
- SendMessage(data->all[i], WM_COMMAND, command, 0);
-}
-
-static void OnSelChange(HWND hwnd)
-{
- LOCALDATA *data = (LOCALDATA*)GetWindowLong(hwnd, GWL_USERDATA);
- int index = TabCtrl_GetCurSel(data->htab);
- if (index < 0) return;
- /* hide previous */
- if (data->hdlg)
- ShowWindow(data->hdlg, SW_HIDE);
- /* display */
- data->hdlg = data->all[index];
- SetWindowPos(data->hdlg, HWND_TOP, data->r.left, data->r.top, data->r.right-data->r.left, data->r.bottom-data->r.top, SWP_SHOWWINDOW);
- SetFocus(hwnd);
-}
-
-static INT_PTR CALLBACK DialogProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- static activePage = 0;
-
- switch (msg)
- {
- /* init */
- case WM_INITDIALOG:
- {
- LOCALDATA *data = LocalAlloc(LPTR, sizeof(LOCALDATA));
- HINSTANCE inst = (HINSTANCE)lParam;
- TCITEM item;
-
- /* init */
- SetWindowLong(hwnd, GWL_USERDATA, (LONG)data);
- data->htab = GetDlgItem(hwnd, IDC_TABS);
- data->hdlg = NULL;
- /* add pages */
- item.mask = TCIF_TEXT;
- data->all[0] = CreateDialog(inst, MAKEINTRESOURCE(IDD_CONFIG_GENERAL), hwnd, GeneralProc);
- item.pszText = "General";
- TabCtrl_InsertItem(data->htab, 0, &item);
-
- data->all[1] = CreateDialog(inst, MAKEINTRESOURCE(IDD_CONFIG_OUTPUT), hwnd, OutputProc);
- item.pszText = "Output";
- TabCtrl_InsertItem(data->htab, 1, &item);
- /* get rect (after adding pages) */
- GetWindowRect(data->htab, &data->r);
- ScreenToClientRect(hwnd, &data->r);
- TabCtrl_AdjustRect(data->htab, 0, &data->r);
- /* simulate item change */
- TabCtrl_SetCurSel(data->htab, activePage);
- OnSelChange(hwnd);
- }
- return TRUE;
- /* destory */
- case WM_DESTROY:
- {
- LOCALDATA *data = (LOCALDATA*)GetWindowLong(hwnd, GWL_USERDATA);
- int i;
-
- activePage = TabCtrl_GetCurSel(data->htab);
-
- for (i=0; i<NUM_PAGES; i++)
- DestroyWindow(data->all[i]);
-
- LocalFree(data);
- }
- break;
- /* commands */
- case WM_COMMAND:
- switch (LOWORD(wParam))
- {
- /* ok/cancel */
- case IDOK:
- BroadcastCommand(hwnd, IDOK);
- /* fall through */
- case IDCANCEL:
- EndDialog(hwnd, LOWORD(wParam));
- return TRUE;
- case IDC_RESET:
- SendCommand(hwnd, IDC_RESET);
- break;
- }
- break;
- /* notification */
- case WM_NOTIFY:
- if (LOWORD(wParam) == IDC_TABS)
- {
- NMHDR *hdr = (NMHDR*)lParam;
-
- switch (hdr->code)
- {
- case TCN_SELCHANGE:
- OnSelChange(hwnd);
- break;
- }
- }
- break;
- }
-
- return 0;
-}
-
-
-int DoConfig(HINSTANCE inst, HWND parent)
-{
- return DialogBoxParam(inst, MAKEINTRESOURCE(IDD_CONFIG), parent, DialogProc, (LONG)inst) == IDOK;
-}
diff --git a/3rdparty/libflac/src/plugin_winamp2/configure.h b/3rdparty/libflac/src/plugin_winamp2/configure.h
deleted file mode 100644
index 5c051aff73e..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/configure.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* in_flac - Winamp2 FLAC input plugin
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "playback.h"
-
-/*
- * common stuff
- */
-
-typedef struct {
- struct {
- char tag_format[256];
- char sep[16];
- WCHAR *tag_format_w;
- } title;
- struct {
- BOOL reserve_space;
- } tag;
- struct {
- FLAC__bool show_bps;
- } display;
- output_config_t output;
-} flac_config_t;
-
-extern flac_config_t flac_cfg;
-
-/*
- * prototypes
- */
-
-void InitConfig();
-void ReadConfig();
-void WriteConfig();
-int DoConfig(HINSTANCE inst, HWND parent);
diff --git a/3rdparty/libflac/src/plugin_winamp2/in_flac.c b/3rdparty/libflac/src/plugin_winamp2/in_flac.c
deleted file mode 100644
index dc3fc5480af..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/in_flac.c
+++ /dev/null
@@ -1,443 +0,0 @@
-/* in_flac - Winamp2 FLAC input plugin
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <windows.h>
-#include <limits.h> /* for INT_MAX */
-#include <stdio.h>
-
-#include "share/alloc.h"
-#include "winamp2/in2.h"
-#include "configure.h"
-#include "infobox.h"
-#include "tagz.h"
-
-#define PLUGIN_VERSION "1.2.1"
-
-static In_Module mod_; /* the input module (declared near the bottom of this file) */
-static char lastfn_[MAX_PATH]; /* currently playing file (used for getting info on the current file) */
-flac_config_t flac_cfg;
-
-static stream_data_struct stream_data_;
-static int paused;
-static FLAC__StreamDecoder *decoder_;
-static char sample_buffer_[SAMPLES_PER_WRITE * FLAC_PLUGIN__MAX_SUPPORTED_CHANNELS * (24/8) * 2];
-/* (24/8) for max bytes per sample, and 2 for DSPs */
-
-static HANDLE thread_handle = NULL; /* the handle to the decode thread */
-static DWORD WINAPI DecodeThread(void *b); /* the decode thread procedure */
-
-/*
- * init/quit
- */
-
-static void init()
-{
- decoder_ = FLAC__stream_decoder_new();
- strcpy(lastfn_, "");
-
- InitConfig();
- ReadConfig();
- InitInfobox();
-}
-
-static void quit()
-{
- WriteConfig();
- DeinitInfobox();
- FLAC_plugin__decoder_delete(decoder_);
- decoder_ = 0;
-}
-
-/*
- * open/close
- */
-
-static int isourfile(char *fn) { return 0; }
-
-static int play(char *fn)
-{
- LONGLONG filesize;
- DWORD thread_id;
- int maxlatency;
- /* checks */
- if (decoder_ == 0) return 1;
- if (!(filesize = FileSize(fn))) return -1;
- /* init decoder */
- if (!FLAC_plugin__decoder_init(decoder_, fn, filesize, &stream_data_, &flac_cfg.output))
- return 1;
- strcpy(lastfn_, fn);
- /* open output */
- maxlatency = mod_.outMod->Open(stream_data_.sample_rate, stream_data_.channels, stream_data_.output_bits_per_sample, -1, -1);
- if (maxlatency < 0)
- {
- FLAC_plugin__decoder_finish(decoder_);
- return 1;
- }
- /* set defaults */
- mod_.outMod->SetVolume(-666);
- mod_.outMod->SetPan(0);
- /* initialize vis stuff */
- mod_.SAVSAInit(maxlatency, stream_data_.sample_rate);
- mod_.VSASetInfo(stream_data_.sample_rate, stream_data_.channels);
- /* set info */
- mod_.SetInfo(stream_data_.average_bps, stream_data_.sample_rate/1000, stream_data_.channels, 1);
- /* start playing thread */
- paused = 0;
- thread_handle = CreateThread(NULL, 0, DecodeThread, NULL, 0, &thread_id);
- if (!thread_handle) return 1;
-
- return 0;
-}
-
-static void stop()
-{
- if (thread_handle)
- {
- stream_data_.is_playing = false;
- if (WaitForSingleObject(thread_handle, 2000) == WAIT_TIMEOUT)
- {
- FLAC_plugin__show_error("Error while stopping decoding thread.");
- TerminateThread(thread_handle, 0);
- }
- CloseHandle(thread_handle);
- thread_handle = NULL;
- }
-
- FLAC_plugin__decoder_finish(decoder_);
- mod_.outMod->Close();
- mod_.SAVSADeInit();
-}
-
-/*
- * play control
- */
-
-static void pause()
-{
- paused = 1;
- mod_.outMod->Pause(1);
-}
-
-static void unpause()
-{
- paused = 0;
- mod_.outMod->Pause(0);
-}
-
-static int ispaused()
-{
- return paused;
-}
-
-static int getlength()
-{
- return stream_data_.length_in_msec;
-}
-
-static int getoutputtime()
-{
- return mod_.outMod->GetOutputTime();
-}
-
-static void setoutputtime(int time_in_ms)
-{
- stream_data_.seek_to = time_in_ms;
-}
-
-static void setvolume(int volume)
-{
- mod_.outMod->SetVolume(volume);
-}
-
-static void setpan(int pan)
-{
- mod_.outMod->SetPan(pan);
-}
-
-static void eq_set(int on, char data[10], int preamp) {}
-
-/*
- * playing loop
- */
-
-static void do_vis(char *data, int nch, int resolution, int position, unsigned samples)
-{
- static char vis_buffer[SAMPLES_PER_WRITE * FLAC_PLUGIN__MAX_SUPPORTED_CHANNELS];
- char *ptr;
- int size, count;
-
- /*
- * Winamp visuals may have problems accepting sample sizes larger than
- * 16 bits, so we reduce the sample size here if necessary.
- */
-
- switch(resolution) {
- case 32:
- case 24:
- size = resolution / 8;
- count = samples * nch;
- data += size - 1;
-
- ptr = vis_buffer;
- while(count--) {
- *ptr++ = data[0] ^ 0x80;
- data += size;
- }
-
- data = vis_buffer;
- resolution = 8;
- /* fall through */
- case 16:
- case 8:
- mod_.SAAddPCMData(data, nch, resolution, position);
- mod_.VSAAddPCMData(data, nch, resolution, position);
- }
-}
-
-static DWORD WINAPI DecodeThread(void *unused)
-{
- const unsigned channels = stream_data_.channels;
- const unsigned bits_per_sample = stream_data_.bits_per_sample;
- const unsigned target_bps = stream_data_.output_bits_per_sample;
- const unsigned sample_rate = stream_data_.sample_rate;
- const unsigned fact = channels * (target_bps/8);
-
- while (stream_data_.is_playing)
- {
- /* seek needed */
- if (stream_data_.seek_to != -1)
- {
- const int pos = FLAC_plugin__seek(decoder_, &stream_data_);
- if (pos != -1) mod_.outMod->Flush(pos);
- }
- /* stream ended */
- else if (stream_data_.eof)
- {
- if (!mod_.outMod->IsPlaying())
- {
- PostMessage(mod_.hMainWindow, WM_WA_MPEG_EOF, 0, 0);
- return 0;
- }
- Sleep(10);
- }
- /* decode */
- else
- {
- /* decode samples */
- int bytes = FLAC_plugin__decode(decoder_, &stream_data_, sample_buffer_);
- const int n = bytes / fact;
- /* visualization */
- do_vis(sample_buffer_, channels, target_bps, mod_.outMod->GetWrittenTime(), n);
- /* dsp */
- if (mod_.dsp_isactive())
- bytes = mod_.dsp_dosamples((short*)sample_buffer_, n, target_bps, channels, sample_rate) * fact;
- /* output */
- while (mod_.outMod->CanWrite()<bytes && stream_data_.is_playing && stream_data_.seek_to==-1)
- Sleep(20);
- if (stream_data_.is_playing && stream_data_.seek_to==-1)
- mod_.outMod->Write(sample_buffer_, bytes);
- /* show bitrate */
- if (flac_cfg.display.show_bps)
- {
- const int rate = FLAC_plugin__get_rate(mod_.outMod->GetWrittenTime(), mod_.outMod->GetOutputTime(), &stream_data_);
- if (rate) mod_.SetInfo(rate/1000, stream_data_.sample_rate/1000, stream_data_.channels, 1);
- }
- }
- }
-
- return 0;
-}
-
-/*
- * title formatting
- */
-
-static T_CHAR *get_tag(const T_CHAR *tag, void *param)
-{
- FLAC__StreamMetadata *tags = (FLAC__StreamMetadata*)param;
- char *tagname, *p;
- T_CHAR *val;
-
- if (!tag)
- return 0;
- /* Vorbis comment names must be ASCII, so convert 'tag' first */
- tagname = safe_malloc_add_2op_(wcslen(tag), /*+*/1);
- for(p=tagname;*tag;) {
- if(*tag > 0x7d) {
- free(tagname);
- return 0;
- }
- else
- *p++ = (char)(*tag++);
- }
- *p++ = '\0';
- /* now get it */
- val = FLAC_plugin__tags_get_tag_ucs2(tags, tagname);
- free(tagname);
- /* some "user friendly cheavats" */
- if (!val)
- {
- if (!wcsicmp(tag, L"ARTIST"))
- {
- val = FLAC_plugin__tags_get_tag_ucs2(tags, "PERFORMER");
- if (!val) val = FLAC_plugin__tags_get_tag_ucs2(tags, "COMPOSER");
- }
- else if (!wcsicmp(tag, L"YEAR") || !wcsicmp(tag, L"DATE"))
- {
- val = FLAC_plugin__tags_get_tag_ucs2(tags, "YEAR_RECORDED");
- if (!val) val = FLAC_plugin__tags_get_tag_ucs2(tags, "YEAR_PERFORMED");
- }
- }
-
- return val;
-}
-
-static void free_tag(T_CHAR *tag, void *param)
-{
- (void)param;
- free(tag);
-}
-
-static void format_title(const char *filename, WCHAR *title, unsigned max_size)
-{
- FLAC__StreamMetadata *tags;
-
- ReadTags(filename, &tags, /*forDisplay=*/true);
-
- tagz_format(flac_cfg.title.tag_format_w, get_tag, free_tag, tags, title, max_size);
-
- FLAC_plugin__tags_destroy(&tags);
-}
-
-static void getfileinfo(char *filename, char *title, int *length_in_msec)
-{
- FLAC__StreamMetadata streaminfo;
-
- if (!filename || !*filename) {
- filename = lastfn_;
- if (length_in_msec) {
- *length_in_msec = stream_data_.length_in_msec;
- length_in_msec = 0; /* force skip in following code */
- }
- }
-
- if (!FLAC__metadata_get_streaminfo(filename, &streaminfo)) {
- if (length_in_msec)
- *length_in_msec = -1;
- return;
- }
-
- if (title) {
- static WCHAR buffer[400];
- format_title(filename, buffer, 400);
- WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK, buffer, -1, title, 400, NULL, NULL);
- }
-
- if (length_in_msec) {
- /* with VC++ you have to spoon feed it the casting from uint64->int64->double */
- FLAC__uint64 l = (FLAC__uint64)((double)(FLAC__int64)streaminfo.data.stream_info.total_samples / (double)streaminfo.data.stream_info.sample_rate * 1000.0 + 0.5);
- if (l > INT_MAX)
- l = INT_MAX;
- *length_in_msec = (int)l;
- }
-}
-
-/*
- * interface
- */
-
-void FLAC_plugin__show_error(const char *message,...)
-{
- char foo[512];
- va_list args;
- va_start(args, message);
- vsprintf(foo, message, args);
- va_end(args);
- MessageBox(mod_.hMainWindow, foo, "FLAC Plug-in Error", MB_ICONSTOP);
-}
-
-static void about(HWND hwndParent)
-{
- MessageBox(hwndParent, "Winamp2 FLAC Plugin v"PLUGIN_VERSION"\nby Josh Coalson and X-Fixer\n\nuses libFLAC "VERSION"\nSee http://flac.sourceforge.net/\n", "About FLAC Plugin", MB_ICONINFORMATION);
-}
-
-static void config(HWND hwndParent)
-{
- if (DoConfig(mod_.hDllInstance, hwndParent))
- WriteConfig();
-}
-
-static int infobox(char *fn, HWND hwnd)
-{
- DoInfoBox(mod_.hDllInstance, hwnd, fn);
- return 0;
-}
-
-/*
- * exported stuff
- */
-
-static In_Module mod_ =
-{
- IN_VER,
- "FLAC Decoder v" PLUGIN_VERSION,
- 0, /* hMainWindow */
- 0, /* hDllInstance */
- "FLAC\0FLAC Audio File (*.FLAC)\0",
- 1, /* is_seekable */
- 1, /* uses output */
- config,
- about,
- init,
- quit,
- getfileinfo,
- infobox,
- isourfile,
- play,
- pause,
- unpause,
- ispaused,
- stop,
-
- getlength,
- getoutputtime,
- setoutputtime,
-
- setvolume,
- setpan,
-
- 0,0,0,0,0,0,0,0,0, /* vis stuff */
- 0,0, /* dsp */
- eq_set,
- NULL, /* setinfo */
- 0 /* out_mod */
-};
-
-__declspec(dllexport) In_Module *winampGetInModule2()
-{
- return &mod_;
-}
-
-BOOL WINAPI _DllMainCRTStartup(HANDLE hInst, ULONG ul_reason_for_call, LPVOID lpReserved)
-{
- return TRUE;
-}
diff --git a/3rdparty/libflac/src/plugin_winamp2/in_flac.dsp b/3rdparty/libflac/src/plugin_winamp2/in_flac.dsp
deleted file mode 100644
index fa49abb7ef0..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/in_flac.dsp
+++ /dev/null
@@ -1,154 +0,0 @@
-# Microsoft Developer Studio Project File - Name="in_flac" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=in_flac - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "in_flac.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "in_flac.mak" CFG="in_flac - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "in_flac - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "in_flac - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "$/Studio/in_flac"
-# PROP Scc_LocalPath "."
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "in_flac - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "in_flac_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /WX /GX /Ox /Og /Oi /Os /Op /Gf /Gy /I "include" /I ".." /I "..\..\include" /D "NDEBUG" /D VERSION=\"1.2.1\" /D "in_flac_EXPORTS" /D "FLAC__NO_DLL" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TAGZ_UNICODE" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 plugin_common_static.lib grabbag_static.lib libFLAC_static.lib replaygain_analysis_static.lib replaygain_synthesis_static.lib kernel32.lib user32.lib /nologo /dll /machine:I386 /out:"../../obj/release/bin/in_flac.dll" /libpath:"../../obj/release/lib" ..\..\obj\release\lib\ogg_static.lib /opt:nowin98
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "in_flac - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "in_flac_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "include" /I ".." /I "..\..\include" /D "_DEBUG" /D "DEBUG" /D "REAL_STDIO" /D VERSION=\"1.2.1\" /D "in_flac_EXPORTS" /D "FLAC__NO_DLL" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TAGZ_UNICODE" /YX /FD /GZ /c
-# SUBTRACT CPP /WX
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 plugin_common_static.lib grabbag_static.lib libFLAC_static.lib replaygain_analysis_static.lib replaygain_synthesis_static.lib kernel32.lib user32.lib /nologo /dll /debug /machine:I386 /out:"../../obj/debug/bin/in_flac.dll" /pdbtype:sept /libpath:"../../obj/debug/lib" ..\..\obj\release\lib\ogg_static.lib
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "in_flac - Win32 Release"
-# Name "in_flac - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Group "Winamp2 SDK"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\include\winamp2\in2.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\winamp2\out.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\configure.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\configure.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\in_flac.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\infobox.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\infobox.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\playback.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\playback.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\resource.rc
-# End Source File
-# Begin Source File
-
-SOURCE=.\tagz.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\tagz.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/plugin_winamp2/in_flac.vcproj b/3rdparty/libflac/src/plugin_winamp2/in_flac.vcproj
deleted file mode 100644
index 553451c7b30..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/in_flac.vcproj
+++ /dev/null
@@ -1,259 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="in_flac"
- ProjectGUID="{4cefbc82-c215-11db-8314-0800200c9a66}"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\obj\debug\lib"
- IntermediateDirectory="Debug_dynamic"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".\include;..;..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;IN_FLAC_EXPORTS;FLAC__NO_DLL;VERSION=\&quot;1.2.0\&quot;;TAGZ_UNICODE;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="&quot;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include&quot;"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\obj\release\lib\ogg_static.lib user32.lib"
- LinkIncremental="2"
- AdditionalLibraryDirectories="C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Lib"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\obj\release\lib"
- IntermediateDirectory="Release_dynamic"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".\include;..;..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;IN_FLAC_EXPORTS;FLAC__NO_DLL;VERSION=\&quot;1.2.0\&quot;;TAGZ_UNICODE"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="&quot;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include&quot;"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\obj\release\lib\ogg_static.lib user32.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Lib"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\configure.h"
- >
- </File>
- <File
- RelativePath=".\include\winamp2\in2.h"
- >
- </File>
- <File
- RelativePath=".\infobox.h"
- >
- </File>
- <File
- RelativePath=".\include\winamp2\out.h"
- >
- </File>
- <File
- RelativePath=".\playback.h"
- >
- </File>
- <File
- RelativePath=".\resource.h"
- >
- </File>
- <File
- RelativePath=".\tagz.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath=".\resource.rc"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\configure.c"
- >
- </File>
- <File
- RelativePath=".\in_flac.c"
- >
- </File>
- <File
- RelativePath=".\infobox.c"
- >
- </File>
- <File
- RelativePath=".\playback.c"
- >
- </File>
- <File
- RelativePath=".\tagz.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/plugin_winamp2/include/Makefile.am b/3rdparty/libflac/src/plugin_winamp2/include/Makefile.am
deleted file mode 100644
index ea96623b482..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/include/Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
-# in_flac - Winamp2 FLAC input plugin
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-SUBDIRS = winamp2
diff --git a/3rdparty/libflac/src/plugin_winamp2/include/Makefile.in b/3rdparty/libflac/src/plugin_winamp2/include/Makefile.in
deleted file mode 100644
index 832ec5257d3..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/include/Makefile.in
+++ /dev/null
@@ -1,520 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# in_flac - Winamp2 FLAC input plugin
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-SUBDIRS = winamp2
-subdir = src/plugin_winamp2/include
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/plugin_winamp2/include/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- else \
- include_option=--include; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/src/plugin_winamp2/include/winamp2/Makefile.am b/3rdparty/libflac/src/plugin_winamp2/include/winamp2/Makefile.am
deleted file mode 100644
index 8153ed8bc81..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/include/winamp2/Makefile.am
+++ /dev/null
@@ -1,20 +0,0 @@
-# in_flac - Winamp2 FLAC input plugin
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-EXTRA_DIST = \
- in2.h \
- out.h
diff --git a/3rdparty/libflac/src/plugin_winamp2/include/winamp2/Makefile.in b/3rdparty/libflac/src/plugin_winamp2/include/winamp2/Makefile.in
deleted file mode 100644
index a9082bde301..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/include/winamp2/Makefile.in
+++ /dev/null
@@ -1,374 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# in_flac - Winamp2 FLAC input plugin
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-EXTRA_DIST = \
- in2.h \
- out.h
-
-subdir = src/plugin_winamp2/include/winamp2
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/plugin_winamp2/include/winamp2/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/src/plugin_winamp2/include/winamp2/in2.h b/3rdparty/libflac/src/plugin_winamp2/include/winamp2/in2.h
deleted file mode 100644
index 130ec496915..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/include/winamp2/in2.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/* Standard Winamp input-plugin header
- */
-
-#include "out.h"
-
-/* post this to the main window at end of file (after playback as stopped) */
-#define WM_WA_MPEG_EOF (WM_USER + 2)
-
-// note: exported symbol is now winampGetInModule2.
-
-#define IN_VER 0x100
-
-typedef struct
-{
- int version; // module type (IN_VER)
- char *description; // description of module, with version string
-
- HWND hMainWindow; // winamp's main window (filled in by winamp)
- HINSTANCE hDllInstance; // DLL instance handle (Also filled in by winamp)
-
- char *FileExtensions; // "mp3\0Layer 3 MPEG\0mp2\0Layer 2 MPEG\0mpg\0Layer 1 MPEG\0"
- // May be altered from Config, so the user can select what they want
-
- int is_seekable; // is this stream seekable?
- int UsesOutputPlug; // does this plug-in use the output plug-ins? (musn't ever change, ever :)
-
- void (*Config)(HWND hwndParent); // configuration dialog
- void (*About)(HWND hwndParent); // about dialog
-
- void (*Init)(); // called at program init
- void (*Quit)(); // called at program quit
-
- void (*GetFileInfo)(char *file, char *title, int *length_in_ms); // if file == NULL, current playing is used
- int (*InfoBox)(char *file, HWND hwndParent);
-
- int (*IsOurFile)(char *fn); // called before extension checks, to allow detection of mms://, etc
- // playback stuff
- int (*Play)(char *fn); // return zero on success, -1 on file-not-found, some other value on other (stopping winamp) error
- void (*Pause)(); // pause stream
- void (*UnPause)(); // unpause stream
- int (*IsPaused)(); // ispaused? return 1 if paused, 0 if not
- void (*Stop)(); // stop (unload) stream
-
- // time stuff
- int (*GetLength)(); // get length in ms
- int (*GetOutputTime)(); // returns current output time in ms. (usually returns outMod->GetOutputTime()
- void (*SetOutputTime)(int time_in_ms); // seeks to point in stream (in ms). Usually you signal yoru thread to seek, which seeks and calls outMod->Flush()..
-
- // volume stuff
- void (*SetVolume)(int volume); // from 0 to 255.. usually just call outMod->SetVolume
- void (*SetPan)(int pan); // from -127 to 127.. usually just call outMod->SetPan
-
- // in-window builtin vis stuff
-
- void (*SAVSAInit)(int maxlatency_in_ms, int srate); // call once in Play(). maxlatency_in_ms should be the value returned from outMod->Open()
- // call after opening audio device with max latency in ms and samplerate
- void (*SAVSADeInit)(); // call in Stop()
-
-
- // simple vis supplying mode
- void (*SAAddPCMData)(void *PCMData, int nch, int bps, int timestamp);
- // sets the spec data directly from PCM data
- // quick and easy way to get vis working :)
- // needs at least 576 samples :)
-
- // advanced vis supplying mode, only use if you're cool. Use SAAddPCMData for most stuff.
- int (*SAGetMode)(); // gets csa (the current type (4=ws,2=osc,1=spec))
- // use when calling SAAdd()
- void (*SAAdd)(void *data, int timestamp, int csa); // sets the spec data, filled in by winamp
-
-
- // vis stuff (plug-in)
- // simple vis supplying mode
- void (*VSAAddPCMData)(void *PCMData, int nch, int bps, int timestamp); // sets the vis data directly from PCM data
- // quick and easy way to get vis working :)
- // needs at least 576 samples :)
-
- // advanced vis supplying mode, only use if you're cool. Use VSAAddPCMData for most stuff.
- int (*VSAGetMode)(int *specNch, int *waveNch); // use to figure out what to give to VSAAdd
- void (*VSAAdd)(void *data, int timestamp); // filled in by winamp, called by plug-in
-
-
- // call this in Play() to tell the vis plug-ins the current output params.
- void (*VSASetInfo)(int nch, int srate);
-
-
- // dsp plug-in processing:
- // (filled in by winamp, called by input plug)
-
- // returns 1 if active (which means that the number of samples returned by dsp_dosamples
- // could be greater than went in.. Use it to estimate if you'll have enough room in the
- // output buffer
- int (*dsp_isactive)();
-
- // returns number of samples to output. This can be as much as twice numsamples.
- // be sure to allocate enough buffer for samples, then.
- int (*dsp_dosamples)(short int *samples, int numsamples, int bps, int nch, int srate);
-
-
- // eq stuff
- void (*EQSet)(int on, char data[10], int preamp); // 0-64 each, 31 is +0, 0 is +12, 63 is -12. Do nothing to ignore.
-
- // info setting (filled in by winamp)
- void (*SetInfo)(int bitrate, int srate, int stereo, int synched); // if -1, changes ignored? :)
-
- Out_Module *outMod; // filled in by winamp, optionally used :)
-} In_Module;
diff --git a/3rdparty/libflac/src/plugin_winamp2/include/winamp2/out.h b/3rdparty/libflac/src/plugin_winamp2/include/winamp2/out.h
deleted file mode 100644
index e8ad41270a5..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/include/winamp2/out.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Standard Winamp output-plugin header
- */
-
-#define OUT_VER 0x10
-
-typedef struct
-{
- int version; // module version (OUT_VER)
- char *description; // description of module, with version string
- int id; // module id. each input module gets its own. non-nullsoft modules should
- // be >= 65536.
-
- HWND hMainWindow; // winamp's main window (filled in by winamp)
- HINSTANCE hDllInstance; // DLL instance handle (filled in by winamp)
-
- void (*Config)(HWND hwndParent); // configuration dialog
- void (*About)(HWND hwndParent); // about dialog
-
- void (*Init)(); // called when loaded
- void (*Quit)(); // called when unloaded
-
- int (*Open)(int samplerate, int numchannels, int bitspersamp, int bufferlenms, int prebufferms);
- // returns >=0 on success, <0 on failure
- // NOTENOTENOTE: bufferlenms and prebufferms are ignored in most if not all output plug-ins.
- // ... so don't expect the max latency returned to be what you asked for.
- // returns max latency in ms (0 for diskwriters, etc)
- // bufferlenms and prebufferms must be in ms. 0 to use defaults.
- // prebufferms must be <= bufferlenms
-
- void (*Close)(); // close the ol' output device.
-
- int (*Write)(char *buf, int len);
- // 0 on success. Len == bytes to write (<= 8192 always). buf is straight audio data.
- // 1 returns not able to write (yet). Non-blocking, always.
-
- int (*CanWrite)(); // returns number of bytes possible to write at a given time.
- // Never will decrease unless you call Write (or Close, heh)
-
- int (*IsPlaying)(); // non0 if output is still going or if data in buffers waiting to be
- // written (i.e. closing while IsPlaying() returns 1 would truncate the song
-
- int (*Pause)(int pause); // returns previous pause state
-
- void (*SetVolume)(int volume); // volume is 0-255
- void (*SetPan)(int pan); // pan is -128 to 128
-
- void (*Flush)(int t); // flushes buffers and restarts output at time t (in ms)
- // (used for seeking)
-
- int (*GetOutputTime)(); // returns played time in MS
- int (*GetWrittenTime)(); // returns time written in MS (used for synching up vis stuff)
-
-} Out_Module;
-
-
diff --git a/3rdparty/libflac/src/plugin_winamp2/infobox.c b/3rdparty/libflac/src/plugin_winamp2/infobox.c
deleted file mode 100644
index 00dc5e6fa44..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/infobox.c
+++ /dev/null
@@ -1,459 +0,0 @@
-/* in_flac - Winamp2 FLAC input plugin
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <windows.h>
-#include <stdio.h>
-#include "FLAC/all.h"
-#include "share/alloc.h"
-#include "plugin_common/all.h"
-#include "infobox.h"
-#include "configure.h"
-#include "resource.h"
-
-
-typedef struct
-{
- char filename[MAX_PATH];
- FLAC__StreamMetadata *tags;
-} LOCALDATA;
-
-static char buffer[8192];
-static char *genres = NULL;
-static DWORD genresSize = 0, genresCount = 0;
-static BOOL genresChanged = FALSE, isNT;
-
-static const char infoTitle[] = "FLAC File Info";
-
-/*
- * Genres
- */
-
-/* TODO: write genres in utf-8 ? */
-
-static __inline int GetGenresFileName(char *buffer, int size)
-{
- char *c;
-
- if (!GetModuleFileName(NULL, buffer, size))
- return 0;
- c = strrchr(buffer, '\\');
- if (!c) return 0;
- strcpy(c+1, "genres.txt");
-
- return 1;
-}
-
-static void LoadGenres()
-{
- HANDLE hFile;
- DWORD spam;
- char *c;
-
- FLAC__ASSERT(0 != genres);
-
- if (!GetGenresFileName(buffer, sizeof(buffer))) return;
- /* load file */
- hFile = CreateFile(buffer, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
- if (hFile == INVALID_HANDLE_VALUE) return;
- genresSize = GetFileSize(hFile, 0);
- if (genresSize && (genres = (char*)safe_malloc_add_2op_(genresSize, /*+*/2)))
- {
- if (!ReadFile(hFile, genres, genresSize, &spam, NULL) || spam!=genresSize)
- {
- free(genres);
- genres = NULL;
- }
- else
- {
- genres[genresSize] = 0;
- genres[genresSize+1] = 0;
- /* replace newlines */
- genresChanged = FALSE;
- genresCount = 1;
-
- for (c=genres; *c; c++)
- {
- if (*c == 10)
- {
- *c = 0;
- if (*(c+1))
- genresCount++;
- else genresSize--;
- }
- }
- }
- }
-
- CloseHandle(hFile);
-}
-
-static void SaveGenres(HWND hlist)
-{
- HANDLE hFile;
- DWORD spam;
- int i, count, len;
-
- if (!GetGenresFileName(buffer, sizeof(buffer))) return;
- /* write file */
- hFile = CreateFile(buffer, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
- if (hFile == INVALID_HANDLE_VALUE) return;
-
- count = SendMessage(hlist, CB_GETCOUNT, 0, 0);
- for (i=0; i<count; i++)
- {
- SendMessage(hlist, CB_GETLBTEXT, i, (LPARAM)buffer);
- len = strlen(buffer);
- if (i != count-1)
- {
- buffer[len] = 10;
- len++;
- }
- WriteFile(hFile, buffer, len, &spam, NULL);
- }
-
- CloseHandle(hFile);
-}
-
-static void AddGenre(HWND hwnd, const char *genre)
-{
- HWND hgen = GetDlgItem(hwnd, IDC_GENRE);
-
- if (SendMessage(hgen, CB_FINDSTRINGEXACT, -1, (LPARAM)genre) == CB_ERR)
- {
- genresChanged = TRUE;
- SendMessage(hgen, CB_ADDSTRING, 0, (LPARAM)genre);
- }
-}
-
-static void InitGenres(HWND hwnd)
-{
- HWND hgen = GetDlgItem(hwnd, IDC_GENRE);
- char *c;
-
- /* set text length limit to 64 chars */
- SendMessage(hgen, CB_LIMITTEXT, 64, 0);
- /* try to load genres */
- if (!genres)
- LoadGenres(hgen);
- /* add the to list */
- if (genres)
- {
- SendMessage(hgen, CB_INITSTORAGE, genresCount, genresSize);
-
- for (c = genres; *c; c += strlen(c)+1)
- SendMessage(hgen, CB_ADDSTRING, 0, (LPARAM)c);
- }
-}
-
-static void DeinitGenres(HWND hwnd, BOOL final)
-{
- if (genresChanged && hwnd)
- {
- SaveGenres(GetDlgItem(hwnd, IDC_GENRE));
- genresChanged = FALSE;
- final = TRUE;
- }
- if (final)
- {
- free(genres);
- genres = 0;
- }
-}
-
-static wchar_t *AnsiToWide(const char *src)
-{
- int len;
- wchar_t *dest;
-
- FLAC__ASSERT(0 != src);
-
- len = strlen(src) + 1;
- /* copy */
- dest = (wchar_t*)safe_malloc_mul_2op_(len, /*times*/sizeof(wchar_t));
- if (dest) mbstowcs(dest, src, len);
- return dest;
-}
-
-/*
- * Infobox helpers
- */
-
-#define SetText(x,y) ucs2 = FLAC_plugin__tags_get_tag_ucs2(data->tags, y); \
- WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK, ucs2, -1, buffer, sizeof(buffer), NULL, NULL); \
- if(ucs2) free(ucs2); \
- SetDlgItemText(hwnd, x, buffer)
-
-#define GetText(x,y) GetDlgItemText(hwnd, x, buffer, sizeof(buffer)); \
- if (*buffer) { ucs2 = AnsiToWide(buffer); FLAC_plugin__tags_set_tag_ucs2(data->tags, y, ucs2, /*replace_all=*/false); free(ucs2); } \
- else FLAC_plugin__tags_delete_tag(data->tags, y)
-
-#define SetTextW(x,y) ucs2 = FLAC_plugin__tags_get_tag_ucs2(data->tags, y); \
- SetDlgItemTextW(hwnd, x, ucs2); \
- free(ucs2)
-
-#define GetTextW(x,y) GetDlgItemTextW(hwnd, x, (WCHAR*)buffer, sizeof(buffer)/2); \
- if (*(WCHAR*)buffer) FLAC_plugin__tags_set_tag_ucs2(data->tags, y, (WCHAR*)buffer, /*replace_all=*/false); \
- else FLAC_plugin__tags_delete_tag(data->tags, y)
-
-
-static BOOL InitInfoboxInfo(HWND hwnd, const char *file)
-{
- LOCALDATA *data = LocalAlloc(LPTR, sizeof(LOCALDATA));
- wchar_t *ucs2;
- FLAC__StreamMetadata streaminfo;
- DWORD length, bps, ratio, rg;
- LONGLONG filesize;
-
- SetWindowLong(hwnd, GWL_USERDATA, (LONG)data);
- /* file name */
- strncpy(data->filename, file, sizeof(data->filename));
- SetDlgItemText(hwnd, IDC_NAME, file);
- /* stream data and vorbis comment */
- filesize = FileSize(file);
- if (!filesize) return FALSE;
- if (!FLAC__metadata_get_streaminfo(file, &streaminfo))
- return FALSE;
- ReadTags(file, &data->tags, false);
-
- length = (DWORD)(streaminfo.data.stream_info.total_samples / streaminfo.data.stream_info.sample_rate);
- bps = (DWORD)(filesize / (125*streaminfo.data.stream_info.total_samples/streaminfo.data.stream_info.sample_rate));
- ratio = bps*1000000 / (streaminfo.data.stream_info.sample_rate*streaminfo.data.stream_info.channels*streaminfo.data.stream_info.bits_per_sample);
- rg = FLAC_plugin__tags_get_tag_utf8(data->tags, "REPLAYGAIN_TRACK_GAIN") ? 1 : 0;
- rg |= FLAC_plugin__tags_get_tag_utf8(data->tags, "REPLAYGAIN_ALBUM_GAIN") ? 2 : 0;
-
- sprintf(buffer, "Sample rate: %d Hz\nChannels: %d\nBits per sample: %d\nMin block size: %d\nMax block size: %d\n"
- "File size: %I64d bytes\nTotal samples: %I64d\nLength: %d:%02d\nAvg. bitrate: %d\nCompression ratio: %d.%d%%\n"
- "ReplayGain: %s\n",
- streaminfo.data.stream_info.sample_rate, streaminfo.data.stream_info.channels, streaminfo.data.stream_info.bits_per_sample,
- streaminfo.data.stream_info.min_blocksize, streaminfo.data.stream_info.max_blocksize, filesize, streaminfo.data.stream_info.total_samples,
- length/60, length%60, bps, ratio/10, ratio%10,
- rg==3 ? "track gain\nReplayGain: album gain" : rg==2 ? "album gain" : rg==1 ? "track gain" : "not present");
-
- SetDlgItemText(hwnd, IDC_INFO, buffer);
- /* tag */
- if (isNT)
- {
- SetTextW(IDC_TITLE, "TITLE");
- SetTextW(IDC_ARTIST, "ARTIST");
- SetTextW(IDC_ALBUM, "ALBUM");
- SetTextW(IDC_COMMENT, "COMMENT");
- SetTextW(IDC_YEAR, "DATE");
- SetTextW(IDC_TRACK, "TRACKNUMBER");
- SetTextW(IDC_GENRE, "GENRE");
- }
- else
- {
- SetText(IDC_TITLE, "TITLE");
- SetText(IDC_ARTIST, "ARTIST");
- SetText(IDC_ALBUM, "ALBUM");
- SetText(IDC_COMMENT, "COMMENT");
- SetText(IDC_YEAR, "DATE");
- SetText(IDC_TRACK, "TRACKNUMBER");
- SetText(IDC_GENRE, "GENRE");
- }
-
- return TRUE;
-}
-
-static void __inline SetTag(HWND hwnd, const char *filename, FLAC__StreamMetadata *tags)
-{
- strcpy(buffer, infoTitle);
-
- if (FLAC_plugin__tags_set(filename, tags))
- strcat(buffer, " [Updated]");
- else strcat(buffer, " [Failed]");
-
- SetWindowText(hwnd, buffer);
-}
-
-static void UpdateTag(HWND hwnd)
-{
- LOCALDATA *data = (LOCALDATA*)GetWindowLong(hwnd, GWL_USERDATA);
- wchar_t *ucs2;
-
- /* get fields */
- if (isNT)
- {
- GetTextW(IDC_TITLE, "TITLE");
- GetTextW(IDC_ARTIST, "ARTIST");
- GetTextW(IDC_ALBUM, "ALBUM");
- GetTextW(IDC_COMMENT, "COMMENT");
- GetTextW(IDC_YEAR, "DATE");
- GetTextW(IDC_TRACK, "TRACKNUMBER");
- GetTextW(IDC_GENRE, "GENRE");
-
- ucs2 = FLAC_plugin__tags_get_tag_ucs2(data->tags, "GENRE");
- WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK, ucs2, -1, buffer, sizeof(buffer), NULL, NULL);
- free(ucs2);
- }
- else
- {
- GetText(IDC_TITLE, "TITLE");
- GetText(IDC_ARTIST, "ARTIST");
- GetText(IDC_ALBUM, "ALBUM");
- GetText(IDC_COMMENT, "COMMENT");
- GetText(IDC_YEAR, "DATE");
- GetText(IDC_TRACK, "TRACKNUMBER");
- GetText(IDC_GENRE, "GENRE");
- }
-
- /* update genres list (buffer should contain genre) */
- if (buffer[0]) AddGenre(hwnd, buffer);
-
- /* write tag */
- SetTag(hwnd, data->filename, data->tags);
-}
-
-static void RemoveTag(HWND hwnd)
-{
- LOCALDATA *data = (LOCALDATA*)GetWindowLong(hwnd, GWL_USERDATA);
- FLAC_plugin__tags_delete_all(data->tags);
-
- SetDlgItemText(hwnd, IDC_TITLE, "");
- SetDlgItemText(hwnd, IDC_ARTIST, "");
- SetDlgItemText(hwnd, IDC_ALBUM, "");
- SetDlgItemText(hwnd, IDC_COMMENT, "");
- SetDlgItemText(hwnd, IDC_YEAR, "");
- SetDlgItemText(hwnd, IDC_TRACK, "");
- SetDlgItemText(hwnd, IDC_GENRE, "");
-
- SetTag(hwnd, data->filename, data->tags);
-}
-
-
-static INT_PTR CALLBACK InfoProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- switch (msg)
- {
- /* init */
- case WM_INITDIALOG:
- SetWindowText(hwnd, infoTitle);
- InitGenres(hwnd);
- /* init fields */
- if (!InitInfoboxInfo(hwnd, (const char*)lParam))
- PostMessage(hwnd, WM_CLOSE, 0, 0);
- return TRUE;
- /* destroy */
- case WM_DESTROY:
- {
- LOCALDATA *data = (LOCALDATA*)GetWindowLong(hwnd, GWL_USERDATA);
- FLAC_plugin__tags_destroy(&data->tags);
- LocalFree(data);
- DeinitGenres(hwnd, FALSE);
- }
- break;
- /* commands */
- case WM_COMMAND:
- switch (LOWORD(wParam))
- {
- /* ok/cancel */
- case IDOK:
- case IDCANCEL:
- EndDialog(hwnd, LOWORD(wParam));
- return TRUE;
- /* save */
- case IDC_UPDATE:
- UpdateTag(hwnd);
- break;
- /* remove */
- case IDC_REMOVE:
- RemoveTag(hwnd);
- break;
- }
- break;
- }
-
- return 0;
-}
-
-/*
- * Helpers
- */
-
-ULONGLONG FileSize(const char *fileName)
-{
- LARGE_INTEGER res;
- HANDLE hFile = CreateFile(fileName, 0, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
-
- if (hFile == INVALID_HANDLE_VALUE) return 0;
- res.LowPart = GetFileSize(hFile, &res.HighPart);
- CloseHandle(hFile);
- return res.QuadPart;
-}
-
-static __inline char *GetFileName(const char *fullname)
-{
- const char *c = fullname + strlen(fullname) - 1;
-
- while (c > fullname)
- {
- if (*c=='\\' || *c=='/')
- {
- c++;
- break;
- }
- c--;
- }
-
- return (char*)c;
-}
-
-void ReadTags(const char *fileName, FLAC__StreamMetadata **tags, BOOL forDisplay)
-{
- if(FLAC_plugin__tags_get(fileName, tags)) {
-
- /* add file name */
- if (forDisplay)
- {
- char *c;
- wchar_t *ucs2;
- ucs2 = AnsiToWide(fileName);
- FLAC_plugin__tags_set_tag_ucs2(*tags, "filepath", ucs2, /*replace_all=*/true);
- free(ucs2);
-
- strcpy(buffer, GetFileName(fileName));
- if (c = strrchr(buffer, '.')) *c = 0;
- ucs2 = AnsiToWide(buffer);
- FLAC_plugin__tags_set_tag_ucs2(*tags, "filename", ucs2, /*replace_all=*/true);
- free(ucs2);
- }
- }
-}
-
-/*
- * Front-end
- */
-
-void InitInfobox()
-{
- isNT = !(GetVersion() & 0x80000000);
-}
-
-void DeinitInfobox()
-{
- DeinitGenres(NULL, true);
-}
-
-void DoInfoBox(HINSTANCE inst, HWND hwnd, const char *filename)
-{
- DialogBoxParam(inst, MAKEINTRESOURCE(IDD_INFOBOX), hwnd, InfoProc, (LONG)filename);
-}
diff --git a/3rdparty/libflac/src/plugin_winamp2/infobox.h b/3rdparty/libflac/src/plugin_winamp2/infobox.h
deleted file mode 100644
index dc71490ce76..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/infobox.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* in_flac - Winamp2 FLAC input plugin
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * prototypes
- */
-
-ULONGLONG FileSize(const char *fileName);
-void ReadTags(const char *fileName, FLAC__StreamMetadata **tags, BOOL forDisplay);
-
-void InitInfobox();
-void DeinitInfobox();
-void DoInfoBox(HINSTANCE inst, HWND hwnd, const char *filename);
diff --git a/3rdparty/libflac/src/plugin_winamp2/playback.c b/3rdparty/libflac/src/plugin_winamp2/playback.c
deleted file mode 100644
index 99de9e63f89..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/playback.c
+++ /dev/null
@@ -1,307 +0,0 @@
-/* in_flac - Winamp2 FLAC input plugin
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <limits.h> /* for INT_MAX */
-#include <stdlib.h>
-#include <string.h> /* for memmove() */
-#include "playback.h"
-#include "share/grabbag.h"
-
-
-static FLAC__int32 reservoir_[FLAC_PLUGIN__MAX_SUPPORTED_CHANNELS][FLAC__MAX_BLOCK_SIZE * 2/*for overflow*/];
-static FLAC__int32 *reservoir__[FLAC_PLUGIN__MAX_SUPPORTED_CHANNELS] = { reservoir_[0], reservoir_[1] }; /*@@@ kind of a hard-coded hack */
-static unsigned wide_samples_in_reservoir_;
-static output_config_t cfg; /* local copy */
-
-static unsigned bh_index_last_w, bh_index_last_o, written_time_last;
-static FLAC__int64 decode_position, decode_position_last;
-
-/*
- * callbacks
- */
-
-static FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data)
-{
- stream_data_struct *stream_data = (stream_data_struct*)client_data;
- const unsigned channels = stream_data->channels, wide_samples = frame->header.blocksize;
- unsigned channel;
-
- (void)decoder;
-
- if (stream_data->abort_flag)
- return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
-
- for (channel = 0; channel < channels; channel++)
- memcpy(&reservoir_[channel][wide_samples_in_reservoir_], buffer[channel], sizeof(buffer[0][0]) * wide_samples);
-
- wide_samples_in_reservoir_ += wide_samples;
-
- return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
-}
-
-static void metadata_callback(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
-{
- stream_data_struct *stream_data = (stream_data_struct*)client_data;
- (void)decoder;
-
- if (metadata->type == FLAC__METADATA_TYPE_STREAMINFO)
- {
- stream_data->total_samples = metadata->data.stream_info.total_samples;
- stream_data->bits_per_sample = metadata->data.stream_info.bits_per_sample;
- stream_data->channels = metadata->data.stream_info.channels;
- stream_data->sample_rate = metadata->data.stream_info.sample_rate;
-
- if (stream_data->bits_per_sample!=8 && stream_data->bits_per_sample!=16 && stream_data->bits_per_sample!=24)
- {
- FLAC_plugin__show_error("This plugin can only handle 8/16/24-bit samples.");
- stream_data->abort_flag = true;
- return;
- }
-
- {
- /* with VC++ you have to spoon feed it the casting from uint64->int64->double */
- FLAC__uint64 l = (FLAC__uint64)((double)(FLAC__int64)stream_data->total_samples / (double)stream_data->sample_rate * 1000.0 + 0.5);
- if (l > INT_MAX)
- l = INT_MAX;
- stream_data->length_in_msec = (int)l;
- }
- }
- else if (metadata->type == FLAC__METADATA_TYPE_VORBIS_COMMENT)
- {
- double reference, gain, peak;
- if (grabbag__replaygain_load_from_vorbiscomment(metadata, cfg.replaygain.album_mode, /*strict=*/false, &reference, &gain, &peak))
- {
- stream_data->has_replaygain = true;
- stream_data->replay_scale = grabbag__replaygain_compute_scale_factor(peak, gain, (double)cfg.replaygain.preamp, !cfg.replaygain.hard_limit);
- }
- }
-}
-
-static void error_callback(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
-{
- stream_data_struct *stream_data = (stream_data_struct*)client_data;
- (void)decoder;
-
- if (cfg.misc.stop_err || status!=FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC)
- stream_data->abort_flag = true;
-}
-
-/*
- * init/delete
- */
-
-FLAC__bool FLAC_plugin__decoder_init(FLAC__StreamDecoder *decoder, const char *filename, FLAC__int64 filesize, stream_data_struct *stream_data, output_config_t *config)
-{
- FLAC__StreamDecoderInitStatus init_status;
-
- FLAC__ASSERT(decoder);
- FLAC_plugin__decoder_finish(decoder);
- /* init decoder */
- FLAC__stream_decoder_set_md5_checking(decoder, false);
- FLAC__stream_decoder_set_metadata_ignore_all(decoder);
- FLAC__stream_decoder_set_metadata_respond(decoder, FLAC__METADATA_TYPE_STREAMINFO);
- FLAC__stream_decoder_set_metadata_respond(decoder, FLAC__METADATA_TYPE_VORBIS_COMMENT);
-
- if ((init_status = FLAC__stream_decoder_init_file(decoder, filename, write_callback, metadata_callback, error_callback, /*client_data=*/stream_data)) != FLAC__STREAM_DECODER_INIT_STATUS_OK)
- {
- FLAC_plugin__show_error("Error while initializing decoder (%s [%s]).", FLAC__StreamDecoderInitStatusString[init_status], FLAC__stream_decoder_get_resolved_state_string(decoder));
- return false;
- }
- /* process */
- cfg = *config;
- wide_samples_in_reservoir_ = 0;
- stream_data->is_playing = false;
- stream_data->abort_flag = false;
- stream_data->has_replaygain = false;
-
- if (!FLAC__stream_decoder_process_until_end_of_metadata(decoder))
- {
- FLAC_plugin__show_error("Error while processing metadata (%s).", FLAC__stream_decoder_get_resolved_state_string(decoder));
- return false;
- }
- /* check results */
- if (stream_data->abort_flag) return false; /* metadata callback already popped up the error dialog */
- /* init replaygain */
- stream_data->output_bits_per_sample = stream_data->has_replaygain && cfg.replaygain.enable ?
- cfg.resolution.replaygain.bps_out :
- cfg.resolution.normal.dither_24_to_16 ? min(stream_data->bits_per_sample, 16) : stream_data->bits_per_sample;
-
- if (stream_data->has_replaygain && cfg.replaygain.enable && cfg.resolution.replaygain.dither)
- FLAC__replaygain_synthesis__init_dither_context(&stream_data->dither_context, stream_data->bits_per_sample, cfg.resolution.replaygain.noise_shaping);
- /* more inits */
- stream_data->eof = false;
- stream_data->seek_to = -1;
- stream_data->is_playing = true;
- stream_data->average_bps = (unsigned)(filesize / (125.*(double)(FLAC__int64)stream_data->total_samples/(double)stream_data->sample_rate));
-
- bh_index_last_w = 0;
- bh_index_last_o = BITRATE_HIST_SIZE;
- decode_position = 0;
- decode_position_last = 0;
- written_time_last = 0;
-
- return true;
-}
-
-void FLAC_plugin__decoder_finish(FLAC__StreamDecoder *decoder)
-{
- if (decoder && FLAC__stream_decoder_get_state(decoder) != FLAC__STREAM_DECODER_UNINITIALIZED)
- (void)FLAC__stream_decoder_finish(decoder);
-}
-
-void FLAC_plugin__decoder_delete(FLAC__StreamDecoder *decoder)
-{
- if (decoder)
- {
- FLAC_plugin__decoder_finish(decoder);
- FLAC__stream_decoder_delete(decoder);
- }
-}
-
-/*
- * decode
- */
-
-int FLAC_plugin__seek(FLAC__StreamDecoder *decoder, stream_data_struct *stream_data)
-{
- int pos;
- FLAC__uint64 target_sample = stream_data->total_samples * stream_data->seek_to / stream_data->length_in_msec;
-
- if (stream_data->total_samples > 0 && target_sample >= stream_data->total_samples && target_sample > 0)
- target_sample = stream_data->total_samples - 1;
-
- /* even if the seek fails we have to reset these so that we don't repeat the seek */
- stream_data->seek_to = -1;
- stream_data->eof = false;
- wide_samples_in_reservoir_ = 0;
- pos = (int)(target_sample*1000 / stream_data->sample_rate);
-
- if (!FLAC__stream_decoder_seek_absolute(decoder, target_sample)) {
- if(FLAC__stream_decoder_get_state(decoder) == FLAC__STREAM_DECODER_SEEK_ERROR)
- FLAC__stream_decoder_flush(decoder);
- pos = -1;
- }
-
- bh_index_last_o = bh_index_last_w = (pos/BITRATE_HIST_SEGMENT_MSEC) % BITRATE_HIST_SIZE;
- if (!FLAC__stream_decoder_get_decode_position(decoder, &decode_position))
- decode_position = 0;
-
- return pos;
-}
-
-unsigned FLAC_plugin__decode(FLAC__StreamDecoder *decoder, stream_data_struct *stream_data, char *sample_buffer)
-{
- /* fill reservoir */
- while (wide_samples_in_reservoir_ < SAMPLES_PER_WRITE)
- {
- if (FLAC__stream_decoder_get_state(decoder) == FLAC__STREAM_DECODER_END_OF_STREAM)
- {
- stream_data->eof = true;
- break;
- }
- else if (!FLAC__stream_decoder_process_single(decoder))
- {
- FLAC_plugin__show_error("Error while processing frame (%s).", FLAC__stream_decoder_get_resolved_state_string(decoder));
- stream_data->eof = true;
- break;
- }
- if (!FLAC__stream_decoder_get_decode_position(decoder, &decode_position))
- decode_position = 0;
- }
- /* output samples */
- if (wide_samples_in_reservoir_ > 0)
- {
- const unsigned n = min(wide_samples_in_reservoir_, SAMPLES_PER_WRITE);
- const unsigned channels = stream_data->channels;
- unsigned i;
- int bytes;
-
- if (cfg.replaygain.enable && stream_data->has_replaygain)
- {
- bytes = FLAC__replaygain_synthesis__apply_gain(
- sample_buffer,
- true, /* little_endian_data_out */
- stream_data->output_bits_per_sample == 8, /* unsigned_data_out */
- reservoir__,
- n,
- channels,
- stream_data->bits_per_sample,
- stream_data->output_bits_per_sample,
- stream_data->replay_scale,
- cfg.replaygain.hard_limit,
- cfg.resolution.replaygain.dither,
- &stream_data->dither_context
- );
- }
- else
- {
- bytes = FLAC__plugin_common__pack_pcm_signed_little_endian(
- sample_buffer,
- reservoir__,
- n,
- channels,
- stream_data->bits_per_sample,
- stream_data->output_bits_per_sample
- );
- }
-
- wide_samples_in_reservoir_ -= n;
- for (i = 0; i < channels; i++)
- memmove(&reservoir_[i][0], &reservoir_[i][n], sizeof(reservoir_[0][0]) * wide_samples_in_reservoir_);
-
- return bytes;
- }
- else
- {
- stream_data->eof = true;
- return 0;
- }
-}
-
-int FLAC_plugin__get_rate(unsigned written_time, unsigned output_time, stream_data_struct *stream_data)
-{
- static int bitrate_history_[BITRATE_HIST_SIZE];
- unsigned bh_index_w = (written_time/BITRATE_HIST_SEGMENT_MSEC) % BITRATE_HIST_SIZE;
- unsigned bh_index_o = (output_time/BITRATE_HIST_SEGMENT_MSEC) % BITRATE_HIST_SIZE;
-
- /* written bitrate */
- if (bh_index_w != bh_index_last_w)
- {
- bitrate_history_[(bh_index_w + BITRATE_HIST_SIZE-1)%BITRATE_HIST_SIZE] =
- decode_position>decode_position_last && written_time > written_time_last ?
- (unsigned)(8000*(decode_position - decode_position_last)/(written_time - written_time_last)) :
- stream_data->average_bps;
-
- bh_index_last_w = bh_index_w;
- written_time_last = written_time;
- decode_position_last = decode_position;
- }
-
- /* output bitrate */
- if (bh_index_o!=bh_index_last_o && bh_index_o!=bh_index_last_w)
- {
- bh_index_last_o = bh_index_o;
- return bitrate_history_[bh_index_o];
- }
-
- return 0;
-}
diff --git a/3rdparty/libflac/src/plugin_winamp2/playback.h b/3rdparty/libflac/src/plugin_winamp2/playback.h
deleted file mode 100644
index cf4349cd576..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/playback.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/* in_flac - Winamp2 FLAC input plugin
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "FLAC/all.h"
-#include "share/replaygain_synthesis.h"
-#include "plugin_common/all.h"
-
-/*
- * constants
- */
-
-#define SAMPLES_PER_WRITE 576
-
-#define BITRATE_HIST_SEGMENT_MSEC 500
-#define BITRATE_HIST_SIZE 64
-
-/*
- * common structures
- */
-
-typedef struct {
- volatile FLAC__bool is_playing;
- volatile FLAC__bool abort_flag;
- volatile FLAC__bool eof;
- volatile int seek_to;
- FLAC__uint64 total_samples;
- unsigned bits_per_sample;
- unsigned output_bits_per_sample;
- unsigned channels;
- unsigned sample_rate;
- int length_in_msec; /* int (instead of FLAC__uint64) only because that's what Winamp uses; seeking won't work right if this maxes out */
- unsigned average_bps;
- FLAC__bool has_replaygain;
- double replay_scale;
- DitherContext dither_context;
-} stream_data_struct;
-
-
-typedef struct {
- struct {
- FLAC__bool enable;
- FLAC__bool album_mode;
- int preamp;
- FLAC__bool hard_limit;
- } replaygain;
- struct {
- struct {
- FLAC__bool dither_24_to_16;
- } normal;
- struct {
- FLAC__bool dither;
- int noise_shaping; /* value must be one of NoiseShaping enum, see plugin_common/replaygain_synthesis.h */
- int bps_out;
- } replaygain;
- } resolution;
- struct {
- FLAC__bool stop_err;
- } misc;
-} output_config_t;
-
-/*
- * protopytes
- */
-
-FLAC__bool FLAC_plugin__decoder_init(FLAC__StreamDecoder *decoder, const char *filename, FLAC__int64 filesize, stream_data_struct *stream_data, output_config_t *config);
-void FLAC_plugin__decoder_finish(FLAC__StreamDecoder *decoder);
-void FLAC_plugin__decoder_delete(FLAC__StreamDecoder *decoder);
-
-int FLAC_plugin__seek(FLAC__StreamDecoder *decoder, stream_data_struct *stream_data);
-unsigned FLAC_plugin__decode(FLAC__StreamDecoder *decoder, stream_data_struct *stream_data, char *sample_buffer);
-int FLAC_plugin__get_rate(unsigned written_time, unsigned output_time, stream_data_struct *stream_data);
-
-/*
- * these should be defined in plug-in
- */
-
-extern void FLAC_plugin__show_error(const char *message,...);
diff --git a/3rdparty/libflac/src/plugin_winamp2/resource.h b/3rdparty/libflac/src/plugin_winamp2/resource.h
deleted file mode 100644
index 7426359c5ac..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/resource.h
+++ /dev/null
@@ -1,47 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by resource.rc
-//
-#define IDC_RESET 3
-#define IDD_CONFIG 101
-#define IDD_CONFIG_GENERAL 103
-#define IDD_CONFIG_OUTPUT 104
-#define IDD_INFOBOX 105
-#define IDC_ENABLE 1000
-#define IDC_ALBUM 1001
-#define IDC_LIMITER 1002
-#define IDC_COMMENT 1002
-#define IDC_PREAMP 1003
-#define IDC_YEAR 1003
-#define IDC_PA 1004
-#define IDC_TRACK 1004
-#define IDC_DITHER 1005
-#define IDC_DITHERRG 1006
-#define IDC_TO 1008
-#define IDC_SHAPE 1009
-#define IDC_TABS 1009
-#define IDC_TITLE 1010
-#define IDC_TAGZ_HELP 1011
-#define IDC_ARTIST 1011
-#define IDC_TAGZ_DEFAULT 1012
-#define IDC_SEP 1013
-#define IDC_NAME 1014
-#define IDC_INFO 1015
-#define IDC_GENRE 1017
-#define IDC_REMOVE 1020
-#define IDC_UPDATE 1021
-#define IDC_ID3V1 1030
-#define IDC_RESERVE 1032
-#define IDC_BPS 1036
-#define IDC_ERRORS 1037
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 106
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1037
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/3rdparty/libflac/src/plugin_winamp2/resource.rc b/3rdparty/libflac/src/plugin_winamp2/resource.rc
deleted file mode 100644
index d47fd990e73..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/resource.rc
+++ /dev/null
@@ -1,236 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russian resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_INFOBOX DIALOG DISCARDABLE 0, 0, 292, 148
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-FONT 8, "MS Sans Serif"
-BEGIN
- EDITTEXT IDC_NAME,3,3,285,12,ES_AUTOHSCROLL | ES_READONLY | NOT
- WS_TABSTOP
- GROUPBOX " Tag ",IDC_STATIC,3,20,182,104
- RTEXT "&Title",IDC_STATIC,8,32,31,8
- EDITTEXT IDC_TITLE,43,30,137,12,ES_AUTOHSCROLL
- RTEXT "&Artist",IDC_STATIC,8,47,31,8
- EDITTEXT IDC_ARTIST,43,45,137,12,ES_AUTOHSCROLL
- RTEXT "Albu&m",IDC_STATIC,8,62,31,8
- EDITTEXT IDC_ALBUM,43,60,137,12,ES_AUTOHSCROLL
- RTEXT "&Comment",IDC_STATIC,8,77,31,8
- EDITTEXT IDC_COMMENT,43,75,137,12,ES_AUTOHSCROLL
- RTEXT "&Date",IDC_STATIC,8,92,31,8
- EDITTEXT IDC_YEAR,43,90,40,12,ES_AUTOHSCROLL
- RTEXT "Track &number",IDC_STATIC,90,92,46,8
- EDITTEXT IDC_TRACK,141,90,39,12,ES_AUTOHSCROLL
- RTEXT "&Genre",IDC_STATIC,8,107,31,8
- COMBOBOX IDC_GENRE,43,105,137,95,CBS_DROPDOWN | CBS_SORT |
- WS_VSCROLL | WS_TABSTOP
- GROUPBOX " FLAC Info ",IDC_STATIC,191,20,97,124
- LTEXT "",IDC_INFO,195,30,90,110
- DEFPUSHBUTTON "Close",IDOK,3,130,50,14
- PUSHBUTTON "&Update",IDC_UPDATE,69,130,50,14
- PUSHBUTTON "&Remove",IDC_REMOVE,135,130,50,14
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
-BEGIN
- IDD_INFOBOX, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 285
- TOPMARGIN, 7
- BOTTOMMARGIN, 141
- END
-END
-#endif // APSTUDIO_INVOKED
-
-#endif // Russian resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_CONFIG DIALOG DISCARDABLE 0, 0, 237, 212
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "FLAC Configuration"
-FONT 8, "MS Sans Serif"
-BEGIN
- DEFPUSHBUTTON "OK",IDOK,75,195,50,14
- PUSHBUTTON "Cancel",IDCANCEL,129,195,50,14
- PUSHBUTTON "Reset",IDC_RESET,183,195,50,14
- CONTROL "Tab1",IDC_TABS,"SysTabControl32",WS_TABSTOP,3,3,230,187
-END
-
-IDD_CONFIG_GENERAL DIALOG DISCARDABLE 0, 0, 226, 171
-STYLE DS_CONTROL | WS_CHILD
-FONT 8, "MS Sans Serif"
-BEGIN
- GROUPBOX " Title Formatting ",IDC_STATIC,2,2,220,58
- LTEXT "&Title",IDC_STATIC,8,17,14,8
- EDITTEXT IDC_TITLE,27,15,188,12,ES_AUTOHSCROLL
- PUSHBUTTON "default",IDC_TAGZ_DEFAULT,156,28,30,10
- PUSHBUTTON "help",IDC_TAGZ_HELP,188,28,27,10
- LTEXT "Separate tag values &with",IDC_STATIC,8,43,79,8
- EDITTEXT IDC_SEP,91,41,27,12,ES_AUTOHSCROLL
- CONTROL "Read ID3v&1 tags",IDC_ID3V1,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,147,43,70,10
- GROUPBOX " Tag Editor ",IDC_STATIC,2,63,220,30
- CONTROL "Reserve space for &FLAC tags",IDC_RESERVE,"Button",
- BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,8,76,125,10
- GROUPBOX " Miscellaneous ",IDC_STATIC,2,96,220,72
- CONTROL "&Show instantaneous bitrate while playing",IDC_BPS,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,8,108,125,10
- CONTROL "Stop on &all errors",IDC_ERRORS,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,8,120,69,10
-END
-
-IDD_CONFIG_OUTPUT DIALOG DISCARDABLE 0, 0, 224, 171
-STYLE DS_CONTROL | WS_CHILD
-FONT 8, "MS Sans Serif"
-BEGIN
- GROUPBOX " ReplayGain ",IDC_STATIC,2,2,220,57
- CONTROL "&Enable ReplayGain",IDC_ENABLE,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,8,15,77,10
- CONTROL "&Album mode",IDC_ALBUM,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,8,27,55,10
- CONTROL "6dB &hard limiter",IDC_LIMITER,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,123,27,64,10
- LTEXT "&Preamp",IDC_STATIC,8,44,25,8
- CONTROL "Slider1",IDC_PREAMP,"msctls_trackbar32",TBS_NOTICKS |
- WS_TABSTOP,36,43,154,12
- RTEXT "",IDC_PA,194,44,21,8
- GROUPBOX " Resolution ",IDC_STATIC,1,62,220,95
- GROUPBOX " Without ReplayGain ",IDC_STATIC,7,71,209,30
- CONTROL "&Dither 24bps to 16bps",IDC_DITHER,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,16,84,85,10
- GROUPBOX " With ReplayGain ",IDC_STATIC,7,104,209,47
- LTEXT "&Output bit depth",IDC_STATIC,16,119,52,8
- COMBOBOX IDC_TO,71,116,39,43,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- CONTROL "E&nable dithering",IDC_DITHERRG,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,16,134,67,10
- LTEXT "Noise &shaping",IDC_STATIC,113,135,46,8
- COMBOBOX IDC_SHAPE,164,132,46,48,CBS_DROPDOWNLIST | WS_VSCROLL |
- WS_TABSTOP
- LTEXT "Note: changes take effect after restarting playback",
- IDC_STATIC,2,160,161,8
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
-BEGIN
- IDD_CONFIG, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 230
- TOPMARGIN, 7
- BOTTOMMARGIN, 205
- END
-
- IDD_CONFIG_GENERAL, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 219
- TOPMARGIN, 7
- BOTTOMMARGIN, 164
- END
-
- IDD_CONFIG_OUTPUT, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 217
- TOPMARGIN, 7
- BOTTOMMARGIN, 164
- END
-END
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/3rdparty/libflac/src/plugin_winamp2/tagz.cpp b/3rdparty/libflac/src/plugin_winamp2/tagz.cpp
deleted file mode 100644
index a2c5a4857e5..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/tagz.cpp
+++ /dev/null
@@ -1,921 +0,0 @@
-#include <string.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include "tagz.h"
-
-#ifdef TAGZ_UNICODE
-
-#define _TX(X) L##X
-#define t_strdup wcsdup
-#define t_strlen wcslen
-#define t_strnicmp wcsnicmp
-#define t_atoi(x) wcstol(x,0,10)
-#define t_stricmp wcsicmp
-#define t_strstr wcsstr
-#define sprintf swprintf
-
-#else
-
-#define _TX(X) X
-#define t_strdup strdup
-#define t_strlen strlen
-#define t_strnicmp strnicmp
-#define t_atoi atoi
-#define t_stricmp stricmp
-#define t_strstr strstr
-
-#endif
-
-#define TABSIZE(x) (sizeof(x)/sizeof(x[0]))
-
-
-class T_String
-{
-private:
- T_CHAR * data;
- UINT size,used;
-public:
- T_String() {data=0;size=0;used=0;}
- void AddChar(T_CHAR c)
- {
- if (!data)
- {
- data=(T_CHAR*)malloc((size=512)*sizeof(T_CHAR));
- used=0;
- }
- else if (size==used)
- {
- size<<=1;
- data=(T_CHAR*)realloc((char*)data,size*sizeof(T_CHAR));
- }
- if (data) data[used++]=c;
- }
- void AddInt(int i)
- {
- T_CHAR foo[16];
- sprintf(foo,_TX("%i"),i);
- AddString(foo);
- }
- void AddString(const T_CHAR * z)
- {
- while(*z) {AddChar(*z);z++;}
- }
- void AddString(T_String & s)
- {
- AddString(s.Peek());
- }
- ~T_String()
- {
- if (data) free(data);
- }
- T_CHAR * GetBuf()
- {
- if (!data) return ::t_strdup(_TX(""));
- T_CHAR * r=(T_CHAR*)realloc(data,(used+1)*sizeof(T_CHAR));
- r[used]=0;
- data=0;
- return r;
- }
- T_CHAR operator[](UINT i)
- {
- if (!data || i>=used) return 0;
- else return data[i];
- }
- UINT Len() {return data ? used : 0;}
- void Reset()
- {
- if (data) {free(data);data=0;}
- }
- const T_CHAR * Peek()
- {
- AddChar(0);
- used--;
- return data;
- }
- T_CHAR * strdup()
- {
- return ::t_strdup(Peek());
- }
-};
-
-
-
-
-static int separator(T_CHAR x)
-{
- if (!x || x==' ') return 1;
- if (x=='\'' || x=='_') return 0;
-#ifdef TAGZ_UNICODE
- return !iswalnum(x);
-#else
- return !isalnum(x);
-#endif
-}
-
-static int sepcmp(T_CHAR* src,T_CHAR* val)
-{
- UINT l=t_strlen(val);
- return !t_strnicmp(src,val,l) && separator(src[l]);
-}
-
-static char roman_num[]=
-{
- 'I','V','X','L','C','D','M'
-};
-
-
-static int is_roman(T_CHAR * ptr)/* could be more smart i think */
-{
- if (ptr[0]==']' && ptr[1]=='[' && separator(ptr[2])) return 1;
- while(!separator(*ptr))
- {
- UINT n;
- bool found=0;
- for(n=0;n<TABSIZE(roman_num);n++)
- {
- if (*ptr==roman_num[n]) {found=1;break;}
- }
- if (!found) return 0;
- ptr++;
- }
- return 1;
-}
-
-static int need_full(T_CHAR* ptr)
-{
- if (is_roman(ptr)) return 1;
- if (sepcmp(ptr,_TX("RPG"))) return 1;
- while(!separator(*ptr))
- {
- if (*ptr<'0' || *ptr>'9') return 0;
- ptr++;
- }
- return 1;
-}
-
-typedef bool (*TEXTFUNC)(UINT n_src,T_CHAR **src,UINT*,T_String &out);
-
-#define MAKEFUNC(X) static bool X(UINT n_src,T_CHAR ** src,UINT *found_src,T_String &out)
-
-
-MAKEFUNC(If)
-{
- if (n_src!=3) return false;
-
- out.AddString(src[found_src[0] ? 1 : 2]);
- return true;
-}
-
-MAKEFUNC(If2)
-{
- if (n_src!=2) return false;
-
- out.AddString(src[found_src[0] ? 0 : 1]);
- return true;
-}
-
-
-MAKEFUNC(Iflonger)
-{
- if (n_src!=4) return false;
-
- out.AddString(src[(int)t_strlen(src[0])>t_atoi(src[1]) ? 2 : 3]);
- return true;
-}
-
-MAKEFUNC(Ifgreater)
-{
- if (n_src!=4) return false;
-
- out.AddString(src[t_atoi(src[0])>t_atoi(src[1]) ? 2 : 3]);
- return true;
-}
-
-MAKEFUNC(Upper)
-{
- if (n_src!=1) return false;
-
- T_CHAR * s=src[0];
-
- while(*s)
- out.AddChar(toupper(*(s++)));
-
- return true;
-}
-
-MAKEFUNC(Lower)
-{
- if (n_src!=1) return false;
-
- T_CHAR * s=src[0];
-
- while(*s)
- out.AddChar(tolower(*(s++)));
-
- return true;
-}
-
-MAKEFUNC(Pad)
-{
- if (n_src<2 || n_src>3) return false;
-
- T_CHAR *fill=_TX(" ");
- if (n_src==3 && src[2][0])
- fill = src[2];
-
- int num = t_atoi(src[1]);
- T_CHAR *p = src[0];
-
- while (*p) { out.AddChar(*(p++)); num--; }
-
- UINT fl = t_strlen(fill);
- while (num>0)
- out.AddChar(fill[(--num)%fl]);
-
- return true;
-}
-
-MAKEFUNC(Cut)
-{
- if (n_src!=2) return false;
-
- UINT num = t_atoi(src[1]);
- T_CHAR *p = src[0];
-
- while (*p && num>0) {out.AddChar(*(p++));num--;}
-
- return true;
-}
-
-MAKEFUNC(PadCut)
-{
- if (n_src<2 || n_src>3) return false;
-
- T_CHAR *fill = _TX(" ");
- if (n_src==3 && src[2][0])
- fill = src[2];
-
- int num = t_atoi(src[1]);
- T_CHAR *p = src[0];
-
- while(*p && num>0) {out.AddChar(*(p++));num--;}
-
- UINT fl=t_strlen(fill);
- while (num>0)
- out.AddChar(fill[(--num)%fl]);
-
- return true;
-}
-
-/* abbr(string) */
-/* abbr(string,len) */
-MAKEFUNC(Abbr)
-{
- if (n_src==0 || n_src>2) return false;
-
-
- if (n_src==2 && (int)t_strlen(src[0])<t_atoi(src[1]))
- {
- out.AddString(src[0]);
- return true;
- }
-
- T_CHAR * meta=src[0];
- bool w=0, r=0;
-
- while(*meta)
- {
- bool an=!separator(*meta) || *meta==']' || *meta=='[';
-
- if (w && !an)
- w=0;
- else if (!w && an)
- {
- w=1;
- r=need_full(meta)?1:0;
- out.AddChar(*meta);
- }
- else if (w && r)
- out.AddChar(*meta);
- meta++;
- }
-
- return true;
-}
-
-
-
-MAKEFUNC(Caps)
-{
- if (n_src!=1) return false;
-
- T_CHAR* sp=src[0];
- int sep = 1;
-
- while(*sp)
- {
- T_CHAR c=*(sp++);
- int s = separator(c);
- if (!s && sep)
- c=toupper(c);
- else if (!sep) c=tolower(c);
- sep=s;
- out.AddChar(c);
- }
-
- return true;
-}
-
-MAKEFUNC(Caps2)
-{
- if (n_src!=1) return false;
-
- T_CHAR* sp=src[0];
- int sep=1;
-
- while(*sp)
- {
- T_CHAR c=*(sp++);
- int s = separator(c);
- if (!s && sep)
- c=toupper(c);
- sep=s;
- out.AddChar(c);
- }
-
- return true;
-}
-
-MAKEFUNC(Longest)
-{
- T_CHAR *ptr=0;
- UINT n, m=0;
-
- for(n=0;n<n_src;n++)
- {
- UINT l=t_strlen(src[n]);
- if (l>m) {m=l;ptr=src[n];}
- }
-
- if (ptr) out.AddString(ptr);
- return true;
-}
-
-MAKEFUNC(Shortest)
-{
- T_CHAR * ptr=0;
- UINT n,m=(UINT)(-1);
-
- for(n=0;n<n_src;n++)
- {
- UINT l=t_strlen(src[n]);
- if (l<m) {m=l;ptr=src[n];}
- }
-
- if (ptr) out.AddString(ptr);
- return true;
-}
-
-MAKEFUNC(Num)
-{
- if (n_src!=2) return false;
-
- T_CHAR tmp[16];
- T_CHAR tmp1[16];
- sprintf(tmp1,_TX("%%0%uu"),t_atoi(src[1]));
- sprintf(tmp,tmp1,t_atoi(src[0]));
- out.AddString(tmp);
-
- return true;
-}
-
-MAKEFUNC(Hex)
-{
- if (n_src!=2) return false;
-
- T_CHAR tmp[16];
- T_CHAR tmp1[16];
- sprintf(tmp1,_TX("%%0%ux"),t_atoi(src[1]));
- sprintf(tmp,tmp1,t_atoi(src[0]));
- out.AddString(tmp);
-
- return true;
-}
-
-MAKEFUNC(StrChr)
-{
- if (n_src!=2) return false;
-
- T_CHAR * p=src[0];
- T_CHAR s=src[1][0];
-
- while (*p && *p!=s) p++;
- if (*p==s)
- out.AddInt(1+p-src[0]);
- else out.AddChar('0');
-
- return true;
-}
-
-MAKEFUNC(StrRChr)
-{
- if (n_src!=2) return false;
-
- T_CHAR * p=src[0],*p1=0;
- T_CHAR s=src[1][0];
-
- while(*p)
- {
- if (*p==s) p1=p;
- p++;
- }
-
- if (p1)
- out.AddInt(1+p1-src[0]);
- else out.AddChar('0');
-
- return true;
-}
-
-MAKEFUNC(StrStr)
-{
- if (n_src!=2) return false;
-
- T_CHAR * p = t_strstr(src[0],src[1]);
-
- if (p)
- out.AddInt(1+p-src[0]);
- else out.AddChar('0');
-
- return true;
-}
-
-/* substr(string, index) */
-/* substr(string, index, length) */
-MAKEFUNC(SubStr)
-{
- if (n_src<2 || n_src>3) return false;
-
- int n1 = t_atoi(src[1]), n2;
-
- if (n_src == 3)
- n2 = t_atoi(src[2]);
- else n2 = n1;
-
- if (n1 < 1) n1=1;
- if (n2 >= n1)
- {
- n1--;
- n2--;
- while(n1<=n2 && src[0][n1])
- out.AddChar(src[0][n1++]);
- }
-
- return true;
-}
-
-MAKEFUNC(Len)
-{
- if (n_src!=1) return false;
-
- out.AddInt(t_strlen(src[0]));
- return true;
-}
-
-MAKEFUNC(Add)
-{
- UINT n;
- int s=0;
-
- for (n=0;n<n_src;n++)
- s+=t_atoi(src[n]);
-
- out.AddInt(s);
-
- return true;
-}
-
-MAKEFUNC(Sub)
-{
- if (n_src==0) return false;
-
- UINT n;
- int s=t_atoi(src[0]);
-
- for (n=1;n<n_src;n++)
- s-=t_atoi(src[n]);
-
- out.AddInt(s);
-
- return true;
-}
-
-MAKEFUNC(Mul)
-{
- UINT n;
- int s=1;
-
- for(n=0;n<n_src;n++)
- s*=t_atoi(src[n]);
-
- out.AddInt(s);
-
- return true;
-}
-
-MAKEFUNC(Div)
-{
- if (n_src==0) return false;
-
- UINT n;
- int s=t_atoi(src[0]);
-
- for(n=1;n<n_src;n++)
- {
- int t=t_atoi(src[n]);
- if (t) s/=t;
- else t=0;
- }
-
- out.AddInt(s);
-
- return true;
-}
-
-MAKEFUNC(Mod)
-{
- if (n_src==0) return false;
-
- UINT n;
- int s=t_atoi(src[0]);
-
- for(n=1;n<n_src;n++)
- {
- int t=t_atoi(src[n]);
- if (t) s%=t;
- else t=0;
- }
-
- out.AddInt(s);
-
- return true;
-}
-
-MAKEFUNC(Max)
-{
- if (!n_src) return false;
-
- int m = t_atoi(src[0]);
- UINT n;
-
- for (n=1; n<n_src; n++)
- {
- int t = t_atoi(src[n]);
- if (t > m) m = t;
- }
- out.AddInt(m);
-
- return true;
-}
-
-MAKEFUNC(Min)
-{
- if (!n_src) return false;
-
- int m=t_atoi(src[0]);
- UINT n;
-
- for(n=1;n<n_src;n++)
- {
- int t=t_atoi(src[n]);
- if (t<m) m=t;
- }
- out.AddInt(m);
-
- return true;
-}
-
-/* replace(string, what_to_replace, replacement) */
-MAKEFUNC(Replace)
-{
- if (n_src!=3) return false;
- T_CHAR *p = src[0];
-
- while (*p)
- {
- UINT n=0;
-
- while (src[1][n] && p[n]==src[1][n]) n++;
-
- if (!src[1][n])
- {
- out.AddString(src[2]);
- p += n;
- }
- else out.AddChar(*p++);
- }
-
- return true;
-}
-
-struct
-{
- TEXTFUNC func;
- const T_CHAR * name;
-}
-FUNCS[] =
-{
- If,_TX("if"),
- If2,_TX("if2"),
- Upper,_TX("upper"),
- Lower,_TX("lower"),
- Pad,_TX("pad"),
- Cut,_TX("cut"),
- PadCut,_TX("padcut"),
- Abbr,_TX("abbr"),
- Caps,_TX("caps"),
- Caps2,_TX("caps2"),
- Longest,_TX("longest"),
- Shortest,_TX("shortest"),
- Iflonger,_TX("iflonger"),
- Ifgreater,_TX("ifgreater"),
- Num,_TX("num"),Num,_TX("dec"),
- Hex,_TX("hex"),
- StrChr,_TX("strchr"),
- StrChr,_TX("strlchr"),
- StrRChr,_TX("strrchr"),
- StrStr,_TX("strstr"),
- SubStr,_TX("substr"),
- Len,_TX("len"),
- Add,_TX("add"),
- Sub,_TX("sub"),
- Mul,_TX("mul"),
- Div,_TX("div"),
- Mod,_TX("mod"),
- Min,_TX("min"),
- Max,_TX("max"),
- Replace,_TX("replace"),
-};
-
-
-class FMT
-{
-private:
- T_String str;
- T_CHAR * spec;
- TAGFUNC f;
- TAGFREEFUNC ff;
- void * fp;
- T_CHAR * org_spec;
- int found;
-
- void Error(T_CHAR *e=0)
- {
- str.Reset();
- str.AddString(e ? e : _TX("[SYNTAX ERROR IN FORMATTING STRING]"));
- found++; /* force displaying */
- }
-
- T_CHAR * _FMT(T_CHAR * s,UINT *f=0)
- {
- FMT fmt(this,s);
- T_CHAR * c=(T_CHAR*)fmt;
- if (f) *f=fmt.found;
- found+=fmt.found;
- return c;
- }
-
- static bool skipshit(T_CHAR** _p,T_CHAR *bl)
- {
- T_CHAR * p=*_p;
- int bc1=0,bc2=0;
- while(*p)
- {
- if (!bc1 && !bc2 && bl)
- {
- T_CHAR *z=bl;
- while(*z)
- {
- if (*z==*p) break;
- z++;
- }
- if (*z) break;
- }
- if (*p=='\'')
- {
- p++;
- while(*p && *p!='\'') p++;
- if (!*p) return 0;
- }
- else if (*p=='(') bc1++;
- else if (*p==')')
- {
- if (--bc1<0) return 0;
- }
- else if (*p=='[') bc2++;
- else if (*p==']')
- {
- if (--bc2<0) return 0;
- }
- p++;
- }
- *_p=p;
- return *p && !bc1 && !bc2;
- }
-
- void run()
- {
- if (!spec) {Error();return;}
- while(*spec)
- {
- if (*spec=='%')
- {
- spec++;
- if (*spec=='%') {str.AddChar('%');spec++;continue;}
- T_CHAR* s1=spec+1;
- while(*s1 && *s1!='%') s1++;
- if (!*s1) {Error();break;}
- *s1=0;
- T_CHAR * tag=f(spec,fp);
- *s1='%';
- /*if (!tag) tag=tag_unknown; */
- if (tag && tag[0])
- {
- found++;
- str.AddString(tag);
- }
- else
- {
- str.AddString(_TX("?"));
- }
- if (tag && ff) ff(tag,fp);
- spec=s1+1;
- }
- else if (*spec=='$')
- {
- spec++;
- if (*spec=='$') {str.AddChar('$');spec++;continue;}
- T_CHAR * s1=spec+1;
- while(*s1 && *s1!='(') s1++;
- if (!*s1) {Error();break;}
- T_CHAR * s2=s1+1;
- if (!skipshit(&s2,_TX(")"))) {Error();break;}
- if (!*s2) {Error();break;};
- T_CHAR * p=s1+1;
- T_CHAR* temp[64];
- UINT temp_f[64];
- UINT nt=0;
- T_CHAR * p1=s1+1;
- while(p<=s2 && nt<64)
- {
- if (!skipshit(&p,_TX(",)"))) {Error();return;}
- if (p>s2 || (*p!=',' && *p!=')')) {Error(_TX("internal error"));return;}
- T_CHAR bk=*p;
- *p=0;
- temp[nt]=_FMT(p1,&temp_f[nt]);
- nt++;
- *p=bk;;
- p1=p+1;
- p++;
- }
- *s1=0;
- UINT n;
-
- for (n=0; n<TABSIZE(FUNCS); n++)
- if (!t_stricmp(spec, FUNCS[n].name))
- break;
-
- *s1='(';
-
- if (n != TABSIZE(FUNCS))
- {
- if (!FUNCS[n].func(nt, temp, temp_f, str))
- {
- Error(_TX("[INVALID $"));
- str.AddString(FUNCS[n].name);
- str.AddString(_TX(" SYNTAX]"));
- return;
- }
- }
- else
- {
- Error(_TX("[UNKNOWN FUNCTION]"));
- return;
- }
-
- for(n=0;n<nt;n++) free(temp[n]);
- spec=s2+1;
- }
- else if (*spec=='\'')
- {
- spec++;
- if (*spec=='\'') {str.AddChar('\'');spec++;continue;}
- T_CHAR * s1=spec+1;
- while(*s1 && *s1!='\'') s1++;
- if (!*s1) {Error();break;}
- *s1=0;
- str.AddString(spec);
- *s1='\'';
- spec=s1+1;
- }
- else if (*spec=='[')
- {
- spec++;
- T_CHAR * s1=spec;
- UINT bc=0;
- if (!skipshit(&s1,_TX("]"))) {Error();break;}
- T_CHAR bk=*s1;
- *s1=0;
- FMT fmt(this,spec);
- fmt.run();
- if (fmt.found)
- {
- str.AddString(fmt.str);
- found+=fmt.found;
- }
- *s1=bk;
- spec=s1+1;
- }
- else if (*spec == ']') {Error();break;}
- else
- {
- str.AddChar(*spec);
- spec++;
- }
- }
- }
-
- FMT(FMT* base,T_CHAR * _spec)
- {
- found=0;
- org_spec=0;
- f=base->f;
- ff=base->ff;
- fp=base->fp;
- spec=_spec;
- }
-public:
- FMT(const T_CHAR * p_spec,TAGFUNC _f,TAGFREEFUNC _ff,void * _fp)
- {
- found=0;
- org_spec=spec=t_strdup(p_spec);
- f=_f;
- ff=_ff;
- fp=_fp;
- }
- operator T_CHAR*()
- {
- run();
- return str.GetBuf();
- }
- ~FMT()
- {
- if (org_spec) free(org_spec);
- }
-};
-
-extern "C"
-{
-
-UINT tagz_format(const T_CHAR * spec,TAGFUNC f,TAGFREEFUNC ff,void *fp,T_CHAR* out,UINT max)
-{
- T_CHAR * zz=tagz_format_r(spec,f,ff,fp);
- UINT r=0;
- while(r<max-1 && zz[r])
- {
- out[r]=zz[r];
- r++;
- }
- out[r]=0;
- free(zz);
- return r;
-}
-
-T_CHAR * tagz_format_r(const T_CHAR* spec,TAGFUNC f,TAGFREEFUNC ff,void * fp)
-{
- return FMT(spec,f,ff,fp);
-}
-
-const char tagz_manual[]="Syntax reference: \n"
- "\n"
- "* %tagname% - inserts field named <tagname>, eg. \"%artist%\"\n"
- "* $abbr(x) - inserts abbreviation of x, eg. \"$abbr(%album%)\" - will convert album name of \"Final Fantasy VI\" to \"FFVI\"\n"
- "* $abbr(x,y) - inserts abbreviation of x if x is longer than y characters; otherwise inserts full value of x, eg. \"$abbr(%album%,10)\"\n"
- "* $lower(x), $upper(x) - converts x to in lower/uppercase, eg. \"$upper(%title%)\"\n"
- "* $num(x,y) - displays x number and pads with zeros up to y characters (useful for track numbers), eg. $num(%tracknumber%,2)\n"
- "* $caps(x) - converts first letter in every word of x to uppercase, and all other letters to lowercase, eg. \"blah BLAH\" -> \"Blah Blah\"\n"
- "* $caps2(x) - similar to $caps, but leaves uppercase letters as they are, eg. \"blah BLAH\" -> \"Blah BLAH\"\n"
- "* $if(A,B,C) - if A contains at least one valid tag, displays B, otherwise displays C; eg. \"$if(%artist%,%artist%,unknown artist)\" will display artist name if present; otherwise will display \"unknown artist\"; note that \"$if(A,A,)\" is equivalent to \"[A]\" (see below)\n"
- "* $if2(A,B) - equals to $if(A,A,B)\n"
- "* $longest(A,B,C,....) - compares lengths of output strings produced by A,B,C... and displays the longest one, eg. \"$longest(%title%,%comment%)\" will display either title if it's longer than comment; otherwise it will display comment\n"
- "* $pad(x,y) - pads x with spaces up to y characters\n"
- "* $cut(x,y) - truncates x to y characters\n"
- "* $padcut(x,y) - pads x to y characters and truncates to y if longer\n"
- "* [ .... ] - displays contents of brackets only if at least one of fields referenced inside has been found, eg. \"%artist% - [%album% / ]%title%\" will hide [] block if album field is not present\n"
- "* \' (single quotation mark) - outputs raw text without parsing, eg, \'blah$blah%blah[][]\' will output the contained string and ignore all reserved characters (%,$,[,]) in it; you can use this feature to insert square brackets for an example.\n"
- "\n"
- "eg. \"[%artist% - ][$abbr(%album%,10)[ %tracknumber%] / ]%title%[ %streamtitle%]\"\n";
-
-
-}
diff --git a/3rdparty/libflac/src/plugin_winamp2/tagz.h b/3rdparty/libflac/src/plugin_winamp2/tagz.h
deleted file mode 100644
index f826b7cec8a..00000000000
--- a/3rdparty/libflac/src/plugin_winamp2/tagz.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#pragma once
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef UINT
-typedef unsigned int UINT;
-#endif
-
-#ifdef TAGZ_UNICODE
-#if _MSC_VER <= 1200
-typedef unsigned short T_CHAR;
-#else
-typedef wchar_t T_CHAR;
-#endif
-#else
-#define T_CHAR char
-#endif
-
-typedef T_CHAR* (*TAGFUNC)(const T_CHAR *tag,void *p); /* return 0 if not found */
-typedef void (*TAGFREEFUNC)(T_CHAR *tag,void *p);
-
-
-UINT tagz_format(const T_CHAR * spec,TAGFUNC f,TAGFREEFUNC ff,void *fp,T_CHAR * out,UINT max);
-T_CHAR * tagz_format_r(const T_CHAR * spec,TAGFUNC f,TAGFREEFUNC ff,void * fp);
-
-extern const char tagz_manual[];
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/3rdparty/libflac/src/plugin_xmms/Makefile.am b/3rdparty/libflac/src/plugin_xmms/Makefile.am
deleted file mode 100644
index 62ca2abb979..00000000000
--- a/3rdparty/libflac/src/plugin_xmms/Makefile.am
+++ /dev/null
@@ -1,70 +0,0 @@
-# libxmms-flac - XMMS FLAC input plugin
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#
-# GNU makefile
-#
-
-EXTRA_DIST = \
- Makefile.lite
-
-noinst_HEADERS = \
- charset.h \
- configure.h \
- http.h \
- locale_hack.h \
- plugin.h \
- tag.h
-
-AM_CFLAGS = @OGG_CFLAGS@ @XMMS_CFLAGS@
-
-INCLUDES = -I$(top_srcdir)/src
-if FLaC__INSTALL_XMMS_PLUGIN_LOCALLY
-xmmsinputplugindir = $(HOME)/.xmms/Plugins
-else
-xmmsinputplugindir = @XMMS_INPUT_PLUGIN_DIR@
-endif
-
-# Don't build a static library
-LIBTOOL = $(top_builddir)/libtool-disable-static
-
-xmmsinputplugin_LTLIBRARIES = libxmms-flac.la
-
-plugin_sources = charset.c configure.c fileinfo.c http.c plugin.c tag.c
-
-libxmms_flac_la_SOURCES = $(plugin_sources)
-
-# work around the bug in libtool where its relinking fails with a different DESTDIR
-# for libtool bug info see:
-# http://mail.gnu.org/pipermail/bug-libtool/2002-February/003018.html
-# http://mail.gnu.org/pipermail/libtool/2002-April/006244.html
-# http://mail.gnu.org/pipermail/libtool/2002-April/006250.html
-# for fix info see:
-# http://lists.freshrpms.net/pipermail/rpm-list/2002-April/000746.html
-# the workaround is the extra '-L$(top_builddir)/src/libFLAC/.libs'
-libxmms_flac_la_LIBADD = \
- $(top_builddir)/src/plugin_common/libplugin_common.la \
- $(top_builddir)/src/share/grabbag/libgrabbag.la \
- $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
- $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \
- $(top_builddir)/src/share/utf8/libutf8.la \
- $(top_builddir)/src/libFLAC/libFLAC.la \
- -L$(top_builddir)/src/libFLAC/.libs \
- @OGG_LIBS@ \
- @XMMS_LIBS@ \
- @LIBICONV@
-libxmms_flac_la_LDFLAGS = -module -avoid-version
diff --git a/3rdparty/libflac/src/plugin_xmms/Makefile.in b/3rdparty/libflac/src/plugin_xmms/Makefile.in
deleted file mode 100644
index bf9eba974dd..00000000000
--- a/3rdparty/libflac/src/plugin_xmms/Makefile.in
+++ /dev/null
@@ -1,588 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# libxmms-flac - XMMS FLAC input plugin
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#
-# GNU makefile
-#
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-
-# Don't build a static library
-LIBTOOL = $(top_builddir)/libtool-disable-static
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-EXTRA_DIST = \
- Makefile.lite
-
-
-noinst_HEADERS = \
- charset.h \
- configure.h \
- http.h \
- locale_hack.h \
- plugin.h \
- tag.h
-
-
-AM_CFLAGS = @OGG_CFLAGS@ @XMMS_CFLAGS@
-
-INCLUDES = -I$(top_srcdir)/src
-@FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@xmmsinputplugindir = @XMMS_INPUT_PLUGIN_DIR@
-@FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@xmmsinputplugindir = $(HOME)/.xmms/Plugins
-
-xmmsinputplugin_LTLIBRARIES = libxmms-flac.la
-
-plugin_sources = charset.c configure.c fileinfo.c http.c plugin.c tag.c
-
-libxmms_flac_la_SOURCES = $(plugin_sources)
-
-# work around the bug in libtool where its relinking fails with a different DESTDIR
-# for libtool bug info see:
-# http://mail.gnu.org/pipermail/bug-libtool/2002-February/003018.html
-# http://mail.gnu.org/pipermail/libtool/2002-April/006244.html
-# http://mail.gnu.org/pipermail/libtool/2002-April/006250.html
-# for fix info see:
-# http://lists.freshrpms.net/pipermail/rpm-list/2002-April/000746.html
-# the workaround is the extra '-L$(top_builddir)/src/libFLAC/.libs'
-libxmms_flac_la_LIBADD = \
- $(top_builddir)/src/plugin_common/libplugin_common.la \
- $(top_builddir)/src/share/grabbag/libgrabbag.la \
- $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
- $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \
- $(top_builddir)/src/share/utf8/libutf8.la \
- $(top_builddir)/src/libFLAC/libFLAC.la \
- -L$(top_builddir)/src/libFLAC/.libs \
- @OGG_LIBS@ \
- @XMMS_LIBS@ \
- @LIBICONV@
-
-libxmms_flac_la_LDFLAGS = -module -avoid-version
-subdir = src/plugin_xmms
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(xmmsinputplugin_LTLIBRARIES)
-
-libxmms_flac_la_DEPENDENCIES = \
- $(top_builddir)/src/plugin_common/libplugin_common.la \
- $(top_builddir)/src/share/grabbag/libgrabbag.la \
- $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
- $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \
- $(top_builddir)/src/share/utf8/libutf8.la \
- $(top_builddir)/src/libFLAC/libFLAC.la
-am__objects_1 = charset.lo configure.lo fileinfo.lo http.lo plugin.lo \
- tag.lo
-am_libxmms_flac_la_OBJECTS = $(am__objects_1)
-libxmms_flac_la_OBJECTS = $(am_libxmms_flac_la_OBJECTS)
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/charset.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/configure.Plo ./$(DEPDIR)/fileinfo.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/http.Plo ./$(DEPDIR)/plugin.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/tag.Plo
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(libxmms_flac_la_SOURCES)
-HEADERS = $(noinst_HEADERS)
-
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(libxmms_flac_la_SOURCES)
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/plugin_xmms/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-xmmsinputpluginLTLIBRARIES_INSTALL = $(INSTALL)
-install-xmmsinputpluginLTLIBRARIES: $(xmmsinputplugin_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(xmmsinputplugindir)
- @list='$(xmmsinputplugin_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(LIBTOOL) --mode=install $(xmmsinputpluginLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(xmmsinputplugindir)/$$f"; \
- $(LIBTOOL) --mode=install $(xmmsinputpluginLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(xmmsinputplugindir)/$$f; \
- else :; fi; \
- done
-
-uninstall-xmmsinputpluginLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(xmmsinputplugin_LTLIBRARIES)'; for p in $$list; do \
- p="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(xmmsinputplugindir)/$$p"; \
- $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(xmmsinputplugindir)/$$p; \
- done
-
-clean-xmmsinputpluginLTLIBRARIES:
- -test -z "$(xmmsinputplugin_LTLIBRARIES)" || rm -f $(xmmsinputplugin_LTLIBRARIES)
- @list='$(xmmsinputplugin_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" = "$$p" && dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libxmms-flac.la: $(libxmms_flac_la_OBJECTS) $(libxmms_flac_la_DEPENDENCIES)
- $(LINK) -rpath $(xmmsinputplugindir) $(libxmms_flac_la_LDFLAGS) $(libxmms_flac_la_OBJECTS) $(libxmms_flac_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/charset.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/configure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileinfo.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/plugin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tag.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES) $(HEADERS)
-
-installdirs:
- $(mkinstalldirs) $(DESTDIR)$(xmmsinputplugindir)
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-xmmsinputpluginLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-xmmsinputpluginLTLIBRARIES
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am uninstall-xmmsinputpluginLTLIBRARIES
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-xmmsinputpluginLTLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip install-xmmsinputpluginLTLIBRARIES installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am \
- uninstall-xmmsinputpluginLTLIBRARIES
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/src/plugin_xmms/Makefile.lite b/3rdparty/libflac/src/plugin_xmms/Makefile.lite
deleted file mode 100644
index 6addb9da283..00000000000
--- a/3rdparty/libflac/src/plugin_xmms/Makefile.lite
+++ /dev/null
@@ -1,43 +0,0 @@
-# libxmms-flac - XMMS FLAC input plugin
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#
-# GNU makefile
-#
-
-topdir = ../..
-
-LIB_NAME = libxmms-flac
-INCLUDES = -I./include -I$(topdir)/include -I.. $(shell xmms-config --cflags)
-# refer to the static libs explicitly
-ifeq ($(DARWIN_BUILD),yes)
-LIBS = $(topdir)/obj/$(BUILD)/lib/libFLAC.a $(topdir)/obj/$(BUILD)/lib/libplugin_common.a $(topdir)/obj/$(BUILD)/lib/libgrabbag.a $(topdir)/obj/$(BUILD)/lib/libreplaygain_analysis.a $(topdir)/obj/$(BUILD)/lib/libreplaygain_synthesis.a $(OGG_LIB_DIR)/libogg.a -liconv -lstdc++ -lz
-else
-LIBS = $(topdir)/obj/$(BUILD)/lib/libFLAC.a $(topdir)/obj/$(BUILD)/lib/libplugin_common.a $(topdir)/obj/$(BUILD)/lib/libgrabbag.a $(topdir)/obj/$(BUILD)/lib/libreplaygain_analysis.a $(topdir)/obj/$(BUILD)/lib/libreplaygain_synthesis.a -L$(OGG_LIB_DIR) -logg -lstdc++ -lz
-endif
-
-SRCS_C = \
- charset.c \
- configure.c \
- plugin.c \
- fileinfo.c \
- http.c \
- tag.c
-
-include $(topdir)/build/lib.mk
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/src/plugin_xmms/charset.c b/3rdparty/libflac/src/plugin_xmms/charset.c
deleted file mode 100644
index c79e2eff6a6..00000000000
--- a/3rdparty/libflac/src/plugin_xmms/charset.c
+++ /dev/null
@@ -1,198 +0,0 @@
-/* libxmms-flac - XMMS FLAC input plugin
- * Copyright (C) 2002,2003,2004,2005,2006 Daisuke Shimamura
- *
- * Almost from charset.c
- * EasyTAG - Tag editor for MP3 and OGG files
- * Copyright (C) 1999-2001 Håvard Kvålen <havardk@xmms.org>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <stdlib.h>
-#include <glib.h>
-#include <string.h>
-#include <errno.h>
-
-#include "plugin_common/charset.h"
-#include "charset.h"
-#include "configure.h"
-#include "locale_hack.h"
-
-
-/****************
- * Declarations *
- ****************/
-
-#define CHARSET_TRANS_ARRAY_LEN ( sizeof(charset_trans_array) / sizeof((charset_trans_array)[0]) )
-const CharsetInfo charset_trans_array[] = {
- {N_("Arabic (IBM-864)"), "IBM864" },
- {N_("Arabic (ISO-8859-6)"), "ISO-8859-6" },
- {N_("Arabic (Windows-1256)"), "windows-1256" },
- {N_("Baltic (ISO-8859-13)"), "ISO-8859-13" },
- {N_("Baltic (ISO-8859-4)"), "ISO-8859-4" },
- {N_("Baltic (Windows-1257)"), "windows-1257" },
- {N_("Celtic (ISO-8859-14)"), "ISO-8859-14" },
- {N_("Central European (IBM-852)"), "IBM852" },
- {N_("Central European (ISO-8859-2)"), "ISO-8859-2" },
- {N_("Central European (Windows-1250)"), "windows-1250" },
- {N_("Chinese Simplified (GB18030)"), "gb18030" },
- {N_("Chinese Simplified (GB2312)"), "GB2312" },
- {N_("Chinese Traditional (Big5)"), "Big5" },
- {N_("Chinese Traditional (Big5-HKSCS)"), "Big5-HKSCS" },
- {N_("Cyrillic (IBM-855)"), "IBM855" },
- {N_("Cyrillic (ISO-8859-5)"), "ISO-8859-5" },
- {N_("Cyrillic (ISO-IR-111)"), "ISO-IR-111" },
- {N_("Cyrillic (KOI8-R)"), "KOI8-R" },
- {N_("Cyrillic (Windows-1251)"), "windows-1251" },
- {N_("Cyrillic/Russian (CP-866)"), "IBM866" },
- {N_("Cyrillic/Ukrainian (KOI8-U)"), "KOI8-U" },
- {N_("English (US-ASCII)"), "us-ascii" },
- {N_("Greek (ISO-8859-7)"), "ISO-8859-7" },
- {N_("Greek (Windows-1253)"), "windows-1253" },
- {N_("Hebrew (IBM-862)"), "IBM862" },
- {N_("Hebrew (Windows-1255)"), "windows-1255" },
- {N_("Japanese (EUC-JP)"), "EUC-JP" },
- {N_("Japanese (ISO-2022-JP)"), "ISO-2022-JP" },
- {N_("Japanese (Shift_JIS)"), "Shift_JIS" },
- {N_("Korean (EUC-KR)"), "EUC-KR" },
- {N_("Nordic (ISO-8859-10)"), "ISO-8859-10" },
- {N_("South European (ISO-8859-3)"), "ISO-8859-3" },
- {N_("Thai (TIS-620)"), "TIS-620" },
- {N_("Turkish (IBM-857)"), "IBM857" },
- {N_("Turkish (ISO-8859-9)"), "ISO-8859-9" },
- {N_("Turkish (Windows-1254)"), "windows-1254" },
- {N_("Unicode (UTF-7)"), "UTF-7" },
- {N_("Unicode (UTF-8)"), "UTF-8" },
- {N_("Unicode (UTF-16BE)"), "UTF-16BE" },
- {N_("Unicode (UTF-16LE)"), "UTF-16LE" },
- {N_("Unicode (UTF-32BE)"), "UTF-32BE" },
- {N_("Unicode (UTF-32LE)"), "UTF-32LE" },
- {N_("Vietnamese (VISCII)"), "VISCII" },
- {N_("Vietnamese (Windows-1258)"), "windows-1258" },
- {N_("Visual Hebrew (ISO-8859-8)"), "ISO-8859-8" },
- {N_("Western (IBM-850)"), "IBM850" },
- {N_("Western (ISO-8859-1)"), "ISO-8859-1" },
- {N_("Western (ISO-8859-15)"), "ISO-8859-15" },
- {N_("Western (Windows-1252)"), "windows-1252" }
-
- /*
- * From this point, character sets aren't supported by iconv
- */
-#if 0
- {N_("Arabic (IBM-864-I)"), "IBM864i" },
- {N_("Arabic (ISO-8859-6-E)"), "ISO-8859-6-E" },
- {N_("Arabic (ISO-8859-6-I)"), "ISO-8859-6-I" },
- {N_("Arabic (MacArabic)"), "x-mac-arabic" },
- {N_("Armenian (ARMSCII-8)"), "armscii-8" },
- {N_("Central European (MacCE)"), "x-mac-ce" },
- {N_("Chinese Simplified (GBK)"), "x-gbk" },
- {N_("Chinese Simplified (HZ)"), "HZ-GB-2312" },
- {N_("Chinese Traditional (EUC-TW)"), "x-euc-tw" },
- {N_("Croatian (MacCroatian)"), "x-mac-croatian" },
- {N_("Cyrillic (MacCyrillic)"), "x-mac-cyrillic" },
- {N_("Cyrillic/Ukrainian (MacUkrainian)"), "x-mac-ukrainian" },
- {N_("Farsi (MacFarsi)"), "x-mac-farsi"},
- {N_("Greek (MacGreek)"), "x-mac-greek" },
- {N_("Gujarati (MacGujarati)"), "x-mac-gujarati" },
- {N_("Gurmukhi (MacGurmukhi)"), "x-mac-gurmukhi" },
- {N_("Hebrew (ISO-8859-8-E)"), "ISO-8859-8-E" },
- {N_("Hebrew (ISO-8859-8-I)"), "ISO-8859-8-I" },
- {N_("Hebrew (MacHebrew)"), "x-mac-hebrew" },
- {N_("Hindi (MacDevanagari)"), "x-mac-devanagari" },
- {N_("Icelandic (MacIcelandic)"), "x-mac-icelandic" },
- {N_("Korean (JOHAB)"), "x-johab" },
- {N_("Korean (UHC)"), "x-windows-949" },
- {N_("Romanian (MacRomanian)"), "x-mac-romanian" },
- {N_("Turkish (MacTurkish)"), "x-mac-turkish" },
- {N_("User Defined"), "x-user-defined" },
- {N_("Vietnamese (TCVN)"), "x-viet-tcvn5712" },
- {N_("Vietnamese (VPS)"), "x-viet-vps" },
- {N_("Western (MacRoman)"), "x-mac-roman" },
- /* charsets whithout posibly translatable names */
- {"T61.8bit", "T61.8bit" },
- {"x-imap4-modified-utf7", "x-imap4-modified-utf7"},
- {"x-u-escaped", "x-u-escaped" },
- {"windows-936", "windows-936" }
-#endif
-};
-
-/*************
- * Functions *
- *************/
-
-/*
- * Commons conversion functions
- */
-char *convert_from_utf8_to_user(const char *string)
-{
- return FLAC_plugin__charset_convert_string(string, "UTF-8", flac_cfg.title.user_char_set);
-}
-
-char *convert_from_user_to_utf8(const char *string)
-{
- return FLAC_plugin__charset_convert_string(string, flac_cfg.title.user_char_set, "UTF-8");
-}
-
-GList *Charset_Create_List (void)
-{
- GList *list = NULL;
- guint i;
-
- for (i=0; i<CHARSET_TRANS_ARRAY_LEN; i++)
- list = g_list_append(list,_(charset_trans_array[i].charset_title));
- return list;
-}
-
-GList *Charset_Create_List_UTF8_Only (void)
-{
- GList *list = NULL;
-
- list = g_list_append(list,_(Charset_Get_Title_From_Name("UTF-8")));
- return list;
-}
-
-
-/*
- * Return charset_name from charset_title
- */
-gchar *Charset_Get_Name_From_Title (gchar *charset_title)
-{
- guint i;
-
- if (charset_title)
- for (i=0; i<CHARSET_TRANS_ARRAY_LEN; i++)
- if ( strcasecmp(_(charset_title),_(charset_trans_array[i].charset_title)) == 0 )
- return charset_trans_array[i].charset_name;
- return "";
-}
-
-
-/*
- * Return charset_title from charset_name
- */
-gchar *Charset_Get_Title_From_Name (gchar *charset_name)
-{
- guint i;
-
- if (charset_name)
- for (i=0; i<CHARSET_TRANS_ARRAY_LEN; i++)
- if ( strcasecmp(charset_name,charset_trans_array[i].charset_name) == 0 )
- return _(charset_trans_array[i].charset_title);
- return "";
-}
diff --git a/3rdparty/libflac/src/plugin_xmms/charset.h b/3rdparty/libflac/src/plugin_xmms/charset.h
deleted file mode 100644
index 6ed42c7b2c2..00000000000
--- a/3rdparty/libflac/src/plugin_xmms/charset.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* libxmms-flac - XMMS FLAC input plugin
- * Copyright (C) 2002,2003,2004,2005,2006 Daisuke Shimamura
- *
- * Almost from charset.h - 2001/12/04
- * EasyTAG - Tag editor for MP3 and OGG files
- * Copyright (C) 1999-2001 H蛆ard Kv虱en <havardk@xmms.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-
-#ifndef FLAC__PLUGIN_XMMS__CHARSET_H
-#define FLAC__PLUGIN_XMMS__CHARSET_H
-
-
-/***************
- * Declaration *
- ***************/
-
-typedef struct {
- gchar *charset_title;
- gchar *charset_name;
-} CharsetInfo;
-
-/* translated charset titles */
-extern const CharsetInfo charset_trans_array[];
-
-/**************
- * Prototypes *
- **************/
-
-/*
- * The returned strings are malloc()ed an must be free()d by the caller
- */
-char *convert_from_utf8_to_user(const char *string);
-char *convert_from_user_to_utf8(const char *string);
-
-GList *Charset_Create_List (void);
-GList *Charset_Create_List_UTF8_Only (void);
-gchar *Charset_Get_Name_From_Title (gchar *charset_title);
-gchar *Charset_Get_Title_From_Name (gchar *charset_name);
-
-#endif /* __CHARSET_H__ */
-
diff --git a/3rdparty/libflac/src/plugin_xmms/configure.c b/3rdparty/libflac/src/plugin_xmms/configure.c
deleted file mode 100644
index f9170e977b2..00000000000
--- a/3rdparty/libflac/src/plugin_xmms/configure.c
+++ /dev/null
@@ -1,823 +0,0 @@
-/* libxmms-flac - XMMS FLAC input plugin
- * Copyright (C) 2002,2003,2004,2005,2006 Daisuke Shimamura
- *
- * Based on mpg123 plugin
- * and prefs.c - 2000/05/06
- * EasyTAG - Tag editor for MP3 and OGG files
- * Copyright (C) 2000-2002 Jerome Couderc <j.couderc@ifrance.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <glib.h>
-#include <gtk/gtk.h>
-#include <pthread.h>
-#include <math.h>
-
-#include <xmms/configfile.h>
-#include <xmms/dirbrowser.h>
-#include <xmms/titlestring.h>
-#include <xmms/util.h>
-#include <xmms/plugin.h>
-
-#include "share/replaygain_synthesis.h" /* for NOISE_SHAPING_LOW */
-#include "charset.h"
-#include "configure.h"
-#include "locale_hack.h"
-
-/*
- * Initialize Global Valueable
- */
-flac_config_t flac_cfg = {
- /* title */
- {
- FALSE, /* tag_override */
- NULL, /* tag_format */
- FALSE, /* convert_char_set */
- NULL /* user_char_set */
- },
- /* stream */
- {
- 100 /* KB */, /* http_buffer_size */
- 50, /* http_prebuffer */
- FALSE, /* use_proxy */
- NULL, /* proxy_host */
- 0, /* proxy_port */
- FALSE, /* proxy_use_auth */
- NULL, /* proxy_user */
- NULL, /* proxy_pass */
- FALSE, /* save_http_stream */
- NULL, /* save_http_path */
- FALSE, /* cast_title_streaming */
- FALSE /* use_udp_channel */
- },
- /* output */
- {
- /* replaygain */
- {
- FALSE, /* enable */
- TRUE, /* album_mode */
- 0, /* preamp */
- FALSE /* hard_limit */
- },
- /* resolution */
- {
- /* normal */
- {
- TRUE /* dither_24_to_16 */
- },
- /* replaygain */
- {
- TRUE, /* dither */
- NOISE_SHAPING_LOW, /* noise_shaping */
- 16 /* bps_out */
- }
- }
- }
-};
-
-
-static GtkWidget *flac_configurewin = NULL;
-static GtkWidget *vbox, *notebook;
-
-static GtkWidget *title_tag_override, *title_tag_box, *title_tag_entry, *title_desc;
-static GtkWidget *convert_char_set, *fileCharacterSetEntry, *userCharacterSetEntry;
-static GtkWidget *replaygain_enable, *replaygain_album_mode;
-static GtkWidget *replaygain_preamp_hscale, *replaygain_preamp_label, *replaygain_hard_limit;
-static GtkObject *replaygain_preamp;
-static GtkWidget *resolution_normal_dither_24_to_16;
-static GtkWidget *resolution_replaygain_dither;
-static GtkWidget *resolution_replaygain_noise_shaping_frame;
-static GtkWidget *resolution_replaygain_noise_shaping_radio_none;
-static GtkWidget *resolution_replaygain_noise_shaping_radio_low;
-static GtkWidget *resolution_replaygain_noise_shaping_radio_medium;
-static GtkWidget *resolution_replaygain_noise_shaping_radio_high;
-static GtkWidget *resolution_replaygain_bps_out_frame;
-static GtkWidget *resolution_replaygain_bps_out_radio_16bps;
-static GtkWidget *resolution_replaygain_bps_out_radio_24bps;
-
-static GtkObject *streaming_size_adj, *streaming_pre_adj;
-static GtkWidget *streaming_proxy_use, *streaming_proxy_host_entry;
-static GtkWidget *streaming_proxy_port_entry, *streaming_save_use, *streaming_save_entry;
-static GtkWidget *streaming_proxy_auth_use;
-static GtkWidget *streaming_proxy_auth_pass_entry, *streaming_proxy_auth_user_entry;
-static GtkWidget *streaming_proxy_auth_user_label, *streaming_proxy_auth_pass_label;
-#ifdef FLAC_ICECAST
-static GtkWidget *streaming_cast_title, *streaming_udp_title;
-#endif
-static GtkWidget *streaming_proxy_hbox, *streaming_proxy_auth_hbox, *streaming_save_dirbrowser;
-static GtkWidget *streaming_save_hbox;
-
-static gchar *gtk_entry_get_text_1 (GtkWidget *widget);
-static void flac_configurewin_ok(GtkWidget * widget, gpointer data);
-static void configure_destroy(GtkWidget * w, gpointer data);
-
-static void flac_configurewin_ok(GtkWidget * widget, gpointer data)
-{
- ConfigFile *cfg;
- gchar *filename;
-
- (void)widget, (void)data; /* unused arguments */
- g_free(flac_cfg.title.tag_format);
- flac_cfg.title.tag_format = g_strdup(gtk_entry_get_text(GTK_ENTRY(title_tag_entry)));
- flac_cfg.title.user_char_set = Charset_Get_Name_From_Title(gtk_entry_get_text_1(userCharacterSetEntry));
-
- filename = g_strconcat(g_get_home_dir(), "/.xmms/config", NULL);
- cfg = xmms_cfg_open_file(filename);
- if (!cfg)
- cfg = xmms_cfg_new();
- /* title */
- xmms_cfg_write_boolean(cfg, "flac", "title.tag_override", flac_cfg.title.tag_override);
- xmms_cfg_write_string(cfg, "flac", "title.tag_format", flac_cfg.title.tag_format);
- xmms_cfg_write_boolean(cfg, "flac", "title.convert_char_set", flac_cfg.title.convert_char_set);
- xmms_cfg_write_string(cfg, "flac", "title.user_char_set", flac_cfg.title.user_char_set);
- /* output */
- xmms_cfg_write_boolean(cfg, "flac", "output.replaygain.enable", flac_cfg.output.replaygain.enable);
- xmms_cfg_write_boolean(cfg, "flac", "output.replaygain.album_mode", flac_cfg.output.replaygain.album_mode);
- xmms_cfg_write_int(cfg, "flac", "output.replaygain.preamp", flac_cfg.output.replaygain.preamp);
- xmms_cfg_write_boolean(cfg, "flac", "output.replaygain.hard_limit", flac_cfg.output.replaygain.hard_limit);
- xmms_cfg_write_boolean(cfg, "flac", "output.resolution.normal.dither_24_to_16", flac_cfg.output.resolution.normal.dither_24_to_16);
- xmms_cfg_write_boolean(cfg, "flac", "output.resolution.replaygain.dither", flac_cfg.output.resolution.replaygain.dither);
- xmms_cfg_write_int(cfg, "flac", "output.resolution.replaygain.noise_shaping", flac_cfg.output.resolution.replaygain.noise_shaping);
- xmms_cfg_write_int(cfg, "flac", "output.resolution.replaygain.bps_out", flac_cfg.output.resolution.replaygain.bps_out);
- /* streaming */
- flac_cfg.stream.http_buffer_size = (gint) GTK_ADJUSTMENT(streaming_size_adj)->value;
- flac_cfg.stream.http_prebuffer = (gint) GTK_ADJUSTMENT(streaming_pre_adj)->value;
-
- flac_cfg.stream.use_proxy = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_proxy_use));
- if(flac_cfg.stream.proxy_host)
- g_free(flac_cfg.stream.proxy_host);
- flac_cfg.stream.proxy_host = g_strdup(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_host_entry)));
- flac_cfg.stream.proxy_port = atoi(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_port_entry)));
-
- flac_cfg.stream.proxy_use_auth = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_proxy_auth_use));
-
- if(flac_cfg.stream.proxy_user)
- g_free(flac_cfg.stream.proxy_user);
- flac_cfg.stream.proxy_user = NULL;
- if(strlen(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_auth_user_entry))) > 0)
- flac_cfg.stream.proxy_user = g_strdup(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_auth_user_entry)));
-
- if(flac_cfg.stream.proxy_pass)
- g_free(flac_cfg.stream.proxy_pass);
- flac_cfg.stream.proxy_pass = NULL;
- if(strlen(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_auth_pass_entry))) > 0)
- flac_cfg.stream.proxy_pass = g_strdup(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_auth_pass_entry)));
-
-
- flac_cfg.stream.save_http_stream = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_save_use));
- if (flac_cfg.stream.save_http_path)
- g_free(flac_cfg.stream.save_http_path);
- flac_cfg.stream.save_http_path = g_strdup(gtk_entry_get_text(GTK_ENTRY(streaming_save_entry)));
-
-#ifdef FLAC_ICECAST
- flac_cfg.stream.cast_title_streaming = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_cast_title));
- flac_cfg.stream.use_udp_channel = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_udp_title));
-#endif
-
- xmms_cfg_write_int(cfg, "flac", "stream.http_buffer_size", flac_cfg.stream.http_buffer_size);
- xmms_cfg_write_int(cfg, "flac", "stream.http_prebuffer", flac_cfg.stream.http_prebuffer);
- xmms_cfg_write_boolean(cfg, "flac", "stream.use_proxy", flac_cfg.stream.use_proxy);
- xmms_cfg_write_string(cfg, "flac", "stream.proxy_host", flac_cfg.stream.proxy_host);
- xmms_cfg_write_int(cfg, "flac", "stream.proxy_port", flac_cfg.stream.proxy_port);
- xmms_cfg_write_boolean(cfg, "flac", "stream.proxy_use_auth", flac_cfg.stream.proxy_use_auth);
- if(flac_cfg.stream.proxy_user)
- xmms_cfg_write_string(cfg, "flac", "stream.proxy_user", flac_cfg.stream.proxy_user);
- else
- xmms_cfg_remove_key(cfg, "flac", "stream.proxy_user");
- if(flac_cfg.stream.proxy_pass)
- xmms_cfg_write_string(cfg, "flac", "stream.proxy_pass", flac_cfg.stream.proxy_pass);
- else
- xmms_cfg_remove_key(cfg, "flac", "stream.proxy_pass");
- xmms_cfg_write_boolean(cfg, "flac", "stream.save_http_stream", flac_cfg.stream.save_http_stream);
- xmms_cfg_write_string(cfg, "flac", "stream.save_http_path", flac_cfg.stream.save_http_path);
-#ifdef FLAC_ICECAST
- xmms_cfg_write_boolean(cfg, "flac", "stream.cast_title_streaming", flac_cfg.stream.cast_title_streaming);
- xmms_cfg_write_boolean(cfg, "flac", "stream.use_udp_channel", flac_cfg.stream.use_udp_channel);
-#endif
-
- xmms_cfg_write_file(cfg, filename);
- xmms_cfg_free(cfg);
- g_free(filename);
- gtk_widget_destroy(flac_configurewin);
-}
-
-static void configure_destroy(GtkWidget *widget, gpointer data)
-{
- (void)widget, (void)data; /* unused arguments */
-}
-
-static void title_tag_override_cb(GtkWidget *widget, gpointer data)
-{
- (void)widget, (void)data; /* unused arguments */
- flac_cfg.title.tag_override = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(title_tag_override));
-
- gtk_widget_set_sensitive(title_tag_box, flac_cfg.title.tag_override);
- gtk_widget_set_sensitive(title_desc, flac_cfg.title.tag_override);
-
-}
-
-static void convert_char_set_cb(GtkWidget *widget, gpointer data)
-{
- (void)widget, (void)data; /* unused arguments */
- flac_cfg.title.convert_char_set = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(convert_char_set));
-
- gtk_widget_set_sensitive(fileCharacterSetEntry, FALSE);
- gtk_widget_set_sensitive(userCharacterSetEntry, flac_cfg.title.convert_char_set);
-}
-
-static void replaygain_enable_cb(GtkWidget *widget, gpointer data)
-{
- (void)widget, (void)data; /* unused arguments */
- flac_cfg.output.replaygain.enable = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(replaygain_enable));
-
- gtk_widget_set_sensitive(replaygain_album_mode, flac_cfg.output.replaygain.enable);
- gtk_widget_set_sensitive(replaygain_preamp_hscale, flac_cfg.output.replaygain.enable);
- gtk_widget_set_sensitive(replaygain_hard_limit, flac_cfg.output.replaygain.enable);
-}
-
-static void replaygain_album_mode_cb(GtkWidget *widget, gpointer data)
-{
- (void)widget, (void)data; /* unused arguments */
- flac_cfg.output.replaygain.album_mode = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(replaygain_album_mode));
-}
-
-static void replaygain_hard_limit_cb(GtkWidget *widget, gpointer data)
-{
- (void)widget, (void)data; /* unused arguments */
- flac_cfg.output.replaygain.hard_limit = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(replaygain_hard_limit));
-}
-
-static void replaygain_preamp_cb(GtkWidget *widget, gpointer data)
-{
- GString *gstring = g_string_new("");
- (void)widget, (void)data; /* unused arguments */
- flac_cfg.output.replaygain.preamp = (int) floor(GTK_ADJUSTMENT(replaygain_preamp)->value + 0.5);
-
- g_string_sprintf(gstring, "%i dB", flac_cfg.output.replaygain.preamp);
- gtk_label_set_text(GTK_LABEL(replaygain_preamp_label), _(gstring->str));
-}
-
-static void resolution_normal_dither_24_to_16_cb(GtkWidget *widget, gpointer data)
-{
- (void)widget, (void)data; /* unused arguments */
- flac_cfg.output.resolution.normal.dither_24_to_16 = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(resolution_normal_dither_24_to_16));
-}
-
-static void resolution_replaygain_dither_cb(GtkWidget *widget, gpointer data)
-{
- (void)widget, (void)data; /* unused arguments */
- flac_cfg.output.resolution.replaygain.dither = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(resolution_replaygain_dither));
-
- gtk_widget_set_sensitive(resolution_replaygain_noise_shaping_frame, flac_cfg.output.resolution.replaygain.dither);
-}
-
-static void resolution_replaygain_noise_shaping_cb(GtkWidget *widget, gpointer data)
-{
- (void)widget, (void)data; /* unused arguments */
- flac_cfg.output.resolution.replaygain.noise_shaping =
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(resolution_replaygain_noise_shaping_radio_none))? 0 :
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(resolution_replaygain_noise_shaping_radio_low))? 1 :
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(resolution_replaygain_noise_shaping_radio_medium))? 2 :
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(resolution_replaygain_noise_shaping_radio_high))? 3 :
- 0
- ;
-}
-
-static void resolution_replaygain_bps_out_cb(GtkWidget *widget, gpointer data)
-{
- (void)widget, (void)data; /* unused arguments */
- flac_cfg.output.resolution.replaygain.bps_out =
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(resolution_replaygain_bps_out_radio_16bps))? 16 :
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(resolution_replaygain_bps_out_radio_24bps))? 24 :
- 16
- ;
-}
-
-static void proxy_use_cb(GtkWidget * w, gpointer data)
-{
- gboolean use_proxy, use_proxy_auth;
- (void) w;
- (void) data;
-
- use_proxy = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_proxy_use));
- use_proxy_auth = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_proxy_auth_use));
-
- gtk_widget_set_sensitive(streaming_proxy_hbox, use_proxy);
- gtk_widget_set_sensitive(streaming_proxy_auth_use, use_proxy);
- gtk_widget_set_sensitive(streaming_proxy_auth_hbox, use_proxy && use_proxy_auth);
-}
-
-static void proxy_auth_use_cb(GtkWidget *w, gpointer data)
-{
- gboolean use_proxy, use_proxy_auth;
- (void) w;
- (void) data;
-
- use_proxy = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_proxy_use));
- use_proxy_auth = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_proxy_auth_use));
-
- gtk_widget_set_sensitive(streaming_proxy_auth_hbox, use_proxy && use_proxy_auth);
-}
-
-static void streaming_save_dirbrowser_cb(gchar * dir)
-{
- gtk_entry_set_text(GTK_ENTRY(streaming_save_entry), dir);
-}
-
-static void streaming_save_browse_cb(GtkWidget * w, gpointer data)
-{
- (void) w;
- (void) data;
- if (!streaming_save_dirbrowser)
- {
- streaming_save_dirbrowser = xmms_create_dir_browser(_("Select the directory where you want to store the MPEG streams:"),
- flac_cfg.stream.save_http_path, GTK_SELECTION_SINGLE, streaming_save_dirbrowser_cb);
- gtk_signal_connect(GTK_OBJECT(streaming_save_dirbrowser), "destroy", GTK_SIGNAL_FUNC(gtk_widget_destroyed), &streaming_save_dirbrowser);
- gtk_window_set_transient_for(GTK_WINDOW(streaming_save_dirbrowser), GTK_WINDOW(flac_configurewin));
- gtk_widget_show(streaming_save_dirbrowser);
- }
-}
-
-static void streaming_save_use_cb(GtkWidget * w, gpointer data)
-{
- gboolean save_stream;
- (void) w;
- (void) data;
-
- save_stream = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_save_use));
-
- gtk_widget_set_sensitive(streaming_save_hbox, save_stream);
-}
-
-
-void FLAC_XMMS__configure(void)
-{
- GtkWidget *title_frame, *title_tag_vbox, *title_tag_label;
- GtkWidget *replaygain_frame, *resolution_frame, *output_vbox, *resolution_normal_frame, *resolution_replaygain_frame;
- GtkWidget *replaygain_vbox, *resolution_hbox, *resolution_normal_vbox, *resolution_replaygain_vbox;
- GtkWidget *resolution_replaygain_noise_shaping_vbox;
- GtkWidget *resolution_replaygain_bps_out_vbox;
- GtkWidget *label, *hbox;
- GtkWidget *bbox, *ok, *cancel;
- GList *list;
-
- GtkWidget *streaming_vbox;
- GtkWidget *streaming_buf_frame, *streaming_buf_hbox;
- GtkWidget *streaming_size_box, *streaming_size_label, *streaming_size_spin;
- GtkWidget *streaming_pre_box, *streaming_pre_label, *streaming_pre_spin;
- GtkWidget *streaming_proxy_frame, *streaming_proxy_vbox;
- GtkWidget *streaming_proxy_port_label, *streaming_proxy_host_label;
- GtkWidget *streaming_save_frame, *streaming_save_vbox;
- GtkWidget *streaming_save_label, *streaming_save_browse;
-#ifdef FLAC_ICECAST
- GtkWidget *streaming_cast_frame, *streaming_cast_vbox;
-#endif
- char *temp;
-
- if (flac_configurewin != NULL) {
- gdk_window_raise(flac_configurewin->window);
- return;
- }
- flac_configurewin = gtk_window_new(GTK_WINDOW_DIALOG);
- gtk_signal_connect(GTK_OBJECT(flac_configurewin), "destroy", GTK_SIGNAL_FUNC(gtk_widget_destroyed), &flac_configurewin);
- gtk_signal_connect(GTK_OBJECT(flac_configurewin), "destroy", GTK_SIGNAL_FUNC(configure_destroy), &flac_configurewin);
- gtk_window_set_title(GTK_WINDOW(flac_configurewin), _("Flac Configuration"));
- gtk_window_set_policy(GTK_WINDOW(flac_configurewin), FALSE, FALSE, FALSE);
- gtk_container_border_width(GTK_CONTAINER(flac_configurewin), 10);
-
- vbox = gtk_vbox_new(FALSE, 10);
- gtk_container_add(GTK_CONTAINER(flac_configurewin), vbox);
-
- notebook = gtk_notebook_new();
- gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 0);
-
- /* Title config.. */
-
- title_frame = gtk_frame_new(_("Tag Handling"));
- gtk_container_border_width(GTK_CONTAINER(title_frame), 5);
-
- title_tag_vbox = gtk_vbox_new(FALSE, 10);
- gtk_container_border_width(GTK_CONTAINER(title_tag_vbox), 5);
- gtk_container_add(GTK_CONTAINER(title_frame), title_tag_vbox);
-
- /* Convert Char Set */
-
- convert_char_set = gtk_check_button_new_with_label(_("Convert Character Set"));
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(convert_char_set), flac_cfg.title.convert_char_set);
- gtk_signal_connect(GTK_OBJECT(convert_char_set), "clicked", convert_char_set_cb, NULL);
- gtk_box_pack_start(GTK_BOX(title_tag_vbox), convert_char_set, FALSE, FALSE, 0);
- /* Combo boxes... */
- hbox = gtk_hbox_new(FALSE,4);
- gtk_container_add(GTK_CONTAINER(title_tag_vbox),hbox);
- label = gtk_label_new(_("Convert character set from :"));
- gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);
- fileCharacterSetEntry = gtk_combo_new();
- gtk_box_pack_start(GTK_BOX(hbox),fileCharacterSetEntry,TRUE,TRUE,0);
-
- label = gtk_label_new (_("to :"));
- gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);
- userCharacterSetEntry = gtk_combo_new();
- gtk_box_pack_start(GTK_BOX(hbox),userCharacterSetEntry,TRUE,TRUE,0);
-
- gtk_entry_set_editable(GTK_ENTRY(GTK_COMBO(fileCharacterSetEntry)->entry),FALSE);
- gtk_entry_set_editable(GTK_ENTRY(GTK_COMBO(userCharacterSetEntry)->entry),FALSE);
- gtk_combo_set_value_in_list(GTK_COMBO(fileCharacterSetEntry),TRUE,FALSE);
- gtk_combo_set_value_in_list(GTK_COMBO(userCharacterSetEntry),TRUE,FALSE);
-
- list = Charset_Create_List();
- gtk_combo_set_popdown_strings(GTK_COMBO(fileCharacterSetEntry),Charset_Create_List_UTF8_Only());
- gtk_combo_set_popdown_strings(GTK_COMBO(userCharacterSetEntry),list);
- gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(userCharacterSetEntry)->entry),Charset_Get_Title_From_Name(flac_cfg.title.user_char_set));
- gtk_widget_set_sensitive(fileCharacterSetEntry, FALSE);
- gtk_widget_set_sensitive(userCharacterSetEntry, flac_cfg.title.convert_char_set);
-
- /* Override Tagging Format */
-
- title_tag_override = gtk_check_button_new_with_label(_("Override generic titles"));
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(title_tag_override), flac_cfg.title.tag_override);
- gtk_signal_connect(GTK_OBJECT(title_tag_override), "clicked", title_tag_override_cb, NULL);
- gtk_box_pack_start(GTK_BOX(title_tag_vbox), title_tag_override, FALSE, FALSE, 0);
-
- title_tag_box = gtk_hbox_new(FALSE, 5);
- gtk_widget_set_sensitive(title_tag_box, flac_cfg.title.tag_override);
- gtk_box_pack_start(GTK_BOX(title_tag_vbox), title_tag_box, FALSE, FALSE, 0);
-
- title_tag_label = gtk_label_new(_("Title format:"));
- gtk_box_pack_start(GTK_BOX(title_tag_box), title_tag_label, FALSE, FALSE, 0);
-
- title_tag_entry = gtk_entry_new();
- gtk_entry_set_text(GTK_ENTRY(title_tag_entry), flac_cfg.title.tag_format);
- gtk_box_pack_start(GTK_BOX(title_tag_box), title_tag_entry, TRUE, TRUE, 0);
-
- title_desc = xmms_titlestring_descriptions("pafFetnygc", 2);
- gtk_widget_set_sensitive(title_desc, flac_cfg.title.tag_override);
- gtk_box_pack_start(GTK_BOX(title_tag_vbox), title_desc, FALSE, FALSE, 0);
-
- gtk_notebook_append_page(GTK_NOTEBOOK(notebook), title_frame, gtk_label_new(_("Title")));
-
- /* Output config.. */
-
- output_vbox = gtk_vbox_new(FALSE, 10);
- gtk_container_border_width(GTK_CONTAINER(output_vbox), 5);
-
- /* replaygain */
-
- replaygain_frame = gtk_frame_new(_("ReplayGain"));
- gtk_container_border_width(GTK_CONTAINER(replaygain_frame), 5);
- gtk_box_pack_start(GTK_BOX(output_vbox), replaygain_frame, TRUE, TRUE, 0);
-
- replaygain_vbox = gtk_vbox_new(FALSE, 10);
- gtk_container_border_width(GTK_CONTAINER(replaygain_vbox), 5);
- gtk_container_add(GTK_CONTAINER(replaygain_frame), replaygain_vbox);
-
- replaygain_enable = gtk_check_button_new_with_label(_("Enable ReplayGain processing"));
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(replaygain_enable), flac_cfg.output.replaygain.enable);
- gtk_signal_connect(GTK_OBJECT(replaygain_enable), "clicked", replaygain_enable_cb, NULL);
- gtk_box_pack_start(GTK_BOX(replaygain_vbox), replaygain_enable, FALSE, FALSE, 0);
-
- replaygain_album_mode = gtk_check_button_new_with_label(_("Album mode"));
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(replaygain_album_mode), flac_cfg.output.replaygain.album_mode);
- gtk_signal_connect(GTK_OBJECT(replaygain_album_mode), "clicked", replaygain_album_mode_cb, NULL);
- gtk_box_pack_start(GTK_BOX(replaygain_vbox), replaygain_album_mode, FALSE, FALSE, 0);
-
- hbox = gtk_hbox_new(FALSE,3);
- gtk_container_add(GTK_CONTAINER(replaygain_vbox),hbox);
- label = gtk_label_new(_("Preamp:"));
- gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);
- replaygain_preamp = gtk_adjustment_new(flac_cfg.output.replaygain.preamp, -24.0, +24.0, 1.0, 6.0, 0.0);
- gtk_signal_connect(GTK_OBJECT(replaygain_preamp), "value-changed", replaygain_preamp_cb, NULL);
- replaygain_preamp_hscale = gtk_hscale_new(GTK_ADJUSTMENT(replaygain_preamp));
- gtk_scale_set_draw_value(GTK_SCALE(replaygain_preamp_hscale), FALSE);
- gtk_box_pack_start(GTK_BOX(hbox),replaygain_preamp_hscale,TRUE,TRUE,0);
- replaygain_preamp_label = gtk_label_new(_("0 dB"));
- gtk_box_pack_start(GTK_BOX(hbox),replaygain_preamp_label,FALSE,FALSE,0);
- gtk_adjustment_value_changed(GTK_ADJUSTMENT(replaygain_preamp));
-
- replaygain_hard_limit = gtk_check_button_new_with_label(_("6dB hard limiting"));
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(replaygain_hard_limit), flac_cfg.output.replaygain.hard_limit);
- gtk_signal_connect(GTK_OBJECT(replaygain_hard_limit), "clicked", replaygain_hard_limit_cb, NULL);
- gtk_box_pack_start(GTK_BOX(replaygain_vbox), replaygain_hard_limit, FALSE, FALSE, 0);
-
- replaygain_enable_cb(replaygain_enable, NULL);
-
- /* resolution */
-
- resolution_frame = gtk_frame_new(_("Resolution"));
- gtk_container_border_width(GTK_CONTAINER(resolution_frame), 5);
- gtk_box_pack_start(GTK_BOX(output_vbox), resolution_frame, TRUE, TRUE, 0);
-
- resolution_hbox = gtk_hbox_new(FALSE, 10);
- gtk_container_border_width(GTK_CONTAINER(resolution_hbox), 5);
- gtk_container_add(GTK_CONTAINER(resolution_frame), resolution_hbox);
-
- resolution_normal_frame = gtk_frame_new(_("Without ReplayGain"));
- gtk_container_border_width(GTK_CONTAINER(resolution_normal_frame), 5);
- gtk_box_pack_start(GTK_BOX(resolution_hbox), resolution_normal_frame, TRUE, TRUE, 0);
-
- resolution_normal_vbox = gtk_vbox_new(FALSE, 10);
- gtk_container_border_width(GTK_CONTAINER(resolution_normal_vbox), 5);
- gtk_container_add(GTK_CONTAINER(resolution_normal_frame), resolution_normal_vbox);
-
- resolution_normal_dither_24_to_16 = gtk_check_button_new_with_label(_("Dither 24bps to 16bps"));
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(resolution_normal_dither_24_to_16), flac_cfg.output.resolution.normal.dither_24_to_16);
- gtk_signal_connect(GTK_OBJECT(resolution_normal_dither_24_to_16), "clicked", resolution_normal_dither_24_to_16_cb, NULL);
- gtk_box_pack_start(GTK_BOX(resolution_normal_vbox), resolution_normal_dither_24_to_16, FALSE, FALSE, 0);
-
- resolution_replaygain_frame = gtk_frame_new(_("With ReplayGain"));
- gtk_container_border_width(GTK_CONTAINER(resolution_replaygain_frame), 5);
- gtk_box_pack_start(GTK_BOX(resolution_hbox), resolution_replaygain_frame, TRUE, TRUE, 0);
-
- resolution_replaygain_vbox = gtk_vbox_new(FALSE, 10);
- gtk_container_border_width(GTK_CONTAINER(resolution_replaygain_vbox), 5);
- gtk_container_add(GTK_CONTAINER(resolution_replaygain_frame), resolution_replaygain_vbox);
-
- resolution_replaygain_dither = gtk_check_button_new_with_label(_("Enable dithering"));
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(resolution_replaygain_dither), flac_cfg.output.resolution.replaygain.dither);
- gtk_signal_connect(GTK_OBJECT(resolution_replaygain_dither), "clicked", resolution_replaygain_dither_cb, NULL);
- gtk_box_pack_start(GTK_BOX(resolution_replaygain_vbox), resolution_replaygain_dither, FALSE, FALSE, 0);
-
- hbox = gtk_hbox_new(FALSE, 10);
- gtk_container_border_width(GTK_CONTAINER(hbox), 5);
- gtk_box_pack_start(GTK_BOX(resolution_replaygain_vbox), hbox, TRUE, TRUE, 0);
-
- resolution_replaygain_noise_shaping_frame = gtk_frame_new(_("Noise shaping"));
- gtk_container_border_width(GTK_CONTAINER(resolution_replaygain_noise_shaping_frame), 5);
- gtk_box_pack_start(GTK_BOX(hbox), resolution_replaygain_noise_shaping_frame, TRUE, TRUE, 0);
-
- resolution_replaygain_noise_shaping_vbox = gtk_vbutton_box_new();
- gtk_container_border_width(GTK_CONTAINER(resolution_replaygain_noise_shaping_vbox), 5);
- gtk_container_add(GTK_CONTAINER(resolution_replaygain_noise_shaping_frame), resolution_replaygain_noise_shaping_vbox);
-
- resolution_replaygain_noise_shaping_radio_none = gtk_radio_button_new_with_label(NULL, _("none"));
- if(flac_cfg.output.resolution.replaygain.noise_shaping == 0)
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(resolution_replaygain_noise_shaping_radio_none), TRUE);
- gtk_signal_connect(GTK_OBJECT(resolution_replaygain_noise_shaping_radio_none), "clicked", resolution_replaygain_noise_shaping_cb, NULL);
- gtk_container_add(GTK_CONTAINER(resolution_replaygain_noise_shaping_vbox), resolution_replaygain_noise_shaping_radio_none);
-
- resolution_replaygain_noise_shaping_radio_low = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(resolution_replaygain_noise_shaping_radio_none), _("low"));
- if(flac_cfg.output.resolution.replaygain.noise_shaping == 1)
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(resolution_replaygain_noise_shaping_radio_low), TRUE);
- gtk_signal_connect(GTK_OBJECT(resolution_replaygain_noise_shaping_radio_low), "clicked", resolution_replaygain_noise_shaping_cb, NULL);
- gtk_container_add(GTK_CONTAINER(resolution_replaygain_noise_shaping_vbox), resolution_replaygain_noise_shaping_radio_low);
-
- resolution_replaygain_noise_shaping_radio_medium = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(resolution_replaygain_noise_shaping_radio_none), _("medium"));
- if(flac_cfg.output.resolution.replaygain.noise_shaping == 2)
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(resolution_replaygain_noise_shaping_radio_medium), TRUE);
- gtk_signal_connect(GTK_OBJECT(resolution_replaygain_noise_shaping_radio_medium), "clicked", resolution_replaygain_noise_shaping_cb, NULL);
- gtk_container_add(GTK_CONTAINER(resolution_replaygain_noise_shaping_vbox), resolution_replaygain_noise_shaping_radio_medium);
-
- resolution_replaygain_noise_shaping_radio_high = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(resolution_replaygain_noise_shaping_radio_none), _("high"));
- if(flac_cfg.output.resolution.replaygain.noise_shaping == 3)
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(resolution_replaygain_noise_shaping_radio_high), TRUE);
- gtk_signal_connect(GTK_OBJECT(resolution_replaygain_noise_shaping_radio_high), "clicked", resolution_replaygain_noise_shaping_cb, NULL);
- gtk_container_add(GTK_CONTAINER(resolution_replaygain_noise_shaping_vbox), resolution_replaygain_noise_shaping_radio_high);
-
- resolution_replaygain_bps_out_frame = gtk_frame_new(_("Dither to"));
- gtk_container_border_width(GTK_CONTAINER(resolution_replaygain_bps_out_frame), 5);
- gtk_box_pack_start(GTK_BOX(hbox), resolution_replaygain_bps_out_frame, FALSE, FALSE, 0);
-
- resolution_replaygain_bps_out_vbox = gtk_vbutton_box_new();
- gtk_container_border_width(GTK_CONTAINER(resolution_replaygain_bps_out_vbox), 0);
- gtk_container_add(GTK_CONTAINER(resolution_replaygain_bps_out_frame), resolution_replaygain_bps_out_vbox);
-
- resolution_replaygain_bps_out_radio_16bps = gtk_radio_button_new_with_label(NULL, _("16 bps"));
- if(flac_cfg.output.resolution.replaygain.bps_out == 16)
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(resolution_replaygain_bps_out_radio_16bps), TRUE);
- gtk_signal_connect(GTK_OBJECT(resolution_replaygain_bps_out_radio_16bps), "clicked", resolution_replaygain_bps_out_cb, NULL);
- gtk_container_add(GTK_CONTAINER(resolution_replaygain_bps_out_vbox), resolution_replaygain_bps_out_radio_16bps);
-
- resolution_replaygain_bps_out_radio_24bps = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(resolution_replaygain_bps_out_radio_16bps), _("24 bps"));
- if(flac_cfg.output.resolution.replaygain.bps_out == 24)
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(resolution_replaygain_bps_out_radio_24bps), TRUE);
- gtk_signal_connect(GTK_OBJECT(resolution_replaygain_bps_out_radio_24bps), "clicked", resolution_replaygain_bps_out_cb, NULL);
- gtk_container_add(GTK_CONTAINER(resolution_replaygain_bps_out_vbox), resolution_replaygain_bps_out_radio_24bps);
-
- resolution_replaygain_dither_cb(resolution_replaygain_dither, NULL);
-
- gtk_notebook_append_page(GTK_NOTEBOOK(notebook), output_vbox, gtk_label_new(_("Output")));
-
- /* Streaming */
-
- streaming_vbox = gtk_vbox_new(FALSE, 0);
-
- streaming_buf_frame = gtk_frame_new(_("Buffering:"));
- gtk_container_set_border_width(GTK_CONTAINER(streaming_buf_frame), 5);
- gtk_box_pack_start(GTK_BOX(streaming_vbox), streaming_buf_frame, FALSE, FALSE, 0);
-
- streaming_buf_hbox = gtk_hbox_new(TRUE, 5);
- gtk_container_set_border_width(GTK_CONTAINER(streaming_buf_hbox), 5);
- gtk_container_add(GTK_CONTAINER(streaming_buf_frame), streaming_buf_hbox);
-
- streaming_size_box = gtk_hbox_new(FALSE, 5);
- /*gtk_table_attach_defaults(GTK_TABLE(streaming_buf_table),streaming_size_box,0,1,0,1); */
- gtk_box_pack_start(GTK_BOX(streaming_buf_hbox), streaming_size_box, TRUE, TRUE, 0);
- streaming_size_label = gtk_label_new(_("Buffer size (kb):"));
- gtk_box_pack_start(GTK_BOX(streaming_size_box), streaming_size_label, FALSE, FALSE, 0);
- streaming_size_adj = gtk_adjustment_new(flac_cfg.stream.http_buffer_size, 4, 4096, 4, 4, 4);
- streaming_size_spin = gtk_spin_button_new(GTK_ADJUSTMENT(streaming_size_adj), 8, 0);
- gtk_widget_set_usize(streaming_size_spin, 60, -1);
- gtk_box_pack_start(GTK_BOX(streaming_size_box), streaming_size_spin, FALSE, FALSE, 0);
-
- streaming_pre_box = gtk_hbox_new(FALSE, 5);
- /*gtk_table_attach_defaults(GTK_TABLE(streaming_buf_table),streaming_pre_box,1,2,0,1); */
- gtk_box_pack_start(GTK_BOX(streaming_buf_hbox), streaming_pre_box, TRUE, TRUE, 0);
- streaming_pre_label = gtk_label_new(_("Pre-buffer (percent):"));
- gtk_box_pack_start(GTK_BOX(streaming_pre_box), streaming_pre_label, FALSE, FALSE, 0);
- streaming_pre_adj = gtk_adjustment_new(flac_cfg.stream.http_prebuffer, 0, 90, 1, 1, 1);
- streaming_pre_spin = gtk_spin_button_new(GTK_ADJUSTMENT(streaming_pre_adj), 1, 0);
- gtk_widget_set_usize(streaming_pre_spin, 60, -1);
- gtk_box_pack_start(GTK_BOX(streaming_pre_box), streaming_pre_spin, FALSE, FALSE, 0);
-
- /*
- * Proxy config.
- */
- streaming_proxy_frame = gtk_frame_new(_("Proxy:"));
- gtk_container_set_border_width(GTK_CONTAINER(streaming_proxy_frame), 5);
- gtk_box_pack_start(GTK_BOX(streaming_vbox), streaming_proxy_frame, FALSE, FALSE, 0);
-
- streaming_proxy_vbox = gtk_vbox_new(FALSE, 5);
- gtk_container_set_border_width(GTK_CONTAINER(streaming_proxy_vbox), 5);
- gtk_container_add(GTK_CONTAINER(streaming_proxy_frame), streaming_proxy_vbox);
-
- streaming_proxy_use = gtk_check_button_new_with_label(_("Use proxy"));
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(streaming_proxy_use), flac_cfg.stream.use_proxy);
- gtk_signal_connect(GTK_OBJECT(streaming_proxy_use), "clicked", GTK_SIGNAL_FUNC(proxy_use_cb), NULL);
- gtk_box_pack_start(GTK_BOX(streaming_proxy_vbox), streaming_proxy_use, FALSE, FALSE, 0);
-
- streaming_proxy_hbox = gtk_hbox_new(FALSE, 5);
- gtk_widget_set_sensitive(streaming_proxy_hbox, flac_cfg.stream.use_proxy);
- gtk_box_pack_start(GTK_BOX(streaming_proxy_vbox), streaming_proxy_hbox, FALSE, FALSE, 0);
-
- streaming_proxy_host_label = gtk_label_new(_("Host:"));
- gtk_box_pack_start(GTK_BOX(streaming_proxy_hbox), streaming_proxy_host_label, FALSE, FALSE, 0);
-
- streaming_proxy_host_entry = gtk_entry_new();
- gtk_entry_set_text(GTK_ENTRY(streaming_proxy_host_entry), flac_cfg.stream.proxy_host? flac_cfg.stream.proxy_host : "");
- gtk_box_pack_start(GTK_BOX(streaming_proxy_hbox), streaming_proxy_host_entry, TRUE, TRUE, 0);
-
- streaming_proxy_port_label = gtk_label_new(_("Port:"));
- gtk_box_pack_start(GTK_BOX(streaming_proxy_hbox), streaming_proxy_port_label, FALSE, FALSE, 0);
-
- streaming_proxy_port_entry = gtk_entry_new();
- gtk_widget_set_usize(streaming_proxy_port_entry, 50, -1);
- temp = g_strdup_printf("%d", flac_cfg.stream.proxy_port);
- gtk_entry_set_text(GTK_ENTRY(streaming_proxy_port_entry), temp);
- g_free(temp);
- gtk_box_pack_start(GTK_BOX(streaming_proxy_hbox), streaming_proxy_port_entry, FALSE, FALSE, 0);
-
- streaming_proxy_auth_use = gtk_check_button_new_with_label(_("Use authentication"));
- gtk_widget_set_sensitive(streaming_proxy_auth_use, flac_cfg.stream.use_proxy);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(streaming_proxy_auth_use), flac_cfg.stream.proxy_use_auth);
- gtk_signal_connect(GTK_OBJECT(streaming_proxy_auth_use), "clicked", GTK_SIGNAL_FUNC(proxy_auth_use_cb), NULL);
- gtk_box_pack_start(GTK_BOX(streaming_proxy_vbox), streaming_proxy_auth_use, FALSE, FALSE, 0);
-
- streaming_proxy_auth_hbox = gtk_hbox_new(FALSE, 5);
- gtk_widget_set_sensitive(streaming_proxy_auth_hbox, flac_cfg.stream.use_proxy && flac_cfg.stream.proxy_use_auth);
- gtk_box_pack_start(GTK_BOX(streaming_proxy_vbox), streaming_proxy_auth_hbox, FALSE, FALSE, 0);
-
- streaming_proxy_auth_user_label = gtk_label_new(_("Username:"));
- gtk_box_pack_start(GTK_BOX(streaming_proxy_auth_hbox), streaming_proxy_auth_user_label, FALSE, FALSE, 0);
-
- streaming_proxy_auth_user_entry = gtk_entry_new();
- if(flac_cfg.stream.proxy_user)
- gtk_entry_set_text(GTK_ENTRY(streaming_proxy_auth_user_entry), flac_cfg.stream.proxy_user);
- gtk_box_pack_start(GTK_BOX(streaming_proxy_auth_hbox), streaming_proxy_auth_user_entry, TRUE, TRUE, 0);
-
- streaming_proxy_auth_pass_label = gtk_label_new(_("Password:"));
- gtk_box_pack_start(GTK_BOX(streaming_proxy_auth_hbox), streaming_proxy_auth_pass_label, FALSE, FALSE, 0);
-
- streaming_proxy_auth_pass_entry = gtk_entry_new();
- if(flac_cfg.stream.proxy_pass)
- gtk_entry_set_text(GTK_ENTRY(streaming_proxy_auth_pass_entry), flac_cfg.stream.proxy_pass);
- gtk_entry_set_visibility(GTK_ENTRY(streaming_proxy_auth_pass_entry), FALSE);
- gtk_box_pack_start(GTK_BOX(streaming_proxy_auth_hbox), streaming_proxy_auth_pass_entry, TRUE, TRUE, 0);
-
-
- /*
- * Save to disk config.
- */
- streaming_save_frame = gtk_frame_new(_("Save stream to disk:"));
- gtk_container_set_border_width(GTK_CONTAINER(streaming_save_frame), 5);
- gtk_box_pack_start(GTK_BOX(streaming_vbox), streaming_save_frame, FALSE, FALSE, 0);
-
- streaming_save_vbox = gtk_vbox_new(FALSE, 5);
- gtk_container_set_border_width(GTK_CONTAINER(streaming_save_vbox), 5);
- gtk_container_add(GTK_CONTAINER(streaming_save_frame), streaming_save_vbox);
-
- streaming_save_use = gtk_check_button_new_with_label(_("Save stream to disk"));
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(streaming_save_use), flac_cfg.stream.save_http_stream);
- gtk_signal_connect(GTK_OBJECT(streaming_save_use), "clicked", GTK_SIGNAL_FUNC(streaming_save_use_cb), NULL);
- gtk_box_pack_start(GTK_BOX(streaming_save_vbox), streaming_save_use, FALSE, FALSE, 0);
-
- streaming_save_hbox = gtk_hbox_new(FALSE, 5);
- gtk_widget_set_sensitive(streaming_save_hbox, flac_cfg.stream.save_http_stream);
- gtk_box_pack_start(GTK_BOX(streaming_save_vbox), streaming_save_hbox, FALSE, FALSE, 0);
-
- streaming_save_label = gtk_label_new(_("Path:"));
- gtk_box_pack_start(GTK_BOX(streaming_save_hbox), streaming_save_label, FALSE, FALSE, 0);
-
- streaming_save_entry = gtk_entry_new();
- gtk_entry_set_text(GTK_ENTRY(streaming_save_entry), flac_cfg.stream.save_http_path? flac_cfg.stream.save_http_path : "");
- gtk_box_pack_start(GTK_BOX(streaming_save_hbox), streaming_save_entry, TRUE, TRUE, 0);
-
- streaming_save_browse = gtk_button_new_with_label(_("Browse"));
- gtk_signal_connect(GTK_OBJECT(streaming_save_browse), "clicked", GTK_SIGNAL_FUNC(streaming_save_browse_cb), NULL);
- gtk_box_pack_start(GTK_BOX(streaming_save_hbox), streaming_save_browse, FALSE, FALSE, 0);
-
-#ifdef FLAC_ICECAST
- streaming_cast_frame = gtk_frame_new(_("SHOUT/Icecast:"));
- gtk_container_set_border_width(GTK_CONTAINER(streaming_cast_frame), 5);
- gtk_box_pack_start(GTK_BOX(streaming_vbox), streaming_cast_frame, FALSE, FALSE, 0);
-
- streaming_cast_vbox = gtk_vbox_new(5, FALSE);
- gtk_container_add(GTK_CONTAINER(streaming_cast_frame), streaming_cast_vbox);
-
- streaming_cast_title = gtk_check_button_new_with_label(_("Enable SHOUT/Icecast title streaming"));
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(streaming_cast_title), flac_cfg.stream.cast_title_streaming);
- gtk_box_pack_start(GTK_BOX(streaming_cast_vbox), streaming_cast_title, FALSE, FALSE, 0);
-
- streaming_udp_title = gtk_check_button_new_with_label(_("Enable Icecast Metadata UDP Channel"));
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(streaming_udp_title), flac_cfg.stream.use_udp_channel);
- gtk_box_pack_start(GTK_BOX(streaming_cast_vbox), streaming_udp_title, FALSE, FALSE, 0);
-#endif
-
- gtk_notebook_append_page(GTK_NOTEBOOK(notebook), streaming_vbox, gtk_label_new(_("Streaming")));
-
- /* Buttons */
-
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
- gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0);
-
- ok = gtk_button_new_with_label(_("Ok"));
- gtk_signal_connect(GTK_OBJECT(ok), "clicked", GTK_SIGNAL_FUNC(flac_configurewin_ok), NULL);
- GTK_WIDGET_SET_FLAGS(ok, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), ok, TRUE, TRUE, 0);
- gtk_widget_grab_default(ok);
-
- cancel = gtk_button_new_with_label(_("Cancel"));
- gtk_signal_connect_object(GTK_OBJECT(cancel), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT(flac_configurewin));
- GTK_WIDGET_SET_FLAGS(cancel, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), cancel, TRUE, TRUE, 0);
-
- gtk_widget_show_all(flac_configurewin);
-}
-
-void FLAC_XMMS__aboutbox(void)
-{
- static GtkWidget *about_window;
-
- if (about_window)
- gdk_window_raise(about_window->window);
-
- about_window = xmms_show_message(
- _("About Flac Plugin"),
- _("Flac Plugin by Josh Coalson\n"
- "contributions by\n"
- "......\n"
- "......\n"
- "and\n"
- "Daisuke Shimamura\n"
- "Visit http://flac.sourceforge.net/"),
- _("Ok"), FALSE, NULL, NULL);
- gtk_signal_connect(GTK_OBJECT(about_window), "destroy",
- GTK_SIGNAL_FUNC(gtk_widget_destroyed),
- &about_window);
-}
-
-/*
- * Get text of an Entry or a ComboBox
- */
-static gchar *gtk_entry_get_text_1 (GtkWidget *widget)
-{
- if (GTK_IS_COMBO(widget))
- {
- return gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(widget)->entry));
- }else if (GTK_IS_ENTRY(widget))
- {
- return gtk_entry_get_text(GTK_ENTRY(widget));
- }else
- {
- return NULL;
- }
-}
diff --git a/3rdparty/libflac/src/plugin_xmms/configure.h b/3rdparty/libflac/src/plugin_xmms/configure.h
deleted file mode 100644
index 88b2e37e194..00000000000
--- a/3rdparty/libflac/src/plugin_xmms/configure.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* libxmms-flac - XMMS FLAC input plugin
- * Copyright (C) 2002,2003,2004,2005,2006 Daisuke Shimamura
- *
- * Based on mpg123 plugin
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef FLAC__PLUGIN_XMMS__CONFIGURE_H
-#define FLAC__PLUGIN_XMMS__CONFIGURE_H
-
-#include <glib.h>
-
-typedef struct {
- struct {
- gboolean tag_override;
- gchar *tag_format;
- gboolean convert_char_set;
- gchar *user_char_set;
- } title;
-
- struct {
- gint http_buffer_size;
- gint http_prebuffer;
- gboolean use_proxy;
- gchar *proxy_host;
- gint proxy_port;
- gboolean proxy_use_auth;
- gchar *proxy_user;
- gchar *proxy_pass;
- gboolean save_http_stream;
- gchar *save_http_path;
- gboolean cast_title_streaming;
- gboolean use_udp_channel;
- } stream;
-
- struct {
- struct {
- gboolean enable;
- gboolean album_mode;
- gint preamp;
- gboolean hard_limit;
- } replaygain;
- struct {
- struct {
- gboolean dither_24_to_16;
- } normal;
- struct {
- gboolean dither;
- gint noise_shaping; /* value must be one of NoiseShaping enum, c.f. plugin_common/replaygain_synthesis.h */
- gint bps_out;
- } replaygain;
- } resolution;
- } output;
-} flac_config_t;
-
-extern flac_config_t flac_cfg;
-
-extern void FLAC_XMMS__configure(void);
-extern void FLAC_XMMS__aboutbox(void);
-
-#endif
-
-
-
diff --git a/3rdparty/libflac/src/plugin_xmms/fileinfo.c b/3rdparty/libflac/src/plugin_xmms/fileinfo.c
deleted file mode 100644
index 5589e1cba2b..00000000000
--- a/3rdparty/libflac/src/plugin_xmms/fileinfo.c
+++ /dev/null
@@ -1,496 +0,0 @@
-/* XMMS - Cross-platform multimedia player
- * Copyright (C) 1998-2000 Peter Alm, Mikael Alm, Olle Hallnas, Thomas Nilsson and 4Front Technologies
- * Copyright (C) 1999,2000 Håvard Kvålen
- * Copyright (C) 2002,2003,2004,2005,2006 Daisuke Shimamura
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h> /* for strlen() */
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <stdarg.h>
-#include <gtk/gtk.h>
-
-#include "FLAC/metadata.h"
-#include "charset.h"
-#include "configure.h"
-#include "plugin_common/replaygain.h"
-#include "plugin_common/tags.h"
-#include "locale_hack.h"
-
-static GtkWidget *window = NULL;
-static GList *genre_list = NULL;
-static GtkWidget *filename_entry, *tag_frame;
-static GtkWidget *title_entry, *artist_entry, *album_entry, *date_entry, *tracknum_entry, *comment_entry;
-static GtkWidget *replaygain_reference, *replaygain_track_gain, *replaygain_album_gain, *replaygain_track_peak, *replaygain_album_peak;
-static GtkWidget *genre_combo;
-static GtkWidget *flac_samplerate, *flac_channels, *flac_bits_per_sample, *flac_blocksize, *flac_filesize, *flac_samples, *flac_bitrate;
-
-static gchar *current_filename = NULL;
-static FLAC__StreamMetadata *tags_ = NULL;
-
-static const gchar *vorbis_genres[] =
-{
- N_("Blues"), N_("Classic Rock"), N_("Country"), N_("Dance"),
- N_("Disco"), N_("Funk"), N_("Grunge"), N_("Hip-Hop"),
- N_("Jazz"), N_("Metal"), N_("New Age"), N_("Oldies"),
- N_("Other"), N_("Pop"), N_("R&B"), N_("Rap"), N_("Reggae"),
- N_("Rock"), N_("Techno"), N_("Industrial"), N_("Alternative"),
- N_("Ska"), N_("Death Metal"), N_("Pranks"), N_("Soundtrack"),
- N_("Euro-Techno"), N_("Ambient"), N_("Trip-Hop"), N_("Vocal"),
- N_("Jazz+Funk"), N_("Fusion"), N_("Trance"), N_("Classical"),
- N_("Instrumental"), N_("Acid"), N_("House"), N_("Game"),
- N_("Sound Clip"), N_("Gospel"), N_("Noise"), N_("Alt"),
- N_("Bass"), N_("Soul"), N_("Punk"), N_("Space"),
- N_("Meditative"), N_("Instrumental Pop"),
- N_("Instrumental Rock"), N_("Ethnic"), N_("Gothic"),
- N_("Darkwave"), N_("Techno-Industrial"), N_("Electronic"),
- N_("Pop-Folk"), N_("Eurodance"), N_("Dream"),
- N_("Southern Rock"), N_("Comedy"), N_("Cult"),
- N_("Gangsta Rap"), N_("Top 40"), N_("Christian Rap"),
- N_("Pop/Funk"), N_("Jungle"), N_("Native American"),
- N_("Cabaret"), N_("New Wave"), N_("Psychedelic"), N_("Rave"),
- N_("Showtunes"), N_("Trailer"), N_("Lo-Fi"), N_("Tribal"),
- N_("Acid Punk"), N_("Acid Jazz"), N_("Polka"), N_("Retro"),
- N_("Musical"), N_("Rock & Roll"), N_("Hard Rock"), N_("Folk"),
- N_("Folk/Rock"), N_("National Folk"), N_("Swing"),
- N_("Fast-Fusion"), N_("Bebob"), N_("Latin"), N_("Revival"),
- N_("Celtic"), N_("Bluegrass"), N_("Avantgarde"),
- N_("Gothic Rock"), N_("Progressive Rock"),
- N_("Psychedelic Rock"), N_("Symphonic Rock"), N_("Slow Rock"),
- N_("Big Band"), N_("Chorus"), N_("Easy Listening"),
- N_("Acoustic"), N_("Humour"), N_("Speech"), N_("Chanson"),
- N_("Opera"), N_("Chamber Music"), N_("Sonata"), N_("Symphony"),
- N_("Booty Bass"), N_("Primus"), N_("Porn Groove"),
- N_("Satire"), N_("Slow Jam"), N_("Club"), N_("Tango"),
- N_("Samba"), N_("Folklore"), N_("Ballad"), N_("Power Ballad"),
- N_("Rhythmic Soul"), N_("Freestyle"), N_("Duet"),
- N_("Punk Rock"), N_("Drum Solo"), N_("A Cappella"),
- N_("Euro-House"), N_("Dance Hall"), N_("Goa"),
- N_("Drum & Bass"), N_("Club-House"), N_("Hardcore"),
- N_("Terror"), N_("Indie"), N_("BritPop"), N_("Negerpunk"),
- N_("Polsk Punk"), N_("Beat"), N_("Christian Gangsta Rap"),
- N_("Heavy Metal"), N_("Black Metal"), N_("Crossover"),
- N_("Contemporary Christian"), N_("Christian Rock"),
- N_("Merengue"), N_("Salsa"), N_("Thrash Metal"),
- N_("Anime"), N_("JPop"), N_("Synthpop")
-};
-
-static void label_set_text(GtkWidget * label, char *str, ...)
-{
- va_list args;
- gchar *tempstr;
-
- va_start(args, str);
- tempstr = g_strdup_vprintf(str, args);
- va_end(args);
-
- gtk_label_set_text(GTK_LABEL(label), tempstr);
- g_free(tempstr);
-}
-
-static void set_entry_tag(GtkEntry * entry, const char * utf8)
-{
- if(utf8) {
- if(flac_cfg.title.convert_char_set) {
- char *text = convert_from_utf8_to_user(utf8);
- gtk_entry_set_text(entry, text);
- free(text);
- }
- else
- gtk_entry_set_text(entry, utf8);
- }
- else
- gtk_entry_set_text(entry, "");
-}
-
-static void get_entry_tag(GtkEntry * entry, const char *name)
-{
- gchar *text;
- char *utf8;
-
- text = gtk_entry_get_text(entry);
- if (!text || strlen(text) == 0)
- return;
- if(flac_cfg.title.convert_char_set)
- utf8 = convert_from_user_to_utf8(text);
- else
- utf8 = text;
-
- FLAC_plugin__tags_add_tag_utf8(tags_, name, utf8, /*separator=*/0);
-
- if(flac_cfg.title.convert_char_set)
- free(utf8);
-}
-
-static void show_tag(void)
-{
- set_entry_tag(GTK_ENTRY(title_entry) , FLAC_plugin__tags_get_tag_utf8(tags_, "TITLE"));
- set_entry_tag(GTK_ENTRY(artist_entry) , FLAC_plugin__tags_get_tag_utf8(tags_, "ARTIST"));
- set_entry_tag(GTK_ENTRY(album_entry) , FLAC_plugin__tags_get_tag_utf8(tags_, "ALBUM"));
- set_entry_tag(GTK_ENTRY(date_entry) , FLAC_plugin__tags_get_tag_utf8(tags_, "DATE"));
- set_entry_tag(GTK_ENTRY(tracknum_entry) , FLAC_plugin__tags_get_tag_utf8(tags_, "TRACKNUMBER"));
- set_entry_tag(GTK_ENTRY(comment_entry) , FLAC_plugin__tags_get_tag_utf8(tags_, "DESCRIPTION"));
- set_entry_tag(GTK_ENTRY(GTK_COMBO(genre_combo)->entry), FLAC_plugin__tags_get_tag_utf8(tags_, "GENRE"));
-}
-
-static void save_tag(GtkWidget * w, gpointer data)
-{
- (void)w;
- (void)data;
-
- FLAC_plugin__tags_delete_tag(tags_, "TITLE");
- FLAC_plugin__tags_delete_tag(tags_, "ARTIST");
- FLAC_plugin__tags_delete_tag(tags_, "ALBUM");
- FLAC_plugin__tags_delete_tag(tags_, "DATE");
- FLAC_plugin__tags_delete_tag(tags_, "TRACKNUMBER");
- FLAC_plugin__tags_delete_tag(tags_, "DESCRIPTION");
- FLAC_plugin__tags_delete_tag(tags_, "GENRE");
-
- get_entry_tag(GTK_ENTRY(title_entry) , "TITLE");
- get_entry_tag(GTK_ENTRY(artist_entry) , "ARTIST");
- get_entry_tag(GTK_ENTRY(album_entry) , "ALBUM");
- get_entry_tag(GTK_ENTRY(date_entry) , "DATE");
- get_entry_tag(GTK_ENTRY(tracknum_entry) , "TRACKNUMBER");
- get_entry_tag(GTK_ENTRY(comment_entry) , "DESCRIPTION");
- get_entry_tag(GTK_ENTRY(GTK_COMBO(genre_combo)->entry), "GENRE");
-
- FLAC_plugin__tags_set(current_filename, tags_);
- gtk_widget_destroy(window);
-}
-
-static void remove_tag(GtkWidget * w, gpointer data)
-{
- (void)w;
- (void)data;
-
- FLAC_plugin__tags_delete_tag(tags_, "TITLE");
- FLAC_plugin__tags_delete_tag(tags_, "ARTIST");
- FLAC_plugin__tags_delete_tag(tags_, "ALBUM");
- FLAC_plugin__tags_delete_tag(tags_, "DATE");
- FLAC_plugin__tags_delete_tag(tags_, "TRACKNUMBER");
- FLAC_plugin__tags_delete_tag(tags_, "DESCRIPTION");
- FLAC_plugin__tags_delete_tag(tags_, "GENRE");
-
- FLAC_plugin__tags_set(current_filename, tags_);
- gtk_widget_destroy(window);
-}
-
-static void show_file_info(void)
-{
- FLAC__StreamMetadata streaminfo;
- struct stat _stat;
-
- gtk_label_set_text(GTK_LABEL(flac_samplerate), "");
- gtk_label_set_text(GTK_LABEL(flac_channels), "");
- gtk_label_set_text(GTK_LABEL(flac_bits_per_sample), "");
- gtk_label_set_text(GTK_LABEL(flac_blocksize), "");
- gtk_label_set_text(GTK_LABEL(flac_filesize), "");
- gtk_label_set_text(GTK_LABEL(flac_samples), "");
- gtk_label_set_text(GTK_LABEL(flac_bitrate), "");
-
- if(!FLAC__metadata_get_streaminfo(current_filename, &streaminfo)) {
- return;
- }
-
- label_set_text(flac_samplerate, _("Samplerate: %d Hz"), streaminfo.data.stream_info.sample_rate);
- label_set_text(flac_channels, _("Channels: %d"), streaminfo.data.stream_info.channels);
- label_set_text(flac_bits_per_sample, _("Bits/Sample: %d"), streaminfo.data.stream_info.bits_per_sample);
- if(streaminfo.data.stream_info.min_blocksize == streaminfo.data.stream_info.max_blocksize)
- label_set_text(flac_blocksize, _("Blocksize: %d"), streaminfo.data.stream_info.min_blocksize);
- else
- label_set_text(flac_blocksize, _("Blocksize: variable\n min/max: %d/%d"), streaminfo.data.stream_info.min_blocksize, streaminfo.data.stream_info.max_blocksize);
-
- if (streaminfo.data.stream_info.total_samples)
- label_set_text(flac_samples, _("Samples: %llu\nLength: %d:%.2d"),
- streaminfo.data.stream_info.total_samples,
- (int)(streaminfo.data.stream_info.total_samples / streaminfo.data.stream_info.sample_rate / 60),
- (int)(streaminfo.data.stream_info.total_samples / streaminfo.data.stream_info.sample_rate % 60));
-
- if(!stat(current_filename, &_stat) && S_ISREG(_stat.st_mode)) {
-#if _FILE_OFFSET_BITS == 64
- label_set_text(flac_filesize, _("Filesize: %lld B"), _stat.st_size);
-#else
- label_set_text(flac_filesize, _("Filesize: %ld B"), _stat.st_size);
-#endif
- if (streaminfo.data.stream_info.total_samples)
- label_set_text(flac_bitrate, _("Avg. bitrate: %.1f kb/s\nCompression ratio: %.1f%%"),
- 8.0 * (float)(_stat.st_size) / (1000.0 * (float)streaminfo.data.stream_info.total_samples / (float)streaminfo.data.stream_info.sample_rate),
- 100.0 * (float)_stat.st_size / (float)(streaminfo.data.stream_info.bits_per_sample / 8 * streaminfo.data.stream_info.channels * streaminfo.data.stream_info.total_samples));
- }
-}
-
-static void show_replaygain(void)
-{
- /* known limitation: If only one of gain and peak is set, neither will be shown. This is true for
- * both track and album replaygain tags. Written so it will be easy to fix, with some trouble. */
-
- gtk_label_set_text(GTK_LABEL(replaygain_reference), "");
- gtk_label_set_text(GTK_LABEL(replaygain_track_gain), "");
- gtk_label_set_text(GTK_LABEL(replaygain_album_gain), "");
- gtk_label_set_text(GTK_LABEL(replaygain_track_peak), "");
- gtk_label_set_text(GTK_LABEL(replaygain_album_peak), "");
-
- double reference, track_gain, track_peak, album_gain, album_peak;
- FLAC__bool reference_set, track_gain_set, track_peak_set, album_gain_set, album_peak_set;
-
- if(!FLAC_plugin__replaygain_get_from_file(
- current_filename,
- &reference, &reference_set,
- &track_gain, &track_gain_set,
- &album_gain, &album_gain_set,
- &track_peak, &track_peak_set,
- &album_peak, &album_peak_set
- ))
- return;
-
- if(reference_set)
- label_set_text(replaygain_reference, _("ReplayGain Reference Loudness: %2.1f dB"), reference);
- if(track_gain_set)
- label_set_text(replaygain_track_gain, _("ReplayGain Track Gain: %+2.2f dB"), track_gain);
- if(album_gain_set)
- label_set_text(replaygain_album_gain, _("ReplayGain Album Gain: %+2.2f dB"), album_gain);
- if(track_peak_set)
- label_set_text(replaygain_track_peak, _("ReplayGain Track Peak: %1.8f"), track_peak);
- if(album_peak_set)
- label_set_text(replaygain_album_peak, _("ReplayGain Album Peak: %1.8f"), album_peak);
-}
-
-void FLAC_XMMS__file_info_box(char *filename)
-{
- unsigned i;
- gchar *title;
-
- if (!window)
- {
- GtkWidget *vbox, *hbox, *left_vbox, *table;
- GtkWidget *flac_frame, *flac_box;
- GtkWidget *label, *filename_hbox;
- GtkWidget *bbox, *save, *remove, *cancel;
-
- window = gtk_window_new(GTK_WINDOW_DIALOG);
- gtk_window_set_policy(GTK_WINDOW(window), FALSE, FALSE, FALSE);
- gtk_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(gtk_widget_destroyed), &window);
- gtk_container_set_border_width(GTK_CONTAINER(window), 10);
-
- vbox = gtk_vbox_new(FALSE, 10);
- gtk_container_add(GTK_CONTAINER(window), vbox);
-
- filename_hbox = gtk_hbox_new(FALSE, 5);
- gtk_box_pack_start(GTK_BOX(vbox), filename_hbox, FALSE, TRUE, 0);
-
- label = gtk_label_new(_("Filename:"));
- gtk_box_pack_start(GTK_BOX(filename_hbox), label, FALSE, TRUE, 0);
- filename_entry = gtk_entry_new();
- gtk_editable_set_editable(GTK_EDITABLE(filename_entry), FALSE);
- gtk_box_pack_start(GTK_BOX(filename_hbox), filename_entry, TRUE, TRUE, 0);
-
- hbox = gtk_hbox_new(FALSE, 10);
- gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
-
- left_vbox = gtk_vbox_new(FALSE, 10);
- gtk_box_pack_start(GTK_BOX(hbox), left_vbox, FALSE, FALSE, 0);
-
- tag_frame = gtk_frame_new(_("Tag:"));
- gtk_box_pack_start(GTK_BOX(left_vbox), tag_frame, FALSE, FALSE, 0);
-
- table = gtk_table_new(5, 5, FALSE);
- gtk_container_set_border_width(GTK_CONTAINER(table), 5);
- gtk_container_add(GTK_CONTAINER(tag_frame), table);
-
- label = gtk_label_new(_("Title:"));
- gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5);
- gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL, GTK_FILL, 5, 5);
-
- title_entry = gtk_entry_new();
- gtk_table_attach(GTK_TABLE(table), title_entry, 1, 4, 0, 1, GTK_FILL | GTK_EXPAND | GTK_SHRINK, GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);
-
- label = gtk_label_new(_("Artist:"));
- gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5);
- gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 5, 5);
-
- artist_entry = gtk_entry_new();
- gtk_table_attach(GTK_TABLE(table), artist_entry, 1, 4, 1, 2, GTK_FILL | GTK_EXPAND | GTK_SHRINK, GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);
-
- label = gtk_label_new(_("Album:"));
- gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5);
- gtk_table_attach(GTK_TABLE(table), label, 0, 1, 2, 3, GTK_FILL, GTK_FILL, 5, 5);
-
- album_entry = gtk_entry_new();
- gtk_table_attach(GTK_TABLE(table), album_entry, 1, 4, 2, 3, GTK_FILL | GTK_EXPAND | GTK_SHRINK, GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);
-
- label = gtk_label_new(_("Comment:"));
- gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5);
- gtk_table_attach(GTK_TABLE(table), label, 0, 1, 3, 4, GTK_FILL, GTK_FILL, 5, 5);
-
- comment_entry = gtk_entry_new();
- gtk_table_attach(GTK_TABLE(table), comment_entry, 1, 4, 3, 4, GTK_FILL | GTK_EXPAND | GTK_SHRINK, GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);
-
- label = gtk_label_new(_("Date:"));
- gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5);
- gtk_table_attach(GTK_TABLE(table), label, 0, 1, 4, 5, GTK_FILL, GTK_FILL, 5, 5);
-
- date_entry = gtk_entry_new();
- gtk_widget_set_usize(date_entry, 40, -1);
- gtk_table_attach(GTK_TABLE(table), date_entry, 1, 2, 4, 5, GTK_FILL | GTK_EXPAND | GTK_SHRINK, GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);
-
- label = gtk_label_new(_("Track number:"));
- gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5);
- gtk_table_attach(GTK_TABLE(table), label, 2, 3, 4, 5, GTK_FILL, GTK_FILL, 5, 5);
-
- tracknum_entry = gtk_entry_new();
- gtk_widget_set_usize(tracknum_entry, 40, -1);
- gtk_table_attach(GTK_TABLE(table), tracknum_entry, 3, 4, 4, 5, GTK_FILL | GTK_EXPAND | GTK_SHRINK, GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);
-
- label = gtk_label_new(_("Genre:"));
- gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5);
- gtk_table_attach(GTK_TABLE(table), label, 0, 1, 5, 6, GTK_FILL, GTK_FILL, 5, 5);
-
- genre_combo = gtk_combo_new();
- gtk_entry_set_editable(GTK_ENTRY(GTK_COMBO(genre_combo)->entry), TRUE);
-
- if (!genre_list)
- {
- for (i = 0; i < sizeof(vorbis_genres) / sizeof(*vorbis_genres) ; i++)
- genre_list = g_list_prepend(genre_list, (char *)vorbis_genres[i]);
- genre_list = g_list_prepend(genre_list, "");
- genre_list = g_list_sort(genre_list, (GCompareFunc)g_strcasecmp);
- }
- gtk_combo_set_popdown_strings(GTK_COMBO(genre_combo), genre_list);
-
- gtk_table_attach(GTK_TABLE(table), genre_combo, 1, 4, 5, 6, GTK_FILL | GTK_EXPAND | GTK_SHRINK, GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);
-
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
- gtk_box_pack_start(GTK_BOX(left_vbox), bbox, FALSE, FALSE, 0);
-
- save = gtk_button_new_with_label(_("Save"));
- gtk_signal_connect(GTK_OBJECT(save), "clicked", GTK_SIGNAL_FUNC(save_tag), NULL);
- GTK_WIDGET_SET_FLAGS(save, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), save, TRUE, TRUE, 0);
- gtk_widget_grab_default(save);
-
- remove= gtk_button_new_with_label(_("Remove Tag"));
- gtk_signal_connect(GTK_OBJECT(remove), "clicked", GTK_SIGNAL_FUNC(remove_tag), NULL);
- GTK_WIDGET_SET_FLAGS(remove, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), remove, TRUE, TRUE, 0);
-
- cancel = gtk_button_new_with_label(_("Cancel"));
- gtk_signal_connect_object(GTK_OBJECT(cancel), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT(window));
- GTK_WIDGET_SET_FLAGS(cancel, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), cancel, TRUE, TRUE, 0);
-
- flac_frame = gtk_frame_new(_("FLAC Info:"));
- gtk_box_pack_start(GTK_BOX(hbox), flac_frame, FALSE, FALSE, 0);
-
- flac_box = gtk_vbox_new(FALSE, 5);
- gtk_container_add(GTK_CONTAINER(flac_frame), flac_box);
- gtk_container_set_border_width(GTK_CONTAINER(flac_box), 10);
- gtk_box_set_spacing(GTK_BOX(flac_box), 0);
-
- flac_samplerate = gtk_label_new("");
- gtk_misc_set_alignment(GTK_MISC(flac_samplerate), 0, 0);
- gtk_label_set_justify(GTK_LABEL(flac_samplerate), GTK_JUSTIFY_LEFT);
- gtk_box_pack_start(GTK_BOX(flac_box), flac_samplerate, FALSE, FALSE, 0);
-
- flac_channels = gtk_label_new("");
- gtk_misc_set_alignment(GTK_MISC(flac_channels), 0, 0);
- gtk_label_set_justify(GTK_LABEL(flac_channels), GTK_JUSTIFY_LEFT);
- gtk_box_pack_start(GTK_BOX(flac_box), flac_channels, FALSE, FALSE, 0);
-
- flac_bits_per_sample = gtk_label_new("");
- gtk_misc_set_alignment(GTK_MISC(flac_bits_per_sample), 0, 0);
- gtk_label_set_justify(GTK_LABEL(flac_bits_per_sample), GTK_JUSTIFY_LEFT);
- gtk_box_pack_start(GTK_BOX(flac_box), flac_bits_per_sample, FALSE, FALSE, 0);
-
- flac_blocksize = gtk_label_new("");
- gtk_misc_set_alignment(GTK_MISC(flac_blocksize), 0, 0);
- gtk_label_set_justify(GTK_LABEL(flac_blocksize), GTK_JUSTIFY_LEFT);
- gtk_box_pack_start(GTK_BOX(flac_box), flac_blocksize, FALSE, FALSE, 0);
-
- flac_filesize = gtk_label_new("");
- gtk_misc_set_alignment(GTK_MISC(flac_filesize), 0, 0);
- gtk_label_set_justify(GTK_LABEL(flac_filesize), GTK_JUSTIFY_LEFT);
- gtk_box_pack_start(GTK_BOX(flac_box), flac_filesize, FALSE, FALSE, 0);
-
- flac_samples = gtk_label_new("");
- gtk_misc_set_alignment(GTK_MISC(flac_samples), 0, 0);
- gtk_label_set_justify(GTK_LABEL(flac_samples), GTK_JUSTIFY_LEFT);
- gtk_box_pack_start(GTK_BOX(flac_box), flac_samples, FALSE, FALSE, 0);
-
- flac_bitrate = gtk_label_new("");
- gtk_misc_set_alignment(GTK_MISC(flac_bitrate), 0, 0);
- gtk_label_set_justify(GTK_LABEL(flac_bitrate), GTK_JUSTIFY_LEFT);
- gtk_box_pack_start(GTK_BOX(flac_box), flac_bitrate, FALSE, FALSE, 0);
-
- replaygain_reference = gtk_label_new("");
- gtk_misc_set_alignment(GTK_MISC(replaygain_reference), 0, 0);
- gtk_label_set_justify(GTK_LABEL(replaygain_reference), GTK_JUSTIFY_LEFT);
- gtk_box_pack_start(GTK_BOX(flac_box), replaygain_reference, FALSE, FALSE, 0);
-
- replaygain_track_gain = gtk_label_new("");
- gtk_misc_set_alignment(GTK_MISC(replaygain_track_gain), 0, 0);
- gtk_label_set_justify(GTK_LABEL(replaygain_track_gain), GTK_JUSTIFY_LEFT);
- gtk_box_pack_start(GTK_BOX(flac_box), replaygain_track_gain, FALSE, FALSE, 0);
-
- replaygain_album_gain = gtk_label_new("");
- gtk_misc_set_alignment(GTK_MISC(replaygain_album_gain), 0, 0);
- gtk_label_set_justify(GTK_LABEL(replaygain_album_gain), GTK_JUSTIFY_LEFT);
- gtk_box_pack_start(GTK_BOX(flac_box), replaygain_album_gain, FALSE, FALSE, 0);
-
- replaygain_track_peak = gtk_label_new("");
- gtk_misc_set_alignment(GTK_MISC(replaygain_track_peak), 0, 0);
- gtk_label_set_justify(GTK_LABEL(replaygain_track_peak), GTK_JUSTIFY_LEFT);
- gtk_box_pack_start(GTK_BOX(flac_box), replaygain_track_peak, FALSE, FALSE, 0);
-
- replaygain_album_peak = gtk_label_new("");
- gtk_misc_set_alignment(GTK_MISC(replaygain_album_peak), 0, 0);
- gtk_label_set_justify(GTK_LABEL(replaygain_album_peak), GTK_JUSTIFY_LEFT);
- gtk_box_pack_start(GTK_BOX(flac_box), replaygain_album_peak, FALSE, FALSE, 0);
-
- gtk_widget_show_all(window);
- }
-
- if(current_filename)
- g_free(current_filename);
- if(!(current_filename = g_strdup(filename)))
- return;
-
- title = g_strdup_printf(_("File Info - %s"), g_basename(filename));
- gtk_window_set_title(GTK_WINDOW(window), title);
- g_free(title);
-
- gtk_entry_set_text(GTK_ENTRY(filename_entry), filename);
- gtk_editable_set_position(GTK_EDITABLE(filename_entry), -1);
-
- if(tags_)
- FLAC_plugin__tags_destroy(&tags_);
-
- FLAC_plugin__tags_get(current_filename, &tags_);
-
- show_tag();
- show_file_info();
- show_replaygain();
-
- gtk_widget_set_sensitive(tag_frame, TRUE);
-}
diff --git a/3rdparty/libflac/src/plugin_xmms/http.c b/3rdparty/libflac/src/plugin_xmms/http.c
deleted file mode 100644
index af3235fb1f0..00000000000
--- a/3rdparty/libflac/src/plugin_xmms/http.c
+++ /dev/null
@@ -1,899 +0,0 @@
-/* XMMS - Cross-platform multimedia player
- * Copyright (C) 1998-2000 Peter Alm, Mikael Alm, Olle Hallnas, Thomas Nilsson and 4Front Technologies
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-/* modified for FLAC support by Steven Richman (2003) */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/time.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <netdb.h>
-#include <glib.h>
-#include <string.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <pthread.h>
-
-#include <xmms/util.h>
-#include <xmms/plugin.h>
-
-#include "FLAC/format.h"
-#include "configure.h"
-#include "locale_hack.h"
-#include "plugin.h"
-
-/* on FreeBSD we get socklen_t from <sys/socket.h> */
-#if (!defined HAVE_SOCKLEN_T) && !defined(__FreeBSD__)
-typedef unsigned int socklen_t;
-#endif
-
-#define min(x,y) ((x)<(y)?(x):(y))
-#define min3(x,y,z) (min(x,y)<(z)?min(x,y):(z))
-#define min4(x,y,z,w) (min3(x,y,z)<(w)?min3(x,y,z):(w))
-
-static gchar *icy_name = NULL;
-static gint icy_metaint = 0;
-
-extern InputPlugin flac_ip;
-
-#undef DEBUG_UDP
-
-/* Static udp channel functions */
-static int udp_establish_listener (gint *sock);
-static int udp_check_for_data(gint sock);
-
-static char *flac_http_get_title(char *url);
-
-static gboolean prebuffering, going, eof = FALSE;
-static gint sock, rd_index, wr_index, buffer_length, prebuffer_length;
-static guint64 buffer_read = 0;
-static gchar *buffer;
-static guint64 offset;
-static pthread_t thread;
-static GtkWidget *error_dialog = NULL;
-
-static FILE *output_file = NULL;
-
-#define BASE64_LENGTH(len) (4 * (((len) + 2) / 3))
-
-/* Encode the string S of length LENGTH to base64 format and place it
- to STORE. STORE will be 0-terminated, and must point to a writable
- buffer of at least 1+BASE64_LENGTH(length) bytes. */
-static void base64_encode (const gchar *s, gchar *store, gint length)
-{
- /* Conversion table. */
- static gchar tbl[64] = {
- 'A','B','C','D','E','F','G','H',
- 'I','J','K','L','M','N','O','P',
- 'Q','R','S','T','U','V','W','X',
- 'Y','Z','a','b','c','d','e','f',
- 'g','h','i','j','k','l','m','n',
- 'o','p','q','r','s','t','u','v',
- 'w','x','y','z','0','1','2','3',
- '4','5','6','7','8','9','+','/'
- };
- gint i;
- guchar *p = (guchar *)store;
-
- /* Transform the 3x8 bits to 4x6 bits, as required by base64. */
- for (i = 0; i < length; i += 3)
- {
- *p++ = tbl[s[0] >> 2];
- *p++ = tbl[((s[0] & 3) << 4) + (s[1] >> 4)];
- *p++ = tbl[((s[1] & 0xf) << 2) + (s[2] >> 6)];
- *p++ = tbl[s[2] & 0x3f];
- s += 3;
- }
- /* Pad the result if necessary... */
- if (i == length + 1)
- *(p - 1) = '=';
- else if (i == length + 2)
- *(p - 1) = *(p - 2) = '=';
- /* ...and zero-terminate it. */
- *p = '\0';
-}
-
-/* Create the authentication header contents for the `Basic' scheme.
- This is done by encoding the string `USER:PASS' in base64 and
- prepending `HEADER: Basic ' to it. */
-static gchar *basic_authentication_encode (const gchar *user, const gchar *passwd, const gchar *header)
-{
- gchar *t1, *t2, *res;
- gint len1 = strlen (user) + 1 + strlen (passwd);
- gint len2 = BASE64_LENGTH (len1);
-
- t1 = g_strdup_printf("%s:%s", user, passwd);
- t2 = g_malloc0(len2 + 1);
- base64_encode (t1, t2, len1);
- res = g_strdup_printf("%s: Basic %s\r\n", header, t2);
- g_free(t2);
- g_free(t1);
-
- return res;
-}
-
-static void parse_url(const gchar * url, gchar ** user, gchar ** pass, gchar ** host, int *port, gchar ** filename)
-{
- gchar *h, *p, *pt, *f, *temp, *ptr;
-
- temp = g_strdup(url);
- ptr = temp;
-
- if (!strncasecmp("http://", ptr, 7))
- ptr += 7;
- h = strchr(ptr, '@');
- f = strchr(ptr, '/');
- if (h != NULL && (!f || h < f))
- {
- *h = '\0';
- p = strchr(ptr, ':');
- if (p != NULL && p < h)
- {
- *p = '\0';
- p++;
- *pass = g_strdup(p);
- }
- else
- *pass = NULL;
- *user = g_strdup(ptr);
- h++;
- ptr = h;
- }
- else
- {
- *user = NULL;
- *pass = NULL;
- h = ptr;
- }
- pt = strchr(ptr, ':');
- if (pt != NULL && (f == NULL || pt < f))
- {
- *pt = '\0';
- *port = atoi(pt + 1);
- }
- else
- {
- if (f)
- *f = '\0';
- *port = 80;
- }
- *host = g_strdup(h);
-
- if (f)
- *filename = g_strdup(f + 1);
- else
- *filename = NULL;
- g_free(temp);
-}
-
-void flac_http_close(void)
-{
- going = FALSE;
-
- pthread_join(thread, NULL);
- g_free(icy_name);
- icy_name = NULL;
-}
-
-
-static gint http_used(void)
-{
- if (wr_index >= rd_index)
- return wr_index - rd_index;
- return buffer_length - (rd_index - wr_index);
-}
-
-static gint http_free(void)
-{
- if (rd_index > wr_index)
- return (rd_index - wr_index) - 1;
- return (buffer_length - (wr_index - rd_index)) - 1;
-}
-
-static void http_wait_for_data(gint bytes)
-{
- while ((prebuffering || http_used() < bytes) && !eof && going)
- xmms_usleep(10000);
-}
-
-static void show_error_message(gchar *error)
-{
- if(!error_dialog)
- {
- GDK_THREADS_ENTER();
- error_dialog = xmms_show_message(_("Error"), error, _("Ok"), FALSE,
- NULL, NULL);
- gtk_signal_connect(GTK_OBJECT(error_dialog),
- "destroy",
- GTK_SIGNAL_FUNC(gtk_widget_destroyed),
- &error_dialog);
- GDK_THREADS_LEAVE();
- }
-}
-
-int flac_http_read(gpointer data, gint length)
-{
- gint len, cnt, off = 0, meta_len, meta_off = 0, i;
- gchar *meta_data, **tags, *temp, *title;
- if (length > buffer_length) {
- length = buffer_length;
- }
-
- http_wait_for_data(length);
-
- if (!going)
- return 0;
- len = min(http_used(), length);
-
- while (len && http_used())
- {
- if ((flac_cfg.stream.cast_title_streaming) && (icy_metaint > 0) && (buffer_read % icy_metaint) == 0 && (buffer_read > 0))
- {
- meta_len = *((guchar *) buffer + rd_index) * 16;
- rd_index = (rd_index + 1) % buffer_length;
- if (meta_len > 0)
- {
- http_wait_for_data(meta_len);
- meta_data = g_malloc0(meta_len);
- if (http_used() >= meta_len)
- {
- while (meta_len)
- {
- cnt = min(meta_len, buffer_length - rd_index);
- memcpy(meta_data + meta_off, buffer + rd_index, cnt);
- rd_index = (rd_index + cnt) % buffer_length;
- meta_len -= cnt;
- meta_off += cnt;
- }
- tags = g_strsplit(meta_data, "';", 0);
-
- for (i = 0; tags[i]; i++)
- {
- if (!strncasecmp(tags[i], "StreamTitle=", 12))
- {
- temp = g_strdup(tags[i] + 13);
- title = g_strdup_printf("%s (%s)", temp, icy_name);
- set_track_info(title, -1);
- g_free(title);
- g_free(temp);
- }
-
- }
- g_strfreev(tags);
-
- }
- g_free(meta_data);
- }
- if (!http_used())
- http_wait_for_data(length - off);
- cnt = min3(len, buffer_length - rd_index, http_used());
- }
- else if ((icy_metaint > 0) && (flac_cfg.stream.cast_title_streaming))
- cnt = min4(len, buffer_length - rd_index, http_used(), icy_metaint - (gint) (buffer_read % icy_metaint));
- else
- cnt = min3(len, buffer_length - rd_index, http_used());
- if (output_file)
- fwrite(buffer + rd_index, 1, cnt, output_file);
-
- memcpy((gchar *)data + off, buffer + rd_index, cnt);
- rd_index = (rd_index + cnt) % buffer_length;
- buffer_read += cnt;
- len -= cnt;
- off += cnt;
- }
- if (!off) {
- fprintf(stderr, "returning zero\n");
- }
- return off;
-}
-
-static gboolean http_check_for_data(void)
-{
-
- fd_set set;
- struct timeval tv;
- gint ret;
-
- tv.tv_sec = 0;
- tv.tv_usec = 20000;
- FD_ZERO(&set);
- FD_SET(sock, &set);
- ret = select(sock + 1, &set, NULL, NULL, &tv);
- if (ret > 0)
- return TRUE;
- return FALSE;
-}
-
-gint flac_http_read_line(gchar * buf, gint size)
-{
- gint i = 0;
-
- while (going && i < size - 1)
- {
- if (http_check_for_data())
- {
- if (read(sock, buf + i, 1) <= 0)
- return -1;
- if (buf[i] == '\n')
- break;
- if (buf[i] != '\r')
- i++;
- }
- }
- if (!going)
- return -1;
- buf[i] = '\0';
- return i;
-}
-
-/* returns the file descriptor of the socket, or -1 on error */
-static int http_connect (gchar *url_, gboolean head, guint64 offset)
-{
- gchar line[1024], *user, *pass, *host, *filename,
- *status, *url, *temp, *file;
- gchar *chost;
- gint cnt, error, port, cport;
- socklen_t err_len;
- gboolean redirect;
- int udp_sock = 0;
- fd_set set;
- struct hostent *hp;
- struct sockaddr_in address;
- struct timeval tv;
-
- url = g_strdup (url_);
-
- do
- {
- redirect=FALSE;
-
- g_strstrip(url);
-
- parse_url(url, &user, &pass, &host, &port, &filename);
-
- if ((!filename || !*filename) && url[strlen(url) - 1] != '/')
- temp = g_strconcat(url, "/", NULL);
- else
- temp = g_strdup(url);
- g_free(url);
- url = temp;
-
- chost = flac_cfg.stream.use_proxy ? flac_cfg.stream.proxy_host : host;
- cport = flac_cfg.stream.use_proxy ? flac_cfg.stream.proxy_port : port;
-
- sock = socket(AF_INET, SOCK_STREAM, 0);
- fcntl(sock, F_SETFL, O_NONBLOCK);
- address.sin_family = AF_INET;
-
- status = g_strdup_printf(_("LOOKING UP %s"), chost);
- flac_ip.set_info_text(status);
- g_free(status);
-
- if (!(hp = gethostbyname(chost)))
- {
- status = g_strdup_printf(_("Couldn't look up host %s"), chost);
- show_error_message(status);
- g_free(status);
-
- flac_ip.set_info_text(NULL);
- eof = TRUE;
- }
-
- if (!eof)
- {
- memcpy(&address.sin_addr.s_addr, *(hp->h_addr_list), sizeof (address.sin_addr.s_addr));
- address.sin_port = (gint) g_htons(cport);
-
- status = g_strdup_printf(_("CONNECTING TO %s:%d"), chost, cport);
- flac_ip.set_info_text(status);
- g_free(status);
- if (connect(sock, (struct sockaddr *) &address, sizeof (struct sockaddr_in)) == -1)
- {
- if (errno != EINPROGRESS)
- {
- status = g_strdup_printf(_("Couldn't connect to host %s"), chost);
- show_error_message(status);
- g_free(status);
-
- flac_ip.set_info_text(NULL);
- eof = TRUE;
- }
- }
- while (going)
- {
- tv.tv_sec = 0;
- tv.tv_usec = 10000;
- FD_ZERO(&set);
- FD_SET(sock, &set);
- if (select(sock + 1, NULL, &set, NULL, &tv) > 0)
- {
- err_len = sizeof (error);
- getsockopt(sock, SOL_SOCKET, SO_ERROR, &error, &err_len);
- if (error)
- {
- status = g_strdup_printf(_("Couldn't connect to host %s"),
- chost);
- show_error_message(status);
- g_free(status);
-
- flac_ip.set_info_text(NULL);
- eof = TRUE;
-
- }
- break;
- }
- }
- if (!eof)
- {
- gchar *auth = NULL, *proxy_auth = NULL;
- gchar udpspace[30];
- int udp_port;
-
- if (flac_cfg.stream.use_udp_channel)
- {
- udp_port = udp_establish_listener (&udp_sock);
- if (udp_port > 0)
- sprintf (udpspace, "x-audiocast-udpport: %d\r\n", udp_port);
- else
- udp_sock = 0;
- }
-
- if(user && pass)
- auth = basic_authentication_encode(user, pass, "Authorization");
-
- if (flac_cfg.stream.use_proxy)
- {
- file = g_strdup(url);
- if(flac_cfg.stream.proxy_use_auth && flac_cfg.stream.proxy_user && flac_cfg.stream.proxy_pass)
- {
- proxy_auth = basic_authentication_encode(flac_cfg.stream.proxy_user,
- flac_cfg.stream.proxy_pass,
- "Proxy-Authorization");
- }
- }
- else
- file = g_strconcat("/", filename, NULL);
-
- temp = g_strdup_printf("GET %s HTTP/1.0\r\n"
- "Host: %s\r\n"
- "User-Agent: %s/%s\r\n"
- "%s%s%s%s",
- file, host, "Reference FLAC Player", FLAC__VERSION_STRING,
- proxy_auth ? proxy_auth : "", auth ? auth : "",
- flac_cfg.stream.cast_title_streaming ? "Icy-MetaData:1\r\n" : "",
- flac_cfg.stream.use_udp_channel ? udpspace : "");
- if (offset && !head) {
- gchar *temp_dead = temp;
- temp = g_strdup_printf ("%sRange: %llu-\r\n", temp, offset);
- fprintf (stderr, "%s", temp);
- g_free (temp_dead);
- }
-
- g_free(file);
- if(proxy_auth)
- g_free(proxy_auth);
- if(auth)
- g_free(auth);
- write(sock, temp, strlen(temp));
- write(sock, "\r\n", 2);
- g_free(temp);
- flac_ip.set_info_text(_("CONNECTED: WAITING FOR REPLY"));
- while (going && !eof)
- {
- if (http_check_for_data())
- {
- if (flac_http_read_line(line, 1024))
- {
- status = strchr(line, ' ');
- if (status)
- {
- if (status[1] == '2')
- break;
- else if(status[1] == '3' && status[2] == '0' && status[3] == '2')
- {
- while(going)
- {
- if(http_check_for_data())
- {
- if((cnt = flac_http_read_line(line, 1024)) != -1)
- {
- if(!cnt)
- break;
- if(!strncmp(line, "Location:", 9))
- {
- g_free(url);
- url = g_strdup(line+10);
- }
- }
- else
- {
- eof=TRUE;
- flac_ip.set_info_text(NULL);
- break;
- }
- }
- }
- redirect=TRUE;
- break;
- }
- else
- {
- status = g_strdup_printf(_("Couldn't connect to host %s\nServer reported: %s"), chost, status);
- show_error_message(status);
- g_free(status);
- break;
- }
- }
- }
- else
- {
- eof = TRUE;
- flac_ip.set_info_text(NULL);
- }
- }
- }
-
- while (going && !redirect)
- {
- if (http_check_for_data())
- {
- if ((cnt = flac_http_read_line(line, 1024)) != -1)
- {
- if (!cnt)
- break;
- if (!strncmp(line, "icy-name:", 9))
- icy_name = g_strdup(line + 9);
- else if (!strncmp(line, "x-audiocast-name:", 17))
- icy_name = g_strdup(line + 17);
- if (!strncmp(line, "icy-metaint:", 12))
- icy_metaint = atoi(line + 12);
- if (!strncmp(line, "x-audiocast-udpport:", 20)) {
-#ifdef DEBUG_UDP
- fprintf (stderr, "Server wants udp messages on port %d\n", atoi (line + 20));
-#endif
- /*udp_serverport = atoi (line + 20);*/
- }
-
- }
- else
- {
- eof = TRUE;
- flac_ip.set_info_text(NULL);
- break;
- }
- }
- }
- }
- }
-
- if(redirect)
- {
- if (output_file)
- {
- fclose(output_file);
- output_file = NULL;
- }
- close(sock);
- }
-
- g_free(user);
- g_free(pass);
- g_free(host);
- g_free(filename);
- } while(redirect);
-
- g_free(url);
- return eof ? -1 : sock;
-}
-
-static void *http_buffer_loop(void *arg)
-{
- gchar *status, *url, *temp, *file;
- gint cnt, written;
- int udp_sock = 0;
-
- url = (gchar *) arg;
- sock = http_connect (url, false, offset);
-
- if (sock >= 0 && flac_cfg.stream.save_http_stream) {
- gchar *output_name;
- file = flac_http_get_title(url);
- output_name = file;
- if (!strncasecmp(output_name, "http://", 7))
- output_name += 7;
- temp = strrchr(output_name, '.');
- if (temp && (!strcasecmp(temp, ".fla") || !strcasecmp(temp, ".flac")))
- *temp = '\0';
-
- while ((temp = strchr(output_name, '/')))
- *temp = '_';
- output_name = g_strdup_printf("%s/%s.flac", flac_cfg.stream.save_http_path, output_name);
-
- g_free(file);
-
- output_file = fopen(output_name, "wb");
- g_free(output_name);
- }
-
- while (going)
- {
-
- if (!http_used() && !flac_ip.output->buffer_playing())
- prebuffering = TRUE;
- if (http_free() > 0 && !eof)
- {
- if (http_check_for_data())
- {
- cnt = min(http_free(), buffer_length - wr_index);
- if (cnt > 1024)
- cnt = 1024;
- written = read(sock, buffer + wr_index, cnt);
- if (written <= 0)
- {
- eof = TRUE;
- if (prebuffering)
- {
- prebuffering = FALSE;
-
- flac_ip.set_info_text(NULL);
- }
-
- }
- else
- wr_index = (wr_index + written) % buffer_length;
- }
-
- if (prebuffering)
- {
- if (http_used() > prebuffer_length)
- {
- prebuffering = FALSE;
- flac_ip.set_info_text(NULL);
- }
- else
- {
- status = g_strdup_printf(_("PRE-BUFFERING: %dKB/%dKB"), http_used() / 1024, prebuffer_length / 1024);
- flac_ip.set_info_text(status);
- g_free(status);
- }
-
- }
- }
- else
- xmms_usleep(10000);
-
- if (flac_cfg.stream.use_udp_channel && udp_sock != 0)
- if (udp_check_for_data(udp_sock) < 0)
- {
- close(udp_sock);
- udp_sock = 0;
- }
- }
- if (output_file)
- {
- fclose(output_file);
- output_file = NULL;
- }
- if (sock >= 0) {
- close(sock);
- }
- if (udp_sock != 0)
- close(udp_sock);
-
- g_free(buffer);
- g_free(url);
-
- pthread_exit(NULL);
- return NULL; /* avoid compiler warning */
-}
-
-int flac_http_open(const gchar * _url, guint64 _offset)
-{
- gchar *url;
-
- url = g_strdup(_url);
-
- rd_index = 0;
- wr_index = 0;
- buffer_length = flac_cfg.stream.http_buffer_size * 1024;
- prebuffer_length = (buffer_length * flac_cfg.stream.http_prebuffer) / 100;
- buffer_read = 0;
- icy_metaint = 0;
- prebuffering = TRUE;
- going = TRUE;
- eof = FALSE;
- buffer = g_malloc(buffer_length);
- offset = _offset;
-
- pthread_create(&thread, NULL, http_buffer_loop, url);
-
- return 0;
-}
-
-char *flac_http_get_title(char *url)
-{
- if (icy_name)
- return g_strdup(icy_name);
- if (g_basename(url) && strlen(g_basename(url)) > 0)
- return g_strdup(g_basename(url));
- return g_strdup(url);
-}
-
-/* Start UDP Channel specific stuff */
-
-/* Find a good local udp port and bind udp_sock to it, return the port */
-static int udp_establish_listener(int *sock)
-{
- struct sockaddr_in sin;
- socklen_t sinlen = sizeof (struct sockaddr_in);
-
-#ifdef DEBUG_UDP
- fprintf (stderr,"Establishing udp listener\n");
-#endif
-
- if ((*sock = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
- {
- g_log(NULL, G_LOG_LEVEL_CRITICAL,
- "udp_establish_listener(): unable to create socket");
- return -1;
- }
-
- memset(&sin, 0, sinlen);
- sin.sin_family = AF_INET;
- sin.sin_addr.s_addr = g_htonl(INADDR_ANY);
-
- if (bind(*sock, (struct sockaddr *)&sin, sinlen) < 0)
- {
- g_log(NULL, G_LOG_LEVEL_CRITICAL,
- "udp_establish_listener(): Failed to bind socket to localhost: %s", strerror(errno));
- close(*sock);
- return -1;
- }
- if (fcntl(*sock, F_SETFL, O_NONBLOCK) < 0)
- {
- g_log(NULL, G_LOG_LEVEL_CRITICAL,
- "udp_establish_listener(): Failed to set flags: %s", strerror(errno));
- close(*sock);
- return -1;
- }
-
- memset(&sin, 0, sinlen);
- if (getsockname(*sock, (struct sockaddr *)&sin, &sinlen) < 0)
- {
- g_log(NULL, G_LOG_LEVEL_CRITICAL,
- "udp_establish_listener(): Failed to retrieve socket info: %s", strerror(errno));
- close(*sock);
- return -1;
- }
-
-#ifdef DEBUG_UDP
- fprintf (stderr,"Listening on local %s:%d\n", inet_ntoa(sin.sin_addr), g_ntohs(sin.sin_port));
-#endif
-
- return g_ntohs(sin.sin_port);
-}
-
-static int udp_check_for_data(int sock)
-{
- char buf[1025], **lines;
- char *valptr;
- gchar *title;
- gint len, i;
- struct sockaddr_in from;
- socklen_t fromlen;
-
- fromlen = sizeof(struct sockaddr_in);
-
- if ((len = recvfrom(sock, buf, 1024, 0, (struct sockaddr *)&from, &fromlen)) < 0)
- {
- if (errno != EAGAIN)
- {
- g_log(NULL, G_LOG_LEVEL_CRITICAL,
- "udp_read_data(): Error reading from socket: %s", strerror(errno));
- return -1;
- }
- return 0;
- }
- buf[len] = '\0';
-#ifdef DEBUG_UDP
- fprintf (stderr,"Received: [%s]\n", buf);
-#endif
- lines = g_strsplit(buf, "\n", 0);
- if (!lines)
- return 0;
-
- for (i = 0; lines[i]; i++)
- {
- while ((lines[i][strlen(lines[i]) - 1] == '\n') ||
- (lines[i][strlen(lines[i]) - 1] == '\r'))
- lines[i][strlen(lines[i]) - 1] = '\0';
-
- valptr = strchr(lines[i], ':');
-
- if (!valptr)
- continue;
- else
- valptr++;
-
- g_strstrip(valptr);
- if (!strlen(valptr))
- continue;
-
- if (strstr(lines[i], "x-audiocast-streamtitle") != NULL)
- {
- title = g_strdup_printf ("%s (%s)", valptr, icy_name);
- if (going)
- set_track_info(title, -1);
- g_free (title);
- }
-
-#if 0
- else if (strstr(lines[i], "x-audiocast-streamlength") != NULL)
- {
- if (atoi(valptr) != -1)
- set_track_info(NULL, atoi(valptr));
- }
-#endif
-
- else if (strstr(lines[i], "x-audiocast-streammsg") != NULL)
- {
- /* set_track_info(title, -1); */
-/* xmms_show_message(_("Message"), valptr, _("Ok"), */
-/* FALSE, NULL, NULL); */
- g_message("Stream_message: %s", valptr);
- }
-
-#if 0
- /* Use this to direct your webbrowser.. yeah right.. */
- else if (strstr(lines[i], "x-audiocast-streamurl") != NULL)
- {
- if (lasturl && g_strcmp (valptr, lasturl))
- {
- c_message (stderr, "Song URL: %s\n", valptr);
- g_free (lasturl);
- lasturl = g_strdup (valptr);
- }
- }
-#endif
- else if (strstr(lines[i], "x-audiocast-udpseqnr:") != NULL)
- {
- gchar obuf[60];
- sprintf(obuf, "x-audiocast-ack: %ld \r\n", atol(valptr));
- if (sendto(sock, obuf, strlen(obuf), 0, (struct sockaddr *) &from, fromlen) < 0)
- {
- g_log(NULL, G_LOG_LEVEL_WARNING,
- "udp_check_for_data(): Unable to send ack to server: %s", strerror(errno));
- }
-#ifdef DEBUG_UDP
- else
- fprintf(stderr,"Sent ack: %s", obuf);
- fprintf (stderr,"Remote: %s:%d\n", inet_ntoa(from.sin_addr), g_ntohs(from.sin_port));
-#endif
- }
- }
- g_strfreev(lines);
- return 0;
-}
diff --git a/3rdparty/libflac/src/plugin_xmms/locale_hack.h b/3rdparty/libflac/src/plugin_xmms/locale_hack.h
deleted file mode 100644
index d04b1b2e90e..00000000000
--- a/3rdparty/libflac/src/plugin_xmms/locale_hack.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* plugin_common - Routines common to several plugins
- * Copyright (C) 2002,2003,2004,2006,2007 Josh Coalson
- *
- * Based on:
- * locale.h - 2000/05/05 13:10 Jerome Couderc
- * EasyTAG - Tag editor for MP3 and OGG files
- * Copyright (C) 1999-2001 H蛆ard Kv虱en <havardk@xmms.org>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-/*
- * Gettext support for EasyTAG
- */
-
-
-#ifndef FLAC__PLUGIN_COMMON__LOCALE_HACK_H
-#define FLAC__PLUGIN_COMMON__LOCALE_HACK_H
-
-#include <locale.h>
-
-/*
- * Standard gettext macros.
- */
-#ifdef ENABLE_NLS
-# include <libintl.h>
-# define _(String) gettext (String)
-# ifdef gettext_noop
-# define N_(String) gettext_noop (String)
-# else
-# define N_(String) (String)
-# endif
-#else
-# define textdomain(String) (String)
-# define gettext(String) (String)
-# define dgettext(Domain,Message) (Message)
-# define dcgettext(Domain,Message,Type) (Message)
-# define bindtextdomain(Domain,Directory) (Domain)
-# define _(String) (String)
-# define N_(String) (String)
-#endif
-
-
-#endif
diff --git a/3rdparty/libflac/src/plugin_xmms/plugin.c b/3rdparty/libflac/src/plugin_xmms/plugin.c
deleted file mode 100644
index 24a79b770ef..00000000000
--- a/3rdparty/libflac/src/plugin_xmms/plugin.c
+++ /dev/null
@@ -1,684 +0,0 @@
-/* libxmms-flac - XMMS FLAC input plugin
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <limits.h>
-#include <pthread.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <glib.h>
-#include <pwd.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-#include <xmms/plugin.h>
-#include <xmms/util.h>
-#include <xmms/configfile.h>
-#include <xmms/titlestring.h>
-
-#ifdef HAVE_LANGINFO_CODESET
-#include <langinfo.h>
-#endif
-
-#include "FLAC/all.h"
-#include "plugin_common/all.h"
-#include "share/grabbag.h"
-#include "share/replaygain_synthesis.h"
-#include "configure.h"
-#include "charset.h"
-#include "http.h"
-#include "tag.h"
-
-#ifdef min
-#undef min
-#endif
-#define min(x,y) ((x)<(y)?(x):(y))
-
-extern void FLAC_XMMS__file_info_box(char *filename);
-
-typedef struct {
- FLAC__bool abort_flag;
- FLAC__bool is_playing;
- FLAC__bool is_http_source;
- FLAC__bool eof;
- FLAC__bool play_thread_open; /* if true, is_playing must also be true */
- FLAC__uint64 total_samples;
- unsigned bits_per_sample;
- unsigned channels;
- unsigned sample_rate;
- int length_in_msec; /* int (instead of FLAC__uint64) only because that's what XMMS uses; seeking won't work right if this maxes out */
- gchar *title;
- AFormat sample_format;
- unsigned sample_format_bytes_per_sample;
- int seek_to_in_sec;
- FLAC__bool has_replaygain;
- double replay_scale;
- DitherContext dither_context;
-} stream_data_struct;
-
-static void FLAC_XMMS__init(void);
-static int FLAC_XMMS__is_our_file(char *filename);
-static void FLAC_XMMS__play_file(char *filename);
-static void FLAC_XMMS__stop(void);
-static void FLAC_XMMS__pause(short p);
-static void FLAC_XMMS__seek(int time);
-static int FLAC_XMMS__get_time(void);
-static void FLAC_XMMS__cleanup(void);
-static void FLAC_XMMS__get_song_info(char *filename, char **title, int *length);
-
-static void *play_loop_(void *arg);
-
-static FLAC__bool safe_decoder_init_(const char *filename, FLAC__StreamDecoder *decoder);
-static void safe_decoder_finish_(FLAC__StreamDecoder *decoder);
-static void safe_decoder_delete_(FLAC__StreamDecoder *decoder);
-
-static FLAC__StreamDecoderReadStatus http_read_callback_(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data);
-static FLAC__StreamDecoderWriteStatus write_callback_(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data);
-static void metadata_callback_(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data);
-static void error_callback_(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data);
-
-InputPlugin flac_ip =
-{
- NULL,
- NULL,
- "FLAC Player v" VERSION,
- FLAC_XMMS__init,
- FLAC_XMMS__aboutbox,
- FLAC_XMMS__configure,
- FLAC_XMMS__is_our_file,
- NULL,
- FLAC_XMMS__play_file,
- FLAC_XMMS__stop,
- FLAC_XMMS__pause,
- FLAC_XMMS__seek,
- NULL,
- FLAC_XMMS__get_time,
- NULL,
- NULL,
- FLAC_XMMS__cleanup,
- NULL,
- NULL,
- NULL,
- NULL,
- FLAC_XMMS__get_song_info,
- FLAC_XMMS__file_info_box,
- NULL
-};
-
-#define SAMPLES_PER_WRITE 512
-#define SAMPLE_BUFFER_SIZE ((FLAC__MAX_BLOCK_SIZE + SAMPLES_PER_WRITE) * FLAC_PLUGIN__MAX_SUPPORTED_CHANNELS * (24/8))
-static FLAC__byte sample_buffer_[SAMPLE_BUFFER_SIZE];
-static unsigned sample_buffer_first_, sample_buffer_last_;
-
-static FLAC__StreamDecoder *decoder_ = 0;
-static stream_data_struct stream_data_;
-static pthread_t decode_thread_;
-static FLAC__bool audio_error_ = false;
-static FLAC__bool is_big_endian_host_;
-
-#define BITRATE_HIST_SEGMENT_MSEC 500
-/* 500ms * 50 = 25s should be enough */
-#define BITRATE_HIST_SIZE 50
-static unsigned bitrate_history_[BITRATE_HIST_SIZE];
-
-
-InputPlugin *get_iplugin_info(void)
-{
- flac_ip.description = g_strdup_printf("Reference FLAC Player v%s", FLAC__VERSION_STRING);
- return &flac_ip;
-}
-
-void set_track_info(const char* title, int length_in_msec)
-{
- if (stream_data_.is_playing) {
- flac_ip.set_info((char*) title, length_in_msec, stream_data_.sample_rate * stream_data_.channels * stream_data_.bits_per_sample, stream_data_.sample_rate, stream_data_.channels);
- }
-}
-
-static gchar* homedir(void)
-{
- gchar *result;
- char *env_home = getenv("HOME");
- if (env_home) {
- result = g_strdup (env_home);
- } else {
- uid_t uid = getuid();
- struct passwd *pwent;
- do {
- pwent = getpwent();
- } while (pwent && pwent->pw_uid != uid);
- result = pwent ? g_strdup (pwent->pw_dir) : NULL;
- endpwent();
- }
- return result;
-}
-
-static FLAC__bool is_http_source(const char *source)
-{
- return 0 == strncasecmp(source, "http://", 7);
-}
-
-void FLAC_XMMS__init(void)
-{
- ConfigFile *cfg;
- FLAC__uint32 test = 1;
-
- is_big_endian_host_ = (*((FLAC__byte*)(&test)))? false : true;
-
- flac_cfg.title.tag_override = FALSE;
- if (flac_cfg.title.tag_format)
- g_free(flac_cfg.title.tag_format);
- flac_cfg.title.convert_char_set = FALSE;
-
- cfg = xmms_cfg_open_default_file();
-
- /* title */
-
- xmms_cfg_read_boolean(cfg, "flac", "title.tag_override", &flac_cfg.title.tag_override);
-
- if(!xmms_cfg_read_string(cfg, "flac", "title.tag_format", &flac_cfg.title.tag_format))
- flac_cfg.title.tag_format = g_strdup("%p - %t");
-
- xmms_cfg_read_boolean(cfg, "flac", "title.convert_char_set", &flac_cfg.title.convert_char_set);
-
- if(!xmms_cfg_read_string(cfg, "flac", "title.user_char_set", &flac_cfg.title.user_char_set))
- flac_cfg.title.user_char_set = FLAC_plugin__charset_get_current();
-
- /* replaygain */
-
- xmms_cfg_read_boolean(cfg, "flac", "output.replaygain.enable", &flac_cfg.output.replaygain.enable);
-
- xmms_cfg_read_boolean(cfg, "flac", "output.replaygain.album_mode", &flac_cfg.output.replaygain.album_mode);
-
- if(!xmms_cfg_read_int(cfg, "flac", "output.replaygain.preamp", &flac_cfg.output.replaygain.preamp))
- flac_cfg.output.replaygain.preamp = 0;
-
- xmms_cfg_read_boolean(cfg, "flac", "output.replaygain.hard_limit", &flac_cfg.output.replaygain.hard_limit);
-
- xmms_cfg_read_boolean(cfg, "flac", "output.resolution.normal.dither_24_to_16", &flac_cfg.output.resolution.normal.dither_24_to_16);
- xmms_cfg_read_boolean(cfg, "flac", "output.resolution.replaygain.dither", &flac_cfg.output.resolution.replaygain.dither);
-
- if(!xmms_cfg_read_int(cfg, "flac", "output.resolution.replaygain.noise_shaping", &flac_cfg.output.resolution.replaygain.noise_shaping))
- flac_cfg.output.resolution.replaygain.noise_shaping = 1;
-
- if(!xmms_cfg_read_int(cfg, "flac", "output.resolution.replaygain.bps_out", &flac_cfg.output.resolution.replaygain.bps_out))
- flac_cfg.output.resolution.replaygain.bps_out = 16;
-
- /* stream */
-
- xmms_cfg_read_int(cfg, "flac", "stream.http_buffer_size", &flac_cfg.stream.http_buffer_size);
- xmms_cfg_read_int(cfg, "flac", "stream.http_prebuffer", &flac_cfg.stream.http_prebuffer);
- xmms_cfg_read_boolean(cfg, "flac", "stream.use_proxy", &flac_cfg.stream.use_proxy);
- if(flac_cfg.stream.proxy_host)
- g_free(flac_cfg.stream.proxy_host);
- if(!xmms_cfg_read_string(cfg, "flac", "stream.proxy_host", &flac_cfg.stream.proxy_host))
- flac_cfg.stream.proxy_host = g_strdup("");
- xmms_cfg_read_int(cfg, "flac", "stream.proxy_port", &flac_cfg.stream.proxy_port);
- xmms_cfg_read_boolean(cfg, "flac", "stream.proxy_use_auth", &flac_cfg.stream.proxy_use_auth);
- if(flac_cfg.stream.proxy_user)
- g_free(flac_cfg.stream.proxy_user);
- flac_cfg.stream.proxy_user = NULL;
- xmms_cfg_read_string(cfg, "flac", "stream.proxy_user", &flac_cfg.stream.proxy_user);
- if(flac_cfg.stream.proxy_pass)
- g_free(flac_cfg.stream.proxy_pass);
- flac_cfg.stream.proxy_pass = NULL;
- xmms_cfg_read_string(cfg, "flac", "stream.proxy_pass", &flac_cfg.stream.proxy_pass);
- xmms_cfg_read_boolean(cfg, "flac", "stream.save_http_stream", &flac_cfg.stream.save_http_stream);
- if (flac_cfg.stream.save_http_path)
- g_free (flac_cfg.stream.save_http_path);
- if (!xmms_cfg_read_string(cfg, "flac", "stream.save_http_path", &flac_cfg.stream.save_http_path) || ! *flac_cfg.stream.save_http_path) {
- if (flac_cfg.stream.save_http_path)
- g_free (flac_cfg.stream.save_http_path);
- flac_cfg.stream.save_http_path = homedir();
- }
- xmms_cfg_read_boolean(cfg, "flac", "stream.cast_title_streaming", &flac_cfg.stream.cast_title_streaming);
- xmms_cfg_read_boolean(cfg, "flac", "stream.use_udp_channel", &flac_cfg.stream.use_udp_channel);
-
- decoder_ = FLAC__stream_decoder_new();
-
- xmms_cfg_free(cfg);
-}
-
-int FLAC_XMMS__is_our_file(char *filename)
-{
- char *ext;
-
- ext = strrchr(filename, '.');
- if(ext)
- if(!strcasecmp(ext, ".flac") || !strcasecmp(ext, ".fla"))
- return 1;
- return 0;
-}
-
-void FLAC_XMMS__play_file(char *filename)
-{
- FILE *f;
-
- sample_buffer_first_ = sample_buffer_last_ = 0;
- audio_error_ = false;
- stream_data_.abort_flag = false;
- stream_data_.is_playing = false;
- stream_data_.is_http_source = is_http_source(filename);
- stream_data_.eof = false;
- stream_data_.play_thread_open = false;
- stream_data_.has_replaygain = false;
-
- if(!is_http_source(filename)) {
- if(0 == (f = fopen(filename, "r")))
- return;
- fclose(f);
- }
-
- if(decoder_ == 0)
- return;
-
- if(!safe_decoder_init_(filename, decoder_))
- return;
-
- if(stream_data_.has_replaygain && flac_cfg.output.replaygain.enable) {
- if(flac_cfg.output.resolution.replaygain.bps_out == 8) {
- stream_data_.sample_format = FMT_U8;
- stream_data_.sample_format_bytes_per_sample = 1;
- }
- else if(flac_cfg.output.resolution.replaygain.bps_out == 16) {
- stream_data_.sample_format = (is_big_endian_host_) ? FMT_S16_BE : FMT_S16_LE;
- stream_data_.sample_format_bytes_per_sample = 2;
- }
- else {
- /*@@@ need some error here like wa2: MessageBox(mod_.hMainWindow, "ERROR: plugin can only handle 8/16-bit samples\n", "ERROR: plugin can only handle 8/16-bit samples", 0); */
- fprintf(stderr, "libxmms-flac: can't handle %d bit output\n", flac_cfg.output.resolution.replaygain.bps_out);
- safe_decoder_finish_(decoder_);
- return;
- }
- }
- else {
- if(stream_data_.bits_per_sample == 8) {
- stream_data_.sample_format = FMT_U8;
- stream_data_.sample_format_bytes_per_sample = 1;
- }
- else if(stream_data_.bits_per_sample == 16 || (stream_data_.bits_per_sample == 24 && flac_cfg.output.resolution.normal.dither_24_to_16)) {
- stream_data_.sample_format = (is_big_endian_host_) ? FMT_S16_BE : FMT_S16_LE;
- stream_data_.sample_format_bytes_per_sample = 2;
- }
- else {
- /*@@@ need some error here like wa2: MessageBox(mod_.hMainWindow, "ERROR: plugin can only handle 8/16-bit samples\n", "ERROR: plugin can only handle 8/16-bit samples", 0); */
- fprintf(stderr, "libxmms-flac: can't handle %d bit output\n", stream_data_.bits_per_sample);
- safe_decoder_finish_(decoder_);
- return;
- }
- }
- FLAC__replaygain_synthesis__init_dither_context(&stream_data_.dither_context, stream_data_.sample_format_bytes_per_sample * 8, flac_cfg.output.resolution.replaygain.noise_shaping);
- stream_data_.is_playing = true;
-
- if(flac_ip.output->open_audio(stream_data_.sample_format, stream_data_.sample_rate, stream_data_.channels) == 0) {
- audio_error_ = true;
- safe_decoder_finish_(decoder_);
- return;
- }
-
- stream_data_.title = flac_format_song_title(filename);
- flac_ip.set_info(stream_data_.title, stream_data_.length_in_msec, stream_data_.sample_rate * stream_data_.channels * stream_data_.bits_per_sample, stream_data_.sample_rate, stream_data_.channels);
-
- stream_data_.seek_to_in_sec = -1;
- stream_data_.play_thread_open = true;
- pthread_create(&decode_thread_, NULL, play_loop_, NULL);
-}
-
-void FLAC_XMMS__stop(void)
-{
- if(stream_data_.is_playing) {
- stream_data_.is_playing = false;
- if(stream_data_.play_thread_open) {
- stream_data_.play_thread_open = false;
- pthread_join(decode_thread_, NULL);
- }
- flac_ip.output->close_audio();
- safe_decoder_finish_(decoder_);
- }
-}
-
-void FLAC_XMMS__pause(short p)
-{
- flac_ip.output->pause(p);
-}
-
-void FLAC_XMMS__seek(int time)
-{
- if(!stream_data_.is_http_source) {
- stream_data_.seek_to_in_sec = time;
- stream_data_.eof = false;
-
- while(stream_data_.seek_to_in_sec != -1)
- xmms_usleep(10000);
- }
-}
-
-int FLAC_XMMS__get_time(void)
-{
- if(audio_error_)
- return -2;
- if(!stream_data_.is_playing || (stream_data_.eof && !flac_ip.output->buffer_playing()))
- return -1;
- else
- return flac_ip.output->output_time();
-}
-
-void FLAC_XMMS__cleanup(void)
-{
- safe_decoder_delete_(decoder_);
- decoder_ = 0;
-}
-
-void FLAC_XMMS__get_song_info(char *filename, char **title, int *length_in_msec)
-{
- FLAC__StreamMetadata streaminfo;
-
- if(0 == filename)
- filename = "";
-
- if(!FLAC__metadata_get_streaminfo(filename, &streaminfo)) {
- /* @@@ how to report the error? */
- if(title) {
- if (!is_http_source(filename)) {
- static const char *errtitle = "Invalid FLAC File: ";
- if(strlen(errtitle) + 1 + strlen(filename) + 1 + 1 < strlen(filename)) { /* overflow check */
- *title = NULL;
- }
- else {
- *title = g_malloc(strlen(errtitle) + 1 + strlen(filename) + 1 + 1);
- sprintf(*title, "%s\"%s\"", errtitle, filename);
- }
- } else {
- *title = NULL;
- }
- }
- if(length_in_msec)
- *length_in_msec = -1;
- return;
- }
-
- if(title) {
- *title = flac_format_song_title(filename);
- }
- if(length_in_msec) {
- FLAC__uint64 l = (FLAC__uint64)((double)streaminfo.data.stream_info.total_samples / (double)streaminfo.data.stream_info.sample_rate * 1000.0 + 0.5);
- if (l > INT_MAX)
- l = INT_MAX;
- *length_in_msec = (int)l;
- }
-}
-
-/***********************************************************************
- * local routines
- **********************************************************************/
-
-void *play_loop_(void *arg)
-{
- unsigned written_time_last = 0, bh_index_last_w = 0, bh_index_last_o = BITRATE_HIST_SIZE, blocksize = 1;
- FLAC__uint64 decode_position_last = 0, decode_position_frame_last = 0, decode_position_frame = 0;
-
- (void)arg;
-
- while(stream_data_.is_playing) {
- if(!stream_data_.eof) {
- while(sample_buffer_last_ - sample_buffer_first_ < SAMPLES_PER_WRITE) {
- unsigned s;
-
- s = sample_buffer_last_ - sample_buffer_first_;
- if(FLAC__stream_decoder_get_state(decoder_) == FLAC__STREAM_DECODER_END_OF_STREAM) {
- stream_data_.eof = true;
- break;
- }
- else if(!FLAC__stream_decoder_process_single(decoder_)) {
- /*@@@ this should probably be a dialog */
- fprintf(stderr, "libxmms-flac: READ ERROR processing frame\n");
- stream_data_.eof = true;
- break;
- }
- blocksize = sample_buffer_last_ - sample_buffer_first_ - s;
- decode_position_frame_last = decode_position_frame;
- if(stream_data_.is_http_source || !FLAC__stream_decoder_get_decode_position(decoder_, &decode_position_frame))
- decode_position_frame = 0;
- }
- if(sample_buffer_last_ - sample_buffer_first_ > 0) {
- const unsigned n = min(sample_buffer_last_ - sample_buffer_first_, SAMPLES_PER_WRITE);
- int bytes = n * stream_data_.channels * stream_data_.sample_format_bytes_per_sample;
- FLAC__byte *sample_buffer_start = sample_buffer_ + sample_buffer_first_ * stream_data_.channels * stream_data_.sample_format_bytes_per_sample;
- unsigned written_time, bh_index_w;
- FLAC__uint64 decode_position;
-
- sample_buffer_first_ += n;
- flac_ip.add_vis_pcm(flac_ip.output->written_time(), stream_data_.sample_format, stream_data_.channels, bytes, sample_buffer_start);
- while(flac_ip.output->buffer_free() < (int)bytes && stream_data_.is_playing && stream_data_.seek_to_in_sec == -1)
- xmms_usleep(10000);
- if(stream_data_.is_playing && stream_data_.seek_to_in_sec == -1)
- flac_ip.output->write_audio(sample_buffer_start, bytes);
-
- /* compute current bitrate */
-
- written_time = flac_ip.output->written_time();
- bh_index_w = written_time / BITRATE_HIST_SEGMENT_MSEC % BITRATE_HIST_SIZE;
- if(bh_index_w != bh_index_last_w) {
- bh_index_last_w = bh_index_w;
- decode_position = decode_position_frame - (double)(sample_buffer_last_ - sample_buffer_first_) * (double)(decode_position_frame - decode_position_frame_last) / (double)blocksize;
- bitrate_history_[(bh_index_w + BITRATE_HIST_SIZE - 1) % BITRATE_HIST_SIZE] =
- decode_position > decode_position_last && written_time > written_time_last ?
- 8000 * (decode_position - decode_position_last) / (written_time - written_time_last) :
- stream_data_.sample_rate * stream_data_.channels * stream_data_.bits_per_sample;
- decode_position_last = decode_position;
- written_time_last = written_time;
- }
- }
- else {
- stream_data_.eof = true;
- xmms_usleep(10000);
- }
- }
- else
- xmms_usleep(10000);
- if(!stream_data_.is_http_source && stream_data_.seek_to_in_sec != -1) {
- const double distance = (double)stream_data_.seek_to_in_sec * 1000.0 / (double)stream_data_.length_in_msec;
- FLAC__uint64 target_sample = (FLAC__uint64)(distance * (double)stream_data_.total_samples);
- if(stream_data_.total_samples > 0 && target_sample >= stream_data_.total_samples)
- target_sample = stream_data_.total_samples - 1;
- if(FLAC__stream_decoder_seek_absolute(decoder_, target_sample)) {
- flac_ip.output->flush(stream_data_.seek_to_in_sec * 1000);
- bh_index_last_w = bh_index_last_o = flac_ip.output->output_time() / BITRATE_HIST_SEGMENT_MSEC % BITRATE_HIST_SIZE;
- if(!FLAC__stream_decoder_get_decode_position(decoder_, &decode_position_frame))
- decode_position_frame = 0;
- stream_data_.eof = false;
- sample_buffer_first_ = sample_buffer_last_ = 0;
- }
- else if(FLAC__stream_decoder_get_state(decoder_) == FLAC__STREAM_DECODER_SEEK_ERROR) {
- /*@@@ this should probably be a dialog */
- fprintf(stderr, "libxmms-flac: SEEK ERROR\n");
- FLAC__stream_decoder_flush(decoder_);
- stream_data_.eof = false;
- sample_buffer_first_ = sample_buffer_last_ = 0;
- }
- stream_data_.seek_to_in_sec = -1;
- }
- else {
- /* display the right bitrate from history */
- unsigned bh_index_o = flac_ip.output->output_time() / BITRATE_HIST_SEGMENT_MSEC % BITRATE_HIST_SIZE;
- if(bh_index_o != bh_index_last_o && bh_index_o != bh_index_last_w && bh_index_o != (bh_index_last_w + 1) % BITRATE_HIST_SIZE) {
- bh_index_last_o = bh_index_o;
- flac_ip.set_info(stream_data_.title, stream_data_.length_in_msec, bitrate_history_[bh_index_o], stream_data_.sample_rate, stream_data_.channels);
- }
- }
- }
-
- safe_decoder_finish_(decoder_);
-
- /* are these two calls necessary? */
- flac_ip.output->buffer_free();
- flac_ip.output->buffer_free();
-
- g_free(stream_data_.title);
-
- pthread_exit(NULL);
- return 0; /* to silence the compiler warning about not returning a value */
-}
-
-FLAC__bool safe_decoder_init_(const char *filename, FLAC__StreamDecoder *decoder)
-{
- if(decoder == 0)
- return false;
-
- safe_decoder_finish_(decoder);
-
- FLAC__stream_decoder_set_md5_checking(decoder, false);
- FLAC__stream_decoder_set_metadata_ignore_all(decoder);
- FLAC__stream_decoder_set_metadata_respond(decoder, FLAC__METADATA_TYPE_STREAMINFO);
- FLAC__stream_decoder_set_metadata_respond(decoder, FLAC__METADATA_TYPE_VORBIS_COMMENT);
- if(stream_data_.is_http_source) {
- flac_http_open(filename, 0);
- if(FLAC__stream_decoder_init_stream(decoder, http_read_callback_, /*seek_callback=*/0, /*tell_callback=*/0, /*length_callback=*/0, /*eof_callback=*/0, write_callback_, metadata_callback_, error_callback_, /*client_data=*/&stream_data_) != FLAC__STREAM_DECODER_INIT_STATUS_OK)
- return false;
- }
- else {
- if(FLAC__stream_decoder_init_file(decoder, filename, write_callback_, metadata_callback_, error_callback_, /*client_data=*/&stream_data_) != FLAC__STREAM_DECODER_INIT_STATUS_OK)
- return false;
- }
-
- if(!FLAC__stream_decoder_process_until_end_of_metadata(decoder))
- return false;
-
- return true;
-}
-
-void safe_decoder_finish_(FLAC__StreamDecoder *decoder)
-{
- if(decoder && FLAC__stream_decoder_get_state(decoder) != FLAC__STREAM_DECODER_UNINITIALIZED)
- (void)FLAC__stream_decoder_finish(decoder);
- if(stream_data_.is_http_source)
- flac_http_close();
-}
-
-void safe_decoder_delete_(FLAC__StreamDecoder *decoder)
-{
- if(decoder) {
- safe_decoder_finish_(decoder);
- FLAC__stream_decoder_delete(decoder);
- }
-}
-
-FLAC__StreamDecoderReadStatus http_read_callback_(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data)
-{
- (void)decoder;
- (void)client_data;
- *bytes = flac_http_read(buffer, *bytes);
- return *bytes ? FLAC__STREAM_DECODER_READ_STATUS_CONTINUE : FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM;
-}
-
-FLAC__StreamDecoderWriteStatus write_callback_(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data)
-{
- stream_data_struct *stream_data = (stream_data_struct *)client_data;
- const unsigned channels = stream_data->channels, wide_samples = frame->header.blocksize;
- const unsigned bits_per_sample = stream_data->bits_per_sample;
- FLAC__byte *sample_buffer_start;
-
- (void)decoder;
-
- if(stream_data->abort_flag)
- return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
-
- if((sample_buffer_last_ + wide_samples) > (SAMPLE_BUFFER_SIZE / (channels * stream_data->sample_format_bytes_per_sample))) {
- memmove(sample_buffer_, sample_buffer_ + sample_buffer_first_ * channels * stream_data->sample_format_bytes_per_sample, (sample_buffer_last_ - sample_buffer_first_) * channels * stream_data->sample_format_bytes_per_sample);
- sample_buffer_last_ -= sample_buffer_first_;
- sample_buffer_first_ = 0;
- }
- sample_buffer_start = sample_buffer_ + sample_buffer_last_ * channels * stream_data->sample_format_bytes_per_sample;
- if(stream_data->has_replaygain && flac_cfg.output.replaygain.enable) {
- FLAC__replaygain_synthesis__apply_gain(
- sample_buffer_start,
- !is_big_endian_host_,
- stream_data->sample_format_bytes_per_sample == 1, /* unsigned_data_out */
- buffer,
- wide_samples,
- channels,
- bits_per_sample,
- stream_data->sample_format_bytes_per_sample * 8,
- stream_data->replay_scale,
- flac_cfg.output.replaygain.hard_limit,
- flac_cfg.output.resolution.replaygain.dither,
- &stream_data->dither_context
- );
- }
- else if(is_big_endian_host_) {
- FLAC__plugin_common__pack_pcm_signed_big_endian(
- sample_buffer_start,
- buffer,
- wide_samples,
- channels,
- bits_per_sample,
- stream_data->sample_format_bytes_per_sample * 8
- );
- }
- else {
- FLAC__plugin_common__pack_pcm_signed_little_endian(
- sample_buffer_start,
- buffer,
- wide_samples,
- channels,
- bits_per_sample,
- stream_data->sample_format_bytes_per_sample * 8
- );
- }
-
- sample_buffer_last_ += wide_samples;
-
- return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
-}
-
-void metadata_callback_(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
-{
- stream_data_struct *stream_data = (stream_data_struct *)client_data;
- (void)decoder;
- if(metadata->type == FLAC__METADATA_TYPE_STREAMINFO) {
- stream_data->total_samples = metadata->data.stream_info.total_samples;
- stream_data->bits_per_sample = metadata->data.stream_info.bits_per_sample;
- stream_data->channels = metadata->data.stream_info.channels;
- stream_data->sample_rate = metadata->data.stream_info.sample_rate;
- {
- FLAC__uint64 l = (FLAC__uint64)((double)stream_data->total_samples / (double)stream_data->sample_rate * 1000.0 + 0.5);
- if (l > INT_MAX)
- l = INT_MAX;
- stream_data->length_in_msec = (int)l;
- }
- }
- else if(metadata->type == FLAC__METADATA_TYPE_VORBIS_COMMENT) {
- double reference, gain, peak;
- if(grabbag__replaygain_load_from_vorbiscomment(metadata, flac_cfg.output.replaygain.album_mode, /*strict=*/false, &reference, &gain, &peak)) {
- stream_data->has_replaygain = true;
- stream_data->replay_scale = grabbag__replaygain_compute_scale_factor(peak, gain, (double)flac_cfg.output.replaygain.preamp, /*prevent_clipping=*/!flac_cfg.output.replaygain.hard_limit);
- }
- }
-}
-
-void error_callback_(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
-{
- stream_data_struct *stream_data = (stream_data_struct *)client_data;
- (void)decoder;
- if(status != FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC)
- stream_data->abort_flag = true;
-}
diff --git a/3rdparty/libflac/src/plugin_xmms/tag.c b/3rdparty/libflac/src/plugin_xmms/tag.c
deleted file mode 100644
index c4a7c940874..00000000000
--- a/3rdparty/libflac/src/plugin_xmms/tag.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/* libxmms-flac - XMMS FLAC input plugin
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Daisuke Shimamura
- *
- * Based on FLAC plugin.c and mpg123 plugin
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <glib.h>
-#include <xmms/plugin.h>
-#include <xmms/util.h>
-#include <xmms/configfile.h>
-#include <xmms/titlestring.h>
-
-#include "FLAC/metadata.h"
-#include "plugin_common/tags.h"
-#include "charset.h"
-#include "configure.h"
-
-/*
- * Function local__extname (filename)
- *
- * Return pointer within filename to its extenstion, or NULL if
- * filename has no extension.
- *
- */
-static char *local__extname(const char *filename)
-{
- char *ext = strrchr(filename, '.');
-
- if (ext != NULL)
- ++ext;
-
- return ext;
-}
-
-static char *local__getstr(char* str)
-{
- if (str && strlen(str) > 0)
- return str;
- return NULL;
-}
-
-static int local__getnum(char* str)
-{
- if (str && strlen(str) > 0)
- return atoi(str);
- return 0;
-}
-
-static char *local__getfield(const FLAC__StreamMetadata *tags, const char *name)
-{
- if (0 != tags) {
- const char *utf8 = FLAC_plugin__tags_get_tag_utf8(tags, name);
- if (0 != utf8) {
- if(flac_cfg.title.convert_char_set)
- return convert_from_utf8_to_user(utf8);
- else
- return strdup(utf8);
- }
- }
-
- return 0;
-}
-
-static void local__safe_free(char *s)
-{
- if (0 != s)
- free(s);
-}
-
-/*
- * Function flac_format_song_title (tag, filename)
- *
- * Create song title according to `tag' and/or `filename' and
- * return it. The title must be subsequently freed using g_free().
- *
- */
-char *flac_format_song_title(char *filename)
-{
- char *ret = NULL;
- TitleInput *input = NULL;
- FLAC__StreamMetadata *tags;
- char *title, *artist, *performer, *album, *date, *tracknumber, *genre, *description;
-
- FLAC_plugin__tags_get(filename, &tags);
-
- title = local__getfield(tags, "TITLE");
- artist = local__getfield(tags, "ARTIST");
- performer = local__getfield(tags, "PERFORMER");
- album = local__getfield(tags, "ALBUM");
- date = local__getfield(tags, "DATE");
- tracknumber = local__getfield(tags, "TRACKNUMBER");
- genre = local__getfield(tags, "GENRE");
- description = local__getfield(tags, "DESCRIPTION");
-
- XMMS_NEW_TITLEINPUT(input);
-
- input->performer = local__getstr(performer);
- if(!input->performer)
- input->performer = local__getstr(artist);
- input->album_name = local__getstr(album);
- input->track_name = local__getstr(title);
- input->track_number = local__getnum(tracknumber);
- input->year = local__getnum(date);
- input->genre = local__getstr(genre);
- input->comment = local__getstr(description);
-
- input->file_name = g_basename(filename);
- input->file_path = filename;
- input->file_ext = local__extname(filename);
- ret = xmms_get_titlestring(flac_cfg.title.tag_override ? flac_cfg.title.tag_format : xmms_get_gentitle_format(), input);
- g_free(input);
-
- if (!ret) {
- /*
- * Format according to filename.
- */
- ret = g_strdup(g_basename(filename));
- if (local__extname(ret) != NULL)
- *(local__extname(ret) - 1) = '\0'; /* removes period */
- }
-
- FLAC_plugin__tags_destroy(&tags);
- local__safe_free(title);
- local__safe_free(artist);
- local__safe_free(performer);
- local__safe_free(album);
- local__safe_free(date);
- local__safe_free(tracknumber);
- local__safe_free(genre);
- local__safe_free(description);
- return ret;
-}
diff --git a/3rdparty/libflac/src/share/Makefile.am b/3rdparty/libflac/src/share/Makefile.am
index 19d71ee6af0..caf61226b77 100644
--- a/3rdparty/libflac/src/share/Makefile.am
+++ b/3rdparty/libflac/src/share/Makefile.am
@@ -1,8 +1,9 @@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2002-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -15,8 +16,58 @@
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-SUBDIRS = getopt replaygain_analysis replaygain_synthesis grabbag utf8
+AUTOMAKE_OPTIONS = subdir-objects
+
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
EXTRA_DIST = \
- Makefile.lite \
- README
+ README \
+ getopt/CMakeLists.txt \
+ grabbag/CMakeLists.txt \
+ replaygain_analysis/CMakeLists.txt \
+ replaygain_synthesis/CMakeLists.txt \
+ utf8/CMakeLists.txt \
+ utf8/charmaps.h \
+ utf8/makemap.c \
+ utf8/charset_test.c
+
+
+noinst_LTLIBRARIES = \
+ getopt/libgetopt.la \
+ grabbag/libgrabbag.la \
+ utf8/libutf8.la \
+ $(libwin_utf8_io) \
+ replaygain_analysis/libreplaygain_analysis.la \
+ replaygain_synthesis/libreplaygain_synthesis.la
+
+
+if OS_IS_WINDOWS
+win_utf8_io_libwin_utf8_io_la_SOURCES = win_utf8_io/win_utf8_io.c
+libwin_utf8_io = win_utf8_io/libwin_utf8_io.la
+else
+win_utf8_io_libwin_utf8_io_la_SOURCES =
+libwin_utf8_io =
+endif
+
+getopt_libgetopt_la_SOURCES = getopt/getopt.c getopt/getopt1.c
+
+grabbag_libgrabbag_la_SOURCES = \
+ grabbag/alloc.c \
+ grabbag/cuesheet.c \
+ grabbag/file.c \
+ grabbag/picture.c \
+ grabbag/replaygain.c \
+ grabbag/seektable.c \
+ grabbag/snprintf.c
+
+utf8_libutf8_la_SOURCES = \
+ utf8/charset.c \
+ utf8/charset.h \
+ utf8/iconvert.c \
+ utf8/iconvert.h \
+ utf8/utf8.c
+
+replaygain_analysis_libreplaygain_analysis_la_SOURCES = replaygain_analysis/replaygain_analysis.c
+
+replaygain_synthesis_libreplaygain_synthesis_la_CFLAGS = -I $(top_srcdir)/src/share/replaygain_synthesis/include
+replaygain_synthesis_libreplaygain_synthesis_la_SOURCES = replaygain_synthesis/replaygain_synthesis.c
diff --git a/3rdparty/libflac/src/share/Makefile.in b/3rdparty/libflac/src/share/Makefile.in
index a348b495267..a9449984156 100644
--- a/3rdparty/libflac/src/share/Makefile.in
+++ b/3rdparty/libflac/src/share/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,10 +15,11 @@
@SET_MAKE@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2002-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -31,16 +32,67 @@
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +104,153 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = src/share
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+getopt_libgetopt_la_LIBADD =
+am__dirstamp = $(am__leading_dot)dirstamp
+am_getopt_libgetopt_la_OBJECTS = getopt/getopt.lo getopt/getopt1.lo
+getopt_libgetopt_la_OBJECTS = $(am_getopt_libgetopt_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+grabbag_libgrabbag_la_LIBADD =
+am_grabbag_libgrabbag_la_OBJECTS = grabbag/alloc.lo \
+ grabbag/cuesheet.lo grabbag/file.lo grabbag/picture.lo \
+ grabbag/replaygain.lo grabbag/seektable.lo grabbag/snprintf.lo
+grabbag_libgrabbag_la_OBJECTS = $(am_grabbag_libgrabbag_la_OBJECTS)
+replaygain_analysis_libreplaygain_analysis_la_LIBADD =
+am_replaygain_analysis_libreplaygain_analysis_la_OBJECTS = \
+ replaygain_analysis/replaygain_analysis.lo
+replaygain_analysis_libreplaygain_analysis_la_OBJECTS = \
+ $(am_replaygain_analysis_libreplaygain_analysis_la_OBJECTS)
+replaygain_synthesis_libreplaygain_synthesis_la_LIBADD =
+am_replaygain_synthesis_libreplaygain_synthesis_la_OBJECTS = replaygain_synthesis/libreplaygain_synthesis_la-replaygain_synthesis.lo
+replaygain_synthesis_libreplaygain_synthesis_la_OBJECTS = \
+ $(am_replaygain_synthesis_libreplaygain_synthesis_la_OBJECTS)
+replaygain_synthesis_libreplaygain_synthesis_la_LINK = $(LIBTOOL) \
+ $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) \
+ $(replaygain_synthesis_libreplaygain_synthesis_la_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+utf8_libutf8_la_LIBADD =
+am_utf8_libutf8_la_OBJECTS = utf8/charset.lo utf8/iconvert.lo \
+ utf8/utf8.lo
+utf8_libutf8_la_OBJECTS = $(am_utf8_libutf8_la_OBJECTS)
+win_utf8_io_libwin_utf8_io_la_LIBADD =
+am__win_utf8_io_libwin_utf8_io_la_SOURCES_DIST = \
+ win_utf8_io/win_utf8_io.c
+@OS_IS_WINDOWS_TRUE@am_win_utf8_io_libwin_utf8_io_la_OBJECTS = \
+@OS_IS_WINDOWS_TRUE@ win_utf8_io/win_utf8_io.lo
+win_utf8_io_libwin_utf8_io_la_OBJECTS = \
+ $(am_win_utf8_io_libwin_utf8_io_la_OBJECTS)
+@OS_IS_WINDOWS_TRUE@am_win_utf8_io_libwin_utf8_io_la_rpath =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = getopt/$(DEPDIR)/getopt.Plo \
+ getopt/$(DEPDIR)/getopt1.Plo grabbag/$(DEPDIR)/alloc.Plo \
+ grabbag/$(DEPDIR)/cuesheet.Plo grabbag/$(DEPDIR)/file.Plo \
+ grabbag/$(DEPDIR)/picture.Plo grabbag/$(DEPDIR)/replaygain.Plo \
+ grabbag/$(DEPDIR)/seektable.Plo grabbag/$(DEPDIR)/snprintf.Plo \
+ replaygain_analysis/$(DEPDIR)/replaygain_analysis.Plo \
+ replaygain_synthesis/$(DEPDIR)/libreplaygain_synthesis_la-replaygain_synthesis.Plo \
+ utf8/$(DEPDIR)/charset.Plo utf8/$(DEPDIR)/iconvert.Plo \
+ utf8/$(DEPDIR)/utf8.Plo win_utf8_io/$(DEPDIR)/win_utf8_io.Plo
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(getopt_libgetopt_la_SOURCES) \
+ $(grabbag_libgrabbag_la_SOURCES) \
+ $(replaygain_analysis_libreplaygain_analysis_la_SOURCES) \
+ $(replaygain_synthesis_libreplaygain_synthesis_la_SOURCES) \
+ $(utf8_libutf8_la_SOURCES) \
+ $(win_utf8_io_libwin_utf8_io_la_SOURCES)
+DIST_SOURCES = $(getopt_libgetopt_la_SOURCES) \
+ $(grabbag_libgrabbag_la_SOURCES) \
+ $(replaygain_analysis_libreplaygain_analysis_la_SOURCES) \
+ $(replaygain_synthesis_libreplaygain_synthesis_la_SOURCES) \
+ $(utf8_libutf8_la_SOURCES) \
+ $(am__win_utf8_io_libwin_utf8_io_la_SOURCES_DIST)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp README
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,459 +259,646 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
-SUBDIRS = getopt replaygain_analysis replaygain_synthesis grabbag utf8
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = subdir-objects
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
EXTRA_DIST = \
- Makefile.lite \
- README
-
-subdir = src/share
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = README $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
-all: all-recursive
+ README \
+ getopt/CMakeLists.txt \
+ grabbag/CMakeLists.txt \
+ replaygain_analysis/CMakeLists.txt \
+ replaygain_synthesis/CMakeLists.txt \
+ utf8/CMakeLists.txt \
+ utf8/charmaps.h \
+ utf8/makemap.c \
+ utf8/charset_test.c
+
+noinst_LTLIBRARIES = \
+ getopt/libgetopt.la \
+ grabbag/libgrabbag.la \
+ utf8/libutf8.la \
+ $(libwin_utf8_io) \
+ replaygain_analysis/libreplaygain_analysis.la \
+ replaygain_synthesis/libreplaygain_synthesis.la
+
+@OS_IS_WINDOWS_FALSE@win_utf8_io_libwin_utf8_io_la_SOURCES =
+@OS_IS_WINDOWS_TRUE@win_utf8_io_libwin_utf8_io_la_SOURCES = win_utf8_io/win_utf8_io.c
+@OS_IS_WINDOWS_FALSE@libwin_utf8_io =
+@OS_IS_WINDOWS_TRUE@libwin_utf8_io = win_utf8_io/libwin_utf8_io.la
+getopt_libgetopt_la_SOURCES = getopt/getopt.c getopt/getopt1.c
+grabbag_libgrabbag_la_SOURCES = \
+ grabbag/alloc.c \
+ grabbag/cuesheet.c \
+ grabbag/file.c \
+ grabbag/picture.c \
+ grabbag/replaygain.c \
+ grabbag/seektable.c \
+ grabbag/snprintf.c
+
+utf8_libutf8_la_SOURCES = \
+ utf8/charset.c \
+ utf8/charset.h \
+ utf8/iconvert.c \
+ utf8/iconvert.h \
+ utf8/utf8.c
+
+replaygain_analysis_libreplaygain_analysis_la_SOURCES = replaygain_analysis/replaygain_analysis.c
+replaygain_synthesis_libreplaygain_synthesis_la_CFLAGS = -I $(top_srcdir)/src/share/replaygain_synthesis/include
+replaygain_synthesis_libreplaygain_synthesis_la_SOURCES = replaygain_synthesis/replaygain_synthesis.c
+all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/share/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/share/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/share/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+getopt/$(am__dirstamp):
+ @$(MKDIR_P) getopt
+ @: > getopt/$(am__dirstamp)
+getopt/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) getopt/$(DEPDIR)
+ @: > getopt/$(DEPDIR)/$(am__dirstamp)
+getopt/getopt.lo: getopt/$(am__dirstamp) \
+ getopt/$(DEPDIR)/$(am__dirstamp)
+getopt/getopt1.lo: getopt/$(am__dirstamp) \
+ getopt/$(DEPDIR)/$(am__dirstamp)
+
+getopt/libgetopt.la: $(getopt_libgetopt_la_OBJECTS) $(getopt_libgetopt_la_DEPENDENCIES) $(EXTRA_getopt_libgetopt_la_DEPENDENCIES) getopt/$(am__dirstamp)
+ $(AM_V_CCLD)$(LINK) $(getopt_libgetopt_la_OBJECTS) $(getopt_libgetopt_la_LIBADD) $(LIBS)
+grabbag/$(am__dirstamp):
+ @$(MKDIR_P) grabbag
+ @: > grabbag/$(am__dirstamp)
+grabbag/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) grabbag/$(DEPDIR)
+ @: > grabbag/$(DEPDIR)/$(am__dirstamp)
+grabbag/alloc.lo: grabbag/$(am__dirstamp) \
+ grabbag/$(DEPDIR)/$(am__dirstamp)
+grabbag/cuesheet.lo: grabbag/$(am__dirstamp) \
+ grabbag/$(DEPDIR)/$(am__dirstamp)
+grabbag/file.lo: grabbag/$(am__dirstamp) \
+ grabbag/$(DEPDIR)/$(am__dirstamp)
+grabbag/picture.lo: grabbag/$(am__dirstamp) \
+ grabbag/$(DEPDIR)/$(am__dirstamp)
+grabbag/replaygain.lo: grabbag/$(am__dirstamp) \
+ grabbag/$(DEPDIR)/$(am__dirstamp)
+grabbag/seektable.lo: grabbag/$(am__dirstamp) \
+ grabbag/$(DEPDIR)/$(am__dirstamp)
+grabbag/snprintf.lo: grabbag/$(am__dirstamp) \
+ grabbag/$(DEPDIR)/$(am__dirstamp)
+
+grabbag/libgrabbag.la: $(grabbag_libgrabbag_la_OBJECTS) $(grabbag_libgrabbag_la_DEPENDENCIES) $(EXTRA_grabbag_libgrabbag_la_DEPENDENCIES) grabbag/$(am__dirstamp)
+ $(AM_V_CCLD)$(LINK) $(grabbag_libgrabbag_la_OBJECTS) $(grabbag_libgrabbag_la_LIBADD) $(LIBS)
+replaygain_analysis/$(am__dirstamp):
+ @$(MKDIR_P) replaygain_analysis
+ @: > replaygain_analysis/$(am__dirstamp)
+replaygain_analysis/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) replaygain_analysis/$(DEPDIR)
+ @: > replaygain_analysis/$(DEPDIR)/$(am__dirstamp)
+replaygain_analysis/replaygain_analysis.lo: \
+ replaygain_analysis/$(am__dirstamp) \
+ replaygain_analysis/$(DEPDIR)/$(am__dirstamp)
+
+replaygain_analysis/libreplaygain_analysis.la: $(replaygain_analysis_libreplaygain_analysis_la_OBJECTS) $(replaygain_analysis_libreplaygain_analysis_la_DEPENDENCIES) $(EXTRA_replaygain_analysis_libreplaygain_analysis_la_DEPENDENCIES) replaygain_analysis/$(am__dirstamp)
+ $(AM_V_CCLD)$(LINK) $(replaygain_analysis_libreplaygain_analysis_la_OBJECTS) $(replaygain_analysis_libreplaygain_analysis_la_LIBADD) $(LIBS)
+replaygain_synthesis/$(am__dirstamp):
+ @$(MKDIR_P) replaygain_synthesis
+ @: > replaygain_synthesis/$(am__dirstamp)
+replaygain_synthesis/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) replaygain_synthesis/$(DEPDIR)
+ @: > replaygain_synthesis/$(DEPDIR)/$(am__dirstamp)
+replaygain_synthesis/libreplaygain_synthesis_la-replaygain_synthesis.lo: \
+ replaygain_synthesis/$(am__dirstamp) \
+ replaygain_synthesis/$(DEPDIR)/$(am__dirstamp)
+
+replaygain_synthesis/libreplaygain_synthesis.la: $(replaygain_synthesis_libreplaygain_synthesis_la_OBJECTS) $(replaygain_synthesis_libreplaygain_synthesis_la_DEPENDENCIES) $(EXTRA_replaygain_synthesis_libreplaygain_synthesis_la_DEPENDENCIES) replaygain_synthesis/$(am__dirstamp)
+ $(AM_V_CCLD)$(replaygain_synthesis_libreplaygain_synthesis_la_LINK) $(replaygain_synthesis_libreplaygain_synthesis_la_OBJECTS) $(replaygain_synthesis_libreplaygain_synthesis_la_LIBADD) $(LIBS)
+utf8/$(am__dirstamp):
+ @$(MKDIR_P) utf8
+ @: > utf8/$(am__dirstamp)
+utf8/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) utf8/$(DEPDIR)
+ @: > utf8/$(DEPDIR)/$(am__dirstamp)
+utf8/charset.lo: utf8/$(am__dirstamp) utf8/$(DEPDIR)/$(am__dirstamp)
+utf8/iconvert.lo: utf8/$(am__dirstamp) utf8/$(DEPDIR)/$(am__dirstamp)
+utf8/utf8.lo: utf8/$(am__dirstamp) utf8/$(DEPDIR)/$(am__dirstamp)
+
+utf8/libutf8.la: $(utf8_libutf8_la_OBJECTS) $(utf8_libutf8_la_DEPENDENCIES) $(EXTRA_utf8_libutf8_la_DEPENDENCIES) utf8/$(am__dirstamp)
+ $(AM_V_CCLD)$(LINK) $(utf8_libutf8_la_OBJECTS) $(utf8_libutf8_la_LIBADD) $(LIBS)
+win_utf8_io/$(am__dirstamp):
+ @$(MKDIR_P) win_utf8_io
+ @: > win_utf8_io/$(am__dirstamp)
+win_utf8_io/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) win_utf8_io/$(DEPDIR)
+ @: > win_utf8_io/$(DEPDIR)/$(am__dirstamp)
+win_utf8_io/win_utf8_io.lo: win_utf8_io/$(am__dirstamp) \
+ win_utf8_io/$(DEPDIR)/$(am__dirstamp)
+
+win_utf8_io/libwin_utf8_io.la: $(win_utf8_io_libwin_utf8_io_la_OBJECTS) $(win_utf8_io_libwin_utf8_io_la_DEPENDENCIES) $(EXTRA_win_utf8_io_libwin_utf8_io_la_DEPENDENCIES) win_utf8_io/$(am__dirstamp)
+ $(AM_V_CCLD)$(LINK) $(am_win_utf8_io_libwin_utf8_io_la_rpath) $(win_utf8_io_libwin_utf8_io_la_OBJECTS) $(win_utf8_io_libwin_utf8_io_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+ -rm -f getopt/*.$(OBJEXT)
+ -rm -f getopt/*.lo
+ -rm -f grabbag/*.$(OBJEXT)
+ -rm -f grabbag/*.lo
+ -rm -f replaygain_analysis/*.$(OBJEXT)
+ -rm -f replaygain_analysis/*.lo
+ -rm -f replaygain_synthesis/*.$(OBJEXT)
+ -rm -f replaygain_synthesis/*.lo
+ -rm -f utf8/*.$(OBJEXT)
+ -rm -f utf8/*.lo
+ -rm -f win_utf8_io/*.$(OBJEXT)
+ -rm -f win_utf8_io/*.lo
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@getopt/$(DEPDIR)/getopt.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@getopt/$(DEPDIR)/getopt1.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@grabbag/$(DEPDIR)/alloc.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@grabbag/$(DEPDIR)/cuesheet.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@grabbag/$(DEPDIR)/file.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@grabbag/$(DEPDIR)/picture.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@grabbag/$(DEPDIR)/replaygain.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@grabbag/$(DEPDIR)/seektable.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@grabbag/$(DEPDIR)/snprintf.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@replaygain_analysis/$(DEPDIR)/replaygain_analysis.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@replaygain_synthesis/$(DEPDIR)/libreplaygain_synthesis_la-replaygain_synthesis.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@utf8/$(DEPDIR)/charset.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@utf8/$(DEPDIR)/iconvert.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@utf8/$(DEPDIR)/utf8.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@win_utf8_io/$(DEPDIR)/win_utf8_io.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+replaygain_synthesis/libreplaygain_synthesis_la-replaygain_synthesis.lo: replaygain_synthesis/replaygain_synthesis.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(replaygain_synthesis_libreplaygain_synthesis_la_CFLAGS) $(CFLAGS) -MT replaygain_synthesis/libreplaygain_synthesis_la-replaygain_synthesis.lo -MD -MP -MF replaygain_synthesis/$(DEPDIR)/libreplaygain_synthesis_la-replaygain_synthesis.Tpo -c -o replaygain_synthesis/libreplaygain_synthesis_la-replaygain_synthesis.lo `test -f 'replaygain_synthesis/replaygain_synthesis.c' || echo '$(srcdir)/'`replaygain_synthesis/replaygain_synthesis.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) replaygain_synthesis/$(DEPDIR)/libreplaygain_synthesis_la-replaygain_synthesis.Tpo replaygain_synthesis/$(DEPDIR)/libreplaygain_synthesis_la-replaygain_synthesis.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='replaygain_synthesis/replaygain_synthesis.c' object='replaygain_synthesis/libreplaygain_synthesis_la-replaygain_synthesis.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(replaygain_synthesis_libreplaygain_synthesis_la_CFLAGS) $(CFLAGS) -c -o replaygain_synthesis/libreplaygain_synthesis_la-replaygain_synthesis.lo `test -f 'replaygain_synthesis/replaygain_synthesis.c' || echo '$(srcdir)/'`replaygain_synthesis/replaygain_synthesis.c
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
+ -rm -rf getopt/.libs getopt/_libs
+ -rm -rf grabbag/.libs grabbag/_libs
+ -rm -rf replaygain_analysis/.libs replaygain_analysis/_libs
+ -rm -rf replaygain_synthesis/.libs replaygain_synthesis/_libs
+ -rm -rf utf8/.libs utf8/_libs
+ -rm -rf win_utf8_io/.libs win_utf8_io/_libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
else \
- local_target="$$target"; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
+ fi
+ctags: ctags-am
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- else \
- include_option=--include; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
- distdir) \
- || exit 1; \
fi; \
done
check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
+check: check-am
+all-am: Makefile $(LTLIBRARIES)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-installcheck: installcheck-recursive
+installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -rm -f getopt/$(DEPDIR)/$(am__dirstamp)
+ -rm -f getopt/$(am__dirstamp)
+ -rm -f grabbag/$(DEPDIR)/$(am__dirstamp)
+ -rm -f grabbag/$(am__dirstamp)
+ -rm -f replaygain_analysis/$(DEPDIR)/$(am__dirstamp)
+ -rm -f replaygain_analysis/$(am__dirstamp)
+ -rm -f replaygain_synthesis/$(DEPDIR)/$(am__dirstamp)
+ -rm -f replaygain_synthesis/$(am__dirstamp)
+ -rm -f utf8/$(DEPDIR)/$(am__dirstamp)
+ -rm -f utf8/$(am__dirstamp)
+ -rm -f win_utf8_io/$(DEPDIR)/$(am__dirstamp)
+ -rm -f win_utf8_io/$(am__dirstamp)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -f getopt/$(DEPDIR)/getopt.Plo
+ -rm -f getopt/$(DEPDIR)/getopt1.Plo
+ -rm -f grabbag/$(DEPDIR)/alloc.Plo
+ -rm -f grabbag/$(DEPDIR)/cuesheet.Plo
+ -rm -f grabbag/$(DEPDIR)/file.Plo
+ -rm -f grabbag/$(DEPDIR)/picture.Plo
+ -rm -f grabbag/$(DEPDIR)/replaygain.Plo
+ -rm -f grabbag/$(DEPDIR)/seektable.Plo
+ -rm -f grabbag/$(DEPDIR)/snprintf.Plo
+ -rm -f replaygain_analysis/$(DEPDIR)/replaygain_analysis.Plo
+ -rm -f replaygain_synthesis/$(DEPDIR)/libreplaygain_synthesis_la-replaygain_synthesis.Plo
+ -rm -f utf8/$(DEPDIR)/charset.Plo
+ -rm -f utf8/$(DEPDIR)/iconvert.Plo
+ -rm -f utf8/$(DEPDIR)/utf8.Plo
+ -rm -f win_utf8_io/$(DEPDIR)/win_utf8_io.Plo
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
+distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
-dvi: dvi-recursive
+dvi: dvi-am
dvi-am:
-info: info-recursive
+html: html-am
+
+html-am:
+
+info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
-install-info: install-info-recursive
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
-maintainer-clean: maintainer-clean-recursive
+maintainer-clean: maintainer-clean-am
+ -rm -f getopt/$(DEPDIR)/getopt.Plo
+ -rm -f getopt/$(DEPDIR)/getopt1.Plo
+ -rm -f grabbag/$(DEPDIR)/alloc.Plo
+ -rm -f grabbag/$(DEPDIR)/cuesheet.Plo
+ -rm -f grabbag/$(DEPDIR)/file.Plo
+ -rm -f grabbag/$(DEPDIR)/picture.Plo
+ -rm -f grabbag/$(DEPDIR)/replaygain.Plo
+ -rm -f grabbag/$(DEPDIR)/seektable.Plo
+ -rm -f grabbag/$(DEPDIR)/snprintf.Plo
+ -rm -f replaygain_analysis/$(DEPDIR)/replaygain_analysis.Plo
+ -rm -f replaygain_synthesis/$(DEPDIR)/libreplaygain_synthesis_la-replaygain_synthesis.Plo
+ -rm -f utf8/$(DEPDIR)/charset.Plo
+ -rm -f utf8/$(DEPDIR)/iconvert.Plo
+ -rm -f utf8/$(DEPDIR)/utf8.Plo
+ -rm -f win_utf8_io/$(DEPDIR)/win_utf8_io.Plo
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
-mostlyclean: mostlyclean-recursive
+mostlyclean: mostlyclean-am
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
-pdf: pdf-recursive
+pdf: pdf-am
pdf-am:
-ps: ps-recursive
+ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-generic clean-libtool clean-noinstLTLIBRARIES \
+ cscopelist-am ctags ctags-am distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/src/share/Makefile.lite b/3rdparty/libflac/src/share/Makefile.lite
deleted file mode 100644
index 9ed2198eb21..00000000000
--- a/3rdparty/libflac/src/share/Makefile.lite
+++ /dev/null
@@ -1,53 +0,0 @@
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-.PHONY: all getopt grabbag replaygain_analysis replaygain_synthesis utf8
-all: getopt grabbag replaygain_analysis replaygain_synthesis utf8
-
-DEFAULT_CONFIG = release
-
-CONFIG = $(DEFAULT_CONFIG)
-
-debug : CONFIG = debug
-valgrind: CONFIG = valgrind
-release : CONFIG = release
-
-debug : all
-valgrind: all
-release : all
-
-getopt:
- (cd $@ ; $(MAKE) -f Makefile.lite $(CONFIG))
-
-grabbag:
- (cd $@ ; $(MAKE) -f Makefile.lite $(CONFIG))
-
-replaygain_analysis:
- (cd $@ ; $(MAKE) -f Makefile.lite $(CONFIG))
-
-replaygain_synthesis:
- (cd $@ ; $(MAKE) -f Makefile.lite $(CONFIG))
-
-utf8:
- (cd $@ ; $(MAKE) -f Makefile.lite $(CONFIG))
-
-clean:
- -(cd getopt ; $(MAKE) -f Makefile.lite clean)
- -(cd grabbag ; $(MAKE) -f Makefile.lite clean)
- -(cd replaygain_analysis ; $(MAKE) -f Makefile.lite clean)
- -(cd replaygain_synthesis ; $(MAKE) -f Makefile.lite clean)
- -(cd utf8 ; $(MAKE) -f Makefile.lite clean)
diff --git a/3rdparty/libflac/src/share/getopt/CMakeLists.txt b/3rdparty/libflac/src/share/getopt/CMakeLists.txt
new file mode 100644
index 00000000000..d905615e156
--- /dev/null
+++ b/3rdparty/libflac/src/share/getopt/CMakeLists.txt
@@ -0,0 +1,13 @@
+check_include_file("string.h" HAVE_STRING_H)
+
+if(NOT WIN32)
+ find_package(Intl)
+endif()
+
+add_library(getopt STATIC getopt.c getopt1.c)
+
+if(Intl_FOUND)
+ target_include_directories(getopt PRIVATE ${Intl_INCLUDE_DIRS})
+ target_link_libraries(getopt PUBLIC ${Intl_LIBRARIES})
+ target_compile_definitions(getopt PRIVATE HAVE_LIBINTL_H)
+endif()
diff --git a/3rdparty/libflac/src/share/getopt/Makefile.am b/3rdparty/libflac/src/share/getopt/Makefile.am
deleted file mode 100644
index f40464e638b..00000000000
--- a/3rdparty/libflac/src/share/getopt/Makefile.am
+++ /dev/null
@@ -1,20 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-AUTOMAKE_OPTIONS = foreign
-
-INCLUDES = -I$(top_srcdir)/include/share
-
-noinst_LIBRARIES = libgetopt.a
-
-libgetopt_a_SOURCES = getopt.c getopt1.c
-
-EXTRA_DIST = \
- Makefile.lite \
- getopt_static.dsp \
- getopt_static.vcproj
-
-debug:
- $(MAKE) all CFLAGS="@DEBUG@"
-
-profile:
- $(MAKE) all CFLAGS="@PROFILE@"
diff --git a/3rdparty/libflac/src/share/getopt/Makefile.in b/3rdparty/libflac/src/share/getopt/Makefile.in
deleted file mode 100644
index 4a2fbc9b452..00000000000
--- a/3rdparty/libflac/src/share/getopt/Makefile.in
+++ /dev/null
@@ -1,496 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-AUTOMAKE_OPTIONS = foreign
-
-INCLUDES = -I$(top_srcdir)/include/share
-
-noinst_LIBRARIES = libgetopt.a
-
-libgetopt_a_SOURCES = getopt.c getopt1.c
-
-EXTRA_DIST = \
- Makefile.lite \
- getopt_static.dsp \
- getopt_static.vcproj
-
-subdir = src/share/getopt
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LIBRARIES = $(noinst_LIBRARIES)
-
-libgetopt_a_AR = $(AR) cru
-libgetopt_a_LIBADD =
-am_libgetopt_a_OBJECTS = getopt.$(OBJEXT) getopt1.$(OBJEXT)
-libgetopt_a_OBJECTS = $(am_libgetopt_a_OBJECTS)
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/getopt.Po ./$(DEPDIR)/getopt1.Po
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(libgetopt_a_SOURCES)
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(libgetopt_a_SOURCES)
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign src/share/getopt/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-clean-noinstLIBRARIES:
- -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libgetopt.a: $(libgetopt_a_OBJECTS) $(libgetopt_a_DEPENDENCIES)
- -rm -f libgetopt.a
- $(libgetopt_a_AR) libgetopt.a $(libgetopt_a_OBJECTS) $(libgetopt_a_LIBADD)
- $(RANLIB) libgetopt.a
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LIBRARIES)
-
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
- pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
-
-
-debug:
- $(MAKE) all CFLAGS="@DEBUG@"
-
-profile:
- $(MAKE) all CFLAGS="@PROFILE@"
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/src/share/getopt/Makefile.lite b/3rdparty/libflac/src/share/getopt/Makefile.lite
deleted file mode 100644
index e36f341d37b..00000000000
--- a/3rdparty/libflac/src/share/getopt/Makefile.lite
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# GNU makefile
-#
-
-topdir = ../../..
-
-LIB_NAME = libgetopt
-INCLUDES = -I$(topdir)/include -I$(topdir)/include/share
-
-SRCS_C = \
- getopt.c \
- getopt1.c
-
-include $(topdir)/build/lib.mk
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/src/share/getopt/getopt.c b/3rdparty/libflac/src/share/getopt/getopt.c
index 279dff0216b..39fab80e2c3 100644
--- a/3rdparty/libflac/src/share/getopt/getopt.c
+++ b/3rdparty/libflac/src/share/getopt/getopt.c
@@ -6,7 +6,7 @@
of code with the ELIDE_CODE #define is not accurate enough on systems
that are POSIX but not glibc. If someone has a patch that works on
GNU/Linux, Darwin, AND Solaris please submit it on the project page:
- http://sourceforge.net/projects/flac
+ https://sourceforge.net/p/flac/patches/
In the meantime I have munged the global symbols and removed gates
around code, while at the same time trying to touch the original as
@@ -32,8 +32,8 @@
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
Ditto for AIX 3.2 and <stdlib.h>. */
@@ -41,7 +41,7 @@
# define _NO_PROTO
#endif
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -86,7 +86,7 @@
#ifdef VMS
# include <unixlib.h>
-# if HAVE_STRING_H - 0
+# ifdef HAVE_STRING_H
# include <string.h>
# endif
#endif
@@ -220,13 +220,11 @@ static char *posixly_correct;
whose names are inconsistent. */
#ifndef getenv
-extern char *getenv ();
+extern char *getenv (const char * name);
#endif
static char *
-my_index (str, chr)
- const char *str;
- int chr;
+my_index (const char *str, int chr)
{
while (*str)
{
@@ -314,8 +312,7 @@ static void exchange (char **);
#endif
static void
-exchange (argv)
- char **argv;
+exchange (char **argv)
{
int bottom = first_nonopt;
int middle = last_nonopt;
@@ -399,10 +396,7 @@ exchange (argv)
static const char *share___getopt_initialize (int, char *const *, const char *);
#endif
static const char *
-share___getopt_initialize (argc, argv, optstring)
- int argc;
- char *const *argv;
- const char *optstring;
+share___getopt_initialize (int argc, char *const *argv, const char *optstring )
{
/* Start processing options with ARGV-element 1 (since ARGV-element 0
is the program name); the sequence of previously skipped
@@ -447,7 +441,7 @@ share___getopt_initialize (argc, argv, optstring)
if (nonoption_flags_max_len < argc)
nonoption_flags_max_len = argc;
__getopt_nonoption_flags =
- (char *) malloc (nonoption_flags_max_len);
+ malloc (nonoption_flags_max_len);
if (__getopt_nonoption_flags == NULL)
nonoption_flags_max_len = -1;
else
@@ -523,13 +517,13 @@ share___getopt_initialize (argc, argv, optstring)
long-named options. */
int
-share___getopt_internal (argc, argv, optstring, longopts, longind, long_only)
- int argc;
- char *const *argv;
- const char *optstring;
- const struct share__option *longopts;
- int *longind;
- int long_only;
+share___getopt_internal (
+ int argc,
+ char *const *argv,
+ const char *optstring,
+ const struct share__option *longopts,
+ int *longind,
+ int long_only )
{
share__optarg = NULL;
@@ -665,8 +659,7 @@ share___getopt_internal (argc, argv, optstring, longopts, longind, long_only)
for (p = longopts, option_index = 0; p->name; p++, option_index++)
if (!strncmp (p->name, nextchar, nameend - nextchar))
{
- if ((unsigned int) (nameend - nextchar)
- == (unsigned int) strlen (p->name))
+ if ((size_t) (nameend - nextchar) == strlen (p->name))
{
/* Exact match found. */
pfound = p;
@@ -854,7 +847,7 @@ share___getopt_internal (argc, argv, optstring, longopts, longind, long_only)
for (p = longopts, option_index = 0; p->name; p++, option_index++)
if (!strncmp (p->name, nextchar, nameend - nextchar))
{
- if ((unsigned int) (nameend - nextchar) == strlen (p->name))
+ if ((size_t) (nameend - nextchar) == strlen (p->name))
{
/* Exact match found. */
pfound = p;
@@ -979,10 +972,7 @@ share___getopt_internal (argc, argv, optstring, longopts, longind, long_only)
}
int
-share__getopt (argc, argv, optstring)
- int argc;
- char *const *argv;
- const char *optstring;
+share__getopt (int argc, char *const *argv, const char *optstring)
{
return share___getopt_internal (argc, argv, optstring,
(const struct share__option *) 0,
@@ -998,9 +988,7 @@ share__getopt (argc, argv, optstring)
the above definition of `share__getopt'. */
int
-main (argc, argv)
- int argc;
- char **argv;
+main (int argc, char **argv)
{
int c;
int digit_optind = 0;
diff --git a/3rdparty/libflac/src/share/getopt/getopt1.c b/3rdparty/libflac/src/share/getopt/getopt1.c
index 1e57486b6cb..fc526784606 100644
--- a/3rdparty/libflac/src/share/getopt/getopt1.c
+++ b/3rdparty/libflac/src/share/getopt/getopt1.c
@@ -6,7 +6,7 @@
of code with the ELIDE_CODE #define is not accurate enough on systems
that are POSIX but not glibc. If someone has a patch that works on
GNU/Linux, Darwin, AND Solaris please submit it on the project page:
- http://sourceforge.net/projects/flac
+ https://sourceforge.net/p/flac/patches/
In the meantime I have munged the global symbols and removed gates
around code, while at the same time trying to touch the original as
@@ -29,16 +29,13 @@
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
-#include "share/getopt.h"
-/*[JEC] was:#include "getopt.h"*/
-
#if !defined __STDC__ || !__STDC__
/* This is a separate conditional since some stdc systems
reject `defined (const)'. */
@@ -49,6 +46,9 @@
#include <stdio.h>
+#include "share/getopt.h"
+/*[JEC] was:#include "getopt.h"*/
+
/* Comment out all this code if we are using the GNU C Library, and are not
actually compiling the library itself. This code is part of the GNU C
Library, but also included in many other GNU distributions. Compiling
@@ -79,13 +79,7 @@
#define NULL 0
#endif
-int
-share__getopt_long (argc, argv, options, long_options, opt_index)
- int argc;
- char *const *argv;
- const char *options;
- const struct share__option *long_options;
- int *opt_index;
+int share__getopt_long(int argc, char *const *argv, const char *options, const struct share__option *long_options, int *opt_index)
{
return share___getopt_internal (argc, argv, options, long_options, opt_index, 0);
}
@@ -95,13 +89,7 @@ share__getopt_long (argc, argv, options, long_options, opt_index)
but does match a short option, it is parsed as a short option
instead. */
-int
-share__getopt_long_only (argc, argv, options, long_options, opt_index)
- int argc;
- char *const *argv;
- const char *options;
- const struct share__option *long_options;
- int *opt_index;
+int share__getopt_long_only(int argc, char *const *argv, const char *options, const struct share__option *long_options, int *opt_index)
{
return share___getopt_internal (argc, argv, options, long_options, opt_index, 1);
}
@@ -113,10 +101,7 @@ share__getopt_long_only (argc, argv, options, long_options, opt_index)
#include <stdio.h>
-int
-main (argc, argv)
- int argc;
- char **argv;
+int main(int argc, char **argv)
{
int c;
int digit_optind = 0;
diff --git a/3rdparty/libflac/src/share/getopt/getopt_static.dsp b/3rdparty/libflac/src/share/getopt/getopt_static.dsp
deleted file mode 100644
index 1cdbd71080d..00000000000
--- a/3rdparty/libflac/src/share/getopt/getopt_static.dsp
+++ /dev/null
@@ -1,112 +0,0 @@
-# Microsoft Developer Studio Project File - Name="getopt_static" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=getopt_static - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "getopt_static.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "getopt_static.mak" CFG="getopt_static - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "getopt_static - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "getopt_static - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "getopt"
-# PROP Scc_LocalPath "..\..\.."
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "getopt_static - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\obj\release\lib"
-# PROP Intermediate_Dir "Release_static"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I ".\include" /I "..\..\..\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /nodefaultlib
-
-!ELSEIF "$(CFG)" == "getopt_static - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\obj\debug\lib"
-# PROP Intermediate_Dir "Debug_static"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I ".\include" /I "..\..\..\include" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /nodefaultlib
-
-!ENDIF
-
-# Begin Target
-
-# Name "getopt_static - Win32 Release"
-# Name "getopt_static - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "c"
-# Begin Source File
-
-SOURCE=.\getopt.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\getopt1.c
-# End Source File
-# End Group
-# Begin Group "Private Header Files"
-
-# PROP Default_Filter ""
-# End Group
-# Begin Group "Protected Header Files"
-
-# PROP Default_Filter ""
-# End Group
-# Begin Group "Public Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\..\include\share\getopt.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/share/getopt/getopt_static.vcproj b/3rdparty/libflac/src/share/getopt/getopt_static.vcproj
deleted file mode 100644
index 028c82d0b45..00000000000
--- a/3rdparty/libflac/src/share/getopt/getopt_static.vcproj
+++ /dev/null
@@ -1,185 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="getopt_static"
- ProjectGUID="{4cefbc80-c215-11db-8314-0800200c9a66}"
- RootNamespace="getopt_static"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\..\obj\debug\lib"
- IntermediateDirectory="Debug_static"
- ConfigurationType="4"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".\include;..\..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\obj\debug\lib\$(ProjectName).lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\..\obj\release\lib"
- IntermediateDirectory="Release_static"
- ConfigurationType="4"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".\include;..\..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\obj\release\lib\$(ProjectName).lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\getopt.c"
- >
- </File>
- <File
- RelativePath=".\getopt1.c"
- >
- </File>
- </Filter>
- <Filter
- Name="Public Header Files"
- >
- <File
- RelativePath="..\..\..\include\share\getopt.h"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/share/grabbag/CMakeLists.txt b/3rdparty/libflac/src/share/grabbag/CMakeLists.txt
new file mode 100644
index 00000000000..203ae3f4c27
--- /dev/null
+++ b/3rdparty/libflac/src/share/grabbag/CMakeLists.txt
@@ -0,0 +1,14 @@
+add_library(grabbag STATIC
+ alloc.c
+ cuesheet.c
+ file.c
+ picture.c
+ replaygain.c
+ seektable.c
+ snprintf.c)
+target_link_libraries(grabbag PUBLIC
+ FLAC
+ replaygain_analysis)
+if(TARGET win_utf8_io)
+ target_link_libraries(grabbag PUBLIC win_utf8_io)
+endif()
diff --git a/3rdparty/libflac/src/share/grabbag/Makefile.am b/3rdparty/libflac/src/share/grabbag/Makefile.am
deleted file mode 100644
index 879b15511a5..00000000000
--- a/3rdparty/libflac/src/share/grabbag/Makefile.am
+++ /dev/null
@@ -1,25 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-AUTOMAKE_OPTIONS = foreign
-
-INCLUDES = -I$(top_srcdir)/include
-
-noinst_LTLIBRARIES = libgrabbag.la
-
-libgrabbag_la_SOURCES = \
- cuesheet.c \
- file.c \
- picture.c \
- replaygain.c \
- seektable.c
-
-EXTRA_DIST = \
- Makefile.lite \
- grabbag_static.dsp \
- grabbag_static.vcproj
-
-debug:
- $(MAKE) all CFLAGS="@DEBUG@"
-
-profile:
- $(MAKE) all CFLAGS="@PROFILE@"
diff --git a/3rdparty/libflac/src/share/grabbag/Makefile.in b/3rdparty/libflac/src/share/grabbag/Makefile.in
deleted file mode 100644
index a7780a3c644..00000000000
--- a/3rdparty/libflac/src/share/grabbag/Makefile.in
+++ /dev/null
@@ -1,512 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-AUTOMAKE_OPTIONS = foreign
-
-INCLUDES = -I$(top_srcdir)/include
-
-noinst_LTLIBRARIES = libgrabbag.la
-
-libgrabbag_la_SOURCES = \
- cuesheet.c \
- file.c \
- picture.c \
- replaygain.c \
- seektable.c
-
-
-EXTRA_DIST = \
- Makefile.lite \
- grabbag_static.dsp \
- grabbag_static.vcproj
-
-subdir = src/share/grabbag
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-
-libgrabbag_la_LDFLAGS =
-libgrabbag_la_LIBADD =
-am_libgrabbag_la_OBJECTS = cuesheet.lo file.lo picture.lo replaygain.lo \
- seektable.lo
-libgrabbag_la_OBJECTS = $(am_libgrabbag_la_OBJECTS)
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/cuesheet.Plo ./$(DEPDIR)/file.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/picture.Plo ./$(DEPDIR)/replaygain.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/seektable.Plo
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(libgrabbag_la_SOURCES)
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(libgrabbag_la_SOURCES)
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign src/share/grabbag/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" = "$$p" && dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libgrabbag.la: $(libgrabbag_la_OBJECTS) $(libgrabbag_la_DEPENDENCIES)
- $(LINK) $(libgrabbag_la_LDFLAGS) $(libgrabbag_la_OBJECTS) $(libgrabbag_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cuesheet.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/picture.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/replaygain.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/seektable.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
- pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
-
-
-debug:
- $(MAKE) all CFLAGS="@DEBUG@"
-
-profile:
- $(MAKE) all CFLAGS="@PROFILE@"
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/src/share/grabbag/Makefile.lite b/3rdparty/libflac/src/share/grabbag/Makefile.lite
deleted file mode 100644
index daf19751719..00000000000
--- a/3rdparty/libflac/src/share/grabbag/Makefile.lite
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# GNU makefile
-#
-
-topdir = ../../..
-
-LIB_NAME = libgrabbag
-INCLUDES = -I$(topdir)/include
-
-SRCS_C = \
- cuesheet.c \
- file.c \
- picture.c \
- replaygain.c \
- seektable.c
-
-include $(topdir)/build/lib.mk
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/src/share/grabbag/alloc.c b/3rdparty/libflac/src/share/grabbag/alloc.c
new file mode 100644
index 00000000000..4e5fb60c83d
--- /dev/null
+++ b/3rdparty/libflac/src/share/grabbag/alloc.c
@@ -0,0 +1,48 @@
+/* alloc - Convenience routines for safely allocating memory
+ * Copyright (C) 2007-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <stdlib.h>
+
+#include "share/alloc.h"
+
+void *safe_malloc_mul_2op_(size_t size1, size_t size2)
+{
+ if(!size1 || !size2)
+ return malloc(1); /* malloc(0) is undefined; FLAC src convention is to always allocate */
+ if(size1 > SIZE_MAX / size2)
+ return 0;
+ return malloc(size1*size2);
+}
diff --git a/3rdparty/libflac/src/share/grabbag/cuesheet.c b/3rdparty/libflac/src/share/grabbag/cuesheet.c
index 03f7cdaa75b..0d19ee72587 100644
--- a/3rdparty/libflac/src/share/grabbag/cuesheet.c
+++ b/3rdparty/libflac/src/share/grabbag/cuesheet.c
@@ -1,5 +1,6 @@
/* grabbag - Convenience lib for various routines common to several tools
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -16,22 +17,25 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
-#include "share/grabbag.h"
-#include "FLAC/assert.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <limits.h>
+#include "FLAC/assert.h"
+#include "share/compat.h"
+#include "share/grabbag.h"
+#include "share/safe_str.h"
-unsigned grabbag__cuesheet_msf_to_frame(unsigned minutes, unsigned seconds, unsigned frames)
+uint32_t grabbag__cuesheet_msf_to_frame(uint32_t minutes, uint32_t seconds, uint32_t frames)
{
return ((minutes * 60) + seconds) * 75 + frames;
}
-void grabbag__cuesheet_frame_to_msf(unsigned frame, unsigned *minutes, unsigned *seconds, unsigned *frames)
+void grabbag__cuesheet_frame_to_msf(uint32_t frame, uint32_t *minutes, uint32_t *seconds, uint32_t *frames)
{
*frames = frame % 75;
frame /= 75;
@@ -41,17 +45,21 @@ void grabbag__cuesheet_frame_to_msf(unsigned frame, unsigned *minutes, unsigned
}
/* since we only care about values >= 0 or error, returns < 0 for any illegal string, else value */
-static int local__parse_int_(const char *s)
+static FLAC__int64 local__parse_int64_(const char *s)
{
- int ret = 0;
+ FLAC__int64 ret = 0;
char c;
if(*s == '\0')
return -1;
while('\0' != (c = *s++))
- if(c >= '0' && c <= '9')
- ret = ret * 10 + (c - '0');
+ if(c >= '0' && c <= '9') {
+ if(ret >= (INT64_MAX / 10))
+ return -1;
+ else
+ ret = ret * 10 + (c - '0');
+ }
else
return -1;
@@ -59,44 +67,45 @@ static int local__parse_int_(const char *s)
}
/* since we only care about values >= 0 or error, returns < 0 for any illegal string, else value */
-static FLAC__int64 local__parse_int64_(const char *s)
+static int local__parse_int_(const char *s)
{
- FLAC__int64 ret = 0;
- char c;
-
- if(*s == '\0')
+ FLAC__int64 ret64 = local__parse_int64_(s);
+ if(ret64 < 0 || ret64 > INT_MAX)
return -1;
-
- while('\0' != (c = *s++))
- if(c >= '0' && c <= '9')
- ret = ret * 10 + (c - '0');
- else
- return -1;
-
- return ret;
+ return ret64;
}
-/* accept '[0-9]+:[0-9][0-9]?:[0-9][0-9]?', but max second of 59 and max frame of 74, e.g. 0:0:0, 123:45:67
+/* accept minute:second:frame syntax of '[0-9]+:[0-9][0-9]?:[0-9][0-9]?', but max second of 59 and max frame of 74, e.g. 0:0:0, 123:45:67
* return sample number or <0 for error
+ * WATCHOUT: if sample rate is not evenly divisible by 75, the resulting sample number will be approximate
*/
-static FLAC__int64 local__parse_msf_(const char *s)
+static FLAC__int64 local__parse_msf_(const char *s, uint32_t sample_rate)
{
FLAC__int64 ret, field;
char c;
+ if(sample_rate == 0)
+ return -1;
+
c = *s++;
if(c >= '0' && c <= '9')
field = (c - '0');
else
return -1;
while(':' != (c = *s++)) {
- if(c >= '0' && c <= '9')
- field = field * 10 + (c - '0');
+ if(c >= '0' && c <= '9') {
+ if(field >= (INT64_MAX / 10))
+ return -1;
+ else
+ field = field * 10 + (c - '0');
+ }
else
return -1;
}
- ret = field * 60 * 44100;
+ if(field >= INT64_MAX / (60 * sample_rate))
+ return -1;
+ ret = field * 60 * sample_rate;
c = *s++;
if(c >= '0' && c <= '9')
@@ -117,7 +126,12 @@ static FLAC__int64 local__parse_msf_(const char *s)
if(field >= 60)
return -1;
- ret += field * 44100;
+ {
+ FLAC__int64 tmp = ret;
+ ret += field * sample_rate;
+ if(ret < tmp)
+ return -1;
+ }
c = *s++;
if(c >= '0' && c <= '9')
@@ -139,7 +153,58 @@ static FLAC__int64 local__parse_msf_(const char *s)
if(field >= 75)
return -1;
- ret += field * (44100 / 75);
+ {
+ FLAC__int64 tmp = ret;
+ ret += field * (sample_rate / 75);
+ if(ret < tmp)
+ return -1;
+ }
+
+ return ret;
+}
+
+/* accept minute:second syntax of '[0-9]+:[0-9][0-9]?{,.[0-9]+}', but second < 60, e.g. 0:0.0, 3:5, 15:31.731
+ * return sample number or <0 for error
+ * WATCHOUT: depending on the sample rate, the resulting sample number may be approximate with fractional seconds
+ */
+static FLAC__int64 local__parse_ms_(const char *s, uint32_t sample_rate)
+{
+ FLAC__int64 ret, field;
+ double x;
+ char c, *end;
+
+ if(sample_rate == 0)
+ return -1;
+
+ c = *s++;
+ if(c >= '0' && c <= '9')
+ field = (c - '0');
+ else
+ return -1;
+ while(':' != (c = *s++)) {
+ if(c >= '0' && c <= '9') {
+ if(field >= (INT64_MAX / 10))
+ return -1;
+ else
+ field = field * 10 + (c - '0');
+ }
+ else
+ return -1;
+ }
+
+ if(field >= INT64_MAX / (60 * sample_rate))
+ return -1;
+ ret = field * 60 * sample_rate;
+
+ if(strspn(s, "0123456789.") != strlen(s))
+ return -1;
+ x = strtod(s, &end);
+ if(*end || end == s)
+ return -1;
+ if(x < 0.0 || x >= 60.0)
+ return -1;
+
+ ret += (FLAC__int64)(x * sample_rate);
return ret;
}
@@ -198,20 +263,22 @@ static char *local__get_field_(char **s, FLAC__bool allow_quotes)
return p;
}
-static FLAC__bool local__cuesheet_parse_(FILE *file, const char **error_message, unsigned *last_line_read, FLAC__StreamMetadata *cuesheet, FLAC__bool is_cdda, FLAC__uint64 lead_out_offset)
+static FLAC__bool local__cuesheet_parse_(FILE *file, const char **error_message, uint32_t *last_line_read, FLAC__StreamMetadata *cuesheet, uint32_t sample_rate, FLAC__bool is_cdda, FLAC__uint64 lead_out_offset)
{
-#if defined _MSC_VER || defined __MINGW32__ || defined __EMX__
-#define FLAC__STRCASECMP stricmp
-#else
-#define FLAC__STRCASECMP strcasecmp
-#endif
char buffer[4096], *line, *field;
- unsigned forced_leadout_track_num = 0;
+ uint32_t forced_leadout_track_num = 0;
FLAC__uint64 forced_leadout_track_offset = 0;
int in_track_num = -1, in_index_num = -1;
FLAC__bool disc_has_catalog = false, track_has_flags = false, track_has_isrc = false, has_forced_leadout = false;
FLAC__StreamMetadata_CueSheet *cs = &cuesheet->data.cue_sheet;
+ FLAC__ASSERT(!is_cdda || sample_rate == 44100);
+ /* double protection */
+ if(is_cdda && sample_rate != 44100) {
+ *error_message = "CD-DA cuesheet only allowed with 44.1kHz sample rate";
+ return false;
+ }
+
cs->lead_in = is_cdda? 2 * 44100 /* The default lead-in size for CD-DA */ : 0;
cs->is_cd = is_cdda;
@@ -245,7 +312,7 @@ static FLAC__bool local__cuesheet_parse_(FILE *file, const char **error_message,
*error_message = "CD-DA CATALOG number must be 13 decimal digits";
return false;
}
- strcpy(cs->media_catalog_number, field);
+ safe_strncpy(cs->media_catalog_number, field, sizeof(cs->media_catalog_number));
disc_has_catalog = true;
}
else if(0 == FLAC__STRCASECMP(field, "FLAGS")) {
@@ -302,18 +369,29 @@ static FLAC__bool local__cuesheet_parse_(FILE *file, const char **error_message,
*error_message = "INDEX is missing an offset after the index number";
return false;
}
- xx = local__parse_msf_(field);
+ /* first parse as minute:second:frame format */
+ xx = local__parse_msf_(field, sample_rate);
if(xx < 0) {
+ /* CD-DA must use only MM:SS:FF format */
if(is_cdda) {
*error_message = "illegal INDEX offset (not of the form MM:SS:FF)";
return false;
}
- xx = local__parse_int64_(field);
+ /* as an extension for non-CD-DA we allow MM:SS.SS or raw sample number */
+ xx = local__parse_ms_(field, sample_rate);
if(xx < 0) {
- *error_message = "illegal INDEX offset";
- return false;
+ xx = local__parse_int64_(field);
+ if(xx < 0) {
+ *error_message = "illegal INDEX offset";
+ return false;
+ }
}
}
+ else if(sample_rate % 75 && xx) {
+ /* only sample zero is exact */
+ *error_message = "illegal INDEX offset (MM:SS:FF form not allowed if sample rate is not a multiple of 75)";
+ return false;
+ }
if(is_cdda && cs->num_tracks == 1 && cs->tracks[0].num_indices == 0 && xx != 0) {
*error_message = "first INDEX of first TRACK must have an offset of 00:00:00";
return false;
@@ -349,7 +427,7 @@ static FLAC__bool local__cuesheet_parse_(FILE *file, const char **error_message,
*error_message = "ISRC command must come after TRACK but before INDEX";
return false;
}
- if(0 == (field = local__get_field_(&line, /*allow_quotes=*/false))) {
+ if(0 == (field = local__get_field_(&line, /*allow_quotes=*/true))) {
*error_message = "ISRC is missing ISRC number";
return false;
}
@@ -363,7 +441,7 @@ static FLAC__bool local__cuesheet_parse_(FILE *file, const char **error_message,
*error_message = "invalid ISRC number";
return false;
}
- strcpy(cs->tracks[cs->num_tracks-1].isrc, field);
+ safe_strncpy(cs->tracks[cs->num_tracks-1].isrc, field, sizeof(cs->tracks[cs->num_tracks-1].isrc));
track_has_isrc = true;
}
else if(0 == FLAC__STRCASECMP(field, "TRACK")) {
@@ -468,7 +546,7 @@ static FLAC__bool local__cuesheet_parse_(FILE *file, const char **error_message,
*error_message = "illegal FLAC__lead-out track number";
return false;
}
- forced_leadout_track_num = (unsigned)track_num;
+ forced_leadout_track_num = (uint32_t)track_num;
/*@@@ search for duplicate track number? */
if(0 == (field = local__get_field_(&line, /*allow_quotes=*/false))) {
*error_message = "FLAC__lead-out is missing offset";
@@ -530,10 +608,9 @@ static FLAC__bool local__cuesheet_parse_(FILE *file, const char **error_message,
return false;
}
return true;
-#undef FLAC__STRCASECMP
}
-FLAC__StreamMetadata *grabbag__cuesheet_parse(FILE *file, const char **error_message, unsigned *last_line_read, FLAC__bool is_cdda, FLAC__uint64 lead_out_offset)
+FLAC__StreamMetadata *grabbag__cuesheet_parse(FILE *file, const char **error_message, uint32_t *last_line_read, uint32_t sample_rate, FLAC__bool is_cdda, FLAC__uint64 lead_out_offset)
{
FLAC__StreamMetadata *cuesheet;
@@ -549,7 +626,7 @@ FLAC__StreamMetadata *grabbag__cuesheet_parse(FILE *file, const char **error_mes
return 0;
}
- if(!local__cuesheet_parse_(file, error_message, last_line_read, cuesheet, is_cdda, lead_out_offset)) {
+ if(!local__cuesheet_parse_(file, error_message, last_line_read, cuesheet, sample_rate, is_cdda, lead_out_offset)) {
FLAC__metadata_object_delete(cuesheet);
return 0;
}
@@ -560,7 +637,7 @@ FLAC__StreamMetadata *grabbag__cuesheet_parse(FILE *file, const char **error_mes
void grabbag__cuesheet_emit(FILE *file, const FLAC__StreamMetadata *cuesheet, const char *file_reference)
{
const FLAC__StreamMetadata_CueSheet *cs;
- unsigned track_num, index_num;
+ uint32_t track_num, index_num;
FLAC__ASSERT(0 != file);
FLAC__ASSERT(0 != cuesheet);
@@ -572,10 +649,12 @@ void grabbag__cuesheet_emit(FILE *file, const FLAC__StreamMetadata *cuesheet, co
fprintf(file, "CATALOG %s\n", cs->media_catalog_number);
fprintf(file, "FILE %s\n", file_reference);
+ FLAC__ASSERT(cs->num_tracks > 0);
+
for(track_num = 0; track_num < cs->num_tracks-1; track_num++) {
const FLAC__StreamMetadata_CueSheet_Track *track = cs->tracks + track_num;
- fprintf(file, " TRACK %02u %s\n", (unsigned)track->number, track->type == 0? "AUDIO" : "DATA");
+ fprintf(file, " TRACK %02u %s\n", (uint32_t)track->number, track->type == 0? "AUDIO" : "DATA");
if(track->pre_emphasis)
fprintf(file, " FLAGS PRE\n");
@@ -583,29 +662,20 @@ void grabbag__cuesheet_emit(FILE *file, const FLAC__StreamMetadata *cuesheet, co
fprintf(file, " ISRC %s\n", track->isrc);
for(index_num = 0; index_num < track->num_indices; index_num++) {
- const FLAC__StreamMetadata_CueSheet_Index *index = track->indices + index_num;
+ const FLAC__StreamMetadata_CueSheet_Index *indx = track->indices + index_num;
- fprintf(file, " INDEX %02u ", (unsigned)index->number);
+ fprintf(file, " INDEX %02u ", (uint32_t)indx->number);
if(cs->is_cd) {
- const unsigned logical_frame = (unsigned)((track->offset + index->offset) / (44100 / 75));
- unsigned m, s, f;
+ const uint32_t logical_frame = (uint32_t)((track->offset + indx->offset) / (44100 / 75));
+ uint32_t m, s, f;
grabbag__cuesheet_frame_to_msf(logical_frame, &m, &s, &f);
fprintf(file, "%02u:%02u:%02u\n", m, s, f);
}
else
-#ifdef _MSC_VER
- fprintf(file, "%I64u\n", track->offset + index->offset);
-#else
- fprintf(file, "%llu\n", (unsigned long long)(track->offset + index->offset));
-#endif
+ fprintf(file, "%" PRIu64 "\n", (track->offset + indx->offset));
}
}
-#ifdef _MSC_VER
- fprintf(file, "REM FLAC__lead-in %I64u\n", cs->lead_in);
- fprintf(file, "REM FLAC__lead-out %u %I64u\n", (unsigned)cs->tracks[track_num].number, cs->tracks[track_num].offset);
-#else
- fprintf(file, "REM FLAC__lead-in %llu\n", (unsigned long long)cs->lead_in);
- fprintf(file, "REM FLAC__lead-out %u %llu\n", (unsigned)cs->tracks[track_num].number, (unsigned long long)cs->tracks[track_num].offset);
-#endif
+ fprintf(file, "REM FLAC__lead-in %" PRIu64 "\n", cs->lead_in);
+ fprintf(file, "REM FLAC__lead-out %u %" PRIu64 "\n", (uint32_t)cs->tracks[track_num].number, cs->tracks[track_num].offset);
}
diff --git a/3rdparty/libflac/src/share/grabbag/file.c b/3rdparty/libflac/src/share/grabbag/file.c
index d073c4bf1fd..307645f5737 100644
--- a/3rdparty/libflac/src/share/grabbag/file.c
+++ b/3rdparty/libflac/src/share/grabbag/file.c
@@ -1,5 +1,6 @@
/* grabbag - Convenience lib for various routines common to several tools
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -16,7 +17,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -26,9 +27,8 @@
#include <fcntl.h> /* for _O_BINARY */
#else
#include <sys/types.h> /* some flavors of BSD (like OS X) require this to get time_t */
-#include <utime.h> /* for utime() */
#endif
-#if defined __CYGWIN__ || defined __EMX__
+#if defined __EMX__
#include <io.h> /* for setmode(), O_BINARY */
#include <fcntl.h> /* for _O_BINARY */
#endif
@@ -46,26 +46,33 @@
#include <winbase.h>
#endif
#include "share/grabbag.h"
+#include "share/compat.h"
void grabbag__file_copy_metadata(const char *srcpath, const char *destpath)
{
- struct stat srcstat;
- struct utimbuf srctime;
+ struct flac_stat_s srcstat;
- if(0 == stat(srcpath, &srcstat)) {
+ if(0 == flac_stat(srcpath, &srcstat)) {
+#if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200809L) && !defined(_WIN32)
+ struct timespec srctime[2] = {};
+ srctime[0].tv_sec = srcstat.st_atime;
+ srctime[1].tv_sec = srcstat.st_mtime;
+#else
+ struct utimbuf srctime;
srctime.actime = srcstat.st_atime;
srctime.modtime = srcstat.st_mtime;
- (void)chmod(destpath, srcstat.st_mode);
- (void)utime(destpath, &srctime);
+#endif
+ (void)flac_chmod(destpath, srcstat.st_mode);
+ (void)flac_utime(destpath, &srctime);
}
}
-off_t grabbag__file_get_filesize(const char *srcpath)
+FLAC__off_t grabbag__file_get_filesize(const char *srcpath)
{
- struct stat srcstat;
+ struct flac_stat_s srcstat;
- if(0 == stat(srcpath, &srcstat))
+ if(0 == flac_stat(srcpath, &srcstat))
return srcstat.st_size;
else
return -1;
@@ -77,8 +84,10 @@ const char *grabbag__file_get_basename(const char *srcpath)
p = strrchr(srcpath, '/');
if(0 == p) {
+#if defined _WIN32 && !defined __CYGWIN__
p = strrchr(srcpath, '\\');
if(0 == p)
+#endif
return srcpath;
}
return ++p;
@@ -86,9 +95,9 @@ const char *grabbag__file_get_basename(const char *srcpath)
FLAC__bool grabbag__file_change_stats(const char *filename, FLAC__bool read_only)
{
- struct stat stats;
+ struct flac_stat_s stats;
- if(0 == stat(filename, &stats)) {
+ if(0 == flac_stat(filename, &stats)) {
#if !defined _MSC_VER && !defined __MINGW32__
if(read_only) {
stats.st_mode &= ~S_IWUSR;
@@ -104,7 +113,7 @@ FLAC__bool grabbag__file_change_stats(const char *filename, FLAC__bool read_only
else
stats.st_mode |= S_IWRITE;
#endif
- if(0 != chmod(filename, stats.st_mode))
+ if(0 != flac_chmod(filename, stats.st_mode))
return false;
}
else
@@ -115,9 +124,13 @@ FLAC__bool grabbag__file_change_stats(const char *filename, FLAC__bool read_only
FLAC__bool grabbag__file_are_same(const char *f1, const char *f2)
{
-#if defined _MSC_VER || defined __MINGW32__
+#if defined _WIN32 && !defined __CYGWIN__
+#if !defined(WINAPI_FAMILY_PARTITION)
+#define WINAPI_FAMILY_PARTITION(x) x
+#define WINAPI_PARTITION_DESKTOP 1
+#endif
/* see
- * http://www.hydrogenaudio.org/forums/index.php?showtopic=49439&pid=444300&st=0
+ * http://www.hydrogenaudio.org/forums/index.php?showtopic=49439&pid=444300&st=0
* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/getfileinformationbyhandle.asp
* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/by_handle_file_information_str.asp
* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/createfile.asp
@@ -127,10 +140,11 @@ FLAC__bool grabbag__file_are_same(const char *f1, const char *f2)
BY_HANDLE_FILE_INFORMATION info1, info2;
HANDLE h1, h2;
BOOL ok = 1;
- h1 = CreateFile(f1, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
- h2 = CreateFile(f2, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
+ h1 = CreateFile_utf8(f1, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
+ h2 = CreateFile_utf8(f2, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(h1 == INVALID_HANDLE_VALUE || h2 == INVALID_HANDLE_VALUE)
ok = 0;
+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
ok &= GetFileInformationByHandle(h1, &info1);
ok &= GetFileInformationByHandle(h2, &info2);
if(ok)
@@ -139,20 +153,27 @@ FLAC__bool grabbag__file_are_same(const char *f1, const char *f2)
info1.nFileIndexHigh == info2.nFileIndexHigh &&
info1.nFileIndexLow == info2.nFileIndexLow
;
+#else // !WINAPI_PARTITION_DESKTOP
+ FILE_ID_INFO id_info1, id_info2;
+ same = GetFileInformationByHandleEx(h1, FileIdInfo, &id_info1, sizeof (id_info1)) &&
+ GetFileInformationByHandleEx(h2, FileIdInfo, &id_info2, sizeof (id_info2)) &&
+ id_info1.VolumeSerialNumber == id_info2.VolumeSerialNumber &&
+ memcmp(&id_info1.FileId, &id_info2.FileId, sizeof(id_info1.FileId)) == 0;
+#endif // !WINAPI_PARTITION_DESKTOP
if(h1 != INVALID_HANDLE_VALUE)
CloseHandle(h1);
if(h2 != INVALID_HANDLE_VALUE)
CloseHandle(h2);
return same;
#else
- struct stat s1, s2;
- return f1 && f2 && stat(f1, &s1) == 0 && stat(f2, &s2) == 0 && s1.st_ino == s2.st_ino && s1.st_dev == s2.st_dev;
+ struct flac_stat_s s1, s2;
+ return f1 && f2 && flac_stat(f1, &s1) == 0 && flac_stat(f2, &s2) == 0 && s1.st_ino == s2.st_ino && s1.st_dev == s2.st_dev;
#endif
}
FLAC__bool grabbag__file_remove_file(const char *filename)
{
- return grabbag__file_change_stats(filename, /*read_only=*/false) && 0 == unlink(filename);
+ return grabbag__file_change_stats(filename, /*read_only=*/false) && 0 == flac_unlink(filename);
}
FILE *grabbag__file_get_binary_stdin(void)
@@ -163,9 +184,6 @@ FILE *grabbag__file_get_binary_stdin(void)
*/
#if defined _MSC_VER || defined __MINGW32__
_setmode(_fileno(stdin), _O_BINARY);
-#elif defined __CYGWIN__
- /* almost certainly not needed for any modern Cygwin, but let's be safe... */
- setmode(_fileno(stdin), _O_BINARY);
#elif defined __EMX__
setmode(fileno(stdin), O_BINARY);
#endif
@@ -181,9 +199,6 @@ FILE *grabbag__file_get_binary_stdout(void)
*/
#if defined _MSC_VER || defined __MINGW32__
_setmode(_fileno(stdout), _O_BINARY);
-#elif defined __CYGWIN__
- /* almost certainly not needed for any modern Cygwin, but let's be safe... */
- setmode(_fileno(stdout), _O_BINARY);
#elif defined __EMX__
setmode(fileno(stdout), O_BINARY);
#endif
diff --git a/3rdparty/libflac/src/share/grabbag/grabbag_static.dsp b/3rdparty/libflac/src/share/grabbag/grabbag_static.dsp
deleted file mode 100644
index 11835bd4af9..00000000000
--- a/3rdparty/libflac/src/share/grabbag/grabbag_static.dsp
+++ /dev/null
@@ -1,144 +0,0 @@
-# Microsoft Developer Studio Project File - Name="grabbag_static" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=grabbag_static - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "grabbag_static.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "grabbag_static.mak" CFG="grabbag_static - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "grabbag_static - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "grabbag_static - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "grabbag"
-# PROP Scc_LocalPath "..\..\.."
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "grabbag_static - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\obj\release\lib"
-# PROP Intermediate_Dir "Release_static"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /Op /I ".\include" /I "..\..\..\include" /D "FLAC__NO_DLL" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /nodefaultlib
-
-!ELSEIF "$(CFG)" == "grabbag_static - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\obj\debug\lib"
-# PROP Intermediate_Dir "Debug_static"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I ".\include" /I "..\..\..\include" /D "FLAC__NO_DLL" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /nodefaultlib
-
-!ENDIF
-
-# Begin Target
-
-# Name "grabbag_static - Win32 Release"
-# Name "grabbag_static - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "c"
-# Begin Source File
-
-SOURCE=.\cuesheet.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\file.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\picture.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\replaygain.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\seektable.c
-# End Source File
-# End Group
-# Begin Group "Private Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\..\include\share\grabbag\cuesheet.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\include\share\grabbag\file.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\include\share\grabbag\picture.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\include\share\grabbag\replaygain.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\include\share\grabbag\seektable.h
-# End Source File
-# End Group
-# Begin Group "Protected Header Files"
-
-# PROP Default_Filter ""
-# End Group
-# Begin Group "Public Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\..\include\share\grabbag.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/share/grabbag/grabbag_static.vcproj b/3rdparty/libflac/src/share/grabbag/grabbag_static.vcproj
deleted file mode 100644
index f5482028bd5..00000000000
--- a/3rdparty/libflac/src/share/grabbag/grabbag_static.vcproj
+++ /dev/null
@@ -1,221 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="grabbag_static"
- ProjectGUID="{4cefbc81-c215-11db-8314-0800200c9a66}"
- RootNamespace="grabbag_static"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\..\obj\debug\lib"
- IntermediateDirectory="Debug_static"
- ConfigurationType="4"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".\include;..\..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\obj\debug\lib\$(ProjectName).lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\..\obj\release\lib"
- IntermediateDirectory="Release_static"
- ConfigurationType="4"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".\include;..\..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\obj\release\lib\$(ProjectName).lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\cuesheet.c"
- >
- </File>
- <File
- RelativePath=".\file.c"
- >
- </File>
- <File
- RelativePath=".\picture.c"
- >
- </File>
- <File
- RelativePath=".\replaygain.c"
- >
- </File>
- <File
- RelativePath=".\seektable.c"
- >
- </File>
- </Filter>
- <Filter
- Name="Public Header Files"
- >
- <File
- RelativePath="..\..\..\include\share\grabbag.h"
- >
- </File>
- <Filter
- Name="grabbag"
- >
- <File
- RelativePath="..\..\..\include\share\grabbag\cuesheet.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\share\grabbag\file.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\share\grabbag\picture.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\share\grabbag\replaygain.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\share\grabbag\seektable.h"
- >
- </File>
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/share/grabbag/picture.c b/3rdparty/libflac/src/share/grabbag/picture.c
index 0e37273803d..9a4aafe2769 100644
--- a/3rdparty/libflac/src/share/grabbag/picture.c
+++ b/3rdparty/libflac/src/share/grabbag/picture.c
@@ -1,5 +1,6 @@
/* grabbag - Convenience lib for various routines common to several tools
- * Copyright (C) 2006,2007 Josh Coalson
+ * Copyright (C) 2006-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,12 +12,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -26,11 +27,13 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include "share/compat.h"
+#include "share/safe_str.h"
/* slightly different that strndup(): this always copies 'size' bytes starting from s into a NUL-terminated string. */
static char *local__strndup_(const char *s, size_t size)
{
- char *x = (char*)safe_malloc_add_2op_(size, /*+*/1);
+ char *x = safe_malloc_add_2op_(size, /*+*/1);
if(x) {
memcpy(x, s, size);
x[size] = '\0';
@@ -139,8 +142,11 @@ static FLAC__bool local__extract_resolution_color_info_(FLAC__StreamMetadata_Pic
len -= 8;
while(len > 12) { /* every PNG chunk must be at least 12 bytes long */
const FLAC__uint32 clen = (FLAC__uint32)data[0] << 24 | (FLAC__uint32)data[1] << 16 | (FLAC__uint32)data[2] << 8 | (FLAC__uint32)data[3];
- if(0 == memcmp(data+4, "IHDR", 4) && clen == 13) {
- unsigned color_type = data[17];
+ /* First check whether clen makes sense or causes overflow in this bit of code */
+ if(clen + 12 <= clen || clen + 12 > len)
+ return false;
+ else if(0 == memcmp(data+4, "IHDR", 4) && clen == 13) {
+ uint32_t color_type = data[17];
picture->width = (FLAC__uint32)data[8] << 24 | (FLAC__uint32)data[9] << 16 | (FLAC__uint32)data[10] << 8 | (FLAC__uint32)data[11];
picture->height = (FLAC__uint32)data[12] << 24 | (FLAC__uint32)data[13] << 16 | (FLAC__uint32)data[14] << 8 | (FLAC__uint32)data[15];
if(color_type == 3) {
@@ -170,8 +176,6 @@ static FLAC__bool local__extract_resolution_color_info_(FLAC__StreamMetadata_Pic
picture->colors = clen / 3u;
return true;
}
- else if(clen + 12 > len)
- return false;
else {
data += 12 + clen;
len -= 12 + clen;
@@ -259,22 +263,72 @@ static FLAC__bool local__extract_resolution_color_info_(FLAC__StreamMetadata_Pic
return false;
}
+static const char *error_messages[] = {
+ "memory allocation error",
+ "invalid picture specification",
+ "invalid picture specification: can't parse resolution/color part",
+ "unable to extract resolution and color info from URL, user must set explicitly",
+ "unable to extract resolution and color info from file, user must set explicitly",
+ "error opening picture file",
+ "error reading picture file",
+ "invalid picture type",
+ "unable to guess MIME type from file, user must set explicitly",
+ "type 1 icon must be a 32x32 pixel PNG",
+ "file not found", /* currently unused */
+ "file is too large",
+ "empty file"
+};
+
+static const char * read_file (const char * filepath, FLAC__StreamMetadata * obj)
+{
+ const FLAC__off_t size = grabbag__file_get_filesize(filepath);
+ FLAC__byte *buffer;
+ FILE *file;
+ const char *error_message=NULL;
+
+ if (size < 0)
+ return error_messages[5];
+
+ if (size == 0)
+ return error_messages[12];
+
+ if (size >= (FLAC__off_t)(1u << FLAC__STREAM_METADATA_LENGTH_LEN)) /* actual limit is less because of other fields in the PICTURE metadata block */
+ return error_messages[11];
+
+ if ((buffer = safe_malloc_(size)) == NULL)
+ return error_messages[0];
+
+ if ((file = flac_fopen(filepath, "rb")) == NULL) {
+ free(buffer);
+ return error_messages[5];
+ }
+
+ if (fread(buffer, 1, size, file) != (size_t) size) {
+ fclose(file);
+ free(buffer);
+ return error_messages[6];
+ }
+ fclose(file);
+
+ if (!FLAC__metadata_object_picture_set_data(obj, buffer, (FLAC__uint32)size, /*copy=*/false))
+ error_message = error_messages[6];
+ /* try to extract MIME type if user left it blank */
+ else if (*obj->data.picture.mime_type == '\0' && !local__extract_mime_type_(obj))
+ error_message = error_messages[8];
+ /* try to extract resolution/color info if user left it blank */
+ else if ((obj->data.picture.width == 0 || obj->data.picture.height == 0 || obj->data.picture.depth == 0) && !local__extract_resolution_color_info_(&obj->data.picture))
+ error_message = error_messages[4];
+ /* check metadata block size */
+ else if (obj->length >= (1u << FLAC__STREAM_METADATA_LENGTH_LEN))
+ error_message = error_messages[11];
+
+ return error_message;
+}
+
FLAC__StreamMetadata *grabbag__picture_parse_specification(const char *spec, const char **error_message)
{
FLAC__StreamMetadata *obj;
int state = 0;
- static const char *error_messages[] = {
- "memory allocation error",
- "invalid picture specification",
- "invalid picture specification: can't parse resolution/color part",
- "unable to extract resolution and color info from URL, user must set explicitly",
- "unable to extract resolution and color info from file, user must set explicitly",
- "error opening picture file",
- "error reading picture file",
- "invalid picture type",
- "unable to guess MIME type from file, user must set explicitly",
- "type 1 icon must be a 32x32 pixel PNG"
- };
FLAC__ASSERT(0 != spec);
FLAC__ASSERT(0 != error_message);
@@ -287,8 +341,10 @@ FLAC__StreamMetadata *grabbag__picture_parse_specification(const char *spec, con
*error_message = 0;
- if(0 == (obj = FLAC__metadata_object_new(FLAC__METADATA_TYPE_PICTURE)))
+ if(0 == (obj = FLAC__metadata_object_new(FLAC__METADATA_TYPE_PICTURE))) {
*error_message = error_messages[0];
+ return obj;
+ }
if(strchr(spec, '|')) { /* full format */
const char *p;
@@ -348,47 +404,22 @@ FLAC__StreamMetadata *grabbag__picture_parse_specification(const char *spec, con
*error_message = error_messages[1];
else { /* 'spec' points to filename/URL */
if(0 == strcmp(obj->data.picture.mime_type, "-->")) { /* magic MIME type means URL */
- if(!FLAC__metadata_object_picture_set_data(obj, (FLAC__byte*)spec, strlen(spec), /*copy=*/true))
+ if(strlen(spec) == 0)
+ *error_message = error_messages[1];
+ else if(!FLAC__metadata_object_picture_set_data(obj, (FLAC__byte*)spec, strlen(spec), /*copy=*/true))
*error_message = error_messages[0];
else if(obj->data.picture.width == 0 || obj->data.picture.height == 0 || obj->data.picture.depth == 0)
*error_message = error_messages[3];
}
else { /* regular picture file */
- const off_t size = grabbag__file_get_filesize(spec);
- if(size < 0)
- *error_message = error_messages[5];
- else {
- FLAC__byte *buffer = (FLAC__byte*)safe_malloc_(size);
- if(0 == buffer)
- *error_message = error_messages[0];
- else {
- FILE *f = fopen(spec, "rb");
- if(0 == f)
- *error_message = error_messages[5];
- else {
- if(fread(buffer, 1, size, f) != (size_t)size)
- *error_message = error_messages[6];
- fclose(f);
- if(0 == *error_message) {
- if(!FLAC__metadata_object_picture_set_data(obj, buffer, size, /*copy=*/false))
- *error_message = error_messages[6];
- /* try to extract MIME type if user left it blank */
- else if(*obj->data.picture.mime_type == '\0' && !local__extract_mime_type_(obj))
- *error_message = error_messages[8];
- /* try to extract resolution/color info if user left it blank */
- else if((obj->data.picture.width == 0 || obj->data.picture.height == 0 || obj->data.picture.depth == 0) && !local__extract_resolution_color_info_(&obj->data.picture))
- *error_message = error_messages[4];
- }
- }
- }
- }
+ *error_message = read_file (spec, obj);
}
}
}
if(*error_message == 0) {
if(
- obj->data.picture.type == FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD &&
+ obj->data.picture.type == FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD &&
(
(strcmp(obj->data.picture.mime_type, "image/png") && strcmp(obj->data.picture.mime_type, "-->")) ||
obj->data.picture.width != 32 ||
@@ -405,3 +436,80 @@ FLAC__StreamMetadata *grabbag__picture_parse_specification(const char *spec, con
return obj;
}
+
+FLAC__StreamMetadata *grabbag__picture_from_specification(int type, const char *mime_type_in, const char * description,
+ const PictureResolution * res, const char * filepath, const char **error_message)
+{
+
+ FLAC__StreamMetadata *obj;
+ char mime_type [64] ;
+
+ if (error_message == 0)
+ return 0;
+
+ safe_strncpy(mime_type, mime_type_in, sizeof (mime_type));
+
+ *error_message = 0;
+
+ if ((obj = FLAC__metadata_object_new(FLAC__METADATA_TYPE_PICTURE)) == 0) {
+ *error_message = error_messages[0];
+ return obj;
+ }
+
+ /* Picture type if known. */
+ obj->data.picture.type = type >= 0 ? type : FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER;
+
+ /* Mime type if known. */
+ if (mime_type_in && ! FLAC__metadata_object_picture_set_mime_type(obj, mime_type, /*copy=*/true)) {
+ *error_message = error_messages[0];
+ return obj;
+ }
+
+ /* Description if present. */
+ if (description && ! FLAC__metadata_object_picture_set_description(obj, (FLAC__byte*) description, /*copy=*/true)) {
+ *error_message = error_messages[0];
+ return obj;
+ }
+
+ if (res == NULL) {
+ obj->data.picture.width = 0;
+ obj->data.picture.height = 0;
+ obj->data.picture.depth = 0;
+ obj->data.picture.colors = 0;
+ }
+ else {
+ obj->data.picture.width = res->width;
+ obj->data.picture.height = res->height;
+ obj->data.picture.depth = res->depth;
+ obj->data.picture.colors = res->colors;
+ }
+
+ if (strcmp(obj->data.picture.mime_type, "-->") == 0) { /* magic MIME type means URL */
+ if (!FLAC__metadata_object_picture_set_data(obj, (FLAC__byte*)filepath, strlen(filepath), /*copy=*/true))
+ *error_message = error_messages[0];
+ else if (obj->data.picture.width == 0 || obj->data.picture.height == 0 || obj->data.picture.depth == 0)
+ *error_message = error_messages[3];
+ }
+ else {
+ *error_message = read_file (filepath, obj);
+ }
+
+ if (*error_message == NULL) {
+ if (
+ obj->data.picture.type == FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD &&
+ (
+ (strcmp(obj->data.picture.mime_type, "image/png") && strcmp(obj->data.picture.mime_type, "-->")) ||
+ obj->data.picture.width != 32 ||
+ obj->data.picture.height != 32
+ )
+ )
+ *error_message = error_messages[9];
+ }
+
+ if (*error_message && obj) {
+ FLAC__metadata_object_delete(obj);
+ obj = 0;
+ }
+
+ return obj;
+}
diff --git a/3rdparty/libflac/src/share/grabbag/replaygain.c b/3rdparty/libflac/src/share/grabbag/replaygain.c
index b3d3d210e38..32c96031828 100644
--- a/3rdparty/libflac/src/share/grabbag/replaygain.c
+++ b/3rdparty/libflac/src/share/grabbag/replaygain.c
@@ -1,5 +1,6 @@
/* grabbag - Convenience lib for various routines common to several tools
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -16,15 +17,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
-#include "share/grabbag.h"
-#include "share/replaygain_analysis.h"
-#include "FLAC/assert.h"
-#include "FLAC/metadata.h"
-#include "FLAC/stream_decoder.h"
#include <locale.h>
#include <math.h>
#include <stdio.h>
@@ -35,6 +31,13 @@
#endif
#include <sys/stat.h> /* for stat(), maybe chmod() */
+#include "FLAC/assert.h"
+#include "FLAC/metadata.h"
+#include "FLAC/stream_decoder.h"
+#include "share/grabbag.h"
+#include "share/replaygain_analysis.h"
+#include "share/safe_str.h"
+
#ifdef local_min
#undef local_min
#endif
@@ -45,13 +48,18 @@
#endif
#define local_max(a,b) ((a)>(b)?(a):(b))
+#ifdef abs32
+#undef abs32
+#endif
+#define abs32(a) (((a)==INT32_MIN)?INT32_MAX:abs(a))
+
static const char *reference_format_ = "%s=%2.1f dB";
static const char *gain_format_ = "%s=%+2.2f dB";
static const char *peak_format_ = "%s=%1.8f";
static double album_peak_, title_peak_;
-const unsigned GRABBAG__REPLAYGAIN_MAX_TAG_SPACE_REQUIRED = 190;
+const uint32_t GRABBAG__REPLAYGAIN_MAX_TAG_SPACE_REQUIRED = 190;
/*
FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN/8 + 29 + 1 + 8 +
FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN/8 + 21 + 1 + 10 +
@@ -67,19 +75,19 @@ const FLAC__byte * const GRABBAG__REPLAYGAIN_TAG_ALBUM_GAIN = (const FLAC__byte
const FLAC__byte * const GRABBAG__REPLAYGAIN_TAG_ALBUM_PEAK = (const FLAC__byte * const)"REPLAYGAIN_ALBUM_PEAK";
-static FLAC__bool get_file_stats_(const char *filename, struct stat *stats)
+static FLAC__bool get_file_stats_(const char *filename, struct flac_stat_s *stats)
{
FLAC__ASSERT(0 != filename);
FLAC__ASSERT(0 != stats);
- return (0 == stat(filename, stats));
+ return (0 == flac_stat(filename, stats));
}
-static void set_file_stats_(const char *filename, struct stat *stats)
+static void set_file_stats_(const char *filename, struct flac_stat_s *stats)
{
FLAC__ASSERT(0 != filename);
FLAC__ASSERT(0 != stats);
- (void)chmod(filename, stats->st_mode);
+ (void)flac_chmod(filename, stats->st_mode);
}
static FLAC__bool append_tag_(FLAC__StreamMetadata *block, const char *format, const FLAC__byte *name, float value)
@@ -102,11 +110,7 @@ static FLAC__bool append_tag_(FLAC__StreamMetadata *block, const char *format, c
if (0 == saved_locale)
return false;
setlocale(LC_ALL, "C");
-#if defined _MSC_VER || defined __MINGW32__
- _snprintf(buffer, sizeof(buffer)-1, format, name, value);
-#else
- snprintf(buffer, sizeof(buffer)-1, format, name, value);
-#endif
+ flac_snprintf(buffer, sizeof(buffer), format, name, value);
setlocale(LC_ALL, saved_locale);
free(saved_locale);
@@ -116,65 +120,41 @@ static FLAC__bool append_tag_(FLAC__StreamMetadata *block, const char *format, c
return FLAC__metadata_object_vorbiscomment_append_comment(block, entry, /*copy=*/true);
}
-FLAC__bool grabbag__replaygain_is_valid_sample_frequency(unsigned sample_frequency)
+FLAC__bool grabbag__replaygain_is_valid_sample_frequency(uint32_t sample_frequency)
{
- static const unsigned valid_sample_rates[] = {
- 8000,
- 11025,
- 12000,
- 16000,
- 22050,
- 24000,
- 32000,
- 44100,
- 48000
- };
- static const unsigned n_valid_sample_rates = sizeof(valid_sample_rates) / sizeof(valid_sample_rates[0]);
-
- unsigned i;
-
- for(i = 0; i < n_valid_sample_rates; i++)
- if(sample_frequency == valid_sample_rates[i])
- return true;
- return false;
+ return ValidGainFrequency( sample_frequency );
}
-FLAC__bool grabbag__replaygain_init(unsigned sample_frequency)
+FLAC__bool grabbag__replaygain_init(uint32_t sample_frequency)
{
title_peak_ = album_peak_ = 0.0;
return InitGainAnalysis((long)sample_frequency) == INIT_GAIN_ANALYSIS_OK;
}
-FLAC__bool grabbag__replaygain_analyze(const FLAC__int32 * const input[], FLAC__bool is_stereo, unsigned bps, unsigned samples)
+FLAC__bool grabbag__replaygain_analyze(const FLAC__int32 * const input[], FLAC__bool is_stereo, uint32_t bps, uint32_t samples)
{
/* using a small buffer improves data locality; we'd like it to fit easily in the dcache */
- static Float_t lbuffer[2048], rbuffer[2048];
- static const unsigned nbuffer = sizeof(lbuffer) / sizeof(lbuffer[0]);
+ static flac_float_t lbuffer[2048], rbuffer[2048];
+ static const uint32_t nbuffer = sizeof(lbuffer) / sizeof(lbuffer[0]);
FLAC__int32 block_peak = 0, s;
- unsigned i, j;
+ uint32_t i, j;
- FLAC__ASSERT(bps >= 4 && bps <= FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE);
- FLAC__ASSERT(FLAC__MIN_BITS_PER_SAMPLE == 4);
- /*
- * We use abs() on a FLAC__int32 which is undefined for the most negative value.
- * If the reference codec ever handles 32bps we will have to write a special
- * case here.
- */
- FLAC__ASSERT(FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE < 32);
+ FLAC__ASSERT(bps >= FLAC__MIN_BITS_PER_SAMPLE && bps <= FLAC__MAX_BITS_PER_SAMPLE);
+ FLAC__ASSERT(FLAC__MIN_BITS_PER_SAMPLE == 4 && FLAC__MAX_BITS_PER_SAMPLE == 32);
if(bps == 16) {
if(is_stereo) {
j = 0;
while(samples > 0) {
- const unsigned n = local_min(samples, nbuffer);
+ const uint32_t n = local_min(samples, nbuffer);
for(i = 0; i < n; i++, j++) {
s = input[0][j];
- lbuffer[i] = (Float_t)s;
+ lbuffer[i] = (flac_float_t)s;
s = abs(s);
block_peak = local_max(block_peak, s);
s = input[1][j];
- rbuffer[i] = (Float_t)s;
+ rbuffer[i] = (flac_float_t)s;
s = abs(s);
block_peak = local_max(block_peak, s);
}
@@ -186,10 +166,10 @@ FLAC__bool grabbag__replaygain_analyze(const FLAC__int32 * const input[], FLAC__
else {
j = 0;
while(samples > 0) {
- const unsigned n = local_min(samples, nbuffer);
+ const uint32_t n = local_min(samples, nbuffer);
for(i = 0; i < n; i++, j++) {
s = input[0][j];
- lbuffer[i] = (Float_t)s;
+ lbuffer[i] = (flac_float_t)s;
s = abs(s);
block_peak = local_max(block_peak, s);
}
@@ -199,7 +179,7 @@ FLAC__bool grabbag__replaygain_analyze(const FLAC__int32 * const input[], FLAC__
}
}
}
- else { /* bps must be < 32 according to above assertion */
+ else {
const double scale = (
(bps > 16)?
(double)1. / (double)(1u << (bps - 16)) :
@@ -209,16 +189,16 @@ FLAC__bool grabbag__replaygain_analyze(const FLAC__int32 * const input[], FLAC__
if(is_stereo) {
j = 0;
while(samples > 0) {
- const unsigned n = local_min(samples, nbuffer);
+ const uint32_t n = local_min(samples, nbuffer);
for(i = 0; i < n; i++, j++) {
s = input[0][j];
- lbuffer[i] = (Float_t)(scale * (double)s);
- s = abs(s);
+ lbuffer[i] = (flac_float_t)(scale * (double)s);
+ s = abs32(s);
block_peak = local_max(block_peak, s);
s = input[1][j];
- rbuffer[i] = (Float_t)(scale * (double)s);
- s = abs(s);
+ rbuffer[i] = (flac_float_t)(scale * (double)s);
+ s = abs32(s);
block_peak = local_max(block_peak, s);
}
samples -= n;
@@ -229,11 +209,11 @@ FLAC__bool grabbag__replaygain_analyze(const FLAC__int32 * const input[], FLAC__
else {
j = 0;
while(samples > 0) {
- const unsigned n = local_min(samples, nbuffer);
+ const uint32_t n = local_min(samples, nbuffer);
for(i = 0; i < n; i++, j++) {
s = input[0][j];
- lbuffer[i] = (Float_t)(scale * (double)s);
- s = abs(s);
+ lbuffer[i] = (flac_float_t)(scale * (double)s);
+ s = abs32(s);
block_peak = local_max(block_peak, s);
}
samples -= n;
@@ -271,19 +251,19 @@ void grabbag__replaygain_get_title(float *gain, float *peak)
typedef struct {
- unsigned channels;
- unsigned bits_per_sample;
- unsigned sample_rate;
+ uint32_t channels;
+ uint32_t bits_per_sample;
+ uint32_t sample_rate;
FLAC__bool error;
} DecoderInstance;
static FLAC__StreamDecoderWriteStatus write_callback_(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data)
{
DecoderInstance *instance = (DecoderInstance*)client_data;
- const unsigned bits_per_sample = frame->header.bits_per_sample;
- const unsigned channels = frame->header.channels;
- const unsigned sample_rate = frame->header.sample_rate;
- const unsigned samples = frame->header.blocksize;
+ const uint32_t bits_per_sample = frame->header.bits_per_sample;
+ const uint32_t channels = frame->header.channels;
+ const uint32_t sample_rate = frame->header.sample_rate;
+ const uint32_t samples = frame->header.blocksize;
(void)decoder;
@@ -498,15 +478,17 @@ static const char *store_to_file_pre_(const char *filename, FLAC__Metadata_Chain
static const char *store_to_file_post_(const char *filename, FLAC__Metadata_Chain *chain, FLAC__bool preserve_modtime)
{
- struct stat stats;
+ struct flac_stat_s stats;
const FLAC__bool have_stats = get_file_stats_(filename, &stats);
(void)grabbag__file_change_stats(filename, /*read_only=*/false);
FLAC__metadata_chain_sort_padding(chain);
if(!FLAC__metadata_chain_write(chain, /*use_padding=*/true, preserve_modtime)) {
+ const char *error;
+ error = FLAC__Metadata_ChainStatusString[FLAC__metadata_chain_status(chain)];
FLAC__metadata_chain_delete(chain);
- return FLAC__Metadata_ChainStatusString[FLAC__metadata_chain_status(chain)];
+ return error;
}
FLAC__metadata_chain_delete(chain);
@@ -520,7 +502,7 @@ static const char *store_to_file_post_(const char *filename, FLAC__Metadata_Chai
const char *grabbag__replaygain_store_to_file(const char *filename, float album_gain, float album_peak, float title_gain, float title_peak, FLAC__bool preserve_modtime)
{
FLAC__Metadata_Chain *chain;
- FLAC__StreamMetadata *block;
+ FLAC__StreamMetadata *block = NULL;
const char *error;
if(0 != (error = store_to_file_pre_(filename, &chain, &block)))
@@ -540,7 +522,7 @@ const char *grabbag__replaygain_store_to_file(const char *filename, float album_
const char *grabbag__replaygain_store_to_file_reference(const char *filename, FLAC__bool preserve_modtime)
{
FLAC__Metadata_Chain *chain;
- FLAC__StreamMetadata *block;
+ FLAC__StreamMetadata *block = NULL;
const char *error;
if(0 != (error = store_to_file_pre_(filename, &chain, &block)))
@@ -560,7 +542,7 @@ const char *grabbag__replaygain_store_to_file_reference(const char *filename, FL
const char *grabbag__replaygain_store_to_file_album(const char *filename, float album_gain, float album_peak, FLAC__bool preserve_modtime)
{
FLAC__Metadata_Chain *chain;
- FLAC__StreamMetadata *block;
+ FLAC__StreamMetadata *block = NULL;
const char *error;
if(0 != (error = store_to_file_pre_(filename, &chain, &block)))
@@ -580,7 +562,7 @@ const char *grabbag__replaygain_store_to_file_album(const char *filename, float
const char *grabbag__replaygain_store_to_file_title(const char *filename, float title_gain, float title_peak, FLAC__bool preserve_modtime)
{
FLAC__Metadata_Chain *chain;
- FLAC__StreamMetadata *block;
+ FLAC__StreamMetadata *block = NULL;
const char *error;
if(0 != (error = store_to_file_pre_(filename, &chain, &block)))
@@ -611,8 +593,7 @@ static FLAC__bool parse_double_(const FLAC__StreamMetadata_VorbisComment_Entry *
if(0 == q)
return false;
q++;
- memset(s, 0, sizeof(s)-1);
- strncpy(s, q, local_min(sizeof(s)-1, entry->length - (q-p)));
+ safe_strncpy(s, q, local_min(sizeof(s), (size_t) (entry->length - (q-p))));
v = strtod(s, &end);
if(end == s)
@@ -625,6 +606,8 @@ static FLAC__bool parse_double_(const FLAC__StreamMetadata_VorbisComment_Entry *
FLAC__bool grabbag__replaygain_load_from_vorbiscomment(const FLAC__StreamMetadata *block, FLAC__bool album_mode, FLAC__bool strict, double *reference, double *gain, double *peak)
{
int reference_offset, gain_offset, peak_offset;
+ char *saved_locale;
+ FLAC__bool res = true;
FLAC__ASSERT(0 != block);
FLAC__ASSERT(0 != reference);
@@ -637,20 +620,38 @@ FLAC__bool grabbag__replaygain_load_from_vorbiscomment(const FLAC__StreamMetadat
*/
*reference = ReplayGainReferenceLoudness;
+ /*
+ * We need to save the old locale and switch to "C" because the locale
+ * influences the behaviour of strtod and we want it a certain way.
+ */
+ saved_locale = strdup(setlocale(LC_ALL, 0));
+ if (0 == saved_locale)
+ return false;
+ setlocale(LC_ALL, "C");
+
if(0 <= (reference_offset = FLAC__metadata_object_vorbiscomment_find_entry_from(block, /*offset=*/0, (const char *)GRABBAG__REPLAYGAIN_TAG_REFERENCE_LOUDNESS)))
(void)parse_double_(block->data.vorbis_comment.comments + reference_offset, reference);
if(0 > (gain_offset = FLAC__metadata_object_vorbiscomment_find_entry_from(block, /*offset=*/0, (const char *)(album_mode? GRABBAG__REPLAYGAIN_TAG_ALBUM_GAIN : GRABBAG__REPLAYGAIN_TAG_TITLE_GAIN))))
- return !strict && grabbag__replaygain_load_from_vorbiscomment(block, !album_mode, /*strict=*/true, reference, gain, peak);
+ res = false;
if(0 > (peak_offset = FLAC__metadata_object_vorbiscomment_find_entry_from(block, /*offset=*/0, (const char *)(album_mode? GRABBAG__REPLAYGAIN_TAG_ALBUM_PEAK : GRABBAG__REPLAYGAIN_TAG_TITLE_PEAK))))
- return !strict && grabbag__replaygain_load_from_vorbiscomment(block, !album_mode, /*strict=*/true, reference, gain, peak);
+ res = false;
- if(!parse_double_(block->data.vorbis_comment.comments + gain_offset, gain))
- return !strict && grabbag__replaygain_load_from_vorbiscomment(block, !album_mode, /*strict=*/true, reference, gain, peak);
- if(!parse_double_(block->data.vorbis_comment.comments + peak_offset, peak))
- return !strict && grabbag__replaygain_load_from_vorbiscomment(block, !album_mode, /*strict=*/true, reference, gain, peak);
+ if(res && !parse_double_(block->data.vorbis_comment.comments + gain_offset, gain))
+ res = false;
+ if(res && !parse_double_(block->data.vorbis_comment.comments + peak_offset, peak))
+ res = false;
+ if(res && *peak < 0.0)
+ res = false;
- return true;
+ setlocale(LC_ALL, saved_locale);
+ free(saved_locale);
+
+ /* something failed; retry with strict */
+ if (!res && !strict)
+ res = grabbag__replaygain_load_from_vorbiscomment(block, !album_mode, /*strict=*/true, reference, gain, peak);
+
+ return res;
}
double grabbag__replaygain_compute_scale_factor(double peak, double gain, double preamp, FLAC__bool prevent_clipping)
diff --git a/3rdparty/libflac/src/share/grabbag/seektable.c b/3rdparty/libflac/src/share/grabbag/seektable.c
index 55ac766ed14..01caa998fdd 100644
--- a/3rdparty/libflac/src/share/grabbag/seektable.c
+++ b/3rdparty/libflac/src/share/grabbag/seektable.c
@@ -1,5 +1,6 @@
/* grabbag - Convenience lib for various routines common to several tools
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -16,49 +17,24 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "share/grabbag.h"
+#include "share/compat.h"
#include "FLAC/assert.h"
#include <stdlib.h> /* for atoi() */
#include <string.h>
-#ifdef _MSC_VER
-/* There's no strtoll() in MSVC6 so we just write a specialized one */
-static FLAC__int64 local__strtoll(const char *src, char **endptr)
+FLAC__bool grabbag__seektable_convert_specification_to_template(const char *spec, FLAC__bool only_explicit_placeholders, FLAC__uint64 total_samples_to_encode, uint32_t sample_rate, FLAC__StreamMetadata *seektable_template, FLAC__bool *spec_has_real_points)
{
- FLAC__bool neg = false;
- FLAC__int64 ret = 0;
- int c;
- FLAC__ASSERT(0 != src);
- if(*src == '-') {
- neg = true;
- src++;
- }
- while(0 != (c = *src)) {
- c -= '0';
- if(c >= 0 && c <= 9)
- ret = (ret * 10) + c;
- else
- break;
- src++;
- }
- if(endptr)
- *endptr = (char*)src;
- return neg? -ret : ret;
-}
-#endif
-
-FLAC__bool grabbag__seektable_convert_specification_to_template(const char *spec, FLAC__bool only_explicit_placeholders, FLAC__uint64 total_samples_to_encode, unsigned sample_rate, FLAC__StreamMetadata *seektable_template, FLAC__bool *spec_has_real_points)
-{
- unsigned i;
+ uint32_t i;
const char *pt;
FLAC__ASSERT(0 != spec);
FLAC__ASSERT(0 != seektable_template);
- FLAC__ASSERT(seektable_template->type = FLAC__METADATA_TYPE_SEEKTABLE);
+ FLAC__ASSERT(seektable_template->type == FLAC__METADATA_TYPE_SEEKTABLE);
if(0 != spec_has_real_points)
*spec_has_real_points = false;
@@ -77,22 +53,23 @@ FLAC__bool grabbag__seektable_convert_specification_to_template(const char *spec
if(0 != spec_has_real_points)
*spec_has_real_points = true;
if(!only_explicit_placeholders) {
- const int n = (unsigned)atoi(pt);
+ const int n = (uint32_t)atoi(pt);
if(n > 0)
- if(!FLAC__metadata_object_seektable_template_append_spaced_points(seektable_template, (unsigned)n, total_samples_to_encode))
+ if(!FLAC__metadata_object_seektable_template_append_spaced_points(seektable_template, (uint32_t)n, total_samples_to_encode))
return false;
}
}
}
else if(q[-1] == 's') { /* -S #s */
- if(total_samples_to_encode > 0) { /* we can only do these if we know the number of samples to encode up front */
- FLAC__ASSERT(sample_rate > 0);
+ if(total_samples_to_encode > 0 && sample_rate > 0) { /* we can only do these if we know the number of samples and sample rate to encode up front */
if(0 != spec_has_real_points)
*spec_has_real_points = true;
if(!only_explicit_placeholders) {
const double sec = atof(pt);
if(sec > 0.0) {
- unsigned samples = (unsigned)(sec * (double)sample_rate);
+ uint32_t samples = (uint32_t)(sec * (double)sample_rate);
+ /* Restrict seekpoints to two per second of audio. */
+ samples = samples < sample_rate / 2 ? sample_rate / 2 : samples;
if(samples > 0) {
/* +1 for the initial point at sample 0 */
if(!FLAC__metadata_object_seektable_template_append_spaced_points_by_samples(seektable_template, samples, total_samples_to_encode))
@@ -107,11 +84,7 @@ FLAC__bool grabbag__seektable_convert_specification_to_template(const char *spec
*spec_has_real_points = true;
if(!only_explicit_placeholders) {
char *endptr;
-#ifdef _MSC_VER
- const FLAC__int64 n = local__strtoll(pt, &endptr);
-#else
const FLAC__int64 n = (FLAC__int64)strtoll(pt, &endptr, 10);
-#endif
if(
(n > 0 || (endptr > pt && *endptr == ';')) && /* is a valid number (extra check needed for "0") */
(total_samples_to_encode == 0 || (FLAC__uint64)n < total_samples_to_encode) /* number is not >= the known total_samples_to_encode */
diff --git a/3rdparty/libflac/src/share/grabbag/snprintf.c b/3rdparty/libflac/src/share/grabbag/snprintf.c
new file mode 100644
index 00000000000..bd7ffba8e30
--- /dev/null
+++ b/3rdparty/libflac/src/share/grabbag/snprintf.c
@@ -0,0 +1,101 @@
+/* grabbag - Convenience lib for various routines common to several tools
+ * Copyright (C) 2013-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+#include <stdarg.h>
+
+#include "share/compat.h"
+
+/*
+ * FLAC needs to compile and work correctly on systems with a normal ISO C99
+ * snprintf as well as Microsoft Visual Studio which has an non-standards
+ * conformant snprint_s function.
+ *
+ * The important difference occurs when the resultant string (plus string
+ * terminator) would have been longer than the supplied size parameter. When
+ * this happens, ISO C's snprintf returns the length of resultant string, but
+ * does not over-write the end of the buffer. MS's snprintf_s in this case
+ * returns -1.
+ *
+ * The _MSC_VER code below attempts to modify the return code for vsnprintf_s
+ * to something that is more compatible with the behaviour of the ISO C version.
+ */
+
+int
+flac_snprintf(char *str, size_t size, const char *fmt, ...)
+{
+ va_list va;
+ int rc;
+
+#if defined _MSC_VER
+ if (size == 0)
+ return 1024;
+#endif
+
+ va_start (va, fmt);
+
+#if defined _MSC_VER
+ rc = vsnprintf_s (str, size, _TRUNCATE, fmt, va);
+ if (rc < 0)
+ rc = size - 1;
+#elif defined __MINGW32__
+ rc = __mingw_vsnprintf (str, size, fmt, va);
+#else
+ rc = vsnprintf (str, size, fmt, va);
+#endif
+ va_end (va);
+
+ return rc;
+}
+
+int
+flac_vsnprintf(char *str, size_t size, const char *fmt, va_list va)
+{
+ int rc;
+
+#if defined _MSC_VER
+ if (size == 0)
+ return 1024;
+ rc = vsnprintf_s (str, size, _TRUNCATE, fmt, va);
+ if (rc < 0)
+ rc = size - 1;
+#elif defined __MINGW32__
+ rc = __mingw_vsnprintf (str, size, fmt, va);
+#else
+ rc = vsnprintf (str, size, fmt, va);
+#endif
+
+ return rc;
+}
diff --git a/3rdparty/libflac/src/share/replaygain_analysis/CMakeLists.txt b/3rdparty/libflac/src/share/replaygain_analysis/CMakeLists.txt
new file mode 100644
index 00000000000..4362b902595
--- /dev/null
+++ b/3rdparty/libflac/src/share/replaygain_analysis/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_library(replaygain_analysis STATIC
+ replaygain_analysis.c)
diff --git a/3rdparty/libflac/src/share/replaygain_analysis/Makefile.am b/3rdparty/libflac/src/share/replaygain_analysis/Makefile.am
deleted file mode 100644
index de841aa78e6..00000000000
--- a/3rdparty/libflac/src/share/replaygain_analysis/Makefile.am
+++ /dev/null
@@ -1,20 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-AUTOMAKE_OPTIONS = foreign
-
-INCLUDES = -I$(top_srcdir)/include/share
-
-noinst_LTLIBRARIES = libreplaygain_analysis.la
-
-libreplaygain_analysis_la_SOURCES = replaygain_analysis.c
-
-EXTRA_DIST = \
- Makefile.lite \
- replaygain_analysis_static.dsp \
- replaygain_analysis_static.vcproj
-
-debug:
- $(MAKE) all CFLAGS="@DEBUG@"
-
-profile:
- $(MAKE) all CFLAGS="@PROFILE@"
diff --git a/3rdparty/libflac/src/share/replaygain_analysis/Makefile.in b/3rdparty/libflac/src/share/replaygain_analysis/Makefile.in
deleted file mode 100644
index 8c19187b718..00000000000
--- a/3rdparty/libflac/src/share/replaygain_analysis/Makefile.in
+++ /dev/null
@@ -1,500 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-AUTOMAKE_OPTIONS = foreign
-
-INCLUDES = -I$(top_srcdir)/include/share
-
-noinst_LTLIBRARIES = libreplaygain_analysis.la
-
-libreplaygain_analysis_la_SOURCES = replaygain_analysis.c
-
-EXTRA_DIST = \
- Makefile.lite \
- replaygain_analysis_static.dsp \
- replaygain_analysis_static.vcproj
-
-subdir = src/share/replaygain_analysis
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-
-libreplaygain_analysis_la_LDFLAGS =
-libreplaygain_analysis_la_LIBADD =
-am_libreplaygain_analysis_la_OBJECTS = replaygain_analysis.lo
-libreplaygain_analysis_la_OBJECTS = \
- $(am_libreplaygain_analysis_la_OBJECTS)
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/replaygain_analysis.Plo
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(libreplaygain_analysis_la_SOURCES)
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(libreplaygain_analysis_la_SOURCES)
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign src/share/replaygain_analysis/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" = "$$p" && dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libreplaygain_analysis.la: $(libreplaygain_analysis_la_OBJECTS) $(libreplaygain_analysis_la_DEPENDENCIES)
- $(LINK) $(libreplaygain_analysis_la_LDFLAGS) $(libreplaygain_analysis_la_OBJECTS) $(libreplaygain_analysis_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/replaygain_analysis.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
- pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
-
-
-debug:
- $(MAKE) all CFLAGS="@DEBUG@"
-
-profile:
- $(MAKE) all CFLAGS="@PROFILE@"
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/src/share/replaygain_analysis/Makefile.lite b/3rdparty/libflac/src/share/replaygain_analysis/Makefile.lite
deleted file mode 100644
index 8c4c6982659..00000000000
--- a/3rdparty/libflac/src/share/replaygain_analysis/Makefile.lite
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# GNU makefile
-#
-
-topdir = ../../..
-
-LIB_NAME = libreplaygain_analysis
-INCLUDES = -I$(topdir)/include/share
-
-SRCS_C = \
- replaygain_analysis.c
-
-include $(topdir)/build/lib.mk
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/src/share/replaygain_analysis/replaygain_analysis.c b/3rdparty/libflac/src/share/replaygain_analysis/replaygain_analysis.c
index c64231f61da..37b77ab099a 100644
--- a/3rdparty/libflac/src/share/replaygain_analysis/replaygain_analysis.c
+++ b/3rdparty/libflac/src/share/replaygain_analysis/replaygain_analysis.c
@@ -14,7 +14,7 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* concept and filter values by David Robinson (David@Robinson.org)
* -- blame him if you think the idea is flawed
@@ -38,8 +38,8 @@
*
* to initialize everything. Call
*
- * AnalyzeSamples ( const Float_t* left_samples,
- * const Float_t* right_samples,
+ * AnalyzeSamples ( const flac_float_t* left_samples,
+ * const flac_float_t* right_samples,
* size_t num_samples,
* int num_channels );
*
@@ -59,11 +59,11 @@
*
* Pseudo-code to process an album:
*
- * Float_t l_samples [4096];
- * Float_t r_samples [4096];
+ * flac_float_t l_samples [4096];
+ * flac_float_t r_samples [4096];
* size_t num_samples;
- * unsigned int num_songs;
- * unsigned int i;
+ * uint32_t num_songs;
+ * uint32_t i;
*
* InitGainAnalysis ( 44100 );
* for ( i = 1; i <= num_songs; i++ ) {
@@ -89,7 +89,7 @@
* Optimization/clarity suggestions are welcome.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -97,165 +97,278 @@
#include <stdlib.h>
#include <string.h>
#include <math.h>
+#include "share/alloc.h"
+#include "share/compat.h"
+#include "share/replaygain_analysis.h"
-#include "replaygain_analysis.h"
-
-Float_t ReplayGainReferenceLoudness = 89.0; /* in dB SPL */
-
-typedef unsigned short Uint16_t;
-typedef signed short Int16_t;
-typedef unsigned int Uint32_t;
-typedef signed int Int32_t;
+flac_float_t ReplayGainReferenceLoudness = 89.0; /* in dB SPL */
#define YULE_ORDER 10
#define BUTTER_ORDER 2
#define RMS_PERCENTILE 0.95 /* percentile which is louder than the proposed level */
-#define MAX_SAMP_FREQ 48000. /* maximum allowed sample frequency [Hz] */
-#define RMS_WINDOW_TIME 0.050 /* Time slice size [s] */
+#define RMS_WINDOW_TIME 50 /* Time slice size [ms] */
#define STEPS_per_dB 100. /* Table entries per dB */
#define MAX_dB 120. /* Table entries for 0...MAX_dB (normal max. values are 70...80 dB) */
#define MAX_ORDER (BUTTER_ORDER > YULE_ORDER ? BUTTER_ORDER : YULE_ORDER)
-/* [JEC] the following was originally #defined as:
- * (size_t) (MAX_SAMP_FREQ * RMS_WINDOW_TIME)
- * but that seemed to fail to take into account the ceil() part of the
- * sampleWindow calculation in ResetSampleFrequency(), and was causing
- * buffer overflows for 48kHz analysis, hence the +1.
- */
-#ifndef __sun
- #define MAX_SAMPLES_PER_WINDOW (size_t) (MAX_SAMP_FREQ * RMS_WINDOW_TIME + 1.) /* max. Samples per Time slice */
-#else
- /* [JEC] Solaris Forte compiler doesn't like float calc in array indices */
- #define MAX_SAMPLES_PER_WINDOW (size_t) (2401)
-#endif
#define PINK_REF 64.82 /* 298640883795 */ /* calibration value */
-static Float_t linprebuf [MAX_ORDER * 2];
-static Float_t* linpre; /* left input samples, with pre-buffer */
-static Float_t lstepbuf [MAX_SAMPLES_PER_WINDOW + MAX_ORDER];
-static Float_t* lstep; /* left "first step" (i.e. post first filter) samples */
-static Float_t loutbuf [MAX_SAMPLES_PER_WINDOW + MAX_ORDER];
-static Float_t* lout; /* left "out" (i.e. post second filter) samples */
-static Float_t rinprebuf [MAX_ORDER * 2];
-static Float_t* rinpre; /* right input samples ... */
-static Float_t rstepbuf [MAX_SAMPLES_PER_WINDOW + MAX_ORDER];
-static Float_t* rstep;
-static Float_t routbuf [MAX_SAMPLES_PER_WINDOW + MAX_ORDER];
-static Float_t* rout;
-static unsigned int sampleWindow; /* number of samples required to reach number of milliseconds required for RMS window */
-static unsigned long totsamp;
+static flac_float_t linprebuf [MAX_ORDER * 2];
+static flac_float_t* linpre; /* left input samples, with pre-buffer */
+static flac_float_t* lstepbuf;
+static flac_float_t* lstep; /* left "first step" (i.e. post first filter) samples */
+static flac_float_t* loutbuf;
+static flac_float_t* lout; /* left "out" (i.e. post second filter) samples */
+static flac_float_t rinprebuf [MAX_ORDER * 2];
+static flac_float_t* rinpre; /* right input samples ... */
+static flac_float_t* rstepbuf;
+static flac_float_t* rstep;
+static flac_float_t* routbuf;
+static flac_float_t* rout;
+static uint32_t sampleWindow; /* number of samples required to reach number of milliseconds required for RMS window */
+static uint64_t totsamp;
static double lsum;
static double rsum;
-static int freqindex;
-#ifndef __sun
-static Uint32_t A [(size_t)(STEPS_per_dB * MAX_dB)];
-static Uint32_t B [(size_t)(STEPS_per_dB * MAX_dB)];
+#if 0
+static uint32_t A [(size_t)(STEPS_per_dB * MAX_dB)];
+static uint32_t B [(size_t)(STEPS_per_dB * MAX_dB)];
#else
/* [JEC] Solaris Forte compiler doesn't like float calc in array indices */
-static Uint32_t A [12000];
-static Uint32_t B [12000];
+static uint32_t A [120 * 100];
+static uint32_t B [120 * 100];
#endif
-/* for each filter:
- [0] 48 kHz, [1] 44.1 kHz, [2] 32 kHz, [3] 24 kHz, [4] 22050 Hz, [5] 16 kHz, [6] 12 kHz, [7] is 11025 Hz, [8] 8 kHz */
-
-#ifdef WIN32
+#ifdef _MSC_VER
#pragma warning ( disable : 4305 )
#endif
-static const Float_t AYule [9] [11] = {
- { 1., -3.84664617118067, 7.81501653005538,-11.34170355132042, 13.05504219327545,-12.28759895145294, 9.48293806319790, -5.87257861775999, 2.75465861874613, -0.86984376593551, 0.13919314567432 },
- { 1., -3.47845948550071, 6.36317777566148, -8.54751527471874, 9.47693607801280, -8.81498681370155, 6.85401540936998, -4.39470996079559, 2.19611684890774, -0.75104302451432, 0.13149317958808 },
- { 1., -2.37898834973084, 2.84868151156327, -2.64577170229825, 2.23697657451713, -1.67148153367602, 1.00595954808547, -0.45953458054983, 0.16378164858596, -0.05032077717131, 0.02347897407020 },
- { 1., -1.61273165137247, 1.07977492259970, -0.25656257754070, -0.16276719120440, -0.22638893773906, 0.39120800788284, -0.22138138954925, 0.04500235387352, 0.02005851806501, 0.00302439095741 },
- { 1., -1.49858979367799, 0.87350271418188, 0.12205022308084, -0.80774944671438, 0.47854794562326, -0.12453458140019, -0.04067510197014, 0.08333755284107, -0.04237348025746, 0.02977207319925 },
- { 1., -0.62820619233671, 0.29661783706366, -0.37256372942400, 0.00213767857124, -0.42029820170918, 0.22199650564824, 0.00613424350682, 0.06747620744683, 0.05784820375801, 0.03222754072173 },
- { 1., -1.04800335126349, 0.29156311971249, -0.26806001042947, 0.00819999645858, 0.45054734505008, -0.33032403314006, 0.06739368333110, -0.04784254229033, 0.01639907836189, 0.01807364323573 },
- { 1., -0.51035327095184, -0.31863563325245, -0.20256413484477, 0.14728154134330, 0.38952639978999, -0.23313271880868, -0.05246019024463, -0.02505961724053, 0.02442357316099, 0.01818801111503 },
- { 1., -0.25049871956020, -0.43193942311114, -0.03424681017675, -0.04678328784242, 0.26408300200955, 0.15113130533216, -0.17556493366449, -0.18823009262115, 0.05477720428674, 0.04704409688120 }
+struct ReplayGainFilter {
+ long rate;
+ uint32_t downsample;
+ flac_float_t BYule[YULE_ORDER+1];
+ flac_float_t AYule[YULE_ORDER+1];
+ flac_float_t BButter[BUTTER_ORDER+1];
+ flac_float_t AButter[BUTTER_ORDER+1];
};
-static const Float_t BYule [9] [11] = {
- { 0.03857599435200, -0.02160367184185, -0.00123395316851, -0.00009291677959, -0.01655260341619, 0.02161526843274, -0.02074045215285, 0.00594298065125, 0.00306428023191, 0.00012025322027, 0.00288463683916 },
- { 0.05418656406430, -0.02911007808948, -0.00848709379851, -0.00851165645469, -0.00834990904936, 0.02245293253339, -0.02596338512915, 0.01624864962975, -0.00240879051584, 0.00674613682247, -0.00187763777362 },
- { 0.15457299681924, -0.09331049056315, -0.06247880153653, 0.02163541888798, -0.05588393329856, 0.04781476674921, 0.00222312597743, 0.03174092540049, -0.01390589421898, 0.00651420667831, -0.00881362733839 },
- { 0.30296907319327, -0.22613988682123, -0.08587323730772, 0.03282930172664, -0.00915702933434, -0.02364141202522, -0.00584456039913, 0.06276101321749, -0.00000828086748, 0.00205861885564, -0.02950134983287 },
- { 0.33642304856132, -0.25572241425570, -0.11828570177555, 0.11921148675203, -0.07834489609479, -0.00469977914380, -0.00589500224440, 0.05724228140351, 0.00832043980773, -0.01635381384540, -0.01760176568150 },
- { 0.44915256608450, -0.14351757464547, -0.22784394429749, -0.01419140100551, 0.04078262797139, -0.12398163381748, 0.04097565135648, 0.10478503600251, -0.01863887810927, -0.03193428438915, 0.00541907748707 },
- { 0.56619470757641, -0.75464456939302, 0.16242137742230, 0.16744243493672, -0.18901604199609, 0.30931782841830, -0.27562961986224, 0.00647310677246, 0.08647503780351, -0.03788984554840, -0.00588215443421 },
- { 0.58100494960553, -0.53174909058578, -0.14289799034253, 0.17520704835522, 0.02377945217615, 0.15558449135573, -0.25344790059353, 0.01628462406333, 0.06920467763959, -0.03721611395801, -0.00749618797172 },
- { 0.53648789255105, -0.42163034350696, -0.00275953611929, 0.04267842219415, -0.10214864179676, 0.14590772289388, -0.02459864859345, -0.11202315195388, -0.04060034127000, 0.04788665548180, -0.02217936801134 }
-};
+static struct ReplayGainFilter *replaygainfilter;
+
+static const struct ReplayGainFilter ReplayGainFilters[] = {
+
+ {
+ 48000, 0, /* ORIGINAL */
+ { 0.03857599435200, -0.02160367184185, -0.00123395316851, -0.00009291677959, -0.01655260341619, 0.02161526843274, -0.02074045215285, 0.00594298065125, 0.00306428023191, 0.00012025322027, 0.00288463683916 },
+ { 1.00000000000000, -3.84664617118067, 7.81501653005538, -11.34170355132042, 13.05504219327545, -12.28759895145294, 9.48293806319790, -5.87257861775999, 2.75465861874613, -0.86984376593551, 0.13919314567432 },
+ { 0.98621192462708, -1.97242384925416, 0.98621192462708 },
+ { 1.00000000000000, -1.97223372919527, 0.97261396931306 },
+ },
+
+ {
+ 44100, 0, /* ORIGINAL */
+ { 0.05418656406430, -0.02911007808948, -0.00848709379851, -0.00851165645469, -0.00834990904936, 0.02245293253339, -0.02596338512915, 0.01624864962975, -0.00240879051584, 0.00674613682247, -0.00187763777362 },
+ { 1.00000000000000, -3.47845948550071, 6.36317777566148, -8.54751527471874, 9.47693607801280, -8.81498681370155, 6.85401540936998, -4.39470996079559, 2.19611684890774, -0.75104302451432, 0.13149317958808 },
+ { 0.98500175787242, -1.97000351574484, 0.98500175787242 },
+ { 1.00000000000000, -1.96977855582618, 0.97022847566350 },
+ },
+
+ {
+ 37800, 0,
+ { 0.10296717174470, -0.04877975583256, -0.02878009075237, -0.03519509188311, 0.02888717172493, -0.00609872684844, 0.00209851217112, 0.00911704668543, 0.01154404718589, -0.00630293688700, 0.00107527155228 },
+ { 1.00000000000000, -2.64848054923531, 3.58406058405771, -3.83794914179161, 3.90142345804575, -3.50179818637243, 2.67085284083076, -1.82581142372418, 1.09530368139801, -0.47689017820395, 0.11171431535905 },
+ { 0.98252400815195, -1.96504801630391, 0.98252400815195 },
+ { 1.00000000000000, -1.96474258269041, 0.96535344991740 },
+ },
+
+ {
+ 36000, 0,
+ { 0.11572297028613, -0.04120916051252, -0.04977731768022, -0.01047308680426, 0.00750863219157, 0.00055507694408, 0.00140344192886, 0.01286095246036, 0.00998223033885, -0.00725013810661, 0.00326503346879 },
+ { 1.00000000000000, -2.43606802820871, 3.01907406973844, -2.90372016038192, 2.67947188094303, -2.17606479220391, 1.44912956803015, -0.87785765549050, 0.53592202672557, -0.26469344817509, 0.07495878059717 },
+ { 0.98165826840326, -1.96331653680652, 0.98165826840326 },
+ { 1.00000000000000, -1.96298008938934, 0.96365298422371 },
+ },
+
+ {
+ 32000, 0, /* ORIGINAL */
+ { 0.15457299681924, -0.09331049056315, -0.06247880153653, 0.02163541888798, -0.05588393329856, 0.04781476674921, 0.00222312597743, 0.03174092540049, -0.01390589421898, 0.00651420667831, -0.00881362733839 },
+ { 1.00000000000000, -2.37898834973084, 2.84868151156327, -2.64577170229825, 2.23697657451713, -1.67148153367602, 1.00595954808547, -0.45953458054983, 0.16378164858596, -0.05032077717131, 0.02347897407020 },
+ { 0.97938932735214, -1.95877865470428, 0.97938932735214 },
+ { 1.00000000000000, -1.95835380975398, 0.95920349965459 },
+ },
+
+ {
+ 28000, 0,
+ { 0.23882392323383, -0.22007791534089, -0.06014581950332, 0.05004458058021, -0.03293111254977, 0.02348678189717, 0.04290549799671, -0.00938141862174, 0.00015095146303, -0.00712601540885, -0.00626520210162 },
+ { 1.00000000000000, -2.06894080899139, 1.76944699577212, -0.81404732584187, 0.25418286850232, -0.30340791669762, 0.35616884070937, -0.14967310591258, -0.07024154183279, 0.11078404345174, -0.03551838002425 },
+ { 0.97647981663949, -1.95295963327897, 0.97647981663949 },
+ { 1.00000000000000, -1.95240635772520, 0.95351290883275 },
+
+ },
+
+ {
+ 24000, 0, /* ORIGINAL */
+ { 0.30296907319327, -0.22613988682123, -0.08587323730772, 0.03282930172664, -0.00915702933434, -0.02364141202522, -0.00584456039913, 0.06276101321749, -0.00000828086748, 0.00205861885564, -0.02950134983287 },
+ { 1.00000000000000, -1.61273165137247, 1.07977492259970, -0.25656257754070, -0.16276719120440, -0.22638893773906, 0.39120800788284, -0.22138138954925, 0.04500235387352, 0.02005851806501, 0.00302439095741 },
+ { 0.97531843204928, -1.95063686409857, 0.97531843204928 },
+ { 1.00000000000000, -1.95002759149878, 0.95124613669835 },
+ },
+
+ {
+ 22050, 0, /* ORIGINAL */
+ { 0.33642304856132, -0.25572241425570, -0.11828570177555, 0.11921148675203, -0.07834489609479, -0.00469977914380, -0.00589500224440, 0.05724228140351, 0.00832043980773, -0.01635381384540, -0.01760176568150 },
+ { 1.00000000000000, -1.49858979367799, 0.87350271418188, 0.12205022308084, -0.80774944671438, 0.47854794562326, -0.12453458140019, -0.04067510197014, 0.08333755284107, -0.04237348025746, 0.02977207319925 },
+ { 0.97316523498161, -1.94633046996323, 0.97316523498161 },
+ { 1.00000000000000, -1.94561023566527, 0.94705070426118 },
+ },
+
+ {
+ 18900, 0,
+ { 0.38412657295385, -0.44533729608120, 0.20426638066221, -0.28031676047946, 0.31484202614802, -0.26078311203207, 0.12925201224848, -0.01141164696062, 0.03036522115769, -0.03776339305406, 0.00692036603586 },
+ { 1.00000000000000, -1.74403915585708, 1.96686095832499, -2.10081452941881, 1.90753918182846, -1.83814263754422, 1.36971352214969, -0.77883609116398, 0.39266422457649, -0.12529383592986, 0.05424760697665 },
+ { 0.96535326815829, -1.93070653631658, 0.96535326815829 },
+ { 1.00000000000000, -1.92950577983524, 0.93190729279793 },
+ },
+
+ {
+ 16000, 0, /* ORIGINAL */
+ { 0.44915256608450, -0.14351757464547, -0.22784394429749, -0.01419140100551, 0.04078262797139, -0.12398163381748, 0.04097565135648, 0.10478503600251, -0.01863887810927, -0.03193428438915, 0.00541907748707 },
+ { 1.00000000000000, -0.62820619233671, 0.29661783706366, -0.37256372942400, 0.00213767857124, -0.42029820170918, 0.22199650564824, 0.00613424350682, 0.06747620744683, 0.05784820375801, 0.03222754072173 },
+ { 0.96454515552826, -1.92909031105652, 0.96454515552826 },
+ { 1.00000000000000, -1.92783286977036, 0.93034775234268 },
+ },
+
+ {
+ 12000, 0, /* ORIGINAL */
+ { 0.56619470757641, -0.75464456939302, 0.16242137742230, 0.16744243493672, -0.18901604199609, 0.30931782841830, -0.27562961986224, 0.00647310677246, 0.08647503780351, -0.03788984554840, -0.00588215443421 },
+ { 1.00000000000000, -1.04800335126349, 0.29156311971249, -0.26806001042947, 0.00819999645858, 0.45054734505008, -0.33032403314006, 0.06739368333110, -0.04784254229033, 0.01639907836189, 0.01807364323573 },
+ { 0.96009142950541, -1.92018285901082, 0.96009142950541 },
+ { 1.00000000000000, -1.91858953033784, 0.92177618768381 },
+ },
+
+ {
+ 11025, 0, /* ORIGINAL */
+ { 0.58100494960553, -0.53174909058578, -0.14289799034253, 0.17520704835522, 0.02377945217615, 0.15558449135573, -0.25344790059353, 0.01628462406333, 0.06920467763959, -0.03721611395801, -0.00749618797172 },
+ { 1.00000000000000, -0.51035327095184, -0.31863563325245, -0.20256413484477, 0.14728154134330, 0.38952639978999, -0.23313271880868, -0.05246019024463, -0.02505961724053, 0.02442357316099, 0.01818801111503 },
+ { 0.95856916599601, -1.91713833199203, 0.95856916599601 },
+ { 1.00000000000000, -1.91542108074780, 0.91885558323625 },
+ },
+
+ {
+ 8000, 0, /* ORIGINAL */
+ { 0.53648789255105, -0.42163034350696, -0.00275953611929, 0.04267842219415, -0.10214864179676, 0.14590772289388, -0.02459864859345, -0.11202315195388, -0.04060034127000, 0.04788665548180, -0.02217936801134 },
+ { 1.00000000000000, -0.25049871956020, -0.43193942311114, -0.03424681017675, -0.04678328784242, 0.26408300200955, 0.15113130533216, -0.17556493366449, -0.18823009262115, 0.05477720428674, 0.04704409688120 },
+ { 0.94597685600279, -1.89195371200558, 0.94597685600279 },
+ { 1.00000000000000, -1.88903307939452, 0.89487434461664 },
+ },
-static const Float_t AButter [9] [3] = {
- { 1., -1.97223372919527, 0.97261396931306 },
- { 1., -1.96977855582618, 0.97022847566350 },
- { 1., -1.95835380975398, 0.95920349965459 },
- { 1., -1.95002759149878, 0.95124613669835 },
- { 1., -1.94561023566527, 0.94705070426118 },
- { 1., -1.92783286977036, 0.93034775234268 },
- { 1., -1.91858953033784, 0.92177618768381 },
- { 1., -1.91542108074780, 0.91885558323625 },
- { 1., -1.88903307939452, 0.89487434461664 }
};
-static const Float_t BButter [9] [3] = {
- { 0.98621192462708, -1.97242384925416, 0.98621192462708 },
- { 0.98500175787242, -1.97000351574484, 0.98500175787242 },
- { 0.97938932735214, -1.95877865470428, 0.97938932735214 },
- { 0.97531843204928, -1.95063686409857, 0.97531843204928 },
- { 0.97316523498161, -1.94633046996323, 0.97316523498161 },
- { 0.96454515552826, -1.92909031105652, 0.96454515552826 },
- { 0.96009142950541, -1.92018285901082, 0.96009142950541 },
- { 0.95856916599601, -1.91713833199203, 0.95856916599601 },
- { 0.94597685600279, -1.89195371200558, 0.94597685600279 }
-};
-
-#ifdef WIN32
+#ifdef _MSC_VER
#pragma warning ( default : 4305 )
#endif
/* When calling this procedure, make sure that ip[-order] and op[-order] point to real data! */
static void
-filter ( const Float_t* input, Float_t* output, size_t nSamples, const Float_t* a, const Float_t* b, size_t order )
+filter ( const flac_float_t* input, flac_float_t* output, size_t nSamples, const flac_float_t* a, const flac_float_t* b, size_t order, uint32_t downsample )
{
double y;
size_t i;
size_t k;
- for ( i = 0; i < nSamples; i++ ) {
- y = input[i] * b[0];
- for ( k = 1; k <= order; k++ )
- y += input[i-k] * b[k] - output[i-k] * a[k];
- output[i] = (Float_t)y;
+ const flac_float_t* input_head = input;
+ const flac_float_t* input_tail;
+
+ flac_float_t* output_head = output;
+ flac_float_t* output_tail;
+
+ for ( i = 0; i < nSamples; i++, input_head += downsample, ++output_head ) {
+
+ input_tail = input_head;
+ output_tail = output_head;
+
+ y = *input_head * b[0];
+
+ for ( k = 1; k <= order; k++ ) {
+ input_tail -= downsample;
+ --output_tail;
+ y += *input_tail * b[k] - *output_tail * a[k];
+ }
+
+ output[i] = (flac_float_t)y;
}
}
/* returns a INIT_GAIN_ANALYSIS_OK if successful, INIT_GAIN_ANALYSIS_ERROR if not */
-int
+static struct ReplayGainFilter*
+CreateGainFilter ( long samplefreq )
+{
+ uint32_t i;
+ long maxrate = 0;
+ uint32_t downsample = 1;
+ struct ReplayGainFilter* gainfilter = malloc(sizeof(*gainfilter));
+
+ if ( !gainfilter )
+ return 0;
+
+ while (1) {
+ for ( i = 0; i < sizeof(ReplayGainFilters)/sizeof(ReplayGainFilters[0]); ++i ) {
+ if (maxrate < ReplayGainFilters[i].rate)
+ maxrate = ReplayGainFilters[i].rate;
+
+ if ( ReplayGainFilters[i].rate == samplefreq ) {
+ *gainfilter = ReplayGainFilters[i];
+ gainfilter->downsample = downsample;
+ return gainfilter;
+ }
+ }
+
+ if (samplefreq < maxrate)
+ break;
+
+ while (samplefreq > maxrate) {
+ downsample *= 2;
+ samplefreq /= 2;
+ }
+ }
+
+ free(gainfilter);
+
+ return 0;
+}
+
+static void*
+ReallocateWindowBuffer(uint32_t window_size, flac_float_t **window_buffer)
+{
+ *window_buffer = safe_realloc_(*window_buffer, sizeof(**window_buffer) * (window_size + MAX_ORDER));
+ return *window_buffer;
+}
+
+static int
ResetSampleFrequency ( long samplefreq ) {
int i;
- /* zero out initial values */
- for ( i = 0; i < MAX_ORDER; i++ )
- linprebuf[i] = lstepbuf[i] = loutbuf[i] = rinprebuf[i] = rstepbuf[i] = routbuf[i] = 0.;
+ free(replaygainfilter);
+
+ replaygainfilter = CreateGainFilter( samplefreq );
+
+ if ( ! replaygainfilter)
+ return INIT_GAIN_ANALYSIS_ERROR;
+
+ sampleWindow =
+ (replaygainfilter->rate * RMS_WINDOW_TIME + 1000-1) / 1000;
+
+ if ( ! ReallocateWindowBuffer(sampleWindow, &lstepbuf) ||
+ ! ReallocateWindowBuffer(sampleWindow, &rstepbuf) ||
+ ! ReallocateWindowBuffer(sampleWindow, &loutbuf) ||
+ ! ReallocateWindowBuffer(sampleWindow, &routbuf) ) {
- switch ( (int)(samplefreq) ) {
- case 48000: freqindex = 0; break;
- case 44100: freqindex = 1; break;
- case 32000: freqindex = 2; break;
- case 24000: freqindex = 3; break;
- case 22050: freqindex = 4; break;
- case 16000: freqindex = 5; break;
- case 12000: freqindex = 6; break;
- case 11025: freqindex = 7; break;
- case 8000: freqindex = 8; break;
- default: return INIT_GAIN_ANALYSIS_ERROR;
+ return INIT_GAIN_ANALYSIS_ERROR;
}
- sampleWindow = (int) ceil (samplefreq * RMS_WINDOW_TIME);
+ /* zero out initial values */
+ for ( i = 0; i < MAX_ORDER; i++ )
+ linprebuf[i] = lstepbuf[i] = loutbuf[i] = rinprebuf[i] = rstepbuf[i] = routbuf[i] = 0.;
lsum = 0.;
rsum = 0.;
@@ -263,15 +376,28 @@ ResetSampleFrequency ( long samplefreq ) {
memset ( A, 0, sizeof(A) );
- return INIT_GAIN_ANALYSIS_OK;
+ return INIT_GAIN_ANALYSIS_OK;
+}
+
+int
+ValidGainFrequency ( long samplefreq )
+{
+ struct ReplayGainFilter* gainfilter = CreateGainFilter( samplefreq );
+
+ if (gainfilter == 0) {
+ return 0;
+ } else {
+ free(gainfilter);
+ return 1;
+ }
}
int
InitGainAnalysis ( long samplefreq )
{
- if (ResetSampleFrequency(samplefreq) != INIT_GAIN_ANALYSIS_OK) {
- return INIT_GAIN_ANALYSIS_ERROR;
- }
+ if (ResetSampleFrequency(samplefreq) != INIT_GAIN_ANALYSIS_OK) {
+ return INIT_GAIN_ANALYSIS_ERROR;
+ }
linpre = linprebuf + MAX_ORDER;
rinpre = rinprebuf + MAX_ORDER;
@@ -288,15 +414,19 @@ InitGainAnalysis ( long samplefreq )
/* returns GAIN_ANALYSIS_OK if successful, GAIN_ANALYSIS_ERROR if not */
int
-AnalyzeSamples ( const Float_t* left_samples, const Float_t* right_samples, size_t num_samples, int num_channels )
+AnalyzeSamples ( const flac_float_t* left_samples, const flac_float_t* right_samples, size_t num_samples, int num_channels )
{
- const Float_t* curleft;
- const Float_t* curright;
+ uint32_t downsample = replaygainfilter->downsample;
+ const flac_float_t* curleft;
+ const flac_float_t* curright;
+ long prebufsamples;
long batchsamples;
long cursamples;
long cursamplepos;
int i;
+ num_samples /= downsample;
+
if ( num_samples == 0 )
return GAIN_ANALYSIS_OK;
@@ -309,33 +439,35 @@ AnalyzeSamples ( const Float_t* left_samples, const Float_t* right_samples, size
default: return GAIN_ANALYSIS_ERROR;
}
- if ( num_samples < MAX_ORDER ) {
- memcpy ( linprebuf + MAX_ORDER, left_samples , num_samples * sizeof(Float_t) );
- memcpy ( rinprebuf + MAX_ORDER, right_samples, num_samples * sizeof(Float_t) );
- }
- else {
- memcpy ( linprebuf + MAX_ORDER, left_samples, MAX_ORDER * sizeof(Float_t) );
- memcpy ( rinprebuf + MAX_ORDER, right_samples, MAX_ORDER * sizeof(Float_t) );
+ prebufsamples = MAX_ORDER;
+ if ((size_t) prebufsamples > num_samples)
+ prebufsamples = num_samples;
+
+ for ( i = 0; i < prebufsamples; ++i ) {
+ linprebuf[i+MAX_ORDER] = left_samples [i * downsample];
+ rinprebuf[i+MAX_ORDER] = right_samples[i * downsample];
}
while ( batchsamples > 0 ) {
cursamples = batchsamples > (long)(sampleWindow-totsamp) ? (long)(sampleWindow - totsamp) : batchsamples;
if ( cursamplepos < MAX_ORDER ) {
+ downsample = 1;
curleft = linpre+cursamplepos;
curright = rinpre+cursamplepos;
if (cursamples > MAX_ORDER - cursamplepos )
cursamples = MAX_ORDER - cursamplepos;
}
else {
- curleft = left_samples + cursamplepos;
- curright = right_samples + cursamplepos;
+ downsample = replaygainfilter->downsample;
+ curleft = left_samples + cursamplepos * downsample;
+ curright = right_samples + cursamplepos * downsample;
}
- filter ( curleft , lstep + totsamp, cursamples, AYule[freqindex], BYule[freqindex], YULE_ORDER );
- filter ( curright, rstep + totsamp, cursamples, AYule[freqindex], BYule[freqindex], YULE_ORDER );
+ filter ( curleft , lstep + totsamp, cursamples, replaygainfilter->AYule, replaygainfilter->BYule, YULE_ORDER, downsample );
+ filter ( curright, rstep + totsamp, cursamples, replaygainfilter->AYule, replaygainfilter->BYule, YULE_ORDER, downsample );
- filter ( lstep + totsamp, lout + totsamp, cursamples, AButter[freqindex], BButter[freqindex], BUTTER_ORDER );
- filter ( rstep + totsamp, rout + totsamp, cursamples, AButter[freqindex], BButter[freqindex], BUTTER_ORDER );
+ filter ( lstep + totsamp, lout + totsamp, cursamples, replaygainfilter->AButter, replaygainfilter->BButter, BUTTER_ORDER, 1 );
+ filter ( rstep + totsamp, rout + totsamp, cursamples, replaygainfilter->AButter, replaygainfilter->BButter, BUTTER_ORDER, 1 );
for ( i = 0; i < cursamples; i++ ) { /* Get the squared values */
lsum += lout [totsamp+i] * lout [totsamp+i];
@@ -352,35 +484,43 @@ AnalyzeSamples ( const Float_t* left_samples, const Float_t* right_samples, size
if ( ival >= (int)(sizeof(A)/sizeof(*A)) ) ival = (int)(sizeof(A)/sizeof(*A)) - 1;
A [ival]++;
lsum = rsum = 0.;
- memmove ( loutbuf , loutbuf + totsamp, MAX_ORDER * sizeof(Float_t) );
- memmove ( routbuf , routbuf + totsamp, MAX_ORDER * sizeof(Float_t) );
- memmove ( lstepbuf, lstepbuf + totsamp, MAX_ORDER * sizeof(Float_t) );
- memmove ( rstepbuf, rstepbuf + totsamp, MAX_ORDER * sizeof(Float_t) );
+ memmove ( loutbuf , loutbuf + totsamp, MAX_ORDER * sizeof(flac_float_t) );
+ memmove ( routbuf , routbuf + totsamp, MAX_ORDER * sizeof(flac_float_t) );
+ memmove ( lstepbuf, lstepbuf + totsamp, MAX_ORDER * sizeof(flac_float_t) );
+ memmove ( rstepbuf, rstepbuf + totsamp, MAX_ORDER * sizeof(flac_float_t) );
totsamp = 0;
}
if ( totsamp > sampleWindow ) /* somehow I really screwed up: Error in programming! Contact author about totsamp > sampleWindow */
return GAIN_ANALYSIS_ERROR;
}
+
if ( num_samples < MAX_ORDER ) {
- memmove ( linprebuf, linprebuf + num_samples, (MAX_ORDER-num_samples) * sizeof(Float_t) );
- memmove ( rinprebuf, rinprebuf + num_samples, (MAX_ORDER-num_samples) * sizeof(Float_t) );
- memcpy ( linprebuf + MAX_ORDER - num_samples, left_samples, num_samples * sizeof(Float_t) );
- memcpy ( rinprebuf + MAX_ORDER - num_samples, right_samples, num_samples * sizeof(Float_t) );
+ memmove ( linprebuf, linprebuf + num_samples, (MAX_ORDER-num_samples) * sizeof(flac_float_t) );
+ memmove ( rinprebuf, rinprebuf + num_samples, (MAX_ORDER-num_samples) * sizeof(flac_float_t) );
+ memcpy ( linprebuf + MAX_ORDER - num_samples, left_samples, num_samples * sizeof(flac_float_t) );
+ memcpy ( rinprebuf + MAX_ORDER - num_samples, right_samples, num_samples * sizeof(flac_float_t) );
}
else {
- memcpy ( linprebuf, left_samples + num_samples - MAX_ORDER, MAX_ORDER * sizeof(Float_t) );
- memcpy ( rinprebuf, right_samples + num_samples - MAX_ORDER, MAX_ORDER * sizeof(Float_t) );
+ downsample = replaygainfilter->downsample;
+
+ left_samples += (num_samples - MAX_ORDER) * downsample;
+ right_samples += (num_samples - MAX_ORDER) * downsample;
+
+ for ( i = 0; i < MAX_ORDER; ++i ) {
+ linprebuf[i] = left_samples [i * downsample];
+ rinprebuf[i] = right_samples[i * downsample];
+ }
}
return GAIN_ANALYSIS_OK;
}
-static Float_t
-analyzeResult ( Uint32_t* Array, size_t len )
+static flac_float_t
+analyzeResult ( uint32_t* Array, size_t len )
{
- Uint32_t elems;
- Int32_t upper;
+ uint32_t elems;
+ int32_t upper;
size_t i;
elems = 0;
@@ -389,21 +529,26 @@ analyzeResult ( Uint32_t* Array, size_t len )
if ( elems == 0 )
return GAIN_NOT_ENOUGH_SAMPLES;
- upper = (Int32_t) ceil (elems * (1. - RMS_PERCENTILE));
+/* workaround for GCC bug #61423: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61423 */
+#if 0
+ upper = (int32_t) ceil (elems * (1. - RMS_PERCENTILE));
+#else
+ upper = (int32_t) (elems / 20 + ((elems % 20) ? 1 : 0));
+#endif
for ( i = len; i-- > 0; ) {
if ( (upper -= Array[i]) <= 0 )
break;
}
- return (Float_t) ((Float_t)PINK_REF - (Float_t)i / (Float_t)STEPS_per_dB);
+ return (flac_float_t) ((flac_float_t)PINK_REF - (flac_float_t)i / (flac_float_t)STEPS_per_dB);
}
-Float_t
+flac_float_t
GetTitleGain ( void )
{
- Float_t retval;
- unsigned int i;
+ flac_float_t retval;
+ uint32_t i;
retval = analyzeResult ( A, sizeof(A)/sizeof(*A) );
@@ -421,7 +566,7 @@ GetTitleGain ( void )
}
-Float_t
+flac_float_t
GetAlbumGain ( void )
{
return analyzeResult ( B, sizeof(B)/sizeof(*B) );
diff --git a/3rdparty/libflac/src/share/replaygain_analysis/replaygain_analysis_static.dsp b/3rdparty/libflac/src/share/replaygain_analysis/replaygain_analysis_static.dsp
deleted file mode 100644
index e4364309d57..00000000000
--- a/3rdparty/libflac/src/share/replaygain_analysis/replaygain_analysis_static.dsp
+++ /dev/null
@@ -1,108 +0,0 @@
-# Microsoft Developer Studio Project File - Name="replaygain_analysis_static" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=replaygain_analysis_static - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "replaygain_analysis_static.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "replaygain_analysis_static.mak" CFG="replaygain_analysis_static - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "replaygain_analysis_static - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "replaygain_analysis_static - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "replaygain_analysis"
-# PROP Scc_LocalPath "..\..\.."
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "replaygain_analysis_static - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\obj\release\lib"
-# PROP Intermediate_Dir "Release_static"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /Op /I ".\include" /I "..\..\..\include\share" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /nodefaultlib
-
-!ELSEIF "$(CFG)" == "replaygain_analysis_static - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\obj\debug\lib"
-# PROP Intermediate_Dir "Debug_static"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I ".\include" /I "..\..\..\include\share" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /nodefaultlib
-
-!ENDIF
-
-# Begin Target
-
-# Name "replaygain_analysis_static - Win32 Release"
-# Name "replaygain_analysis_static - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "c"
-# Begin Source File
-
-SOURCE=.\replaygain_analysis.c
-# End Source File
-# End Group
-# Begin Group "Private Header Files"
-
-# PROP Default_Filter ""
-# End Group
-# Begin Group "Protected Header Files"
-
-# PROP Default_Filter ""
-# End Group
-# Begin Group "Public Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\..\include\share\replaygain_analysis.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/share/replaygain_analysis/replaygain_analysis_static.vcproj b/3rdparty/libflac/src/share/replaygain_analysis/replaygain_analysis_static.vcproj
deleted file mode 100644
index a6ffda29b4a..00000000000
--- a/3rdparty/libflac/src/share/replaygain_analysis/replaygain_analysis_static.vcproj
+++ /dev/null
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="replaygain_analysis_static"
- ProjectGUID="{4cefbc89-c215-11db-8314-0800200c9a66}"
- RootNamespace="replaygain_analysis_static"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\..\obj\debug\lib"
- IntermediateDirectory="Debug_static"
- ConfigurationType="4"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".\include;..\..\..\include\share"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\obj\debug\lib\$(ProjectName).lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\..\obj\release\lib"
- IntermediateDirectory="Release_static"
- ConfigurationType="4"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".\include;..\..\..\include\share"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\obj\release\lib\$(ProjectName).lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Public Header Files"
- >
- <File
- RelativePath="..\..\..\include\share\replaygain_analysis.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\replaygain_analysis.c"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/share/replaygain_synthesis/CMakeLists.txt b/3rdparty/libflac/src/share/replaygain_synthesis/CMakeLists.txt
new file mode 100644
index 00000000000..0736f4fce6e
--- /dev/null
+++ b/3rdparty/libflac/src/share/replaygain_synthesis/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_library(replaygain_synthesis STATIC
+ replaygain_synthesis.c)
diff --git a/3rdparty/libflac/src/share/replaygain_synthesis/Makefile.am b/3rdparty/libflac/src/share/replaygain_synthesis/Makefile.am
deleted file mode 100644
index 4ea9e8a28ae..00000000000
--- a/3rdparty/libflac/src/share/replaygain_synthesis/Makefile.am
+++ /dev/null
@@ -1,22 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-AUTOMAKE_OPTIONS = foreign
-
-SUBDIRS = include .
-
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/include/share
-
-noinst_LTLIBRARIES = libreplaygain_synthesis.la
-
-libreplaygain_synthesis_la_SOURCES = replaygain_synthesis.c
-
-EXTRA_DIST = \
- Makefile.lite \
- replaygain_synthesis_static.dsp \
- replaygain_synthesis_static.vcproj
-
-debug:
- $(MAKE) all CFLAGS="@DEBUG@"
-
-profile:
- $(MAKE) all CFLAGS="@PROFILE@"
diff --git a/3rdparty/libflac/src/share/replaygain_synthesis/Makefile.in b/3rdparty/libflac/src/share/replaygain_synthesis/Makefile.in
deleted file mode 100644
index 7ae61da4732..00000000000
--- a/3rdparty/libflac/src/share/replaygain_synthesis/Makefile.in
+++ /dev/null
@@ -1,602 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-AUTOMAKE_OPTIONS = foreign
-
-SUBDIRS = include .
-
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/include/share
-
-noinst_LTLIBRARIES = libreplaygain_synthesis.la
-
-libreplaygain_synthesis_la_SOURCES = replaygain_synthesis.c
-
-EXTRA_DIST = \
- Makefile.lite \
- replaygain_synthesis_static.dsp \
- replaygain_synthesis_static.vcproj
-
-subdir = src/share/replaygain_synthesis
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-
-libreplaygain_synthesis_la_LDFLAGS =
-libreplaygain_synthesis_la_LIBADD =
-am_libreplaygain_synthesis_la_OBJECTS = replaygain_synthesis.lo
-libreplaygain_synthesis_la_OBJECTS = \
- $(am_libreplaygain_synthesis_la_OBJECTS)
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/replaygain_synthesis.Plo
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(libreplaygain_synthesis_la_SOURCES)
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
-SOURCES = $(libreplaygain_synthesis_la_SOURCES)
-
-all: all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign src/share/replaygain_synthesis/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" = "$$p" && dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libreplaygain_synthesis.la: $(libreplaygain_synthesis_la_OBJECTS) $(libreplaygain_synthesis_la_DEPENDENCIES)
- $(LINK) $(libreplaygain_synthesis_la_LDFLAGS) $(libreplaygain_synthesis_la_OBJECTS) $(libreplaygain_synthesis_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/replaygain_synthesis.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- else \
- include_option=--include; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(LTLIBRARIES)
-installdirs: installdirs-recursive
-installdirs-am:
-
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-noinstLTLIBRARIES \
- clean-recursive ctags ctags-recursive distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
- pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \
- tags-recursive uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
-
-
-debug:
- $(MAKE) all CFLAGS="@DEBUG@"
-
-profile:
- $(MAKE) all CFLAGS="@PROFILE@"
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/src/share/replaygain_synthesis/Makefile.lite b/3rdparty/libflac/src/share/replaygain_synthesis/Makefile.lite
deleted file mode 100644
index e58e708821f..00000000000
--- a/3rdparty/libflac/src/share/replaygain_synthesis/Makefile.lite
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# GNU makefile
-#
-
-topdir = ../../..
-
-LIB_NAME = libreplaygain_synthesis
-INCLUDES = -I./include -I$(topdir)/include -I$(topdir)/include/share
-
-SRCS_C = \
- replaygain_synthesis.c
-
-include $(topdir)/build/lib.mk
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/src/share/replaygain_synthesis/include/Makefile.am b/3rdparty/libflac/src/share/replaygain_synthesis/include/Makefile.am
deleted file mode 100644
index 4418640f410..00000000000
--- a/3rdparty/libflac/src/share/replaygain_synthesis/include/Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
-# replaygain_synthesis - Routines for applying ReplayGain to a signal
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-SUBDIRS = private
diff --git a/3rdparty/libflac/src/share/replaygain_synthesis/include/Makefile.in b/3rdparty/libflac/src/share/replaygain_synthesis/include/Makefile.in
deleted file mode 100644
index 47c6376ec91..00000000000
--- a/3rdparty/libflac/src/share/replaygain_synthesis/include/Makefile.in
+++ /dev/null
@@ -1,520 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# replaygain_synthesis - Routines for applying ReplayGain to a signal
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-SUBDIRS = private
-subdir = src/share/replaygain_synthesis/include
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/share/replaygain_synthesis/include/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- else \
- include_option=--include; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/src/share/replaygain_synthesis/include/private/Makefile.am b/3rdparty/libflac/src/share/replaygain_synthesis/include/private/Makefile.am
deleted file mode 100644
index 081d7ba41b7..00000000000
--- a/3rdparty/libflac/src/share/replaygain_synthesis/include/private/Makefile.am
+++ /dev/null
@@ -1,19 +0,0 @@
-# replaygain_synthesis - Routines for applying ReplayGain to a signal
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-noinst_HEADERS = \
- fast_float_math_hack.h
diff --git a/3rdparty/libflac/src/share/replaygain_synthesis/include/private/Makefile.in b/3rdparty/libflac/src/share/replaygain_synthesis/include/private/Makefile.in
deleted file mode 100644
index 95f6bcc9ce7..00000000000
--- a/3rdparty/libflac/src/share/replaygain_synthesis/include/private/Makefile.in
+++ /dev/null
@@ -1,424 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# replaygain_synthesis - Routines for applying ReplayGain to a signal
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-noinst_HEADERS = \
- fast_float_math_hack.h
-
-subdir = src/share/replaygain_synthesis/include/private
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-HEADERS = $(noinst_HEADERS)
-
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.in Makefile.am
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/share/replaygain_synthesis/include/private/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(HEADERS)
-
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool ctags distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am info \
- info-am install install-am install-data install-data-am \
- install-exec install-exec-am install-info install-info-am \
- install-man install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
- ps ps-am tags uninstall uninstall-am uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/src/share/replaygain_synthesis/include/private/fast_float_math_hack.h b/3rdparty/libflac/src/share/replaygain_synthesis/include/private/fast_float_math_hack.h
deleted file mode 100644
index d8608fc444b..00000000000
--- a/3rdparty/libflac/src/share/replaygain_synthesis/include/private/fast_float_math_hack.h
+++ /dev/null
@@ -1,39 +0,0 @@
-# ifdef __ICL /* only Intel C compiler has fmath ??? */
-
- #include <mathf.h>
-
-/* Nearest integer, absolute value, etc. */
-
- #define ceil ceilf
- #define fabs fabsf
- #define floor floorf
- #define fmod fmodf
- #define rint rintf
- #define hypot hypotf
-
-/* Power functions */
-
- #define pow powf
- #define sqrt sqrtf
-
-/* Exponential and logarithmic functions */
-
- #define exp expf
- #define log logf
- #define log10 log10f
-
-/* Trigonometric functions */
-
- #define acos acosf
- #define asin asinf
- #define atan atanf
- #define cos cosf
- #define sin sinf
- #define tan tanf
-
-/* Hyperbolic functions */
- #define cosh coshf
- #define sinh sinhf
- #define tanh tanhf
-
-# endif
diff --git a/3rdparty/libflac/src/share/replaygain_synthesis/replaygain_synthesis.c b/3rdparty/libflac/src/share/replaygain_synthesis/replaygain_synthesis.c
index e5615766d7b..8d4fda6b928 100644
--- a/3rdparty/libflac/src/share/replaygain_synthesis/replaygain_synthesis.c
+++ b/3rdparty/libflac/src/share/replaygain_synthesis/replaygain_synthesis.c
@@ -1,5 +1,6 @@
/* replaygain_synthesis - Routines for applying ReplayGain to a signal
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -34,26 +35,17 @@
* Additional code by Magnus Holmgren and Gian-Carlo Pascutto
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <string.h> /* for memset() */
#include <math.h>
-#include "private/fast_float_math_hack.h"
-#include "replaygain_synthesis.h"
+#include "share/compat.h"
+#include "share/replaygain_synthesis.h"
#include "FLAC/assert.h"
-#ifndef FLaC__INLINE
-#define FLaC__INLINE
-#endif
-
-/* adjust for compilers that can't understand using LL suffix for int64_t literals */
-#ifdef _MSC_VER
-#define FLAC__I64L(x) x
-#else
#define FLAC__I64L(x) x##LL
-#endif
/*
@@ -88,9 +80,9 @@
* XORed values of both generators.
*/
-static unsigned int random_int_(void)
+static uint32_t random_int_(void)
{
- static const unsigned char parity_[256] = {
+ static const uint8_t parity_[256] = {
0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,
1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,
1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,
@@ -100,10 +92,10 @@ static unsigned int random_int_(void)
0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,
1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0
};
- static unsigned int r1_ = 1;
- static unsigned int r2_ = 1;
+ static uint32_t r1_ = 1;
+ static uint32_t r2_ = 1;
- unsigned int t1, t2, t3, t4;
+ uint32_t t1, t2, t3, t4;
/* Parity calculation is done via table lookup, this is also available
* on CPUs without parity, can be implemented in C and avoid unpredictable
@@ -210,17 +202,17 @@ static double scalar16_(const float* x, const float* y)
void FLAC__replaygain_synthesis__init_dither_context(DitherContext *d, int bits, int shapingtype)
{
- static unsigned char default_dither [] = { 92, 92, 88, 84, 81, 78, 74, 67, 0, 0 };
+ static uint8_t default_dither [] = { 92, 92, 88, 84, 81, 78, 74, 67, 0, 0 };
static const float* F [] = { F44_0, F44_1, F44_2, F44_3 };
- int index;
+ int indx;
if (shapingtype < 0) shapingtype = 0;
if (shapingtype > 3) shapingtype = 3;
d->ShapingType = (NoiseShaping)shapingtype;
- index = bits - 11 - shapingtype;
- if (index < 0) index = 0;
- if (index > 9) index = 9;
+ indx = bits - 11 - shapingtype;
+ if (indx < 0) indx = 0;
+ if (indx > 9) indx = 9;
memset ( d->ErrorHistory , 0, sizeof (d->ErrorHistory ) );
memset ( d->DitherHistory, 0, sizeof (d->DitherHistory) );
@@ -228,24 +220,31 @@ void FLAC__replaygain_synthesis__init_dither_context(DitherContext *d, int bits,
d->FilterCoeff = F [shapingtype];
d->Mask = ((FLAC__uint64)-1) << (32 - bits);
d->Add = 0.5 * ((1L << (32 - bits)) - 1);
- d->Dither = 0.01f*default_dither[index] / (((FLAC__int64)1) << bits);
+ d->Dither = 0.01f*default_dither[indx] / (((FLAC__int64)1) << bits);
d->LastHistoryIndex = 0;
}
+static inline int64_t
+ROUND64 (DitherContext *d, double x)
+{
+ union {
+ double d;
+ int64_t i;
+ } doubletmp;
+
+ doubletmp.d = x + d->Add + (int64_t)FLAC__I64L(0x001FFFFD80000000);
+
+ return doubletmp.i - (int64_t)FLAC__I64L(0x433FFFFD80000000);
+}
+
/*
* the following is based on parts of wavegain.c
*/
-static FLaC__INLINE FLAC__int64 dither_output_(DitherContext *d, FLAC__bool do_dithering, int shapingtype, int i, double Sum, int k)
+static int64_t dither_output_(DitherContext *d, FLAC__bool do_dithering, int shapingtype, int i, double Sum, int k)
{
- union {
- double d;
- FLAC__int64 i;
- } doubletmp;
double Sum2;
- FLAC__int64 val;
-
-#define ROUND64(x) ( doubletmp.d = (x) + d->Add + (FLAC__int64)FLAC__I64L(0x001FFFFD80000000), doubletmp.i - (FLAC__int64)FLAC__I64L(0x433FFFFD80000000) )
+ int64_t val;
if(do_dithering) {
if(shapingtype == 0) {
@@ -253,21 +252,19 @@ static FLaC__INLINE FLAC__int64 dither_output_(DitherContext *d, FLAC__bool do_d
Sum2 = tmp - d->LastRandomNumber [k];
d->LastRandomNumber [k] = (int)tmp;
Sum2 = Sum += Sum2;
- val = ROUND64(Sum2) & d->Mask;
+ val = ROUND64(d, Sum2) & d->Mask;
}
else {
Sum2 = random_triangular_(d->Dither) - scalar16_(d->DitherHistory[k], d->FilterCoeff + i);
Sum += d->DitherHistory [k] [(-1-i)&15] = (float)Sum2;
Sum2 = Sum + scalar16_(d->ErrorHistory [k], d->FilterCoeff + i);
- val = ROUND64(Sum2) & d->Mask;
+ val = ROUND64(d, Sum2) & d->Mask;
d->ErrorHistory [k] [(-1-i)&15] = (float)(Sum - val);
}
return val;
}
- else
- return ROUND64(Sum);
-#undef ROUND64
+ return ROUND64(d, Sum);
}
#if 0
@@ -301,43 +298,8 @@ static FLaC__INLINE FLAC__int64 dither_output_(DitherContext *d, FLAC__bool do_d
#endif
-size_t FLAC__replaygain_synthesis__apply_gain(FLAC__byte *data_out, FLAC__bool little_endian_data_out, FLAC__bool unsigned_data_out, const FLAC__int32 * const input[], unsigned wide_samples, unsigned channels, const unsigned source_bps, const unsigned target_bps, const double scale, const FLAC__bool hard_limit, FLAC__bool do_dithering, DitherContext *dither_context)
+size_t FLAC__replaygain_synthesis__apply_gain(FLAC__byte *data_out, FLAC__bool little_endian_data_out, FLAC__bool uint32_t_data_out, const FLAC__int32 * const input[], uint32_t wide_samples, uint32_t channels, const uint32_t source_bps, const uint32_t target_bps, const double scale, const FLAC__bool hard_limit, FLAC__bool do_dithering, DitherContext *dither_context)
{
- static const FLAC__int32 conv_factors_[33] = {
- -1, /* 0 bits-per-sample (not supported) */
- -1, /* 1 bits-per-sample (not supported) */
- -1, /* 2 bits-per-sample (not supported) */
- -1, /* 3 bits-per-sample (not supported) */
- 268435456, /* 4 bits-per-sample */
- 134217728, /* 5 bits-per-sample */
- 67108864, /* 6 bits-per-sample */
- 33554432, /* 7 bits-per-sample */
- 16777216, /* 8 bits-per-sample */
- 8388608, /* 9 bits-per-sample */
- 4194304, /* 10 bits-per-sample */
- 2097152, /* 11 bits-per-sample */
- 1048576, /* 12 bits-per-sample */
- 524288, /* 13 bits-per-sample */
- 262144, /* 14 bits-per-sample */
- 131072, /* 15 bits-per-sample */
- 65536, /* 16 bits-per-sample */
- 32768, /* 17 bits-per-sample */
- 16384, /* 18 bits-per-sample */
- 8192, /* 19 bits-per-sample */
- 4096, /* 20 bits-per-sample */
- 2048, /* 21 bits-per-sample */
- 1024, /* 22 bits-per-sample */
- 512, /* 23 bits-per-sample */
- 256, /* 24 bits-per-sample */
- 128, /* 25 bits-per-sample */
- 64, /* 26 bits-per-sample */
- 32, /* 27 bits-per-sample */
- 16, /* 28 bits-per-sample */
- 8, /* 29 bits-per-sample */
- 4, /* 30 bits-per-sample */
- 2, /* 31 bits-per-sample */
- 1 /* 32 bits-per-sample */
- };
static const FLAC__int64 hard_clip_factors_[33] = {
0, /* 0 bits-per-sample (not supported) */
0, /* 1 bits-per-sample (not supported) */
@@ -373,7 +335,7 @@ size_t FLAC__replaygain_synthesis__apply_gain(FLAC__byte *data_out, FLAC__bool l
-1073741824, /* 31 bits-per-sample */
(FLAC__int64)(-1073741824) * 2 /* 32 bits-per-sample */
};
- const FLAC__int32 conv_factor = conv_factors_[target_bps];
+ const FLAC__int32 conv_shift = 32 - target_bps;
const FLAC__int64 hard_clip_factor = hard_clip_factors_[target_bps];
/*
* The integer input coming in has a varying range based on the
@@ -384,11 +346,11 @@ size_t FLAC__replaygain_synthesis__apply_gain(FLAC__byte *data_out, FLAC__bool l
const double multi_scale = scale / (double)(1u << (source_bps-1));
FLAC__byte * const start = data_out;
- unsigned i, channel;
+ uint32_t i, channel;
const FLAC__int32 *input_;
double sample;
- const unsigned bytes_per_sample = target_bps / 8;
- const unsigned last_history_index = dither_context->LastHistoryIndex;
+ const uint32_t bytes_per_sample = target_bps / 8;
+ const uint32_t last_history_index = dither_context->LastHistoryIndex;
NoiseShaping noise_shaping = dither_context->ShapingType;
FLAC__int64 val64;
FLAC__int32 val32;
@@ -403,7 +365,7 @@ size_t FLAC__replaygain_synthesis__apply_gain(FLAC__byte *data_out, FLAC__bool l
FLAC__ASSERT((target_bps & 7) == 0);
for(channel = 0; channel < channels; channel++) {
- const unsigned incr = bytes_per_sample * channels;
+ const uint32_t incr = bytes_per_sample * channels;
data_out = start + bytes_per_sample * channel;
input_ = input[channel];
for(i = 0; i < wide_samples; i++, data_out += incr) {
@@ -416,9 +378,9 @@ size_t FLAC__replaygain_synthesis__apply_gain(FLAC__byte *data_out, FLAC__bool l
else if(sample > 0.5)
sample = tanh((sample - 0.5) / (1-0.5)) * (1-0.5) + 0.5;
}
- sample *= 2147483647.f;
+ sample *= 2147483647.;
- val64 = dither_output_(dither_context, do_dithering, noise_shaping, (i + last_history_index) % 32, sample, channel) / conv_factor;
+ val64 = dither_output_(dither_context, do_dithering, noise_shaping, (i + last_history_index) % 32, sample, channel) >> conv_shift;
val32 = (FLAC__int32)val64;
if(val64 >= -hard_clip_factor)
@@ -427,7 +389,7 @@ size_t FLAC__replaygain_synthesis__apply_gain(FLAC__byte *data_out, FLAC__bool l
val32 = (FLAC__int32)hard_clip_factor;
uval32 = (FLAC__uint32)val32;
- if (unsigned_data_out)
+ if (uint32_t_data_out)
uval32 ^= twiggle;
if (little_endian_data_out) {
diff --git a/3rdparty/libflac/src/share/replaygain_synthesis/replaygain_synthesis_static.dsp b/3rdparty/libflac/src/share/replaygain_synthesis/replaygain_synthesis_static.dsp
deleted file mode 100644
index a443efa0035..00000000000
--- a/3rdparty/libflac/src/share/replaygain_synthesis/replaygain_synthesis_static.dsp
+++ /dev/null
@@ -1,108 +0,0 @@
-# Microsoft Developer Studio Project File - Name="replaygain_synthesis_static" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=replaygain_synthesis_static - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "replaygain_synthesis_static.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "replaygain_synthesis_static.mak" CFG="replaygain_synthesis_static - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "replaygain_synthesis_static - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "replaygain_synthesis_static - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "replaygain_synthesis"
-# PROP Scc_LocalPath "..\..\.."
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "replaygain_synthesis_static - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\obj\release\lib"
-# PROP Intermediate_Dir "Release_static"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /Op /I ".\include" /I "..\..\..\include" /I "..\..\..\include\share" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /nodefaultlib
-
-!ELSEIF "$(CFG)" == "replaygain_synthesis_static - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\obj\debug\lib"
-# PROP Intermediate_Dir "Debug_static"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I ".\include" /I "..\..\..\include" /I "..\..\..\include\share" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /nodefaultlib
-
-!ENDIF
-
-# Begin Target
-
-# Name "replaygain_synthesis_static - Win32 Release"
-# Name "replaygain_synthesis_static - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "c"
-# Begin Source File
-
-SOURCE=.\replaygain_synthesis.c
-# End Source File
-# End Group
-# Begin Group "Private Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\include\private\fast_float_math_hack.h
-# End Source File
-# End Group
-# Begin Group "Public Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\..\include\share\replaygain_synthesis.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/share/replaygain_synthesis/replaygain_synthesis_static.vcproj b/3rdparty/libflac/src/share/replaygain_synthesis/replaygain_synthesis_static.vcproj
deleted file mode 100644
index 627ab496ad5..00000000000
--- a/3rdparty/libflac/src/share/replaygain_synthesis/replaygain_synthesis_static.vcproj
+++ /dev/null
@@ -1,185 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="replaygain_synthesis_static"
- ProjectGUID="{4cefbc8a-c215-11db-8314-0800200c9a66}"
- RootNamespace="replaygain_synthesis_static"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\..\obj\debug\lib"
- IntermediateDirectory="Debug_static"
- ConfigurationType="4"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".\include;..\..\..\include;..\..\..\include\share"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\obj\debug\lib\$(ProjectName).lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\..\obj\release\lib"
- IntermediateDirectory="Release_static"
- ConfigurationType="4"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".\include;..\..\..\include;..\..\..\include\share"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\obj\release\lib\$(ProjectName).lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\include\private\fast_float_math_hack.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Public Header Files"
- >
- <File
- RelativePath="..\..\..\include\share\replaygain_synthesis.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\replaygain_synthesis.c"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/share/utf8/CMakeLists.txt b/3rdparty/libflac/src/share/utf8/CMakeLists.txt
new file mode 100644
index 00000000000..389b09e26cc
--- /dev/null
+++ b/3rdparty/libflac/src/share/utf8/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 3.12)
+
+add_library(utf8 STATIC
+ charset.c
+ iconvert.c
+ utf8.c)
+
+target_link_libraries(utf8 PUBLIC grabbag $<TARGET_NAME_IF_EXISTS:Iconv::Iconv>)
diff --git a/3rdparty/libflac/src/share/utf8/Makefile.am b/3rdparty/libflac/src/share/utf8/Makefile.am
deleted file mode 100644
index bc42c2dfd62..00000000000
--- a/3rdparty/libflac/src/share/utf8/Makefile.am
+++ /dev/null
@@ -1,25 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-AUTOMAKE_OPTIONS = foreign
-
-INCLUDES = -I$(top_srcdir)/include/share
-
-noinst_LTLIBRARIES = libutf8.la
-
-libutf8_la_SOURCES = charset.c charset.h iconvert.c utf8.c
-
-EXTRA_DIST = \
- Makefile.lite \
- charmaps.h \
- makemap.c \
- charset_test.c \
- charsetmap.h \
- iconvert.h \
- utf8_static.dsp \
- utf8_static.vcproj
-
-debug:
- $(MAKE) all CFLAGS="@DEBUG@"
-
-profile:
- $(MAKE) all CFLAGS="@PROFILE@"
diff --git a/3rdparty/libflac/src/share/utf8/Makefile.in b/3rdparty/libflac/src/share/utf8/Makefile.in
deleted file mode 100644
index b3c9ff7886a..00000000000
--- a/3rdparty/libflac/src/share/utf8/Makefile.in
+++ /dev/null
@@ -1,507 +0,0 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
-DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
-FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
-OBJEXT = @OBJEXT@
-OBJ_FORMAT = @OBJ_FORMAT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-AUTOMAKE_OPTIONS = foreign
-
-INCLUDES = -I$(top_srcdir)/include/share
-
-noinst_LTLIBRARIES = libutf8.la
-
-libutf8_la_SOURCES = charset.c charset.h iconvert.c utf8.c
-
-EXTRA_DIST = \
- Makefile.lite \
- charmaps.h \
- makemap.c \
- charset_test.c \
- charsetmap.h \
- iconvert.h \
- utf8_static.dsp \
- utf8_static.vcproj
-
-subdir = src/share/utf8
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-
-libutf8_la_LDFLAGS =
-libutf8_la_LIBADD =
-am_libutf8_la_OBJECTS = charset.lo iconvert.lo utf8.lo
-libutf8_la_OBJECTS = $(am_libutf8_la_OBJECTS)
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/charset.Plo ./$(DEPDIR)/iconvert.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/utf8.Plo
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(libutf8_la_SOURCES)
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(libutf8_la_SOURCES)
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign src/share/utf8/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" = "$$p" && dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libutf8.la: $(libutf8_la_OBJECTS) $(libutf8_la_DEPENDENCIES)
- $(LINK) $(libutf8_la_LDFLAGS) $(libutf8_la_OBJECTS) $(libutf8_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/charset.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iconvert.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utf8.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
- pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
-
-
-debug:
- $(MAKE) all CFLAGS="@DEBUG@"
-
-profile:
- $(MAKE) all CFLAGS="@PROFILE@"
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/3rdparty/libflac/src/share/utf8/Makefile.lite b/3rdparty/libflac/src/share/utf8/Makefile.lite
deleted file mode 100644
index 95e4a7fafc3..00000000000
--- a/3rdparty/libflac/src/share/utf8/Makefile.lite
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# GNU makefile
-#
-
-topdir = ../../..
-
-LIB_NAME = libutf8
-INCLUDES = -I$(topdir)/include -I$(topdir)/include/share
-
-SRCS_C = \
- charset.c \
- iconvert.c \
- utf8.c
-
-include $(topdir)/build/lib.mk
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/src/share/utf8/charmaps.h b/3rdparty/libflac/src/share/utf8/charmaps.h
index 690d8906f8e..16d049a2a75 100644
--- a/3rdparty/libflac/src/share/utf8/charmaps.h
+++ b/3rdparty/libflac/src/share/utf8/charmaps.h
@@ -4,7 +4,7 @@
* with a decent iconv.
*/
-static const unsigned short mapping_iso_8859_2[256] = {
+static const uint16_t mapping_iso_8859_2[256] = {
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
@@ -41,7 +41,7 @@ static const unsigned short mapping_iso_8859_2[256] = {
static struct {
const char *name;
- const unsigned short *map;
+ const uint16_t *map;
struct charset *charset;
} maps[] = {
{ "ISO-8859-2", mapping_iso_8859_2, 0 },
diff --git a/3rdparty/libflac/src/share/utf8/charset.c b/3rdparty/libflac/src/share/utf8/charset.c
index dcef6fc94b3..5c5693d15c6 100644
--- a/3rdparty/libflac/src/share/utf8/charset.c
+++ b/3rdparty/libflac/src/share/utf8/charset.c
@@ -1,19 +1,19 @@
/*
* Copyright (C) 2001 Edmund Grimley Evans <edmundo@rano.org>
- *
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/*
@@ -27,11 +27,11 @@
* 8-bit char, 16-bit short and 32-bit int.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
-#ifndef HAVE_ICONV /* should be ifdef USE_CHARSET_CONVERT */
+#if !defined _WIN32 && !defined HAVE_ICONV /* should be && defined USE_CHARSET_CONVERT */
#include <stdlib.h>
@@ -56,7 +56,7 @@ static int ascii_strcasecmp(const char *s1, const char *s2)
char c1, c2;
for (;; s1++, s2++) {
- if (!*s1 || !*s1)
+ if (!*s1 || !*s2)
break;
if (*s1 == *s2)
continue;
@@ -69,7 +69,7 @@ static int ascii_strcasecmp(const char *s1, const char *s2)
if (c1 != c2)
break;
}
- return (unsigned char)*s1 - (unsigned char)*s2;
+ return (uint8_t)*s1 - (uint8_t)*s2;
}
/*
@@ -78,7 +78,7 @@ static int ascii_strcasecmp(const char *s1, const char *s2)
int utf8_mbtowc(int *pwc, const char *s, size_t n)
{
- unsigned char c;
+ uint8_t c;
int wc, i, k;
if (!n || !s)
@@ -129,7 +129,7 @@ int utf8_mbtowc(int *pwc, const char *s, size_t n)
int utf8_wctomb(char *s, int wc1)
{
- unsigned int wc = wc1;
+ uint32_t wc = wc1;
if (!s)
return 0;
@@ -231,7 +231,7 @@ static int mbtowc_ascii(void *map, int *pwc, const char *s, size_t n)
(void)map;
if (!n || !s)
return 0;
- wc = (unsigned char)*s;
+ wc = (uint8_t)*s;
if (wc & ~0x7f)
return -1;
if (pwc)
@@ -263,7 +263,7 @@ static int mbtowc_iso1(void *map, int *pwc, const char *s, size_t n)
(void)map;
if (!n || !s)
return 0;
- wc = (unsigned char)*s;
+ wc = (uint8_t)*s;
if (wc & ~0xff)
return -1;
if (pwc)
@@ -287,18 +287,18 @@ static int wctomb_iso1(void *map, char *s, int wc)
*/
struct map {
- const unsigned short *from;
+ const uint16_t *from;
struct inverse_map *to;
};
static int mbtowc_8bit(void *map1, int *pwc, const char *s, size_t n)
{
struct map *map = map1;
- unsigned short wc;
+ uint16_t wc;
if (!n || !s)
return 0;
- wc = map->from[(unsigned char)*s];
+ wc = map->from[(uint8_t)*s];
if (wc == 0xffff)
return -1;
if (pwc)
@@ -316,8 +316,8 @@ static int mbtowc_8bit(void *map1, int *pwc, const char *s, size_t n)
*/
struct inverse_map {
- unsigned char first[256];
- unsigned char next[256];
+ uint8_t first[256];
+ uint8_t next[256];
};
/*
@@ -328,13 +328,13 @@ struct inverse_map {
/* #define HASH(i) 0 */
/* #define HASH(i) 99 */
-static struct inverse_map *make_inverse_map(const unsigned short *from)
+static struct inverse_map *make_inverse_map(const uint16_t *from)
{
struct inverse_map *to;
char used[256];
int i, j, k;
- to = (struct inverse_map *)malloc(sizeof(struct inverse_map));
+ to = malloc(sizeof(struct inverse_map));
if (!to)
return 0;
for (i = 0; i < 256; i++)
@@ -359,10 +359,10 @@ static struct inverse_map *make_inverse_map(const unsigned short *from)
return to;
}
-int wctomb_8bit(void *map1, char *s, int wc1)
+static int wctomb_8bit(void *map1, char *s, int wc1)
{
struct map *map = map1;
- unsigned short wc = wc1;
+ uint16_t wc = wc1;
int i;
if (!s)
@@ -447,9 +447,9 @@ struct charset *charset_find(const char *code)
for (i = 0; maps[i].name; i++)
if (!ascii_strcasecmp(code, maps[i].name)) {
if (!maps[i].charset) {
- maps[i].charset = (struct charset *)malloc(sizeof(struct charset));
+ maps[i].charset = malloc(sizeof(struct charset));
if (maps[i].charset) {
- struct map *map = (struct map *)malloc(sizeof(struct map));
+ struct map *map = malloc(sizeof(struct map));
if (!map) {
free(maps[i].charset);
maps[i].charset = 0;
@@ -485,7 +485,7 @@ int charset_convert(const char *fromcode, const char *tocode,
{
int ret = 0;
struct charset *charset1, *charset2;
- char *tobuf, *p, *newbuf;
+ char *tobuf, *p;
int i, j, wc;
charset1 = charset_find(fromcode);
@@ -493,7 +493,7 @@ int charset_convert(const char *fromcode, const char *tocode,
if (!charset1 || !charset2 )
return -1;
- tobuf = (char *)safe_malloc_mul2add_(fromlen, /*times*/charset2->max, /*+*/1);
+ tobuf = safe_malloc_mul2add_(fromlen, /*times*/charset2->max, /*+*/1);
if (!tobuf)
return -2;
@@ -520,8 +520,10 @@ int charset_convert(const char *fromcode, const char *tocode,
*tolen = p - tobuf;
*p++ = '\0';
if (to) {
- newbuf = realloc(tobuf, p - tobuf);
- *to = newbuf ? newbuf : tobuf;
+ char *tobuf_saved = tobuf;
+ *to = realloc(tobuf, p - tobuf);
+ if (*to == NULL)
+ *to = tobuf_saved;
}
else
free(tobuf);
diff --git a/3rdparty/libflac/src/share/utf8/charset.h b/3rdparty/libflac/src/share/utf8/charset.h
index b5e2fb7384e..ea8e31e1e63 100644
--- a/3rdparty/libflac/src/share/utf8/charset.h
+++ b/3rdparty/libflac/src/share/utf8/charset.h
@@ -1,19 +1,19 @@
/*
* Copyright (C) 2001 Edmund Grimley Evans <edmundo@rano.org>
- *
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include <stdlib.h>
diff --git a/3rdparty/libflac/src/share/utf8/charset_test.c b/3rdparty/libflac/src/share/utf8/charset_test.c
index 1d5bf717557..6761100cede 100644
--- a/3rdparty/libflac/src/share/utf8/charset_test.c
+++ b/3rdparty/libflac/src/share/utf8/charset_test.c
@@ -1,22 +1,22 @@
/*
* Copyright (C) 2001 Edmund Grimley Evans <edmundo@rano.org>
- *
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -119,8 +119,8 @@ void test_utf8()
assert(charset_mbtowc(charset, &wc, "\377\277\277\277\277\277", 9) == -1);
/* Encoder */
- strcpy(s, ".......");
- assert(charset_wctomb(charset, s, 1 << 31) == -1 &&
+ safe_strncpy(s, ".......", sizeof(s));
+ assert(charset_wctomb(charset, s, 1u << 31) == -1 &&
!strcmp(s, "......."));
assert(charset_wctomb(charset, s, 127) == 1 &&
!strcmp(s, "\177......"));
@@ -161,7 +161,7 @@ void test_ascii()
assert(charset_mbtowc(charset, &wc, "\200", 2) == -1);
/* Encoder */
- strcpy(s, "..");
+ safe_strncpy(s, "..", sizeof(s));
assert(charset_wctomb(charset, s, 256) == -1 && !strcmp(s, ".."));
assert(charset_wctomb(charset, s, 255) == -1);
assert(charset_wctomb(charset, s, 128) == -1);
@@ -182,7 +182,7 @@ void test_iso1()
assert(charset_mbtowc(charset, &wc, "\302\200", 9) == 1 && wc == 0xc2);
/* Encoder */
- strcpy(s, "..");
+ safe_strncpy(s, "..", sizeof(s));
assert(charset_wctomb(charset, s, 256) == -1 && !strcmp(s, ".."));
assert(charset_wctomb(charset, s, 255) == 1 && !strcmp(s, "\377."));
assert(charset_wctomb(charset, s, 128) == 1 && !strcmp(s, "\200."));
@@ -203,7 +203,7 @@ void test_iso2()
assert(charset_mbtowc(charset, &wc, "\377", 2) == 1 && wc == 0x2d9);
/* Encoder */
- strcpy(s, "..");
+ safe_strncpy(s, "..", sizeof(s));
assert(charset_wctomb(charset, s, 256) == -1 && !strcmp(s, ".."));
assert(charset_wctomb(charset, s, 255) == -1 && !strcmp(s, ".."));
assert(charset_wctomb(charset, s, 258) == 1 && !strcmp(s, "\303."));
@@ -230,7 +230,7 @@ void test_convert()
assert(charset_convert("UTF-8", "iso-8859-1",
"\302\200\304\200x", 5, &q, &n) == 1 &&
n == 3 && !strcmp(q, "\200?x"));
- assert(charset_convert("iso-8859-1", "UTF-8",
+ assert(charset_convert("iso-8859-1", "UTF-8",
"\000\200\377", 3, &q, &n) == 0 &&
n == 5 && !memcmp(q, "\000\302\200\303\277", 5));
assert(charset_convert("iso-8859-1", "iso-8859-1",
diff --git a/3rdparty/libflac/src/share/utf8/charsetmap.h b/3rdparty/libflac/src/share/utf8/charsetmap.h
deleted file mode 100644
index b81259051f0..00000000000
--- a/3rdparty/libflac/src/share/utf8/charsetmap.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* This file was automatically generated by make_code_map.pl
- please don't edit directly
- Daniel Resare <noa@metamatrix.se>
-*/
-charset_map maps[] = {
- {"ISO-8859-1",
- {
- 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
- 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
- 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
- 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
- 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
- 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
- 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
- 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
- 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
- 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
- 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
- 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
- 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
- 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
- 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
- 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
- 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,
- 0x0088,0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,
- 0x0090,0x0091,0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,
- 0x0098,0x0099,0x009A,0x009B,0x009C,0x009D,0x009E,0x009F,
- 0x00A0,0x00A1,0x00A2,0x00A3,0x00A4,0x00A5,0x00A6,0x00A7,
- 0x00A8,0x00A9,0x00AA,0x00AB,0x00AC,0x00AD,0x00AE,0x00AF,
- 0x00B0,0x00B1,0x00B2,0x00B3,0x00B4,0x00B5,0x00B6,0x00B7,
- 0x00B8,0x00B9,0x00BA,0x00BB,0x00BC,0x00BD,0x00BE,0x00BF,
- 0x00C0,0x00C1,0x00C2,0x00C3,0x00C4,0x00C5,0x00C6,0x00C7,
- 0x00C8,0x00C9,0x00CA,0x00CB,0x00CC,0x00CD,0x00CE,0x00CF,
- 0x00D0,0x00D1,0x00D2,0x00D3,0x00D4,0x00D5,0x00D6,0x00D7,
- 0x00D8,0x00D9,0x00DA,0x00DB,0x00DC,0x00DD,0x00DE,0x00DF,
- 0x00E0,0x00E1,0x00E2,0x00E3,0x00E4,0x00E5,0x00E6,0x00E7,
- 0x00E8,0x00E9,0x00EA,0x00EB,0x00EC,0x00ED,0x00EE,0x00EF,
- 0x00F0,0x00F1,0x00F2,0x00F3,0x00F4,0x00F5,0x00F6,0x00F7,
- 0x00F8,0x00F9,0x00FA,0x00FB,0x00FC,0x00FD,0x00FE,0x00FF
- }
- },
- {"ISO-8859-2",
- {
- 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
- 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
- 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
- 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
- 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
- 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
- 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
- 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
- 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
- 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
- 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
- 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
- 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
- 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
- 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
- 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
- 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,
- 0x0088,0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,
- 0x0090,0x0091,0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,
- 0x0098,0x0099,0x009A,0x009B,0x009C,0x009D,0x009E,0x009F,
- 0x00A0,0x0104,0x02D8,0x0141,0x00A4,0x013D,0x015A,0x00A7,
- 0x00A8,0x0160,0x015E,0x0164,0x0179,0x00AD,0x017D,0x017B,
- 0x00B0,0x0105,0x02DB,0x0142,0x00B4,0x013E,0x015B,0x02C7,
- 0x00B8,0x0161,0x015F,0x0165,0x017A,0x02DD,0x017E,0x017C,
- 0x0154,0x00C1,0x00C2,0x0102,0x00C4,0x0139,0x0106,0x00C7,
- 0x010C,0x00C9,0x0118,0x00CB,0x011A,0x00CD,0x00CE,0x010E,
- 0x0110,0x0143,0x0147,0x00D3,0x00D4,0x0150,0x00D6,0x00D7,
- 0x0158,0x016E,0x00DA,0x0170,0x00DC,0x00DD,0x0162,0x00DF,
- 0x0155,0x00E1,0x00E2,0x0103,0x00E4,0x013A,0x0107,0x00E7,
- 0x010D,0x00E9,0x0119,0x00EB,0x011B,0x00ED,0x00EE,0x010F,
- 0x0111,0x0144,0x0148,0x00F3,0x00F4,0x0151,0x00F6,0x00F7,
- 0x0159,0x016F,0x00FA,0x0171,0x00FC,0x00FD,0x0163,0x02D9
- }
- },
- {NULL}
-};
diff --git a/3rdparty/libflac/src/share/utf8/iconvert.c b/3rdparty/libflac/src/share/utf8/iconvert.c
index f0311ee0610..9a1e3f6b2a1 100644
--- a/3rdparty/libflac/src/share/utf8/iconvert.c
+++ b/3rdparty/libflac/src/share/utf8/iconvert.c
@@ -1,35 +1,37 @@
/*
* Copyright (C) 2001 Edmund Grimley Evans <edmundo@rano.org>
- *
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
-#ifdef HAVE_ICONV
+#if !defined _WIN32 && defined HAVE_ICONV
#include <assert.h>
#include <errno.h>
#include <iconv.h>
+#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "iconvert.h"
#include "share/alloc.h"
+#include "share/safe_str.h"
/*
* Convert data from one encoding to another. Return:
@@ -60,7 +62,7 @@ int iconvert(const char *fromcode, const char *tocode,
char *ib;
char *ob;
char *utfbuf = 0, *outbuf, *newbuf;
- size_t utflen, outlen, ibl, obl, k;
+ size_t utflen, outlen, ibl, obl, obp, k;
char tbuf[2048];
cd1 = iconv_open("UTF-8", fromcode);
@@ -76,18 +78,17 @@ int iconvert(const char *fromcode, const char *tocode,
tocode[4] != '8' ||
tocode[5] != '\0') {
char *tocode1;
-
+ int rc;
/*
* Try using this non-standard feature of glibc and libiconv.
* This is deliberately not a config option as people often
* change their iconv library without rebuilding applications.
*/
- tocode1 = (char *)safe_malloc_add_2op_(strlen(tocode), /*+*/11);
- if (!tocode1)
+
+ rc = asprintf(&tocode1, "%s//TRANSLIT", tocode);
+ if (rc < 0 || ! tocode1)
goto fail;
- strcpy(tocode1, tocode);
- strcat(tocode1, "//TRANSLIT");
cd2 = iconv_open(tocode1, "UTF-8");
free(tocode1);
@@ -101,7 +102,7 @@ int iconvert(const char *fromcode, const char *tocode,
}
utflen = 1; /*fromlen * 2 + 1; XXX */
- utfbuf = (char *)malloc(utflen);
+ utfbuf = malloc(utflen);
if (!utfbuf)
goto fail;
@@ -123,11 +124,12 @@ int iconvert(const char *fromcode, const char *tocode,
if(utflen*2 < utflen) /* overflow check */
goto fail;
utflen *= 2;
- newbuf = (char *)realloc(utfbuf, utflen);
+ obp = ob - utfbuf; /* save position */
+ newbuf = realloc(utfbuf, utflen);
if (!newbuf)
goto fail;
- ob = (ob - utfbuf) + newbuf;
- obl = utflen - (ob - newbuf);
+ ob = newbuf + obp;
+ obl = utflen - obp;
utfbuf = newbuf;
}
else {
@@ -148,7 +150,7 @@ int iconvert(const char *fromcode, const char *tocode,
iconv_close(cd1);
return ret;
}
- newbuf = (char *)safe_realloc_add_2op_(utfbuf, (ob - utfbuf), /*+*/1);
+ newbuf = safe_realloc_nofree_add_2op_(utfbuf, (ob - utfbuf), /*+*/1);
if (!newbuf)
goto fail;
ob = (ob - utfbuf) + newbuf;
@@ -160,7 +162,9 @@ int iconvert(const char *fromcode, const char *tocode,
/* Truncate the buffer to be tidy */
utflen = ob - utfbuf;
- newbuf = (char *)realloc(utfbuf, utflen);
+ if (utflen == 0)
+ goto fail;
+ newbuf = realloc(utfbuf, utflen);
if (!newbuf)
goto fail;
utfbuf = newbuf;
@@ -199,7 +203,7 @@ int iconvert(const char *fromcode, const char *tocode,
outlen += ob - tbuf;
/* Convert from UTF-8 for real */
- outbuf = (char *)safe_malloc_add_2op_(outlen, /*+*/1);
+ outbuf = safe_malloc_add_2op_(outlen, /*+*/1);
if (!outbuf)
goto fail;
ib = utfbuf;
diff --git a/3rdparty/libflac/src/share/utf8/iconvert.h b/3rdparty/libflac/src/share/utf8/iconvert.h
index 1a1a06a13ab..a2d75a27026 100644
--- a/3rdparty/libflac/src/share/utf8/iconvert.h
+++ b/3rdparty/libflac/src/share/utf8/iconvert.h
@@ -1,22 +1,22 @@
/*
* Copyright (C) 2001 Edmund Grimley Evans <edmundo@rano.org>
- *
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
diff --git a/3rdparty/libflac/src/share/utf8/makemap.c b/3rdparty/libflac/src/share/utf8/makemap.c
index 72a9de18def..790021c69fa 100644
--- a/3rdparty/libflac/src/share/utf8/makemap.c
+++ b/3rdparty/libflac/src/share/utf8/makemap.c
@@ -1,22 +1,22 @@
/*
* Copyright (C) 2001 Edmund Grimley Evans <edmundo@rano.org>
- *
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -30,7 +30,7 @@ int main(int argc, char *argv[])
const char *ib;
char *ob;
size_t ibl, obl, k;
- unsigned char c, buf[4];
+ uint8_t c, buf[4];
int i, wc;
if (argc != 2) {
diff --git a/3rdparty/libflac/src/share/utf8/utf8.c b/3rdparty/libflac/src/share/utf8/utf8.c
index 303fe23a060..34af187b8bc 100644
--- a/3rdparty/libflac/src/share/utf8/utf8.c
+++ b/3rdparty/libflac/src/share/utf8/utf8.c
@@ -4,238 +4,117 @@
*
* Buffer overflow checking added: Josh Coalson, 9/9/2007
*
+ * Win32 part rewritten: lvqcl, 2/2/2016
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/*
* Convert a string between UTF-8 and the locale's charset.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
+#include <stdio.h>
#include <stdlib.h>
-#include <string.h>
#include "share/alloc.h"
-#include "utf8.h"
-#include "charset.h"
-
+#include "share/utf8.h"
#ifdef _WIN32
- /* Thanks to Peter Harris <peter.harris@hummingbird.com> for this win32
- * code.
- */
-
-#include <stdio.h>
#include <windows.h>
-static unsigned char *make_utf8_string(const wchar_t *unicode)
+int utf8_encode(const char *from, char **to)
{
- size_t size = 0, n;
- int index = 0, out_index = 0;
- unsigned char *out;
- unsigned short c;
-
- /* first calculate the size of the target string */
- c = unicode[index++];
- while(c) {
- if(c < 0x0080) {
- n = 1;
- } else if(c < 0x0800) {
- n = 2;
- } else {
- n = 3;
- }
- if(size+n < size) /* overflow check */
- return NULL;
- size += n;
- c = unicode[index++];
- }
-
- out = safe_malloc_add_2op_(size, /*+*/1);
- if (out == NULL)
- return NULL;
- index = 0;
-
- c = unicode[index++];
- while(c)
- {
- if(c < 0x080) {
- out[out_index++] = (unsigned char)c;
- } else if(c < 0x800) {
- out[out_index++] = 0xc0 | (c >> 6);
- out[out_index++] = 0x80 | (c & 0x3f);
- } else {
- out[out_index++] = 0xe0 | (c >> 12);
- out[out_index++] = 0x80 | ((c >> 6) & 0x3f);
- out[out_index++] = 0x80 | (c & 0x3f);
- }
- c = unicode[index++];
- }
- out[out_index] = 0x00;
-
- return out;
-}
+ wchar_t *unicode = NULL;
+ char *utf8 = NULL;
+ int ret = -1;
-static wchar_t *make_unicode_string(const unsigned char *utf8)
-{
- size_t size = 0;
- int index = 0, out_index = 0;
- wchar_t *out;
- unsigned char c;
-
- /* first calculate the size of the target string */
- c = utf8[index++];
- while(c) {
- if((c & 0x80) == 0) {
- index += 0;
- } else if((c & 0xe0) == 0xe0) {
- index += 2;
- } else {
- index += 1;
- }
- if(size + 1 == 0) /* overflow check */
- return NULL;
- size++;
- c = utf8[index++];
- }
-
- if(size + 1 == 0) /* overflow check */
- return NULL;
- out = safe_malloc_mul_2op_(size+1, /*times*/sizeof(wchar_t));
- if (out == NULL)
- return NULL;
- index = 0;
-
- c = utf8[index++];
- while(c)
- {
- if((c & 0x80) == 0) {
- out[out_index++] = c;
- } else if((c & 0xe0) == 0xe0) {
- out[out_index] = (c & 0x1F) << 12;
- c = utf8[index++];
- out[out_index] |= (c & 0x3F) << 6;
- c = utf8[index++];
- out[out_index++] |= (c & 0x3F);
- } else {
- out[out_index] = (c & 0x3F) << 6;
- c = utf8[index++];
- out[out_index++] |= (c & 0x3F);
- }
- c = utf8[index++];
- }
- out[out_index] = 0;
-
- return out;
-}
+ do {
+ int len;
-int utf8_encode(const char *from, char **to)
-{
- wchar_t *unicode;
- int wchars, err;
+ len = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, from, -1, NULL, 0);
+ if(len == 0) break;
+ unicode = (wchar_t*) safe_malloc_mul_2op_((size_t)len, sizeof(wchar_t));
+ if(unicode == NULL) break;
+ len = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, from, -1, unicode, len);
+ if(len == 0) break;
- wchars = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, from,
- strlen(from), NULL, 0);
+ len = WideCharToMultiByte(CP_UTF8, 0, unicode, -1, NULL, 0, NULL, NULL);
+ if(len == 0) break;
+ utf8 = (char*) safe_malloc_mul_2op_((size_t)len, sizeof(char));
+ if(utf8 == NULL) break;
+ len = WideCharToMultiByte(CP_UTF8, 0, unicode, -1, utf8, len, NULL, NULL);
+ if(len == 0) break;
- if(wchars == 0)
- {
- fprintf(stderr, "Unicode translation error %d\n", GetLastError());
- return -1;
- }
+ ret = 0;
- if(wchars < 0) /* underflow check */
- return -1;
+ } while(0);
- unicode = safe_calloc_((size_t)wchars + 1, sizeof(unsigned short));
- if(unicode == NULL)
- {
- fprintf(stderr, "Out of memory processing string to UTF8\n");
- return -1;
- }
+ free(unicode);
- err = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, from,
- strlen(from), unicode, wchars);
- if(err != wchars)
- {
- free(unicode);
- fprintf(stderr, "Unicode translation error %d\n", GetLastError());
- return -1;
+ if(ret == 0) {
+ *to = utf8;
+ } else {
+ free(utf8);
+ *to = NULL;
}
- /* On NT-based windows systems, we could use WideCharToMultiByte(), but
- * MS doesn't actually have a consistent API across win32.
- */
- *to = make_utf8_string(unicode);
-
- free(unicode);
- return 0;
+ return ret;
}
int utf8_decode(const char *from, char **to)
{
- wchar_t *unicode;
- int chars, err;
-
- /* On NT-based windows systems, we could use MultiByteToWideChar(CP_UTF8), but
- * MS doesn't actually have a consistent API across win32.
- */
- unicode = make_unicode_string(from);
- if(unicode == NULL)
- {
- fprintf(stderr, "Out of memory processing string from UTF8 to UNICODE16\n");
- return -1;
- }
-
- chars = WideCharToMultiByte(GetConsoleCP(), WC_COMPOSITECHECK, unicode,
- -1, NULL, 0, NULL, NULL);
-
- if(chars < 0) /* underflow check */
- return -1;
-
- if(chars == 0)
- {
- fprintf(stderr, "Unicode translation error %d\n", GetLastError());
- free(unicode);
- return -1;
- }
-
- *to = safe_calloc_((size_t)chars + 1, sizeof(unsigned char));
- if(*to == NULL)
- {
- fprintf(stderr, "Out of memory processing string to local charset\n");
- free(unicode);
- return -1;
- }
-
- err = WideCharToMultiByte(GetConsoleCP(), WC_COMPOSITECHECK, unicode,
- -1, *to, chars, NULL, NULL);
- if(err != chars)
- {
- fprintf(stderr, "Unicode translation error %d\n", GetLastError());
- free(unicode);
- free(*to);
- *to = NULL;
- return -1;
- }
-
- free(unicode);
- return 0;
+ wchar_t *unicode = NULL;
+ char *acp = NULL;
+ int ret = -1;
+
+ do {
+ int len;
+
+ len = MultiByteToWideChar(CP_UTF8, 0, from, -1, NULL, 0);
+ if(len == 0) break;
+ unicode = (wchar_t*) safe_malloc_mul_2op_((size_t)len, sizeof(wchar_t));
+ if(unicode == NULL) break;
+ len = MultiByteToWideChar(CP_UTF8, 0, from, -1, unicode, len);
+ if(len == 0) break;
+
+ len = WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK, unicode, -1, NULL, 0, NULL, NULL);
+ if(len == 0) break;
+ acp = (char*) safe_malloc_mul_2op_((size_t)len, sizeof(char));
+ if(acp == NULL) break;
+ len = WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK, unicode, -1, acp, len, NULL, NULL);
+ if(len == 0) break;
+
+ ret = 0;
+
+ } while(0);
+
+ free(unicode);
+
+ if(ret == 0) {
+ *to = acp;
+ } else {
+ free(acp);
+ *to = NULL;
+ }
+
+ return ret;
}
#else /* End win32. Rest is for real operating systems */
@@ -245,7 +124,11 @@ int utf8_decode(const char *from, char **to)
#include <langinfo.h>
#endif
+#include <string.h>
+
+#include "share/safe_str.h"
#include "iconvert.h"
+#include "charset.h"
static const char *current_charset(void)
{
@@ -298,7 +181,7 @@ static int convert_string(const char *fromcode, const char *tocode,
s = safe_malloc_add_2op_(fromlen, /*+*/1);
if (!s)
return -1;
- strcpy(s, from);
+ snprintf(s, fromlen + 1, "%s", from);
*to = s;
for (; *s; s++)
if (*s & ~0x7f)
diff --git a/3rdparty/libflac/src/share/utf8/utf8_static.dsp b/3rdparty/libflac/src/share/utf8/utf8_static.dsp
deleted file mode 100644
index c655ef7d0aa..00000000000
--- a/3rdparty/libflac/src/share/utf8/utf8_static.dsp
+++ /dev/null
@@ -1,116 +0,0 @@
-# Microsoft Developer Studio Project File - Name="utf8_static" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=utf8_static - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "utf8_static.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "utf8_static.mak" CFG="utf8_static - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "utf8_static - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "utf8_static - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "utf8"
-# PROP Scc_LocalPath "..\..\.."
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "utf8_static - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\obj\release\lib"
-# PROP Intermediate_Dir "Release_static"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I ".\include" /I "..\..\..\include" /I "..\..\..\include\share" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /nodefaultlib
-
-!ELSEIF "$(CFG)" == "utf8_static - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\obj\debug\lib"
-# PROP Intermediate_Dir "Debug_static"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I ".\include" /I "..\..\..\include" /I "..\..\..\include\share" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /nodefaultlib
-
-!ENDIF
-
-# Begin Target
-
-# Name "utf8_static - Win32 Release"
-# Name "utf8_static - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "c"
-# Begin Source File
-
-SOURCE=.\charset.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\iconvert.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\utf8.c
-# End Source File
-# End Group
-# Begin Group "Private Header Files"
-
-# PROP Default_Filter ""
-# End Group
-# Begin Group "Protected Header Files"
-
-# PROP Default_Filter ""
-# End Group
-# Begin Group "Public Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\..\include\share\utf8.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/share/utf8/utf8_static.vcproj b/3rdparty/libflac/src/share/utf8/utf8_static.vcproj
deleted file mode 100644
index bcc8ca3c796..00000000000
--- a/3rdparty/libflac/src/share/utf8/utf8_static.vcproj
+++ /dev/null
@@ -1,201 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="utf8_static"
- ProjectGUID="{4cefbc92-c215-11db-8314-0800200c9a66}"
- RootNamespace="utf8_static"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\..\obj\debug\lib"
- IntermediateDirectory="Debug_static"
- ConfigurationType="4"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".\include;..\..\..\include;..\..\..\include\share"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\obj\debug\lib\$(ProjectName).lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\..\obj\release\lib"
- IntermediateDirectory="Release_static"
- ConfigurationType="4"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".\include;..\..\..\include;..\..\..\include\share"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\obj\release\lib\$(ProjectName).lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\charmaps.h"
- >
- </File>
- <File
- RelativePath=".\charset.h"
- >
- </File>
- <File
- RelativePath=".\charsetmap.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Public Header Files"
- >
- <File
- RelativePath="..\..\..\include\share\utf8.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\charset.c"
- >
- </File>
- <File
- RelativePath=".\iconvert.c"
- >
- </File>
- <File
- RelativePath=".\utf8.c"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/share/win_utf8_io/win_utf8_io.c b/3rdparty/libflac/src/share/win_utf8_io/win_utf8_io.c
new file mode 100644
index 00000000000..3ae35b31b2b
--- /dev/null
+++ b/3rdparty/libflac/src/share/win_utf8_io/win_utf8_io.c
@@ -0,0 +1,398 @@
+/* libFLAC - Free Lossless Audio Codec library
+ * Copyright (C) 2013-2023 Xiph.Org Foundation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Xiph.org Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <io.h>
+#include <windows.h>
+#include "share/win_utf8_io.h"
+
+#define UTF8_BUFFER_SIZE 32768
+
+/* detect whether it is Windows APP (UWP) or standard Win32 envionment */
+#ifdef WINAPI_FAMILY_PARTITION
+ #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
+ #define FLAC_WINDOWS_APP 1
+ #else
+ #define FLAC_WINDOWS_APP 0
+ #endif
+#else
+ #define FLAC_WINDOWS_APP 0
+#endif
+
+static int local_vsnprintf(char *str, size_t size, const char *fmt, va_list va)
+{
+ int rc;
+
+#if defined _MSC_VER
+ if (size == 0)
+ return 1024;
+ rc = vsnprintf_s(str, size, _TRUNCATE, fmt, va);
+ if (rc < 0)
+ rc = size - 1;
+#elif defined __MINGW32__
+ rc = __mingw_vsnprintf(str, size, fmt, va);
+#else
+ rc = vsnprintf(str, size, fmt, va);
+#endif
+
+ return rc;
+}
+
+/* convert WCHAR stored Unicode string to UTF-8. Caller is responsible for freeing memory */
+static char *utf8_from_wchar(const wchar_t *wstr)
+{
+ char *utf8str;
+ int len;
+
+ if (!wstr)
+ return NULL;
+ if ((len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL)) == 0)
+ return NULL;
+ if ((utf8str = (char *)malloc(len)) == NULL)
+ return NULL;
+ if (WideCharToMultiByte(CP_UTF8, 0, wstr, -1, utf8str, len, NULL, NULL) == 0) {
+ free(utf8str);
+ utf8str = NULL;
+ }
+
+ return utf8str;
+}
+
+/* convert UTF-8 back to WCHAR. Caller is responsible for freeing memory */
+static wchar_t *wchar_from_utf8(const char *str)
+{
+ wchar_t *widestr;
+ int len;
+
+ if (!str)
+ return NULL;
+ if ((len = MultiByteToWideChar(CP_UTF8, 0, str, -1, NULL, 0)) == 0)
+ return NULL;
+ if ((widestr = (wchar_t *)malloc(len*sizeof(wchar_t))) == NULL)
+ return NULL;
+ if (MultiByteToWideChar(CP_UTF8, 0, str, -1, widestr, len) == 0) {
+ free(widestr);
+ widestr = NULL;
+ }
+
+ return widestr;
+}
+
+/* retrieve WCHAR commandline, expand wildcards and convert everything to UTF-8 */
+int get_utf8_argv(int *argc, char ***argv)
+{
+#if !FLAC_WINDOWS_APP
+ typedef int (__cdecl *wgetmainargs_t)(int*, wchar_t***, wchar_t***, int, int*);
+ wgetmainargs_t wgetmainargs;
+ HMODULE handle;
+#endif // !FLAC_WINDOWS_APP
+ int wargc;
+ wchar_t **wargv;
+ wchar_t **wenv;
+ char **utf8argv;
+ int ret, i;
+
+#if FLAC_WINDOWS_APP
+ wargc = __argc;
+ wargv = __wargv;
+ wenv = _wenviron;
+#else // !FLAC_WINDOWS_APP
+ if ((handle = LoadLibraryW(L"msvcrt.dll")) == NULL) return 1;
+ if ((wgetmainargs = (wgetmainargs_t)GetProcAddress(handle, "__wgetmainargs")) == NULL) {
+ FreeLibrary(handle);
+ return 1;
+ }
+ i = 0;
+ /* when the 4th argument is 1, __wgetmainargs expands wildcards but also erroneously converts \\?\c:\path\to\file.flac to \\file.flac */
+ if (wgetmainargs(&wargc, &wargv, &wenv, 1, &i) != 0) {
+ FreeLibrary(handle);
+ return 1;
+ }
+#endif // !FLAC_WINDOWS_APP
+ if ((utf8argv = (char **)calloc(wargc, sizeof(char*))) == NULL) {
+ #if !FLAC_WINDOWS_APP
+ FreeLibrary(handle);
+ #endif // !FLAC_WINDOWS_APP
+ return 1;
+ }
+
+ ret = 0;
+ for (i=0; i<wargc; i++) {
+ if ((utf8argv[i] = utf8_from_wchar(wargv[i])) == NULL) {
+ ret = 1;
+ break;
+ }
+ }
+
+#if !FLAC_WINDOWS_APP
+ FreeLibrary(handle); /* do not free it when wargv or wenv are still in use */
+#endif // !FLAC_WINDOWS_APP
+
+ if (ret == 0) {
+ *argc = wargc;
+ *argv = utf8argv;
+ } else {
+ for (i=0; i<wargc; i++)
+ free(utf8argv[i]);
+ free(utf8argv);
+ }
+
+ return ret;
+}
+
+/* similar to CreateFileW but accepts UTF-8 encoded lpFileName */
+HANDLE WINAPI CreateFile_utf8(const char *lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile)
+{
+ wchar_t *wname;
+ HANDLE handle = INVALID_HANDLE_VALUE;
+
+ if ((wname = wchar_from_utf8(lpFileName)) != NULL) {
+#if !FLAC_WINDOWS_APP
+ handle = CreateFileW(wname, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile);
+#else // FLAC_WINDOWS_APP
+ CREATEFILE2_EXTENDED_PARAMETERS params;
+ params.dwSize = sizeof(params);
+ params.dwFileAttributes = dwFlagsAndAttributes & 0xFFFF;
+ params.dwFileFlags = dwFlagsAndAttributes & 0xFFF00000;
+ params.dwSecurityQosFlags = dwFlagsAndAttributes & 0x000F0000;
+ params.lpSecurityAttributes = lpSecurityAttributes;
+ params.hTemplateFile = hTemplateFile;
+ handle = CreateFile2(wname, dwDesiredAccess, dwShareMode, dwCreationDisposition, &params);
+#endif // FLAC_WINDOWS_APP
+ free(wname);
+ }
+
+ return handle;
+}
+
+/* return number of characters in the UTF-8 string */
+size_t strlen_utf8(const char *str)
+{
+ size_t len;
+ len = MultiByteToWideChar(CP_UTF8, 0, str, -1, NULL, 0); /* includes terminating null */
+ if (len != 0)
+ return len-1;
+ else
+ return strlen(str);
+}
+
+/* get the console width in characters */
+int win_get_console_width(void)
+{
+ int width = 80;
+#if !FLAC_WINDOWS_APP
+ CONSOLE_SCREEN_BUFFER_INFO csbi;
+ HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
+ if(hOut != INVALID_HANDLE_VALUE && hOut != NULL)
+ if (GetConsoleScreenBufferInfo(hOut, &csbi) != 0)
+ width = csbi.dwSize.X;
+#endif // !FLAC_WINDOWS_APP
+ return width;
+}
+
+/* print functions */
+
+#if !FLAC_WINDOWS_APP
+static int wprint_console(FILE *stream, const wchar_t *text, size_t len)
+{
+ DWORD out;
+ int ret;
+
+ do {
+ if (stream == stdout) {
+ HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
+ if (hOut == INVALID_HANDLE_VALUE || hOut == NULL || GetFileType(hOut) != FILE_TYPE_CHAR)
+ break;
+ if (WriteConsoleW(hOut, text, len, &out, NULL) == 0)
+ return -1;
+ return out;
+ }
+ if (stream == stderr) {
+ HANDLE hErr = GetStdHandle(STD_ERROR_HANDLE);
+ if (hErr == INVALID_HANDLE_VALUE || hErr == NULL || GetFileType(hErr) != FILE_TYPE_CHAR)
+ break;
+ if (WriteConsoleW(hErr, text, len, &out, NULL) == 0)
+ return -1;
+ return out;
+ }
+ } while(0);
+
+ ret = fputws(text, stream);
+ if (ret < 0)
+ return ret;
+ return len;
+}
+#endif // !FLAC_WINDOWS_APP
+
+int printf_utf8(const char *format, ...)
+{
+ int ret;
+ va_list argptr;
+ va_start(argptr, format);
+
+ ret = vfprintf_utf8(stdout, format, argptr);
+
+ va_end(argptr);
+
+ return ret;
+}
+
+int fprintf_utf8(FILE *stream, const char *format, ...)
+{
+ int ret;
+ va_list argptr;
+ va_start(argptr, format);
+
+ ret = vfprintf_utf8(stream, format, argptr);
+
+ va_end(argptr);
+
+ return ret;
+}
+
+int vfprintf_utf8(FILE *stream, const char *format, va_list argptr)
+{
+ char *utmp = NULL;
+ wchar_t *wout = NULL;
+ int ret = -1;
+
+ do {
+ if (!(utmp = (char *)malloc(UTF8_BUFFER_SIZE))) break;
+ if ((ret = local_vsnprintf(utmp, UTF8_BUFFER_SIZE, format, argptr)) <= 0) break;
+ if (!(wout = wchar_from_utf8(utmp))) {
+ ret = -1;
+ break;
+ }
+#if !FLAC_WINDOWS_APP
+ ret = wprint_console(stream, wout, wcslen(wout));
+#else // FLAC_WINDOWS_APP
+ OutputDebugStringW(wout);
+ ret = 0;
+#endif // FLAC_WINDOWS_APP
+ } while(0);
+
+ free(utmp);
+ free(wout);
+
+ return ret;
+}
+
+/* file functions */
+
+FILE* fopen_utf8(const char *filename, const char *mode)
+{
+ wchar_t *wname = NULL;
+ wchar_t *wmode = NULL;
+ FILE *f = NULL;
+
+ do {
+ if (!(wname = wchar_from_utf8(filename))) break;
+ if (!(wmode = wchar_from_utf8(mode))) break;
+ f = _wfopen(wname, wmode);
+ } while(0);
+
+ free(wname);
+ free(wmode);
+
+ return f;
+}
+
+int stat64_utf8(const char *path, struct __stat64 *buffer)
+{
+ wchar_t *wpath;
+ int ret;
+
+ if (!(wpath = wchar_from_utf8(path))) return -1;
+ ret = _wstat64(wpath, buffer);
+ free(wpath);
+
+ return ret;
+}
+
+int chmod_utf8(const char *filename, int pmode)
+{
+ wchar_t *wname;
+ int ret;
+
+ if (!(wname = wchar_from_utf8(filename))) return -1;
+ ret = _wchmod(wname, pmode);
+ free(wname);
+
+ return ret;
+}
+
+int utime_utf8(const char *filename, struct utimbuf *times)
+{
+ wchar_t *wname;
+ struct __utimbuf64 ut;
+ int ret;
+
+ if (!(wname = wchar_from_utf8(filename))) return -1;
+ ut.actime = times->actime;
+ ut.modtime = times->modtime;
+ ret = _wutime64(wname, &ut);
+ free(wname);
+
+ return ret;
+}
+
+int unlink_utf8(const char *filename)
+{
+ wchar_t *wname;
+ int ret;
+
+ if (!(wname = wchar_from_utf8(filename))) return -1;
+ ret = _wunlink(wname);
+ free(wname);
+
+ return ret;
+}
+
+int rename_utf8(const char *oldname, const char *newname)
+{
+ wchar_t *wold = NULL;
+ wchar_t *wnew = NULL;
+ int ret = -1;
+
+ do {
+ if (!(wold = wchar_from_utf8(oldname))) break;
+ if (!(wnew = wchar_from_utf8(newname))) break;
+ ret = _wrename(wold, wnew);
+ } while(0);
+
+ free(wold);
+ free(wnew);
+
+ return ret;
+}
diff --git a/3rdparty/libflac/src/test_grabbag/CMakeLists.txt b/3rdparty/libflac/src/test_grabbag/CMakeLists.txt
new file mode 100644
index 00000000000..56abe81094c
--- /dev/null
+++ b/3rdparty/libflac/src/test_grabbag/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_subdirectory(cuesheet)
+add_subdirectory(picture)
diff --git a/3rdparty/libflac/src/test_grabbag/Makefile.am b/3rdparty/libflac/src/test_grabbag/Makefile.am
index 825d1cbe39b..ea710091fb2 100644
--- a/3rdparty/libflac/src/test_grabbag/Makefile.am
+++ b/3rdparty/libflac/src/test_grabbag/Makefile.am
@@ -1,8 +1,9 @@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2002-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -18,4 +19,4 @@
SUBDIRS = cuesheet picture
EXTRA_DIST = \
- Makefile.lite
+ CMakeLists.txt
diff --git a/3rdparty/libflac/src/test_grabbag/Makefile.in b/3rdparty/libflac/src/test_grabbag/Makefile.in
index 752b7b1b3aa..3d857214bc7 100644
--- a/3rdparty/libflac/src/test_grabbag/Makefile.in
+++ b/3rdparty/libflac/src/test_grabbag/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,10 +15,11 @@
@SET_MAKE@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2002-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -30,17 +31,67 @@
# it may be distributed under the Xiph.Org license, which is the least
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,114 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = src/test_grabbag
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,186 +219,179 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
SUBDIRS = cuesheet picture
-
EXTRA_DIST = \
- Makefile.lite
+ CMakeLists.txt
-subdir = src/test_grabbag
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/test_grabbag/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/test_grabbag/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/test_grabbag/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -253,21 +399,26 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -275,152 +426,131 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
+ empty_fix=.; \
else \
include_option=--include; \
+ empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -430,7 +560,6 @@ check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
-
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@@ -441,16 +570,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -461,25 +596,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
+html: html-recursive
+
+html-am:
+
info: info-recursive
info-am:
install-data-am:
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-recursive
+
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -498,26 +654,25 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-exec install-exec-am install-exec-recursive \
- install-info install-info-am install-info-recursive install-man \
- install-recursive install-strip installcheck installcheck-am \
- installdirs installdirs-am installdirs-recursive \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/src/test_grabbag/Makefile.lite b/3rdparty/libflac/src/test_grabbag/Makefile.lite
deleted file mode 100644
index 93512c315f1..00000000000
--- a/3rdparty/libflac/src/test_grabbag/Makefile.lite
+++ /dev/null
@@ -1,40 +0,0 @@
-# test_grabbag - Simple testers for the grabbag library
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-.PHONY: cuesheet picture
-all: cuesheet picture
-
-DEFAULT_CONFIG = release
-
-CONFIG = $(DEFAULT_CONFIG)
-
-debug : CONFIG = debug
-valgrind: CONFIG = valgrind
-release : CONFIG = release
-
-debug : all
-valgrind: all
-release : all
-
-cuesheet:
- (cd $@ ; $(MAKE) -f Makefile.lite $(CONFIG))
-picture:
- (cd $@ ; $(MAKE) -f Makefile.lite $(CONFIG))
-
-clean:
- -(cd cuesheet ; $(MAKE) -f Makefile.lite clean)
- -(cd picture ; $(MAKE) -f Makefile.lite clean)
diff --git a/3rdparty/libflac/src/test_grabbag/cuesheet/CMakeLists.txt b/3rdparty/libflac/src/test_grabbag/cuesheet/CMakeLists.txt
new file mode 100644
index 00000000000..5f9a646c996
--- /dev/null
+++ b/3rdparty/libflac/src/test_grabbag/cuesheet/CMakeLists.txt
@@ -0,0 +1,5 @@
+add_executable(test_cuesheet
+ main.c
+ $<$<BOOL:${WIN32}>:../../../include/share/win_utf8_io.h>
+ $<$<BOOL:${WIN32}>:../../share/win_utf8_io/win_utf8_io.c>)
+target_link_libraries(test_cuesheet FLAC grabbag)
diff --git a/3rdparty/libflac/src/test_grabbag/cuesheet/Makefile.am b/3rdparty/libflac/src/test_grabbag/cuesheet/Makefile.am
index 1d6d709b46c..1cee3707257 100644
--- a/3rdparty/libflac/src/test_grabbag/cuesheet/Makefile.am
+++ b/3rdparty/libflac/src/test_grabbag/cuesheet/Makefile.am
@@ -1,5 +1,6 @@
# test_cuesheet - Simple tester for cuesheet routines in grabbag
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2002-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -11,21 +12,26 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
EXTRA_DIST = \
- Makefile.lite \
- test_cuesheet.dsp \
- test_cuesheet.vcproj
+ CMakeLists.txt
-noinst_PROGRAMS = test_cuesheet
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
+check_PROGRAMS = test_cuesheet
test_cuesheet_SOURCES = \
main.c
+
+if OS_IS_WINDOWS
+win_utf8_lib = $(top_builddir)/src/share/win_utf8_io/libwin_utf8_io.la
+endif
+
test_cuesheet_LDADD = \
$(top_builddir)/src/share/grabbag/libgrabbag.la \
$(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
$(top_builddir)/src/libFLAC/libFLAC.la \
- @OGG_LIBS@ \
- -lm
+ $(win_utf8_lib)
+
+CLEANFILES = test_cuesheet.exe
diff --git a/3rdparty/libflac/src/test_grabbag/cuesheet/Makefile.in b/3rdparty/libflac/src/test_grabbag/cuesheet/Makefile.in
index aee54dad67d..618857338dc 100644
--- a/3rdparty/libflac/src/test_grabbag/cuesheet/Makefile.in
+++ b/3rdparty/libflac/src/test_grabbag/cuesheet/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,8 @@
@SET_MAKE@
# test_cuesheet - Simple tester for cuesheet routines in grabbag
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2002-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -27,20 +28,70 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,106 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+check_PROGRAMS = test_cuesheet$(EXEEXT)
+subdir = src/test_grabbag/cuesheet
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am_test_cuesheet_OBJECTS = main.$(OBJEXT)
+test_cuesheet_OBJECTS = $(am_test_cuesheet_OBJECTS)
+test_cuesheet_DEPENDENCIES = \
+ $(top_builddir)/src/share/grabbag/libgrabbag.la \
+ $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
+ $(top_builddir)/src/libFLAC/libFLAC.la $(win_utf8_lib)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/main.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(test_cuesheet_SOURCES)
+DIST_SOURCES = $(test_cuesheet_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,267 +211,242 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
EXTRA_DIST = \
- Makefile.lite \
- test_cuesheet.dsp \
- test_cuesheet.vcproj
-
+ CMakeLists.txt
-noinst_PROGRAMS = test_cuesheet
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
test_cuesheet_SOURCES = \
main.c
+@OS_IS_WINDOWS_TRUE@win_utf8_lib = $(top_builddir)/src/share/win_utf8_io/libwin_utf8_io.la
test_cuesheet_LDADD = \
$(top_builddir)/src/share/grabbag/libgrabbag.la \
$(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
$(top_builddir)/src/libFLAC/libFLAC.la \
- @OGG_LIBS@ \
- -lm
-
-subdir = src/test_grabbag/cuesheet
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-noinst_PROGRAMS = test_cuesheet$(EXEEXT)
-PROGRAMS = $(noinst_PROGRAMS)
-
-am_test_cuesheet_OBJECTS = main.$(OBJEXT)
-test_cuesheet_OBJECTS = $(am_test_cuesheet_OBJECTS)
-test_cuesheet_DEPENDENCIES = \
- $(top_builddir)/src/share/grabbag/libgrabbag.la \
- $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
- $(top_builddir)/src/libFLAC/libFLAC.la
-test_cuesheet_LDFLAGS =
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/main.Po
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(test_cuesheet_SOURCES)
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(test_cuesheet_SOURCES)
+ $(win_utf8_lib)
+CLEANFILES = test_cuesheet.exe
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/test_grabbag/cuesheet/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-test_cuesheet$(EXEEXT): $(test_cuesheet_OBJECTS) $(test_cuesheet_DEPENDENCIES)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/test_grabbag/cuesheet/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/test_grabbag/cuesheet/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+test_cuesheet$(EXEEXT): $(test_cuesheet_OBJECTS) $(test_cuesheet_DEPENDENCIES) $(EXTRA_test_cuesheet_DEPENDENCIES)
@rm -f test_cuesheet$(EXEEXT)
- $(LINK) $(test_cuesheet_LDFLAGS) $(test_cuesheet_OBJECTS) $(test_cuesheet_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(test_cuesheet_OBJECTS) $(test_cuesheet_LDADD) $(LIBS)
mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
+ -rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -334,99 +454,94 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
check: check-am
-all-am: Makefile $(PROGRAMS)
-
+all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
@@ -438,51 +553,80 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/main.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/main.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -499,18 +643,26 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
- pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/src/test_grabbag/cuesheet/Makefile.lite b/3rdparty/libflac/src/test_grabbag/cuesheet/Makefile.lite
deleted file mode 100644
index 0178b1e5bd8..00000000000
--- a/3rdparty/libflac/src/test_grabbag/cuesheet/Makefile.lite
+++ /dev/null
@@ -1,40 +0,0 @@
-# test_cuesheet - Simple tester for cuesheet routines in grabbag
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#
-# GNU makefile
-#
-
-topdir = ../../..
-libdir = $(topdir)/obj/$(BUILD)/lib
-
-PROGRAM_NAME = test_cuesheet
-
-INCLUDES = -I./include -I$(topdir)/include
-
-ifeq ($(DARWIN_BUILD),yes)
-EXPLICIT_LIBS = $(libdir)/libgrabbag.a $(libdir)/libreplaygain_analysis.a $(libdir)/libFLAC.a $(OGG_LIB_DIR)/libogg.a -lm
-else
-LIBS = -lgrabbag -lreplaygain_analysis -lFLAC -L$(OGG_LIB_DIR) -logg -lm
-endif
-
-SRCS_C = \
- main.c
-
-include $(topdir)/build/exe.mk
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/src/test_grabbag/cuesheet/main.c b/3rdparty/libflac/src/test_grabbag/cuesheet/main.c
index bb99834c6fe..b3d0e9abf63 100644
--- a/3rdparty/libflac/src/test_grabbag/cuesheet/main.c
+++ b/3rdparty/libflac/src/test_grabbag/cuesheet/main.c
@@ -1,5 +1,6 @@
/* test_cuesheet - Simple tester for cuesheet routines in grabbag
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,12 +12,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -28,12 +29,12 @@
#include "FLAC/metadata.h"
#include "share/grabbag.h"
-static int do_cuesheet(const char *infilename, FLAC__bool is_cdda, FLAC__uint64 lead_out_offset)
+static int do_cuesheet(const char *infilename, uint32_t sample_rate, FLAC__bool is_cdda, FLAC__uint64 lead_out_offset)
{
FILE *fin, *fout;
- const char *error_message;
+ const char *error_message, *tmpfilenamebase;
char tmpfilename[4096];
- unsigned last_line_read;
+ uint32_t last_line_read;
FLAC__StreamMetadata *cuesheet;
FLAC__ASSERT(strlen(infilename) + 2 < sizeof(tmpfilename));
@@ -44,11 +45,11 @@ static int do_cuesheet(const char *infilename, FLAC__bool is_cdda, FLAC__uint64
if(0 == strcmp(infilename, "-")) {
fin = stdin;
}
- else if(0 == (fin = fopen(infilename, "r"))) {
+ else if(0 == (fin = flac_fopen(infilename, "r"))) {
fprintf(stderr, "can't open file %s for reading: %s\n", infilename, strerror(errno));
return 255;
}
- if(0 != (cuesheet = grabbag__cuesheet_parse(fin, &error_message, &last_line_read, is_cdda, lead_out_offset))) {
+ if(0 != (cuesheet = grabbag__cuesheet_parse(fin, &error_message, &last_line_read, sample_rate, is_cdda, lead_out_offset))) {
if(fin != stdin)
fclose(fin);
}
@@ -63,8 +64,12 @@ static int do_cuesheet(const char *infilename, FLAC__bool is_cdda, FLAC__uint64
FLAC__metadata_object_delete(cuesheet);
return 1;
}
- sprintf(tmpfilename, "%s.1", infilename);
- if(0 == (fout = fopen(tmpfilename, "w"))) {
+
+ tmpfilenamebase = strstr(infilename, "cuesheets/");
+ tmpfilenamebase = tmpfilenamebase == NULL ? infilename : tmpfilenamebase;
+
+ flac_snprintf(tmpfilename, sizeof (tmpfilename), "%s.1", tmpfilenamebase);
+ if(0 == (fout = flac_fopen(tmpfilename, "w"))) {
fprintf(stderr, "can't open file %s for writing: %s\n", tmpfilename, strerror(errno));
FLAC__metadata_object_delete(cuesheet);
return 255;
@@ -76,11 +81,11 @@ static int do_cuesheet(const char *infilename, FLAC__bool is_cdda, FLAC__uint64
/*
* pass 2
*/
- if(0 == (fin = fopen(tmpfilename, "r"))) {
+ if(0 == (fin = flac_fopen(tmpfilename, "r"))) {
fprintf(stderr, "can't open file %s for reading: %s\n", tmpfilename, strerror(errno));
return 255;
}
- if(0 != (cuesheet = grabbag__cuesheet_parse(fin, &error_message, &last_line_read, is_cdda, lead_out_offset))) {
+ if(0 != (cuesheet = grabbag__cuesheet_parse(fin, &error_message, &last_line_read, sample_rate, is_cdda, lead_out_offset))) {
if(fin != stdin)
fclose(fin);
}
@@ -95,8 +100,8 @@ static int do_cuesheet(const char *infilename, FLAC__bool is_cdda, FLAC__uint64
FLAC__metadata_object_delete(cuesheet);
return 1;
}
- sprintf(tmpfilename, "%s.2", infilename);
- if(0 == (fout = fopen(tmpfilename, "w"))) {
+ flac_snprintf(tmpfilename, sizeof (tmpfilename), "%s.2", tmpfilenamebase);
+ if(0 == (fout = flac_fopen(tmpfilename, "w"))) {
fprintf(stderr, "can't open file %s for writing: %s\n", tmpfilename, strerror(errno));
FLAC__metadata_object_delete(cuesheet);
return 255;
@@ -111,28 +116,32 @@ static int do_cuesheet(const char *infilename, FLAC__bool is_cdda, FLAC__uint64
int main(int argc, char *argv[])
{
FLAC__uint64 lead_out_offset;
+ uint32_t sample_rate = 48000;
FLAC__bool is_cdda = false;
- const char *usage = "usage: test_cuesheet cuesheet_file lead_out_offset [ cdda ]\n";
+ const char *usage = "usage: test_cuesheet cuesheet_file lead_out_offset [ [ sample_rate ] cdda ]\n";
if(argc > 1 && 0 == strcmp(argv[1], "-h")) {
- printf(usage);
+ puts(usage);
return 0;
}
- if(argc < 3 || argc > 4) {
- fprintf(stderr, usage);
+ if(argc < 3 || argc > 5) {
+ fputs(usage, stderr);
return 255;
}
lead_out_offset = (FLAC__uint64)strtoul(argv[2], 0, 10);
- if(argc == 4) {
- if(0 == strcmp(argv[3], "cdda"))
- is_cdda = true;
- else {
- fprintf(stderr, usage);
- return 255;
+ if(argc >= 4) {
+ sample_rate = (uint32_t)atoi(argv[3]);
+ if(argc >= 5) {
+ if(0 == strcmp(argv[4], "cdda"))
+ is_cdda = true;
+ else {
+ fputs(usage, stderr);
+ return 255;
+ }
}
}
- return do_cuesheet(argv[1], is_cdda, lead_out_offset);
+ return do_cuesheet(argv[1], sample_rate, is_cdda, lead_out_offset);
}
diff --git a/3rdparty/libflac/src/test_grabbag/cuesheet/test_cuesheet.dsp b/3rdparty/libflac/src/test_grabbag/cuesheet/test_cuesheet.dsp
deleted file mode 100644
index 7baeef57334..00000000000
--- a/3rdparty/libflac/src/test_grabbag/cuesheet/test_cuesheet.dsp
+++ /dev/null
@@ -1,96 +0,0 @@
-# Microsoft Developer Studio Project File - Name="test_cuesheet" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=test_cuesheet - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "test_cuesheet.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "test_cuesheet.mak" CFG="test_cuesheet - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "test_cuesheet - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "test_cuesheet - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "test_cuesheet - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\obj\release\bin"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\..\include" /D "NDEBUG" /D "FLAC__NO_DLL" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\obj\release\lib\grabbag_static.lib ..\..\..\obj\release\lib\replaygain_analysis_static.lib ..\..\..\obj\release\lib\libFLAC_static.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "test_cuesheet - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\obj\debug\bin"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\include" /D "_DEBUG" /D "DEBUG" /D "FLAC__NO_DLL" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\obj\debug\lib\grabbag_static.lib ..\..\..\obj\debug\lib\replaygain_analysis_static.lib ..\..\..\obj\debug\lib\libFLAC_static.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "test_cuesheet - Win32 Release"
-# Name "test_cuesheet - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "c"
-# Begin Source File
-
-SOURCE=.\main.c
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/test_grabbag/cuesheet/test_cuesheet.vcproj b/3rdparty/libflac/src/test_grabbag/cuesheet/test_cuesheet.vcproj
deleted file mode 100644
index e916beed82b..00000000000
--- a/3rdparty/libflac/src/test_grabbag/cuesheet/test_cuesheet.vcproj
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="test_cuesheet"
- ProjectGUID="{4cefbc8b-c215-11db-8314-0800200c9a66}"
- RootNamespace="test_cuesheet"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\..\obj\debug\bin"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".;..\..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="2"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\..\obj\release\bin"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".;..\..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\main.c"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/test_grabbag/picture/CMakeLists.txt b/3rdparty/libflac/src/test_grabbag/picture/CMakeLists.txt
new file mode 100644
index 00000000000..77f1a3887ad
--- /dev/null
+++ b/3rdparty/libflac/src/test_grabbag/picture/CMakeLists.txt
@@ -0,0 +1,5 @@
+add_executable(test_picture
+ main.c
+ $<$<BOOL:${WIN32}>:../../../include/share/win_utf8_io.h>
+ $<$<BOOL:${WIN32}>:../../share/win_utf8_io/win_utf8_io.c>)
+target_link_libraries(test_picture FLAC grabbag)
diff --git a/3rdparty/libflac/src/test_grabbag/picture/Makefile.am b/3rdparty/libflac/src/test_grabbag/picture/Makefile.am
index 1f5d6553da1..45e145718e5 100644
--- a/3rdparty/libflac/src/test_grabbag/picture/Makefile.am
+++ b/3rdparty/libflac/src/test_grabbag/picture/Makefile.am
@@ -1,5 +1,6 @@
# test_picture - Simple tester for picture routines in grabbag
-# Copyright (C) 2006,2007 Josh Coalson
+# Copyright (C) 2006-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -11,20 +12,26 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
EXTRA_DIST = \
- Makefile.lite \
- test_picture.dsp \
- test_picture.vcproj
+ CMakeLists.txt
-noinst_PROGRAMS = test_picture
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
+check_PROGRAMS = test_picture
test_picture_SOURCES = \
main.c
+
+if OS_IS_WINDOWS
+win_utf8_lib = $(top_builddir)/src/share/win_utf8_io/libwin_utf8_io.la
+endif
+
test_picture_LDADD = \
$(top_builddir)/src/share/grabbag/libgrabbag.la \
+ $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
$(top_builddir)/src/libFLAC/libFLAC.la \
- @OGG_LIBS@ \
- -lm
+ $(win_utf8_lib)
+
+CLEANFILES = test_picture.exe
diff --git a/3rdparty/libflac/src/test_grabbag/picture/Makefile.in b/3rdparty/libflac/src/test_grabbag/picture/Makefile.in
index ae08e49d64b..43f1a7aff34 100644
--- a/3rdparty/libflac/src/test_grabbag/picture/Makefile.in
+++ b/3rdparty/libflac/src/test_grabbag/picture/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,8 @@
@SET_MAKE@
# test_picture - Simple tester for picture routines in grabbag
-# Copyright (C) 2006,2007 Josh Coalson
+# Copyright (C) 2006-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -27,20 +28,70 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,106 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+check_PROGRAMS = test_picture$(EXEEXT)
+subdir = src/test_grabbag/picture
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am_test_picture_OBJECTS = main.$(OBJEXT)
+test_picture_OBJECTS = $(am_test_picture_OBJECTS)
+test_picture_DEPENDENCIES = \
+ $(top_builddir)/src/share/grabbag/libgrabbag.la \
+ $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
+ $(top_builddir)/src/libFLAC/libFLAC.la $(win_utf8_lib)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/main.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(test_picture_SOURCES)
+DIST_SOURCES = $(test_picture_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,265 +211,242 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
EXTRA_DIST = \
- Makefile.lite \
- test_picture.dsp \
- test_picture.vcproj
-
+ CMakeLists.txt
-noinst_PROGRAMS = test_picture
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
test_picture_SOURCES = \
main.c
+@OS_IS_WINDOWS_TRUE@win_utf8_lib = $(top_builddir)/src/share/win_utf8_io/libwin_utf8_io.la
test_picture_LDADD = \
$(top_builddir)/src/share/grabbag/libgrabbag.la \
+ $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
$(top_builddir)/src/libFLAC/libFLAC.la \
- @OGG_LIBS@ \
- -lm
-
-subdir = src/test_grabbag/picture
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-noinst_PROGRAMS = test_picture$(EXEEXT)
-PROGRAMS = $(noinst_PROGRAMS)
-
-am_test_picture_OBJECTS = main.$(OBJEXT)
-test_picture_OBJECTS = $(am_test_picture_OBJECTS)
-test_picture_DEPENDENCIES = \
- $(top_builddir)/src/share/grabbag/libgrabbag.la \
- $(top_builddir)/src/libFLAC/libFLAC.la
-test_picture_LDFLAGS =
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/main.Po
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(test_picture_SOURCES)
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(test_picture_SOURCES)
+ $(win_utf8_lib)
+CLEANFILES = test_picture.exe
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/test_grabbag/picture/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-test_picture$(EXEEXT): $(test_picture_OBJECTS) $(test_picture_DEPENDENCIES)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/test_grabbag/picture/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/test_grabbag/picture/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+test_picture$(EXEEXT): $(test_picture_OBJECTS) $(test_picture_DEPENDENCIES) $(EXTRA_test_picture_DEPENDENCIES)
@rm -f test_picture$(EXEEXT)
- $(LINK) $(test_picture_LDFLAGS) $(test_picture_OBJECTS) $(test_picture_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(test_picture_OBJECTS) $(test_picture_LDADD) $(LIBS)
mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
+ -rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -332,99 +454,94 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
check: check-am
-all-am: Makefile $(PROGRAMS)
-
+all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
@@ -436,51 +553,80 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/main.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/main.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -497,18 +643,26 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
- pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/src/test_grabbag/picture/Makefile.lite b/3rdparty/libflac/src/test_grabbag/picture/Makefile.lite
deleted file mode 100644
index af7ab5fa5e5..00000000000
--- a/3rdparty/libflac/src/test_grabbag/picture/Makefile.lite
+++ /dev/null
@@ -1,40 +0,0 @@
-# test_picture - Simple tester for picture routines in grabbag
-# Copyright (C) 2006,2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#
-# GNU makefile
-#
-
-topdir = ../../..
-libdir = $(topdir)/obj/$(BUILD)/lib
-
-PROGRAM_NAME = test_picture
-
-INCLUDES = -I./include -I$(topdir)/include
-
-ifeq ($(DARWIN_BUILD),yes)
-EXPLICIT_LIBS = $(libdir)/libgrabbag.a $(libdir)/libreplaygain_analysis.a $(libdir)/libFLAC.a $(OGG_LIB_DIR)/libogg.a -lm
-else
-LIBS = -lgrabbag -lreplaygain_analysis -lFLAC -L$(OGG_LIB_DIR) -logg -lm
-endif
-
-SRCS_C = \
- main.c
-
-include $(topdir)/build/exe.mk
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/src/test_grabbag/picture/main.c b/3rdparty/libflac/src/test_grabbag/picture/main.c
index 2ca34a6519a..fe43be94c96 100644
--- a/3rdparty/libflac/src/test_grabbag/picture/main.c
+++ b/3rdparty/libflac/src/test_grabbag/picture/main.c
@@ -1,5 +1,6 @@
/* test_picture - Simple tester for picture routines in grabbag
- * Copyright (C) 2006,2007 Josh Coalson
+ * Copyright (C) 2006-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,12 +12,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -56,34 +57,30 @@ static FLAC__bool debug_ = false;
static FLAC__bool failed_(const char *msg)
{
- if(msg)
- printf("FAILED, %s\n", msg);
- else
- printf("FAILED\n");
+ if(msg)
+ printf("FAILED, %s\n", msg);
+ else
+ printf("FAILED\n");
- return false;
+ return false;
}
-static FLAC__bool test_one_picture(const char *prefix, const PictureFile *pf, const char *res, FLAC__bool fn_only)
+static FLAC__bool test_one_picture(const char *prefix, const PictureFile *pf, const PictureResolution * res, FLAC__bool fn_only)
{
FLAC__StreamMetadata *obj;
const char *error;
char s[4096];
if(fn_only)
-#if defined _MSC_VER || defined __MINGW32__
- _snprintf(s, sizeof(s)-1, "%s/%s", prefix, pf->path);
-#else
- snprintf(s, sizeof(s)-1, "%s/%s", prefix, pf->path);
-#endif
+ flac_snprintf(s, sizeof(s), "pictures/%s", pf->path);
+ else if (res == NULL)
+ flac_snprintf(s, sizeof(s), "%u|%s|%s||pictures/%s", (uint32_t)pf->type, pf->mime_type, pf->description, pf->path);
else
-#if defined _MSC_VER || defined __MINGW32__
- _snprintf(s, sizeof(s)-1, "%u|%s|%s|%s|%s/%s", (unsigned)pf->type, pf->mime_type, pf->description, res, prefix, pf->path);
-#else
- snprintf(s, sizeof(s)-1, "%u|%s|%s|%s|%s/%s", (unsigned)pf->type, pf->mime_type, pf->description, res, prefix, pf->path);
-#endif
+ flac_snprintf(s, sizeof(s), "%u|%s|%s|%dx%dx%d/%d|pictures/%s", (uint32_t)pf->type, pf->mime_type, pf->description, res->width, res->height, res->depth, res->colors, pf->path);
printf("testing grabbag__picture_parse_specification(\"%s\")... ", s);
- if(0 == (obj = grabbag__picture_parse_specification(s, &error)))
+
+ flac_snprintf(s, sizeof(s), "%s/%s", prefix, pf->path);
+ if((obj = grabbag__picture_from_specification(fn_only? FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER : pf->type, pf->mime_type, pf->description, res, s, &error)) == 0)
return failed_(error);
if(debug_) {
printf("\ntype=%u (%s)\nmime_type=%s\ndescription=%s\nwidth=%u\nheight=%u\ndepth=%u\ncolors=%u\ndata_length=%u\n",
@@ -121,10 +118,11 @@ static FLAC__bool test_one_picture(const char *prefix, const PictureFile *pf, co
static FLAC__bool do_picture(const char *prefix)
{
FLAC__StreamMetadata *obj;
+ PictureResolution res;
const char *error;
size_t i;
- printf("\n+++ grabbag unit test: picture\n\n");
+ printf("\n+++ grabbag unit test: picture\n\n");
/* invalid spec: no filename */
printf("testing grabbag__picture_parse_specification(\"\")... ");
@@ -188,19 +186,19 @@ static FLAC__bool do_picture(const char *prefix)
/* test automatic parsing of picture files from only the file name */
for(i = 0; i < sizeof(picturefiles)/sizeof(picturefiles[0]); i++)
- if(!test_one_picture(prefix, picturefiles+i, "", /*fn_only=*/true))
+ if(!test_one_picture(prefix, picturefiles+i, NULL, /*fn_only=*/true))
return false;
/* test automatic parsing of picture files to get resolution/color info */
for(i = 0; i < sizeof(picturefiles)/sizeof(picturefiles[0]); i++)
- if(!test_one_picture(prefix, picturefiles+i, "", /*fn_only=*/false))
+ if(!test_one_picture(prefix, picturefiles+i, NULL, /*fn_only=*/false))
return false;
- picturefiles[0].width = 320;
- picturefiles[0].height = 240;
- picturefiles[0].depth = 3;
- picturefiles[0].colors = 2;
- if(!test_one_picture(prefix, picturefiles+0, "320x240x3/2", /*fn_only=*/false))
+ res.width = picturefiles[0].width = 320;
+ res.height = picturefiles[0].height = 240;
+ res.depth = picturefiles[0].depth = 3;
+ res.colors = picturefiles[0].colors = 2;
+ if(!test_one_picture(prefix, picturefiles+0, &res, /*fn_only=*/false))
return false;
return true;
@@ -211,12 +209,12 @@ int main(int argc, char *argv[])
const char *usage = "usage: test_pictures path_prefix\n";
if(argc > 1 && 0 == strcmp(argv[1], "-h")) {
- printf(usage);
+ puts(usage);
return 0;
}
if(argc != 2) {
- fprintf(stderr, usage);
+ fputs(usage, stderr);
return 255;
}
diff --git a/3rdparty/libflac/src/test_grabbag/picture/test_picture.dsp b/3rdparty/libflac/src/test_grabbag/picture/test_picture.dsp
deleted file mode 100644
index 5d6454a4050..00000000000
--- a/3rdparty/libflac/src/test_grabbag/picture/test_picture.dsp
+++ /dev/null
@@ -1,96 +0,0 @@
-# Microsoft Developer Studio Project File - Name="test_picture" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=test_picture - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "test_picture.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "test_picture.mak" CFG="test_picture - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "test_picture - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "test_picture - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "test_picture - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\obj\release\bin"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\..\include" /D "NDEBUG" /D "FLAC__NO_DLL" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\obj\release\lib\grabbag_static.lib ..\..\..\obj\release\lib\replaygain_analysis_static.lib ..\..\..\obj\release\lib\libFLAC_static.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "test_picture - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\obj\debug\bin"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\include" /D "_DEBUG" /D "DEBUG" /D "FLAC__NO_DLL" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\obj\debug\lib\grabbag_static.lib ..\..\..\obj\debug\lib\replaygain_analysis_static.lib ..\..\..\obj\debug\lib\libFLAC_static.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "test_picture - Win32 Release"
-# Name "test_picture - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "c"
-# Begin Source File
-
-SOURCE=.\main.c
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/test_grabbag/picture/test_picture.vcproj b/3rdparty/libflac/src/test_grabbag/picture/test_picture.vcproj
deleted file mode 100644
index bd300ec1b3f..00000000000
--- a/3rdparty/libflac/src/test_grabbag/picture/test_picture.vcproj
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="test_picture"
- ProjectGUID="{4cefbc8f-c215-11db-8314-0800200c9a66}"
- RootNamespace="test_picture"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\..\obj\debug\bin"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".;..\..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="2"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\..\obj\release\bin"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".;..\..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\main.c"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/test_libFLAC++/CMakeLists.txt b/3rdparty/libflac/src/test_libFLAC++/CMakeLists.txt
new file mode 100644
index 00000000000..2fa7b1e7722
--- /dev/null
+++ b/3rdparty/libflac/src/test_libFLAC++/CMakeLists.txt
@@ -0,0 +1,10 @@
+add_executable(test_libFLAC++
+ decoders.cpp
+ encoders.cpp
+ main.cpp
+ metadata.cpp
+ metadata_manip.cpp
+ metadata_object.cpp
+ $<$<BOOL:${WIN32}>:../../include/share/win_utf8_io.h>
+ $<$<BOOL:${WIN32}>:../share/win_utf8_io/win_utf8_io.c>)
+target_link_libraries(test_libFLAC++ FLAC++ test_libs_common grabbag)
diff --git a/3rdparty/libflac/src/test_libFLAC++/Makefile.am b/3rdparty/libflac/src/test_libFLAC++/Makefile.am
index 462cbf2d798..8bf746f72ae 100644
--- a/3rdparty/libflac/src/test_libFLAC++/Makefile.am
+++ b/3rdparty/libflac/src/test_libFLAC++/Makefile.am
@@ -1,5 +1,6 @@
# test_libFLAC++ - Unit tester for libFLAC++
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2002-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -11,25 +12,30 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
EXTRA_DIST = \
- Makefile.lite \
- test_libFLAC++.dsp \
- test_libFLAC++.vcproj
+ CMakeLists.txt
+
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
+check_PROGRAMS = test_libFLAC++
+
+if OS_IS_WINDOWS
+win_utf8_lib = $(top_builddir)/src/share/win_utf8_io/libwin_utf8_io.la
+endif
-noinst_PROGRAMS = test_libFLAC++
test_libFLAC___LDADD = \
$(top_builddir)/src/share/grabbag/libgrabbag.la \
$(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
$(top_builddir)/src/test_libs_common/libtest_libs_common.la \
$(top_builddir)/src/libFLAC++/libFLAC++.la \
$(top_builddir)/src/libFLAC/libFLAC.la \
+ $(win_utf8_lib) \
@OGG_LIBS@ \
- @MINGW_WINSOCK_LIBS@ \
-lm
+
test_libFLAC___SOURCES = \
decoders.cpp \
encoders.cpp \
@@ -40,3 +46,5 @@ test_libFLAC___SOURCES = \
decoders.h \
encoders.h \
metadata.h
+
+CLEANFILES = test_libFLAC++.exe
diff --git a/3rdparty/libflac/src/test_libFLAC++/Makefile.in b/3rdparty/libflac/src/test_libFLAC++/Makefile.in
index 0d11f8b98c6..825dad695d1 100644
--- a/3rdparty/libflac/src/test_libFLAC++/Makefile.in
+++ b/3rdparty/libflac/src/test_libFLAC++/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,8 @@
@SET_MAKE@
# test_libFLAC++ - Unit tester for libFLAC++
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2002-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -27,20 +28,70 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,130 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+check_PROGRAMS = test_libFLAC++$(EXEEXT)
+subdir = src/test_libFLAC++
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am_test_libFLAC___OBJECTS = decoders.$(OBJEXT) encoders.$(OBJEXT) \
+ main.$(OBJEXT) metadata.$(OBJEXT) metadata_manip.$(OBJEXT) \
+ metadata_object.$(OBJEXT)
+test_libFLAC___OBJECTS = $(am_test_libFLAC___OBJECTS)
+test_libFLAC___DEPENDENCIES = \
+ $(top_builddir)/src/share/grabbag/libgrabbag.la \
+ $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
+ $(top_builddir)/src/test_libs_common/libtest_libs_common.la \
+ $(top_builddir)/src/libFLAC++/libFLAC++.la \
+ $(top_builddir)/src/libFLAC/libFLAC.la $(win_utf8_lib)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/decoders.Po ./$(DEPDIR)/encoders.Po \
+ ./$(DEPDIR)/main.Po ./$(DEPDIR)/metadata.Po \
+ ./$(DEPDIR)/metadata_manip.Po ./$(DEPDIR)/metadata_object.Po
+am__mv = mv -f
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_@AM_V@)
+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
+am__v_CXX_0 = @echo " CXX " $@;
+am__v_CXX_1 =
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo " CXXLD " $@;
+am__v_CXXLD_1 =
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(test_libFLAC___SOURCES)
+DIST_SOURCES = $(test_libFLAC___SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,174 +235,156 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
EXTRA_DIST = \
- Makefile.lite \
- test_libFLAC++.dsp \
- test_libFLAC++.vcproj
-
+ CMakeLists.txt
-noinst_PROGRAMS = test_libFLAC++
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
+@OS_IS_WINDOWS_TRUE@win_utf8_lib = $(top_builddir)/src/share/win_utf8_io/libwin_utf8_io.la
test_libFLAC___LDADD = \
$(top_builddir)/src/share/grabbag/libgrabbag.la \
$(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
$(top_builddir)/src/test_libs_common/libtest_libs_common.la \
$(top_builddir)/src/libFLAC++/libFLAC++.la \
$(top_builddir)/src/libFLAC/libFLAC.la \
+ $(win_utf8_lib) \
@OGG_LIBS@ \
- @MINGW_WINSOCK_LIBS@ \
-lm
test_libFLAC___SOURCES = \
@@ -247,117 +398,96 @@ test_libFLAC___SOURCES = \
encoders.h \
metadata.h
-subdir = src/test_libFLAC++
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-noinst_PROGRAMS = test_libFLAC++$(EXEEXT)
-PROGRAMS = $(noinst_PROGRAMS)
-
-am_test_libFLAC___OBJECTS = decoders.$(OBJEXT) encoders.$(OBJEXT) \
- main.$(OBJEXT) metadata.$(OBJEXT) metadata_manip.$(OBJEXT) \
- metadata_object.$(OBJEXT)
-test_libFLAC___OBJECTS = $(am_test_libFLAC___OBJECTS)
-test_libFLAC___DEPENDENCIES = \
- $(top_builddir)/src/share/grabbag/libgrabbag.la \
- $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
- $(top_builddir)/src/test_libs_common/libtest_libs_common.la \
- $(top_builddir)/src/libFLAC++/libFLAC++.la \
- $(top_builddir)/src/libFLAC/libFLAC.la
-test_libFLAC___LDFLAGS =
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/decoders.Po ./$(DEPDIR)/encoders.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/main.Po ./$(DEPDIR)/metadata.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/metadata_manip.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/metadata_object.Po
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(test_libFLAC___SOURCES)
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(test_libFLAC___SOURCES)
-
+CLEANFILES = test_libFLAC++.exe
all: all-am
.SUFFIXES:
.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/test_libFLAC++/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-test_libFLAC++$(EXEEXT): $(test_libFLAC___OBJECTS) $(test_libFLAC___DEPENDENCIES)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/test_libFLAC++/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/test_libFLAC++/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+test_libFLAC++$(EXEEXT): $(test_libFLAC___OBJECTS) $(test_libFLAC___DEPENDENCIES) $(EXTRA_test_libFLAC___DEPENDENCIES)
@rm -f test_libFLAC++$(EXEEXT)
- $(CXXLINK) $(test_libFLAC___LDFLAGS) $(test_libFLAC___OBJECTS) $(test_libFLAC___LDADD) $(LIBS)
+ $(AM_V_CXXLD)$(CXXLINK) $(test_libFLAC___OBJECTS) $(test_libFLAC___LDADD) $(LIBS)
mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
+ -rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decoders.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encoders.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata_manip.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata_object.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decoders.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encoders.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata_manip.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata_object.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.cpp.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCXX_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
.cpp.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCXX_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cpp.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCXX_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -365,99 +495,94 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
check: check-am
-all-am: Makefile $(PROGRAMS)
-
+all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
@@ -469,51 +594,90 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/decoders.Po
+ -rm -f ./$(DEPDIR)/encoders.Po
+ -rm -f ./$(DEPDIR)/main.Po
+ -rm -f ./$(DEPDIR)/metadata.Po
+ -rm -f ./$(DEPDIR)/metadata_manip.Po
+ -rm -f ./$(DEPDIR)/metadata_object.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/decoders.Po
+ -rm -f ./$(DEPDIR)/encoders.Po
+ -rm -f ./$(DEPDIR)/main.Po
+ -rm -f ./$(DEPDIR)/metadata.Po
+ -rm -f ./$(DEPDIR)/metadata_manip.Po
+ -rm -f ./$(DEPDIR)/metadata_object.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -530,18 +694,26 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
- pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/src/test_libFLAC++/Makefile.lite b/3rdparty/libflac/src/test_libFLAC++/Makefile.lite
deleted file mode 100644
index cf7eb4b4e8d..00000000000
--- a/3rdparty/libflac/src/test_libFLAC++/Makefile.lite
+++ /dev/null
@@ -1,47 +0,0 @@
-# test_libFLAC++ - Unit tester for libFLAC++
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#
-# GNU makefile
-#
-
-topdir = ../..
-libdir = $(topdir)/obj/$(BUILD)/lib
-
-PROGRAM_NAME = test_libFLAC++
-
-INCLUDES = -I$(topdir)/include
-
-ifeq ($(DARWIN_BUILD),yes)
-EXPLICIT_LIBS = $(libdir)/libgrabbag.a $(libdir)/libreplaygain_analysis.a $(libdir)/libtest_libs_common.a $(libdir)/libFLAC++.a $(libdir)/libFLAC.a $(OGG_LIB_DIR)/libogg.a -lm
-else
-LIBS = -lgrabbag -lreplaygain_analysis -ltest_libs_common -lFLAC++ -lFLAC -L$(OGG_LIB_DIR) -logg -lm
-endif
-
-SRCS_CPP = \
- decoders.cpp \
- encoders.cpp \
- main.cpp \
- metadata.cpp \
- metadata_manip.cpp \
- metadata_object.cpp
-
-include $(topdir)/build/exe.mk
-
-LINK = $(CCC) $(LINKAGE)
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/src/test_libFLAC++/decoders.cpp b/3rdparty/libflac/src/test_libFLAC++/decoders.cpp
index fc78c0d5614..9f375f346b1 100644
--- a/3rdparty/libflac/src/test_libFLAC++/decoders.cpp
+++ b/3rdparty/libflac/src/test_libFLAC++/decoders.cpp
@@ -1,5 +1,6 @@
/* test_libFLAC++ - Unit tester for libFLAC++
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,12 +12,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -24,17 +25,12 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#if defined _MSC_VER || defined __MINGW32__
-#if _MSC_VER <= 1600 /* @@@ [2G limit] */
-#define fseeko fseek
-#define ftello ftell
-#endif
-#endif
#include "decoders.h"
#include "FLAC/assert.h"
#include "FLAC/metadata.h" // for ::FLAC__metadata_object_is_equal()
#include "FLAC++/decoder.h"
#include "share/grabbag.h"
+#include "share/compat.h"
extern "C" {
#include "test_libs_common/file_utils_flac.h"
#include "test_libs_common/metadata_utils.h"
@@ -61,8 +57,8 @@ static const char * const LayerString[] = {
static ::FLAC__StreamMetadata streaminfo_, padding_, seektable_, application1_, application2_, vorbiscomment_, cuesheet_, picture_, unknown_;
static ::FLAC__StreamMetadata *expected_metadata_sequence_[9];
-static unsigned num_expected_;
-static off_t flacfilesize_;
+static uint32_t num_expected_;
+static FLAC__off_t flacfilesize_;
static const char *flacfilename(bool is_ogg)
{
@@ -84,7 +80,7 @@ static FLAC__bool die_s_(const char *msg, const FLAC::Decoder::Stream *decoder)
else
printf("FAILED");
- printf(", state = %u (%s)\n", (unsigned)((::FLAC__StreamDecoderState)state), state.as_cstring());
+ printf(", state = %u (%s)\n", (uint32_t)((::FLAC__StreamDecoderState)state), state.as_cstring());
return false;
}
@@ -124,11 +120,12 @@ static bool generate_file_(FLAC__bool is_ogg)
class DecoderCommon {
public:
Layer layer_;
- unsigned current_metadata_number_;
+ uint32_t current_metadata_number_;
bool ignore_errors_;
bool error_occurred_;
DecoderCommon(Layer layer): layer_(layer), current_metadata_number_(0), ignore_errors_(false), error_occurred_(false) { }
+ virtual ~DecoderCommon(void) { }
::FLAC__StreamDecoderWriteStatus common_write_callback_(const ::FLAC__Frame *frame);
void common_metadata_callback_(const ::FLAC__StreamMetadata *metadata);
void common_error_callback_(::FLAC__StreamDecoderErrorStatus status);
@@ -155,7 +152,7 @@ void DecoderCommon::common_metadata_callback_(const ::FLAC__StreamMetadata *meta
if(error_occurred_)
return;
- printf("%d... ", current_metadata_number_);
+ printf("%u... ", current_metadata_number_);
fflush(stdout);
if(current_metadata_number_ >= num_expected_) {
@@ -174,7 +171,7 @@ void DecoderCommon::common_metadata_callback_(const ::FLAC__StreamMetadata *meta
void DecoderCommon::common_error_callback_(::FLAC__StreamDecoderErrorStatus status)
{
if(!ignore_errors_) {
- printf("ERROR: got error callback: err = %u (%s)\n", (unsigned)status, ::FLAC__StreamDecoderErrorStatusString[status]);
+ printf("ERROR: got error callback: err = %u (%s)\n", (uint32_t)status, ::FLAC__StreamDecoderErrorStatusString[status]);
error_occurred_ = true;
}
}
@@ -197,6 +194,9 @@ public:
void error_callback(::FLAC__StreamDecoderErrorStatus status);
bool test_respond(bool is_ogg);
+private:
+ StreamDecoder(const StreamDecoder&);
+ StreamDecoder&operator=(const StreamDecoder&);
};
::FLAC__StreamDecoderReadStatus StreamDecoder::read_callback(FLAC__byte buffer[], size_t *bytes)
@@ -234,7 +234,7 @@ public:
if(error_occurred_)
return ::FLAC__STREAM_DECODER_SEEK_STATUS_ERROR;
- if(fseeko(file_, (off_t)absolute_byte_offset, SEEK_SET) < 0) {
+ if(fseeko(file_, (FLAC__off_t)absolute_byte_offset, SEEK_SET) < 0) {
error_occurred_ = true;
return ::FLAC__STREAM_DECODER_SEEK_STATUS_ERROR;
}
@@ -250,7 +250,7 @@ public:
if(error_occurred_)
return ::FLAC__STREAM_DECODER_TELL_STATUS_ERROR;
- off_t offset = ftello(file_);
+ FLAC__off_t offset = ftello(file_);
*absolute_byte_offset = (FLAC__uint64)offset;
if(offset < 0) {
@@ -326,7 +326,7 @@ bool StreamDecoder::test_respond(bool is_ogg)
printf("testing process_until_end_of_stream()... ");
if(!process_until_end_of_stream()) {
State state = get_state();
- printf("FAILED, returned false, state = %u (%s)\n", (unsigned)((::FLAC__StreamDecoderState)state), state.as_cstring());
+ printf("FAILED, returned false, state = %u (%s)\n", (uint32_t)((::FLAC__StreamDecoderState)state), state.as_cstring());
return false;
}
printf("OK\n");
@@ -334,7 +334,7 @@ bool StreamDecoder::test_respond(bool is_ogg)
printf("testing finish()... ");
if(!finish()) {
State state = get_state();
- printf("FAILED, returned false, state = %u (%s)\n", (unsigned)((::FLAC__StreamDecoderState)state), state.as_cstring());
+ printf("FAILED, returned false, state = %u (%s)\n", (uint32_t)((::FLAC__StreamDecoderState)state), state.as_cstring());
return false;
}
printf("OK\n");
@@ -384,7 +384,7 @@ bool FileDecoder::test_respond(bool is_ogg)
case LAYER_FILE:
{
printf("opening %sFLAC file... ", is_ogg? "Ogg ":"");
- FILE *file = ::fopen(flacfilename(is_ogg), "rb");
+ FILE *file = ::flac_fopen(flacfilename(is_ogg), "rb");
if(0 == file) {
printf("ERROR (%s)\n", strerror(errno));
return false;
@@ -412,7 +412,7 @@ bool FileDecoder::test_respond(bool is_ogg)
printf("testing process_until_end_of_stream()... ");
if(!process_until_end_of_stream()) {
State state = get_state();
- printf("FAILED, returned false, state = %u (%s)\n", (unsigned)((::FLAC__StreamDecoderState)state), state.as_cstring());
+ printf("FAILED, returned false, state = %u (%s)\n", (uint32_t)((::FLAC__StreamDecoderState)state), state.as_cstring());
return false;
}
printf("OK\n");
@@ -420,7 +420,7 @@ bool FileDecoder::test_respond(bool is_ogg)
printf("testing finish()... ");
if(!finish()) {
State state = get_state();
- printf("FAILED, returned false, state = %u (%s)\n", (unsigned)((::FLAC__StreamDecoderState)state), state.as_cstring());
+ printf("FAILED, returned false, state = %u (%s)\n", (uint32_t)((::FLAC__StreamDecoderState)state), state.as_cstring());
return false;
}
printf("OK\n");
@@ -459,6 +459,7 @@ static bool test_stream_decoder(Layer layer, bool is_ogg)
printf("testing is_valid()... ");
if(!decoder->is_valid()) {
printf("FAILED, returned false\n");
+ delete decoder;
return false;
}
printf("OK\n");
@@ -481,6 +482,7 @@ static bool test_stream_decoder(Layer layer, bool is_ogg)
printf("testing is_valid()... ");
if(!decoder->is_valid()) {
printf("FAILED, returned false\n");
+ delete decoder;
return false;
}
printf("OK\n");
@@ -504,6 +506,7 @@ static bool test_stream_decoder(Layer layer, bool is_ogg)
break;
default:
die_("internal error 006");
+ delete decoder;
return false;
}
if(init_status != ::FLAC__STREAM_DECODER_INIT_STATUS_OK)
@@ -531,6 +534,7 @@ static bool test_stream_decoder(Layer layer, bool is_ogg)
printf("testing is_valid()... ");
if(!decoder->is_valid()) {
printf("FAILED, returned false\n");
+ delete decoder;
return false;
}
printf("OK\n");
@@ -551,7 +555,7 @@ static bool test_stream_decoder(Layer layer, bool is_ogg)
case LAYER_STREAM:
case LAYER_SEEKABLE_STREAM:
printf("opening %sFLAC file... ", is_ogg? "Ogg ":"");
- dynamic_cast<StreamDecoder*>(decoder)->file_ = ::fopen(flacfilename(is_ogg), "rb");
+ dynamic_cast<StreamDecoder*>(decoder)->file_ = ::flac_fopen(flacfilename(is_ogg), "rb");
if(0 == dynamic_cast<StreamDecoder*>(decoder)->file_) {
printf("ERROR (%s)\n", strerror(errno));
return false;
@@ -564,7 +568,7 @@ static bool test_stream_decoder(Layer layer, bool is_ogg)
case LAYER_FILE:
{
printf("opening FLAC file... ");
- FILE *file = ::fopen(flacfilename(is_ogg), "rb");
+ FILE *file = ::flac_fopen(flacfilename(is_ogg), "rb");
if(0 == file) {
printf("ERROR (%s)\n", strerror(errno));
return false;
@@ -593,7 +597,7 @@ static bool test_stream_decoder(Layer layer, bool is_ogg)
printf("testing get_state()... ");
FLAC::Decoder::Stream::State state = decoder->get_state();
- printf("returned state = %u (%s)... OK\n", (unsigned)((::FLAC__StreamDecoderState)state), state.as_cstring());
+ printf("returned state = %u (%s)... OK\n", (uint32_t)((::FLAC__StreamDecoderState)state), state.as_cstring());
dynamic_cast<DecoderCommon*>(decoder)->current_metadata_number_ = 0;
dynamic_cast<DecoderCommon*>(decoder)->ignore_errors_ = false;
@@ -654,7 +658,7 @@ static bool test_stream_decoder(Layer layer, bool is_ogg)
printf("testing get_channels()... ");
{
- unsigned channels = decoder->get_channels();
+ uint32_t channels = decoder->get_channels();
if(channels != streaminfo_.data.stream_info.channels) {
printf("FAILED, returned %u, expected %u\n", channels, streaminfo_.data.stream_info.channels);
return false;
@@ -664,7 +668,7 @@ static bool test_stream_decoder(Layer layer, bool is_ogg)
printf("testing get_bits_per_sample()... ");
{
- unsigned bits_per_sample = decoder->get_bits_per_sample();
+ uint32_t bits_per_sample = decoder->get_bits_per_sample();
if(bits_per_sample != streaminfo_.data.stream_info.bits_per_sample) {
printf("FAILED, returned %u, expected %u\n", bits_per_sample, streaminfo_.data.stream_info.bits_per_sample);
return false;
@@ -674,7 +678,7 @@ static bool test_stream_decoder(Layer layer, bool is_ogg)
printf("testing get_sample_rate()... ");
{
- unsigned sample_rate = decoder->get_sample_rate();
+ uint32_t sample_rate = decoder->get_sample_rate();
if(sample_rate != streaminfo_.data.stream_info.sample_rate) {
printf("FAILED, returned %u, expected %u\n", sample_rate, streaminfo_.data.stream_info.sample_rate);
return false;
@@ -684,7 +688,7 @@ static bool test_stream_decoder(Layer layer, bool is_ogg)
printf("testing get_blocksize()... ");
{
- unsigned blocksize = decoder->get_blocksize();
+ uint32_t blocksize = decoder->get_blocksize();
/* value could be anything since we're at the last block, so accept any reasonable answer */
printf("returned %u... %s\n", blocksize, blocksize>0? "OK" : "FAILED");
if(blocksize == 0)
@@ -694,7 +698,7 @@ static bool test_stream_decoder(Layer layer, bool is_ogg)
printf("testing get_channel_assignment()... ");
{
::FLAC__ChannelAssignment ca = decoder->get_channel_assignment();
- printf("returned %u (%s)... OK\n", (unsigned)ca, ::FLAC__ChannelAssignmentString[ca]);
+ printf("returned %u (%s)... OK\n", (uint32_t)ca, ::FLAC__ChannelAssignmentString[ca]);
}
if(layer < LAYER_FILE) {
@@ -723,8 +727,8 @@ static bool test_stream_decoder(Layer layer, bool is_ogg)
printf("testing finish()... ");
if(!decoder->finish()) {
- FLAC::Decoder::Stream::State state = decoder->get_state();
- printf("FAILED, returned false, state = %u (%s)\n", (unsigned)((::FLAC__StreamDecoderState)state), state.as_cstring());
+ state = decoder->get_state();
+ printf("FAILED, returned false, state = %u (%s)\n", (uint32_t)((::FLAC__StreamDecoderState)state), state.as_cstring());
return false;
}
printf("OK\n");
@@ -741,11 +745,10 @@ static bool test_stream_decoder(Layer layer, bool is_ogg)
printf("OK\n");
num_expected_ = 0;
- if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping */
+ if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping. Also removes the seektable */
expected_metadata_sequence_[num_expected_++] = &streaminfo_;
expected_metadata_sequence_[num_expected_++] = &vorbiscomment_;
expected_metadata_sequence_[num_expected_++] = &padding_;
- expected_metadata_sequence_[num_expected_++] = &seektable_;
expected_metadata_sequence_[num_expected_++] = &application1_;
expected_metadata_sequence_[num_expected_++] = &application2_;
expected_metadata_sequence_[num_expected_++] = &cuesheet_;
@@ -804,7 +807,8 @@ static bool test_stream_decoder(Layer layer, bool is_ogg)
num_expected_ = 0;
expected_metadata_sequence_[num_expected_++] = &streaminfo_;
expected_metadata_sequence_[num_expected_++] = &padding_;
- expected_metadata_sequence_[num_expected_++] = &seektable_;
+ if(!is_ogg) /* encoder removes seektable for ogg */
+ expected_metadata_sequence_[num_expected_++] = &seektable_;
expected_metadata_sequence_[num_expected_++] = &application1_;
expected_metadata_sequence_[num_expected_++] = &application2_;
expected_metadata_sequence_[num_expected_++] = &cuesheet_;
@@ -833,11 +837,10 @@ static bool test_stream_decoder(Layer layer, bool is_ogg)
printf("OK\n");
num_expected_ = 0;
- if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping */
+ if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping. Also removes the seektable */
expected_metadata_sequence_[num_expected_++] = &streaminfo_;
expected_metadata_sequence_[num_expected_++] = &vorbiscomment_;
expected_metadata_sequence_[num_expected_++] = &padding_;
- expected_metadata_sequence_[num_expected_++] = &seektable_;
expected_metadata_sequence_[num_expected_++] = &cuesheet_;
expected_metadata_sequence_[num_expected_++] = &picture_;
expected_metadata_sequence_[num_expected_++] = &unknown_;
@@ -874,11 +877,10 @@ static bool test_stream_decoder(Layer layer, bool is_ogg)
printf("OK\n");
num_expected_ = 0;
- if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping */
+ if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping. Also removes the seektable */
expected_metadata_sequence_[num_expected_++] = &streaminfo_;
expected_metadata_sequence_[num_expected_++] = &vorbiscomment_;
expected_metadata_sequence_[num_expected_++] = &padding_;
- expected_metadata_sequence_[num_expected_++] = &seektable_;
expected_metadata_sequence_[num_expected_++] = &application2_;
expected_metadata_sequence_[num_expected_++] = &cuesheet_;
expected_metadata_sequence_[num_expected_++] = &picture_;
@@ -924,11 +926,10 @@ static bool test_stream_decoder(Layer layer, bool is_ogg)
printf("OK\n");
num_expected_ = 0;
- if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping */
+ if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping. Also removes seektable */
expected_metadata_sequence_[num_expected_++] = &streaminfo_;
expected_metadata_sequence_[num_expected_++] = &vorbiscomment_;
expected_metadata_sequence_[num_expected_++] = &padding_;
- expected_metadata_sequence_[num_expected_++] = &seektable_;
expected_metadata_sequence_[num_expected_++] = &cuesheet_;
expected_metadata_sequence_[num_expected_++] = &picture_;
expected_metadata_sequence_[num_expected_++] = &unknown_;
@@ -1077,11 +1078,10 @@ static bool test_stream_decoder(Layer layer, bool is_ogg)
printf("OK\n");
num_expected_ = 0;
- if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping */
+ if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping. Also removes the seektable */
expected_metadata_sequence_[num_expected_++] = &streaminfo_;
expected_metadata_sequence_[num_expected_++] = &vorbiscomment_;
expected_metadata_sequence_[num_expected_++] = &padding_;
- expected_metadata_sequence_[num_expected_++] = &seektable_;
expected_metadata_sequence_[num_expected_++] = &application1_;
expected_metadata_sequence_[num_expected_++] = &cuesheet_;
expected_metadata_sequence_[num_expected_++] = &picture_;
diff --git a/3rdparty/libflac/src/test_libFLAC++/decoders.h b/3rdparty/libflac/src/test_libFLAC++/decoders.h
index 422c31c5ccd..4bbce132bd5 100644
--- a/3rdparty/libflac/src/test_libFLAC++/decoders.h
+++ b/3rdparty/libflac/src/test_libFLAC++/decoders.h
@@ -1,5 +1,6 @@
/* test_libFLAC++ - Unit tester for libFLAC++
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef FLAC__TEST_LIBFLACPP_DECODERS_H
diff --git a/3rdparty/libflac/src/test_libFLAC++/encoders.cpp b/3rdparty/libflac/src/test_libFLAC++/encoders.cpp
index 6b1ab69448e..0e356afe42c 100644
--- a/3rdparty/libflac/src/test_libFLAC++/encoders.cpp
+++ b/3rdparty/libflac/src/test_libFLAC++/encoders.cpp
@@ -1,5 +1,6 @@
/* test_libFLAC++ - Unit tester for libFLAC++
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,11 +12,15 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include "encoders.h"
#include "FLAC/assert.h"
#include "FLAC++/encoder.h"
@@ -28,6 +33,12 @@ extern "C" {
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include "share/compat.h"
+
+#ifdef _MSC_VER
+// warning C4800: 'int' : forcing to bool 'true' or 'false' (performance warning)
+#pragma warning ( disable : 4800 )
+#endif
typedef enum {
LAYER_STREAM = 0, /* FLAC__stream_encoder_init_stream() without seeking */
@@ -45,7 +56,7 @@ static const char * const LayerString[] = {
static ::FLAC__StreamMetadata streaminfo_, padding_, seektable_, application1_, application2_, vorbiscomment_, cuesheet_, picture_, unknown_;
static ::FLAC__StreamMetadata *metadata_sequence_[] = { &vorbiscomment_, &padding_, &seektable_, &application1_, &application2_, &cuesheet_, &picture_, &unknown_ };
-static const unsigned num_metadata_ = sizeof(metadata_sequence_) / sizeof(metadata_sequence_[0]);
+static const uint32_t num_metadata_ = sizeof(metadata_sequence_) / sizeof(metadata_sequence_[0]);
static const char *flacfilename(bool is_ogg)
{
@@ -67,10 +78,10 @@ static bool die_s_(const char *msg, const FLAC::Encoder::Stream *encoder)
else
printf("FAILED");
- printf(", state = %u (%s)\n", (unsigned)((::FLAC__StreamEncoderState)state), state.as_cstring());
+ printf(", state = %u (%s)\n", (uint32_t)((::FLAC__StreamEncoderState)state), state.as_cstring());
if(state == ::FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR) {
FLAC::Decoder::Stream::State dstate = encoder->get_verify_decoder_state();
- printf(" verify decoder state = %u (%s)\n", (unsigned)((::FLAC__StreamDecoderState)dstate), dstate.as_cstring());
+ printf(" verify decoder state = %u (%s)\n", (uint32_t)((::FLAC__StreamDecoderState)dstate), dstate.as_cstring());
}
return false;
@@ -96,10 +107,13 @@ public:
// from FLAC::Encoder::Stream
::FLAC__StreamEncoderReadStatus read_callback(FLAC__byte buffer[], size_t *bytes);
- ::FLAC__StreamEncoderWriteStatus write_callback(const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame);
+ ::FLAC__StreamEncoderWriteStatus write_callback(const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame);
::FLAC__StreamEncoderSeekStatus seek_callback(FLAC__uint64 absolute_byte_offset);
::FLAC__StreamEncoderTellStatus tell_callback(FLAC__uint64 *absolute_byte_offset);
void metadata_callback(const ::FLAC__StreamMetadata *metadata);
+private:
+ StreamEncoder(const StreamEncoder&);
+ StreamEncoder&operator=(const StreamEncoder&);
};
::FLAC__StreamEncoderReadStatus StreamEncoder::read_callback(FLAC__byte buffer[], size_t *bytes)
@@ -117,7 +131,7 @@ public:
return ::FLAC__STREAM_ENCODER_READ_STATUS_ABORT;
}
-::FLAC__StreamEncoderWriteStatus StreamEncoder::write_callback(const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame)
+::FLAC__StreamEncoderWriteStatus StreamEncoder::write_callback(const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame)
{
(void)samples, (void)current_frame;
@@ -131,7 +145,7 @@ public:
{
if(layer_==LAYER_STREAM)
return ::FLAC__STREAM_ENCODER_SEEK_STATUS_UNSUPPORTED;
- else if(fseek(file_, (long)absolute_byte_offset, SEEK_SET) < 0)
+ else if(fseeko(file_, (FLAC__off_t)absolute_byte_offset, SEEK_SET) < 0)
return FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR;
else
return FLAC__STREAM_ENCODER_SEEK_STATUS_OK;
@@ -139,10 +153,10 @@ public:
::FLAC__StreamEncoderTellStatus StreamEncoder::tell_callback(FLAC__uint64 *absolute_byte_offset)
{
- long pos;
+ FLAC__off_t pos;
if(layer_==LAYER_STREAM)
return ::FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED;
- else if((pos = ftell(file_)) < 0)
+ else if((pos = ftello(file_)) < 0)
return FLAC__STREAM_ENCODER_TELL_STATUS_ERROR;
else {
*absolute_byte_offset = (FLAC__uint64)pos;
@@ -163,10 +177,10 @@ public:
~FileEncoder() { }
// from FLAC::Encoder::File
- void progress_callback(FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate);
+ void progress_callback(FLAC__uint64 bytes_written, FLAC__uint64 samples_written, uint32_t frames_written, uint32_t total_frames_estimate);
};
-void FileEncoder::progress_callback(FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate)
+void FileEncoder::progress_callback(FLAC__uint64 bytes_written, FLAC__uint64 samples_written, uint32_t frames_written, uint32_t total_frames_estimate)
{
(void)bytes_written, (void)samples_written, (void)frames_written, (void)total_frames_estimate;
}
@@ -186,7 +200,7 @@ static bool test_stream_encoder(Layer layer, bool is_ogg)
FILE *file = 0;
FLAC__int32 samples[1024];
FLAC__int32 *samples_array[1] = { samples };
- unsigned i;
+ uint32_t i;
printf("\n+++ libFLAC++ unit test: FLAC::Encoder::%s (layer: %s, format: %s)\n\n", layer<LAYER_FILE? "Stream":"File", LayerString[layer], is_ogg? "Ogg FLAC":"FLAC");
@@ -201,6 +215,7 @@ static bool test_stream_encoder(Layer layer, bool is_ogg)
printf("testing is_valid()... ");
if(!encoder->is_valid()) {
printf("FAILED, returned false\n");
+ delete encoder;
return false;
}
printf("OK\n");
@@ -238,7 +253,7 @@ static bool test_stream_encoder(Layer layer, bool is_ogg)
printf("OK\n");
printf("testing set_compression_level()... ");
- if(!encoder->set_compression_level((unsigned)(-1)))
+ if(!encoder->set_compression_level((uint32_t)(-1)))
return die_s_("returned false", encoder);
printf("OK\n");
@@ -307,9 +322,14 @@ static bool test_stream_encoder(Layer layer, bool is_ogg)
return die_s_("returned false", encoder);
printf("OK\n");
+ printf("testing set_limit_min_bitrate()... ");
+ if(!encoder->set_limit_min_bitrate(true))
+ return die_s_("returned false", encoder);
+ printf("OK\n");
+
if(layer < LAYER_FILENAME) {
printf("opening file for FLAC output... ");
- file = ::fopen(flacfilename(is_ogg), "w+b");
+ file = ::flac_fopen(flacfilename(is_ogg), "w+b");
if(0 == file) {
printf("ERROR (%s)\n", strerror(errno));
return false;
@@ -347,17 +367,17 @@ static bool test_stream_encoder(Layer layer, bool is_ogg)
printf("testing get_state()... ");
FLAC::Encoder::Stream::State state = encoder->get_state();
- printf("returned state = %u (%s)... OK\n", (unsigned)((::FLAC__StreamEncoderState)state), state.as_cstring());
+ printf("returned state = %u (%s)... OK\n", (uint32_t)((::FLAC__StreamEncoderState)state), state.as_cstring());
printf("testing get_verify_decoder_state()... ");
FLAC::Decoder::Stream::State dstate = encoder->get_verify_decoder_state();
- printf("returned state = %u (%s)... OK\n", (unsigned)((::FLAC__StreamDecoderState)dstate), dstate.as_cstring());
+ printf("returned state = %u (%s)... OK\n", (uint32_t)((::FLAC__StreamDecoderState)dstate), dstate.as_cstring());
{
FLAC__uint64 absolute_sample;
- unsigned frame_number;
- unsigned channel;
- unsigned sample;
+ uint32_t frame_number;
+ uint32_t channel;
+ uint32_t sample;
FLAC__int32 expected;
FLAC__int32 got;
@@ -424,7 +444,7 @@ static bool test_stream_encoder(Layer layer, bool is_ogg)
printf("testing get_max_lpc_order()... ");
if(encoder->get_max_lpc_order() != 0) {
- printf("FAILED, expected %u, got %u\n", 0, encoder->get_max_lpc_order());
+ printf("FAILED, expected %d, got %u\n", 0, encoder->get_max_lpc_order());
return false;
}
printf("OK\n");
@@ -457,32 +477,35 @@ static bool test_stream_encoder(Layer layer, bool is_ogg)
printf("testing get_min_residual_partition_order()... ");
if(encoder->get_min_residual_partition_order() != 0) {
- printf("FAILED, expected %u, got %u\n", 0, encoder->get_min_residual_partition_order());
+ printf("FAILED, expected %d, got %u\n", 0, encoder->get_min_residual_partition_order());
return false;
}
printf("OK\n");
printf("testing get_max_residual_partition_order()... ");
if(encoder->get_max_residual_partition_order() != 0) {
- printf("FAILED, expected %u, got %u\n", 0, encoder->get_max_residual_partition_order());
+ printf("FAILED, expected %d, got %u\n", 0, encoder->get_max_residual_partition_order());
return false;
}
printf("OK\n");
printf("testing get_rice_parameter_search_dist()... ");
if(encoder->get_rice_parameter_search_dist() != 0) {
- printf("FAILED, expected %u, got %u\n", 0, encoder->get_rice_parameter_search_dist());
+ printf("FAILED, expected %d, got %u\n", 0, encoder->get_rice_parameter_search_dist());
return false;
}
printf("OK\n");
printf("testing get_total_samples_estimate()... ");
if(encoder->get_total_samples_estimate() != streaminfo_.data.stream_info.total_samples) {
-#ifdef _MSC_VER
- printf("FAILED, expected %I64u, got %I64u\n", streaminfo_.data.stream_info.total_samples, encoder->get_total_samples_estimate());
-#else
- printf("FAILED, expected %llu, got %llu\n", (unsigned long long)streaminfo_.data.stream_info.total_samples, (unsigned long long)encoder->get_total_samples_estimate());
-#endif
+ printf("FAILED, expected %" PRIu64 ", got %" PRIu64 "\n", streaminfo_.data.stream_info.total_samples, encoder->get_total_samples_estimate());
+ return false;
+ }
+ printf("OK\n");
+
+ printf("testing get_limit_min_bitrate()... ");
+ if(encoder->get_limit_min_bitrate() != true) {
+ printf("FAILED, expected true, got false\n");
return false;
}
printf("OK\n");
@@ -503,8 +526,8 @@ static bool test_stream_encoder(Layer layer, bool is_ogg)
printf("testing finish()... ");
if(!encoder->finish()) {
- FLAC::Encoder::Stream::State state = encoder->get_state();
- printf("FAILED, returned false, state = %u (%s)\n", (unsigned)((::FLAC__StreamEncoderState)state), state.as_cstring());
+ state = encoder->get_state();
+ printf("FAILED, returned false, state = %u (%s)\n", (uint32_t)((::FLAC__StreamEncoderState)state), state.as_cstring());
return false;
}
printf("OK\n");
diff --git a/3rdparty/libflac/src/test_libFLAC++/encoders.h b/3rdparty/libflac/src/test_libFLAC++/encoders.h
index 2b5c8c73971..9da415c5235 100644
--- a/3rdparty/libflac/src/test_libFLAC++/encoders.h
+++ b/3rdparty/libflac/src/test_libFLAC++/encoders.h
@@ -1,5 +1,6 @@
/* test_libFLAC++ - Unit tester for libFLAC++
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef FLAC__TEST_LIBFLACPP_ENCODERS_H
diff --git a/3rdparty/libflac/src/test_libFLAC++/main.cpp b/3rdparty/libflac/src/test_libFLAC++/main.cpp
index 6a3a0a34e71..7183def77bd 100644
--- a/3rdparty/libflac/src/test_libFLAC++/main.cpp
+++ b/3rdparty/libflac/src/test_libFLAC++/main.cpp
@@ -1,5 +1,6 @@
/* test_libFLAC++ - Unit tester for libFLAC++
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,11 +12,15 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include "decoders.h"
#include "encoders.h"
#include "metadata.h"
diff --git a/3rdparty/libflac/src/test_libFLAC++/metadata.cpp b/3rdparty/libflac/src/test_libFLAC++/metadata.cpp
index 135f61eff56..a31031b629e 100644
--- a/3rdparty/libflac/src/test_libFLAC++/metadata.cpp
+++ b/3rdparty/libflac/src/test_libFLAC++/metadata.cpp
@@ -1,5 +1,6 @@
/* test_libFLAC++ - Unit tester for libFLAC++
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,11 +12,15 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include "metadata.h"
#include <stdio.h>
diff --git a/3rdparty/libflac/src/test_libFLAC++/metadata.h b/3rdparty/libflac/src/test_libFLAC++/metadata.h
index 090dcc4b6a4..8c45bc0a263 100644
--- a/3rdparty/libflac/src/test_libFLAC++/metadata.h
+++ b/3rdparty/libflac/src/test_libFLAC++/metadata.h
@@ -1,5 +1,6 @@
/* test_libFLAC++ - Unit tester for libFLAC++
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef FLAC__TEST_LIBFLACPP_METADATA_H
diff --git a/3rdparty/libflac/src/test_libFLAC++/metadata_manip.cpp b/3rdparty/libflac/src/test_libFLAC++/metadata_manip.cpp
index 27336f92a0c..5d395dbd4cf 100644
--- a/3rdparty/libflac/src/test_libFLAC++/metadata_manip.cpp
+++ b/3rdparty/libflac/src/test_libFLAC++/metadata_manip.cpp
@@ -1,5 +1,6 @@
/* test_libFLAC++ - Unit tester for libFLAC++
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,28 +12,23 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdio.h>
#include <stdlib.h> /* for malloc() */
#include <string.h> /* for memcpy()/memset() */
-#if defined _MSC_VER || defined __MINGW32__
-#include <sys/utime.h> /* for utime() */
-#include <io.h> /* for chmod() */
-#if _MSC_VER <= 1600 /* @@@ [2G limit] */
-#define fseeko fseek
-#define ftello ftell
-#endif
-#else
#include <sys/types.h> /* some flavors of BSD (like OS X) require this to get time_t */
-#include <utime.h> /* for utime() */
+#ifdef _MSC_VER
+#include <sys/utime.h>
+#endif
+#if !defined _MSC_VER && !defined __MINGW32__ && !defined __EMX__
#include <unistd.h> /* for chown(), unlink() */
#endif
#include <sys/stat.h> /* for stat(), maybe chmod() */
@@ -40,6 +36,9 @@
#include "FLAC++/decoder.h"
#include "FLAC++/metadata.h"
#include "share/grabbag.h"
+#include "share/compat.h"
+#include "share/macros.h"
+#include "share/safe_str.h"
extern "C" {
#include "test_libs_common/file_utils_flac.h"
}
@@ -69,14 +68,14 @@ protected:
struct OurMetadata {
FLAC::Metadata::Prototype *blocks[64];
- unsigned num_blocks;
+ uint32_t num_blocks;
};
/* our copy of the metadata in flacfilename() */
static OurMetadata our_metadata_;
/* the current block number that corresponds to the position of the iterator we are testing */
-static unsigned mc_our_block_number_ = 0;
+static uint32_t mc_our_block_number_ = 0;
static const char *flacfilename(bool is_ogg)
{
@@ -92,7 +91,7 @@ static bool die_(const char *msg)
static bool die_c_(const char *msg, FLAC::Metadata::Chain::Status status)
{
printf("ERROR: %s\n", msg);
- printf(" status=%u (%s)\n", (unsigned)((::FLAC__Metadata_ChainStatus)status), status.as_cstring());
+ printf(" status=%u (%s)\n", (uint32_t)((::FLAC__Metadata_ChainStatus)status), status.as_cstring());
return false;
}
@@ -100,7 +99,7 @@ static bool die_ss_(const char *msg, FLAC::Metadata::SimpleIterator &iterator)
{
const FLAC::Metadata::SimpleIterator::Status status = iterator.status();
printf("ERROR: %s\n", msg);
- printf(" status=%u (%s)\n", (unsigned)((::FLAC__Metadata_SimpleIteratorStatus)status), status.as_cstring());
+ printf(" status=%u (%s)\n", (uint32_t)((::FLAC__Metadata_SimpleIteratorStatus)status), status.as_cstring());
return false;
}
@@ -108,7 +107,7 @@ static void *malloc_or_die_(size_t size)
{
void *x = malloc(size);
if(0 == x) {
- fprintf(stderr, "ERROR: out of memory allocating %u bytes\n", (unsigned)size);
+ fprintf(stderr, "ERROR: out of memory allocating %u bytes\n", (uint32_t)size);
exit(1);
}
return x;
@@ -126,9 +125,9 @@ static char *strdup_or_die_(const char *s)
/* functions for working with our metadata copy */
-static bool replace_in_our_metadata_(FLAC::Metadata::Prototype *block, unsigned position, bool copy)
+static bool replace_in_our_metadata_(FLAC::Metadata::Prototype *block, uint32_t position, bool copy)
{
- unsigned i;
+ uint32_t i;
FLAC::Metadata::Prototype *obj = block;
FLAC__ASSERT(position < our_metadata_.num_blocks);
if(copy) {
@@ -146,9 +145,9 @@ static bool replace_in_our_metadata_(FLAC::Metadata::Prototype *block, unsigned
return true;
}
-static bool insert_to_our_metadata_(FLAC::Metadata::Prototype *block, unsigned position, bool copy)
+static bool insert_to_our_metadata_(FLAC::Metadata::Prototype *block, uint32_t position, bool copy)
{
- unsigned i;
+ uint32_t i;
FLAC::Metadata::Prototype *obj = block;
if(copy) {
if(0 == (obj = FLAC::Metadata::clone(block)))
@@ -172,9 +171,9 @@ static bool insert_to_our_metadata_(FLAC::Metadata::Prototype *block, unsigned p
return true;
}
-static void delete_from_our_metadata_(unsigned position)
+static void delete_from_our_metadata_(uint32_t position)
{
- unsigned i;
+ uint32_t i;
FLAC__ASSERT(position < our_metadata_.num_blocks);
delete our_metadata_.blocks[position];
for(i = position; i < our_metadata_.num_blocks - 1; i++)
@@ -189,11 +188,11 @@ static void delete_from_our_metadata_(unsigned position)
}
}
-void add_to_padding_length_(unsigned index, int delta)
+void add_to_padding_length_(uint32_t indx, int delta)
{
- FLAC::Metadata::Padding *padding = dynamic_cast<FLAC::Metadata::Padding *>(our_metadata_.blocks[index]);
+ FLAC::Metadata::Padding *padding = dynamic_cast<FLAC::Metadata::Padding *>(our_metadata_.blocks[indx]);
FLAC__ASSERT(0 != padding);
- padding->set_length((unsigned)((int)padding->get_length() + delta));
+ padding->set_length((uint32_t)((int)padding->get_length() + delta));
}
/*
@@ -203,13 +202,15 @@ void add_to_padding_length_(unsigned index, int delta)
bool open_tempfile_(const char *filename, FILE **tempfile, char **tempfilename)
{
static const char *tempfile_suffix = ".metadata_edit";
+ size_t destlen = strlen(filename) + strlen(tempfile_suffix) + 1;
- if(0 == (*tempfilename = (char*)malloc(strlen(filename) + strlen(tempfile_suffix) + 1)))
+ *tempfilename = (char*)malloc(destlen);
+ if (*tempfilename == 0)
return false;
- strcpy(*tempfilename, filename);
- strcat(*tempfilename, tempfile_suffix);
+ flac_snprintf(*tempfilename, destlen, "%s%s", filename, tempfile_suffix);
- if(0 == (*tempfile = fopen(*tempfilename, "wb")))
+ *tempfile = flac_fopen(*tempfilename, "wb");
+ if (*tempfile == 0)
return false;
return true;
@@ -217,13 +218,13 @@ bool open_tempfile_(const char *filename, FILE **tempfile, char **tempfilename)
void cleanup_tempfile_(FILE **tempfile, char **tempfilename)
{
- if(0 != *tempfile) {
+ if (*tempfile != 0) {
(void)fclose(*tempfile);
*tempfile = 0;
}
- if(0 != *tempfilename) {
- (void)unlink(*tempfilename);
+ if (*tempfilename != 0) {
+ (void)flac_unlink(*tempfilename);
free(*tempfilename);
*tempfilename = 0;
}
@@ -242,14 +243,14 @@ bool transport_tempfile_(const char *filename, FILE **tempfile, char **tempfilen
}
#if defined _MSC_VER || defined __MINGW32__ || defined __EMX__
- /* on some flavors of windows, rename() will fail if the destination already exists */
- if(unlink(filename) < 0) {
+ /* on some flavors of windows, flac_rename() will fail if the destination already exists */
+ if(flac_unlink(filename) < 0) {
cleanup_tempfile_(tempfile, tempfilename);
return false;
}
#endif
- if(0 != rename(*tempfilename, filename)) {
+ if(0 != flac_rename(*tempfilename, filename)) {
cleanup_tempfile_(tempfile, tempfilename);
return false;
}
@@ -259,27 +260,32 @@ bool transport_tempfile_(const char *filename, FILE **tempfile, char **tempfilen
return true;
}
-bool get_file_stats_(const char *filename, struct stat *stats)
+bool get_file_stats_(const char *filename, struct flac_stat_s *stats)
{
FLAC__ASSERT(0 != filename);
FLAC__ASSERT(0 != stats);
- return (0 == stat(filename, stats));
+ return (0 == flac_stat(filename, stats));
}
-void set_file_stats_(const char *filename, struct stat *stats)
+void set_file_stats_(const char *filename, struct flac_stat_s *stats)
{
- struct utimbuf srctime;
-
FLAC__ASSERT(0 != filename);
FLAC__ASSERT(0 != stats);
+#if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200809L) && !defined(_WIN32)
+ struct timespec srctime[2] = {};
+ srctime[0].tv_sec = stats->st_atime;
+ srctime[1].tv_sec = stats->st_mtime;
+#else
+ struct utimbuf srctime;
srctime.actime = stats->st_atime;
srctime.modtime = stats->st_mtime;
- (void)chmod(filename, stats->st_mode);
- (void)utime(filename, &srctime);
+#endif
+ (void)flac_chmod(filename, stats->st_mode);
+ (void)flac_utime(filename, &srctime);
#if !defined _MSC_VER && !defined __MINGW32__ && !defined __EMX__
- (void)chown(filename, stats->st_uid, (gid_t)(-1));
- (void)chown(filename, (uid_t)(-1), stats->st_gid);
+ FLAC_CHECK_RETURN(chown(filename, stats->st_uid, (gid_t)(-1)));
+ FLAC_CHECK_RETURN(chown(filename, (uid_t)(-1), stats->st_gid));
#endif
}
@@ -296,7 +302,7 @@ static size_t chain_write_cb_(const void *ptr, size_t size, size_t nmemb, ::FLAC
static int chain_seek_cb_(::FLAC__IOHandle handle, FLAC__int64 offset, int whence)
{
- off_t o = (off_t)offset;
+ FLAC__off_t o = (FLAC__off_t)offset;
FLAC__ASSERT(offset == o);
return fseeko((FILE*)handle, o, whence);
}
@@ -329,14 +335,14 @@ static bool write_chain_(FLAC::Metadata::Chain &chain, bool use_padding, bool pr
callbacks.eof = chain_eof_cb_;
if(chain.check_if_tempfile_needed(use_padding)) {
- struct stat stats;
+ struct flac_stat_s stats;
FILE *file, *tempfile;
char *tempfilename;
if(preserve_file_stats) {
if(!get_file_stats_(filename, &stats))
return false;
}
- if(0 == (file = fopen(filename, "rb")))
+ if(0 == (file = flac_fopen(filename, "rb")))
return false; /*@@@@ chain status still says OK though */
if(!open_tempfile_(filename, &tempfile, &tempfilename)) {
fclose(file);
@@ -357,11 +363,13 @@ static bool write_chain_(FLAC::Metadata::Chain &chain, bool use_padding, bool pr
set_file_stats_(filename, &stats);
}
else {
- FILE *file = fopen(filename, "r+b");
+ FILE *file = flac_fopen(filename, "r+b");
if(0 == file)
return false; /*@@@@ chain status still says OK though */
- if(!chain.write(use_padding, (::FLAC__IOHandle)file, callbacks))
+ if(!chain.write(use_padding, (::FLAC__IOHandle)file, callbacks)) {
+ fclose(file);
return false;
+ }
fclose(file);
}
}
@@ -383,7 +391,7 @@ static bool read_chain_(FLAC::Metadata::Chain &chain, const char *filename, bool
{
bool ret;
- FILE *file = fopen(filename, "rb");
+ FILE *file = flac_fopen(filename, "rb");
if(0 == file)
return false; /*@@@@ chain status still says OK though */
ret = chain.read((::FLAC__IOHandle)file, callbacks, is_ogg);
@@ -395,9 +403,9 @@ static bool read_chain_(FLAC::Metadata::Chain &chain, const char *filename, bool
/* function for comparing our metadata to a FLAC::Metadata::Chain */
-static bool compare_chain_(FLAC::Metadata::Chain &chain, unsigned current_position, FLAC::Metadata::Prototype *current_block)
+static bool compare_chain_(FLAC::Metadata::Chain &chain, uint32_t current_position, FLAC::Metadata::Prototype *current_block)
{
- unsigned i;
+ uint32_t i;
FLAC::Metadata::Iterator iterator;
bool next_ok = true;
@@ -467,7 +475,7 @@ void OurFileDecoder::metadata_callback(const ::FLAC__StreamMetadata *metadata)
if(error_occurred_)
return;
- printf("%d... ", mc_our_block_number_);
+ printf("%u... ", mc_our_block_number_);
fflush(stdout);
if(!ignore_metadata_) {
@@ -489,14 +497,14 @@ void OurFileDecoder::metadata_callback(const ::FLAC__StreamMetadata *metadata)
void OurFileDecoder::error_callback(::FLAC__StreamDecoderErrorStatus status)
{
error_occurred_ = true;
- printf("ERROR: got error callback, status = %s (%u)\n", FLAC__StreamDecoderErrorStatusString[status], (unsigned)status);
+ printf("ERROR: got error callback, status = %s (%u)\n", FLAC__StreamDecoderErrorStatusString[status], (uint32_t)status);
}
static bool generate_file_(bool include_extras, bool is_ogg)
{
::FLAC__StreamMetadata streaminfo, vorbiscomment, *cuesheet, picture, padding;
::FLAC__StreamMetadata *metadata[4];
- unsigned i = 0, n = 0;
+ uint32_t i = 0, n = 0;
printf("generating %sFLAC file for test\n", is_ogg? "Ogg " : "");
@@ -517,7 +525,7 @@ static bool generate_file_(bool include_extras, bool is_ogg)
memset(streaminfo.data.stream_info.md5sum, 0, 16);
{
- const unsigned vendor_string_length = (unsigned)strlen(FLAC__VENDOR_STRING);
+ const uint32_t vendor_string_length = (uint32_t)strlen(FLAC__VENDOR_STRING);
vorbiscomment.is_last = false;
vorbiscomment.type = ::FLAC__METADATA_TYPE_VORBIS_COMMENT;
vorbiscomment.length = (4 + vendor_string_length) + 4;
@@ -532,7 +540,7 @@ static bool generate_file_(bool include_extras, bool is_ogg)
if (0 == (cuesheet = ::FLAC__metadata_object_new(::FLAC__METADATA_TYPE_CUESHEET)))
return die_("priming our metadata");
cuesheet->is_last = false;
- strcpy(cuesheet->data.cue_sheet.media_catalog_number, "bogo-MCN");
+ safe_strncpy(cuesheet->data.cue_sheet.media_catalog_number, "bogo-MCN", sizeof(cuesheet->data.cue_sheet.media_catalog_number));
cuesheet->data.cue_sheet.lead_in = 123;
cuesheet->data.cue_sheet.is_cd = false;
if (!FLAC__metadata_object_cuesheet_insert_blank_track(cuesheet, 0))
@@ -763,7 +771,7 @@ static bool test_level_0_()
FLAC::Metadata::Picture *picture = 0;
- if(!FLAC::Metadata::get_picture(flacfilename(/*is_ogg=*/false), picture, /*type=*/(::FLAC__StreamMetadata_Picture_Type)(-1), /*mime_type=*/0, /*description=*/0, /*max_width=*/(unsigned)(-1), /*max_height=*/(unsigned)(-1), /*max_depth=*/(unsigned)(-1), /*max_colors=*/(unsigned)(-1)))
+ if(!FLAC::Metadata::get_picture(flacfilename(/*is_ogg=*/false), picture, /*type=*/(::FLAC__StreamMetadata_Picture_Type)(-1), /*mime_type=*/0, /*description=*/0, /*max_width=*/(uint32_t)(-1), /*max_height=*/(uint32_t)(-1), /*max_depth=*/(uint32_t)(-1), /*max_colors=*/(uint32_t)(-1)))
return die_("during FLAC::Metadata::get_picture()");
/* check to see if some basic data matches (c.f. generate_file_()) */
@@ -780,7 +788,7 @@ static bool test_level_0_()
FLAC::Metadata::Picture picture;
- if(!FLAC::Metadata::get_picture(flacfilename(/*is_ogg=*/false), picture, /*type=*/(::FLAC__StreamMetadata_Picture_Type)(-1), /*mime_type=*/0, /*description=*/0, /*max_width=*/(unsigned)(-1), /*max_height=*/(unsigned)(-1), /*max_depth=*/(unsigned)(-1), /*max_colors=*/(unsigned)(-1)))
+ if(!FLAC::Metadata::get_picture(flacfilename(/*is_ogg=*/false), picture, /*type=*/(::FLAC__StreamMetadata_Picture_Type)(-1), /*mime_type=*/0, /*description=*/0, /*max_width=*/(uint32_t)(-1), /*max_height=*/(uint32_t)(-1), /*max_depth=*/(uint32_t)(-1), /*max_colors=*/(uint32_t)(-1)))
return die_("during FLAC::Metadata::get_picture()");
/* check to see if some basic data matches (c.f. generate_file_()) */
@@ -803,7 +811,7 @@ static bool test_level_1_()
FLAC::Metadata::Padding *padding;
FLAC::Metadata::Application *app;
FLAC__byte data[1000];
- unsigned our_current_position = 0;
+ uint32_t our_current_position = 0;
// initialize 'data' to avoid Valgrind errors
memset(data, 0, sizeof(data));
@@ -831,7 +839,7 @@ static bool test_level_1_()
if(!iterator.init(flacfilename(/*is_ogg=*/false), /*read_only=*/false, /*preserve_file_stats=*/false))
return die_("iterator.init() returned false");
- printf("is writable = %u\n", (unsigned)iterator.is_writable());
+ printf("is writable = %u\n", (uint32_t)iterator.is_writable());
if(iterator.is_writable())
return die_("iterator claims file is writable when tester thinks it should not be; are you running as root?\n");
@@ -914,39 +922,59 @@ static bool test_level_1_()
if(0 == (app = new FLAC::Metadata::Application()))
return die_("new FLAC::Metadata::Application()");
- app->set_id((const unsigned char *)"duh");
+ app->set_id((const uint8_t *)"duh");
printf("creating PADDING block\n");
- if(0 == (padding = new FLAC::Metadata::Padding()))
+ if(0 == (padding = new FLAC::Metadata::Padding())) {
+ delete app;
return die_("new FLAC::Metadata::Padding()");
+ }
padding->set_length(20);
FLAC::Metadata::SimpleIterator iterator;
- if(!iterator.is_valid())
+ if(!iterator.is_valid()) {
+ delete app;
+ delete padding;
return die_("iterator.is_valid() returned false");
+ }
- if(!iterator.init(flacfilename(/*is_ogg=*/false), /*read_only=*/false, /*preserve_file_stats=*/false))
+ if(!iterator.init(flacfilename(/*is_ogg=*/false), /*read_only=*/false, /*preserve_file_stats=*/false)) {
+ delete app;
+ delete padding;
return die_("iterator.init() returned false");
+ }
our_current_position = 0;
- printf("is writable = %u\n", (unsigned)iterator.is_writable());
+ printf("is writable = %u\n", (uint32_t)iterator.is_writable());
printf("[S]VP\ttry to write over STREAMINFO block...\n");
if(!iterator.set_block(app, false))
printf("\titerator.set_block() returned false like it should\n");
- else
+ else {
+ delete app;
+ delete padding;
return die_("iterator.set_block() returned true but shouldn't have");
+ }
+
+ if(iterator.status() != FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT)
+ return die_("iterator.status() should have been FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT");
printf("[S]VP\tnext\n");
- if(!iterator.next())
+ if(!iterator.next()) {
+ delete app;
+ delete padding;
return die_("iterator ended early\n");
+ }
our_current_position++;
printf("S[V]P\tnext\n");
- if(!iterator.next())
+ if(!iterator.next()) {
+ delete app;
+ delete padding;
return die_("iterator ended early\n");
+ }
our_current_position++;
printf("SV[P]\tinsert PADDING after, don't expand into padding\n");
@@ -990,6 +1018,9 @@ static bool test_level_1_()
if(iterator.delete_block(false))
return die_ss_("iterator.delete_block(false) should have returned false", iterator);
+ if(iterator.status() != FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT)
+ return die_("iterator.status() should have been FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT");
+
if(!test_file_(/*is_ogg=*/false, /*ignore_metadata=*/false))
return false;
@@ -1083,7 +1114,7 @@ static bool test_level_1_()
our_current_position++;
printf("S[V]P\tinsert APPLICATION after, expand into padding of exceeding size\n");
- app->set_id((const unsigned char *)"euh"); /* twiddle the id so that our comparison doesn't miss transposition */
+ app->set_id((const uint8_t *)"euh"); /* twiddle the id so that our comparison doesn't miss transposition */
if(!iterator.insert_block_after(app, true))
return die_ss_("iterator.insert_block_after(app, true)", iterator);
if(!insert_to_our_metadata_(app, ++our_current_position, /*copy=*/true))
@@ -1099,7 +1130,7 @@ static bool test_level_1_()
our_current_position++;
printf("SVA[P]\tset APPLICATION, expand into padding of exceeding size\n");
- app->set_id((const unsigned char *)"fuh"); /* twiddle the id */
+ app->set_id((const uint8_t *)"fuh"); /* twiddle the id */
if(!iterator.set_block(app, true))
return die_ss_("iterator.set_block(app, true)", iterator);
if(!insert_to_our_metadata_(app, our_current_position, /*copy=*/true))
@@ -1110,7 +1141,7 @@ static bool test_level_1_()
return false;
printf("SVA[A]P\tset APPLICATION (grow), don't expand into padding\n");
- app->set_id((const unsigned char *)"guh"); /* twiddle the id */
+ app->set_id((const uint8_t *)"guh"); /* twiddle the id */
if(!app->set_data(data, sizeof(data), true))
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
@@ -1122,7 +1153,7 @@ static bool test_level_1_()
return false;
printf("SVA[A]P\tset APPLICATION (shrink), don't fill in with padding\n");
- app->set_id((const unsigned char *)"huh"); /* twiddle the id */
+ app->set_id((const uint8_t *)"huh"); /* twiddle the id */
if(!app->set_data(data, 12, true))
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
@@ -1134,7 +1165,7 @@ static bool test_level_1_()
return false;
printf("SVA[A]P\tset APPLICATION (grow), expand into padding of exceeding size\n");
- app->set_id((const unsigned char *)"iuh"); /* twiddle the id */
+ app->set_id((const uint8_t *)"iuh"); /* twiddle the id */
if(!app->set_data(data, sizeof(data), true))
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
@@ -1147,7 +1178,7 @@ static bool test_level_1_()
return false;
printf("SVA[A]P\tset APPLICATION (shrink), fill in with padding\n");
- app->set_id((const unsigned char *)"juh"); /* twiddle the id */
+ app->set_id((const uint8_t *)"juh"); /* twiddle the id */
if(!app->set_data(data, 23, true))
return die_("setting APPLICATION data");
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
@@ -1182,7 +1213,7 @@ static bool test_level_1_()
return false;
printf("SVAAP[P]\tset APPLICATION (grow)\n");
- app->set_id((const unsigned char *)"kuh"); /* twiddle the id */
+ app->set_id((const uint8_t *)"kuh"); /* twiddle the id */
if(!replace_in_our_metadata_(app, our_current_position, /*copy=*/true))
return die_("copying object");
if(!iterator.set_block(app, false))
@@ -1470,7 +1501,7 @@ static bool test_level_2_(bool filename_based, bool is_ogg)
FLAC::Metadata::Application *app;
FLAC::Metadata::Padding *padding;
FLAC__byte data[2000];
- unsigned our_current_position;
+ uint32_t our_current_position;
// initialize 'data' to avoid Valgrind errors
memset(data, 0, sizeof(data));
@@ -1558,7 +1589,7 @@ static bool test_level_2_(bool filename_based, bool is_ogg)
return die_("getting block from iterator");
if(0 == (app = new FLAC::Metadata::Application()))
return die_("new FLAC::Metadata::Application()");
- app->set_id((const unsigned char *)"duh");
+ app->set_id((const uint8_t *)"duh");
if(!app->set_data(data, block->get_length()-(FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8), true))
return die_("setting APPLICATION data");
delete block;
@@ -2076,7 +2107,7 @@ static bool test_level_2_misc_(bool is_ogg)
printf("read chain (callback-based)\n");
{
- FILE *file = fopen(flacfilename(is_ogg), "rb");
+ FILE *file = flac_fopen(flacfilename(is_ogg), "rb");
if(0 == file)
return die_("opening file");
if(!chain.read((::FLAC__IOHandle)file, callbacks)) {
@@ -2097,7 +2128,7 @@ static bool test_level_2_misc_(bool is_ogg)
printf("read chain (callback-based)\n");
{
- FILE *file = fopen(flacfilename(is_ogg), "rb");
+ FILE *file = flac_fopen(flacfilename(is_ogg), "rb");
if(0 == file)
return die_("opening file");
if(!chain.read((::FLAC__IOHandle)file, callbacks)) {
@@ -2125,7 +2156,7 @@ static bool test_level_2_misc_(bool is_ogg)
printf("read chain (callback-based)\n");
{
- FILE *file = fopen(flacfilename(is_ogg), "rb");
+ FILE *file = flac_fopen(flacfilename(is_ogg), "rb");
if(0 == file)
return die_("opening file");
if(!chain.read((::FLAC__IOHandle)file, callbacks)) {
diff --git a/3rdparty/libflac/src/test_libFLAC++/metadata_object.cpp b/3rdparty/libflac/src/test_libFLAC++/metadata_object.cpp
index 9e9aec440ff..ab4cfbfeee0 100644
--- a/3rdparty/libflac/src/test_libFLAC++/metadata_object.cpp
+++ b/3rdparty/libflac/src/test_libFLAC++/metadata_object.cpp
@@ -1,5 +1,6 @@
/* test_libFLAC++ - Unit tester for libFLAC++
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,16 +12,21 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#include "FLAC/assert.h"
-#include "FLAC++/metadata.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include <stdio.h>
#include <stdlib.h> /* for malloc() */
#include <string.h> /* for memcmp() */
+#include "FLAC/assert.h"
+#include "FLAC++/metadata.h"
+#include "share/safe_str.h"
static ::FLAC__StreamMetadata streaminfo_, padding_, seektable_, application_, vorbiscomment_, cuesheet_, picture_;
@@ -34,7 +40,7 @@ static void *malloc_or_die_(size_t size)
{
void *x = malloc(size);
if(0 == x) {
- fprintf(stderr, "ERROR: out of memory allocating %u bytes\n", (unsigned)size);
+ fprintf(stderr, "ERROR: out of memory allocating %u bytes\n", (uint32_t)size);
exit(1);
}
return x;
@@ -50,18 +56,18 @@ static char *strdup_or_die_(const char *s)
return x;
}
-static bool index_is_equal_(const ::FLAC__StreamMetadata_CueSheet_Index &index, const ::FLAC__StreamMetadata_CueSheet_Index &indexcopy)
+static bool index_is_equal_(const ::FLAC__StreamMetadata_CueSheet_Index &indx, const ::FLAC__StreamMetadata_CueSheet_Index &indxcopy)
{
- if(indexcopy.offset != index.offset)
+ if(indxcopy.offset != indx.offset)
return false;
- if(indexcopy.number != index.number)
+ if(indxcopy.number != indx.number)
return false;
return true;
}
static bool track_is_equal_(const ::FLAC__StreamMetadata_CueSheet_Track *track, const ::FLAC__StreamMetadata_CueSheet_Track *trackcopy)
{
- unsigned i;
+ uint32_t i;
if(trackcopy->offset != track->offset)
return false;
@@ -243,7 +249,7 @@ static void free_metadata_blocks_()
bool test_metadata_object_streaminfo()
{
- unsigned expected_length;
+ uint32_t expected_length;
printf("testing class FLAC::Metadata::StreamInfo\n");
@@ -476,7 +482,7 @@ bool test_metadata_object_streaminfo()
bool test_metadata_object_padding()
{
- unsigned expected_length;
+ uint32_t expected_length;
printf("testing class FLAC::Metadata::Padding\n");
@@ -637,7 +643,7 @@ bool test_metadata_object_padding()
bool test_metadata_object_application()
{
- unsigned expected_length;
+ uint32_t expected_length;
printf("testing class FLAC::Metadata::Application\n");
@@ -807,7 +813,7 @@ bool test_metadata_object_application()
bool test_metadata_object_seektable()
{
- unsigned expected_length;
+ uint32_t expected_length;
printf("testing class FLAC::Metadata::SeekTable\n");
@@ -1006,7 +1012,7 @@ bool test_metadata_object_seektable()
bool test_metadata_object_vorbiscomment()
{
- unsigned expected_length;
+ uint32_t expected_length;
printf("testing class FLAC::Metadata::VorbisComment::Entry\n");
@@ -1021,7 +1027,7 @@ bool test_metadata_object_vorbiscomment()
}
printf("OK\n");
- printf("testing Entry::Entry(const char *field, unsigned field_length)... ");
+ printf("testing Entry::Entry(const char *field, uint32_t field_length)... ");
FLAC::Metadata::VorbisComment::Entry entry2("name2=value2", strlen("name2=value2"));
if(!entry2.is_valid())
return die_("!is_valid()");
@@ -1037,7 +1043,7 @@ bool test_metadata_object_vorbiscomment()
printf("OK\n");
}
- printf("testing Entry::Entry(const char *field_name, const char *field_value, unsigned field_value_length)... ");
+ printf("testing Entry::Entry(const char *field_name, const char *field_value, uint32_t field_value_length)... ");
FLAC::Metadata::VorbisComment::Entry entry3("name3", "value3", strlen("value3"));
if(!entry3.is_valid())
return die_("!is_valid()");
@@ -1119,7 +1125,7 @@ bool test_metadata_object_vorbiscomment()
return die_("entry mismatch");
printf("OK\n");
- printf("testing Entry::set_field_value(const char *field_value, unsigned field_value_length)... ");
+ printf("testing Entry::set_field_value(const char *field_value, uint32_t field_value_length)... ");
if(!entry1.set_field_value("value1", strlen("value1")))
return die_("returned false");
if(0 != memcmp(entry1.get_field_value(), "value1", strlen("value1")))
@@ -1137,7 +1143,7 @@ bool test_metadata_object_vorbiscomment()
return die_("entry mismatch");
printf("OK\n");
- printf("testing Entry::set_field(const char *field, unsigned field_length)... ");
+ printf("testing Entry::set_field(const char *field, uint32_t field_length)... ");
if(!entry1.set_field("name0=value0", strlen("name0=value0")))
return die_("returned false");
if(0 != memcmp(entry1.get_field_name(), "name0", strlen("name0")))
@@ -1422,7 +1428,7 @@ bool test_metadata_object_vorbiscomment()
bool test_metadata_object_cuesheet()
{
- unsigned expected_length;
+ uint32_t expected_length;
printf("testing class FLAC::Metadata::CueSheet::Track\n");
@@ -1694,7 +1700,7 @@ bool test_metadata_object_cuesheet()
{
char mcn[129];
memset(mcn, 0, sizeof(mcn));
- strcpy(mcn, "1234567890123");
+ safe_strncpy(mcn, "1234567890123", sizeof(mcn));
block.set_media_catalog_number(mcn);
if(0 != memcmp(block.get_media_catalog_number(), mcn, sizeof(mcn)))
return die_("value mismatch");
@@ -1801,7 +1807,7 @@ bool test_metadata_object_cuesheet()
bool test_metadata_object_picture()
{
- unsigned expected_length;
+ uint32_t expected_length;
printf("testing class FLAC::Metadata::Picture\n");
@@ -2020,7 +2026,7 @@ bool test_metadata_object_picture()
printf("testing Picture::set_colors()... +\n");
printf(" Picture::get_colors()... ");
block.set_colors(1u>16);
- if(block.get_colors() != 1u>16)
+ if(block.get_colors() != (1u>16))
return die_("value mismatch, expected 2^16");
printf("OK\n");
diff --git a/3rdparty/libflac/src/test_libFLAC++/test_libFLAC++.dsp b/3rdparty/libflac/src/test_libFLAC++/test_libFLAC++.dsp
deleted file mode 100644
index 0d256024d02..00000000000
--- a/3rdparty/libflac/src/test_libFLAC++/test_libFLAC++.dsp
+++ /dev/null
@@ -1,136 +0,0 @@
-# Microsoft Developer Studio Project File - Name="test_libFLAC++" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=test_libFLAC++ - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "test_libFLAC++.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "test_libFLAC++.mak" CFG="test_libFLAC++ - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "test_libFLAC++ - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "test_libFLAC++ - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "test_libFLAC++ - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\obj\release\bin"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "..\..\include" /D "NDEBUG" /D "FLAC__NO_DLL" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\obj\release\lib\grabbag_static.lib ..\..\obj\release\lib\replaygain_analysis_static.lib ..\..\obj\release\lib\test_libs_common_static.lib ..\..\obj\release\lib\libFLAC++_static.lib ..\..\obj\release\lib\libFLAC_static.lib ..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "test_libFLAC++ - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\obj\debug\bin"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I "..\..\include" /D "_DEBUG" /D "DEBUG" /D "FLAC__NO_DLL" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\obj\debug\lib\grabbag_static.lib ..\..\obj\debug\lib\replaygain_analysis_static.lib ..\..\obj\debug\lib\test_libs_common_static.lib ..\..\obj\debug\lib\libFLAC++_static.lib ..\..\obj\debug\lib\libFLAC_static.lib ..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "test_libFLAC++ - Win32 Release"
-# Name "test_libFLAC++ - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\decoders.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\encoders.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\main.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\metadata.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\metadata_manip.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\metadata_object.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\decoders.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\encoders.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\metadata.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\README
-# End Source File
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/test_libFLAC++/test_libFLAC++.vcproj b/3rdparty/libflac/src/test_libFLAC++/test_libFLAC++.vcproj
deleted file mode 100644
index ed392ab4d0e..00000000000
--- a/3rdparty/libflac/src/test_libFLAC++/test_libFLAC++.vcproj
+++ /dev/null
@@ -1,234 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="test_libFLAC++"
- ProjectGUID="{4cefbc8d-c215-11db-8314-0800200c9a66}"
- RootNamespace="test_libFLAC++"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\obj\debug\bin"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".;..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="2"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\obj\release\bin"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".;..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="1"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\decoders.h"
- >
- </File>
- <File
- RelativePath=".\encoders.h"
- >
- </File>
- <File
- RelativePath=".\metadata.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\decoders.cpp"
- >
- </File>
- <File
- RelativePath=".\encoders.cpp"
- >
- </File>
- <File
- RelativePath=".\main.cpp"
- >
- </File>
- <File
- RelativePath=".\metadata.cpp"
- >
- </File>
- <File
- RelativePath=".\metadata_manip.cpp"
- >
- </File>
- <File
- RelativePath=".\metadata_object.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/test_libFLAC/CMakeLists.txt b/3rdparty/libflac/src/test_libFLAC/CMakeLists.txt
new file mode 100644
index 00000000000..36a58200805
--- /dev/null
+++ b/3rdparty/libflac/src/test_libFLAC/CMakeLists.txt
@@ -0,0 +1,25 @@
+add_executable(test_libFLAC
+ bitreader.c
+ bitwriter.c
+ crc.c
+ decoders.c
+ encoders.c
+ endswap.c
+ format.c
+ main.c
+ metadata.c
+ metadata_manip.c
+ metadata_object.c
+ md5.c
+ "$<TARGET_PROPERTY:FLAC,SOURCE_DIR>/bitreader.c"
+ "$<TARGET_PROPERTY:FLAC,SOURCE_DIR>/bitwriter.c"
+ "$<TARGET_PROPERTY:FLAC,SOURCE_DIR>/crc.c"
+ "$<TARGET_PROPERTY:FLAC,SOURCE_DIR>/md5.c"
+ $<$<BOOL:${WIN32}>:../../include/share/win_utf8_io.h>
+ $<$<BOOL:${WIN32}>:../share/win_utf8_io/win_utf8_io.c>)
+
+target_compile_definitions(test_libFLAC PRIVATE
+ $<$<BOOL:${ENABLE_64_BIT_WORDS}>:ENABLE_64_BIT_WORDS>)
+target_include_directories(test_libFLAC PRIVATE
+ "$<TARGET_PROPERTY:FLAC,SOURCE_DIR>/include")
+target_link_libraries(test_libFLAC FLAC grabbag test_libs_common)
diff --git a/3rdparty/libflac/src/test_libFLAC/Makefile.am b/3rdparty/libflac/src/test_libFLAC/Makefile.am
index d38f2999a7b..c77f87e85d9 100644
--- a/3rdparty/libflac/src/test_libFLAC/Makefile.am
+++ b/3rdparty/libflac/src/test_libFLAC/Makefile.am
@@ -1,5 +1,6 @@
# test_libFLAC - Unit tester for libFLAC
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2000-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -11,37 +12,52 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
EXTRA_DIST = \
- Makefile.lite \
- test_libFLAC.dsp \
- test_libFLAC.vcproj
+ CMakeLists.txt
-INCLUDES = -I$(top_srcdir)/src/libFLAC/include
+check_PROGRAMS = test_libFLAC
+
+if OS_IS_WINDOWS
+win_utf8_lib = $(top_builddir)/src/share/win_utf8_io/libwin_utf8_io.la
+flac__no_dll = -DFLAC__NO_DLL
+endif
+
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include -I$(top_srcdir)/src/libFLAC/include $(flac__no_dll)
-noinst_PROGRAMS = test_libFLAC
test_libFLAC_LDADD = \
$(top_builddir)/src/share/grabbag/libgrabbag.la \
$(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
$(top_builddir)/src/test_libs_common/libtest_libs_common.la \
- $(top_builddir)/src/libFLAC/libFLAC.la \
+ $(top_builddir)/src/libFLAC/libFLAC-static.la \
+ $(win_utf8_lib) \
@OGG_LIBS@ \
- @MINGW_WINSOCK_LIBS@ \
-lm
+
test_libFLAC_SOURCES = \
+ bitreader.c \
bitwriter.c \
+ crc.c \
decoders.c \
encoders.c \
+ endswap.c \
format.c \
main.c \
metadata.c \
metadata_manip.c \
metadata_object.c \
+ md5.c \
+ bitreader.h \
bitwriter.h \
+ crc.h \
decoders.h \
encoders.h \
+ endswap.h \
format.h \
- metadata.h
+ metadata.h \
+ md5.h
+
+CLEANFILES = test_libFLAC.exe
diff --git a/3rdparty/libflac/src/test_libFLAC/Makefile.in b/3rdparty/libflac/src/test_libFLAC/Makefile.in
index b43bc65b6df..ee0dcf8cdc1 100644
--- a/3rdparty/libflac/src/test_libFLAC/Makefile.in
+++ b/3rdparty/libflac/src/test_libFLAC/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,8 @@
@SET_MAKE@
# test_libFLAC - Unit tester for libFLAC
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2000-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -27,20 +28,70 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,116 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+check_PROGRAMS = test_libFLAC$(EXEEXT)
+subdir = src/test_libFLAC
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am_test_libFLAC_OBJECTS = bitreader.$(OBJEXT) bitwriter.$(OBJEXT) \
+ crc.$(OBJEXT) decoders.$(OBJEXT) encoders.$(OBJEXT) \
+ endswap.$(OBJEXT) format.$(OBJEXT) main.$(OBJEXT) \
+ metadata.$(OBJEXT) metadata_manip.$(OBJEXT) \
+ metadata_object.$(OBJEXT) md5.$(OBJEXT)
+test_libFLAC_OBJECTS = $(am_test_libFLAC_OBJECTS)
+test_libFLAC_DEPENDENCIES = \
+ $(top_builddir)/src/share/grabbag/libgrabbag.la \
+ $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
+ $(top_builddir)/src/test_libs_common/libtest_libs_common.la \
+ $(top_builddir)/src/libFLAC/libFLAC-static.la $(win_utf8_lib)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/bitreader.Po \
+ ./$(DEPDIR)/bitwriter.Po ./$(DEPDIR)/crc.Po \
+ ./$(DEPDIR)/decoders.Po ./$(DEPDIR)/encoders.Po \
+ ./$(DEPDIR)/endswap.Po ./$(DEPDIR)/format.Po \
+ ./$(DEPDIR)/main.Po ./$(DEPDIR)/md5.Po ./$(DEPDIR)/metadata.Po \
+ ./$(DEPDIR)/metadata_manip.Po ./$(DEPDIR)/metadata_object.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(test_libFLAC_SOURCES)
+DIST_SOURCES = $(test_libFLAC_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,298 +221,277 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
EXTRA_DIST = \
- Makefile.lite \
- test_libFLAC.dsp \
- test_libFLAC.vcproj
-
-
-INCLUDES = -I$(top_srcdir)/src/libFLAC/include
+ CMakeLists.txt
-noinst_PROGRAMS = test_libFLAC
+@OS_IS_WINDOWS_TRUE@win_utf8_lib = $(top_builddir)/src/share/win_utf8_io/libwin_utf8_io.la
+@OS_IS_WINDOWS_TRUE@flac__no_dll = -DFLAC__NO_DLL
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include -I$(top_srcdir)/src/libFLAC/include $(flac__no_dll)
test_libFLAC_LDADD = \
$(top_builddir)/src/share/grabbag/libgrabbag.la \
$(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
$(top_builddir)/src/test_libs_common/libtest_libs_common.la \
- $(top_builddir)/src/libFLAC/libFLAC.la \
+ $(top_builddir)/src/libFLAC/libFLAC-static.la \
+ $(win_utf8_lib) \
@OGG_LIBS@ \
- @MINGW_WINSOCK_LIBS@ \
-lm
test_libFLAC_SOURCES = \
+ bitreader.c \
bitwriter.c \
+ crc.c \
decoders.c \
encoders.c \
+ endswap.c \
format.c \
main.c \
metadata.c \
metadata_manip.c \
metadata_object.c \
+ md5.c \
+ bitreader.h \
bitwriter.h \
+ crc.h \
decoders.h \
encoders.h \
+ endswap.h \
format.h \
- metadata.h
-
-subdir = src/test_libFLAC
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-noinst_PROGRAMS = test_libFLAC$(EXEEXT)
-PROGRAMS = $(noinst_PROGRAMS)
-
-am_test_libFLAC_OBJECTS = bitwriter.$(OBJEXT) decoders.$(OBJEXT) \
- encoders.$(OBJEXT) format.$(OBJEXT) main.$(OBJEXT) \
- metadata.$(OBJEXT) metadata_manip.$(OBJEXT) \
- metadata_object.$(OBJEXT)
-test_libFLAC_OBJECTS = $(am_test_libFLAC_OBJECTS)
-test_libFLAC_DEPENDENCIES = \
- $(top_builddir)/src/share/grabbag/libgrabbag.la \
- $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \
- $(top_builddir)/src/test_libs_common/libtest_libs_common.la \
- $(top_builddir)/src/libFLAC/libFLAC.la
-test_libFLAC_LDFLAGS =
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/bitwriter.Po ./$(DEPDIR)/decoders.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/encoders.Po ./$(DEPDIR)/format.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/main.Po ./$(DEPDIR)/metadata.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/metadata_manip.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/metadata_object.Po
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(test_libFLAC_SOURCES)
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(test_libFLAC_SOURCES)
+ metadata.h \
+ md5.h
+CLEANFILES = test_libFLAC.exe
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/test_libFLAC/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-test_libFLAC$(EXEEXT): $(test_libFLAC_OBJECTS) $(test_libFLAC_DEPENDENCIES)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/test_libFLAC/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/test_libFLAC/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+test_libFLAC$(EXEEXT): $(test_libFLAC_OBJECTS) $(test_libFLAC_DEPENDENCIES) $(EXTRA_test_libFLAC_DEPENDENCIES)
@rm -f test_libFLAC$(EXEEXT)
- $(LINK) $(test_libFLAC_LDFLAGS) $(test_libFLAC_OBJECTS) $(test_libFLAC_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(test_libFLAC_OBJECTS) $(test_libFLAC_LDADD) $(LIBS)
mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
+ -rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bitwriter.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decoders.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encoders.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/format.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata_manip.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata_object.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bitreader.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bitwriter.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crc.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decoders.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encoders.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/endswap.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/format.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata_manip.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata_object.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -365,99 +499,94 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
check: check-am
-all-am: Makefile $(PROGRAMS)
-
+all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
@@ -469,51 +598,102 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/bitreader.Po
+ -rm -f ./$(DEPDIR)/bitwriter.Po
+ -rm -f ./$(DEPDIR)/crc.Po
+ -rm -f ./$(DEPDIR)/decoders.Po
+ -rm -f ./$(DEPDIR)/encoders.Po
+ -rm -f ./$(DEPDIR)/endswap.Po
+ -rm -f ./$(DEPDIR)/format.Po
+ -rm -f ./$(DEPDIR)/main.Po
+ -rm -f ./$(DEPDIR)/md5.Po
+ -rm -f ./$(DEPDIR)/metadata.Po
+ -rm -f ./$(DEPDIR)/metadata_manip.Po
+ -rm -f ./$(DEPDIR)/metadata_object.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/bitreader.Po
+ -rm -f ./$(DEPDIR)/bitwriter.Po
+ -rm -f ./$(DEPDIR)/crc.Po
+ -rm -f ./$(DEPDIR)/decoders.Po
+ -rm -f ./$(DEPDIR)/encoders.Po
+ -rm -f ./$(DEPDIR)/endswap.Po
+ -rm -f ./$(DEPDIR)/format.Po
+ -rm -f ./$(DEPDIR)/main.Po
+ -rm -f ./$(DEPDIR)/md5.Po
+ -rm -f ./$(DEPDIR)/metadata.Po
+ -rm -f ./$(DEPDIR)/metadata_manip.Po
+ -rm -f ./$(DEPDIR)/metadata_object.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -530,18 +710,26 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
- pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/src/test_libFLAC/Makefile.lite b/3rdparty/libflac/src/test_libFLAC/Makefile.lite
deleted file mode 100644
index 60d9920316e..00000000000
--- a/3rdparty/libflac/src/test_libFLAC/Makefile.lite
+++ /dev/null
@@ -1,47 +0,0 @@
-# test_libFLAC - Unit tester for libFLAC
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#
-# GNU makefile
-#
-
-topdir = ../..
-libdir = $(topdir)/obj/$(BUILD)/lib
-
-PROGRAM_NAME = test_libFLAC
-
-INCLUDES = -I../libFLAC/include -I$(topdir)/include
-
-ifeq ($(DARWIN_BUILD),yes)
-EXPLICIT_LIBS = $(libdir)/libgrabbag.a $(libdir)/libreplaygain_analysis.a $(libdir)/libtest_libs_common.a $(libdir)/libFLAC.a $(OGG_LIB_DIR)/libogg.a -lm
-else
-LIBS = -lgrabbag -lreplaygain_analysis -ltest_libs_common -lFLAC -L$(OGG_LIB_DIR) -logg -lm
-endif
-
-SRCS_C = \
- bitwriter.c \
- decoders.c \
- encoders.c \
- format.c \
- main.c \
- metadata.c \
- metadata_manip.c \
- metadata_object.c
-
-include $(topdir)/build/exe.mk
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/src/test_libFLAC/bitreader.c b/3rdparty/libflac/src/test_libFLAC/bitreader.c
new file mode 100644
index 00000000000..d40bd1f2e14
--- /dev/null
+++ b/3rdparty/libflac/src/test_libFLAC/bitreader.c
@@ -0,0 +1,355 @@
+/* test_libFLAC - Unit tester for libFLAC
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "FLAC/assert.h"
+#include "share/compat.h"
+#include "private/bitreader.h" /* from the libFLAC private include area */
+#include "bitreader.h"
+#include <stdio.h>
+#include <string.h> /* for memcpy() */
+
+/*
+ * WATCHOUT! Since FLAC__BitReader is a private structure, we use a copy of
+ * the definition here to get at the internals. Make sure this is kept up
+ * to date with what is in ../libFLAC/bitreader.c
+ */
+#if (ENABLE_64_BIT_WORDS == 0)
+
+typedef FLAC__uint32 brword;
+#define FLAC__BYTES_PER_WORD 4
+#define FLAC__BITS_PER_WORD 32
+
+#else
+
+typedef FLAC__uint64 brword;
+#define FLAC__BYTES_PER_WORD 8
+#define FLAC__BITS_PER_WORD 64
+
+#endif
+
+struct FLAC__BitReader {
+ /* any partially-consumed word at the head will stay right-justified as bits are consumed from the left */
+ /* any incomplete word at the tail will be left-justified, and bytes from the read callback are added on the right */
+ brword *buffer;
+ uint32_t capacity; /* in words */
+ uint32_t words; /* # of completed words in buffer */
+ uint32_t bytes; /* # of bytes in incomplete word at buffer[words] */
+ uint32_t consumed_words; /* #words ... */
+ uint32_t consumed_bits; /* ... + (#bits of head word) already consumed from the front of buffer */
+ uint32_t read_crc16; /* the running frame CRC */
+ uint32_t crc16_offset; /* the number of words in the current buffer that should not be CRC'd */
+ uint32_t crc16_align; /* the number of bits in the current consumed word that should not be CRC'd */
+ FLAC__bool read_limit_set; /* whether reads are limited */
+ uint32_t read_limit; /* the remaining size of what can be read */
+ uint32_t last_seen_framesync; /* the location of the last seen framesync, if it is in the buffer, in bits from front of buffer */
+ FLAC__BitReaderReadCallback read_callback;
+ void *client_data;
+};
+
+static FLAC__bool read_callback(FLAC__byte buffer[], size_t *bytes, void *data);
+
+static void FLAC__bitreader_dump(const FLAC__BitReader *br, FILE *out)
+{
+ uint32_t i, j;
+ if(br == 0) {
+ fprintf(out, "bitreader is NULL\n");
+ }
+ else {
+ fprintf(out, "bitreader: capacity=%u words=%u bytes=%u consumed: words=%u, bits=%u\n", br->capacity, br->words, br->bytes, br->consumed_words, br->consumed_bits);
+
+ for(i = 0; i < br->words; i++) {
+ fprintf(out, "%08X: ", i);
+ for(j = 0; j < FLAC__BITS_PER_WORD; j++)
+ if(i < br->consumed_words || (i == br->consumed_words && j < br->consumed_bits))
+ fprintf(out, ".");
+ else
+ fprintf(out, "%01d", br->buffer[i] & ((brword)1 << (FLAC__BITS_PER_WORD-j-1)) ? 1:0);
+ fprintf(out, "\n");
+ }
+ if(br->bytes > 0) {
+ fprintf(out, "%08X: ", i);
+ for(j = 0; j < br->bytes*8; j++)
+ if(i < br->consumed_words || (i == br->consumed_words && j < br->consumed_bits))
+ fprintf(out, ".");
+ else
+ fprintf(out, "%01d", br->buffer[i] & ((brword)1 << (br->bytes*8-j-1)) ? 1:0);
+ fprintf(out, "\n");
+ }
+ }
+}
+
+FLAC__bool test_bitreader(void)
+{
+ FLAC__BitReader *br;
+ FLAC__bool ok;
+ uint32_t i;
+ uint32_t words, bits; /* what we think br->consumed_words and br->consumed_bits should be */
+
+ FLAC__uint16 crc,expected_crcs[4] = { 0x5e4c, 0x7f6b, 0x2272, 0x42bf };
+ FLAC__byte data[32];
+
+ FLAC__uint32 val_uint32;
+ FLAC__uint64 val_uint64;
+
+ for (i = 0; i < 32; i++)
+ data[i] = i * 8 + 7;
+
+ printf("\n+++ libFLAC unit test: bitreader\n\n");
+
+ /*
+ * test new -> delete
+ */
+ printf("testing new... ");
+ br = FLAC__bitreader_new();
+ if(0 == br) {
+ printf("FAILED, returned NULL\n");
+ return false;
+ }
+ printf("OK\n");
+
+ printf("testing delete... ");
+ FLAC__bitreader_delete(br);
+ printf("OK\n");
+
+ /*
+ * test new -> init -> delete
+ */
+ printf("testing new... ");
+ br = FLAC__bitreader_new();
+ if(0 == br) {
+ printf("FAILED, returned NULL\n");
+ return false;
+ }
+ printf("OK\n");
+
+ printf("testing init... ");
+ if(!FLAC__bitreader_init(br, read_callback, data)) {
+ printf("FAILED, returned false\n");
+ return false;
+ }
+ printf("OK\n");
+
+ printf("testing delete... ");
+ FLAC__bitreader_delete(br);
+ printf("OK\n");
+
+ /*
+ * test new -> init -> clear -> delete
+ */
+ printf("testing new... ");
+ br = FLAC__bitreader_new();
+ if(0 == br) {
+ printf("FAILED, returned NULL\n");
+ return false;
+ }
+ printf("OK\n");
+
+ printf("testing init... ");
+ if(!FLAC__bitreader_init(br, read_callback, data)) {
+ printf("FAILED, returned false\n");
+ return false;
+ }
+ printf("OK\n");
+
+ printf("testing clear... ");
+ if(!FLAC__bitreader_clear(br)) {
+ printf("FAILED, returned false\n");
+ return false;
+ }
+ printf("OK\n");
+
+ printf("testing delete... ");
+ FLAC__bitreader_delete(br);
+ printf("OK\n");
+
+ /*
+ * test normal usage
+ */
+ printf("testing new... ");
+ br = FLAC__bitreader_new();
+ if(0 == br) {
+ printf("FAILED, returned NULL\n");
+ return false;
+ }
+ printf("OK\n");
+
+ printf("testing init... ");
+ if(!FLAC__bitreader_init(br, read_callback, data)) {
+ printf("FAILED, returned false\n");
+ return false;
+ }
+ printf("OK\n");
+
+ printf("testing clear... ");
+ if(!FLAC__bitreader_clear(br)) {
+ printf("FAILED, returned false\n");
+ return false;
+ }
+ printf("OK\n");
+
+ words = bits = 0;
+
+ printf("capacity = %u\n", br->capacity);
+
+ printf("testing raw reads... ");
+ ok =
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 1) &&
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 2) &&
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 5) &&
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 8) &&
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 10) &&
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 4) &&
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 32) &&
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 4) &&
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 2) &&
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 8) &&
+ FLAC__bitreader_read_raw_uint64(br, &val_uint64, 64) &&
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 12)
+ ;
+ if(!ok) {
+ printf("FAILED\n");
+ FLAC__bitreader_dump(br, stdout);
+ return false;
+ }
+ /* we read 152 bits (=19 bytes) from the bitreader */
+ words = 152 / FLAC__BITS_PER_WORD;
+ bits = 152 - words*FLAC__BITS_PER_WORD;
+
+ if(br->consumed_words != words) {
+ printf("FAILED word count %u != %u\n", br->consumed_words, words);
+ FLAC__bitreader_dump(br, stdout);
+ return false;
+ }
+ if(br->consumed_bits != bits) {
+ printf("FAILED bit count %u != %u\n", br->consumed_bits, bits);
+ FLAC__bitreader_dump(br, stdout);
+ return false;
+ }
+ crc = FLAC__bitreader_get_read_crc16(br);
+ if(crc != expected_crcs[0]) {
+ printf("FAILED reported CRC 0x%04x does not match expected 0x%04x\n", crc, expected_crcs[0]);
+ FLAC__bitreader_dump(br, stdout);
+ return false;
+ }
+ printf("OK\n");
+ FLAC__bitreader_dump(br, stdout);
+
+ printf("testing CRC reset... ");
+ FLAC__bitreader_clear(br);
+ FLAC__bitreader_reset_read_crc16(br, 0xFFFF);
+ crc = FLAC__bitreader_get_read_crc16(br);
+ if(crc != 0xFFFF) {
+ printf("FAILED reported CRC 0x%04x does not match expected 0xFFFF\n", crc);
+ FLAC__bitreader_dump(br, stdout);
+ return false;
+ }
+ FLAC__bitreader_reset_read_crc16(br, 0);
+ crc = FLAC__bitreader_get_read_crc16(br);
+ if(crc != 0) {
+ printf("FAILED reported CRC 0x%04x does not match expected 0x0000\n", crc);
+ FLAC__bitreader_dump(br, stdout);
+ return false;
+ }
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 16);
+ FLAC__bitreader_reset_read_crc16(br, 0);
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 32);
+ crc = FLAC__bitreader_get_read_crc16(br);
+ if(crc != expected_crcs[1]) {
+ printf("FAILED reported CRC 0x%04x does not match expected 0x%04x\n", crc, expected_crcs[1]);
+ FLAC__bitreader_dump(br, stdout);
+ return false;
+ }
+ printf("OK\n");
+
+ printf("testing unaligned < 32 bit reads... ");
+ FLAC__bitreader_clear(br);
+ FLAC__bitreader_skip_bits_no_crc(br, 8);
+ FLAC__bitreader_reset_read_crc16(br, 0);
+ ok =
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 1) &&
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 2) &&
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 5) &&
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 8)
+ ;
+ if(!ok) {
+ printf("FAILED\n");
+ FLAC__bitreader_dump(br, stdout);
+ return false;
+ }
+ crc = FLAC__bitreader_get_read_crc16(br);
+ if(crc != expected_crcs[2]) {
+ printf("FAILED reported CRC 0x%04x does not match expected 0x%04x\n", crc, expected_crcs[2]);
+ FLAC__bitreader_dump(br, stdout);
+ return false;
+ }
+ printf("OK\n");
+ FLAC__bitreader_dump(br, stdout);
+
+ printf("testing unaligned < 64 bit reads... ");
+ FLAC__bitreader_clear(br);
+ FLAC__bitreader_skip_bits_no_crc(br, 8);
+ FLAC__bitreader_reset_read_crc16(br, 0);
+ ok =
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 1) &&
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 2) &&
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 5) &&
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 8) &&
+ FLAC__bitreader_read_raw_uint32(br, &val_uint32, 32)
+ ;
+ if(!ok) {
+ printf("FAILED\n");
+ FLAC__bitreader_dump(br, stdout);
+ return false;
+ }
+ crc = FLAC__bitreader_get_read_crc16(br);
+ if(crc != expected_crcs[3]) {
+ printf("FAILED reported CRC 0x%04x does not match expected 0x%04x\n", crc, expected_crcs[3]);
+ FLAC__bitreader_dump(br, stdout);
+ return false;
+ }
+ printf("OK\n");
+ FLAC__bitreader_dump(br, stdout);
+
+ printf("testing free... ");
+ FLAC__bitreader_free(br);
+ printf("OK\n");
+
+ printf("testing delete... ");
+ FLAC__bitreader_delete(br);
+ printf("OK\n");
+
+ printf("\nPASSED!\n");
+ return true;
+}
+
+/*----------------------------------------------------------------------------*/
+
+static FLAC__bool read_callback(FLAC__byte buffer[], size_t *bytes, void *data)
+{
+ if (*bytes > 32)
+ *bytes = 32;
+
+ memcpy(buffer, data, *bytes);
+
+ return true;
+}
diff --git a/3rdparty/libflac/src/test_libFLAC/bitreader.h b/3rdparty/libflac/src/test_libFLAC/bitreader.h
new file mode 100644
index 00000000000..f497acf6f02
--- /dev/null
+++ b/3rdparty/libflac/src/test_libFLAC/bitreader.h
@@ -0,0 +1,27 @@
+/* test_libFLAC - Unit tester for libFLAC
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef FLAC__TEST_LIBFLAC_BITREADER_H
+#define FLAC__TEST_LIBFLAC_BITREADER_H
+
+#include "FLAC/ordinals.h"
+
+FLAC__bool test_bitreader(void);
+
+#endif
diff --git a/3rdparty/libflac/src/test_libFLAC/bitwriter.c b/3rdparty/libflac/src/test_libFLAC/bitwriter.c
index 7bc23a87ce3..0aafff2f12b 100644
--- a/3rdparty/libflac/src/test_libFLAC/bitwriter.c
+++ b/3rdparty/libflac/src/test_libFLAC/bitwriter.c
@@ -1,5 +1,6 @@
/* test_libFLAC - Unit tester for libFLAC
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,57 +12,99 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "FLAC/assert.h"
+#include "share/compat.h"
#include "private/bitwriter.h" /* from the libFLAC private include area */
#include "bitwriter.h"
#include <stdio.h>
#include <string.h> /* for memcmp() */
-/* adjust for compilers that can't understand using LLU suffix for uint64_t literals */
-#ifdef _MSC_VER
-#define FLAC__U64L(x) x
-#else
-#define FLAC__U64L(x) x##LLU
-#endif
-
/*
* WATCHOUT! Since FLAC__BitWriter is a private structure, we use a copy of
* the definition here to get at the internals. Make sure this is kept up
* to date with what is in ../libFLAC/bitwriter.c
*/
+#if (ENABLE_64_BIT_WORDS == 0)
+
typedef FLAC__uint32 bwword;
+#define FLAC__BYTES_PER_WORD 4
+#define FLAC__BITS_PER_WORD 32
+#define PRI_BWWORD "08x"
+
+#else
+
+typedef FLAC__uint64 bwword;
+#define FLAC__BYTES_PER_WORD 8
+#define FLAC__BITS_PER_WORD 64
+#define PRI_BWWORD "016" PRIx64
+
+#endif
struct FLAC__BitWriter {
bwword *buffer;
- bwword accum; /* accumulator; when full, accum is appended to buffer */
- unsigned capacity; /* of buffer in words */
- unsigned words; /* # of complete words in buffer */
- unsigned bits; /* # of used bits in accum */
+ bwword accum; /* accumulator; bits are right-justified; when full, accum is appended to buffer */
+ uint32_t capacity; /* capacity of buffer in words */
+ uint32_t words; /* # of complete words in buffer */
+ uint32_t bits; /* # of used bits in accum */
};
-#define TOTAL_BITS(bw) ((bw)->words*sizeof(bwword)*8 + (bw)->bits)
+#define WORDS_TO_BITS(words) ((words) * FLAC__BITS_PER_WORD)
+#define TOTAL_BITS(bw) (WORDS_TO_BITS((bw)->words) + (bw)->bits)
+static void FLAC__bitwriter_dump(const FLAC__BitWriter *bw, FILE *out)
+{
+ uint32_t i, j;
+ if(bw == 0) {
+ fprintf(out, "bitwriter is NULL\n");
+ }
+ else {
+ fprintf(out, "bitwriter: capacity=%u words=%u bits=%u total_bits=%u\n", bw->capacity, bw->words, bw->bits, TOTAL_BITS(bw));
+
+ for(i = 0; i < bw->words; i++) {
+ fprintf(out, "%08X: ", i);
+ for(j = 0; j < FLAC__BITS_PER_WORD; j++)
+ fprintf(out, "%01d", bw->buffer[i] & ((bwword)1 << (FLAC__BITS_PER_WORD-j-1)) ? 1:0);
+ fprintf(out, "\n");
+ }
+ if(bw->bits > 0) {
+ fprintf(out, "%08X: ", i);
+ for(j = 0; j < bw->bits; j++)
+ fprintf(out, "%01d", bw->accum & ((bwword)1 << (bw->bits-j-1)) ? 1:0);
+ fprintf(out, "\n");
+ }
+ }
+}
FLAC__bool test_bitwriter(void)
{
FLAC__BitWriter *bw;
FLAC__bool ok;
- unsigned i, j;
+ uint32_t i, j;
+#if FLAC__BYTES_PER_WORD == 4
#if WORDS_BIGENDIAN
static bwword test_pattern1[5] = { 0xaaf0aabe, 0xaaaaaaa8, 0x300aaaaa, 0xaaadeadb, 0x00eeface };
#else
static bwword test_pattern1[5] = { 0xbeaaf0aa, 0xa8aaaaaa, 0xaaaa0a30, 0xdbeaadaa, 0x00eeface };
#endif
- unsigned words, bits; /* what we think bw->words and bw->bits should be */
+#elif FLAC__BYTES_PER_WORD == 8
+#if WORDS_BIGENDIAN
+ static bwword test_pattern1[3] = { FLAC__U64L(0xaaf0aabeaaaaaaa8), FLAC__U64L(0x300aaaaaaaadeadb), FLAC__U64L(0x0000000000eeface) };
+#else
+ static bwword test_pattern1[3] = { FLAC__U64L(0xa8aaaaaabeaaf0aa), FLAC__U64L(0xdbeaadaaaaaa0a30), FLAC__U64L(0x0000000000eeface) };
+#endif
+#else
+#error FLAC__BYTES_PER_WORD is neither 4 nor 8 -- not implemented
+#endif
+ uint32_t words, bits; /* what we think bw->words and bw->bits should be */
printf("\n+++ libFLAC unit test: bitwriter\n\n");
@@ -92,9 +135,8 @@ FLAC__bool test_bitwriter(void)
printf("OK\n");
printf("testing init... ");
- FLAC__bitwriter_init(bw);
- if(0 == bw) {
- printf("FAILED, returned NULL\n");
+ if(!FLAC__bitwriter_init(bw)) {
+ printf("FAILED, returned false\n");
return false;
}
printf("OK\n");
@@ -115,19 +157,14 @@ FLAC__bool test_bitwriter(void)
printf("OK\n");
printf("testing init... ");
- FLAC__bitwriter_init(bw);
- if(0 == bw) {
- printf("FAILED, returned NULL\n");
+ if(!FLAC__bitwriter_init(bw)) {
+ printf("FAILED, returned false\n");
return false;
}
printf("OK\n");
printf("testing clear... ");
FLAC__bitwriter_clear(bw);
- if(0 == bw) {
- printf("FAILED, returned NULL\n");
- return false;
- }
printf("OK\n");
printf("testing delete... ");
@@ -146,10 +183,11 @@ FLAC__bool test_bitwriter(void)
printf("OK\n");
printf("testing init... ");
- ok = FLAC__bitwriter_init(bw);
- printf("%s\n", ok?"OK":"FAILED");
- if(!ok)
+ if(!FLAC__bitwriter_init(bw)) {
+ printf("FAILED, returned false\n");
return false;
+ }
+ printf("OK\n");
printf("testing clear... ");
FLAC__bitwriter_clear(bw);
@@ -179,10 +217,12 @@ FLAC__bool test_bitwriter(void)
FLAC__bitwriter_dump(bw, stdout);
return false;
}
- words = 4;
- bits = 24;
+ /* we wrote 152 bits (=19 bytes) to the bitwriter */
+ words = 152 / FLAC__BITS_PER_WORD;
+ bits = 152 - words*FLAC__BITS_PER_WORD;
+
if(bw->words != words) {
- printf("FAILED byte count %u != %u\n", bw->words, words);
+ printf("FAILED word count %u != %u\n", bw->words, words);
FLAC__bitwriter_dump(bw, stdout);
return false;
}
@@ -197,7 +237,7 @@ FLAC__bool test_bitwriter(void)
return false;
}
if((bw->accum & 0x00ffffff) != test_pattern1[words]) {
- printf("FAILED pattern match (bw->accum=%08X != %08X)\n", bw->accum&0x00ffffff, test_pattern1[words]);
+ printf("FAILED pattern match (bw->accum=%" PRI_BWWORD " != %" PRI_BWWORD ")\n", bw->accum&0x00ffffff, test_pattern1[words]);
FLAC__bitwriter_dump(bw, stdout);
return false;
}
@@ -215,7 +255,7 @@ FLAC__bool test_bitwriter(void)
test_pattern1[words] <<= 6;
test_pattern1[words] |= 0x3d;
if(bw->words != words) {
- printf("FAILED byte count %u != %u\n", bw->words, words);
+ printf("FAILED word count %u != %u\n", bw->words, words);
FLAC__bitwriter_dump(bw, stdout);
return false;
}
@@ -230,7 +270,7 @@ FLAC__bool test_bitwriter(void)
return false;
}
if((bw->accum & 0x3fffffff) != test_pattern1[words]) {
- printf("FAILED pattern match (bw->accum=%08X != %08X)\n", bw->accum&0x3fffffff, test_pattern1[words]);
+ printf("FAILED pattern match (bw->accum=%" PRI_BWWORD " != %" PRI_BWWORD ")\n", bw->accum&0x3fffffff, test_pattern1[words]);
FLAC__bitwriter_dump(bw, stdout);
return false;
}
@@ -300,11 +340,15 @@ FLAC__bool test_bitwriter(void)
printf("testing utf8_uint32(0x00010000)... ");
FLAC__bitwriter_clear(bw);
FLAC__bitwriter_write_utf8_uint32(bw, 0x00010000);
+#if FLAC__BYTES_PER_WORD == 4
#if WORDS_BIGENDIAN
ok = TOTAL_BITS(bw) == 32 && bw->buffer[0] == 0xF0908080;
#else
ok = TOTAL_BITS(bw) == 32 && bw->buffer[0] == 0x808090F0;
#endif
+#elif FLAC__BYTES_PER_WORD == 8
+ ok = TOTAL_BITS(bw) == 32 && (bw->accum & 0xffffffff) == 0xF0908080;
+#endif
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
FLAC__bitwriter_dump(bw, stdout);
@@ -314,11 +358,15 @@ FLAC__bool test_bitwriter(void)
printf("testing utf8_uint32(0x001FFFFF)... ");
FLAC__bitwriter_clear(bw);
FLAC__bitwriter_write_utf8_uint32(bw, 0x001FFFFF);
+#if FLAC__BYTES_PER_WORD == 4
#if WORDS_BIGENDIAN
ok = TOTAL_BITS(bw) == 32 && bw->buffer[0] == 0xF7BFBFBF;
#else
ok = TOTAL_BITS(bw) == 32 && bw->buffer[0] == 0xBFBFBFF7;
#endif
+#elif FLAC__BYTES_PER_WORD == 8
+ ok = TOTAL_BITS(bw) == 32 && (bw->accum & 0xffffffff) == 0xF7BFBFBF;
+#endif
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
FLAC__bitwriter_dump(bw, stdout);
@@ -328,11 +376,15 @@ FLAC__bool test_bitwriter(void)
printf("testing utf8_uint32(0x00200000)... ");
FLAC__bitwriter_clear(bw);
FLAC__bitwriter_write_utf8_uint32(bw, 0x00200000);
+#if FLAC__BYTES_PER_WORD == 4
#if WORDS_BIGENDIAN
ok = TOTAL_BITS(bw) == 40 && bw->buffer[0] == 0xF8888080 && (bw->accum & 0xff) == 0x80;
#else
ok = TOTAL_BITS(bw) == 40 && bw->buffer[0] == 0x808088F8 && (bw->accum & 0xff) == 0x80;
#endif
+#elif FLAC__BYTES_PER_WORD == 8
+ ok = TOTAL_BITS(bw) == 40 && (bw->accum & FLAC__U64L(0xffffffffff)) == FLAC__U64L(0xF888808080);
+#endif
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
FLAC__bitwriter_dump(bw, stdout);
@@ -342,11 +394,15 @@ FLAC__bool test_bitwriter(void)
printf("testing utf8_uint32(0x03FFFFFF)... ");
FLAC__bitwriter_clear(bw);
FLAC__bitwriter_write_utf8_uint32(bw, 0x03FFFFFF);
+#if FLAC__BYTES_PER_WORD == 4
#if WORDS_BIGENDIAN
ok = TOTAL_BITS(bw) == 40 && bw->buffer[0] == 0xFBBFBFBF && (bw->accum & 0xff) == 0xBF;
#else
ok = TOTAL_BITS(bw) == 40 && bw->buffer[0] == 0xBFBFBFFB && (bw->accum & 0xff) == 0xBF;
#endif
+#elif FLAC__BYTES_PER_WORD == 8
+ ok = TOTAL_BITS(bw) == 40 && (bw->accum & FLAC__U64L(0xffffffffff)) == FLAC__U64L(0xFBBFBFBFBF);
+#endif
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
FLAC__bitwriter_dump(bw, stdout);
@@ -356,11 +412,15 @@ FLAC__bool test_bitwriter(void)
printf("testing utf8_uint32(0x04000000)... ");
FLAC__bitwriter_clear(bw);
FLAC__bitwriter_write_utf8_uint32(bw, 0x04000000);
+#if FLAC__BYTES_PER_WORD == 4
#if WORDS_BIGENDIAN
ok = TOTAL_BITS(bw) == 48 && bw->buffer[0] == 0xFC848080 && (bw->accum & 0xffff) == 0x8080;
#else
ok = TOTAL_BITS(bw) == 48 && bw->buffer[0] == 0x808084FC && (bw->accum & 0xffff) == 0x8080;
#endif
+#elif FLAC__BYTES_PER_WORD == 8
+ ok = TOTAL_BITS(bw) == 48 && (bw->accum & FLAC__U64L(0xffffffffffff)) == FLAC__U64L(0xFC8480808080);
+#endif
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
FLAC__bitwriter_dump(bw, stdout);
@@ -370,11 +430,15 @@ FLAC__bool test_bitwriter(void)
printf("testing utf8_uint32(0x7FFFFFFF)... ");
FLAC__bitwriter_clear(bw);
FLAC__bitwriter_write_utf8_uint32(bw, 0x7FFFFFFF);
+#if FLAC__BYTES_PER_WORD == 4
#if WORDS_BIGENDIAN
ok = TOTAL_BITS(bw) == 48 && bw->buffer[0] == 0xFDBFBFBF && (bw->accum & 0xffff) == 0xBFBF;
#else
ok = TOTAL_BITS(bw) == 48 && bw->buffer[0] == 0xBFBFBFFD && (bw->accum & 0xffff) == 0xBFBF;
#endif
+#elif FLAC__BYTES_PER_WORD == 8
+ ok = TOTAL_BITS(bw) == 48 && (bw->accum & FLAC__U64L(0xffffffffffff)) == FLAC__U64L(0xFDBFBFBFBFBF);
+#endif
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
FLAC__bitwriter_dump(bw, stdout);
@@ -383,7 +447,7 @@ FLAC__bool test_bitwriter(void)
printf("testing utf8_uint64(0x0000000000000000)... ");
FLAC__bitwriter_clear(bw);
- FLAC__bitwriter_write_utf8_uint64(bw, 0x0000000000000000);
+ FLAC__bitwriter_write_utf8_uint64(bw, FLAC__U64L(0x0000000000000000));
ok = TOTAL_BITS(bw) == 8 && (bw->accum & 0xff) == 0;
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
@@ -393,7 +457,7 @@ FLAC__bool test_bitwriter(void)
printf("testing utf8_uint64(0x000000000000007F)... ");
FLAC__bitwriter_clear(bw);
- FLAC__bitwriter_write_utf8_uint64(bw, 0x000000000000007F);
+ FLAC__bitwriter_write_utf8_uint64(bw, FLAC__U64L(0x000000000000007F));
ok = TOTAL_BITS(bw) == 8 && (bw->accum & 0xff) == 0x7F;
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
@@ -403,7 +467,7 @@ FLAC__bool test_bitwriter(void)
printf("testing utf8_uint64(0x0000000000000080)... ");
FLAC__bitwriter_clear(bw);
- FLAC__bitwriter_write_utf8_uint64(bw, 0x0000000000000080);
+ FLAC__bitwriter_write_utf8_uint64(bw, FLAC__U64L(0x0000000000000080));
ok = TOTAL_BITS(bw) == 16 && (bw->accum & 0xffff) == 0xC280;
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
@@ -413,7 +477,7 @@ FLAC__bool test_bitwriter(void)
printf("testing utf8_uint64(0x00000000000007FF)... ");
FLAC__bitwriter_clear(bw);
- FLAC__bitwriter_write_utf8_uint64(bw, 0x00000000000007FF);
+ FLAC__bitwriter_write_utf8_uint64(bw, FLAC__U64L(0x00000000000007FF));
ok = TOTAL_BITS(bw) == 16 && (bw->accum & 0xffff) == 0xDFBF;
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
@@ -423,7 +487,7 @@ FLAC__bool test_bitwriter(void)
printf("testing utf8_uint64(0x0000000000000800)... ");
FLAC__bitwriter_clear(bw);
- FLAC__bitwriter_write_utf8_uint64(bw, 0x0000000000000800);
+ FLAC__bitwriter_write_utf8_uint64(bw, FLAC__U64L(0x0000000000000800));
ok = TOTAL_BITS(bw) == 24 && (bw->accum & 0xffffff) == 0xE0A080;
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
@@ -433,7 +497,7 @@ FLAC__bool test_bitwriter(void)
printf("testing utf8_uint64(0x000000000000FFFF)... ");
FLAC__bitwriter_clear(bw);
- FLAC__bitwriter_write_utf8_uint64(bw, 0x000000000000FFFF);
+ FLAC__bitwriter_write_utf8_uint64(bw, FLAC__U64L(0x000000000000FFFF));
ok = TOTAL_BITS(bw) == 24 && (bw->accum & 0xffffff) == 0xEFBFBF;
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
@@ -443,12 +507,16 @@ FLAC__bool test_bitwriter(void)
printf("testing utf8_uint64(0x0000000000010000)... ");
FLAC__bitwriter_clear(bw);
- FLAC__bitwriter_write_utf8_uint64(bw, 0x0000000000010000);
+ FLAC__bitwriter_write_utf8_uint64(bw, FLAC__U64L(0x0000000000010000));
+#if FLAC__BYTES_PER_WORD == 4
#if WORDS_BIGENDIAN
ok = TOTAL_BITS(bw) == 32 && bw->buffer[0] == 0xF0908080;
#else
ok = TOTAL_BITS(bw) == 32 && bw->buffer[0] == 0x808090F0;
#endif
+#elif FLAC__BYTES_PER_WORD == 8
+ ok = TOTAL_BITS(bw) == 32 && (bw->accum & 0xffffffff) == 0xF0908080;
+#endif
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
FLAC__bitwriter_dump(bw, stdout);
@@ -457,12 +525,16 @@ FLAC__bool test_bitwriter(void)
printf("testing utf8_uint64(0x00000000001FFFFF)... ");
FLAC__bitwriter_clear(bw);
- FLAC__bitwriter_write_utf8_uint64(bw, 0x00000000001FFFFF);
+ FLAC__bitwriter_write_utf8_uint64(bw, FLAC__U64L(0x00000000001FFFFF));
+#if FLAC__BYTES_PER_WORD == 4
#if WORDS_BIGENDIAN
ok = TOTAL_BITS(bw) == 32 && bw->buffer[0] == 0xF7BFBFBF;
#else
ok = TOTAL_BITS(bw) == 32 && bw->buffer[0] == 0xBFBFBFF7;
#endif
+#elif FLAC__BYTES_PER_WORD == 8
+ ok = TOTAL_BITS(bw) == 32 && (bw->accum & 0xffffffff) == 0xF7BFBFBF;
+#endif
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
FLAC__bitwriter_dump(bw, stdout);
@@ -471,12 +543,16 @@ FLAC__bool test_bitwriter(void)
printf("testing utf8_uint64(0x0000000000200000)... ");
FLAC__bitwriter_clear(bw);
- FLAC__bitwriter_write_utf8_uint64(bw, 0x0000000000200000);
+ FLAC__bitwriter_write_utf8_uint64(bw, FLAC__U64L(0x0000000000200000));
+#if FLAC__BYTES_PER_WORD == 4
#if WORDS_BIGENDIAN
ok = TOTAL_BITS(bw) == 40 && bw->buffer[0] == 0xF8888080 && (bw->accum & 0xff) == 0x80;
#else
ok = TOTAL_BITS(bw) == 40 && bw->buffer[0] == 0x808088F8 && (bw->accum & 0xff) == 0x80;
#endif
+#elif FLAC__BYTES_PER_WORD == 8
+ ok = TOTAL_BITS(bw) == 40 && (bw->accum & FLAC__U64L(0xffffffffff)) == FLAC__U64L(0xF888808080);
+#endif
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
FLAC__bitwriter_dump(bw, stdout);
@@ -485,12 +561,16 @@ FLAC__bool test_bitwriter(void)
printf("testing utf8_uint64(0x0000000003FFFFFF)... ");
FLAC__bitwriter_clear(bw);
- FLAC__bitwriter_write_utf8_uint64(bw, 0x0000000003FFFFFF);
+ FLAC__bitwriter_write_utf8_uint64(bw, FLAC__U64L(0x0000000003FFFFFF));
+#if FLAC__BYTES_PER_WORD == 4
#if WORDS_BIGENDIAN
ok = TOTAL_BITS(bw) == 40 && bw->buffer[0] == 0xFBBFBFBF && (bw->accum & 0xff) == 0xBF;
#else
ok = TOTAL_BITS(bw) == 40 && bw->buffer[0] == 0xBFBFBFFB && (bw->accum & 0xff) == 0xBF;
#endif
+#elif FLAC__BYTES_PER_WORD == 8
+ ok = TOTAL_BITS(bw) == 40 && (bw->accum & FLAC__U64L(0xffffffffff)) == FLAC__U64L(0xFBBFBFBFBF);
+#endif
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
FLAC__bitwriter_dump(bw, stdout);
@@ -499,12 +579,16 @@ FLAC__bool test_bitwriter(void)
printf("testing utf8_uint64(0x0000000004000000)... ");
FLAC__bitwriter_clear(bw);
- FLAC__bitwriter_write_utf8_uint64(bw, 0x0000000004000000);
+ FLAC__bitwriter_write_utf8_uint64(bw, FLAC__U64L(0x0000000004000000));
+#if FLAC__BYTES_PER_WORD == 4
#if WORDS_BIGENDIAN
ok = TOTAL_BITS(bw) == 48 && bw->buffer[0] == 0xFC848080 && (bw->accum & 0xffff) == 0x8080;
#else
ok = TOTAL_BITS(bw) == 48 && bw->buffer[0] == 0x808084FC && (bw->accum & 0xffff) == 0x8080;
#endif
+#elif FLAC__BYTES_PER_WORD == 8
+ ok = TOTAL_BITS(bw) == 48 && (bw->accum & FLAC__U64L(0xffffffffffff)) == FLAC__U64L(0xFC8480808080);
+#endif
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
FLAC__bitwriter_dump(bw, stdout);
@@ -513,12 +597,16 @@ FLAC__bool test_bitwriter(void)
printf("testing utf8_uint64(0x000000007FFFFFFF)... ");
FLAC__bitwriter_clear(bw);
- FLAC__bitwriter_write_utf8_uint64(bw, 0x000000007FFFFFFF);
+ FLAC__bitwriter_write_utf8_uint64(bw, FLAC__U64L(0x000000007FFFFFFF));
+#if FLAC__BYTES_PER_WORD == 4
#if WORDS_BIGENDIAN
ok = TOTAL_BITS(bw) == 48 && bw->buffer[0] == 0xFDBFBFBF && (bw->accum & 0xffff) == 0xBFBF;
#else
ok = TOTAL_BITS(bw) == 48 && bw->buffer[0] == 0xBFBFBFFD && (bw->accum & 0xffff) == 0xBFBF;
#endif
+#elif FLAC__BYTES_PER_WORD == 8
+ ok = TOTAL_BITS(bw) == 48 && (bw->accum & FLAC__U64L(0xffffffffffff)) == FLAC__U64L(0xFDBFBFBFBFBF);
+#endif
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
FLAC__bitwriter_dump(bw, stdout);
@@ -527,12 +615,16 @@ FLAC__bool test_bitwriter(void)
printf("testing utf8_uint64(0x0000000080000000)... ");
FLAC__bitwriter_clear(bw);
- FLAC__bitwriter_write_utf8_uint64(bw, 0x0000000080000000);
+ FLAC__bitwriter_write_utf8_uint64(bw, FLAC__U64L(0x0000000080000000));
+#if FLAC__BYTES_PER_WORD == 4
#if WORDS_BIGENDIAN
ok = TOTAL_BITS(bw) == 56 && bw->buffer[0] == 0xFE828080 && (bw->accum & 0xffffff) == 0x808080;
#else
ok = TOTAL_BITS(bw) == 56 && bw->buffer[0] == 0x808082FE && (bw->accum & 0xffffff) == 0x808080;
#endif
+#elif FLAC__BYTES_PER_WORD == 8
+ ok = TOTAL_BITS(bw) == 56 && (bw->accum & FLAC__U64L(0xffffffffffffff)) == FLAC__U64L(0xFE828080808080);
+#endif
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
FLAC__bitwriter_dump(bw, stdout);
@@ -542,11 +634,15 @@ FLAC__bool test_bitwriter(void)
printf("testing utf8_uint64(0x0000000FFFFFFFFF)... ");
FLAC__bitwriter_clear(bw);
FLAC__bitwriter_write_utf8_uint64(bw, FLAC__U64L(0x0000000FFFFFFFFF));
+#if FLAC__BYTES_PER_WORD == 4
#if WORDS_BIGENDIAN
ok = TOTAL_BITS(bw) == 56 && bw->buffer[0] == 0xFEBFBFBF && (bw->accum & 0xffffff) == 0xBFBFBF;
#else
ok = TOTAL_BITS(bw) == 56 && bw->buffer[0] == 0xBFBFBFFE && (bw->accum & 0xffffff) == 0xBFBFBF;
#endif
+#elif FLAC__BYTES_PER_WORD == 8
+ ok = TOTAL_BITS(bw) == 56 && (bw->accum & FLAC__U64L(0xffffffffffffff)) == FLAC__U64L(0xFEBFBFBFBFBFBF);
+#endif
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
FLAC__bitwriter_dump(bw, stdout);
@@ -559,11 +655,19 @@ FLAC__bool test_bitwriter(void)
j = bw->capacity;
for(i = 0; i < j; i++)
FLAC__bitwriter_write_raw_uint32(bw, 0xaaaaaaaa, 32);
+#if FLAC__BYTES_PER_WORD == 4
#if WORDS_BIGENDIAN
ok = TOTAL_BITS(bw) == i*32+4 && bw->buffer[0] == 0x5aaaaaaa && (bw->accum & 0xf) == 0xa;
#else
ok = TOTAL_BITS(bw) == i*32+4 && bw->buffer[0] == 0xaaaaaa5a && (bw->accum & 0xf) == 0xa;
#endif
+#elif FLAC__BYTES_PER_WORD == 8
+#if WORDS_BIGENDIAN
+ ok = TOTAL_BITS(bw) == i*32+4 && bw->buffer[0] == FLAC__U64L(0x5aaaaaaaaaaaaaaa) && (bw->accum & 0xf) == 0xa;
+#else
+ ok = TOTAL_BITS(bw) == i*32+4 && bw->buffer[0] == FLAC__U64L(0xaaaaaaaaaaaaaa5a) && (bw->accum & 0xf) == 0xa;
+#endif
+#endif
printf("%s\n", ok?"OK":"FAILED");
if(!ok) {
FLAC__bitwriter_dump(bw, stdout);
diff --git a/3rdparty/libflac/src/test_libFLAC/bitwriter.h b/3rdparty/libflac/src/test_libFLAC/bitwriter.h
index 44b6ade55bd..9b6a82488df 100644
--- a/3rdparty/libflac/src/test_libFLAC/bitwriter.h
+++ b/3rdparty/libflac/src/test_libFLAC/bitwriter.h
@@ -1,5 +1,6 @@
/* test_libFLAC - Unit tester for libFLAC
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef FLAC__TEST_LIBFLAC_BITBUFFER_H
diff --git a/3rdparty/libflac/src/test_libFLAC/crc.c b/3rdparty/libflac/src/test_libFLAC/crc.c
new file mode 100644
index 00000000000..8b87671190d
--- /dev/null
+++ b/3rdparty/libflac/src/test_libFLAC/crc.c
@@ -0,0 +1,274 @@
+/* test_libFLAC - Unit tester for libFLAC
+ * Copyright (C) 2014-2023 Xiph.Org Foundation
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+
+#include "FLAC/assert.h"
+#include "share/compat.h"
+#include "private/crc.h"
+#include "crc.h"
+
+static FLAC__uint8 crc8_update_ref(FLAC__byte byte, FLAC__uint8 crc);
+static FLAC__uint16 crc16_update_ref(FLAC__byte byte, FLAC__uint16 crc);
+
+static FLAC__bool test_crc8(const FLAC__byte *data, size_t size);
+static FLAC__bool test_crc16(const FLAC__byte *data, size_t size);
+static FLAC__bool test_crc16_update(const FLAC__byte *data, size_t size);
+static FLAC__bool test_crc16_32bit_words(const FLAC__uint32 *words, size_t size);
+static FLAC__bool test_crc16_64bit_words(const FLAC__uint64 *words, size_t size);
+
+#define DATA_SIZE 32768
+
+FLAC__bool test_crc(void)
+{
+ uint32_t i;
+ FLAC__byte data[DATA_SIZE] = { 0 };
+
+ /* Initialize data reproducibly with pseudo-random values. */
+ for (i = 1; i < DATA_SIZE; i++)
+ data[i] = crc8_update_ref(i % 256, data[i - 1]);
+
+ printf("\n+++ libFLAC unit test: crc\n\n");
+
+ if (! test_crc8(data, DATA_SIZE))
+ return false;
+
+ if (! test_crc16(data, DATA_SIZE))
+ return false;
+
+ if (! test_crc16_update(data, DATA_SIZE))
+ return false;
+
+ if (! test_crc16_32bit_words((FLAC__uint32 *)data, DATA_SIZE / 4))
+ return false;
+
+ if (! test_crc16_64bit_words((FLAC__uint64 *)data, DATA_SIZE / 8))
+ return false;
+
+ printf("\nPASSED!\n");
+ return true;
+}
+
+/*----------------------------------------------------------------------------*/
+
+/* Reference implementations of CRC-8 and CRC-16 to check against. */
+
+#define CRC8_POLYNOMIAL 0x07
+
+static FLAC__uint8 crc8_update_ref(FLAC__byte byte, FLAC__uint8 crc)
+{
+ uint32_t i;
+
+ crc ^= byte;
+
+ for (i = 0; i < 8; i++) {
+ crc = (crc << 1) ^ ((crc >> 7) ? CRC8_POLYNOMIAL : 0);
+ }
+
+ return crc;
+}
+
+#define CRC16_POLYNOMIAL 0x8005
+
+static FLAC__uint16 crc16_update_ref(FLAC__byte byte, FLAC__uint16 crc)
+{
+ uint32_t i;
+
+ crc ^= byte << 8;
+
+ for (i = 0; i < 8; i++) {
+ crc = (crc << 1) ^ ((crc >> 15) ? CRC16_POLYNOMIAL : 0);
+ }
+
+ return crc;
+}
+
+/*----------------------------------------------------------------------------*/
+
+static FLAC__bool test_crc8(const FLAC__byte *data, size_t size)
+{
+ uint32_t i;
+ FLAC__uint8 crc0,crc1;
+
+ printf("testing FLAC__crc8 ... ");
+
+ crc0 = 0;
+ crc1 = FLAC__crc8(data, 0);
+
+ if (crc1 != crc0) {
+ printf("FAILED, FLAC__crc8 returned non-zero CRC for zero bytes of data\n");
+ return false;
+ }
+
+ for (i = 0; i < size; i++) {
+ crc0 = crc8_update_ref(data[i], crc0);
+ crc1 = FLAC__crc8(data, i + 1);
+
+ if (crc1 != crc0) {
+ printf("FAILED, FLAC__crc8 result did not match reference CRC for %u bytes of test data\n", i + 1);
+ return false;
+ }
+ }
+
+ printf("OK\n");
+
+ return true;
+}
+
+static FLAC__bool test_crc16(const FLAC__byte *data, size_t size)
+{
+ uint32_t i;
+ FLAC__uint16 crc0,crc1;
+
+ printf("testing FLAC__crc16 ... ");
+
+ crc0 = 0;
+ crc1 = FLAC__crc16(data, 0);
+
+ if (crc1 != crc0) {
+ printf("FAILED, FLAC__crc16 returned non-zero CRC for zero bytes of data\n");
+ return false;
+ }
+
+ for (i = 0; i < size; i++) {
+ crc0 = crc16_update_ref(data[i], crc0);
+ crc1 = FLAC__crc16(data, i + 1);
+
+ if (crc1 != crc0) {
+ printf("FAILED, FLAC__crc16 result did not match reference CRC for %u bytes of test data\n", i + 1);
+ return false;
+ }
+ }
+
+ printf("OK\n");
+
+ return true;
+}
+
+static FLAC__bool test_crc16_update(const FLAC__byte *data, size_t size)
+{
+ uint32_t i;
+ FLAC__uint16 crc0,crc1;
+
+ printf("testing FLAC__CRC16_UPDATE macro ... ");
+
+ crc0 = 0;
+ crc1 = 0;
+
+ for (i = 0; i < size; i++) {
+ crc0 = crc16_update_ref(data[i], crc0);
+ crc1 = FLAC__CRC16_UPDATE(data[i], crc1);
+
+ if (crc1 != crc0) {
+ printf("FAILED, FLAC__CRC16_UPDATE result did not match reference CRC after %u bytes of test data\n", i + 1);
+ return false;
+ }
+ }
+
+ printf("OK\n");
+
+ return true;
+}
+
+static FLAC__bool test_crc16_32bit_words(const FLAC__uint32 *words, size_t size)
+{
+ uint32_t n,i,k;
+ FLAC__uint16 crc0,crc1;
+
+ for (n = 1; n <= 16; n++) {
+ printf("testing FLAC__crc16_update_words32 (length=%i) ... ", n);
+
+ crc0 = 0;
+ crc1 = 0;
+
+ for (i = 0; i <= size - n; i += n) {
+ for (k = 0; k < n; k++) {
+ crc0 = crc16_update_ref( words[i + k] >> 24, crc0);
+ crc0 = crc16_update_ref((words[i + k] >> 16) & 0xFF, crc0);
+ crc0 = crc16_update_ref((words[i + k] >> 8) & 0xFF, crc0);
+ crc0 = crc16_update_ref( words[i + k] & 0xFF, crc0);
+ }
+
+ crc1 = FLAC__crc16_update_words32(words + i, n, crc1);
+
+ if (crc1 != crc0) {
+ printf("FAILED, FLAC__crc16_update_words32 result did not match reference CRC after %u words of test data\n", i + n);
+ return false;
+ }
+ }
+
+ crc1 = FLAC__crc16_update_words32(words, 0, crc1);
+
+ if (crc1 != crc0) {
+ printf("FAILED, FLAC__crc16_update_words32 called with zero bytes changed CRC value\n");
+ return false;
+ }
+
+ printf("OK\n");
+ }
+
+ return true;
+}
+
+static FLAC__bool test_crc16_64bit_words(const FLAC__uint64 *words, size_t size)
+{
+ uint32_t n,i,k;
+ FLAC__uint16 crc0,crc1;
+
+ for (n = 1; n <= 16; n++) {
+ printf("testing FLAC__crc16_update_words64 (length=%i) ... ", n);
+
+ crc0 = 0;
+ crc1 = 0;
+
+ for (i = 0; i <= size - n; i += n) {
+ for (k = 0; k < n; k++) {
+ crc0 = crc16_update_ref( words[i + k] >> 56, crc0);
+ crc0 = crc16_update_ref((words[i + k] >> 48) & 0xFF, crc0);
+ crc0 = crc16_update_ref((words[i + k] >> 40) & 0xFF, crc0);
+ crc0 = crc16_update_ref((words[i + k] >> 32) & 0xFF, crc0);
+ crc0 = crc16_update_ref((words[i + k] >> 24) & 0xFF, crc0);
+ crc0 = crc16_update_ref((words[i + k] >> 16) & 0xFF, crc0);
+ crc0 = crc16_update_ref((words[i + k] >> 8) & 0xFF, crc0);
+ crc0 = crc16_update_ref( words[i + k] & 0xFF, crc0);
+ }
+
+ crc1 = FLAC__crc16_update_words64(words + i, n, crc1);
+
+ if (crc1 != crc0) {
+ printf("FAILED, FLAC__crc16_update_words64 result did not match reference CRC after %u words of test data\n", i + n);
+ return false;
+ }
+ }
+
+ crc1 = FLAC__crc16_update_words64(words, 0, crc1);
+
+ if (crc1 != crc0) {
+ printf("FAILED, FLAC__crc16_update_words64 called with zero bytes changed CRC value\n");
+ return false;
+ }
+
+ printf("OK\n");
+ }
+
+ return true;
+}
diff --git a/3rdparty/libflac/src/plugin_xmms/tag.h b/3rdparty/libflac/src/test_libFLAC/crc.h
index d952fbc6d52..11523cd8907 100644
--- a/3rdparty/libflac/src/plugin_xmms/tag.h
+++ b/3rdparty/libflac/src/test_libFLAC/crc.h
@@ -1,5 +1,5 @@
-/* libxmms-flac - XMMS FLAC input plugin
- * Copyright (C) 2002,2003,2004,2005,2006 Daisuke Shimamura
+/* test_libFLAC - Unit tester for libFLAC
+ * Copyright (C) 2014-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,14 +11,16 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifndef FLAC__PLUGIN_XMMS__TAG_H
-#define FLAC__PLUGIN_XMMS__TAG_H
+#ifndef FLAC__TEST_LIBFLAC_CRC_H
+#define FLAC__TEST_LIBFLAC_CRC_H
-gchar *flac_format_song_title(gchar * filename);
+#include "FLAC/ordinals.h"
+
+FLAC__bool test_crc(void);
#endif
diff --git a/3rdparty/libflac/src/test_libFLAC/decoders.c b/3rdparty/libflac/src/test_libFLAC/decoders.c
index 1d731cd484d..ae114ceda87 100644
--- a/3rdparty/libflac/src/test_libFLAC/decoders.c
+++ b/3rdparty/libflac/src/test_libFLAC/decoders.c
@@ -1,5 +1,6 @@
/* test_libFLAC - Unit tester for libFLAC
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,12 +12,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -24,16 +25,12 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#if defined _MSC_VER || defined __MINGW32__
-#if _MSC_VER <= 1600 /* @@@ [2G limit] */
-#define fseeko fseek
-#define ftello ftell
-#endif
-#endif
#include "decoders.h"
#include "FLAC/assert.h"
#include "FLAC/stream_decoder.h"
#include "share/grabbag.h"
+#include "share/compat.h"
+#include "share/safe_str.h"
#include "test_libs_common/file_utils_flac.h"
#include "test_libs_common/metadata_utils.h"
@@ -54,15 +51,16 @@ static const char * const LayerString[] = {
typedef struct {
Layer layer;
FILE *file;
- unsigned current_metadata_number;
+ char filename[512];
+ uint32_t current_metadata_number;
FLAC__bool ignore_errors;
FLAC__bool error_occurred;
} StreamDecoderClientData;
static FLAC__StreamMetadata streaminfo_, padding_, seektable_, application1_, application2_, vorbiscomment_, cuesheet_, picture_, unknown_;
static FLAC__StreamMetadata *expected_metadata_sequence_[9];
-static unsigned num_expected_;
-static off_t flacfilesize_;
+static uint32_t num_expected_;
+static FLAC__off_t flacfilesize_;
static const char *flacfilename(FLAC__bool is_ogg)
{
@@ -84,11 +82,17 @@ static FLAC__bool die_s_(const char *msg, const FLAC__StreamDecoder *decoder)
else
printf("FAILED");
- printf(", state = %u (%s)\n", (unsigned)state, FLAC__StreamDecoderStateString[state]);
+ printf(", state = %u (%s)\n", (uint32_t)state, FLAC__StreamDecoderStateString[state]);
return false;
}
+static void open_test_file(StreamDecoderClientData * pdcd, int is_ogg, const char * mode)
+{
+ pdcd->file = flac_fopen(flacfilename(is_ogg), mode);
+ safe_strncpy(pdcd->filename, flacfilename(is_ogg), sizeof (pdcd->filename));
+}
+
static void init_metadata_blocks_(void)
{
mutils__init_metadata_blocks(&streaminfo_, &padding_, &seektable_, &application1_, &application2_, &vorbiscomment_, &cuesheet_, &picture_, &unknown_);
@@ -169,7 +173,7 @@ static FLAC__StreamDecoderSeekStatus stream_decoder_seek_callback_(const FLAC__S
if(dcd->error_occurred)
return FLAC__STREAM_DECODER_SEEK_STATUS_ERROR;
- if(fseeko(dcd->file, (off_t)absolute_byte_offset, SEEK_SET) < 0) {
+ if(fseeko(dcd->file, (FLAC__off_t)absolute_byte_offset, SEEK_SET) < 0) {
dcd->error_occurred = true;
return FLAC__STREAM_DECODER_SEEK_STATUS_ERROR;
}
@@ -180,7 +184,7 @@ static FLAC__StreamDecoderSeekStatus stream_decoder_seek_callback_(const FLAC__S
static FLAC__StreamDecoderTellStatus stream_decoder_tell_callback_(const FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data)
{
StreamDecoderClientData *dcd = (StreamDecoderClientData*)client_data;
- off_t offset;
+ FLAC__off_t offset;
(void)decoder;
@@ -277,9 +281,15 @@ static void stream_decoder_metadata_callback_(const FLAC__StreamDecoder *decoder
if(dcd->error_occurred)
return;
- printf("%d... ", dcd->current_metadata_number);
+ if (metadata->type == FLAC__METADATA_TYPE_APPLICATION) {
+ printf ("%u ('%c%c%c%c')... ", dcd->current_metadata_number, metadata->data.application.id [0], metadata->data.application.id [1], metadata->data.application.id [2], metadata->data.application.id [3]);
+ }
+ else {
+ printf("%u... ", dcd->current_metadata_number);
+ }
fflush(stdout);
+
if(dcd->current_metadata_number >= num_expected_) {
(void)die_("got more metadata blocks than expected");
dcd->error_occurred = true;
@@ -305,7 +315,7 @@ static void stream_decoder_error_callback_(const FLAC__StreamDecoder *decoder, F
}
if(!dcd->ignore_errors) {
- printf("ERROR: got error callback: err = %u (%s)\n", (unsigned)status, FLAC__StreamDecoderErrorStatusString[status]);
+ printf("ERROR: got error callback: err = %u (%s)\n", (uint32_t)status, FLAC__StreamDecoderErrorStatusString[status]);
dcd->error_occurred = true;
}
}
@@ -320,7 +330,7 @@ static FLAC__bool stream_decoder_test_respond_(FLAC__StreamDecoder *decoder, Str
/* for FLAC__stream_encoder_init_FILE(), the FLAC__stream_encoder_finish() closes the file so we have to keep re-opening: */
if(dcd->layer == LAYER_FILE) {
printf("opening %sFLAC file... ", is_ogg? "Ogg ":"");
- dcd->file = fopen(flacfilename(is_ogg), "rb");
+ open_test_file(dcd, is_ogg, "rb");
if(0 == dcd->file) {
printf("ERROR (%s)\n", strerror(errno));
return false;
@@ -471,7 +481,7 @@ static FLAC__bool test_stream_decoder(Layer layer, FLAC__bool is_ogg)
if(layer < LAYER_FILENAME) {
printf("opening %sFLAC file... ", is_ogg? "Ogg ":"");
- decoder_client_data.file = fopen(flacfilename(is_ogg), "rb");
+ open_test_file(&decoder_client_data, is_ogg, "rb");
if(0 == decoder_client_data.file) {
printf("ERROR (%s)\n", strerror(errno));
return false;
@@ -575,7 +585,7 @@ static FLAC__bool test_stream_decoder(Layer layer, FLAC__bool is_ogg)
printf("testing FLAC__stream_decoder_get_channels()... ");
{
- unsigned channels = FLAC__stream_decoder_get_channels(decoder);
+ uint32_t channels = FLAC__stream_decoder_get_channels(decoder);
if(channels != streaminfo_.data.stream_info.channels) {
printf("FAILED, returned %u, expected %u\n", channels, streaminfo_.data.stream_info.channels);
return false;
@@ -585,7 +595,7 @@ static FLAC__bool test_stream_decoder(Layer layer, FLAC__bool is_ogg)
printf("testing FLAC__stream_decoder_get_bits_per_sample()... ");
{
- unsigned bits_per_sample = FLAC__stream_decoder_get_bits_per_sample(decoder);
+ uint32_t bits_per_sample = FLAC__stream_decoder_get_bits_per_sample(decoder);
if(bits_per_sample != streaminfo_.data.stream_info.bits_per_sample) {
printf("FAILED, returned %u, expected %u\n", bits_per_sample, streaminfo_.data.stream_info.bits_per_sample);
return false;
@@ -595,7 +605,7 @@ static FLAC__bool test_stream_decoder(Layer layer, FLAC__bool is_ogg)
printf("testing FLAC__stream_decoder_get_sample_rate()... ");
{
- unsigned sample_rate = FLAC__stream_decoder_get_sample_rate(decoder);
+ uint32_t sample_rate = FLAC__stream_decoder_get_sample_rate(decoder);
if(sample_rate != streaminfo_.data.stream_info.sample_rate) {
printf("FAILED, returned %u, expected %u\n", sample_rate, streaminfo_.data.stream_info.sample_rate);
return false;
@@ -605,7 +615,7 @@ static FLAC__bool test_stream_decoder(Layer layer, FLAC__bool is_ogg)
printf("testing FLAC__stream_decoder_get_blocksize()... ");
{
- unsigned blocksize = FLAC__stream_decoder_get_blocksize(decoder);
+ uint32_t blocksize = FLAC__stream_decoder_get_blocksize(decoder);
/* value could be anything since we're at the last block, so accept any reasonable answer */
printf("returned %u... %s\n", blocksize, blocksize>0? "OK" : "FAILED");
if(blocksize == 0)
@@ -615,7 +625,7 @@ static FLAC__bool test_stream_decoder(Layer layer, FLAC__bool is_ogg)
printf("testing FLAC__stream_decoder_get_channel_assignment()... ");
{
FLAC__ChannelAssignment ca = FLAC__stream_decoder_get_channel_assignment(decoder);
- printf("returned %u (%s)... OK\n", (unsigned)ca, FLAC__ChannelAssignmentString[ca]);
+ printf("returned %u (%s)... OK\n", (uint32_t)ca, FLAC__ChannelAssignmentString[ca]);
}
if(layer < LAYER_FILE) {
@@ -660,11 +670,10 @@ static FLAC__bool test_stream_decoder(Layer layer, FLAC__bool is_ogg)
printf("OK\n");
num_expected_ = 0;
- if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping */
+ if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping. Also removes the seektable */
expected_metadata_sequence_[num_expected_++] = &streaminfo_;
expected_metadata_sequence_[num_expected_++] = &vorbiscomment_;
expected_metadata_sequence_[num_expected_++] = &padding_;
- expected_metadata_sequence_[num_expected_++] = &seektable_;
expected_metadata_sequence_[num_expected_++] = &application1_;
expected_metadata_sequence_[num_expected_++] = &application2_;
expected_metadata_sequence_[num_expected_++] = &cuesheet_;
@@ -717,7 +726,8 @@ static FLAC__bool test_stream_decoder(Layer layer, FLAC__bool is_ogg)
num_expected_ = 0;
expected_metadata_sequence_[num_expected_++] = &streaminfo_;
expected_metadata_sequence_[num_expected_++] = &padding_;
- expected_metadata_sequence_[num_expected_++] = &seektable_;
+ if(!is_ogg) /* encoder removes seektable for ogg */
+ expected_metadata_sequence_[num_expected_++] = &seektable_;
expected_metadata_sequence_[num_expected_++] = &application1_;
expected_metadata_sequence_[num_expected_++] = &application2_;
expected_metadata_sequence_[num_expected_++] = &cuesheet_;
@@ -742,11 +752,10 @@ static FLAC__bool test_stream_decoder(Layer layer, FLAC__bool is_ogg)
printf("OK\n");
num_expected_ = 0;
- if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping */
+ if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping. Also removes the seektable */
expected_metadata_sequence_[num_expected_++] = &streaminfo_;
expected_metadata_sequence_[num_expected_++] = &vorbiscomment_;
expected_metadata_sequence_[num_expected_++] = &padding_;
- expected_metadata_sequence_[num_expected_++] = &seektable_;
expected_metadata_sequence_[num_expected_++] = &cuesheet_;
expected_metadata_sequence_[num_expected_++] = &picture_;
expected_metadata_sequence_[num_expected_++] = &unknown_;
@@ -779,11 +788,10 @@ static FLAC__bool test_stream_decoder(Layer layer, FLAC__bool is_ogg)
printf("OK\n");
num_expected_ = 0;
- if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping */
+ if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping. Also removes the seektable */
expected_metadata_sequence_[num_expected_++] = &streaminfo_;
expected_metadata_sequence_[num_expected_++] = &vorbiscomment_;
expected_metadata_sequence_[num_expected_++] = &padding_;
- expected_metadata_sequence_[num_expected_++] = &seektable_;
expected_metadata_sequence_[num_expected_++] = &application2_;
expected_metadata_sequence_[num_expected_++] = &cuesheet_;
expected_metadata_sequence_[num_expected_++] = &picture_;
@@ -823,11 +831,10 @@ static FLAC__bool test_stream_decoder(Layer layer, FLAC__bool is_ogg)
printf("OK\n");
num_expected_ = 0;
- if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping */
+ if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping. Also removes the seektable */
expected_metadata_sequence_[num_expected_++] = &streaminfo_;
expected_metadata_sequence_[num_expected_++] = &vorbiscomment_;
expected_metadata_sequence_[num_expected_++] = &padding_;
- expected_metadata_sequence_[num_expected_++] = &seektable_;
expected_metadata_sequence_[num_expected_++] = &cuesheet_;
expected_metadata_sequence_[num_expected_++] = &picture_;
expected_metadata_sequence_[num_expected_++] = &unknown_;
@@ -952,11 +959,10 @@ static FLAC__bool test_stream_decoder(Layer layer, FLAC__bool is_ogg)
printf("OK\n");
num_expected_ = 0;
- if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping */
+ if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping. Also removes the seektable */
expected_metadata_sequence_[num_expected_++] = &streaminfo_;
expected_metadata_sequence_[num_expected_++] = &vorbiscomment_;
expected_metadata_sequence_[num_expected_++] = &padding_;
- expected_metadata_sequence_[num_expected_++] = &seektable_;
expected_metadata_sequence_[num_expected_++] = &application1_;
expected_metadata_sequence_[num_expected_++] = &cuesheet_;
expected_metadata_sequence_[num_expected_++] = &picture_;
diff --git a/3rdparty/libflac/src/test_libFLAC/decoders.h b/3rdparty/libflac/src/test_libFLAC/decoders.h
index 11df1062752..431eb176d24 100644
--- a/3rdparty/libflac/src/test_libFLAC/decoders.h
+++ b/3rdparty/libflac/src/test_libFLAC/decoders.h
@@ -1,5 +1,6 @@
/* test_libFLAC - Unit tester for libFLAC
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef FLAC__TEST_LIBFLAC_DECODERS_H
diff --git a/3rdparty/libflac/src/test_libFLAC/encoders.c b/3rdparty/libflac/src/test_libFLAC/encoders.c
index 5927cb832d2..d3fd39dd78e 100644
--- a/3rdparty/libflac/src/test_libFLAC/encoders.c
+++ b/3rdparty/libflac/src/test_libFLAC/encoders.c
@@ -1,5 +1,6 @@
/* test_libFLAC - Unit tester for libFLAC
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,12 +12,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -28,6 +29,7 @@
#include "FLAC/assert.h"
#include "FLAC/stream_encoder.h"
#include "share/grabbag.h"
+#include "share/compat.h"
#include "test_libs_common/file_utils_flac.h"
#include "test_libs_common/metadata_utils.h"
@@ -47,7 +49,7 @@ static const char * const LayerString[] = {
static FLAC__StreamMetadata streaminfo_, padding_, seektable_, application1_, application2_, vorbiscomment_, cuesheet_, picture_, unknown_;
static FLAC__StreamMetadata *metadata_sequence_[] = { &vorbiscomment_, &padding_, &seektable_, &application1_, &application2_, &cuesheet_, &picture_, &unknown_ };
-static const unsigned num_metadata_ = sizeof(metadata_sequence_) / sizeof(metadata_sequence_[0]);
+static const uint32_t num_metadata_ = sizeof(metadata_sequence_) / sizeof(metadata_sequence_[0]);
static const char *flacfilename(FLAC__bool is_ogg)
{
@@ -69,10 +71,10 @@ static FLAC__bool die_s_(const char *msg, const FLAC__StreamEncoder *encoder)
else
printf("FAILED");
- printf(", state = %u (%s)\n", (unsigned)state, FLAC__StreamEncoderStateString[state]);
+ printf(", state = %u (%s)\n", (uint32_t)state, FLAC__StreamEncoderStateString[state]);
if(state == FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR) {
FLAC__StreamDecoderState dstate = FLAC__stream_encoder_get_verify_decoder_state(encoder);
- printf(" verify decoder state = %u (%s)\n", (unsigned)dstate, FLAC__StreamDecoderStateString[dstate]);
+ printf(" verify decoder state = %u (%s)\n", (uint32_t)dstate, FLAC__StreamDecoderStateString[dstate]);
}
return false;
@@ -105,7 +107,7 @@ static FLAC__StreamEncoderReadStatus stream_encoder_read_callback_(const FLAC__S
return FLAC__STREAM_ENCODER_READ_STATUS_ABORT;
}
-static FLAC__StreamEncoderWriteStatus stream_encoder_write_callback_(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data)
+static FLAC__StreamEncoderWriteStatus stream_encoder_write_callback_(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame, void *client_data)
{
FILE *f = (FILE*)client_data;
(void)encoder, (void)samples, (void)current_frame;
@@ -119,7 +121,7 @@ static FLAC__StreamEncoderSeekStatus stream_encoder_seek_callback_(const FLAC__S
{
FILE *f = (FILE*)client_data;
(void)encoder;
- if(fseek(f, (long)absolute_byte_offset, SEEK_SET) < 0)
+ if(fseeko(f, (long)absolute_byte_offset, SEEK_SET) < 0)
return FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR;
else
return FLAC__STREAM_ENCODER_SEEK_STATUS_OK;
@@ -128,9 +130,9 @@ static FLAC__StreamEncoderSeekStatus stream_encoder_seek_callback_(const FLAC__S
static FLAC__StreamEncoderTellStatus stream_encoder_tell_callback_(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data)
{
FILE *f = (FILE*)client_data;
- long pos;
+ FLAC__off_t pos;
(void)encoder;
- if((pos = ftell(f)) < 0)
+ if((pos = ftello(f)) < 0)
return FLAC__STREAM_ENCODER_TELL_STATUS_ERROR;
else {
*absolute_byte_offset = (FLAC__uint64)pos;
@@ -143,7 +145,7 @@ static void stream_encoder_metadata_callback_(const FLAC__StreamEncoder *encoder
(void)encoder, (void)metadata, (void)client_data;
}
-static void stream_encoder_progress_callback_(const FLAC__StreamEncoder *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate, void *client_data)
+static void stream_encoder_progress_callback_(const FLAC__StreamEncoder *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, uint32_t frames_written, uint32_t total_frames_estimate, void *client_data)
{
(void)encoder, (void)bytes_written, (void)samples_written, (void)frames_written, (void)total_frames_estimate, (void)client_data;
}
@@ -157,7 +159,7 @@ static FLAC__bool test_stream_encoder(Layer layer, FLAC__bool is_ogg)
FILE *file = 0;
FLAC__int32 samples[1024];
FLAC__int32 *samples_array[1];
- unsigned i;
+ uint32_t i;
samples_array[0] = samples;
@@ -204,7 +206,7 @@ static FLAC__bool test_stream_encoder(Layer layer, FLAC__bool is_ogg)
printf("OK\n");
printf("testing FLAC__stream_encoder_set_compression_level()... ");
- if(!FLAC__stream_encoder_set_compression_level(encoder, (unsigned)(-1)))
+ if(!FLAC__stream_encoder_set_compression_level(encoder, (uint32_t)(-1)))
return die_s_("returned false", encoder);
printf("OK\n");
@@ -273,9 +275,14 @@ static FLAC__bool test_stream_encoder(Layer layer, FLAC__bool is_ogg)
return die_s_("returned false", encoder);
printf("OK\n");
+ printf("testing FLAC__stream_encoder_set_limit_min_bitrate()... ");
+ if(!FLAC__stream_encoder_set_limit_min_bitrate(encoder, true))
+ return die_s_("returned false", encoder);
+ printf("OK\n");
+
if(layer < LAYER_FILENAME) {
printf("opening file for FLAC output... ");
- file = fopen(flacfilename(is_ogg), "w+b");
+ file = flac_fopen(flacfilename(is_ogg), "w+b");
if(0 == file) {
printf("ERROR (%s)\n", strerror(errno));
return false;
@@ -318,17 +325,17 @@ static FLAC__bool test_stream_encoder(Layer layer, FLAC__bool is_ogg)
printf("testing FLAC__stream_encoder_get_state()... ");
state = FLAC__stream_encoder_get_state(encoder);
- printf("returned state = %u (%s)... OK\n", (unsigned)state, FLAC__StreamEncoderStateString[state]);
+ printf("returned state = %u (%s)... OK\n", (uint32_t)state, FLAC__StreamEncoderStateString[state]);
printf("testing FLAC__stream_encoder_get_verify_decoder_state()... ");
dstate = FLAC__stream_encoder_get_verify_decoder_state(encoder);
- printf("returned state = %u (%s)... OK\n", (unsigned)dstate, FLAC__StreamDecoderStateString[dstate]);
+ printf("returned state = %u (%s)... OK\n", (uint32_t)dstate, FLAC__StreamDecoderStateString[dstate]);
{
FLAC__uint64 absolute_sample;
- unsigned frame_number;
- unsigned channel;
- unsigned sample;
+ uint32_t frame_number;
+ uint32_t channel;
+ uint32_t sample;
FLAC__int32 expected;
FLAC__int32 got;
@@ -395,7 +402,7 @@ static FLAC__bool test_stream_encoder(Layer layer, FLAC__bool is_ogg)
printf("testing FLAC__stream_encoder_get_max_lpc_order()... ");
if(FLAC__stream_encoder_get_max_lpc_order(encoder) != 0) {
- printf("FAILED, expected %u, got %u\n", 0, FLAC__stream_encoder_get_max_lpc_order(encoder));
+ printf("FAILED, expected %d, got %u\n", 0, FLAC__stream_encoder_get_max_lpc_order(encoder));
return false;
}
printf("OK\n");
@@ -428,35 +435,37 @@ static FLAC__bool test_stream_encoder(Layer layer, FLAC__bool is_ogg)
printf("testing FLAC__stream_encoder_get_min_residual_partition_order()... ");
if(FLAC__stream_encoder_get_min_residual_partition_order(encoder) != 0) {
- printf("FAILED, expected %u, got %u\n", 0, FLAC__stream_encoder_get_min_residual_partition_order(encoder));
+ printf("FAILED, expected %d, got %u\n", 0, FLAC__stream_encoder_get_min_residual_partition_order(encoder));
return false;
}
printf("OK\n");
printf("testing FLAC__stream_encoder_get_max_residual_partition_order()... ");
if(FLAC__stream_encoder_get_max_residual_partition_order(encoder) != 0) {
- printf("FAILED, expected %u, got %u\n", 0, FLAC__stream_encoder_get_max_residual_partition_order(encoder));
+ printf("FAILED, expected %d, got %u\n", 0, FLAC__stream_encoder_get_max_residual_partition_order(encoder));
return false;
}
printf("OK\n");
printf("testing FLAC__stream_encoder_get_rice_parameter_search_dist()... ");
if(FLAC__stream_encoder_get_rice_parameter_search_dist(encoder) != 0) {
- printf("FAILED, expected %u, got %u\n", 0, FLAC__stream_encoder_get_rice_parameter_search_dist(encoder));
+ printf("FAILED, expected %d, got %u\n", 0, FLAC__stream_encoder_get_rice_parameter_search_dist(encoder));
return false;
}
printf("OK\n");
printf("testing FLAC__stream_encoder_get_total_samples_estimate()... ");
if(FLAC__stream_encoder_get_total_samples_estimate(encoder) != streaminfo_.data.stream_info.total_samples) {
-#ifdef _MSC_VER
- printf("FAILED, expected %I64u, got %I64u\n", streaminfo_.data.stream_info.total_samples, FLAC__stream_encoder_get_total_samples_estimate(encoder));
-#else
- printf("FAILED, expected %llu, got %llu\n", (unsigned long long)streaminfo_.data.stream_info.total_samples, (unsigned long long)FLAC__stream_encoder_get_total_samples_estimate(encoder));
-#endif
+ printf("FAILED, expected %" PRIu64 ", got %" PRIu64 "\n", streaminfo_.data.stream_info.total_samples, FLAC__stream_encoder_get_total_samples_estimate(encoder));
return false;
}
printf("OK\n");
+
+ printf("testing FLAC__stream_encoder_get_limit_min_bitrate()... ");
+ if(FLAC__stream_encoder_get_limit_min_bitrate(encoder) != true) {
+ printf("FAILED, expected true, got false\n");
+ return false;
+ }
/* init the dummy sample buffer */
for(i = 0; i < sizeof(samples) / sizeof(FLAC__int32); i++)
diff --git a/3rdparty/libflac/src/test_libFLAC/encoders.h b/3rdparty/libflac/src/test_libFLAC/encoders.h
index 86c3690943c..7bdcaf5c0a0 100644
--- a/3rdparty/libflac/src/test_libFLAC/encoders.h
+++ b/3rdparty/libflac/src/test_libFLAC/encoders.h
@@ -1,5 +1,6 @@
/* test_libFLAC - Unit tester for libFLAC
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef FLAC__TEST_LIBFLAC_ENCODERS_H
diff --git a/3rdparty/libflac/src/test_libFLAC/endswap.c b/3rdparty/libflac/src/test_libFLAC/endswap.c
new file mode 100644
index 00000000000..808f81f3a6d
--- /dev/null
+++ b/3rdparty/libflac/src/test_libFLAC/endswap.c
@@ -0,0 +1,111 @@
+/* test_libFLAC - Unit tester for libFLAC
+ * Copyright (C) 2014-2023 Xiph.Org Foundation
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+#include <string.h>
+
+#include "share/compat.h"
+#include "FLAC/assert.h"
+#include "share/endswap.h"
+#include "private/md5.h"
+#include "endswap.h"
+
+
+FLAC__bool test_endswap(void)
+{
+ int16_t i16 = 0x1234;
+ uint16_t u16 = 0xabcd;
+ int32_t i32 = 0x12345678;
+ uint32_t u32 = 0xabcdef01;
+
+ union {
+ uint8_t bytes[4];
+ uint16_t u16;
+ uint32_t u32;
+ } data;
+
+ printf("\n+++ libFLAC unit test: endswap (%s endian host)\n\n", CPU_IS_BIG_ENDIAN ? "big" : "little");
+
+ printf("testing ENDSWAP_16 on int16_t ... ");
+ if (((int16_t) ENDSWAP_16(i16)) == i16) {
+ printf("\nFAILED, ENDSWAP_16(0x%04x) -> 0x%04x == 0x%04x\n", i16, ENDSWAP_16(i16), i16);
+ return false;
+ }
+ if (((int16_t) ENDSWAP_16(ENDSWAP_16(i16))) != i16) {
+ printf("\nFAILED, ENDSWAP_16(ENDSWAP_16(0x%04x)) -> 0x%04x != 0x%04x\n", i16, ENDSWAP_16(ENDSWAP_16(i16)), i16);
+ return false;
+ }
+ puts("OK");
+
+ printf("testing ENDSWAP_16 on uint16_t ... ");
+ if (((uint16_t) ENDSWAP_16(u16)) == u16) {
+ printf("\nFAILED, ENDSWAP_16(0x%04x) -> 0x%04x == 0x%04x\n", u16, ENDSWAP_16(u16), u16);
+ return false;
+ }
+ if (((uint16_t) ENDSWAP_16(ENDSWAP_16(u16))) != u16) {
+ printf("\nFAILED, ENDSWAP_16(ENDSWAP_16(0x%04x)) -> 0x%04x != 0x%04x\n", u16, ENDSWAP_16(ENDSWAP_16(u16)), u16);
+ return false;
+ }
+ puts("OK");
+
+ printf("testing ENDSWAP_32 on int32_t ... ");
+ if (((int32_t) ENDSWAP_32 (i32)) == i32) {
+ printf("\nFAILED, ENDSWAP_32(0x%08x) -> 0x%08x == 0x%08x\n", i32, (uint32_t) ENDSWAP_32 (i32), i32);
+ return false;
+ }
+ if (((int32_t) ENDSWAP_32 (ENDSWAP_32 (i32))) != i32) {
+ printf("\nFAILED, ENDSWAP_32(ENDSWAP_32(0x%08x)) -> 0x%08x != 0x%08x\n", i32, (uint32_t) ENDSWAP_32(ENDSWAP_32 (i32)), i32);
+ return false;
+ }
+ puts("OK");
+
+ printf("testing ENDSWAP_32 on uint32_t ... ");
+ if (((uint32_t) ENDSWAP_32(u32)) == u32) {
+ printf("\nFAILED, ENDSWAP_32(0x%08x) -> 0x%08x == 0x%08x\n", u32, (uint32_t) ENDSWAP_32(u32), u32);
+ return false;
+ }
+ if (((uint32_t) ENDSWAP_32 (ENDSWAP_32(u32))) != u32) {
+ printf("\nFAILED, ENDSWAP_32(ENDSWAP_32(0x%08x)) -> 0x%08x != 0%08x\n", u32, (uint32_t) ENDSWAP_32(ENDSWAP_32(u32)), u32);
+ return false;
+ }
+ puts("OK");
+
+ printf("testing H2LE_16 on uint16_t ... ");
+ data.u16 = H2LE_16(0x1234);
+ if (data.bytes [0] != 0x34 || data.bytes [1] != 0x12) {
+ printf("\nFAILED, H2LE_16(0x%04x) -> { 0x%02x, 0x%02x }\n", data.u16, data.bytes [0] & 0xff, data.bytes [1] & 0xff);
+ return false;
+ }
+ puts("OK");
+
+ printf("testing H2LE_32 on uint32_t ... ");
+ data.u32 = H2LE_32(0x12345678);
+ if (data.bytes [0] != 0x78 || data.bytes [1] != 0x56 || data.bytes [2] != 0x34 || data.bytes [3] != 0x12) {
+ printf("\nFAILED, H2LE_32(0x%08x) -> { 0x%02x, 0x%02x, 0x%02x, 0x%02x }\n",
+ data.u32, data.bytes [0] & 0xff, data.bytes [1] & 0xff, data.bytes [2] & 0xff, data.bytes [3] & 0xff);
+ return false;
+ }
+ puts("OK");
+
+ printf("\nPASSED!\n");
+ return true;
+}
diff --git a/3rdparty/libflac/src/plugin_xmms/http.h b/3rdparty/libflac/src/test_libFLAC/endswap.h
index 00254307269..952b17f09ac 100644
--- a/3rdparty/libflac/src/plugin_xmms/http.h
+++ b/3rdparty/libflac/src/test_libFLAC/endswap.h
@@ -1,4 +1,5 @@
-/* libxmms-flac - XMMS FLAC input plugin
+/* test_libFLAC - Unit tester for libFLAC
+ * Copyright (C) 2014-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -10,17 +11,16 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifndef FLAC__PLUGIN_XMMS__HTTP_H
-#define FLAC__PLUGIN_XMMS__HTTP_H
+#ifndef FLAC__TEST_LIBFLAC_ENDSWAP_H
+#define FLAC__TEST_LIBFLAC_ENDSWAP_H
-extern int flac_http_open(const gchar * url, guint64 offset);
-extern void flac_http_close(void);
-extern int flac_http_read(gpointer data, gint length);
+#include "FLAC/ordinals.h"
+FLAC__bool test_endswap(void);
#endif
diff --git a/3rdparty/libflac/src/test_libFLAC/format.c b/3rdparty/libflac/src/test_libFLAC/format.c
index 7ac115d0f20..c5e8bf27857 100644
--- a/3rdparty/libflac/src/test_libFLAC/format.c
+++ b/3rdparty/libflac/src/test_libFLAC/format.c
@@ -1,5 +1,6 @@
/* test_libFLAC - Unit tester for libFLAC
- * Copyright (C) 2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2004-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,12 +12,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -28,11 +29,11 @@
static const char *true_false_string_[2] = { "false", "true" };
static struct {
- unsigned rate;
+ uint32_t rate;
FLAC__bool valid;
FLAC__bool subset;
} SAMPLE_RATES[] = {
- { 0 , false, false },
+ { 0 , true , true },
{ 1 , true , true },
{ 9 , true , true },
{ 10 , true , true },
@@ -64,11 +65,14 @@ static struct {
{ 500010 , true , true },
{ 655349 , true , false },
{ 655350 , true , true },
- { 655351 , false, false },
- { 655360 , false, false },
- { 700000 , false, false },
- { 700010 , false, false },
- { 1000000, false, false },
+ { 655351 , true , false },
+ { 655360 , true , false },
+ { 700000 , true , false },
+ { 700010 , true , false },
+ { 705600 , true , false },
+ { 768000 , true , false },
+ { 1000000, true , false },
+ { 1048575, true , false },
{ 1100000, false, false }
};
@@ -88,7 +92,7 @@ static struct {
};
static struct {
- unsigned length;
+ uint32_t length;
const FLAC__byte *string;
FLAC__bool valid;
} VCENTRY_VALUES[] = {
@@ -152,7 +156,7 @@ static struct {
};
static struct {
- unsigned length;
+ uint32_t length;
const FLAC__byte *string;
FLAC__bool valid;
} VCENTRIES[] = {
@@ -193,7 +197,7 @@ static struct {
FLAC__bool test_format(void)
{
- unsigned i;
+ uint32_t i;
printf("\n+++ libFLAC unit test: format\n\n");
@@ -235,7 +239,7 @@ FLAC__bool test_format(void)
for(i = 0; i < sizeof(VCENTRY_VALUES_NT)/sizeof(VCENTRY_VALUES_NT[0]); i++) {
printf("testing FLAC__format_vorbiscomment_entry_value_is_legal(\"%s\", -1)... ", VCENTRY_VALUES_NT[i].string);
- if(FLAC__format_vorbiscomment_entry_value_is_legal(VCENTRY_VALUES_NT[i].string, (unsigned)(-1)) != VCENTRY_VALUES_NT[i].valid) {
+ if(FLAC__format_vorbiscomment_entry_value_is_legal(VCENTRY_VALUES_NT[i].string, (uint32_t)(-1)) != VCENTRY_VALUES_NT[i].valid) {
printf("FAILED, expected %s, got %s\n", true_false_string_[VCENTRY_VALUES_NT[i].valid], true_false_string_[!VCENTRY_VALUES_NT[i].valid]);
return false;
}
diff --git a/3rdparty/libflac/src/test_libFLAC/format.h b/3rdparty/libflac/src/test_libFLAC/format.h
index e48a0e09299..f78d55df23a 100644
--- a/3rdparty/libflac/src/test_libFLAC/format.h
+++ b/3rdparty/libflac/src/test_libFLAC/format.h
@@ -1,5 +1,6 @@
/* test_libFLAC - Unit tester for libFLAC
- * Copyright (C) 2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2004-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef FLAC__TEST_LIBFLAC_FORMAT_H
diff --git a/3rdparty/libflac/src/test_libFLAC/main.c b/3rdparty/libflac/src/test_libFLAC/main.c
index 1807ff583c1..a4be0fee025 100644
--- a/3rdparty/libflac/src/test_libFLAC/main.c
+++ b/3rdparty/libflac/src/test_libFLAC/main.c
@@ -1,5 +1,6 @@
/* test_libFLAC - Unit tester for libFLAC
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,24 +12,38 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
+#include "bitreader.h"
#include "bitwriter.h"
+#include "crc.h"
#include "decoders.h"
#include "encoders.h"
+#include "endswap.h"
#include "format.h"
#include "metadata.h"
+#include "md5.h"
-int main(int argc, char *argv[])
+int main(void)
{
- (void)argc, (void)argv;
+ if(!test_endswap())
+ return 1;
+
+ if(!test_crc())
+ return 1;
+
+ if(!test_md5())
+ return 1;
+
+ if(!test_bitreader())
+ return 1;
if(!test_bitwriter())
return 1;
diff --git a/3rdparty/libflac/src/test_libFLAC/md5.c b/3rdparty/libflac/src/test_libFLAC/md5.c
new file mode 100644
index 00000000000..bac4a74ad48
--- /dev/null
+++ b/3rdparty/libflac/src/test_libFLAC/md5.c
@@ -0,0 +1,221 @@
+/* test_libFLAC - Unit tester for libFLAC
+ * Copyright (C) 2014-2023 Xiph.Org Foundation
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+#include <string.h>
+
+#include "FLAC/assert.h"
+#include "share/compat.h"
+#include "private/md5.h"
+#include "md5.h"
+
+
+static FLAC__bool test_md5_clear_context(void);
+static FLAC__bool test_md5_codec(void);
+static FLAC__bool test_md5_accumulate(const FLAC__int32 * const * signal,uint32_t channels, uint32_t samples, uint32_t bytes_per_sample, const FLAC__byte target_digest [16]);
+
+FLAC__bool test_md5(void)
+{
+ printf("\n+++ libFLAC unit test: md5\n\n");
+
+ if (! test_md5_clear_context())
+ return false;
+
+ if (! test_md5_codec())
+ return false;
+
+ printf("\nPASSED!\n");
+ return true;
+}
+
+/*----------------------------------------------------------------------------*/
+
+static FLAC__bool test_md5_clear_context(void)
+{
+ FLAC__MD5Context ctx;
+ FLAC__byte digest[16];
+ FLAC__byte target[16] = { 0xd4, 0x1d, 0x8c, 0xd9, 0x8f, 0x00, 0xb2, 0x04, 0xe9, 0x80, 0x09, 0x98, 0xec, 0xf8, 0x42, 0x7e };
+ uint32_t k ;
+ char * cptr;
+
+ printf("testing FLAC__MD5Init ... ");
+ FLAC__MD5Init (&ctx);
+ if (ctx.buf[0] != 0x67452301) {
+ printf("FAILED!\n");
+ return false;
+ }
+ printf("OK\n");
+
+ printf("testing that FLAC__MD5Final clears the MD5Context ... ");
+ FLAC__MD5Final(digest, &ctx);
+ cptr = (char*) &ctx ;
+ for (k = 0 ; k < sizeof (ctx) ; k++) {
+ if (cptr [k]) {
+ printf("FAILED, MD5 ctx has not been cleared after FLAC__MD5Final\n");
+ return false;
+ }
+ }
+ printf("OK\n");
+
+ printf("testing digest correct for zero data ... ");
+ if (memcmp(digest, target, sizeof (digest))) {
+ printf("\nFAILED, expected MD5 sum ");
+ for (k = 0 ; k < 16 ; k++)
+ printf("%02x", (target [k] & 0xff));
+ printf (" but got ");
+ for (k = 0 ; k < 16 ; k++)
+ printf("%02x", (digest [k] & 0xff));
+ puts("\n");
+ return false;
+ }
+ puts("OK");
+
+ return true;
+}
+
+static FLAC__byte target_digests [8][4][16] =
+{ /* 1 channel */
+ { /* 1 byte per sample */
+ { 0xc1, 0x9a, 0x5b, 0xeb, 0x57, 0x8f, 0x26, 0xeb, 0xfb, 0x34, 0x7c, 0xef, 0x04, 0x31, 0x6d, 0x7d },
+ /* 2 bytes per sample */
+ { 0xd4, 0x78, 0x90, 0xd3, 0xa9, 0x17, 0x4e, 0x76, 0xca, 0x4d, 0x27, 0x20, 0x98, 0x36, 0x8b, 0x2e },
+ /* 3 bytes per sample */
+ { 0x5a, 0x4b, 0xd6, 0xac, 0xa1, 0x70, 0x84, 0x19, 0x7c, 0x0d, 0xfb, 0x5b, 0xa9, 0x7b, 0xcb, 0x54 },
+ /* 4 bytes per sample */
+ { 0x79, 0xd5, 0x7a, 0x32, 0x06, 0x0b, 0xfe, 0x46, 0xa3, 0xe7, 0xba, 0xc5, 0xf7, 0x48, 0x6f, 0x50 }
+ },
+
+ /* 2 channels */
+ {
+ { 0x89, 0xac, 0xcf, 0x91, 0xf1, 0x8c, 0xea, 0xab, 0x46, 0x12, 0x74, 0xbc, 0x4e, 0x82, 0xbe, 0x7d },
+ { 0xb9, 0x17, 0x16, 0x5b, 0xd8, 0x1c, 0xc8, 0x4e, 0x5a, 0x28, 0xfb, 0xba, 0x87, 0x74, 0x76, 0x44 },
+ { 0xec, 0x63, 0x92, 0xca, 0x4f, 0x6b, 0x9e, 0xb1, 0x9f, 0xec, 0x3b, 0x2c, 0x15, 0x30, 0xfd, 0x2a },
+ { 0x05, 0x4d, 0xfd, 0xb8, 0x9d, 0x8a, 0xa2, 0xdd, 0x26, 0x47, 0xc6, 0xfb, 0x4f, 0x23, 0x67, 0x6d }
+ },
+
+ /* 3 channels */
+ {
+ { 0xad, 0x05, 0xda, 0xf3, 0x7a, 0xa1, 0x94, 0xdb, 0x0c, 0x61, 0x06, 0xb2, 0x94, 0x39, 0x6c, 0xa9 },
+ { 0x8b, 0xcc, 0x41, 0x4d, 0xe9, 0xe3, 0xc2, 0x61, 0x61, 0x8a, 0x8b, 0x22, 0xc6, 0x4e, 0xac, 0xa7 },
+ { 0x8a, 0xce, 0x97, 0xc1, 0x86, 0xae, 0xbc, 0x73, 0x88, 0x8b, 0x35, 0x5a, 0x37, 0x33, 0xf9, 0xcf },
+ { 0x69, 0x59, 0xe8, 0x38, 0x29, 0x80, 0x80, 0x21, 0xb1, 0xd2, 0xba, 0xf6, 0x28, 0xd6, 0x6a, 0x83 }
+ },
+
+ /* 4 channels */
+ {
+ { 0x61, 0x40, 0x75, 0xef, 0x22, 0xf1, 0x0f, 0xa6, 0x08, 0x6c, 0x88, 0xff, 0x2c, 0x4e, 0x98, 0x0b },
+ { 0xa0, 0x77, 0x3a, 0x59, 0x4a, 0xbf, 0xd0, 0x5c, 0xcc, 0xe3, 0xb9, 0x83, 0x2b, 0xf3, 0xdf, 0x1a },
+ { 0xdb, 0xd7, 0xf1, 0x82, 0x13, 0x60, 0x42, 0x7c, 0x84, 0xe6, 0xcf, 0x30, 0xab, 0xa2, 0x64, 0xf1 },
+ { 0x4a, 0x9a, 0xad, 0x53, 0x05, 0x74, 0xb1, 0x1c, 0xb8, 0xd4, 0xae, 0x78, 0x13, 0xf6, 0x2a, 0x11 }
+ },
+
+ /* 5 channels */
+ {
+ { 0xcc, 0xca, 0x44, 0xc0, 0x54, 0xe2, 0xc9, 0xba, 0x99, 0x32, 0xc9, 0x65, 0xf3, 0x3e, 0x44, 0x34},
+ { 0x40, 0x38, 0x6a, 0xdd, 0xde, 0x89, 0x10, 0x3c, 0x8e, 0xec, 0xdf, 0x15, 0x53, 0x4c, 0x2c, 0x92 },
+ { 0xc8, 0x95, 0x0a, 0x7c, 0x17, 0x30, 0xc0, 0xac, 0x8e, 0x34, 0xdb, 0x79, 0x76, 0x64, 0x7c, 0x6e },
+ { 0x3f, 0x06, 0x11, 0x8a, 0x8d, 0x80, 0xb5, 0x4f, 0x8b, 0xb5, 0x8e, 0xb3, 0x27, 0x3e, 0x41, 0xe8 }
+ },
+
+ /* 6 channels */
+ {
+ { 0x61, 0xe4, 0xbd, 0xb1, 0xc0, 0x2f, 0xf4, 0x4c, 0x6e, 0x09, 0x5a, 0xbd, 0x90, 0x18, 0x8b, 0x62 },
+ { 0x47, 0xe7, 0x6e, 0x3b, 0x18, 0x86, 0x60, 0x1b, 0x09, 0x62, 0xc6, 0xc9, 0x7c, 0x4c, 0x03, 0xb5 },
+ { 0x70, 0x57, 0xbf, 0x67, 0x66, 0x0f, 0xe3, 0x0a, 0x6c, 0xd2, 0x97, 0x66, 0xa2, 0xd2, 0xe4, 0x79 },
+ { 0xaa, 0x3f, 0xc7, 0xf5, 0x7a, 0xa5, 0x46, 0xf7, 0xea, 0xe3, 0xd5, 0x1a, 0xa4, 0x62, 0xbe, 0xfa }
+ },
+
+ /* 7 channels */
+ {
+ { 0x7c, 0x8d, 0xd2, 0x8c, 0xfd, 0x91, 0xbb, 0x77, 0x6f, 0x0e, 0xf0, 0x39, 0x1f, 0x39, 0xc4, 0xac },
+ { 0xfb, 0xab, 0x18, 0x3f, 0x1e, 0x1d, 0xa5, 0x77, 0xe0, 0x5c, 0xea, 0x45, 0x6f, 0x64, 0xa4, 0x64 },
+ { 0xe3, 0xac, 0x33, 0x50, 0xc1, 0xb1, 0x93, 0xfb, 0xca, 0x4b, 0x15, 0xcb, 0x2d, 0xcd, 0xd5, 0xef },
+ { 0x10, 0xfb, 0x02, 0x83, 0x76, 0x0d, 0xe5, 0xd2, 0x3b, 0xb1, 0x4c, 0x78, 0x3b, 0x73, 0xf7, 0x1a }
+ },
+
+ /* 8 channels */
+ {
+ { 0x65, 0x7b, 0xe5, 0x92, 0xe2, 0x1c, 0x95, 0x3e, 0xd7, 0x2f, 0x64, 0xa0, 0x86, 0xec, 0x1a, 0xed },
+ { 0x9d, 0x04, 0x8f, 0xa4, 0xea, 0x10, 0xec, 0xb8, 0xa3, 0x88, 0xe2, 0x5d, 0x3c, 0xe2, 0xfb, 0x94 },
+ { 0x5a, 0xd3, 0xd2, 0x75, 0x6a, 0xfa, 0xa7, 0x42, 0xf3, 0xbf, 0x0e, 0xbc, 0x90, 0x2a, 0xf8, 0x5f },
+ { 0x76, 0xe1, 0xe5, 0xf6, 0xe3, 0x44, 0x08, 0x29, 0xae, 0x79, 0x19, 0xeb, 0xa8, 0x57, 0x16, 0x2a }
+ }
+};
+
+#define MAX_CHANNEL_COUNT 8
+#define MD5_SAMPLE_COUNT 64
+
+static FLAC__bool test_md5_codec(void)
+{
+ FLAC__int32 arrays[MAX_CHANNEL_COUNT][MD5_SAMPLE_COUNT], *pointer[MAX_CHANNEL_COUNT], **signal;
+ uint32_t chan, byte_size, seed = 0x12345679;
+
+ /* Set up signal data using a trivial Linear Congruent PRNG. */
+ signal = &pointer[0];
+ for (chan = 0 ; chan < MAX_CHANNEL_COUNT ; chan ++) {
+ uint32_t k;
+ pointer[chan] = arrays [chan];
+ for (k = 0 ; k < MD5_SAMPLE_COUNT ; k++) {
+ seed = seed * 1103515245 + 12345;
+ arrays[chan][k] = seed;
+ }
+ }
+
+ for (chan = 1 ; chan <= MAX_CHANNEL_COUNT ; chan ++) {
+ for (byte_size = 1 ; byte_size <= 4 ; byte_size ++) {
+ if (! test_md5_accumulate((const FLAC__int32 * const *) signal, chan, MD5_SAMPLE_COUNT, byte_size, target_digests[chan-1][byte_size-1]))
+ return false;
+ }
+ }
+
+ return true;
+}
+
+static FLAC__bool test_md5_accumulate(const FLAC__int32 * const * signal, uint32_t channels, uint32_t samples, uint32_t bytes_per_sample, const FLAC__byte target_digest [16])
+{
+ FLAC__MD5Context ctx;
+ FLAC__byte digest[16];
+
+ memset(&ctx, 0, sizeof (ctx));
+
+ printf("testing FLAC__MD5Accumulate (samples=%u, channels=%u, bytes_per_sample=%u) ... ", samples, channels, bytes_per_sample);
+
+ FLAC__MD5Init(&ctx);
+ FLAC__MD5Accumulate(&ctx, signal, channels, samples, bytes_per_sample);
+ FLAC__MD5Final(digest, &ctx);
+
+ if (memcmp(digest, target_digest, sizeof (digest))) {
+ int k ;
+
+ printf("\nFAILED, expected MD5 sum ");
+ for (k = 0 ; k < 16 ; k++)
+ printf("%02x", (target_digest [k] & 0xff));
+ printf (" but got ");
+ for (k = 0 ; k < 16 ; k++)
+ printf("%02x", (digest [k] & 0xff));
+ puts("\n");
+ return false;
+ }
+
+ printf("OK\n");
+ return true;
+}
diff --git a/3rdparty/libflac/src/plugin_xmms/plugin.h b/3rdparty/libflac/src/test_libFLAC/md5.h
index 334c167be69..6863268d3e5 100644
--- a/3rdparty/libflac/src/plugin_xmms/plugin.h
+++ b/3rdparty/libflac/src/test_libFLAC/md5.h
@@ -1,5 +1,5 @@
-/* libxmms-flac - XMMS FLAC input plugin
- * Copyright (C) 2004,2005,2006,2007 Josh Coalson
+/* test_libFLAC - Unit tester for libFLAC
+ * Copyright (C) 2014-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,14 +11,16 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifndef FLAC__PLUGIN_XMMS__PLUGIN_H
-#define FLAC__PLUGIN_XMMS__PLUGIN_H
+#ifndef FLAC__TEST_LIBFLAC_MD5_H
+#define FLAC__TEST_LIBFLAC_MD5_H
-void set_track_info(const char* title, int length_in_msec);
+#include "FLAC/ordinals.h"
+
+FLAC__bool test_md5(void);
#endif
diff --git a/3rdparty/libflac/src/test_libFLAC/metadata.c b/3rdparty/libflac/src/test_libFLAC/metadata.c
index aacb6bfd28c..0347f6d2bfe 100644
--- a/3rdparty/libflac/src/test_libFLAC/metadata.c
+++ b/3rdparty/libflac/src/test_libFLAC/metadata.c
@@ -1,5 +1,6 @@
/* test_libFLAC - Unit tester for libFLAC
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,12 +12,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
diff --git a/3rdparty/libflac/src/test_libFLAC/metadata.h b/3rdparty/libflac/src/test_libFLAC/metadata.h
index 055156405dc..51bdf7aab13 100644
--- a/3rdparty/libflac/src/test_libFLAC/metadata.h
+++ b/3rdparty/libflac/src/test_libFLAC/metadata.h
@@ -1,5 +1,6 @@
/* test_libFLAC - Unit tester for libFLAC
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,9 +12,9 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef FLAC__TEST_LIBFLAC_METADATA_H
diff --git a/3rdparty/libflac/src/test_libFLAC/metadata_manip.c b/3rdparty/libflac/src/test_libFLAC/metadata_manip.c
index b3875318af0..334dc3ae867 100644
--- a/3rdparty/libflac/src/test_libFLAC/metadata_manip.c
+++ b/3rdparty/libflac/src/test_libFLAC/metadata_manip.c
@@ -1,5 +1,6 @@
/* test_libFLAC - Unit tester for libFLAC
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,12 +12,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -26,13 +27,8 @@
#if defined _MSC_VER || defined __MINGW32__
#include <sys/utime.h> /* for utime() */
#include <io.h> /* for chmod() */
-#if _MSC_VER <= 1600 /* @@@ [2G limit] */
-#define fseeko fseek
-#define ftello ftell
-#endif
#else
#include <sys/types.h> /* some flavors of BSD (like OS X) require this to get time_t */
-#include <utime.h> /* for utime() */
#include <unistd.h> /* for chown(), unlink() */
#endif
#include <sys/stat.h> /* for stat(), maybe chmod() */
@@ -40,6 +36,9 @@
#include "FLAC/stream_decoder.h"
#include "FLAC/metadata.h"
#include "share/grabbag.h"
+#include "share/compat.h"
+#include "share/macros.h"
+#include "share/safe_str.h"
#include "test_libs_common/file_utils_flac.h"
#include "test_libs_common/metadata_utils.h"
#include "metadata.h"
@@ -62,14 +61,14 @@ typedef struct {
typedef struct {
FLAC__StreamMetadata *blocks[64];
- unsigned num_blocks;
+ uint32_t num_blocks;
} our_metadata_struct;
/* our copy of the metadata in flacfilename() */
static our_metadata_struct our_metadata_;
/* the current block number that corresponds to the position of the iterator we are testing */
-static unsigned mc_our_block_number_ = 0;
+static uint32_t mc_our_block_number_ = 0;
static const char *flacfilename(FLAC__bool is_ogg)
{
@@ -100,7 +99,7 @@ static void *malloc_or_die_(size_t size)
{
void *x = malloc(size);
if(0 == x) {
- fprintf(stderr, "ERROR: out of memory allocating %u bytes\n", (unsigned)size);
+ fprintf(stderr, "ERROR: out of memory allocating %u bytes\n", (uint32_t)size);
exit(1);
}
return x;
@@ -118,9 +117,9 @@ static char *strdup_or_die_(const char *s)
/* functions for working with our metadata copy */
-static FLAC__bool replace_in_our_metadata_(FLAC__StreamMetadata *block, unsigned position, FLAC__bool copy)
+static FLAC__bool replace_in_our_metadata_(FLAC__StreamMetadata *block, uint32_t position, FLAC__bool copy)
{
- unsigned i;
+ uint32_t i;
FLAC__StreamMetadata *obj = block;
FLAC__ASSERT(position < our_metadata_.num_blocks);
if(copy) {
@@ -138,9 +137,9 @@ static FLAC__bool replace_in_our_metadata_(FLAC__StreamMetadata *block, unsigned
return true;
}
-static FLAC__bool insert_to_our_metadata_(FLAC__StreamMetadata *block, unsigned position, FLAC__bool copy)
+static FLAC__bool insert_to_our_metadata_(FLAC__StreamMetadata *block, uint32_t position, FLAC__bool copy)
{
- unsigned i;
+ uint32_t i;
FLAC__StreamMetadata *obj = block;
if(copy) {
if(0 == (obj = FLAC__metadata_object_clone(block)))
@@ -164,9 +163,9 @@ static FLAC__bool insert_to_our_metadata_(FLAC__StreamMetadata *block, unsigned
return true;
}
-static void delete_from_our_metadata_(unsigned position)
+static void delete_from_our_metadata_(uint32_t position)
{
- unsigned i;
+ uint32_t i;
FLAC__ASSERT(position < our_metadata_.num_blocks);
FLAC__metadata_object_delete(our_metadata_.blocks[position]);
for(i = position; i < our_metadata_.num_blocks - 1; i++)
@@ -188,13 +187,16 @@ static void delete_from_our_metadata_(unsigned position)
static FLAC__bool open_tempfile_(const char *filename, FILE **tempfile, char **tempfilename)
{
static const char *tempfile_suffix = ".metadata_edit";
+ size_t dest_len = strlen(filename) + strlen(tempfile_suffix) + 1;
- if(0 == (*tempfilename = (char*)malloc(strlen(filename) + strlen(tempfile_suffix) + 1)))
+ *tempfilename = malloc(dest_len);
+ if (*tempfilename == NULL)
return false;
- strcpy(*tempfilename, filename);
- strcat(*tempfilename, tempfile_suffix);
+ safe_strncpy(*tempfilename, filename, dest_len);
+ safe_strncat(*tempfilename, tempfile_suffix, dest_len);
- if(0 == (*tempfile = fopen(*tempfilename, "wb")))
+ *tempfile = flac_fopen(*tempfilename, "wb");
+ if (*tempfile == NULL)
return false;
return true;
@@ -202,13 +204,13 @@ static FLAC__bool open_tempfile_(const char *filename, FILE **tempfile, char **t
static void cleanup_tempfile_(FILE **tempfile, char **tempfilename)
{
- if(0 != *tempfile) {
+ if (*tempfile != NULL) {
(void)fclose(*tempfile);
*tempfile = 0;
}
- if(0 != *tempfilename) {
- (void)unlink(*tempfilename);
+ if (*tempfilename != NULL) {
+ (void)flac_unlink(*tempfilename);
free(*tempfilename);
*tempfilename = 0;
}
@@ -227,14 +229,14 @@ static FLAC__bool transport_tempfile_(const char *filename, FILE **tempfile, cha
}
#if defined _MSC_VER || defined __MINGW32__ || defined __EMX__
- /* on some flavors of windows, rename() will fail if the destination already exists */
- if(unlink(filename) < 0) {
+ /* on some flavors of windows, flac_rename() will fail if the destination already exists */
+ if(flac_unlink(filename) < 0) {
cleanup_tempfile_(tempfile, tempfilename);
return false;
}
#endif
- if(0 != rename(*tempfilename, filename)) {
+ if(0 != flac_rename(*tempfilename, filename)) {
cleanup_tempfile_(tempfile, tempfilename);
return false;
}
@@ -244,27 +246,32 @@ static FLAC__bool transport_tempfile_(const char *filename, FILE **tempfile, cha
return true;
}
-static FLAC__bool get_file_stats_(const char *filename, struct stat *stats)
+static FLAC__bool get_file_stats_(const char *filename, struct flac_stat_s *stats)
{
FLAC__ASSERT(0 != filename);
FLAC__ASSERT(0 != stats);
- return (0 == stat(filename, stats));
+ return (0 == flac_stat(filename, stats));
}
-static void set_file_stats_(const char *filename, struct stat *stats)
+static void set_file_stats_(const char *filename, struct flac_stat_s *stats)
{
+#if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200809L) && !defined(_WIN32)
+ struct timespec srctime[2] = {};
+ srctime[0].tv_sec = stats->st_atime;
+ srctime[1].tv_sec = stats->st_mtime;
+#else
struct utimbuf srctime;
-
+ srctime.actime = stats->st_atime;
+ srctime.modtime = stats->st_mtime;
+#endif
FLAC__ASSERT(0 != filename);
FLAC__ASSERT(0 != stats);
- srctime.actime = stats->st_atime;
- srctime.modtime = stats->st_mtime;
- (void)chmod(filename, stats->st_mode);
- (void)utime(filename, &srctime);
-#if !defined _MSC_VER && !defined __MINGW32__ && !defined __EMX__
- (void)chown(filename, stats->st_uid, -1);
- (void)chown(filename, -1, stats->st_gid);
+ (void)flac_chmod(filename, stats->st_mode);
+ (void)flac_utime(filename, &srctime);
+#if !defined _MSC_VER && !defined __MINGW32__
+ FLAC_CHECK_RETURN(chown(filename, stats->st_uid, -1));
+ FLAC_CHECK_RETURN(chown(filename, -1, stats->st_gid));
#endif
}
@@ -281,7 +288,7 @@ static size_t chain_write_cb_(const void *ptr, size_t size, size_t nmemb, FLAC__
static int chain_seek_cb_(FLAC__IOHandle handle, FLAC__int64 offset, int whence)
{
- off_t o = (off_t)offset;
+ FLAC__off_t o = (FLAC__off_t)offset;
FLAC__ASSERT(offset == o);
return fseeko((FILE*)handle, o, whence);
}
@@ -314,14 +321,14 @@ static FLAC__bool write_chain_(FLAC__Metadata_Chain *chain, FLAC__bool use_paddi
callbacks.eof = chain_eof_cb_;
if(FLAC__metadata_chain_check_if_tempfile_needed(chain, use_padding)) {
- struct stat stats;
+ struct flac_stat_s stats;
FILE *file, *tempfile = 0;
char *tempfilename;
if(preserve_file_stats) {
if(!get_file_stats_(filename, &stats))
return false;
}
- if(0 == (file = fopen(filename, "rb")))
+ if(0 == (file = flac_fopen(filename, "rb")))
return false; /*@@@@ chain status still says OK though */
if(!open_tempfile_(filename, &tempfile, &tempfilename)) {
fclose(file);
@@ -342,7 +349,7 @@ static FLAC__bool write_chain_(FLAC__Metadata_Chain *chain, FLAC__bool use_paddi
set_file_stats_(filename, &stats);
}
else {
- FILE *file = fopen(filename, "r+b");
+ FILE *file = flac_fopen(filename, "r+b");
if(0 == file)
return false; /*@@@@ chain status still says OK though */
if(!FLAC__metadata_chain_write_with_callbacks(chain, use_padding, (FLAC__IOHandle)file, callbacks))
@@ -371,7 +378,7 @@ static FLAC__bool read_chain_(FLAC__Metadata_Chain *chain, const char *filename,
{
FLAC__bool ret;
- FILE *file = fopen(filename, "rb");
+ FILE *file = flac_fopen(filename, "rb");
if(0 == file)
return false; /*@@@@ chain status still says OK though */
ret = is_ogg?
@@ -386,9 +393,9 @@ static FLAC__bool read_chain_(FLAC__Metadata_Chain *chain, const char *filename,
/* function for comparing our metadata to a FLAC__Metadata_Chain */
-static FLAC__bool compare_chain_(FLAC__Metadata_Chain *chain, unsigned current_position, FLAC__StreamMetadata *current_block)
+static FLAC__bool compare_chain_(FLAC__Metadata_Chain *chain, uint32_t current_position, FLAC__StreamMetadata *current_block)
{
- unsigned i;
+ uint32_t i;
FLAC__Metadata_Iterator *iterator;
FLAC__StreamMetadata *block;
FLAC__bool next_ok = true;
@@ -465,7 +472,7 @@ static void decoder_metadata_callback_null_(const FLAC__StreamDecoder *decoder,
{
(void)decoder, (void)metadata, (void)client_data;
- printf("%d... ", mc_our_block_number_);
+ printf("%u... ", mc_our_block_number_);
fflush(stdout);
mc_our_block_number_++;
@@ -482,7 +489,7 @@ static void decoder_metadata_callback_compare_(const FLAC__StreamDecoder *decode
if(dcd->error_occurred)
return;
- printf("%d... ", mc_our_block_number_);
+ printf("%u... ", mc_our_block_number_);
fflush(stdout);
if(mc_our_block_number_ >= our_metadata_.num_blocks) {
@@ -504,14 +511,14 @@ static void decoder_error_callback_(const FLAC__StreamDecoder *decoder, FLAC__St
(void)decoder;
dcd->error_occurred = true;
- printf("ERROR: got error callback, status = %s (%u)\n", FLAC__StreamDecoderErrorStatusString[status], (unsigned)status);
+ printf("ERROR: got error callback, status = %s (%u)\n", FLAC__StreamDecoderErrorStatusString[status], (uint32_t)status);
}
static FLAC__bool generate_file_(FLAC__bool include_extras, FLAC__bool is_ogg)
{
FLAC__StreamMetadata streaminfo, vorbiscomment, *cuesheet, picture, padding;
FLAC__StreamMetadata *metadata[4];
- unsigned i = 0, n = 0;
+ uint32_t i = 0, n = 0;
printf("generating %sFLAC file for test\n", is_ogg? "Ogg " : "");
@@ -532,7 +539,7 @@ static FLAC__bool generate_file_(FLAC__bool include_extras, FLAC__bool is_ogg)
memset(streaminfo.data.stream_info.md5sum, 0, 16);
{
- const unsigned vendor_string_length = (unsigned)strlen(FLAC__VENDOR_STRING);
+ const uint32_t vendor_string_length = (uint32_t)strlen(FLAC__VENDOR_STRING);
vorbiscomment.is_last = false;
vorbiscomment.type = FLAC__METADATA_TYPE_VORBIS_COMMENT;
vorbiscomment.length = (4 + vendor_string_length) + 4;
@@ -547,7 +554,7 @@ static FLAC__bool generate_file_(FLAC__bool include_extras, FLAC__bool is_ogg)
if (0 == (cuesheet = FLAC__metadata_object_new(FLAC__METADATA_TYPE_CUESHEET)))
return die_("priming our metadata");
cuesheet->is_last = false;
- strcpy(cuesheet->data.cue_sheet.media_catalog_number, "bogo-MCN");
+ safe_strncpy(cuesheet->data.cue_sheet.media_catalog_number, "bogo-MCN", sizeof(cuesheet->data.cue_sheet.media_catalog_number));
cuesheet->data.cue_sheet.lead_in = 123;
cuesheet->data.cue_sheet.is_cd = false;
if (!FLAC__metadata_object_cuesheet_insert_blank_track(cuesheet, 0))
@@ -748,7 +755,7 @@ static FLAC__bool test_level_0_(void)
printf("testing FLAC__metadata_get_picture()... ");
- if(!FLAC__metadata_get_picture(flacfilename(/*is_ogg=*/false), &picture, /*type=*/(FLAC__StreamMetadata_Picture_Type)(-1), /*mime_type=*/0, /*description=*/0, /*max_width=*/(unsigned)(-1), /*max_height=*/(unsigned)(-1), /*max_depth=*/(unsigned)(-1), /*max_colors=*/(unsigned)(-1)))
+ if(!FLAC__metadata_get_picture(flacfilename(/*is_ogg=*/false), &picture, /*type=*/(FLAC__StreamMetadata_Picture_Type)(-1), /*mime_type=*/0, /*description=*/0, /*max_width=*/(uint32_t)(-1), /*max_height=*/(uint32_t)(-1), /*max_depth=*/(uint32_t)(-1), /*max_colors=*/(uint32_t)(-1)))
return die_("during FLAC__metadata_get_picture()");
/* check to see if some basic data matches (c.f. generate_file_()) */
@@ -770,7 +777,7 @@ static FLAC__bool test_level_1_(void)
FLAC__Metadata_SimpleIterator *iterator;
FLAC__StreamMetadata *block, *app, *padding;
FLAC__byte data[1000];
- unsigned our_current_position = 0;
+ uint32_t our_current_position = 0;
/* initialize 'data' to avoid Valgrind errors */
memset(data, 0, sizeof(data));
@@ -796,7 +803,7 @@ static FLAC__bool test_level_1_(void)
if(!FLAC__metadata_simple_iterator_init(iterator, flacfilename(/*is_ogg=*/false), /*read_only=*/false, /*preserve_file_stats=*/false))
return die_("FLAC__metadata_simple_iterator_init() returned false");
- printf("is writable = %u\n", (unsigned)FLAC__metadata_simple_iterator_is_writable(iterator));
+ printf("is writable = %u\n", (uint32_t)FLAC__metadata_simple_iterator_is_writable(iterator));
if(FLAC__metadata_simple_iterator_is_writable(iterator))
return die_("iterator claims file is writable when tester thinks it should not be; are you running as root?\n");
@@ -892,7 +899,7 @@ static FLAC__bool test_level_1_(void)
return die_("FLAC__metadata_simple_iterator_init() returned false");
our_current_position = 0;
- printf("is writable = %u\n", (unsigned)FLAC__metadata_simple_iterator_is_writable(iterator));
+ printf("is writable = %u\n", (uint32_t)FLAC__metadata_simple_iterator_is_writable(iterator));
printf("[S]VP\ttry to write over STREAMINFO block...\n");
if(!FLAC__metadata_simple_iterator_set_block(iterator, app, false))
@@ -900,6 +907,9 @@ static FLAC__bool test_level_1_(void)
else
return die_("FLAC__metadata_simple_iterator_set_block() returned true but shouldn't have");
+ if(FLAC__metadata_simple_iterator_status(iterator) != FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT)
+ return die_("FLAC__metadata_simple_iterator_status() should have been FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT");
+
printf("[S]VP\tnext\n");
if(!FLAC__metadata_simple_iterator_next(iterator))
return die_("iterator ended early\n");
@@ -951,6 +961,9 @@ static FLAC__bool test_level_1_(void)
if(FLAC__metadata_simple_iterator_delete_block(iterator, false))
return die_ss_("FLAC__metadata_simple_iterator_delete_block(iterator, false) should have returned false", iterator);
+ if(FLAC__metadata_simple_iterator_status(iterator) != FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT)
+ return die_("FLAC__metadata_simple_iterator_status() should have been FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT");
+
if(!test_file_(/*is_ogg=*/false, decoder_metadata_callback_compare_))
return false;
@@ -1431,7 +1444,7 @@ static FLAC__bool test_level_2_(FLAC__bool filename_based, FLAC__bool is_ogg)
FLAC__Metadata_Chain *chain;
FLAC__StreamMetadata *block, *app, *padding;
FLAC__byte data[2000];
- unsigned our_current_position;
+ uint32_t our_current_position;
/* initialize 'data' to avoid Valgrind errors */
memset(data, 0, sizeof(data));
@@ -1995,7 +2008,7 @@ static FLAC__bool test_level_2_misc_(FLAC__bool is_ogg)
printf("read chain (callback-based)\n");
{
- FILE *file = fopen(flacfilename(is_ogg), "rb");
+ FILE *file = flac_fopen(flacfilename(is_ogg), "rb");
if(0 == file)
return die_("opening file");
if(!FLAC__metadata_chain_read_with_callbacks(chain, (FLAC__IOHandle)file, callbacks)) {
@@ -2016,7 +2029,7 @@ static FLAC__bool test_level_2_misc_(FLAC__bool is_ogg)
printf("read chain (callback-based)\n");
{
- FILE *file = fopen(flacfilename(is_ogg), "rb");
+ FILE *file = flac_fopen(flacfilename(is_ogg), "rb");
if(0 == file)
return die_("opening file");
if(!FLAC__metadata_chain_read_with_callbacks(chain, (FLAC__IOHandle)file, callbacks)) {
@@ -2044,7 +2057,7 @@ static FLAC__bool test_level_2_misc_(FLAC__bool is_ogg)
printf("read chain (callback-based)\n");
{
- FILE *file = fopen(flacfilename(is_ogg), "rb");
+ FILE *file = flac_fopen(flacfilename(is_ogg), "rb");
if(0 == file)
return die_("opening file");
if(!FLAC__metadata_chain_read_with_callbacks(chain, (FLAC__IOHandle)file, callbacks)) {
diff --git a/3rdparty/libflac/src/test_libFLAC/metadata_object.c b/3rdparty/libflac/src/test_libFLAC/metadata_object.c
index 617248fb14f..ea6b69fd7ba 100644
--- a/3rdparty/libflac/src/test_libFLAC/metadata_object.c
+++ b/3rdparty/libflac/src/test_libFLAC/metadata_object.c
@@ -1,5 +1,6 @@
/* test_libFLAC - Unit tester for libFLAC
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,28 +12,29 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "FLAC/assert.h"
#include "FLAC/metadata.h"
#include "test_libs_common/metadata_utils.h"
+#include "share/compat.h"
#include "metadata.h"
#include <stdio.h>
#include <stdlib.h> /* for malloc() */
#include <string.h> /* for memcmp() */
-static FLAC__byte *make_dummydata_(FLAC__byte *dummydata, unsigned len)
+static FLAC__byte *make_dummydata_(FLAC__byte *dummydata, uint32_t len)
{
FLAC__byte *ret;
- if(0 == (ret = (FLAC__byte*)malloc(len))) {
+ if(0 == (ret = malloc(len))) {
printf("FAILED, malloc error\n");
exit(1);
}
@@ -44,18 +46,14 @@ static FLAC__byte *make_dummydata_(FLAC__byte *dummydata, unsigned len)
static FLAC__bool compare_track_(const FLAC__StreamMetadata_CueSheet_Track *from, const FLAC__StreamMetadata_CueSheet_Track *to)
{
- unsigned i;
+ uint32_t i;
if(from->offset != to->offset) {
-#ifdef _MSC_VER
- printf("FAILED, track offset mismatch, expected %I64u, got %I64u\n", to->offset, from->offset);
-#else
- printf("FAILED, track offset mismatch, expected %llu, got %llu\n", (unsigned long long)to->offset, (unsigned long long)from->offset);
-#endif
+ printf("FAILED, track offset mismatch, expected %" PRIu64 ", got %" PRIu64 "\n", to->offset, from->offset);
return false;
}
if(from->number != to->number) {
- printf("FAILED, track number mismatch, expected %u, got %u\n", (unsigned)to->number, (unsigned)from->number);
+ printf("FAILED, track number mismatch, expected %u, got %u\n", (uint32_t)to->number, (uint32_t)from->number);
return false;
}
if(0 != strcmp(from->isrc, to->isrc)) {
@@ -63,15 +61,15 @@ static FLAC__bool compare_track_(const FLAC__StreamMetadata_CueSheet_Track *from
return false;
}
if(from->type != to->type) {
- printf("FAILED, track type mismatch, expected %u, got %u\n", (unsigned)to->type, (unsigned)from->type);
+ printf("FAILED, track type mismatch, expected %u, got %u\n", (uint32_t)to->type, (uint32_t)from->type);
return false;
}
if(from->pre_emphasis != to->pre_emphasis) {
- printf("FAILED, track pre_emphasis mismatch, expected %u, got %u\n", (unsigned)to->pre_emphasis, (unsigned)from->pre_emphasis);
+ printf("FAILED, track pre_emphasis mismatch, expected %u, got %u\n", (uint32_t)to->pre_emphasis, (uint32_t)from->pre_emphasis);
return false;
}
if(from->num_indices != to->num_indices) {
- printf("FAILED, track num_indices mismatch, expected %u, got %u\n", (unsigned)to->num_indices, (unsigned)from->num_indices);
+ printf("FAILED, track num_indices mismatch, expected %u, got %u\n", (uint32_t)to->num_indices, (uint32_t)from->num_indices);
return false;
}
if(0 == to->indices || 0 == from->indices) {
@@ -83,15 +81,11 @@ static FLAC__bool compare_track_(const FLAC__StreamMetadata_CueSheet_Track *from
else {
for(i = 0; i < to->num_indices; i++) {
if(from->indices[i].offset != to->indices[i].offset) {
-#ifdef _MSC_VER
- printf("FAILED, track indices[%u].offset mismatch, expected %I64u, got %I64u\n", i, to->indices[i].offset, from->indices[i].offset);
-#else
- printf("FAILED, track indices[%u].offset mismatch, expected %llu, got %llu\n", i, (unsigned long long)to->indices[i].offset, (unsigned long long)from->indices[i].offset);
-#endif
+ printf("FAILED, track indices[%u].offset mismatch, expected %" PRIu64 ", got %" PRIu64 "\n", i, to->indices[i].offset, from->indices[i].offset);
return false;
}
if(from->indices[i].number != to->indices[i].number) {
- printf("FAILED, track indices[%u].number mismatch, expected %u, got %u\n", i, (unsigned)to->indices[i].number, (unsigned)from->indices[i].number);
+ printf("FAILED, track indices[%u].number mismatch, expected %u, got %u\n", i, (uint32_t)to->indices[i].number, (uint32_t)from->indices[i].number);
return false;
}
}
@@ -100,28 +94,20 @@ static FLAC__bool compare_track_(const FLAC__StreamMetadata_CueSheet_Track *from
return true;
}
-static FLAC__bool compare_seekpoint_array_(const FLAC__StreamMetadata_SeekPoint *from, const FLAC__StreamMetadata_SeekPoint *to, unsigned n)
+static FLAC__bool compare_seekpoint_array_(const FLAC__StreamMetadata_SeekPoint *from, const FLAC__StreamMetadata_SeekPoint *to, uint32_t n)
{
- unsigned i;
+ uint32_t i;
FLAC__ASSERT(0 != from);
FLAC__ASSERT(0 != to);
for(i = 0; i < n; i++) {
if(from[i].sample_number != to[i].sample_number) {
-#ifdef _MSC_VER
- printf("FAILED, point[%u].sample_number mismatch, expected %I64u, got %I64u\n", i, to[i].sample_number, from[i].sample_number);
-#else
- printf("FAILED, point[%u].sample_number mismatch, expected %llu, got %llu\n", i, (unsigned long long)to[i].sample_number, (unsigned long long)from[i].sample_number);
-#endif
+ printf("FAILED, point[%u].sample_number mismatch, expected %" PRIu64 ", got %" PRIu64 "\n", i, to[i].sample_number, from[i].sample_number);
return false;
}
if(from[i].stream_offset != to[i].stream_offset) {
-#ifdef _MSC_VER
- printf("FAILED, point[%u].stream_offset mismatch, expected %I64u, got %I64u\n", i, to[i].stream_offset, from[i].stream_offset);
-#else
- printf("FAILED, point[%u].stream_offset mismatch, expected %llu, got %llu\n", i, (unsigned long long)to[i].stream_offset, (unsigned long long)from[i].stream_offset);
-#endif
+ printf("FAILED, point[%u].stream_offset mismatch, expected %" PRIu64 ", got %" PRIu64 "\n", i, to[i].stream_offset, from[i].stream_offset);
return false;
}
if(from[i].frame_samples != to[i].frame_samples) {
@@ -133,9 +119,9 @@ static FLAC__bool compare_seekpoint_array_(const FLAC__StreamMetadata_SeekPoint
return true;
}
-static FLAC__bool check_seektable_(const FLAC__StreamMetadata *block, unsigned num_points, const FLAC__StreamMetadata_SeekPoint *array)
+static FLAC__bool check_seektable_(const FLAC__StreamMetadata *block, uint32_t num_points, const FLAC__StreamMetadata_SeekPoint *array)
{
- const unsigned expected_length = num_points * FLAC__STREAM_METADATA_SEEKPOINT_LENGTH;
+ const uint32_t expected_length = num_points * FLAC__STREAM_METADATA_SEEKPOINT_LENGTH;
if(block->length != expected_length) {
printf("FAILED, bad length, expected %u, got %u\n", expected_length, block->length);
@@ -163,7 +149,7 @@ static FLAC__bool check_seektable_(const FLAC__StreamMetadata *block, unsigned n
static void entry_new_(FLAC__StreamMetadata_VorbisComment_Entry *entry, const char *field)
{
entry->length = strlen(field);
- entry->entry = (FLAC__byte*)malloc(entry->length+1);
+ entry->entry = malloc(entry->length+1);
FLAC__ASSERT(0 != entry->entry);
memcpy(entry->entry, field, entry->length);
entry->entry[entry->length] = '\0';
@@ -171,7 +157,7 @@ static void entry_new_(FLAC__StreamMetadata_VorbisComment_Entry *entry, const ch
static void entry_clone_(FLAC__StreamMetadata_VorbisComment_Entry *entry)
{
- FLAC__byte *x = (FLAC__byte*)malloc(entry->length+1);
+ FLAC__byte *x = malloc(entry->length+1);
FLAC__ASSERT(0 != x);
memcpy(x, entry->entry, entry->length);
x[entry->length] = '\0';
@@ -181,7 +167,7 @@ static void entry_clone_(FLAC__StreamMetadata_VorbisComment_Entry *entry)
static void vc_calc_len_(FLAC__StreamMetadata *block)
{
const FLAC__StreamMetadata_VorbisComment *vc = &block->data.vorbis_comment;
- unsigned i;
+ uint32_t i;
block->length = FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN / 8;
block->length += vc->vendor_string.length;
@@ -192,14 +178,14 @@ static void vc_calc_len_(FLAC__StreamMetadata *block)
}
}
-static void vc_resize_(FLAC__StreamMetadata *block, unsigned num)
+static void vc_resize_(FLAC__StreamMetadata *block, uint32_t num)
{
FLAC__StreamMetadata_VorbisComment *vc = &block->data.vorbis_comment;
if(vc->num_comments != 0) {
FLAC__ASSERT(0 != vc->comments);
if(num < vc->num_comments) {
- unsigned i;
+ uint32_t i;
for(i = num; i < vc->num_comments; i++) {
if(0 != vc->comments[i].entry)
free(vc->comments[i].entry);
@@ -213,20 +199,24 @@ static void vc_resize_(FLAC__StreamMetadata *block, unsigned num)
}
}
else {
- vc->comments = (FLAC__StreamMetadata_VorbisComment_Entry*)realloc(vc->comments, sizeof(FLAC__StreamMetadata_VorbisComment_Entry)*num);
+ uint32_t i;
+ vc->comments = realloc(vc->comments, sizeof(FLAC__StreamMetadata_VorbisComment_Entry)*num);
FLAC__ASSERT(0 != vc->comments);
- if(num > vc->num_comments)
- memset(vc->comments+vc->num_comments, 0, sizeof(FLAC__StreamMetadata_VorbisComment_Entry)*(num-vc->num_comments));
+ for(i = vc->num_comments; i < num; i++) {
+ vc->comments[i].length = 0;
+ vc->comments[i].entry = malloc(1);
+ vc->comments[i].entry[0] = '\0';
+ }
}
vc->num_comments = num;
vc_calc_len_(block);
}
-static int vc_find_from_(FLAC__StreamMetadata *block, const char *name, unsigned start)
+static int vc_find_from_(FLAC__StreamMetadata *block, const char *name, uint32_t start)
{
- const unsigned n = strlen(name);
- unsigned i;
+ const uint32_t n = strlen(name);
+ uint32_t i;
for(i = start; i < block->data.vorbis_comment.num_comments; i++) {
const FLAC__StreamMetadata_VorbisComment_Entry *entry = &block->data.vorbis_comment.comments[i];
if(entry->length > n && 0 == strncmp((const char *)entry->entry, name, n) && entry->entry[n] == '=')
@@ -244,7 +234,7 @@ static void vc_set_vs_new_(FLAC__StreamMetadata_VorbisComment_Entry *entry, FLAC
vc_calc_len_(block);
}
-static void vc_set_new_(FLAC__StreamMetadata_VorbisComment_Entry *entry, FLAC__StreamMetadata *block, unsigned pos, const char *field)
+static void vc_set_new_(FLAC__StreamMetadata_VorbisComment_Entry *entry, FLAC__StreamMetadata *block, uint32_t pos, const char *field)
{
if(0 != block->data.vorbis_comment.comments[pos].entry)
free(block->data.vorbis_comment.comments[pos].entry);
@@ -253,16 +243,18 @@ static void vc_set_new_(FLAC__StreamMetadata_VorbisComment_Entry *entry, FLAC__S
vc_calc_len_(block);
}
-static void vc_insert_new_(FLAC__StreamMetadata_VorbisComment_Entry *entry, FLAC__StreamMetadata *block, unsigned pos, const char *field)
+static void vc_insert_new_(FLAC__StreamMetadata_VorbisComment_Entry *entry, FLAC__StreamMetadata *block, uint32_t pos, const char *field)
{
+ FLAC__StreamMetadata_VorbisComment_Entry temp;
vc_resize_(block, block->data.vorbis_comment.num_comments+1);
+ temp = block->data.vorbis_comment.comments[block->data.vorbis_comment.num_comments-1];
memmove(&block->data.vorbis_comment.comments[pos+1], &block->data.vorbis_comment.comments[pos], sizeof(FLAC__StreamMetadata_VorbisComment_Entry)*(block->data.vorbis_comment.num_comments-1-pos));
- memset(&block->data.vorbis_comment.comments[pos], 0, sizeof(FLAC__StreamMetadata_VorbisComment_Entry));
+ block->data.vorbis_comment.comments[pos] = temp;
vc_set_new_(entry, block, pos, field);
vc_calc_len_(block);
}
-static void vc_delete_(FLAC__StreamMetadata *block, unsigned pos)
+static void vc_delete_(FLAC__StreamMetadata *block, uint32_t pos)
{
if(0 != block->data.vorbis_comment.comments[pos].entry)
free(block->data.vorbis_comment.comments[pos].entry);
@@ -275,22 +267,22 @@ static void vc_delete_(FLAC__StreamMetadata *block, unsigned pos)
static void vc_replace_new_(FLAC__StreamMetadata_VorbisComment_Entry *entry, FLAC__StreamMetadata *block, const char *field, FLAC__bool all)
{
- int index;
+ int indx;
char field_name[256];
const char *eq = strchr(field, '=');
- FLAC__ASSERT(eq>field && (unsigned)(eq-field) < sizeof(field_name));
+ FLAC__ASSERT(eq>field && (uint32_t)(eq-field) < sizeof(field_name));
memcpy(field_name, field, eq-field);
field_name[eq-field]='\0';
- index = vc_find_from_(block, field_name, 0);
- if(index < 0)
+ indx = vc_find_from_(block, field_name, 0);
+ if(indx < 0)
vc_insert_new_(entry, block, block->data.vorbis_comment.num_comments, field);
else {
- vc_set_new_(entry, block, (unsigned)index, field);
+ vc_set_new_(entry, block, (uint32_t)indx, field);
if(all) {
- for(index = index+1; index >= 0 && (unsigned)index < block->data.vorbis_comment.num_comments; )
- if((index = vc_find_from_(block, field_name, (unsigned)index)) >= 0)
- vc_delete_(block, (unsigned)index);
+ for(indx = indx+1; indx >= 0 && (uint32_t)indx < block->data.vorbis_comment.num_comments; )
+ if((indx = vc_find_from_(block, field_name, (uint32_t)indx)) >= 0)
+ vc_delete_(block, (uint32_t)indx);
}
}
@@ -312,7 +304,7 @@ static void track_clone_(FLAC__StreamMetadata_CueSheet_Track *track)
{
if(track->num_indices > 0) {
size_t bytes = sizeof(FLAC__StreamMetadata_CueSheet_Index) * track->num_indices;
- FLAC__StreamMetadata_CueSheet_Index *x = (FLAC__StreamMetadata_CueSheet_Index*)malloc(bytes);
+ FLAC__StreamMetadata_CueSheet_Index *x = malloc(bytes);
FLAC__ASSERT(0 != x);
memcpy(x, track->indices, bytes);
track->indices = x;
@@ -322,7 +314,7 @@ static void track_clone_(FLAC__StreamMetadata_CueSheet_Track *track)
static void cs_calc_len_(FLAC__StreamMetadata *block)
{
const FLAC__StreamMetadata_CueSheet *cs = &block->data.cue_sheet;
- unsigned i;
+ uint32_t i;
block->length = (
FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN +
@@ -349,7 +341,7 @@ static void cs_calc_len_(FLAC__StreamMetadata *block)
}
}
-static void tr_resize_(FLAC__StreamMetadata *block, unsigned track_num, unsigned num)
+static void tr_resize_(FLAC__StreamMetadata *block, uint32_t track_num, uint32_t num)
{
FLAC__StreamMetadata_CueSheet_Track *tr;
@@ -367,7 +359,7 @@ static void tr_resize_(FLAC__StreamMetadata *block, unsigned track_num, unsigned
}
}
else {
- tr->indices = (FLAC__StreamMetadata_CueSheet_Index*)realloc(tr->indices, sizeof(FLAC__StreamMetadata_CueSheet_Index)*num);
+ tr->indices = realloc(tr->indices, sizeof(FLAC__StreamMetadata_CueSheet_Index)*num);
FLAC__ASSERT(0 != tr->indices);
if(num > tr->num_indices)
memset(tr->indices+tr->num_indices, 0, sizeof(FLAC__StreamMetadata_CueSheet_Index)*(num-tr->num_indices));
@@ -377,7 +369,7 @@ static void tr_resize_(FLAC__StreamMetadata *block, unsigned track_num, unsigned
cs_calc_len_(block);
}
-static void tr_set_new_(FLAC__StreamMetadata *block, unsigned track_num, unsigned pos, FLAC__StreamMetadata_CueSheet_Index index)
+static void tr_set_new_(FLAC__StreamMetadata *block, uint32_t track_num, uint32_t pos, FLAC__StreamMetadata_CueSheet_Index indx)
{
FLAC__StreamMetadata_CueSheet_Track *tr;
@@ -387,12 +379,12 @@ static void tr_set_new_(FLAC__StreamMetadata *block, unsigned track_num, unsigne
FLAC__ASSERT(pos < tr->num_indices);
- tr->indices[pos] = index;
+ tr->indices[pos] = indx;
cs_calc_len_(block);
}
-static void tr_insert_new_(FLAC__StreamMetadata *block, unsigned track_num, unsigned pos, FLAC__StreamMetadata_CueSheet_Index index)
+static void tr_insert_new_(FLAC__StreamMetadata *block, uint32_t track_num, uint32_t pos, FLAC__StreamMetadata_CueSheet_Index indx)
{
FLAC__StreamMetadata_CueSheet_Track *tr;
@@ -404,11 +396,11 @@ static void tr_insert_new_(FLAC__StreamMetadata *block, unsigned track_num, unsi
tr_resize_(block, track_num, tr->num_indices+1);
memmove(&tr->indices[pos+1], &tr->indices[pos], sizeof(FLAC__StreamMetadata_CueSheet_Index)*(tr->num_indices-1-pos));
- tr_set_new_(block, track_num, pos, index);
+ tr_set_new_(block, track_num, pos, indx);
cs_calc_len_(block);
}
-static void tr_delete_(FLAC__StreamMetadata *block, unsigned track_num, unsigned pos)
+static void tr_delete_(FLAC__StreamMetadata *block, uint32_t track_num, uint32_t pos)
{
FLAC__StreamMetadata_CueSheet_Track *tr;
@@ -423,14 +415,14 @@ static void tr_delete_(FLAC__StreamMetadata *block, unsigned track_num, unsigned
cs_calc_len_(block);
}
-static void cs_resize_(FLAC__StreamMetadata *block, unsigned num)
+static void cs_resize_(FLAC__StreamMetadata *block, uint32_t num)
{
FLAC__StreamMetadata_CueSheet *cs = &block->data.cue_sheet;
if(cs->num_tracks != 0) {
FLAC__ASSERT(0 != cs->tracks);
if(num < cs->num_tracks) {
- unsigned i;
+ uint32_t i;
for(i = num; i < cs->num_tracks; i++) {
if(0 != cs->tracks[i].indices)
free(cs->tracks[i].indices);
@@ -444,7 +436,7 @@ static void cs_resize_(FLAC__StreamMetadata *block, unsigned num)
}
}
else {
- cs->tracks = (FLAC__StreamMetadata_CueSheet_Track*)realloc(cs->tracks, sizeof(FLAC__StreamMetadata_CueSheet_Track)*num);
+ cs->tracks = realloc(cs->tracks, sizeof(FLAC__StreamMetadata_CueSheet_Track)*num);
FLAC__ASSERT(0 != cs->tracks);
if(num > cs->num_tracks)
memset(cs->tracks+cs->num_tracks, 0, sizeof(FLAC__StreamMetadata_CueSheet_Track)*(num-cs->num_tracks));
@@ -454,14 +446,14 @@ static void cs_resize_(FLAC__StreamMetadata *block, unsigned num)
cs_calc_len_(block);
}
-static void cs_set_new_(FLAC__StreamMetadata_CueSheet_Track *track, FLAC__StreamMetadata *block, unsigned pos, FLAC__uint64 offset, FLAC__byte number, const char *isrc, FLAC__bool data, FLAC__bool pre_em)
+static void cs_set_new_(FLAC__StreamMetadata_CueSheet_Track *track, FLAC__StreamMetadata *block, uint32_t pos, FLAC__uint64 offset, FLAC__byte number, const char *isrc, FLAC__bool data, FLAC__bool pre_em)
{
track_new_(track, offset, number, isrc, data, pre_em);
block->data.cue_sheet.tracks[pos] = *track;
cs_calc_len_(block);
}
-static void cs_insert_new_(FLAC__StreamMetadata_CueSheet_Track *track, FLAC__StreamMetadata *block, unsigned pos, FLAC__uint64 offset, FLAC__byte number, const char *isrc, FLAC__bool data, FLAC__bool pre_em)
+static void cs_insert_new_(FLAC__StreamMetadata_CueSheet_Track *track, FLAC__StreamMetadata *block, uint32_t pos, FLAC__uint64 offset, FLAC__byte number, const char *isrc, FLAC__bool data, FLAC__bool pre_em)
{
cs_resize_(block, block->data.cue_sheet.num_tracks+1);
memmove(&block->data.cue_sheet.tracks[pos+1], &block->data.cue_sheet.tracks[pos], sizeof(FLAC__StreamMetadata_CueSheet_Track)*(block->data.cue_sheet.num_tracks-1-pos));
@@ -469,7 +461,7 @@ static void cs_insert_new_(FLAC__StreamMetadata_CueSheet_Track *track, FLAC__Str
cs_calc_len_(block);
}
-static void cs_delete_(FLAC__StreamMetadata *block, unsigned pos)
+static void cs_delete_(FLAC__StreamMetadata *block, uint32_t pos)
{
if(0 != block->data.cue_sheet.tracks[pos].indices)
free(block->data.cue_sheet.tracks[pos].indices);
@@ -519,9 +511,9 @@ FLAC__bool test_metadata_object(void)
FLAC__StreamMetadata *block, *blockcopy, *vorbiscomment, *cuesheet, *picture;
FLAC__StreamMetadata_SeekPoint seekpoint_array[14];
FLAC__StreamMetadata_VorbisComment_Entry entry;
- FLAC__StreamMetadata_CueSheet_Index index;
+ FLAC__StreamMetadata_CueSheet_Index indx;
FLAC__StreamMetadata_CueSheet_Track track;
- unsigned i, expected_length, seekpoints;
+ uint32_t i, expected_length, seekpoints;
int j;
static FLAC__byte dummydata[4] = { 'a', 'b', 'c', 'd' };
@@ -1810,11 +1802,11 @@ FLAC__bool test_metadata_object(void)
return false;
printf("OK\n");
- index.offset = 0;
- index.number = 1;
+ indx.offset = 0;
+ indx.number = 1;
printf("testing FLAC__metadata_object_cuesheet_track_insert_index() on empty array...");
- tr_insert_new_(cuesheet, 0, 0, index);
- if(!FLAC__metadata_object_cuesheet_track_insert_index(block, 0, 0, index)) {
+ tr_insert_new_(cuesheet, 0, 0, indx);
+ if(!FLAC__metadata_object_cuesheet_track_insert_index(block, 0, 0, indx)) {
printf("FAILED, returned false\n");
return false;
}
@@ -1822,11 +1814,11 @@ FLAC__bool test_metadata_object(void)
return false;
printf("OK\n");
- index.offset = 10;
- index.number = 2;
+ indx.offset = 10;
+ indx.number = 2;
printf("testing FLAC__metadata_object_cuesheet_track_insert_index() on beginning of non-empty array...");
- tr_insert_new_(cuesheet, 0, 0, index);
- if(!FLAC__metadata_object_cuesheet_track_insert_index(block, 0, 0, index)) {
+ tr_insert_new_(cuesheet, 0, 0, indx);
+ if(!FLAC__metadata_object_cuesheet_track_insert_index(block, 0, 0, indx)) {
printf("FAILED, returned false\n");
return false;
}
@@ -1834,11 +1826,11 @@ FLAC__bool test_metadata_object(void)
return false;
printf("OK\n");
- index.offset = 20;
- index.number = 3;
+ indx.offset = 20;
+ indx.number = 3;
printf("testing FLAC__metadata_object_cuesheet_track_insert_index() on middle of non-empty array...");
- tr_insert_new_(cuesheet, 0, 1, index);
- if(!FLAC__metadata_object_cuesheet_track_insert_index(block, 0, 1, index)) {
+ tr_insert_new_(cuesheet, 0, 1, indx);
+ if(!FLAC__metadata_object_cuesheet_track_insert_index(block, 0, 1, indx)) {
printf("FAILED, returned false\n");
return false;
}
@@ -1846,11 +1838,11 @@ FLAC__bool test_metadata_object(void)
return false;
printf("OK\n");
- index.offset = 30;
- index.number = 4;
+ indx.offset = 30;
+ indx.number = 4;
printf("testing FLAC__metadata_object_cuesheet_track_insert_index() on end of non-empty array...");
- tr_insert_new_(cuesheet, 0, 3, index);
- if(!FLAC__metadata_object_cuesheet_track_insert_index(block, 0, 3, index)) {
+ tr_insert_new_(cuesheet, 0, 3, indx);
+ if(!FLAC__metadata_object_cuesheet_track_insert_index(block, 0, 3, indx)) {
printf("FAILED, returned false\n");
return false;
}
@@ -1858,10 +1850,10 @@ FLAC__bool test_metadata_object(void)
return false;
printf("OK\n");
- index.offset = 0;
- index.number = 0;
+ indx.offset = 0;
+ indx.number = 0;
printf("testing FLAC__metadata_object_cuesheet_track_insert_blank_index() on end of non-empty array...");
- tr_insert_new_(cuesheet, 0, 4, index);
+ tr_insert_new_(cuesheet, 0, 4, indx);
if(!FLAC__metadata_object_cuesheet_track_insert_blank_index(block, 0, 4)) {
printf("FAILED, returned false\n");
return false;
diff --git a/3rdparty/libflac/src/test_libFLAC/test_libFLAC.dsp b/3rdparty/libflac/src/test_libFLAC/test_libFLAC.dsp
deleted file mode 100644
index bc351e3779a..00000000000
--- a/3rdparty/libflac/src/test_libFLAC/test_libFLAC.dsp
+++ /dev/null
@@ -1,148 +0,0 @@
-# Microsoft Developer Studio Project File - Name="test_libFLAC" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=test_libFLAC - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "test_libFLAC.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "test_libFLAC.mak" CFG="test_libFLAC - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "test_libFLAC - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "test_libFLAC - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "test_libFLAC - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\obj\release\bin"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\libFLAC\include" /I "..\..\include" /D "NDEBUG" /D "FLAC__NO_DLL" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\obj\release\lib\grabbag_static.lib ..\..\obj\release\lib\replaygain_analysis_static.lib ..\..\obj\release\lib\test_libs_common_static.lib ..\..\obj\release\lib\libFLAC_static.lib ..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "test_libFLAC - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\obj\debug\bin"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\libFLAC\include" /I "..\..\include" /D "_DEBUG" /D "DEBUG" /D "FLAC__NO_DLL" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\obj\debug\lib\grabbag_static.lib ..\..\obj\debug\lib\replaygain_analysis_static.lib ..\..\obj\debug\lib\test_libs_common_static.lib ..\..\obj\debug\lib\libFLAC_static.lib ..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "test_libFLAC - Win32 Release"
-# Name "test_libFLAC - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\bitwriter.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\decoders.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\encoders.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\format.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\main.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\metadata.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\metadata_manip.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\metadata_object.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\bitwriter.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\decoders.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\encoders.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\format.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\metadata.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/test_libFLAC/test_libFLAC.vcproj b/3rdparty/libflac/src/test_libFLAC/test_libFLAC.vcproj
deleted file mode 100644
index 47988e74eee..00000000000
--- a/3rdparty/libflac/src/test_libFLAC/test_libFLAC.vcproj
+++ /dev/null
@@ -1,252 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="test_libFLAC"
- ProjectGUID="{4cefbc8c-c215-11db-8314-0800200c9a66}"
- RootNamespace="test_libFLAC"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\obj\debug\bin"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".;..\libFLAC\include;..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="2"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\obj\release\bin"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".;..\libFLAC\include;..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="1"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\bitwriter.h"
- >
- </File>
- <File
- RelativePath=".\decoders.h"
- >
- </File>
- <File
- RelativePath=".\encoders.h"
- >
- </File>
- <File
- RelativePath=".\format.h"
- >
- </File>
- <File
- RelativePath=".\metadata.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\bitwriter.c"
- >
- </File>
- <File
- RelativePath=".\decoders.c"
- >
- </File>
- <File
- RelativePath=".\encoders.c"
- >
- </File>
- <File
- RelativePath=".\format.c"
- >
- </File>
- <File
- RelativePath=".\main.c"
- >
- </File>
- <File
- RelativePath=".\metadata.c"
- >
- </File>
- <File
- RelativePath=".\metadata_manip.c"
- >
- </File>
- <File
- RelativePath=".\metadata_object.c"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/test_libs_common/CMakeLists.txt b/3rdparty/libflac/src/test_libs_common/CMakeLists.txt
new file mode 100644
index 00000000000..8a0c87125b1
--- /dev/null
+++ b/3rdparty/libflac/src/test_libs_common/CMakeLists.txt
@@ -0,0 +1,4 @@
+add_library(test_libs_common STATIC
+ file_utils_flac.c
+ metadata_utils.c)
+target_link_libraries(test_libs_common PUBLIC FLAC)
diff --git a/3rdparty/libflac/src/test_libs_common/Makefile.am b/3rdparty/libflac/src/test_libs_common/Makefile.am
index f363f8b6ebb..30e1f157d35 100644
--- a/3rdparty/libflac/src/test_libs_common/Makefile.am
+++ b/3rdparty/libflac/src/test_libs_common/Makefile.am
@@ -1,5 +1,6 @@
# test_libs_common - Common code to library unit tests
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2000-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -11,11 +12,11 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
noinst_LTLIBRARIES = libtest_libs_common.la
@@ -24,7 +25,5 @@ libtest_libs_common_la_SOURCES = \
metadata_utils.c
EXTRA_DIST = \
- Makefile.lite \
- README \
- test_libs_common_static.dsp \
- test_libs_common_static.vcproj
+ CMakeLists.txt \
+ README
diff --git a/3rdparty/libflac/src/test_libs_common/Makefile.in b/3rdparty/libflac/src/test_libs_common/Makefile.in
index 424c04e49cc..83af7f9f290 100644
--- a/3rdparty/libflac/src/test_libs_common/Makefile.in
+++ b/3rdparty/libflac/src/test_libs_common/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,8 @@
@SET_MAKE@
# test_libs_common - Common code to library unit tests
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2000-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -27,20 +28,71 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +104,105 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = src/test_libs_common
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+libtest_libs_common_la_LIBADD =
+am_libtest_libs_common_la_OBJECTS = file_utils_flac.lo \
+ metadata_utils.lo
+libtest_libs_common_la_OBJECTS = $(am_libtest_libs_common_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/file_utils_flac.Plo \
+ ./$(DEPDIR)/metadata_utils.Plo
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(libtest_libs_common_la_SOURCES)
+DIST_SOURCES = $(libtest_libs_common_la_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp README
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,264 +211,239 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
-INCLUDES = -I$(top_srcdir)/include
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
noinst_LTLIBRARIES = libtest_libs_common.la
-
libtest_libs_common_la_SOURCES = \
file_utils_flac.c \
metadata_utils.c
-
EXTRA_DIST = \
- Makefile.lite \
- README \
- test_libs_common_static.dsp \
- test_libs_common_static.vcproj
-
-subdir = src/test_libs_common
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-
-libtest_libs_common_la_LDFLAGS =
-libtest_libs_common_la_LIBADD =
-am_libtest_libs_common_la_OBJECTS = file_utils_flac.lo metadata_utils.lo
-libtest_libs_common_la_OBJECTS = $(am_libtest_libs_common_la_OBJECTS)
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/file_utils_flac.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/metadata_utils.Plo
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(libtest_libs_common_la_SOURCES)
-DIST_COMMON = README $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(libtest_libs_common_la_SOURCES)
+ CMakeLists.txt \
+ README
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/test_libs_common/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/test_libs_common/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/test_libs_common/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
clean-noinstLTLIBRARIES:
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" = "$$p" && dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libtest_libs_common.la: $(libtest_libs_common_la_OBJECTS) $(libtest_libs_common_la_DEPENDENCIES)
- $(LINK) $(libtest_libs_common_la_LDFLAGS) $(libtest_libs_common_la_OBJECTS) $(libtest_libs_common_la_LIBADD) $(LIBS)
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+libtest_libs_common.la: $(libtest_libs_common_la_OBJECTS) $(libtest_libs_common_la_DEPENDENCIES) $(EXTRA_libtest_libs_common_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libtest_libs_common_la_OBJECTS) $(libtest_libs_common_la_LIBADD) $(LIBS)
mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
+ -rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_utils_flac.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata_utils.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_utils_flac.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata_utils.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -331,99 +451,93 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(LTLIBRARIES)
-
installdirs:
install: install-am
install-exec: install-exec-am
@@ -435,16 +549,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -455,31 +575,55 @@ clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/file_utils_flac.Plo
+ -rm -f ./$(DEPDIR)/metadata_utils.Plo
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/file_utils_flac.Plo
+ -rm -f ./$(DEPDIR)/metadata_utils.Plo
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -496,18 +640,26 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
- pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-generic clean-libtool clean-noinstLTLIBRARIES \
+ cscopelist-am ctags ctags-am distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/src/test_libs_common/Makefile.lite b/3rdparty/libflac/src/test_libs_common/Makefile.lite
deleted file mode 100644
index fe7c92f8051..00000000000
--- a/3rdparty/libflac/src/test_libs_common/Makefile.lite
+++ /dev/null
@@ -1,35 +0,0 @@
-# test_libs_common - Common code to library unit tests
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#
-# GNU makefile
-#
-
-topdir = ../..
-libdir = $(topdir)/obj/$(BUILD)/lib
-
-LIB_NAME = libtest_libs_common
-
-INCLUDES = -I$(topdir)/include
-
-SRCS_C = \
- file_utils_flac.c \
- metadata_utils.c
-
-include $(topdir)/build/lib.mk
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/src/test_libs_common/file_utils_flac.c b/3rdparty/libflac/src/test_libs_common/file_utils_flac.c
index a52fee09f26..3cc8c308a73 100644
--- a/3rdparty/libflac/src/test_libs_common/file_utils_flac.c
+++ b/3rdparty/libflac/src/test_libs_common/file_utils_flac.c
@@ -1,5 +1,6 @@
/* test_libFLAC - Unit tester for libFLAC
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,12 +12,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -26,6 +27,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h> /* for stat() */
+#include "share/compat.h"
#ifdef min
#undef min
@@ -50,7 +52,7 @@ typedef struct {
FILE *file;
} encoder_client_struct;
-static FLAC__StreamEncoderWriteStatus encoder_write_callback_(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data)
+static FLAC__StreamEncoderWriteStatus encoder_write_callback_(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame, void *client_data)
{
encoder_client_struct *ecd = (encoder_client_struct*)client_data;
@@ -67,20 +69,20 @@ static void encoder_metadata_callback_(const FLAC__StreamEncoder *encoder, const
(void)encoder, (void)metadata, (void)client_data;
}
-FLAC__bool file_utils__generate_flacfile(FLAC__bool is_ogg, const char *output_filename, off_t *output_filesize, unsigned length, const FLAC__StreamMetadata *streaminfo, FLAC__StreamMetadata **metadata, unsigned num_metadata)
+FLAC__bool file_utils__generate_flacfile(FLAC__bool is_ogg, const char *output_filename, FLAC__off_t *output_filesize, uint32_t length, const FLAC__StreamMetadata *streaminfo, FLAC__StreamMetadata **metadata, uint32_t num_metadata)
{
FLAC__int32 samples[1024];
FLAC__StreamEncoder *encoder;
FLAC__StreamEncoderInitStatus init_status;
encoder_client_struct encoder_client_data;
- unsigned i, n;
+ uint32_t i, n;
FLAC__ASSERT(0 != output_filename);
FLAC__ASSERT(0 != streaminfo);
FLAC__ASSERT(streaminfo->type == FLAC__METADATA_TYPE_STREAMINFO);
FLAC__ASSERT((streaminfo->is_last && num_metadata == 0) || (!streaminfo->is_last && num_metadata > 0));
- if(0 == (encoder_client_data.file = fopen(output_filename, "wb")))
+ if(0 == (encoder_client_data.file = flac_fopen(output_filename, "wb")))
return false;
encoder = FLAC__stream_encoder_new();
@@ -141,9 +143,9 @@ FLAC__bool file_utils__generate_flacfile(FLAC__bool is_ogg, const char *output_f
FLAC__stream_encoder_delete(encoder);
if(0 != output_filesize) {
- struct stat filestats;
+ struct flac_stat_s filestats;
- if(stat(output_filename, &filestats) != 0)
+ if(flac_stat(output_filename, &filestats) != 0)
return false;
else
*output_filesize = filestats.st_size;
diff --git a/3rdparty/libflac/src/test_libs_common/metadata_utils.c b/3rdparty/libflac/src/test_libs_common/metadata_utils.c
index fe192e7c017..929ca63912f 100644
--- a/3rdparty/libflac/src/test_libs_common/metadata_utils.c
+++ b/3rdparty/libflac/src/test_libs_common/metadata_utils.c
@@ -1,5 +1,6 @@
/* test_libFLAC - Unit tester for libFLAC
- * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2002-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,21 +12,22 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/*
* These are not tests, just utility functions used by the metadata tests
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "FLAC/metadata.h"
#include "test_libs_common/metadata_utils.h"
+#include "share/compat.h"
#include <stdio.h>
#include <stdlib.h> /* for malloc() */
#include <string.h> /* for memcmp() */
@@ -61,61 +63,57 @@ FLAC__bool mutils__compare_block_data_streaminfo(const FLAC__StreamMetadata_Stre
return false;
}
if(blockcopy->total_samples != block->total_samples) {
-#ifdef _MSC_VER
- printf("FAILED, total_samples mismatch, expected %I64u, got %I64u\n", block->total_samples, blockcopy->total_samples);
-#else
- printf("FAILED, total_samples mismatch, expected %llu, got %llu\n", (unsigned long long)block->total_samples, (unsigned long long)blockcopy->total_samples);
-#endif
+ printf("FAILED, total_samples mismatch, expected %" PRIu64 ", got %" PRIu64 "\n", block->total_samples, blockcopy->total_samples);
return false;
}
if(0 != memcmp(blockcopy->md5sum, block->md5sum, sizeof(block->md5sum))) {
printf("FAILED, md5sum mismatch, expected %02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X, got %02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X\n",
- (unsigned)block->md5sum[0],
- (unsigned)block->md5sum[1],
- (unsigned)block->md5sum[2],
- (unsigned)block->md5sum[3],
- (unsigned)block->md5sum[4],
- (unsigned)block->md5sum[5],
- (unsigned)block->md5sum[6],
- (unsigned)block->md5sum[7],
- (unsigned)block->md5sum[8],
- (unsigned)block->md5sum[9],
- (unsigned)block->md5sum[10],
- (unsigned)block->md5sum[11],
- (unsigned)block->md5sum[12],
- (unsigned)block->md5sum[13],
- (unsigned)block->md5sum[14],
- (unsigned)block->md5sum[15],
- (unsigned)blockcopy->md5sum[0],
- (unsigned)blockcopy->md5sum[1],
- (unsigned)blockcopy->md5sum[2],
- (unsigned)blockcopy->md5sum[3],
- (unsigned)blockcopy->md5sum[4],
- (unsigned)blockcopy->md5sum[5],
- (unsigned)blockcopy->md5sum[6],
- (unsigned)blockcopy->md5sum[7],
- (unsigned)blockcopy->md5sum[8],
- (unsigned)blockcopy->md5sum[9],
- (unsigned)blockcopy->md5sum[10],
- (unsigned)blockcopy->md5sum[11],
- (unsigned)blockcopy->md5sum[12],
- (unsigned)blockcopy->md5sum[13],
- (unsigned)blockcopy->md5sum[14],
- (unsigned)blockcopy->md5sum[15]
+ (uint32_t)block->md5sum[0],
+ (uint32_t)block->md5sum[1],
+ (uint32_t)block->md5sum[2],
+ (uint32_t)block->md5sum[3],
+ (uint32_t)block->md5sum[4],
+ (uint32_t)block->md5sum[5],
+ (uint32_t)block->md5sum[6],
+ (uint32_t)block->md5sum[7],
+ (uint32_t)block->md5sum[8],
+ (uint32_t)block->md5sum[9],
+ (uint32_t)block->md5sum[10],
+ (uint32_t)block->md5sum[11],
+ (uint32_t)block->md5sum[12],
+ (uint32_t)block->md5sum[13],
+ (uint32_t)block->md5sum[14],
+ (uint32_t)block->md5sum[15],
+ (uint32_t)blockcopy->md5sum[0],
+ (uint32_t)blockcopy->md5sum[1],
+ (uint32_t)blockcopy->md5sum[2],
+ (uint32_t)blockcopy->md5sum[3],
+ (uint32_t)blockcopy->md5sum[4],
+ (uint32_t)blockcopy->md5sum[5],
+ (uint32_t)blockcopy->md5sum[6],
+ (uint32_t)blockcopy->md5sum[7],
+ (uint32_t)blockcopy->md5sum[8],
+ (uint32_t)blockcopy->md5sum[9],
+ (uint32_t)blockcopy->md5sum[10],
+ (uint32_t)blockcopy->md5sum[11],
+ (uint32_t)blockcopy->md5sum[12],
+ (uint32_t)blockcopy->md5sum[13],
+ (uint32_t)blockcopy->md5sum[14],
+ (uint32_t)blockcopy->md5sum[15]
);
return false;
}
return true;
}
-FLAC__bool mutils__compare_block_data_padding(const FLAC__StreamMetadata_Padding *block, const FLAC__StreamMetadata_Padding *blockcopy, unsigned block_length)
+FLAC__bool mutils__compare_block_data_padding(const FLAC__StreamMetadata_Padding *block, const FLAC__StreamMetadata_Padding *blockcopy, uint32_t block_length)
{
/* we don't compare the padding guts */
(void)block, (void)blockcopy, (void)block_length;
return true;
}
-FLAC__bool mutils__compare_block_data_application(const FLAC__StreamMetadata_Application *block, const FLAC__StreamMetadata_Application *blockcopy, unsigned block_length)
+FLAC__bool mutils__compare_block_data_application(const FLAC__StreamMetadata_Application *block, const FLAC__StreamMetadata_Application *blockcopy, uint32_t block_length)
{
if(block_length < sizeof(block->id)) {
printf("FAILED, bad block length = %u\n", block_length);
@@ -123,14 +121,14 @@ FLAC__bool mutils__compare_block_data_application(const FLAC__StreamMetadata_App
}
if(0 != memcmp(blockcopy->id, block->id, sizeof(block->id))) {
printf("FAILED, id mismatch, expected %02X%02X%02X%02X, got %02X%02X%02X%02X\n",
- (unsigned)block->id[0],
- (unsigned)block->id[1],
- (unsigned)block->id[2],
- (unsigned)block->id[3],
- (unsigned)blockcopy->id[0],
- (unsigned)blockcopy->id[1],
- (unsigned)blockcopy->id[2],
- (unsigned)blockcopy->id[3]
+ (uint32_t)block->id[0],
+ (uint32_t)block->id[1],
+ (uint32_t)block->id[2],
+ (uint32_t)block->id[3],
+ (uint32_t)blockcopy->id[0],
+ (uint32_t)blockcopy->id[1],
+ (uint32_t)blockcopy->id[2],
+ (uint32_t)blockcopy->id[3]
);
return false;
}
@@ -159,26 +157,18 @@ FLAC__bool mutils__compare_block_data_application(const FLAC__StreamMetadata_App
FLAC__bool mutils__compare_block_data_seektable(const FLAC__StreamMetadata_SeekTable *block, const FLAC__StreamMetadata_SeekTable *blockcopy)
{
- unsigned i;
+ uint32_t i;
if(blockcopy->num_points != block->num_points) {
printf("FAILED, num_points mismatch, expected %u, got %u\n", block->num_points, blockcopy->num_points);
return false;
}
for(i = 0; i < block->num_points; i++) {
if(blockcopy->points[i].sample_number != block->points[i].sample_number) {
-#ifdef _MSC_VER
- printf("FAILED, points[%u].sample_number mismatch, expected %I64u, got %I64u\n", i, block->points[i].sample_number, blockcopy->points[i].sample_number);
-#else
- printf("FAILED, points[%u].sample_number mismatch, expected %llu, got %llu\n", i, (unsigned long long)block->points[i].sample_number, (unsigned long long)blockcopy->points[i].sample_number);
-#endif
+ printf("FAILED, points[%u].sample_number mismatch, expected %" PRIu64 ", got %" PRIu64 "\n", i, block->points[i].sample_number, blockcopy->points[i].sample_number);
return false;
}
if(blockcopy->points[i].stream_offset != block->points[i].stream_offset) {
-#ifdef _MSC_VER
- printf("FAILED, points[%u].stream_offset mismatch, expected %I64u, got %I64u\n", i, block->points[i].stream_offset, blockcopy->points[i].stream_offset);
-#else
- printf("FAILED, points[%u].stream_offset mismatch, expected %llu, got %llu\n", i, (unsigned long long)block->points[i].stream_offset, (unsigned long long)blockcopy->points[i].stream_offset);
-#endif
+ printf("FAILED, points[%u].stream_offset mismatch, expected %" PRIu64 ", got %" PRIu64 "\n", i, block->points[i].stream_offset, blockcopy->points[i].stream_offset);
return false;
}
if(blockcopy->points[i].frame_samples != block->points[i].frame_samples) {
@@ -191,7 +181,7 @@ FLAC__bool mutils__compare_block_data_seektable(const FLAC__StreamMetadata_SeekT
FLAC__bool mutils__compare_block_data_vorbiscomment(const FLAC__StreamMetadata_VorbisComment *block, const FLAC__StreamMetadata_VorbisComment *blockcopy)
{
- unsigned i;
+ uint32_t i;
if(blockcopy->vendor_string.length != block->vendor_string.length) {
printf("FAILED, vendor_string.length mismatch, expected %u, got %u\n", block->vendor_string.length, blockcopy->vendor_string.length);
return false;
@@ -233,22 +223,18 @@ FLAC__bool mutils__compare_block_data_vorbiscomment(const FLAC__StreamMetadata_V
FLAC__bool mutils__compare_block_data_cuesheet(const FLAC__StreamMetadata_CueSheet *block, const FLAC__StreamMetadata_CueSheet *blockcopy)
{
- unsigned i, j;
+ uint32_t i, j;
if(0 != strcmp(blockcopy->media_catalog_number, block->media_catalog_number)) {
printf("FAILED, media_catalog_number mismatch, expected %s, got %s\n", block->media_catalog_number, blockcopy->media_catalog_number);
return false;
}
if(blockcopy->lead_in != block->lead_in) {
-#ifdef _MSC_VER
- printf("FAILED, lead_in mismatch, expected %I64u, got %I64u\n", block->lead_in, blockcopy->lead_in);
-#else
- printf("FAILED, lead_in mismatch, expected %llu, got %llu\n", (unsigned long long)block->lead_in, (unsigned long long)blockcopy->lead_in);
-#endif
+ printf("FAILED, lead_in mismatch, expected %" PRIu64 ", got %" PRIu64 "\n", block->lead_in, blockcopy->lead_in);
return false;
}
if(blockcopy->is_cd != block->is_cd) {
- printf("FAILED, is_cd mismatch, expected %u, got %u\n", (unsigned)block->is_cd, (unsigned)blockcopy->is_cd);
+ printf("FAILED, is_cd mismatch, expected %u, got %u\n", (uint32_t)block->is_cd, (uint32_t)blockcopy->is_cd);
return false;
}
if(blockcopy->num_tracks != block->num_tracks) {
@@ -257,19 +243,15 @@ FLAC__bool mutils__compare_block_data_cuesheet(const FLAC__StreamMetadata_CueShe
}
for(i = 0; i < block->num_tracks; i++) {
if(blockcopy->tracks[i].offset != block->tracks[i].offset) {
-#ifdef _MSC_VER
- printf("FAILED, tracks[%u].offset mismatch, expected %I64u, got %I64u\n", i, block->tracks[i].offset, blockcopy->tracks[i].offset);
-#else
- printf("FAILED, tracks[%u].offset mismatch, expected %llu, got %llu\n", i, (unsigned long long)block->tracks[i].offset, (unsigned long long)blockcopy->tracks[i].offset);
-#endif
+ printf("FAILED, tracks[%u].offset mismatch, expected %" PRIu64 ", got %" PRIu64 "\n", i, block->tracks[i].offset, blockcopy->tracks[i].offset);
return false;
}
if(blockcopy->tracks[i].number != block->tracks[i].number) {
- printf("FAILED, tracks[%u].number mismatch, expected %u, got %u\n", i, (unsigned)block->tracks[i].number, (unsigned)blockcopy->tracks[i].number);
+ printf("FAILED, tracks[%u].number mismatch, expected %u, got %u\n", i, (uint32_t)block->tracks[i].number, (uint32_t)blockcopy->tracks[i].number);
return false;
}
if(blockcopy->tracks[i].num_indices != block->tracks[i].num_indices) {
- printf("FAILED, tracks[%u].num_indices mismatch, expected %u, got %u\n", i, (unsigned)block->tracks[i].num_indices, (unsigned)blockcopy->tracks[i].num_indices);
+ printf("FAILED, tracks[%u].num_indices mismatch, expected %u, got %u\n", i, (uint32_t)block->tracks[i].num_indices, (uint32_t)blockcopy->tracks[i].num_indices);
return false;
}
/* num_indices == 0 means lead-out track so only the track offset and number are valid */
@@ -279,11 +261,11 @@ FLAC__bool mutils__compare_block_data_cuesheet(const FLAC__StreamMetadata_CueShe
return false;
}
if(blockcopy->tracks[i].type != block->tracks[i].type) {
- printf("FAILED, tracks[%u].type mismatch, expected %u, got %u\n", i, (unsigned)block->tracks[i].type, (unsigned)blockcopy->tracks[i].type);
+ printf("FAILED, tracks[%u].type mismatch, expected %u, got %u\n", i, (uint32_t)block->tracks[i].type, (uint32_t)blockcopy->tracks[i].type);
return false;
}
if(blockcopy->tracks[i].pre_emphasis != block->tracks[i].pre_emphasis) {
- printf("FAILED, tracks[%u].pre_emphasis mismatch, expected %u, got %u\n", i, (unsigned)block->tracks[i].pre_emphasis, (unsigned)blockcopy->tracks[i].pre_emphasis);
+ printf("FAILED, tracks[%u].pre_emphasis mismatch, expected %u, got %u\n", i, (uint32_t)block->tracks[i].pre_emphasis, (uint32_t)blockcopy->tracks[i].pre_emphasis);
return false;
}
if(0 == block->tracks[i].indices || 0 == blockcopy->tracks[i].indices) {
@@ -295,15 +277,11 @@ FLAC__bool mutils__compare_block_data_cuesheet(const FLAC__StreamMetadata_CueShe
else {
for(j = 0; j < block->tracks[i].num_indices; j++) {
if(blockcopy->tracks[i].indices[j].offset != block->tracks[i].indices[j].offset) {
-#ifdef _MSC_VER
- printf("FAILED, tracks[%u].indices[%u].offset mismatch, expected %I64u, got %I64u\n", i, j, block->tracks[i].indices[j].offset, blockcopy->tracks[i].indices[j].offset);
-#else
- printf("FAILED, tracks[%u].indices[%u].offset mismatch, expected %llu, got %llu\n", i, j, (unsigned long long)block->tracks[i].indices[j].offset, (unsigned long long)blockcopy->tracks[i].indices[j].offset);
-#endif
+ printf("FAILED, tracks[%u].indices[%u].offset mismatch, expected %" PRIu64 ", got %" PRIu64 "\n", i, j, block->tracks[i].indices[j].offset, blockcopy->tracks[i].indices[j].offset);
return false;
}
if(blockcopy->tracks[i].indices[j].number != block->tracks[i].indices[j].number) {
- printf("FAILED, tracks[%u].indices[%u].number mismatch, expected %u, got %u\n", i, j, (unsigned)block->tracks[i].indices[j].number, (unsigned)blockcopy->tracks[i].indices[j].number);
+ printf("FAILED, tracks[%u].indices[%u].number mismatch, expected %u, got %u\n", i, j, (uint32_t)block->tracks[i].indices[j].number, (uint32_t)blockcopy->tracks[i].indices[j].number);
return false;
}
}
@@ -317,13 +295,13 @@ FLAC__bool mutils__compare_block_data_picture(const FLAC__StreamMetadata_Picture
{
size_t len, lencopy;
if(blockcopy->type != block->type) {
- printf("FAILED, type mismatch, expected %u, got %u\n", (unsigned)block->type, (unsigned)blockcopy->type);
+ printf("FAILED, type mismatch, expected %u, got %u\n", (uint32_t)block->type, (uint32_t)blockcopy->type);
return false;
}
len = strlen(block->mime_type);
lencopy = strlen(blockcopy->mime_type);
if(lencopy != len) {
- printf("FAILED, mime_type length mismatch, expected %u, got %u\n", (unsigned)len, (unsigned)lencopy);
+ printf("FAILED, mime_type length mismatch, expected %u, got %u\n", (uint32_t)len, (uint32_t)lencopy);
return false;
}
if(strcmp(blockcopy->mime_type, block->mime_type)) {
@@ -333,7 +311,7 @@ FLAC__bool mutils__compare_block_data_picture(const FLAC__StreamMetadata_Picture
len = strlen((const char *)block->description);
lencopy = strlen((const char *)blockcopy->description);
if(lencopy != len) {
- printf("FAILED, description length mismatch, expected %u, got %u\n", (unsigned)len, (unsigned)lencopy);
+ printf("FAILED, description length mismatch, expected %u, got %u\n", (uint32_t)len, (uint32_t)lencopy);
return false;
}
if(strcmp((const char *)blockcopy->description, (const char *)block->description)) {
@@ -360,14 +338,14 @@ FLAC__bool mutils__compare_block_data_picture(const FLAC__StreamMetadata_Picture
printf("FAILED, data_length mismatch, expected %u, got %u\n", block->data_length, blockcopy->data_length);
return false;
}
- if(memcmp(blockcopy->data, block->data, block->data_length)) {
+ if(block->data_length > 0 && memcmp(blockcopy->data, block->data, block->data_length)) {
printf("FAILED, data mismatch\n");
return false;
}
return true;
}
-FLAC__bool mutils__compare_block_data_unknown(const FLAC__StreamMetadata_Unknown *block, const FLAC__StreamMetadata_Unknown *blockcopy, unsigned block_length)
+FLAC__bool mutils__compare_block_data_unknown(const FLAC__StreamMetadata_Unknown *block, const FLAC__StreamMetadata_Unknown *blockcopy, uint32_t block_length)
{
if(0 == block->data || 0 == blockcopy->data) {
if(block->data != blockcopy->data) {
@@ -399,7 +377,7 @@ FLAC__bool mutils__compare_block(const FLAC__StreamMetadata *block, const FLAC__
return false;
}
if(blockcopy->is_last != block->is_last) {
- printf("FAILED, is_last mismatch, expected %u, got %u\n", (unsigned)block->is_last, (unsigned)blockcopy->is_last);
+ printf("FAILED, is_last mismatch, expected %u, got %u\n", (uint32_t)block->is_last, (uint32_t)blockcopy->is_last);
return false;
}
if(blockcopy->length != block->length) {
@@ -430,7 +408,7 @@ static void *malloc_or_die_(size_t size)
{
void *x = malloc(size);
if(0 == x) {
- fprintf(stderr, "ERROR: out of memory allocating %u bytes\n", (unsigned)size);
+ fprintf(stderr, "ERROR: out of memory allocating %u bytes\n", (uint32_t)size);
exit(1);
}
return x;
@@ -440,7 +418,7 @@ static void *calloc_or_die_(size_t n, size_t size)
{
void *x = calloc(n, size);
if(0 == x) {
- fprintf(stderr, "ERROR: out of memory allocating %u bytes\n", (unsigned)n * (unsigned)size);
+ fprintf(stderr, "ERROR: out of memory allocating %u bytes\n", (uint32_t)n * (uint32_t)size);
exit(1);
}
return x;
@@ -498,7 +476,7 @@ void mutils__init_metadata_blocks(
seektable->type = FLAC__METADATA_TYPE_SEEKTABLE;
seektable->data.seek_table.num_points = 2;
seektable->length = seektable->data.seek_table.num_points * FLAC__STREAM_METADATA_SEEKPOINT_LENGTH;
- seektable->data.seek_table.points = (FLAC__StreamMetadata_SeekPoint*)malloc_or_die_(seektable->data.seek_table.num_points * sizeof(FLAC__StreamMetadata_SeekPoint));
+ seektable->data.seek_table.points = malloc_or_die_(seektable->data.seek_table.num_points * sizeof(FLAC__StreamMetadata_SeekPoint));
seektable->data.seek_table.points[0].sample_number = 0;
seektable->data.seek_table.points[0].stream_offset = 0;
seektable->data.seek_table.points[0].frame_samples = streaminfo->data.stream_info.min_blocksize;
@@ -509,31 +487,32 @@ void mutils__init_metadata_blocks(
application1->is_last = false;
application1->type = FLAC__METADATA_TYPE_APPLICATION;
application1->length = 8;
- memcpy(application1->data.application.id, "\xfe\xdc\xba\x98", 4);
- application1->data.application.data = (FLAC__byte*)malloc_or_die_(4);
+ memcpy(application1->data.application.id, "This", 4);
+ application1->data.application.data = malloc_or_die_(4);
memcpy(application1->data.application.data, "\xf0\xe1\xd2\xc3", 4);
application2->is_last = false;
application2->type = FLAC__METADATA_TYPE_APPLICATION;
application2->length = 4;
- memcpy(application2->data.application.id, "\x76\x54\x32\x10", 4);
+ memcpy(application2->data.application.id, "Here", 4);
application2->data.application.data = 0;
{
- const unsigned vendor_string_length = (unsigned)strlen(FLAC__VENDOR_STRING);
+ const uint32_t vendor_string_length = (uint32_t)strlen(FLAC__VENDOR_STRING);
vorbiscomment->is_last = false;
vorbiscomment->type = FLAC__METADATA_TYPE_VORBIS_COMMENT;
vorbiscomment->length = (4 + vendor_string_length) + 4 + (4 + 5) + (4 + 0);
vorbiscomment->data.vorbis_comment.vendor_string.length = vendor_string_length;
- vorbiscomment->data.vorbis_comment.vendor_string.entry = (FLAC__byte*)malloc_or_die_(vendor_string_length+1);
+ vorbiscomment->data.vorbis_comment.vendor_string.entry = malloc_or_die_(vendor_string_length+1);
memcpy(vorbiscomment->data.vorbis_comment.vendor_string.entry, FLAC__VENDOR_STRING, vendor_string_length+1);
vorbiscomment->data.vorbis_comment.num_comments = 2;
- vorbiscomment->data.vorbis_comment.comments = (FLAC__StreamMetadata_VorbisComment_Entry*)malloc_or_die_(vorbiscomment->data.vorbis_comment.num_comments * sizeof(FLAC__StreamMetadata_VorbisComment_Entry));
+ vorbiscomment->data.vorbis_comment.comments = malloc_or_die_(vorbiscomment->data.vorbis_comment.num_comments * sizeof(FLAC__StreamMetadata_VorbisComment_Entry));
vorbiscomment->data.vorbis_comment.comments[0].length = 5;
- vorbiscomment->data.vorbis_comment.comments[0].entry = (FLAC__byte*)malloc_or_die_(5+1);
+ vorbiscomment->data.vorbis_comment.comments[0].entry = malloc_or_die_(5+1);
memcpy(vorbiscomment->data.vorbis_comment.comments[0].entry, "ab=cd", 5+1);
vorbiscomment->data.vorbis_comment.comments[1].length = 0;
- vorbiscomment->data.vorbis_comment.comments[1].entry = 0;
+ vorbiscomment->data.vorbis_comment.comments[1].entry = malloc_or_die_(1);
+ vorbiscomment->data.vorbis_comment.comments[1].entry[0] = '\0';
}
cuesheet->is_last = false;
@@ -570,14 +549,14 @@ void mutils__init_metadata_blocks(
cuesheet->data.cue_sheet.lead_in = 2 * 44100;
cuesheet->data.cue_sheet.is_cd = true;
cuesheet->data.cue_sheet.num_tracks = 3;
- cuesheet->data.cue_sheet.tracks = (FLAC__StreamMetadata_CueSheet_Track*)calloc_or_die_(cuesheet->data.cue_sheet.num_tracks, sizeof(FLAC__StreamMetadata_CueSheet_Track));
+ cuesheet->data.cue_sheet.tracks = calloc_or_die_(cuesheet->data.cue_sheet.num_tracks, sizeof(FLAC__StreamMetadata_CueSheet_Track));
cuesheet->data.cue_sheet.tracks[0].offset = 0;
cuesheet->data.cue_sheet.tracks[0].number = 1;
memcpy(cuesheet->data.cue_sheet.tracks[0].isrc, "ACBDE1234567", sizeof(cuesheet->data.cue_sheet.tracks[0].isrc));
cuesheet->data.cue_sheet.tracks[0].type = 0;
cuesheet->data.cue_sheet.tracks[0].pre_emphasis = 1;
cuesheet->data.cue_sheet.tracks[0].num_indices = 2;
- cuesheet->data.cue_sheet.tracks[0].indices = (FLAC__StreamMetadata_CueSheet_Index*)malloc_or_die_(cuesheet->data.cue_sheet.tracks[0].num_indices * sizeof(FLAC__StreamMetadata_CueSheet_Index));
+ cuesheet->data.cue_sheet.tracks[0].indices = malloc_or_die_(cuesheet->data.cue_sheet.tracks[0].num_indices * sizeof(FLAC__StreamMetadata_CueSheet_Index));
cuesheet->data.cue_sheet.tracks[0].indices[0].offset = 0;
cuesheet->data.cue_sheet.tracks[0].indices[0].number = 0;
cuesheet->data.cue_sheet.tracks[0].indices[1].offset = 123 * 588;
@@ -588,7 +567,7 @@ void mutils__init_metadata_blocks(
cuesheet->data.cue_sheet.tracks[1].type = 1;
cuesheet->data.cue_sheet.tracks[1].pre_emphasis = 0;
cuesheet->data.cue_sheet.tracks[1].num_indices = 1;
- cuesheet->data.cue_sheet.tracks[1].indices = (FLAC__StreamMetadata_CueSheet_Index*)malloc_or_die_(cuesheet->data.cue_sheet.tracks[1].num_indices * sizeof(FLAC__StreamMetadata_CueSheet_Index));
+ cuesheet->data.cue_sheet.tracks[1].indices = malloc_or_die_(cuesheet->data.cue_sheet.tracks[1].num_indices * sizeof(FLAC__StreamMetadata_CueSheet_Index));
cuesheet->data.cue_sheet.tracks[1].indices[0].offset = 0;
cuesheet->data.cue_sheet.tracks[1].indices[0].number = 1;
cuesheet->data.cue_sheet.tracks[2].offset = 12345 * 588;
@@ -625,7 +604,7 @@ void mutils__init_metadata_blocks(
unknown->is_last = true;
unknown->type = 126;
unknown->length = 8;
- unknown->data.unknown.data = (FLAC__byte*)malloc_or_die_(unknown->length);
+ unknown->data.unknown.data = malloc_or_die_(unknown->length);
memcpy(unknown->data.unknown.data, "\xfe\xdc\xba\x98\xf0\xe1\xd2\xc3", unknown->length);
}
diff --git a/3rdparty/libflac/src/test_libs_common/test_libs_common_static.dsp b/3rdparty/libflac/src/test_libs_common/test_libs_common_static.dsp
deleted file mode 100644
index 3989317c70d..00000000000
--- a/3rdparty/libflac/src/test_libs_common/test_libs_common_static.dsp
+++ /dev/null
@@ -1,108 +0,0 @@
-# Microsoft Developer Studio Project File - Name="test_libs_common_static" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=test_libs_common_static - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "test_libs_common_static.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "test_libs_common_static.mak" CFG="test_libs_common_static - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "test_libs_common_static - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "test_libs_common_static - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "test_libs_common"
-# PROP Scc_LocalPath "..\.."
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "test_libs_common_static - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\obj\release\lib"
-# PROP Intermediate_Dir "Release_static"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /Op /I ".\include" /I "..\..\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /nodefaultlib
-
-!ELSEIF "$(CFG)" == "test_libs_common_static - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\obj\debug\lib"
-# PROP Intermediate_Dir "Debug_static"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I ".\include" /I "..\..\include" /D "WIN32" /D "_DEBUG" /D "DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /nodefaultlib
-
-!ENDIF
-
-# Begin Target
-
-# Name "test_libs_common_static - Win32 Release"
-# Name "test_libs_common_static - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "c"
-# Begin Source File
-
-SOURCE=.\file_utils_flac.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\metadata_utils.c
-# End Source File
-# End Group
-# Begin Group "Public Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\include\test_libs_common\file_utils_flac.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\test_libs_common\metadata_utils.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/test_libs_common/test_libs_common_static.vcproj b/3rdparty/libflac/src/test_libs_common/test_libs_common_static.vcproj
deleted file mode 100644
index b1c9074ea9a..00000000000
--- a/3rdparty/libflac/src/test_libs_common/test_libs_common_static.vcproj
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="test_libs_common_static"
- ProjectGUID="{4cefbc8e-c215-11db-8314-0800200c9a66}"
- RootNamespace="test_libs_common_static"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\obj\debug\lib"
- IntermediateDirectory="Debug_static"
- ConfigurationType="4"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".\include;..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\obj\debug\lib\$(ProjectName).lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\obj\release\lib"
- IntermediateDirectory="Release_static"
- ConfigurationType="4"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".\include;..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\obj\release\lib\$(ProjectName).lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\file_utils_flac.c"
- >
- </File>
- <File
- RelativePath=".\metadata_utils.c"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/test_seeking/CMakeLists.txt b/3rdparty/libflac/src/test_seeking/CMakeLists.txt
new file mode 100644
index 00000000000..51442916cf5
--- /dev/null
+++ b/3rdparty/libflac/src/test_seeking/CMakeLists.txt
@@ -0,0 +1,5 @@
+add_executable(test_seeking
+ main.c
+ $<$<BOOL:${WIN32}>:../../include/share/win_utf8_io.h>
+ $<$<BOOL:${WIN32}>:../share/win_utf8_io/win_utf8_io.c>)
+target_link_libraries(test_seeking FLAC)
diff --git a/3rdparty/libflac/src/test_seeking/Makefile.am b/3rdparty/libflac/src/test_seeking/Makefile.am
index 120e233fb1e..9c9b8da89e4 100644
--- a/3rdparty/libflac/src/test_seeking/Makefile.am
+++ b/3rdparty/libflac/src/test_seeking/Makefile.am
@@ -1,5 +1,6 @@
# test_seeking - Seeking tester for libFLAC
-# Copyright (C) 2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2004-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -11,24 +12,28 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
EXTRA_DIST = \
- Makefile.lite \
- test_seeking.dsp \
- test_seeking.vcproj
+ CMakeLists.txt
AM_CFLAGS = @OGG_CFLAGS@
-INCLUDES =
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
+
+check_PROGRAMS = test_seeking
+
+if OS_IS_WINDOWS
+win_utf8_lib = $(top_builddir)/src/share/win_utf8_io/libwin_utf8_io.la
+endif
-noinst_PROGRAMS = test_seeking
test_seeking_LDADD = \
$(top_builddir)/src/libFLAC/libFLAC.la \
- @OGG_LIBS@ \
- @MINGW_WINSOCK_LIBS@ \
- -lm
+ $(win_utf8_lib)
+
test_seeking_SOURCES = \
main.c
+
+CLEANFILES = test_seeking.exe
diff --git a/3rdparty/libflac/src/test_seeking/Makefile.in b/3rdparty/libflac/src/test_seeking/Makefile.in
index 552d9728849..531354c95fd 100644
--- a/3rdparty/libflac/src/test_seeking/Makefile.in
+++ b/3rdparty/libflac/src/test_seeking/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,8 @@
@SET_MAKE@
# test_seeking - Seeking tester for libFLAC
-# Copyright (C) 2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2004-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -27,20 +28,70 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,104 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+check_PROGRAMS = test_seeking$(EXEEXT)
+subdir = src/test_seeking
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am_test_seeking_OBJECTS = main.$(OBJEXT)
+test_seeking_OBJECTS = $(am_test_seeking_OBJECTS)
+test_seeking_DEPENDENCIES = $(top_builddir)/src/libFLAC/libFLAC.la \
+ $(win_utf8_lib)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/main.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(test_seeking_SOURCES)
+DIST_SOURCES = $(test_seeking_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,267 +209,241 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
EXTRA_DIST = \
- Makefile.lite \
- test_seeking.dsp \
- test_seeking.vcproj
-
+ CMakeLists.txt
AM_CFLAGS = @OGG_CFLAGS@
-
-INCLUDES =
-
-noinst_PROGRAMS = test_seeking
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
+@OS_IS_WINDOWS_TRUE@win_utf8_lib = $(top_builddir)/src/share/win_utf8_io/libwin_utf8_io.la
test_seeking_LDADD = \
$(top_builddir)/src/libFLAC/libFLAC.la \
- @OGG_LIBS@ \
- @MINGW_WINSOCK_LIBS@ \
- -lm
+ $(win_utf8_lib)
test_seeking_SOURCES = \
main.c
-subdir = src/test_seeking
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-noinst_PROGRAMS = test_seeking$(EXEEXT)
-PROGRAMS = $(noinst_PROGRAMS)
-
-am_test_seeking_OBJECTS = main.$(OBJEXT)
-test_seeking_OBJECTS = $(am_test_seeking_OBJECTS)
-test_seeking_DEPENDENCIES = $(top_builddir)/src/libFLAC/libFLAC.la
-test_seeking_LDFLAGS =
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/main.Po
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(test_seeking_SOURCES)
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(test_seeking_SOURCES)
-
+CLEANFILES = test_seeking.exe
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/test_seeking/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-test_seeking$(EXEEXT): $(test_seeking_OBJECTS) $(test_seeking_DEPENDENCIES)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/test_seeking/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/test_seeking/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+test_seeking$(EXEEXT): $(test_seeking_OBJECTS) $(test_seeking_DEPENDENCIES) $(EXTRA_test_seeking_DEPENDENCIES)
@rm -f test_seeking$(EXEEXT)
- $(LINK) $(test_seeking_LDFLAGS) $(test_seeking_OBJECTS) $(test_seeking_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(test_seeking_OBJECTS) $(test_seeking_LDADD) $(LIBS)
mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
+ -rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -334,99 +451,94 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
check: check-am
-all-am: Makefile $(PROGRAMS)
-
+all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
@@ -438,51 +550,80 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/main.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/main.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -499,18 +640,26 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
- pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/src/test_seeking/Makefile.lite b/3rdparty/libflac/src/test_seeking/Makefile.lite
deleted file mode 100644
index 0df91a0cb73..00000000000
--- a/3rdparty/libflac/src/test_seeking/Makefile.lite
+++ /dev/null
@@ -1,40 +0,0 @@
-# test_seeking - Seeking tester for libFLAC
-# Copyright (C) 2004,2005,2006,2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#
-# GNU makefile
-#
-
-topdir = ../..
-libdir = $(topdir)/obj/$(BUILD)/lib
-
-PROGRAM_NAME = test_seeking
-
-INCLUDES = -I../libFLAC/include -I$(topdir)/include
-
-ifeq ($(DARWIN_BUILD),yes)
-EXPLICIT_LIBS = $(libdir)/libFLAC.a $(OGG_LIB_DIR)/libogg.a -lm
-else
-LIBS = -lFLAC -L$(OGG_LIB_DIR) -logg -lm
-endif
-
-SRCS_C = \
- main.c
-
-include $(topdir)/build/exe.mk
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/src/test_seeking/main.c b/3rdparty/libflac/src/test_seeking/main.c
index 11b549a4883..16ab9f40f4b 100644
--- a/3rdparty/libflac/src/test_seeking/main.c
+++ b/3rdparty/libflac/src/test_seeking/main.c
@@ -1,5 +1,6 @@
/* test_seeking - Seeking tester for libFLAC
- * Copyright (C) 2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2004-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,12 +12,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -33,13 +34,14 @@
#include "FLAC/assert.h"
#include "FLAC/metadata.h"
#include "FLAC/stream_decoder.h"
+#include "share/compat.h"
typedef struct {
FLAC__int32 **pcm;
FLAC__bool got_data;
FLAC__uint64 total_samples;
- unsigned channels;
- unsigned bits_per_sample;
+ uint32_t channels;
+ uint32_t bits_per_sample;
FLAC__bool quiet;
FLAC__bool ignore_errors;
FLAC__bool error_occurred;
@@ -47,9 +49,9 @@ typedef struct {
static FLAC__bool stop_signal_ = false;
-static void our_sigint_handler_(int signal)
+static void our_sigint_handler_(int signum)
{
- (void)signal;
+ (void)signum;
printf("(caught SIGINT) ");
fflush(stdout);
stop_signal_ = true;
@@ -70,12 +72,12 @@ static FLAC__bool die_s_(const char *msg, const FLAC__StreamDecoder *decoder)
else
printf("FAILED");
- printf(", state = %u (%s)\n", (unsigned)state, FLAC__StreamDecoderStateString[state]);
+ printf(", state = %u (%s)\n", (uint32_t)state, FLAC__StreamDecoderStateString[state]);
return false;
}
-static unsigned local_rand_(void)
+static uint32_t local_rand_(void)
{
#if !defined _MSC_VER && !defined __MINGW32__
#define RNDFUNC random
@@ -90,11 +92,11 @@ static unsigned local_rand_(void)
#undef RNDFUNC
}
-static off_t get_filesize_(const char *srcpath)
+static FLAC__off_t get_filesize_(const char *srcpath)
{
- struct stat srcstat;
+ struct flac_stat_s srcstat;
- if(0 == stat(srcpath, &srcstat))
+ if(0 == flac_stat(srcpath, &srcstat))
return srcstat.st_size;
else
return -1;
@@ -103,9 +105,9 @@ static off_t get_filesize_(const char *srcpath)
static FLAC__bool read_pcm_(FLAC__int32 *pcm[], const char *rawfilename, const char *flacfilename)
{
FILE *f;
- unsigned channels = 0, bps = 0, samples, i, j;
+ uint32_t channels = 0, bps = 0, samples, i, j;
- off_t rawfilesize = get_filesize_(rawfilename);
+ FLAC__off_t rawfilesize = get_filesize_(rawfilename);
if (rawfilesize < 0) {
fprintf(stderr, "ERROR: can't determine filesize for %s\n", rawfilename);
return false;
@@ -146,18 +148,18 @@ static FLAC__bool read_pcm_(FLAC__int32 *pcm[], const char *rawfilename, const c
printf("ERROR: PCM verification requires 8 or 16 bps, got %u\n", bps);
return false;
}
- samples = rawfilesize / channels / (bps>>3);
+ samples = (uint32_t)(rawfilesize / channels / (bps>>3));
if (samples > 10000000) {
fprintf(stderr, "ERROR: %s is too big\n", rawfilename);
return false;
}
for(i = 0; i < channels; i++) {
- if(0 == (pcm[i] = (FLAC__int32*)malloc(sizeof(FLAC__int32)*samples))) {
+ if(0 == (pcm[i] = malloc(sizeof(FLAC__int32)*samples))) {
printf("ERROR: allocating space for PCM samples\n");
return false;
}
}
- if(0 == (f = fopen(rawfilename, "rb"))) {
+ if(0 == (f = flac_fopen(rawfilename, "rb"))) {
printf("ERROR: opening %s for reading\n", rawfilename);
return false;
}
@@ -166,17 +168,20 @@ static FLAC__bool read_pcm_(FLAC__int32 *pcm[], const char *rawfilename, const c
signed char c;
for(i = 0; i < samples; i++) {
for(j = 0; j < channels; j++) {
- fread(&c, 1, 1, f);
- pcm[j][i] = c;
+ if (fread(&c, 1, 1, f) == 1)
+ pcm[j][i] = c;
}
}
}
else { /* bps == 16 */
- unsigned char c[2];
+ uint8_t c[2];
+ uint16_t value;
for(i = 0; i < samples; i++) {
for(j = 0; j < channels; j++) {
- fread(&c, 1, 2, f);
- pcm[j][i] = ((int)((signed char)c[0])) << 8 | (int)c[1];
+ if (fread(&c, 1, 2, f) == 2) {
+ value = (c[0] << 8) | c[1];
+ pcm[j][i] = value & 0x8000 ? 0xffff0000 | value : value;
+ }
}
}
}
@@ -200,18 +205,14 @@ static FLAC__StreamDecoderWriteStatus write_callback_(const FLAC__StreamDecoder
FLAC__ASSERT(frame->header.number_type == FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER); /* decoder guarantees this */
if (!dcd->quiet)
-#ifdef _MSC_VER
- printf("frame@%I64u(%u)... ", frame->header.number.sample_number, frame->header.blocksize);
-#else
- printf("frame@%llu(%u)... ", (unsigned long long)frame->header.number.sample_number, frame->header.blocksize);
-#endif
+ printf("frame@%" PRIu64 "(%u)... ", frame->header.number.sample_number, frame->header.blocksize);
fflush(stdout);
/* check against PCM data if we have it */
if (dcd->pcm) {
- unsigned c, i, j;
+ uint32_t c, i, j;
for (c = 0; c < frame->header.channels; c++)
- for (i = (unsigned)frame->header.number.sample_number, j = 0; j < frame->header.blocksize; i++, j++)
+ for (i = (uint32_t)frame->header.number.sample_number, j = 0; j < frame->header.blocksize; i++, j++)
if (buffer[c][j] != dcd->pcm[c][i]) {
printf("ERROR: sample mismatch at sample#%u(%u), channel=%u, expected %d, got %d\n", i, j, c, buffer[c][j], dcd->pcm[c][i]);
return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
@@ -255,7 +256,7 @@ static void error_callback_(const FLAC__StreamDecoder *decoder, FLAC__StreamDeco
}
if(!dcd->ignore_errors) {
- printf("ERROR: got error callback: err = %u (%s)\n", (unsigned)status, FLAC__StreamDecoderErrorStatusString[status]);
+ printf("ERROR: got error callback: err = %u (%s)\n", (uint32_t)status, FLAC__StreamDecoderErrorStatusString[status]);
dcd->error_occurred = true;
}
}
@@ -265,11 +266,11 @@ static void error_callback_(const FLAC__StreamDecoder *decoder, FLAC__StreamDeco
* 1 - read 2 frames
* 2 - read until end
*/
-static FLAC__bool seek_barrage(FLAC__bool is_ogg, const char *filename, off_t filesize, unsigned count, FLAC__int64 total_samples, unsigned read_mode, FLAC__int32 **pcm)
+static FLAC__bool seek_barrage(FLAC__bool is_ogg, const char *filename, FLAC__off_t filesize, uint32_t count, FLAC__int64 total_samples, uint32_t read_mode, FLAC__int32 **pcm)
{
FLAC__StreamDecoder *decoder;
DecoderClientData decoder_client_data;
- unsigned i;
+ uint32_t i;
long int n;
decoder_client_data.pcm = pcm;
@@ -309,11 +310,7 @@ static FLAC__bool seek_barrage(FLAC__bool is_ogg, const char *filename, off_t fi
return die_s_("expected FLAC__STREAM_DECODER_END_OF_STREAM", decoder);
}
-#ifdef _MSC_VER
- printf("file's total_samples is %I64u\n", decoder_client_data.total_samples);
-#else
- printf("file's total_samples is %llu\n", (unsigned long long)decoder_client_data.total_samples);
-#endif
+ printf("file's total_samples is %" PRIu64 "\n", decoder_client_data.total_samples);
n = (long int)decoder_client_data.total_samples;
if(n == 0 && total_samples >= 0)
@@ -323,7 +320,7 @@ static FLAC__bool seek_barrage(FLAC__bool is_ogg, const char *filename, off_t fi
/* @@@ for is_ogg we should get it from last page's granulepos */
if(n == 0) {
/* 8 would imply no compression, 9 guarantees that we will get some samples off the end of the stream to test that case */
- n = 9 * filesize / (decoder_client_data.channels * decoder_client_data.bits_per_sample);
+ n = (long int)(9 * filesize / (decoder_client_data.channels * decoder_client_data.bits_per_sample));
}
printf("Begin seek barrage, count=%u\n", count);
@@ -347,11 +344,7 @@ static FLAC__bool seek_barrage(FLAC__bool is_ogg, const char *filename, off_t fi
pos = (FLAC__uint64)(local_rand_() % n);
}
-#ifdef _MSC_VER
- printf("#%u:seek(%I64u)... ", i, pos);
-#else
- printf("#%u:seek(%llu)... ", i, (unsigned long long)pos);
-#endif
+ printf("#%u:seek(%" PRIu64 ")... ", i, pos);
fflush(stdout);
if(!FLAC__stream_decoder_seek_absolute(decoder, pos)) {
if(pos >= (FLAC__uint64)n)
@@ -399,37 +392,20 @@ static FLAC__bool seek_barrage(FLAC__bool is_ogg, const char *filename, off_t fi
return true;
}
-#ifdef _MSC_VER
-/* There's no strtoull() in MSVC6 so we just write a specialized one */
-static FLAC__uint64 local__strtoull(const char *src)
-{
- FLAC__uint64 ret = 0;
- int c;
- FLAC__ASSERT(0 != src);
- while(0 != (c = *src++)) {
- c -= '0';
- if(c >= 0 && c <= 9)
- ret = (ret * 10) + c;
- else
- break;
- }
- return ret;
-}
-#endif
int main(int argc, char *argv[])
{
const char *flacfilename, *rawfilename = 0;
- unsigned count = 0, read_mode;
+ uint32_t count = 0, read_mode;
FLAC__int64 samples = -1;
- off_t flacfilesize;
+ FLAC__off_t flacfilesize;
FLAC__int32 *pcm[2] = { 0, 0 };
FLAC__bool ok = true;
static const char * const usage = "usage: test_seeking file.flac [#seeks] [#samples-in-file.flac] [file.raw]\n";
if (argc < 2 || argc > 5) {
- fprintf(stderr, usage);
+ fputs(usage, stderr);
return 1;
}
@@ -438,11 +414,7 @@ int main(int argc, char *argv[])
if (argc > 2)
count = strtoul(argv[2], 0, 10);
if (argc > 3)
-#ifdef _MSC_VER
- samples = local__strtoull(argv[3]);
-#else
samples = strtoull(argv[3], 0, 10);
-#endif
if (argc > 4)
rawfilename = argv[4];
@@ -460,7 +432,7 @@ int main(int argc, char *argv[])
srandom(tv.tv_usec);
}
#else
- srand((unsigned)time(0));
+ srand((uint32_t)time(0));
#endif
flacfilesize = get_filesize_(flacfilename);
diff --git a/3rdparty/libflac/src/test_seeking/test_seeking.dsp b/3rdparty/libflac/src/test_seeking/test_seeking.dsp
deleted file mode 100644
index 1bdb853ec3c..00000000000
--- a/3rdparty/libflac/src/test_seeking/test_seeking.dsp
+++ /dev/null
@@ -1,100 +0,0 @@
-# Microsoft Developer Studio Project File - Name="test_seeking" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=test_seeking - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "test_seeking.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "test_seeking.mak" CFG="test_seeking - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "test_seeking - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "test_seeking - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "test_seeking - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\obj\release\bin"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\include" /D "NDEBUG" /D "FLAC__NO_DLL" /D "FLAC__HAS_OGG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\obj\release\lib\libFLAC_static.lib ..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "test_seeking - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\obj\debug\bin"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\include" /D "_DEBUG" /D "DEBUG" /D "FLAC__NO_DLL" /D "FLAC__HAS_OGG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\obj\debug\lib\libFLAC_static.lib ..\..\obj\release\lib\ogg_static.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "test_seeking - Win32 Release"
-# Name "test_seeking - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\main.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/test_seeking/test_seeking.vcproj b/3rdparty/libflac/src/test_seeking/test_seeking.vcproj
deleted file mode 100644
index b4cf8eca0d4..00000000000
--- a/3rdparty/libflac/src/test_seeking/test_seeking.vcproj
+++ /dev/null
@@ -1,204 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="test_seeking"
- ProjectGUID="{4cefbc90-c215-11db-8314-0800200c9a66}"
- RootNamespace="test_seeking"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\obj\debug\bin"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".;..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;FLAC__HAS_OGG;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="2"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\obj\release\bin"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".;..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;FLAC__HAS_OGG;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="..\..\obj\release\lib\ogg_static.lib"
- LinkIncremental="1"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\main.c"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/src/test_streams/CMakeLists.txt b/3rdparty/libflac/src/test_streams/CMakeLists.txt
new file mode 100644
index 00000000000..f9fafb9d6ee
--- /dev/null
+++ b/3rdparty/libflac/src/test_streams/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_executable(test_streams main.c)
+target_link_libraries(test_streams FLAC grabbag)
diff --git a/3rdparty/libflac/src/test_streams/Makefile.am b/3rdparty/libflac/src/test_streams/Makefile.am
index 2d562ce62c8..9aa4b025e1e 100644
--- a/3rdparty/libflac/src/test_streams/Makefile.am
+++ b/3rdparty/libflac/src/test_streams/Makefile.am
@@ -1,5 +1,6 @@
# test_streams - Simple test pattern generator
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2000-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -11,16 +12,18 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
EXTRA_DIST = \
- Makefile.lite \
- test_streams.dsp \
- test_streams.vcproj
+ CMakeLists.txt
-noinst_PROGRAMS = test_streams
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
+check_PROGRAMS = test_streams
test_streams_SOURCES = \
main.c
-test_streams_LDADD = -lm
+
+test_streams_LDADD = $(top_builddir)/src/share/grabbag/libgrabbag.la -lm
+
+CLEANFILES = test_streams.exe
diff --git a/3rdparty/libflac/src/test_streams/Makefile.in b/3rdparty/libflac/src/test_streams/Makefile.in
index 0621f85c8d8..83c60e7ee11 100644
--- a/3rdparty/libflac/src/test_streams/Makefile.in
+++ b/3rdparty/libflac/src/test_streams/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,8 @@
@SET_MAKE@
# test_streams - Simple test pattern generator
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2000-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -27,20 +28,70 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,104 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+check_PROGRAMS = test_streams$(EXEEXT)
+subdir = src/test_streams
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am_test_streams_OBJECTS = main.$(OBJEXT)
+test_streams_OBJECTS = $(am_test_streams_OBJECTS)
+test_streams_DEPENDENCIES = \
+ $(top_builddir)/src/share/grabbag/libgrabbag.la
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/main.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(test_streams_SOURCES)
+DIST_SOURCES = $(test_streams_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,258 +209,236 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
EXTRA_DIST = \
- Makefile.lite \
- test_streams.dsp \
- test_streams.vcproj
-
+ CMakeLists.txt
-noinst_PROGRAMS = test_streams
+AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir)/include -I$(top_srcdir)/include
test_streams_SOURCES = \
main.c
-test_streams_LDADD = -lm
-subdir = src/test_streams
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-noinst_PROGRAMS = test_streams$(EXEEXT)
-PROGRAMS = $(noinst_PROGRAMS)
-
-am_test_streams_OBJECTS = main.$(OBJEXT)
-test_streams_OBJECTS = $(am_test_streams_OBJECTS)
-test_streams_DEPENDENCIES =
-test_streams_LDFLAGS =
-
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/main.Po
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = $(test_streams_SOURCES)
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-SOURCES = $(test_streams_SOURCES)
-
+test_streams_LDADD = $(top_builddir)/src/share/grabbag/libgrabbag.la -lm
+CLEANFILES = test_streams.exe
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/test_streams/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-test_streams$(EXEEXT): $(test_streams_OBJECTS) $(test_streams_DEPENDENCIES)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/test_streams/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/test_streams/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+test_streams$(EXEEXT): $(test_streams_OBJECTS) $(test_streams_DEPENDENCIES) $(EXTRA_test_streams_DEPENDENCIES)
@rm -f test_streams$(EXEEXT)
- $(LINK) $(test_streams_LDFLAGS) $(test_streams_OBJECTS) $(test_streams_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(test_streams_OBJECTS) $(test_streams_LDADD) $(LIBS)
mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
+ -rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
-@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
-@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
-@am__fastdepCC_TRUE@ fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -325,99 +446,94 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
check: check-am
-all-am: Makefile $(PROGRAMS)
-
+all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
@@ -429,51 +545,80 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/main.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
+ distclean-tags
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/main.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -490,18 +635,26 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
- pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/src/test_streams/Makefile.lite b/3rdparty/libflac/src/test_streams/Makefile.lite
deleted file mode 100644
index af9dab675d4..00000000000
--- a/3rdparty/libflac/src/test_streams/Makefile.lite
+++ /dev/null
@@ -1,36 +0,0 @@
-# test_streams - Simple test pattern generator
-# Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#
-# GNU makefile
-#
-
-topdir = ../..
-libdir = $(topdir)/obj/$(BUILD)/lib
-
-PROGRAM_NAME = test_streams
-
-INCLUDES = -I./include -I$(topdir)/include
-
-LIBS = -lm
-
-SRCS_C = \
- main.c
-
-include $(topdir)/build/exe.mk
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/3rdparty/libflac/src/test_streams/main.c b/3rdparty/libflac/src/test_streams/main.c
index c335776dc7b..466bf8ef24f 100644
--- a/3rdparty/libflac/src/test_streams/main.c
+++ b/3rdparty/libflac/src/test_streams/main.c
@@ -1,5 +1,6 @@
/* test_streams - Simple test pattern generator
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -11,18 +12,19 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
+#include "share/compat.h"
#if defined _MSC_VER || defined __MINGW32__
#include <time.h>
#else
@@ -30,11 +32,7 @@
#endif
#include "FLAC/assert.h"
#include "FLAC/ordinals.h"
-
-#ifndef M_PI
-/* math.h in VC++ doesn't seem to have this (how Microsoft is that?) */
-#define M_PI 3.14159265358979323846
-#endif
+#include "share/compat.h"
#if !defined _MSC_VER && !defined __MINGW32__
#define GET_RANDOM_BYTE (((unsigned)random()) & 0xff)
@@ -45,7 +43,7 @@
static FLAC__bool is_big_endian_host;
-static FLAC__bool write_little_endian(FILE *f, FLAC__int32 x, size_t bytes)
+static FLAC__bool write_little_endian_unsigned(FILE *f, FLAC__uint32 x, size_t bytes)
{
while(bytes) {
if(fputc(x, f) == EOF)
@@ -56,6 +54,11 @@ static FLAC__bool write_little_endian(FILE *f, FLAC__int32 x, size_t bytes)
return true;
}
+static FLAC__bool write_little_endian_signed(FILE *f, FLAC__int32 x, size_t bytes)
+{
+ return write_little_endian_unsigned(f, (FLAC__uint32) x, bytes);
+}
+
static FLAC__bool write_little_endian_uint16(FILE *f, FLAC__uint16 x)
{
return
@@ -93,12 +96,30 @@ static FLAC__bool write_little_endian_uint32(FILE *f, FLAC__uint32 x)
;
}
-#if 0
-/* @@@ not used (yet) */
static FLAC__bool write_little_endian_int32(FILE *f, FLAC__int32 x)
{
return write_little_endian_uint32(f, (FLAC__uint32)x);
}
+
+#if defined(_MSC_VER)
+// silence 4 MSVC warnings 'conversion from 'FLAC__uint64' to 'int', possible loss of data'
+#pragma warning ( disable : 4244 )
+#endif
+static FLAC__bool write_little_endian_uint64(FILE *f, FLAC__uint64 x)
+{
+ return
+ fputc(x, f) != EOF &&
+ fputc(x >> 8, f) != EOF &&
+ fputc(x >> 16, f) != EOF &&
+ fputc(x >> 24, f) != EOF &&
+ fputc(x >> 32, f) != EOF &&
+ fputc(x >> 40, f) != EOF &&
+ fputc(x >> 48, f) != EOF &&
+ fputc(x >> 56, f) != EOF
+ ;
+}
+#if defined(_MSC_VER)
+#pragma warning ( default : 4244 )
#endif
static FLAC__bool write_big_endian(FILE *f, FLAC__int32 x, size_t bytes)
@@ -384,6 +405,32 @@ foo:
return false;
}
+/* a mono full-scale deflection 32bps stream */
+static FLAC__bool generate_fsd32(const char *fn, const int pattern[], unsigned reps)
+{
+ FILE *f;
+ unsigned rep, p;
+
+ FLAC__ASSERT(pattern != 0);
+
+ if(0 == (f = fopen(fn, "wb")))
+ return false;
+
+ for(rep = 0; rep < reps; rep++) {
+ for(p = 0; pattern[p]; p++) {
+ FLAC__int32 x = pattern[p] > 0? 2147483647 : -2147483648;
+ if(!write_little_endian_int32(f, x))
+ goto foo;
+ }
+ }
+
+ fclose(f);
+ return true;
+foo:
+ fclose(f);
+ return false;
+}
+
/* a mono sine-wave 8bps stream */
static FLAC__bool generate_sine8_1(const char *fn, const double sample_rate, const unsigned samples, const double f1, const double a1, const double f2, const double a2)
{
@@ -558,6 +605,64 @@ foo:
return false;
}
+/* a mono sine-wave 32bps stream */
+static FLAC__bool generate_sine32_1(const char *fn, const double sample_rate, const unsigned samples, const double f1, const double a1, const double f2, const double a2)
+{
+ const FLAC__int32 full_scale = 0x7fffffff;
+ const double delta1 = 2.0 * M_PI / ( sample_rate / f1);
+ const double delta2 = 2.0 * M_PI / ( sample_rate / f2);
+ FILE *f;
+ double theta1, theta2;
+ unsigned i;
+
+ if(0 == (f = fopen(fn, "wb")))
+ return false;
+
+ for(i = 0, theta1 = theta2 = 0.0; i < samples; i++, theta1 += delta1, theta2 += delta2) {
+ double val = (a1*sin(theta1) + a2*sin(theta2))*(double)full_scale;
+ FLAC__int32 v = (FLAC__int32)(val + 0.5);
+ if(!write_little_endian_int32(f, v))
+ goto foo;
+ }
+
+ fclose(f);
+ return true;
+foo:
+ fclose(f);
+ return false;
+}
+
+/* a stereo sine-wave 32bps stream */
+static FLAC__bool generate_sine32_2(const char *fn, const double sample_rate, const unsigned samples, const double f1, const double a1, const double f2, const double a2, double fmult)
+{
+ const FLAC__int32 full_scale = 0x7fffffff;
+ const double delta1 = 2.0 * M_PI / ( sample_rate / f1);
+ const double delta2 = 2.0 * M_PI / ( sample_rate / f2);
+ FILE *f;
+ double theta1, theta2;
+ unsigned i;
+
+ if(0 == (f = fopen(fn, "wb")))
+ return false;
+
+ for(i = 0, theta1 = theta2 = 0.0; i < samples; i++, theta1 += delta1, theta2 += delta2) {
+ double val = (a1*sin(theta1) + a2*sin(theta2))*(double)full_scale;
+ FLAC__int32 v = (FLAC__int32)(val + 0.5);
+ if(!write_little_endian_int32(f, v))
+ goto foo;
+ val = -(a1*sin(theta1*fmult) + a2*sin(theta2*fmult))*(double)full_scale;
+ v = (FLAC__int32)(val + 0.5);
+ if(!write_little_endian_int32(f, v))
+ goto foo;
+ }
+
+ fclose(f);
+ return true;
+foo:
+ fclose(f);
+ return false;
+}
+
static FLAC__bool generate_noise(const char *fn, unsigned bytes)
{
FILE *f;
@@ -583,7 +688,7 @@ foo:
return false;
}
-static FLAC__bool generate_raw(const char *filename, unsigned channels, unsigned bytes_per_sample, unsigned samples)
+static FLAC__bool generate_signed_raw(const char *filename, unsigned channels, unsigned bytes_per_sample, unsigned samples)
{
const FLAC__int32 full_scale = (1 << (bytes_per_sample*8-1)) - 1;
const double f1 = 441.0, a1 = 0.61, f2 = 661.5, a2 = 0.37;
@@ -600,7 +705,37 @@ static FLAC__bool generate_raw(const char *filename, unsigned channels, unsigned
for(j = 0; j < channels; j++) {
double val = (a1*sin(theta1) + a2*sin(theta2))*(double)full_scale;
FLAC__int32 v = (FLAC__int32)(val + 0.5) + ((GET_RANDOM_BYTE>>4)-8);
- if(!write_little_endian(f, v, bytes_per_sample))
+ if(!write_little_endian_signed(f, v, bytes_per_sample))
+ goto foo;
+ }
+ }
+
+ fclose(f);
+ return true;
+foo:
+ fclose(f);
+ return false;
+}
+
+static FLAC__bool generate_unsigned_raw(const char *filename, unsigned channels, unsigned bytes_per_sample, unsigned samples)
+{
+ const FLAC__int32 full_scale = (1 << (bytes_per_sample*8-1)) - 1;
+ const double f1 = 441.0, a1 = 0.61, f2 = 661.5, a2 = 0.37;
+ const double delta1 = 2.0 * M_PI / ( 44100.0 / f1);
+ const double delta2 = 2.0 * M_PI / ( 44100.0 / f2);
+ const double half_scale = 0.5 * full_scale;
+ double theta1, theta2;
+ FILE *f;
+ unsigned i, j;
+
+ if(0 == (f = fopen(filename, "wb")))
+ return false;
+
+ for(i = 0, theta1 = theta2 = 0.0; i < samples; i++, theta1 += delta1, theta2 += delta2) {
+ for(j = 0; j < channels; j++) {
+ double val = (a1*sin(theta1) + a2*sin(theta2))*(double)full_scale;
+ FLAC__int32 v = (FLAC__int32)(half_scale + val + 0.5) + ((GET_RANDOM_BYTE>>4)-8);
+ if(!write_little_endian_unsigned(f, v, bytes_per_sample))
goto foo;
}
}
@@ -668,17 +803,16 @@ foo:
return false;
}
-static FLAC__bool generate_wav(const char *filename, unsigned sample_rate, unsigned channels, unsigned bps, unsigned samples, FLAC__bool strict)
+/* flavor is: 0:WAVE, 1:RF64, 2:WAVE64 */
+static FLAC__bool generate_wav(const char *filename, unsigned sample_rate, unsigned channels, unsigned bps, unsigned samples, FLAC__bool strict, int flavor)
{
- const FLAC__bool waveformatextensible = strict && (channels > 2 || (bps%8));
- /* ^^^^^^^
- * (bps%8) allows 24 bps which is technically supposed to be WAVEFORMATEXTENSIBLE but we
- * write 24bps as WAVEFORMATEX since it's unambiguous and matches how flac writes it
- */
+ const FLAC__bool waveformatextensible = strict && (channels > 2 || (bps != 8 && bps != 16));
+
const unsigned bytes_per_sample = (bps+7)/8;
- const unsigned true_size = channels * bytes_per_sample * samples;
- const unsigned padded_size = (true_size + 1) & (~1u);
const unsigned shift = (bps%8)? 8 - (bps%8) : 0;
+ /* this rig is not going over 4G so we're ok with 32-bit sizes here */
+ const FLAC__uint32 true_size = channels * bytes_per_sample * samples;
+ const FLAC__uint32 padded_size = flavor<2? (true_size + 1) & (~1u) : (true_size + 7) & (~7u);
const FLAC__int32 full_scale = (1 << (bps-1)) - 1;
const double f1 = 441.0, a1 = 0.61, f2 = 661.5, a2 = 0.37;
const double delta1 = 2.0 * M_PI / ( sample_rate / f1);
@@ -689,14 +823,74 @@ static FLAC__bool generate_wav(const char *filename, unsigned sample_rate, unsig
if(0 == (f = fopen(filename, "wb")))
return false;
- if(fwrite("RIFF", 1, 4, f) < 4)
- goto foo;
- if(!write_little_endian_uint32(f, padded_size + (waveformatextensible?60:36)))
- goto foo;
- if(fwrite("WAVEfmt ", 1, 8, f) < 8)
- goto foo;
- if(!write_little_endian_uint32(f, waveformatextensible?40:16))
- goto foo;
+ /* RIFFxxxxWAVE or equivalent: */
+ switch(flavor) {
+ case 0:
+ if(fwrite("RIFF", 1, 4, f) < 4)
+ goto foo;
+ /* +4 for WAVE */
+ /* +8+{40,16} for fmt chunk */
+ /* +8 for data chunk header */
+ if(!write_little_endian_uint32(f, 4 + 8+(waveformatextensible?40:16) + 8 + padded_size))
+ goto foo;
+ if(fwrite("WAVE", 1, 4, f) < 4)
+ goto foo;
+ break;
+ case 1:
+ if(fwrite("RF64", 1, 4, f) < 4)
+ goto foo;
+ if(!write_little_endian_uint32(f, 0xffffffff))
+ goto foo;
+ if(fwrite("WAVE", 1, 4, f) < 4)
+ goto foo;
+ break;
+ case 2:
+ /* RIFF GUID 66666972-912E-11CF-A5D6-28DB04C10000 */
+ if(fwrite("\x72\x69\x66\x66\x2E\x91\xCF\x11\xA5\xD6\x28\xDB\x04\xC1\x00\x00", 1, 16, f) < 16)
+ goto foo;
+ /* +(16+8) for RIFF GUID + size */
+ /* +16 for WAVE GUID */
+ /* +16+8+{40,16} for fmt chunk */
+ /* +16+8 for data chunk header */
+ if(!write_little_endian_uint64(f, (16+8) + 16 + 16+8+(waveformatextensible?40:16) + (16+8) + padded_size))
+ goto foo;
+ /* WAVE GUID 65766177-ACF3-11D3-8CD1-00C04F8EDB8A */
+ if(fwrite("\x77\x61\x76\x65\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 1, 16, f) < 16)
+ goto foo;
+ break;
+ default:
+ goto foo;
+ }
+ if(flavor == 1) { /* rf64 */
+ if(fwrite("ds64", 1, 4, f) < 4)
+ goto foo;
+ if(!write_little_endian_uint32(f, 28)) /* ds64 chunk size */
+ goto foo;
+ if(!write_little_endian_uint64(f, 36 + padded_size + (waveformatextensible?60:36)))
+ goto foo;
+ if(!write_little_endian_uint64(f, true_size))
+ goto foo;
+ if(!write_little_endian_uint64(f, samples))
+ goto foo;
+ if(!write_little_endian_uint32(f, 0)) /* table size */
+ goto foo;
+ }
+ /* fmt chunk */
+ if(flavor < 2) {
+ if(fwrite("fmt ", 1, 4, f) < 4)
+ goto foo;
+ /* chunk size */
+ if(!write_little_endian_uint32(f, waveformatextensible?40:16))
+ goto foo;
+ }
+ else { /* wave64 */
+ /* fmt GUID 20746D66-ACF3-11D3-8CD1-00C04F8EDB8A */
+ if(fwrite("\x66\x6D\x74\x20\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 1, 16, f) < 16)
+ goto foo;
+ /* chunk size (+16+8 for GUID and size fields) */
+ if(!write_little_endian_uint64(f, 16+8+(waveformatextensible?40:16)))
+ goto foo;
+ }
if(!write_little_endian_uint16(f, (FLAC__uint16)(waveformatextensible?65534:1)))
goto foo;
if(!write_little_endian_uint16(f, (FLAC__uint16)channels))
@@ -720,16 +914,27 @@ static FLAC__bool generate_wav(const char *filename, unsigned sample_rate, unsig
if(fwrite("\x01\x00\x00\x00\x00\x00\x10\x00\x80\x00\x00\xaa\x00\x38\x9b\x71", 1, 16, f) != 16)
goto foo;
}
- if(fwrite("data", 1, 4, f) < 4)
- goto foo;
- if(!write_little_endian_uint32(f, true_size))
- goto foo;
+ /* data chunk */
+ if(flavor < 2) {
+ if(fwrite("data", 1, 4, f) < 4)
+ goto foo;
+ if(!write_little_endian_uint32(f, flavor==1? 0xffffffff : true_size))
+ goto foo;
+ }
+ else { /* wave64 */
+ /* data GUID 61746164-ACF3-11D3-8CD1-00C04F8EDB8A */
+ if(fwrite("\x64\x61\x74\x61\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 1, 16, f) != 16)
+ goto foo;
+ /* +16+8 for GUID and size fields */
+ if(!write_little_endian_uint64(f, 16+8 + true_size))
+ goto foo;
+ }
for(i = 0, theta1 = theta2 = 0.0; i < samples; i++, theta1 += delta1, theta2 += delta2) {
for(j = 0; j < channels; j++) {
double val = (a1*sin(theta1) + a2*sin(theta2))*(double)full_scale;
FLAC__int32 v = ((FLAC__int32)(val + 0.5) + ((GET_RANDOM_BYTE>>4)-8)) << shift;
- if(!write_little_endian(f, v, bytes_per_sample))
+ if(!write_little_endian_signed(f, v, bytes_per_sample))
goto foo;
}
}
@@ -749,12 +954,12 @@ static FLAC__bool generate_wackywavs(void)
FILE *f;
FLAC__byte wav[] = {
'R', 'I', 'F', 'F', 76, 0, 0, 0,
- 'W', 'A', 'V', 'E', 'f', 'a', 'c', 't',
+ 'W', 'A', 'V', 'E', 'j', 'u', 'n', 'k',
4, 0, 0, 0 , 'b', 'l', 'a', 'h',
'p', 'a', 'd', ' ', 4, 0, 0, 0,
'B', 'L', 'A', 'H', 'f', 'm', 't', ' ',
16, 0, 0, 0, 1, 0, 1, 0,
- 0x44,0xAC, 0, 0, 0, 0, 0, 0,
+ 0x44,0xAC, 0, 0,0x88,0x58,0x01, 0,
2, 0, 16, 0, 'd', 'a', 't', 'a',
16, 0, 0, 0, 0, 0, 1, 0,
4, 0, 9, 0, 16, 0, 25, 0,
@@ -781,6 +986,217 @@ foo:
return false;
}
+static FLAC__bool write_simple_wavex_header (FILE * f, unsigned samplerate, unsigned channels, unsigned bytespersample, unsigned frames)
+{
+ unsigned datalen = channels * bytespersample * frames ;
+
+ if (fwrite("RIFF", 1, 4, f) != 4)
+ return false;
+ if (!write_little_endian_uint32(f, 60 + datalen))
+ return false;
+
+ if (fwrite("WAVEfmt ", 8, 1, f) != 1)
+ return false;
+ if (!write_little_endian_uint32(f, 40))
+ return false;
+
+ if(!write_little_endian_uint16(f, 65534)) /* WAVEFORMATEXTENSIBLE tag */
+ return false;
+ if(!write_little_endian_uint16(f, channels))
+ return false;
+ if(!write_little_endian_uint32(f, samplerate))
+ return false;
+ if(!write_little_endian_uint32(f, samplerate * channels * bytespersample))
+ return false;
+ if(!write_little_endian_uint16(f, channels * bytespersample)) /* block align */
+ return false;
+ if(!write_little_endian_uint16(f, bytespersample * 8))
+ return false;
+
+ if(!write_little_endian_uint16(f, 22)) /* cbSize */
+ return false;
+ if(!write_little_endian_uint16(f, bytespersample * 8)) /* validBitsPerSample */
+ return false;
+ if(!write_little_endian_uint32(f, 0)) /* channelMask */
+ return false;
+ /* GUID = {0x00000001, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}} */
+ if(fwrite("\x01\x00\x00\x00\x00\x00\x10\x00\x80\x00\x00\xaa\x00\x38\x9b\x71", 1, 16, f) != 16)
+ return false;
+
+ if (fwrite("data", 1, 4, f) != 4)
+ return false;
+ if (!write_little_endian_uint32(f, datalen))
+ return false;
+
+ return true;
+}
+
+static FLAC__bool generate_noisy_sine(void)
+{
+ FILE *f;
+ int64_t randstate = 0x1243456;
+ double sample, last_val = 0.0;
+ int k;
+ int seconds = 300;
+
+ if(0 == (f = fopen("noisy-sine.wav", "wb")))
+ return false;
+
+ if(!write_simple_wavex_header (f, 44100, 1, 2, 44100*seconds))
+ goto foo;
+
+ for (k = 0 ; k < seconds * 44100 ; k++) {
+ /* Obvioulsy not a crypto quality RNG. */
+ randstate = 11117 * randstate + 211231;
+ randstate = 11117 * randstate + 211231;
+ randstate = 11117 * randstate + 211231;
+
+ sample = ((int32_t) randstate) / (0x7fffffff * 1.000001);
+ sample = 0.2 * sample - 0.9 * last_val;
+
+ last_val = sample;
+
+ sample += sin (2.0 * k * M_PI * 1.0 / 32.0);
+ sample *= 0.4;
+#if !defined _MSC_VER
+ write_little_endian_int16(f, lrintf(sample * 32700.0));
+#else
+ write_little_endian_int16(f, (FLAC__int16)(sample * 32700.0));
+#endif
+ };
+
+ fclose(f);
+
+ return true;
+foo:
+ fclose(f);
+ return false;
+}
+
+static FLAC__bool generate_wackywav64s(void)
+{
+ FILE *f;
+ FLAC__byte wav[] = {
+ 0x72,0x69,0x66,0x66,0x2E,0x91,0xCF,0x11, /* RIFF GUID */
+ 0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00,
+ 152, 0, 0, 0, 0, 0, 0, 0,
+ 0x77,0x61,0x76,0x65,0xF3,0xAC,0xD3,0x11, /* WAVE GUID */
+ 0x8C,0xD1,0x00,0xC0,0x4F,0x8E,0xDB,0x8A,
+ 0x6A,0x75,0x6E,0x6B,0xF3,0xAC,0xD3,0x11, /* junk GUID */
+ 0x8C,0xD1,0x00,0xC0,0x4F,0x8E,0xDB,0x8A,
+ 32, 0, 0, 0 , 0, 0, 0, 0,
+ 'b', 'l', 'a', 'h', 'b', 'l', 'a', 'h',
+ 0x66,0x6D,0x74,0x20,0xF3,0xAC,0xD3,0x11, /* fmt GUID */
+ 0x8C,0xD1,0x00,0xC0,0x4F,0x8E,0xDB,0x8A,
+ 40, 0, 0, 0 , 0, 0, 0, 0,
+ 1, 0, 1, 0,0x44,0xAC, 0, 0,
+ 0x88,0x58,0x01, 0, 2, 0, 16, 0,
+ 0x64,0x61,0x74,0x61,0xF3,0xAC,0xD3,0x11, /* data GUID */
+ 0x8C,0xD1,0x00,0xC0,0x4F,0x8E,0xDB,0x8A,
+ 40, 0, 0, 0 , 0, 0, 0, 0,
+ 0, 0, 1, 0, 4, 0, 9, 0,
+ 16, 0, 25, 0, 36, 0, 49, 0,
+ 0x6A,0x75,0x6E,0x6B,0xF3,0xAC,0xD3,0x11, /* junk GUID */
+ 0x8C,0xD1,0x00,0xC0,0x4F,0x8E,0xDB,0x8A,
+ 32, 0, 0, 0 , 0, 0, 0, 0,
+ 'b', 'l', 'a', 'h', 'b', 'l', 'a', 'h'
+ };
+
+ if(0 == (f = fopen("wacky1.w64", "wb")))
+ return false;
+ if(fwrite(wav, 1, wav[16], f) < wav[16])
+ goto foo;
+ fclose(f);
+
+ wav[16] += 32;
+ if(0 == (f = fopen("wacky2.w64", "wb")))
+ return false;
+ if(fwrite(wav, 1, wav[16], f) < wav[16])
+ goto foo;
+ fclose(f);
+
+ return true;
+foo:
+ fclose(f);
+ return false;
+}
+
+static FLAC__bool generate_wackyrf64s(void)
+{
+ FILE *f;
+ FLAC__byte wav[] = {
+ 'R', 'F', '6', '4', 255, 255, 255, 255,
+ 'W', 'A', 'V', 'E', 'd', 's', '6', '4',
+ 28, 0, 0, 0, 112, 0, 0, 0,
+ 0, 0, 0, 0, 16, 0, 0, 0,
+ 0, 0, 0, 0, 8, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 'j', 'u', 'n', 'k',
+ 4, 0, 0, 0, 'b', 'l', 'a', 'h',
+ 'p', 'a', 'd', ' ', 4, 0, 0, 0,
+ 'B', 'L', 'A', 'H', 'f', 'm', 't', ' ',
+ 16, 0, 0, 0, 1, 0, 1, 0,
+ 0x44,0xAC, 0, 0,0x88,0x58,0x01, 0,
+ 2, 0, 16, 0, 'd', 'a', 't', 'a',
+ 255, 255, 255, 255, 0, 0, 1, 0,
+ 4, 0, 9, 0, 16, 0, 25, 0,
+ 36, 0, 49, 0, 'p', 'a', 'd', ' ',
+ 4, 0, 0, 0, 'b', 'l', 'a', 'h'
+ };
+
+ if(0 == (f = fopen("wacky1.rf64", "wb")))
+ return false;
+ if(fwrite(wav, 1, 120, f) < 120)
+ goto foo;
+ fclose(f);
+
+ wav[20] += 12;
+ if(0 == (f = fopen("wacky2.rf64", "wb")))
+ return false;
+ if(fwrite(wav, 1, 132, f) < 132)
+ goto foo;
+ fclose(f);
+
+ return true;
+foo:
+ fclose(f);
+ return false;
+}
+
+static FLAC__bool generate_replaygain_tone (unsigned samplerate)
+{
+ FILE *f;
+ char fname [256] ;
+ double tone, sample, samplerange;
+ int k;
+
+ flac_snprintf(fname, sizeof(fname), "rpg-tone-%u.wav", samplerate);
+
+ if(0 == (f = fopen(fname, "wb")))
+ return false;
+
+ if(!write_simple_wavex_header (f, samplerate, 1, 3, 220500))
+ goto foo;
+
+
+ samplerange = 0x7fffff; /* Largest sample value allowed for a 24 bit PCM file. */
+ tone = 1000.0; /* 1 kHz */
+
+ for (k = 0 ; k < 5 * 44100 ; k++) {
+ sample = sin(2 * M_PI * tone * k / samplerate);
+ sample *= samplerange;
+ if (!write_little_endian_uint24(f, (FLAC__int32) sample))
+ goto foo;
+ };
+
+ fclose(f);
+
+ return true;
+foo:
+ fclose(f);
+ return false;
+}
+
int main(int argc, char *argv[])
{
FLAC__uint32 test = 1;
@@ -841,6 +1257,14 @@ int main(int argc, char *argv[])
if(!generate_fsd24("fsd24-06.raw", pattern06, 100)) return 1;
if(!generate_fsd24("fsd24-07.raw", pattern07, 100)) return 1;
+ if(!generate_fsd32("fsd32-01.raw", pattern01, 100)) return 1;
+ if(!generate_fsd32("fsd32-02.raw", pattern02, 100)) return 1;
+ if(!generate_fsd32("fsd32-03.raw", pattern03, 100)) return 1;
+ if(!generate_fsd32("fsd32-04.raw", pattern04, 100)) return 1;
+ if(!generate_fsd32("fsd32-05.raw", pattern05, 100)) return 1;
+ if(!generate_fsd32("fsd32-06.raw", pattern06, 100)) return 1;
+ if(!generate_fsd32("fsd32-07.raw", pattern07, 100)) return 1;
+
if(!generate_wbps16("wbps16-01.raw", 1000)) return 1;
if(!generate_sine8_1("sine8-00.raw", 48000.0, 200000, 441.0, 0.50, 441.0, 0.49)) return 1;
@@ -894,29 +1318,76 @@ int main(int argc, char *argv[])
if(!generate_sine24_2("sine24-18.raw", 44100.0, 200000, 441.0, 0.50, 4410.0, 0.49, 1.3)) return 1;
if(!generate_sine24_2("sine24-19.raw", 44100.0, 200000, 8820.0, 0.70, 4410.0, 0.29, 0.1)) return 1;
+ if(!generate_sine32_1("sine32-00.raw", 48000.0, 200000, 441.0, 0.50, 441.0, 0.49)) return 1;
+ if(!generate_sine32_1("sine32-01.raw", 96000.0, 200000, 441.0, 0.61, 661.5, 0.37)) return 1;
+ if(!generate_sine32_1("sine32-02.raw", 44100.0, 200000, 441.0, 0.50, 882.0, 0.49)) return 1;
+ if(!generate_sine32_1("sine32-03.raw", 44100.0, 200000, 441.0, 0.50, 4410.0, 0.49)) return 1;
+ if(!generate_sine32_1("sine32-04.raw", 44100.0, 200000, 8820.0, 0.70, 4410.0, 0.29)) return 1;
+
+ if(!generate_sine32_2("sine32-10.raw", 48000.0, 200000, 441.0, 0.50, 441.0, 0.49, 1.0)) return 1;
+ if(!generate_sine32_2("sine32-11.raw", 48000.0, 200000, 441.0, 0.61, 661.5, 0.37, 1.0)) return 1;
+ if(!generate_sine32_2("sine32-12.raw", 96000.0, 200000, 441.0, 0.50, 882.0, 0.49, 1.0)) return 1;
+ if(!generate_sine32_2("sine32-13.raw", 44100.0, 200000, 441.0, 0.50, 4410.0, 0.49, 1.0)) return 1;
+ if(!generate_sine32_2("sine32-14.raw", 44100.0, 200000, 8820.0, 0.70, 4410.0, 0.29, 1.0)) return 1;
+ if(!generate_sine32_2("sine32-15.raw", 44100.0, 200000, 441.0, 0.50, 441.0, 0.49, 0.5)) return 1;
+ if(!generate_sine32_2("sine32-16.raw", 44100.0, 200000, 441.0, 0.61, 661.5, 0.37, 2.0)) return 1;
+ if(!generate_sine32_2("sine32-17.raw", 44100.0, 200000, 441.0, 0.50, 882.0, 0.49, 0.7)) return 1;
+ if(!generate_sine32_2("sine32-18.raw", 44100.0, 200000, 441.0, 0.50, 4410.0, 0.49, 1.3)) return 1;
+ if(!generate_sine32_2("sine32-19.raw", 44100.0, 200000, 8820.0, 0.70, 4410.0, 0.29, 0.1)) return 1;
+
+ if(!generate_replaygain_tone(8000)) return 1;
+ if(!generate_replaygain_tone(11025)) return 1;
+ if(!generate_replaygain_tone(12000)) return 1;
+ if(!generate_replaygain_tone(16000)) return 1;
+ if(!generate_replaygain_tone(18900)) return 1;
+ if(!generate_replaygain_tone(22050)) return 1;
+ if(!generate_replaygain_tone(24000)) return 1;
+ if(!generate_replaygain_tone(28000)) return 1;
+ if(!generate_replaygain_tone(32000)) return 1;
+ if(!generate_replaygain_tone(36000)) return 1;
+ if(!generate_replaygain_tone(37800)) return 1;
+ if(!generate_replaygain_tone(44100)) return 1;
+ if(!generate_replaygain_tone(48000)) return 1;
+ if(!generate_replaygain_tone(96000)) return 1;
+ if(!generate_replaygain_tone(192000)) return 1;
+
/* WATCHOUT: the size of noise.raw is hardcoded into test/test_flac.sh */
if(!generate_noise("noise.raw", 65536 * 8 * 3)) return 1;
if(!generate_noise("noise8m32.raw", 32)) return 1;
if(!generate_wackywavs()) return 1;
- for(channels = 1; channels <= 8; channels++) {
+ if(!generate_wackywav64s()) return 1;
+ if(!generate_wackyrf64s()) return 1;
+ if(!generate_noisy_sine()) return 1;
+ for(channels = 1; channels <= 8; channels *= 2) {
unsigned bits_per_sample;
- for(bits_per_sample = 4; bits_per_sample <= 24; bits_per_sample++) {
+ for(bits_per_sample = 8; bits_per_sample <= 24; bits_per_sample += 4) {
static const unsigned nsamples[] = { 1, 111, 4777 } ;
unsigned samples;
for(samples = 0; samples < sizeof(nsamples)/sizeof(nsamples[0]); samples++) {
char fn[64];
- sprintf(fn, "rt-%u-%u-%u.aiff", channels, bits_per_sample, nsamples[samples]);
+ flac_snprintf(fn, sizeof (fn), "rt-%u-%u-%u.aiff", channels, bits_per_sample, nsamples[samples]);
if(!generate_aiff(fn, 44100, channels, bits_per_sample, nsamples[samples]))
return 1;
- sprintf(fn, "rt-%u-%u-%u.wav", channels, bits_per_sample, nsamples[samples]);
- if(!generate_wav(fn, 44100, channels, bits_per_sample, nsamples[samples], /*strict=*/true))
+ flac_snprintf(fn, sizeof (fn), "rt-%u-%u-%u.wav", channels, bits_per_sample, nsamples[samples]);
+ if(!generate_wav(fn, 44100, channels, bits_per_sample, nsamples[samples], /*strict=*/true, /*flavor=*/0))
+ return 1;
+
+ flac_snprintf(fn, sizeof (fn), "rt-%u-%u-%u.rf64", channels, bits_per_sample, nsamples[samples]);
+ if(!generate_wav(fn, 44100, channels, bits_per_sample, nsamples[samples], /*strict=*/true, /*flavor=*/1))
+ return 1;
+
+ flac_snprintf(fn, sizeof (fn), "rt-%u-%u-%u.w64", channels, bits_per_sample, nsamples[samples]);
+ if(!generate_wav(fn, 44100, channels, bits_per_sample, nsamples[samples], /*strict=*/true, /*flavor=*/2))
return 1;
if(bits_per_sample % 8 == 0) {
- sprintf(fn, "rt-%u-%u-%u.raw", channels, bits_per_sample, nsamples[samples]);
- if(!generate_raw(fn, channels, bits_per_sample/8, nsamples[samples]))
+ flac_snprintf(fn, sizeof (fn), "rt-%u-%u-signed-%u.raw", channels, bits_per_sample, nsamples[samples]);
+ if(!generate_signed_raw(fn, channels, bits_per_sample/8, nsamples[samples]))
+ return 1;
+ flac_snprintf(fn, sizeof (fn), "rt-%u-%u-unsigned-%u.raw", channels, bits_per_sample, nsamples[samples]);
+ if(!generate_unsigned_raw(fn, channels, bits_per_sample/8, nsamples[samples]))
return 1;
}
}
diff --git a/3rdparty/libflac/src/test_streams/test_streams.dsp b/3rdparty/libflac/src/test_streams/test_streams.dsp
deleted file mode 100644
index 985cde94266..00000000000
--- a/3rdparty/libflac/src/test_streams/test_streams.dsp
+++ /dev/null
@@ -1,96 +0,0 @@
-# Microsoft Developer Studio Project File - Name="test_streams" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=test_streams - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "test_streams.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "test_streams.mak" CFG="test_streams - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "test_streams - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "test_streams - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "test_streams - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\obj\release\bin"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\include" /D "NDEBUG" /D "FLAC__NO_DLL" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "test_streams - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\obj\debug\bin"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\include" /D "_DEBUG" /D "DEBUG" /D "FLAC__NO_DLL" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "test_streams - Win32 Release"
-# Name "test_streams - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "c"
-# Begin Source File
-
-SOURCE=.\main.c
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/3rdparty/libflac/src/test_streams/test_streams.vcproj b/3rdparty/libflac/src/test_streams/test_streams.vcproj
deleted file mode 100644
index fec5facae7d..00000000000
--- a/3rdparty/libflac/src/test_streams/test_streams.vcproj
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="test_streams"
- ProjectGUID="{4cefbc91-c215-11db-8314-0800200c9a66}"
- RootNamespace="test_streams"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="..\..\obj\debug\bin"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=".;..\..\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;FLAC__NO_DLL;DEBUG"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="2"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="..\..\obj\release\bin"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- WholeProgramOptimization="true"
- AdditionalIncludeDirectories=".;..\..\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;FLAC__NO_DLL"
- RuntimeLibrary="0"
- BufferSecurityCheck="false"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- CompileAs="0"
- DisableSpecificWarnings="4267;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- IgnoreDefaultLibraryNames="uuid.lib"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- LinkTimeCodeGeneration="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\main.c"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/3rdparty/libflac/obj/debug/Makefile.am b/3rdparty/libflac/src/utils/Makefile.am
index 18f4a30f56e..5207b13c8db 100644
--- a/3rdparty/libflac/obj/debug/Makefile.am
+++ b/3rdparty/libflac/src/utils/Makefile.am
@@ -1,8 +1,9 @@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -15,6 +16,4 @@
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-SUBDIRS = \
- bin \
- lib
+SUBDIRS = flacdiff flactimer
diff --git a/3rdparty/libflac/src/utils/Makefile.in b/3rdparty/libflac/src/utils/Makefile.in
new file mode 100644
index 00000000000..c433e152e02
--- /dev/null
+++ b/3rdparty/libflac/src/utils/Makefile.in
@@ -0,0 +1,676 @@
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# FLAC - Free Lossless Audio Codec
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
+#
+# This file is part the FLAC project. FLAC is comprised of several
+# components distributed under different licenses. The codec libraries
+# are distributed under Xiph.Org's BSD-like license (see the file
+# COPYING.Xiph in this distribution). All other programs, libraries, and
+# plugins are distributed under the GPL (see COPYING.GPL). The documentation
+# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
+# FLAC distribution contains at the top the terms under which it may be
+# distributed.
+#
+# Since this particular file is relevant to all components of FLAC,
+# it may be distributed under the Xiph.Org license, which is the least
+# restrictive of those mentioned above. See the file COPYING.Xiph in this
+# distribution.
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = src/utils
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
+FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
+FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OBJ_FORMAT = @OBJ_FORMAT@
+OGG_CFLAGS = @OGG_CFLAGS@
+OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = flacdiff flactimer
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/utils/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/utils/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/3rdparty/libflac/src/utils/flacdiff/CMakeLists.txt b/3rdparty/libflac/src/utils/flacdiff/CMakeLists.txt
new file mode 100644
index 00000000000..ec9f771cb35
--- /dev/null
+++ b/3rdparty/libflac/src/utils/flacdiff/CMakeLists.txt
@@ -0,0 +1,5 @@
+add_executable(flacdiff
+ main.cpp
+ $<$<BOOL:${WIN32}>:../../../include/share/win_utf8_io.h>
+ $<$<BOOL:${WIN32}>:../../share/win_utf8_io/win_utf8_io.c>)
+target_link_libraries(flacdiff FLAC++)
diff --git a/3rdparty/libflac/src/monkeys_audio_utilities/flac_mac/Makefile.am b/3rdparty/libflac/src/utils/flacdiff/Makefile.am
index fef6138791c..b181d980761 100644
--- a/3rdparty/libflac/src/monkeys_audio_utilities/flac_mac/Makefile.am
+++ b/3rdparty/libflac/src/utils/flacdiff/Makefile.am
@@ -1,5 +1,6 @@
-# flac_mac - wedge utility to add FLAC support to Monkey's Audio
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# flacdiff - Displays where two FLAC streams differ
+# Copyright (C) 2007-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -11,11 +12,10 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
EXTRA_DIST = \
- flac_mac.dsp \
- flac_mac.vcproj \
- main.c
+ CMakeLists.txt \
+ main.cpp
diff --git a/3rdparty/libflac/src/utils/flacdiff/Makefile.in b/3rdparty/libflac/src/utils/flacdiff/Makefile.in
new file mode 100644
index 00000000000..2ff13fc002c
--- /dev/null
+++ b/3rdparty/libflac/src/utils/flacdiff/Makefile.in
@@ -0,0 +1,501 @@
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# flacdiff - Displays where two FLAC streams differ
+# Copyright (C) 2007-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = src/utils/flacdiff
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
+FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
+FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OBJ_FORMAT = @OBJ_FORMAT@
+OGG_CFLAGS = @OGG_CFLAGS@
+OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = \
+ CMakeLists.txt \
+ main.cpp
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/utils/flacdiff/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/utils/flacdiff/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/3rdparty/libflac/src/utils/flacdiff/main.cpp b/3rdparty/libflac/src/utils/flacdiff/main.cpp
new file mode 100644
index 00000000000..358fe047e23
--- /dev/null
+++ b/3rdparty/libflac/src/utils/flacdiff/main.cpp
@@ -0,0 +1,230 @@
+/* flacdiff - Displays where two FLAC streams differ
+ * Copyright (C) 2007-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#include "FLAC++/decoder.h"
+#include "share/compat.h"
+
+#ifdef _MSC_VER
+// warning C4800: 'int' : forcing to bool 'true' or 'false' (performance warning)
+#pragma warning ( disable : 4800 )
+#endif
+
+class AutoFILE {
+protected:
+ ::FILE *f_;
+public:
+ inline AutoFILE(const char *path, const char *mode): f_(::fopen(path, mode)) { }
+ inline virtual ~AutoFILE() { if (f_) (void)::fclose(f_); }
+
+ inline operator bool() const { return 0 != f_; }
+ inline operator const ::FILE *() const { return f_; }
+ inline operator ::FILE *() { return f_; }
+private:
+ AutoFILE();
+ AutoFILE(const AutoFILE &);
+ void operator=(const AutoFILE &);
+};
+
+class Decoder: public FLAC::Decoder::Stream {
+public:
+ Decoder(AutoFILE &f, FLAC__off_t tgt): tgtpos_((FLAC__uint64)tgt), curpos_(0), go_(true), err_(false), frame_(), f_(f) { memset(&frame_, 0, sizeof(::FLAC__Frame)); }
+ FLAC__uint64 tgtpos_, curpos_;
+ bool go_, err_;
+ ::FLAC__Frame frame_;
+protected:
+ AutoFILE &f_;
+ // from FLAC::Decoder::Stream
+ virtual ::FLAC__StreamDecoderReadStatus read_callback(FLAC__byte buffer[], size_t *bytes)
+ {
+ *bytes = fread(buffer, 1, *bytes, f_);
+ if(ferror((FILE*)f_))
+ return ::FLAC__STREAM_DECODER_READ_STATUS_ABORT;
+ else if(*bytes == 0 && feof((FILE*)f_))
+ return ::FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM;
+ else
+ return ::FLAC__STREAM_DECODER_READ_STATUS_CONTINUE;
+ }
+
+ virtual ::FLAC__StreamDecoderTellStatus tell_callback(FLAC__uint64 *absolute_byte_offset)
+ {
+ FLAC__off_t off = ftello(f_);
+ if(off < 0)
+ return ::FLAC__STREAM_DECODER_TELL_STATUS_ERROR;
+ *absolute_byte_offset = off;
+ return ::FLAC__STREAM_DECODER_TELL_STATUS_OK;
+ }
+
+ virtual bool eof_callback()
+ {
+ return (bool)feof((FILE*)f_);
+ }
+
+ virtual ::FLAC__StreamDecoderWriteStatus write_callback(const ::FLAC__Frame *frame, const FLAC__int32 * const /*buffer*/[])
+ {
+ FLAC__uint64 pos;
+ if(!get_decode_position(&pos)) {
+ go_ = false;
+ err_ = true;
+ return ::FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
+ }
+ if(pos > tgtpos_) {
+ go_ = false;
+ frame_ = *frame;
+ }
+ else
+ curpos_ = pos;
+ return ::FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
+ }
+
+ virtual void error_callback(::FLAC__StreamDecoderErrorStatus status)
+ {
+ fprintf(stderr, "got error %d:%s\n", status, ::FLAC__StreamDecoderErrorStatusString[status]);
+ go_ = false;
+ err_ = true;
+ }
+};
+
+static bool show_diff(AutoFILE &f1, AutoFILE &f2, FLAC__off_t off)
+{
+ Decoder d1(f1, off), d2(f2, off);
+ if(!d1) {
+ fprintf(stderr, "ERROR: setting up decoder1, state=%s\n", d1.get_state().resolved_as_cstring(d1));
+ return false;
+ }
+ if(!d2) {
+ fprintf(stderr, "ERROR: setting up decoder2, state=%s\n", d2.get_state().resolved_as_cstring(d2));
+ return false;
+ }
+ ::FLAC__StreamDecoderInitStatus is;
+ if((is = d1.init()) != FLAC__STREAM_DECODER_INIT_STATUS_OK) {
+ fprintf(stderr, "ERROR: initializing decoder1, status=%s state=%s\n", FLAC__StreamDecoderInitStatusString[is], d1.get_state().resolved_as_cstring(d1));
+ return false;
+ }
+ if((is = d2.init()) != FLAC__STREAM_DECODER_INIT_STATUS_OK) {
+ fprintf(stderr, "ERROR: initializing decoder2, status=%s state=%s\n", FLAC__StreamDecoderInitStatusString[is], d2.get_state().resolved_as_cstring(d2));
+ return false;
+ }
+ if(!d1.process_until_end_of_metadata()) {
+ fprintf(stderr, "ERROR: skipping metadata in decoder1, state=%s\n", d1.get_state().resolved_as_cstring(d1));
+ return false;
+ }
+ if(!d2.process_until_end_of_metadata()) {
+ fprintf(stderr, "ERROR: skipping metadata in decoder2, state=%s\n", d2.get_state().resolved_as_cstring(d2));
+ return false;
+ }
+ while(d1.go_ && d2.go_) {
+ if(!d1.process_single()) {
+ fprintf(stderr, "ERROR: decoding frame in decoder1, state=%s\n", d1.get_state().resolved_as_cstring(d1));
+ return false;
+ }
+ if(!d2.process_single()) {
+ fprintf(stderr, "ERROR: decoding frame in decoder2, state=%s\n", d2.get_state().resolved_as_cstring(d2));
+ return false;
+ }
+ }
+ if(d1.err_) {
+ fprintf(stderr, "ERROR: got err_ in decoder1, state=%s\n", d1.get_state().resolved_as_cstring(d1));
+ return false;
+ }
+ if(d2.err_) {
+ fprintf(stderr, "ERROR: got err_ in decoder2, state=%s\n", d2.get_state().resolved_as_cstring(d2));
+ return false;
+ }
+ if(d1.go_ != d2.go_) {
+ fprintf(stderr, "ERROR: d1.go_(%s) != d2.go_(%s)\n", d1.go_?"true":"false", d2.go_?"true":"false");
+ return false;
+ }
+ fprintf(stdout, "pos1 = %" PRIu64 " blocksize=%u sample#%" PRIu64 " frame#%" PRIu64 "\n", d1.curpos_, d1.frame_.header.blocksize, d1.frame_.header.number.sample_number, d1.frame_.header.number.sample_number / d1.frame_.header.blocksize);
+ fprintf(stdout, "pos2 = %" PRIu64 " blocksize=%u sample#%" PRIu64 " frame#%" PRIu64 "\n", d2.curpos_, d2.frame_.header.blocksize, d2.frame_.header.number.sample_number, d2.frame_.header.number.sample_number / d2.frame_.header.blocksize);
+
+ return true;
+}
+
+static FLAC__off_t get_diff_offset(AutoFILE &f1, AutoFILE &f2)
+{
+ FLAC__off_t off = 0;
+ while(1) {
+ if(feof((FILE*)f1) && feof((FILE*)f2)) {
+ fprintf(stderr, "ERROR: files are identical\n");
+ return -1;
+ }
+ if(feof((FILE*)f1)) {
+ fprintf(stderr, "ERROR: file1 EOF\n");
+ return -1;
+ }
+ if(feof((FILE*)f2)) {
+ fprintf(stderr, "ERROR: file2 EOF\n");
+ return -1;
+ }
+ if(fgetc(f1) != fgetc(f2))
+ return off;
+ off++;
+ }
+}
+
+static bool run(const char *fn1, const char *fn2)
+{
+ FLAC__off_t off;
+ AutoFILE f1(fn1, "rb"), f2(fn2, "rb");
+
+ if(!f1) {
+ flac_fprintf(stderr, "ERROR: opening %s for reading\n", fn1);
+ return false;
+ }
+ if(!f2) {
+ flac_fprintf(stderr, "ERROR: opening %s for reading\n", fn2);
+ return false;
+ }
+
+ if((off = get_diff_offset(f1, f2)) < 0)
+ return false;
+
+ fprintf(stdout, "got diff offset = %" PRId64 "\n", off);
+
+ return show_diff(f1, f2, off);
+}
+
+int main(int argc, char *argv[])
+{
+ const char *usage = "usage: flacdiff flacfile1 flacfile2\n";
+
+#ifdef _WIN32
+ if (get_utf8_argv(&argc, &argv) != 0) {
+ fprintf(stderr, "ERROR: failed to convert command line parameters to UTF-8\n");
+ return 1;
+ }
+#endif
+
+ if(argc > 1 && 0 == strcmp(argv[1], "-h")) {
+ printf("%s", usage);
+ return 0;
+ }
+ else if(argc != 3) {
+ fprintf(stderr, "%s", usage);
+ return 255;
+ }
+
+ return run(argv[1], argv[2])? 0 : 1;
+}
diff --git a/3rdparty/libflac/src/utils/flactimer/CMakeLists.txt b/3rdparty/libflac/src/utils/flactimer/CMakeLists.txt
new file mode 100644
index 00000000000..47bf1e5ff5d
--- /dev/null
+++ b/3rdparty/libflac/src/utils/flactimer/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_executable(flactimer main.cpp)
+target_link_libraries(flactimer FLAC++)
diff --git a/3rdparty/libflac/src/monkeys_audio_utilities/flac_ren/Makefile.am b/3rdparty/libflac/src/utils/flactimer/Makefile.am
index ddb7d2f3f0a..0737863078c 100644
--- a/3rdparty/libflac/src/monkeys_audio_utilities/flac_ren/Makefile.am
+++ b/3rdparty/libflac/src/utils/flactimer/Makefile.am
@@ -1,5 +1,6 @@
-# flac_ren - renamer part of utility to add FLAC support to Monkey's Audio
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# flactimer - Runs a command and prints timing information
+# Copyright (C) 2007-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -11,11 +12,10 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
EXTRA_DIST = \
- flac_ren.dsp \
- flac_ren.vcproj \
- main.c
+ CMakeLists.txt \
+ main.cpp
diff --git a/3rdparty/libflac/src/utils/flactimer/Makefile.in b/3rdparty/libflac/src/utils/flactimer/Makefile.in
new file mode 100644
index 00000000000..da3119d3ed1
--- /dev/null
+++ b/3rdparty/libflac/src/utils/flactimer/Makefile.in
@@ -0,0 +1,501 @@
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# flactimer - Runs a command and prints timing information
+# Copyright (C) 2007-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = src/utils/flactimer
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
+FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
+FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OBJ_FORMAT = @OBJ_FORMAT@
+OGG_CFLAGS = @OGG_CFLAGS@
+OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = \
+ CMakeLists.txt \
+ main.cpp
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/utils/flactimer/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/utils/flactimer/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/3rdparty/libflac/src/utils/flactimer/main.cpp b/3rdparty/libflac/src/utils/flactimer/main.cpp
new file mode 100644
index 00000000000..120a37ff33c
--- /dev/null
+++ b/3rdparty/libflac/src/utils/flactimer/main.cpp
@@ -0,0 +1,175 @@
+/* flactimer - Runs a command and prints timing information
+ * Copyright (C) 2007-2009 Josh Coalson
+ * Copyright (C) 2011-2023 Xiph.Org Foundation
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#include <windows.h>
+#include "share/compat.h"
+#include "share/safe_str.h"
+
+static inline uint64_t time2nsec(const FILETIME &t)
+{
+ uint64_t n = t.dwHighDateTime;
+ n <<= 32;
+ n |= (uint64_t)t.dwLowDateTime;
+ return n * 100;
+}
+
+static void printtime(FILE *fout, uint64_t nsec, uint64_t total)
+{
+ uint32_t pct = (uint32_t)(100.0 * ((double)nsec / (double)total));
+ uint64_t msec = nsec / 1000000; nsec -= msec * 1000000;
+ uint64_t sec = msec / 1000; msec -= sec * 1000;
+ uint64_t min = sec / 60; sec -= min * 60;
+ uint64_t hour = min / 60; min -= hour * 60;
+ fprintf(fout, " %5u.%03u = %02u:%02u:%02u.%03u = %3u%%\n",
+ (uint32_t)((hour*60+min)*60+sec),
+ (uint32_t)msec,
+ (uint32_t)hour,
+ (uint32_t)min,
+ (uint32_t)sec,
+ (uint32_t)msec,
+ pct
+ );
+}
+
+int main(int argc, char *argv[])
+{
+ const char *usage = "usage: flactimer [-1 | -2 | -o outputfile] command\n";
+ FILE *fout = stderr;
+
+ if(argc == 1 || (argc > 1 && 0 == strcmp(argv[1], "-h"))) {
+ fprintf(stderr, usage);
+ return 0;
+ }
+ argv++;
+ argc--;
+ if(0 == strcmp(argv[0], "-1") || 0 == strcmp(argv[0], "/1")) {
+ fout = stdout;
+ argv++;
+ argc--;
+ }
+ else if(0 == strcmp(argv[0], "-2") || 0 == strcmp(argv[0], "/2")) {
+ fout = stdout;
+ argv++;
+ argc--;
+ }
+ else if(0 == strcmp(argv[0], "-o")) {
+ if(argc < 2) {
+ fprintf(stderr, usage);
+ return 1;
+ }
+ fout = fopen(argv[1], "w");
+ if(!fout) {
+ fprintf(stderr, "ERROR opening file %s for writing\n", argv[1]);
+ return 1;
+ }
+ argv += 2;
+ argc -= 2;
+ }
+ if(argc <= 0) {
+ fprintf(fout, "ERROR, no command!\n\n");
+ fprintf(fout, usage);
+ fclose(fout);
+ return 1;
+ }
+
+ // improvement: double-quote all args
+ int i, n = 0;
+ for(i = 0; i < argc; i++) {
+ if(i > 0)
+ n++;
+ n += strlen(argv[i]);
+ }
+ char *args = (char*)malloc(n+1);
+ if(!args) {
+ fprintf(fout, "ERROR, no memory\n");
+ fclose(fout);
+ return 1;
+ }
+ args[0] = '\0';
+ for(i = 0; i < argc; i++) {
+ if(i > 0)
+ safe_strncat(args, " ", sizeof(args));
+ safe_strncat(args, argv[i], sizeof(args));
+ }
+
+ //fprintf(stderr, "@@@ cmd=[%s] args=[%s]\n", argv[0], args);
+
+ STARTUPINFOA si;
+ GetStartupInfoA(&si);
+
+ DWORD wallclock_msec = GetTickCount();
+
+ PROCESS_INFORMATION pi;
+ BOOL ok = CreateProcessA(
+ argv[0], // lpApplicationName
+ args, // lpCommandLine
+ NULL, // lpProcessAttributes
+ NULL, // lpThreadAttributes
+ FALSE, // bInheritHandles
+ 0, // dwCreationFlags
+ NULL, // lpEnvironment
+ NULL, // lpCurrentDirectory
+ &si, // lpStartupInfo (inherit from this proc?)
+ &pi // lpProcessInformation
+ );
+
+ if(!ok) {
+ fprintf(fout, "ERROR running command\n");
+ free(args); //@@@ ok to free here or have to wait to wait till process is reaped?
+ fclose(fout);
+ return 1;
+ }
+
+ //fprintf(stderr, "@@@ waiting...\n");
+ WaitForSingleObject(pi.hProcess, INFINITE);
+ //fprintf(stderr, "@@@ done\n");
+
+ wallclock_msec = GetTickCount() - wallclock_msec;
+
+ FILETIME creation_time;
+ FILETIME exit_time;
+ FILETIME kernel_time;
+ FILETIME user_time;
+ if(!GetProcessTimes(pi.hProcess, &creation_time, &exit_time, &kernel_time, &user_time)) {
+ fprintf(fout, "ERROR getting time info\n");
+ free(args); //@@@ ok to free here or have to wait to wait till process is reaped?
+ fclose(fout);
+ return 1;
+ }
+ uint64_t kernel_nsec = time2nsec(kernel_time);
+ uint64_t user_nsec = time2nsec(user_time);
+
+ fprintf(fout, "Kernel Time = "); printtime(fout, kernel_nsec, (uint64_t)wallclock_msec * 1000000);
+ fprintf(fout, "User Time = "); printtime(fout, user_nsec, (uint64_t)wallclock_msec * 1000000);
+ fprintf(fout, "Process Time = "); printtime(fout, kernel_nsec+user_nsec, (uint64_t)wallclock_msec * 1000000);
+ fprintf(fout, "Global Time = "); printtime(fout, (uint64_t)wallclock_msec * 1000000, (uint64_t)wallclock_msec * 1000000);
+
+ CloseHandle(pi.hThread);
+ CloseHandle(pi.hProcess);
+
+ free(args); //@@@ always causes crash, maybe CreateProcess takes ownership?
+ fclose(fout);
+ return 0;
+}
diff --git a/3rdparty/libflac/strip_non_asm_libtool_args.sh b/3rdparty/libflac/strip_non_asm_libtool_args.sh
deleted file mode 100644
index d5a61f15179..00000000000
--- a/3rdparty/libflac/strip_non_asm_libtool_args.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-#
-# libtool assumes that the compiler can handle the -fPIC flag.
-# This isn't always true (for example, nasm can't handle it).
-# Also, on some versions of OS X it tries to pass -fno-common
-# to 'as' which causes problems.
-command=""
-while [ $1 ]; do
- if [ "$1" != "-fPIC" ]; then
- if [ "$1" != "-DPIC" ]; then
- if [ "$1" != "-fno-common" ]; then
- command="$command $1"
- fi
- fi
- fi
- shift
-done
-echo $command
-exec $command
diff --git a/3rdparty/libflac/test/CMakeLists.txt b/3rdparty/libflac/test/CMakeLists.txt
new file mode 100644
index 00000000000..1699e17317a
--- /dev/null
+++ b/3rdparty/libflac/test/CMakeLists.txt
@@ -0,0 +1,103 @@
+if(WIN32)
+ set(EXEEXT .exe)
+endif()
+
+if(NOT UNIX)
+ find_program(BUSYBOX_EXE busybox)
+ if(NOT BUSYBOX_EXE)
+ message(STATUS "Could NOT find busybox, only basic tests are enabled")
+ add_test(NAME libFLAC
+ COMMAND $<TARGET_FILE:test_libFLAC>
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
+ if(BUILD_CXXLIBS)
+ add_test(NAME libFLAC++
+ COMMAND $<TARGET_FILE:test_libFLAC++>
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
+ endif()
+ if(BUILD_PROGRAMS)
+ add_test(NAME flac_help
+ COMMAND $<TARGET_FILE:flacapp> --help
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
+ add_test(NAME flac_utf8_test COMMAND $<TARGET_FILE:flacapp> -t
+ "${CMAKE_CURRENT_SOURCE_DIR}/flac-to-flac-metadata-test-files/שלו×.flac"
+ "${CMAKE_CURRENT_SOURCE_DIR}/flac-to-flac-metadata-test-files/Prøve.flac"
+ "${CMAKE_CURRENT_SOURCE_DIR}/flac-to-flac-metadata-test-files/🤔.flac")
+ add_test(NAME metaflac_help
+ COMMAND $<TARGET_FILE:metaflac> --help
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
+ endif()
+ return()
+ else()
+ set(BUSYBOX_CMD "sh")
+ endif()
+endif()
+
+set(top_srcdir "${PROJECT_SOURCE_DIR}")
+set(top_builddir "${PROJECT_BINARY_DIR}")
+if(NOT GIT_COMMIT_TAG AND GIT_COMMIT_HASH AND GIT_COMMIT_DATE)
+ set(GIT_COMMIT_VERSION_HASH yes)
+endif()
+
+configure_file(common.sh.in common.sh @ONLY)
+
+set(ALL_TESTS libFLAC grabbag)
+
+add_test(NAME libFLAC
+ COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_libFLAC.sh"
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
+if(BUILD_CXXLIBS)
+ add_test(NAME libFLAC++
+ COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_libFLAC++.sh"
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
+ list(APPEND ALL_TESTS libFLAC++)
+ set_tests_properties(libFLAC++ PROPERTIES DEPENDS libFLAC)
+endif()
+file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/cuesheets")
+add_test(NAME grabbag
+ COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_grabbag.sh"
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
+if(BUILD_PROGRAMS)
+ add_test(NAME generate_streams
+ COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/generate_streams.sh"
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
+ add_test(NAME flac
+ COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_flac.sh"
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
+ # UTF-8 must be tested separately on Windows because busybox-w32 doesn't support UTF-8
+ if(BUSYBOX_EXE)
+ add_test(NAME flac_utf8_test COMMAND $<TARGET_FILE:flacapp> -t
+ "${CMAKE_CURRENT_SOURCE_DIR}/flac-to-flac-metadata-test-files/שלו×.flac"
+ "${CMAKE_CURRENT_SOURCE_DIR}/flac-to-flac-metadata-test-files/Prøve.flac"
+ "${CMAKE_CURRENT_SOURCE_DIR}/flac-to-flac-metadata-test-files/🤔.flac")
+ list(APPEND ALL_TESTS flac_utf8_test)
+ endif()
+ file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/metaflac-test-files")
+ add_test(NAME metaflac
+ COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_metaflac.sh"
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
+ add_test(NAME replaygain
+ COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_replaygain.sh"
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
+ add_test(NAME seeking
+ COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_seeking.sh"
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
+ add_test(NAME streams
+ COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_streams.sh"
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
+ # increase this if standard 1500 seconds are not enough
+ # set_tests_properties(streams PROPERTIES TIMEOUT 1500)
+ add_test(NAME compression
+ COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_compression.sh"
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
+ set_tests_properties(flac metaflac replaygain seeking streams compression PROPERTIES DEPENDS generate_streams)
+ list(APPEND ALL_TESTS generate_streams flac metaflac replaygain seeking streams compression)
+endif()
+
+
+set_property(TEST ${ALL_TESTS} APPEND PROPERTY ENVIRONMENT FLAC__TEST_LEVEL=1)
+if(BUSYBOX_EXE)
+ set_property(TEST ${ALL_TESTS} APPEND PROPERTY ENVIRONMENT ECHO_N=-n)
+ set_property(TEST ${ALL_TESTS} APPEND PROPERTY ENVIRONMENT WIN32BUSYBOX=yes)
+else()
+ set_property(TEST ${ALL_TESTS} APPEND PROPERTY ENVIRONMENT ECHO_C=\\c)
+endif()
diff --git a/3rdparty/libflac/test/Makefile.am b/3rdparty/libflac/test/Makefile.am
index bf6e4f4c7a1..2d69fea62f6 100644
--- a/3rdparty/libflac/test/Makefile.am
+++ b/3rdparty/libflac/test/Makefile.am
@@ -1,8 +1,9 @@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -15,37 +16,47 @@
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-if FLaC__WITH_CPPLIBS
-CPPLIBS_TESTS = test_libFLAC++.sh
-endif
+TESTS_ENVIRONMENT = FLAC__TEST_LEVEL=@FLAC__TEST_LEVEL@ FLAC__TEST_WITH_VALGRIND=@FLAC__TEST_WITH_VALGRIND@ ECHO_N="@ECHO_N@" ECHO_C="@ECHO_C@"
-TESTS_ENVIRONMENT = FLAC__TEST_LEVEL=@FLAC__TEST_LEVEL@ FLAC__TEST_WITH_VALRGIND=@FLAC__TEST_WITH_VALGRIND@
+SUBDIRS = cuesheets foreign-metadata-test-files flac-to-flac-metadata-test-files metaflac-test-files pictures
-SUBDIRS = cuesheets flac-to-flac-metadata-test-files metaflac-test-files pictures
+check_SCRIPTS = \
+ test_libFLAC.sh \
+ test_libFLAC++.sh \
+ test_grabbag.sh \
+ test_flac.sh \
+ test_metaflac.sh \
+ test_replaygain.sh \
+ test_seeking.sh \
+ test_streams.sh \
+ test_compression.sh
-TESTS = \
- ./test_libFLAC.sh \
- $(CPPLIBS_TESTS) \
- ./test_grabbag.sh \
- ./test_flac.sh \
- ./test_metaflac.sh \
- ./test_seeking.sh \
- ./test_streams.sh
+# This one should pass when building out-of-tree (e.g. 'make distcheck').
+check: $(check_SCRIPTS)
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_libFLAC.sh
+if FLaC__WITH_CPPLIBS
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_libFLAC++.sh
+endif
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_grabbag.sh
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_flac.sh
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_metaflac.sh
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_replaygain.sh
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_seeking.sh
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_streams.sh
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_compression.sh
+ @echo "----------------"
+ @echo "All tests passed"
+ @echo "----------------"
EXTRA_DIST = \
- Makefile.lite \
+ CMakeLists.txt \
cuesheet.ok \
+ generate_streams.sh \
metaflac.flac.in \
metaflac.flac.ok \
picture.ok \
- test_libFLAC.sh \
- $(CPPLIBS_TESTS) \
- test_flac.sh \
- test_metaflac.sh \
- test_grabbag.sh \
- test_seeking.sh \
- test_streams.sh \
- test_bins.sh
+ $(check_SCRIPTS) \
+ write_iff.pl
clean-local:
- -rm -f *.raw *.flac *.oga *.ogg *.cmp *.aiff *.wav *.diff *.log *.cue core
+ -rm -f *.raw *.flac *.oga *.ogg *.cmp *.aiff *.wav *.w64 *.rf64 *.diff *.log *.cue core
diff --git a/3rdparty/libflac/test/Makefile.in b/3rdparty/libflac/test/Makefile.in
index 1ea2c32b07a..e9e76acc559 100644
--- a/3rdparty/libflac/test/Makefile.in
+++ b/3rdparty/libflac/test/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,10 +15,11 @@
@SET_MAKE@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -30,17 +31,67 @@
# it may be distributed under the Xiph.Org license, which is the least
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,114 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = test
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES = common.sh
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/common.sh.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,212 +219,200 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
-@FLaC__WITH_CPPLIBS_TRUE@CPPLIBS_TESTS = test_libFLAC++.sh
-
-TESTS_ENVIRONMENT = FLAC__TEST_LEVEL=@FLAC__TEST_LEVEL@ FLAC__TEST_WITH_VALRGIND=@FLAC__TEST_WITH_VALGRIND@
-
-SUBDIRS = cuesheets flac-to-flac-metadata-test-files metaflac-test-files pictures
-
-TESTS = \
- ./test_libFLAC.sh \
- $(CPPLIBS_TESTS) \
- ./test_grabbag.sh \
- ./test_flac.sh \
- ./test_metaflac.sh \
- ./test_seeking.sh \
- ./test_streams.sh
-
-
-EXTRA_DIST = \
- Makefile.lite \
- cuesheet.ok \
- metaflac.flac.in \
- metaflac.flac.ok \
- picture.ok \
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+TESTS_ENVIRONMENT = FLAC__TEST_LEVEL=@FLAC__TEST_LEVEL@ FLAC__TEST_WITH_VALGRIND=@FLAC__TEST_WITH_VALGRIND@ ECHO_N="@ECHO_N@" ECHO_C="@ECHO_C@"
+SUBDIRS = cuesheets foreign-metadata-test-files flac-to-flac-metadata-test-files metaflac-test-files pictures
+check_SCRIPTS = \
test_libFLAC.sh \
- $(CPPLIBS_TESTS) \
+ test_libFLAC++.sh \
+ test_grabbag.sh \
test_flac.sh \
test_metaflac.sh \
- test_grabbag.sh \
+ test_replaygain.sh \
test_seeking.sh \
test_streams.sh \
- test_bins.sh
+ test_compression.sh
-subdir = test
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
+EXTRA_DIST = \
+ CMakeLists.txt \
+ cuesheet.ok \
+ generate_streams.sh \
+ metaflac.flac.in \
+ metaflac.flac.ok \
+ picture.ok \
+ $(check_SCRIPTS) \
+ write_iff.pl
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
-DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu test/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign test/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+common.sh: $(top_builddir)/config.status $(srcdir)/common.sh.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
mostlyclean-libtool:
-rm -f *.lo
@@ -279,21 +420,26 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -301,236 +447,141 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- if (etags --etags-include --version) >/dev/null 2>&1; then \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
+ empty_fix=.; \
else \
include_option=--include; \
+ empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-check-TESTS: $(TESTS)
- @failed=0; all=0; xfail=0; xpass=0; skip=0; \
- srcdir=$(srcdir); export srcdir; \
- list='$(TESTS)'; \
- if test -n "$$list"; then \
- for tst in $$list; do \
- if test -f ./$$tst; then dir=./; \
- elif test -f $$tst; then dir=; \
- else dir="$(srcdir)/"; fi; \
- if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *" $$tst "*) \
- xpass=`expr $$xpass + 1`; \
- failed=`expr $$failed + 1`; \
- echo "XPASS: $$tst"; \
- ;; \
- *) \
- echo "PASS: $$tst"; \
- ;; \
- esac; \
- elif test $$? -ne 77; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *" $$tst "*) \
- xfail=`expr $$xfail + 1`; \
- echo "XFAIL: $$tst"; \
- ;; \
- *) \
- failed=`expr $$failed + 1`; \
- echo "FAIL: $$tst"; \
- ;; \
- esac; \
- else \
- skip=`expr $$skip + 1`; \
- echo "SKIP: $$tst"; \
- fi; \
- done; \
- if test "$$failed" -eq 0; then \
- if test "$$xfail" -eq 0; then \
- banner="All $$all tests passed"; \
- else \
- banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
- fi; \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
else \
- if test "$$xpass" -eq 0; then \
- banner="$$failed of $$all tests failed"; \
- else \
- banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
- fi; \
- fi; \
- dashes="$$banner"; \
- skipped=""; \
- if test "$$skip" -ne 0; then \
- skipped="($$skip tests were not run)"; \
- test `echo "$$skipped" | wc -c` -gt `echo "$$banner" | wc -c` && \
- dashes="$$skipped"; \
+ echo "$$sdir/$$i"; \
fi; \
- report=""; \
- if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
- report="Please report to $(PACKAGE_BUGREPORT)"; \
- test `echo "$$report" | wc -c` -gt `echo "$$banner" | wc -c` && \
- dashes="$$report"; \
- fi; \
- dashes=`echo "$$dashes" | sed s/./=/g`; \
- echo "$$dashes"; \
- echo "$$banner"; \
- test -n "$$skipped" && echo "$$skipped"; \
- test -n "$$report" && echo "$$report"; \
- echo "$$dashes"; \
- test "$$failed" -eq 0; \
- else :; fi
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ done >> $(top_builddir)/cscope.files
-top_distdir = ..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+ $(MAKE) $(AM_MAKEFLAGS) $(check_SCRIPTS)
check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
-
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@@ -541,16 +592,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -561,25 +618,46 @@ clean-am: clean-generic clean-libtool clean-local mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
+distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
+html: html-recursive
+
+html-am:
+
info: info-recursive
info-am:
install-data-am:
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-recursive
+
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -598,30 +676,45 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
-uninstall-info: uninstall-info-recursive
+.MAKE: $(am__recursive_targets) check-am install-am install-strip
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-TESTS \
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
check-am clean clean-generic clean-libtool clean-local \
- clean-recursive ctags ctags-recursive distclean \
- distclean-generic distclean-libtool distclean-recursive \
- distclean-tags distdir dvi dvi-am dvi-recursive info info-am \
- info-recursive install install-am install-data install-data-am \
- install-data-recursive install-exec install-exec-am \
- install-exec-recursive install-info install-info-am \
- install-info-recursive install-man install-recursive \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am installdirs-recursive maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive mostlyclean \
- mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
- pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \
- tags-recursive uninstall uninstall-am uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
-
+ cscopelist-am ctags ctags-am distclean distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# This one should pass when building out-of-tree (e.g. 'make distcheck').
+check: $(check_SCRIPTS)
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_libFLAC.sh
+@FLaC__WITH_CPPLIBS_TRUE@ $(TESTS_ENVIRONMENT) $(srcdir)/test_libFLAC++.sh
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_grabbag.sh
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_flac.sh
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_metaflac.sh
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_replaygain.sh
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_seeking.sh
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_streams.sh
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_compression.sh
+ @echo "----------------"
+ @echo "All tests passed"
+ @echo "----------------"
clean-local:
- -rm -f *.raw *.flac *.oga *.ogg *.cmp *.aiff *.wav *.diff *.log *.cue core
+ -rm -f *.raw *.flac *.oga *.ogg *.cmp *.aiff *.wav *.w64 *.rf64 *.diff *.log *.cue core
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/3rdparty/libflac/test/Makefile.lite b/3rdparty/libflac/test/Makefile.lite
deleted file mode 100644
index 2a05ab767b4..00000000000
--- a/3rdparty/libflac/test/Makefile.lite
+++ /dev/null
@@ -1,55 +0,0 @@
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-#
-# GNU makefile
-#
-
-topdir = ..
-
-DEFAULT_CONFIG = release
-
-CONFIG = $(DEFAULT_CONFIG)
-
-all: clean
- $(FLAC__TEST_LEVEL) $(FLAC__TEST_WITH_VALGRIND) ./test_libFLAC.sh $(CONFIG)
- $(FLAC__TEST_LEVEL) $(FLAC__TEST_WITH_VALGRIND) ./test_libFLAC++.sh $(CONFIG)
- $(FLAC__TEST_LEVEL) $(FLAC__TEST_WITH_VALGRIND) ./test_grabbag.sh $(CONFIG)
- $(FLAC__TEST_LEVEL) $(FLAC__TEST_WITH_VALGRIND) ./test_flac.sh $(CONFIG)
- $(FLAC__TEST_LEVEL) $(FLAC__TEST_WITH_VALGRIND) ./test_metaflac.sh $(CONFIG)
- $(FLAC__TEST_LEVEL) $(FLAC__TEST_WITH_VALGRIND) ./test_seeking.sh $(CONFIG)
- $(FLAC__TEST_LEVEL) $(FLAC__TEST_WITH_VALGRIND) ./test_streams.sh $(CONFIG)
- $(FLAC__TEST_LEVEL) $(FLAC__TEST_WITH_VALGRIND) ./test_bins.sh $(CONFIG)
-
-debug : FLAC__TEST_LEVEL=FLAC__TEST_LEVEL=2
-valgrind: FLAC__TEST_LEVEL=FLAC__TEST_LEVEL=1
-release : FLAC__TEST_LEVEL=FLAC__TEST_LEVEL=2
-
-debug : FLAC__TEST_WITH_VALGRIND=FLAC__TEST_WITH_VALGRIND=no
-valgrind: FLAC__TEST_WITH_VALGRIND=FLAC__TEST_WITH_VALGRIND=yes
-release : FLAC__TEST_WITH_VALGRIND=FLAC__TEST_WITH_VALGRIND=no
-
-debug : CONFIG = debug
-valgrind: CONFIG = debug
-release : CONFIG = release
-
-debug : all
-valgrind: all
-release : all
-
-clean:
- rm -f *.raw *.flac *.oga *.ogg *.cmp *.aiff *.wav *.diff *.log *.cue core flac-to-flac-metadata-test-files/out.* metaflac-test-files/out.*
diff --git a/3rdparty/libflac/test/common.sh.in b/3rdparty/libflac/test/common.sh.in
new file mode 100644
index 00000000000..b958f30e73a
--- /dev/null
+++ b/3rdparty/libflac/test/common.sh.in
@@ -0,0 +1,87 @@
+# FLAC - Free Lossless Audio Codec
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
+#
+# This file is part the FLAC project. FLAC is comprised of several
+# components distributed under different licenses. The codec libraries
+# are distributed under Xiph.Org's BSD-like license (see the file
+# COPYING.Xiph in this distribution). All other programs, libraries, and
+# plugins are distributed under the GPL (see COPYING.GPL). The documentation
+# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
+# FLAC distribution contains at the top the terms under which it may be
+# distributed.
+#
+# Since this particular file is relevant to all components of FLAC,
+# it may be distributed under the Xiph.Org license, which is the least
+# restrictive of those mentioned above. See the file COPYING.Xiph in this
+# distribution.
+
+export MALLOC_CHECK_=3
+export MALLOC_PERTURB_=$((RANDOM % 255 + 1))
+
+if [ -z "$1" ] ; then
+ BUILD=debug
+else
+ BUILD="$1"
+fi
+
+LD_LIBRARY_PATH=../objs/$BUILD/lib:$LD_LIBRARY_PATH
+LD_LIBRARY_PATH="$(pwd)/../objs/$BUILD/lib:$LD_LIBRARY_PATH"
+LD_LIBRARY_PATH="$(pwd)/../src/libFLAC/.libs:$LD_LIBRARY_PATH"
+LD_LIBRARY_PATH="$(pwd)/../src/share/getopt/.libs:$LD_LIBRARY_PATH"
+LD_LIBRARY_PATH="$(pwd)/../src/share/grabbag/.libs:$LD_LIBRARY_PATH"
+LD_LIBRARY_PATH="$(pwd)/../src/share/replaygain_analysis/.libs:$LD_LIBRARY_PATH"
+LD_LIBRARY_PATH="$(pwd)/../src/share/replaygain_synthesis/.libs:$LD_LIBRARY_PATH"
+LD_LIBRARY_PATH="$(pwd)/../src/share/utf8/.libs:$LD_LIBRARY_PATH"
+LD_LIBRARY_PATH=../src/libFLAC/.libs:$LD_LIBRARY_PATH
+LD_LIBRARY_PATH=../src/libFLAC++/.libs:$LD_LIBRARY_PATH
+LD_LIBRARY_PATH=../src/share/getopt/.libs:$LD_LIBRARY_PATH
+LD_LIBRARY_PATH=../src/share/grabbag/.libs:$LD_LIBRARY_PATH
+LD_LIBRARY_PATH=../src/share/replaygain_analysis/.libs:$LD_LIBRARY_PATH
+LD_LIBRARY_PATH=../src/share/replaygain_synthesis/.libs:$LD_LIBRARY_PATH
+LD_LIBRARY_PATH=../src/share/utf8/.libs:$LD_LIBRARY_PATH
+
+export LD_LIBRARY_PATH
+
+PATH="$(pwd)/../objs/$CMAKE_CONFIG_TYPE:$PATH"
+PATH="$(pwd)/../objs:$PATH"
+
+EXE=@EXEEXT@
+
+# Needed for building out-of-tree where source files are in the $top_srcdir tree
+# and build products in the $top_builddir tree.
+top_srcdir=@top_srcdir@
+top_builddir=@top_builddir@
+git_commit_version_hash=@GIT_COMMIT_VERSION_HASH@
+
+# Set `is_win` variable which is used in other scripts that source this one.
+if test $(env | grep -ic '^comspec=') != 0 ; then
+ is_win=yes
+else
+ is_win=no
+fi
+
+# change to 'false' to show all flac/metaflac output (useful for debugging)
+if true ; then
+ SILENT='--silent'
+ TOTALLY_SILENT='--totally-silent'
+else
+ SILENT=''
+ TOTALLY_SILENT=''
+fi
+
+# Functions
+
+die ()
+{
+ echo $* 1>&2
+ exit 1
+}
+
+make_streams ()
+{
+ echo "Generating streams..."
+ if [ ! -f wacky1.wav ] ; then
+ test_streams${EXE} || die "ERROR during test_streams"
+ fi
+}
diff --git a/3rdparty/libflac/test/cuesheet.ok b/3rdparty/libflac/test/cuesheet.ok
index c57f833ac59..dc9c82f0953 100644
--- a/3rdparty/libflac/test/cuesheet.ok
+++ b/3rdparty/libflac/test/cuesheet.ok
@@ -91,3 +91,4 @@ POSITIVE cuesheets/good.001.cue
POSITIVE cuesheets/good.002.dos_format.cue
POSITIVE cuesheets/good.003.missing_final_newline.cue
POSITIVE cuesheets/good.004.dos_format.missing_final_newline.cue
+POSITIVE cuesheets/good.005.quoted.isrc.cue
diff --git a/3rdparty/libflac/test/cuesheets/Makefile.am b/3rdparty/libflac/test/cuesheets/Makefile.am
index 476ae067def..8db5c5fe8d3 100644
--- a/3rdparty/libflac/test/cuesheets/Makefile.am
+++ b/3rdparty/libflac/test/cuesheets/Makefile.am
@@ -1,8 +1,9 @@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -64,4 +65,5 @@ EXTRA_DIST = \
good.001.cue \
good.002.dos_format.cue \
good.003.missing_final_newline.cue \
- good.004.dos_format.missing_final_newline.cue
+ good.004.dos_format.missing_final_newline.cue \
+ good.005.quoted.isrc.cue
diff --git a/3rdparty/libflac/test/cuesheets/Makefile.in b/3rdparty/libflac/test/cuesheets/Makefile.in
index 2b88a675442..82d14678f38 100644
--- a/3rdparty/libflac/test/cuesheets/Makefile.in
+++ b/3rdparty/libflac/test/cuesheets/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,10 +15,11 @@
@SET_MAKE@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -30,17 +31,67 @@
# it may be distributed under the Xiph.Org license, which is the least
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,56 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = test/cuesheets
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,159 +161,143 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
EXTRA_DIST = \
bad.000.CATALOG_multiple.cue \
bad.001.CATALOG_missing_number.cue \
@@ -268,75 +347,89 @@ EXTRA_DIST = \
good.001.cue \
good.002.dos_format.cue \
good.003.missing_final_newline.cue \
- good.004.dos_format.missing_final_newline.cue
+ good.004.dos_format.missing_final_newline.cue \
+ good.005.quoted.isrc.cue
-subdir = test/cuesheets
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu test/cuesheets/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/cuesheets/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign test/cuesheets/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
-
installdirs:
install: install-am
install-exec: install-exec-am
@@ -348,16 +441,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -368,24 +467,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
+distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -404,17 +525,24 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
+
+.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/test/cuesheets/good.005.quoted.isrc.cue b/3rdparty/libflac/test/cuesheets/good.005.quoted.isrc.cue
new file mode 100644
index 00000000000..3d8e9055d64
--- /dev/null
+++ b/3rdparty/libflac/test/cuesheets/good.005.quoted.isrc.cue
@@ -0,0 +1,6 @@
+TRACK 01 AUDIO
+TITLE "Foo"
+PERFORMER "Bar"
+DISC_ID ""
+ISRC "US-SM1-23-45678"
+INDEX 01 00:00:00
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/Makefile.am b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/Makefile.am
index 511a2e22a1d..d76843d1147 100644
--- a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/Makefile.am
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/Makefile.am
@@ -1,8 +1,9 @@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2006,2007 Josh Coalson
+# Copyright (C) 2006-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -39,6 +40,9 @@ EXTRA_DIST = \
input-SCVPAP.flac \
input-SVAUP.flac \
input-VA.flac \
+ 🤔.flac \
+ Prøve.flac \
+ שלו×.flac \
input0.cue
clean-local:
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/Makefile.in b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/Makefile.in
index 83060e280dc..ff68336dea8 100644
--- a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/Makefile.in
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,10 +15,11 @@
@SET_MAKE@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2006,2007 Josh Coalson
+# Copyright (C) 2006-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -30,17 +31,67 @@
# it may be distributed under the Xiph.Org license, which is the least
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,56 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = test/flac-to-flac-metadata-test-files
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,159 +161,143 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
EXTRA_DIST = \
case00a-expect.meta \
case01a-expect.meta \
@@ -243,75 +322,91 @@ EXTRA_DIST = \
input-SCVPAP.flac \
input-SVAUP.flac \
input-VA.flac \
+ 🤔.flac \
+ Prøve.flac \
+ שלו×.flac \
input0.cue
-subdir = test/flac-to-flac-metadata-test-files
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu test/flac-to-flac-metadata-test-files/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/flac-to-flac-metadata-test-files/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign test/flac-to-flac-metadata-test-files/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
-
installdirs:
install: install-am
install-exec: install-exec-am
@@ -323,16 +418,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -343,24 +444,46 @@ clean-am: clean-generic clean-libtool clean-local mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
+distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -379,21 +502,28 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
+
+.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- clean-local distclean distclean-generic distclean-libtool \
- distdir dvi dvi-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
+ clean-local cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
clean-local:
-rm -f out.*
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/Prøve.flac b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/Prøve.flac
new file mode 100644
index 00000000000..18830754e14
--- /dev/null
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/Prøve.flac
Binary files differ
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case00a-expect.meta b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case00a-expect.meta
index 58bce546773..6facc3e7fec 100644
--- a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case00a-expect.meta
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case00a-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 44100 Hz
channels: 2
bits-per-sample: 16
@@ -10,7 +10,7 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 180
+ length: XXX
seek points: 10
point 0: sample_number=0
point 1: sample_number=4096
@@ -25,7 +25,7 @@ METADATA block #1
METADATA block #2
type: 5 (CUESHEET)
is last: false
- length: 540
+ length: XXX
media catalog number: 1234567890123
lead-in: 88200
is CD: true
@@ -59,7 +59,7 @@ METADATA block #2
METADATA block #3
type: 4 (VORBIS_COMMENT)
is last: false
- length: 203
+ length: XXX
comments: 6
comment[0]: REPLAYGAIN_TRACK_PEAK=0.99996948
comment[1]: REPLAYGAIN_TRACK_GAIN=-7.89 dB
@@ -70,15 +70,15 @@ METADATA block #3
METADATA block #4
type: 2 (APPLICATION)
is last: false
- length: 4
+ length: XXX
application ID: 66616b65
data contents:
METADATA block #5
type: 126 (UNKNOWN)
is last: false
- length: 0
+ length: XXX
data contents:
METADATA block #6
type: 1 (PADDING)
is last: true
- length: 3201
+ length: XXX
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01a-expect.meta b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01a-expect.meta
index d82d2776421..25ceaecb14f 100644
--- a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01a-expect.meta
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01a-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 44100 Hz
channels: 2
bits-per-sample: 16
@@ -10,7 +10,7 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 180
+ length: XXX
seek points: 10
point 0: sample_number=0
point 1: sample_number=4096
@@ -25,7 +25,7 @@ METADATA block #1
METADATA block #2
type: 5 (CUESHEET)
is last: false
- length: 540
+ length: XXX
media catalog number: 1234567890123
lead-in: 88200
is CD: true
@@ -59,7 +59,7 @@ METADATA block #2
METADATA block #3
type: 4 (VORBIS_COMMENT)
is last: false
- length: 203
+ length: XXX
comments: 6
comment[0]: REPLAYGAIN_TRACK_PEAK=0.99996948
comment[1]: REPLAYGAIN_TRACK_GAIN=-7.89 dB
@@ -70,10 +70,10 @@ METADATA block #3
METADATA block #4
type: 2 (APPLICATION)
is last: false
- length: 4
+ length: XXX
application ID: 66616b65
data contents:
METADATA block #5
type: 1 (PADDING)
is last: true
- length: 3205
+ length: XXX
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01b-expect.meta b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01b-expect.meta
index 2a6538d865d..197064690f6 100644
--- a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01b-expect.meta
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01b-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 44100 Hz
channels: 2
bits-per-sample: 16
@@ -10,7 +10,7 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 180
+ length: XXX
seek points: 10
point 0: sample_number=0
point 1: sample_number=4096
@@ -25,7 +25,7 @@ METADATA block #1
METADATA block #2
type: 5 (CUESHEET)
is last: false
- length: 540
+ length: XXX
media catalog number: 1234567890123
lead-in: 88200
is CD: true
@@ -59,7 +59,7 @@ METADATA block #2
METADATA block #3
type: 4 (VORBIS_COMMENT)
is last: false
- length: 203
+ length: XXX
comments: 6
comment[0]: REPLAYGAIN_TRACK_PEAK=0.99996948
comment[1]: REPLAYGAIN_TRACK_GAIN=-7.89 dB
@@ -70,6 +70,6 @@ METADATA block #3
METADATA block #4
type: 2 (APPLICATION)
is last: true
- length: 4
+ length: XXX
application ID: 66616b65
data contents:
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01c-expect.meta b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01c-expect.meta
index 0dd5f03238a..25ceaecb14f 100644
--- a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01c-expect.meta
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01c-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 44100 Hz
channels: 2
bits-per-sample: 16
@@ -10,7 +10,7 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 180
+ length: XXX
seek points: 10
point 0: sample_number=0
point 1: sample_number=4096
@@ -25,7 +25,7 @@ METADATA block #1
METADATA block #2
type: 5 (CUESHEET)
is last: false
- length: 540
+ length: XXX
media catalog number: 1234567890123
lead-in: 88200
is CD: true
@@ -59,7 +59,7 @@ METADATA block #2
METADATA block #3
type: 4 (VORBIS_COMMENT)
is last: false
- length: 203
+ length: XXX
comments: 6
comment[0]: REPLAYGAIN_TRACK_PEAK=0.99996948
comment[1]: REPLAYGAIN_TRACK_GAIN=-7.89 dB
@@ -70,10 +70,10 @@ METADATA block #3
METADATA block #4
type: 2 (APPLICATION)
is last: false
- length: 4
+ length: XXX
application ID: 66616b65
data contents:
METADATA block #5
type: 1 (PADDING)
is last: true
- length: 1234
+ length: XXX
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01d-expect.meta b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01d-expect.meta
index 0dd5f03238a..25ceaecb14f 100644
--- a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01d-expect.meta
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01d-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 44100 Hz
channels: 2
bits-per-sample: 16
@@ -10,7 +10,7 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 180
+ length: XXX
seek points: 10
point 0: sample_number=0
point 1: sample_number=4096
@@ -25,7 +25,7 @@ METADATA block #1
METADATA block #2
type: 5 (CUESHEET)
is last: false
- length: 540
+ length: XXX
media catalog number: 1234567890123
lead-in: 88200
is CD: true
@@ -59,7 +59,7 @@ METADATA block #2
METADATA block #3
type: 4 (VORBIS_COMMENT)
is last: false
- length: 203
+ length: XXX
comments: 6
comment[0]: REPLAYGAIN_TRACK_PEAK=0.99996948
comment[1]: REPLAYGAIN_TRACK_GAIN=-7.89 dB
@@ -70,10 +70,10 @@ METADATA block #3
METADATA block #4
type: 2 (APPLICATION)
is last: false
- length: 4
+ length: XXX
application ID: 66616b65
data contents:
METADATA block #5
type: 1 (PADDING)
is last: true
- length: 1234
+ length: XXX
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01e-expect.meta b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01e-expect.meta
index 33b7bdfcf71..25ceaecb14f 100644
--- a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01e-expect.meta
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case01e-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 44100 Hz
channels: 2
bits-per-sample: 16
@@ -10,7 +10,7 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 180
+ length: XXX
seek points: 10
point 0: sample_number=0
point 1: sample_number=4096
@@ -25,7 +25,7 @@ METADATA block #1
METADATA block #2
type: 5 (CUESHEET)
is last: false
- length: 540
+ length: XXX
media catalog number: 1234567890123
lead-in: 88200
is CD: true
@@ -59,7 +59,7 @@ METADATA block #2
METADATA block #3
type: 4 (VORBIS_COMMENT)
is last: false
- length: 203
+ length: XXX
comments: 6
comment[0]: REPLAYGAIN_TRACK_PEAK=0.99996948
comment[1]: REPLAYGAIN_TRACK_GAIN=-7.89 dB
@@ -70,10 +70,10 @@ METADATA block #3
METADATA block #4
type: 2 (APPLICATION)
is last: false
- length: 4
+ length: XXX
application ID: 66616b65
data contents:
METADATA block #5
type: 1 (PADDING)
is last: true
- length: 8192
+ length: XXX
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case02a-expect.meta b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case02a-expect.meta
index ef6cc467352..63bf6f6d616 100644
--- a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case02a-expect.meta
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case02a-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 44100 Hz
channels: 2
bits-per-sample: 16
@@ -10,12 +10,12 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: false
- length: 40
+ length: XXX
comments: 0
METADATA block #2
type: 3 (SEEKTABLE)
is last: false
- length: 180
+ length: XXX
seek points: 10
point 0: sample_number=0
point 1: sample_number=4096
@@ -30,7 +30,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 540
+ length: XXX
media catalog number: 1234567890123
lead-in: 88200
is CD: true
@@ -64,10 +64,10 @@ METADATA block #3
METADATA block #4
type: 2 (APPLICATION)
is last: false
- length: 4
+ length: XXX
application ID: 66616b65
data contents:
METADATA block #5
type: 1 (PADDING)
is last: true
- length: 3205
+ length: XXX
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case02b-expect.meta b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case02b-expect.meta
index 287d5531140..a6b269da9f0 100644
--- a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case02b-expect.meta
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case02b-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 44100 Hz
channels: 2
bits-per-sample: 16
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: false
- length: 52
+ length: XXX
comments: 1
comment[0]: artist=0
METADATA block #2
type: 3 (SEEKTABLE)
is last: false
- length: 180
+ length: XXX
seek points: 10
point 0: sample_number=0
point 1: sample_number=4096
@@ -31,7 +31,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 540
+ length: XXX
media catalog number: 1234567890123
lead-in: 88200
is CD: true
@@ -65,10 +65,10 @@ METADATA block #3
METADATA block #4
type: 2 (APPLICATION)
is last: false
- length: 4
+ length: XXX
application ID: 66616b65
data contents:
METADATA block #5
type: 1 (PADDING)
is last: true
- length: 3205
+ length: XXX
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case02c-expect.meta b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case02c-expect.meta
index 14befced68e..2e2e06f07ee 100644
--- a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case02c-expect.meta
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case02c-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 44100 Hz
channels: 2
bits-per-sample: 16
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: false
- length: 52
+ length: XXX
comments: 1
comment[0]: artist=0
METADATA block #2
type: 3 (SEEKTABLE)
is last: false
- length: 180
+ length: XXX
seek points: 10
point 0: sample_number=0
point 1: sample_number=4096
@@ -31,7 +31,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 540
+ length: XXX
media catalog number: 1234567890123
lead-in: 88200
is CD: true
@@ -65,15 +65,15 @@ METADATA block #3
METADATA block #4
type: 2 (APPLICATION)
is last: false
- length: 4
+ length: XXX
application ID: 66616b65
data contents:
METADATA block #5
type: 126 (UNKNOWN)
is last: false
- length: 0
+ length: XXX
data contents:
METADATA block #6
type: 1 (PADDING)
is last: true
- length: 3201
+ length: XXX
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case03a-expect.meta b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case03a-expect.meta
index e04631bdf20..c4c4c93d2ef 100644
--- a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case03a-expect.meta
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case03a-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 44100 Hz
channels: 2
bits-per-sample: 16
@@ -10,7 +10,7 @@ METADATA block #0
METADATA block #1
type: 5 (CUESHEET)
is last: false
- length: 540
+ length: XXX
media catalog number: 9294969890929
lead-in: 88200
is CD: true
@@ -44,7 +44,7 @@ METADATA block #1
METADATA block #2
type: 3 (SEEKTABLE)
is last: false
- length: 180
+ length: XXX
seek points: 10
point 0: sample_number=0
point 1: sample_number=4096
@@ -59,7 +59,7 @@ METADATA block #2
METADATA block #3
type: 4 (VORBIS_COMMENT)
is last: false
- length: 203
+ length: XXX
comments: 6
comment[0]: REPLAYGAIN_TRACK_PEAK=0.99996948
comment[1]: REPLAYGAIN_TRACK_GAIN=-7.89 dB
@@ -70,15 +70,15 @@ METADATA block #3
METADATA block #4
type: 2 (APPLICATION)
is last: false
- length: 4
+ length: XXX
application ID: 66616b65
data contents:
METADATA block #5
type: 126 (UNKNOWN)
is last: false
- length: 0
+ length: XXX
data contents:
METADATA block #6
type: 1 (PADDING)
is last: true
- length: 3201
+ length: XXX
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case03b-expect.meta b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case03b-expect.meta
index e04631bdf20..c4c4c93d2ef 100644
--- a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case03b-expect.meta
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case03b-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 44100 Hz
channels: 2
bits-per-sample: 16
@@ -10,7 +10,7 @@ METADATA block #0
METADATA block #1
type: 5 (CUESHEET)
is last: false
- length: 540
+ length: XXX
media catalog number: 9294969890929
lead-in: 88200
is CD: true
@@ -44,7 +44,7 @@ METADATA block #1
METADATA block #2
type: 3 (SEEKTABLE)
is last: false
- length: 180
+ length: XXX
seek points: 10
point 0: sample_number=0
point 1: sample_number=4096
@@ -59,7 +59,7 @@ METADATA block #2
METADATA block #3
type: 4 (VORBIS_COMMENT)
is last: false
- length: 203
+ length: XXX
comments: 6
comment[0]: REPLAYGAIN_TRACK_PEAK=0.99996948
comment[1]: REPLAYGAIN_TRACK_GAIN=-7.89 dB
@@ -70,15 +70,15 @@ METADATA block #3
METADATA block #4
type: 2 (APPLICATION)
is last: false
- length: 4
+ length: XXX
application ID: 66616b65
data contents:
METADATA block #5
type: 126 (UNKNOWN)
is last: false
- length: 0
+ length: XXX
data contents:
METADATA block #6
type: 1 (PADDING)
is last: true
- length: 3201
+ length: XXX
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case03c-expect.meta b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case03c-expect.meta
index 378907d1e7f..6bdefb3cb69 100644
--- a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case03c-expect.meta
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case03c-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 44100 Hz
channels: 2
bits-per-sample: 16
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 203
+ length: XXX
comments: 6
comment[0]: REPLAYGAIN_TRACK_PEAK=0.99996948
comment[1]: REPLAYGAIN_TRACK_GAIN=-7.89 dB
@@ -27,15 +27,15 @@ METADATA block #2
METADATA block #3
type: 2 (APPLICATION)
is last: false
- length: 4
+ length: XXX
application ID: 66616b65
data contents:
METADATA block #4
type: 126 (UNKNOWN)
is last: false
- length: 0
+ length: XXX
data contents:
METADATA block #5
type: 1 (PADDING)
is last: true
- length: 3201
+ length: XXX
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04a-expect.meta b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04a-expect.meta
index ee9583dafae..cb50bb46fcd 100644
--- a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04a-expect.meta
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04a-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 44100 Hz
channels: 2
bits-per-sample: 16
@@ -10,7 +10,7 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: false
- length: 203
+ length: XXX
comments: 6
comment[0]: REPLAYGAIN_TRACK_PEAK=0.99996948
comment[1]: REPLAYGAIN_TRACK_GAIN=-7.89 dB
@@ -21,6 +21,6 @@ METADATA block #1
METADATA block #2
type: 2 (APPLICATION)
is last: true
- length: 4
+ length: XXX
application ID: 66616b65
data contents:
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04b-expect.meta b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04b-expect.meta
index 036f42899c1..71d9b95ce22 100644
--- a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04b-expect.meta
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04b-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 44100 Hz
channels: 2
bits-per-sample: 16
@@ -10,7 +10,7 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 90
+ length: XXX
seek points: 5
point 0: sample_number=0
point 1: sample_number=4096
@@ -20,7 +20,7 @@ METADATA block #1
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 203
+ length: XXX
comments: 6
comment[0]: REPLAYGAIN_TRACK_PEAK=0.99996948
comment[1]: REPLAYGAIN_TRACK_GAIN=-7.89 dB
@@ -31,6 +31,6 @@ METADATA block #2
METADATA block #3
type: 2 (APPLICATION)
is last: true
- length: 4
+ length: XXX
application ID: 66616b65
data contents:
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04c-expect.meta b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04c-expect.meta
index 25f859ef11d..f163edf964c 100644
--- a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04c-expect.meta
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04c-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 44100 Hz
channels: 2
bits-per-sample: 16
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 203
+ length: XXX
comments: 6
comment[0]: REPLAYGAIN_TRACK_PEAK=0.99996948
comment[1]: REPLAYGAIN_TRACK_GAIN=-7.89 dB
@@ -27,6 +27,6 @@ METADATA block #2
METADATA block #3
type: 2 (APPLICATION)
is last: true
- length: 4
+ length: XXX
application ID: 66616b65
data contents:
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04d-expect.meta b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04d-expect.meta
index 4a7a964fe62..086f684cfa0 100644
--- a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04d-expect.meta
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04d-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 44100 Hz
channels: 2
bits-per-sample: 16
@@ -10,7 +10,7 @@ METADATA block #0
METADATA block #1
type: 5 (CUESHEET)
is last: false
- length: 540
+ length: XXX
media catalog number: 1234567890123
lead-in: 88200
is CD: true
@@ -44,7 +44,7 @@ METADATA block #1
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 203
+ length: XXX
comments: 6
comment[0]: REPLAYGAIN_TRACK_PEAK=0.99996948
comment[1]: REPLAYGAIN_TRACK_GAIN=-7.89 dB
@@ -55,6 +55,6 @@ METADATA block #2
METADATA block #3
type: 2 (APPLICATION)
is last: true
- length: 4
+ length: XXX
application ID: 66616b65
data contents:
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04e-expect.meta b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04e-expect.meta
index 065204ec242..65598402570 100644
--- a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04e-expect.meta
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/case04e-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 44100 Hz
channels: 2
bits-per-sample: 16
@@ -10,7 +10,7 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 90
+ length: XXX
seek points: 5
point 0: sample_number=0
point 1: sample_number=4096
@@ -20,7 +20,7 @@ METADATA block #1
METADATA block #2
type: 5 (CUESHEET)
is last: false
- length: 540
+ length: XXX
media catalog number: 1234567890123
lead-in: 88200
is CD: true
@@ -54,7 +54,7 @@ METADATA block #2
METADATA block #3
type: 4 (VORBIS_COMMENT)
is last: false
- length: 203
+ length: XXX
comments: 6
comment[0]: REPLAYGAIN_TRACK_PEAK=0.99996948
comment[1]: REPLAYGAIN_TRACK_GAIN=-7.89 dB
@@ -65,6 +65,6 @@ METADATA block #3
METADATA block #4
type: 2 (APPLICATION)
is last: true
- length: 4
+ length: XXX
application ID: 66616b65
data contents:
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/שלו×.flac b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/שלו×.flac
new file mode 100644
index 00000000000..0e6686811fc
--- /dev/null
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/שלו×.flac
Binary files differ
diff --git a/3rdparty/libflac/test/flac-to-flac-metadata-test-files/🤔.flac b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/🤔.flac
new file mode 100644
index 00000000000..7373da6b1f9
--- /dev/null
+++ b/3rdparty/libflac/test/flac-to-flac-metadata-test-files/🤔.flac
Binary files differ
diff --git a/3rdparty/libflac/doc/html/favicon.ico b/3rdparty/libflac/test/foreign-metadata-test-files/24bit-WaveFmtPCM.wav
index 594fe38a4b7..2479974ec0b 100644
--- a/3rdparty/libflac/doc/html/favicon.ico
+++ b/3rdparty/libflac/test/foreign-metadata-test-files/24bit-WaveFmtPCM.wav
Binary files differ
diff --git a/3rdparty/libflac/test/foreign-metadata-test-files/AIFF-C-sowt-compression-type-name.aifc b/3rdparty/libflac/test/foreign-metadata-test-files/AIFF-C-sowt-compression-type-name.aifc
new file mode 100644
index 00000000000..ca0963af344
--- /dev/null
+++ b/3rdparty/libflac/test/foreign-metadata-test-files/AIFF-C-sowt-compression-type-name.aifc
Binary files differ
diff --git a/3rdparty/libflac/test/foreign-metadata-test-files/AIFF-C-sowt-tag.aifc b/3rdparty/libflac/test/foreign-metadata-test-files/AIFF-C-sowt-tag.aifc
new file mode 100644
index 00000000000..381d52e7d9d
--- /dev/null
+++ b/3rdparty/libflac/test/foreign-metadata-test-files/AIFF-C-sowt-tag.aifc
Binary files differ
diff --git a/3rdparty/libflac/test/foreign-metadata-test-files/AIFF-ID3.aiff b/3rdparty/libflac/test/foreign-metadata-test-files/AIFF-ID3.aiff
new file mode 100644
index 00000000000..517c5ac360f
--- /dev/null
+++ b/3rdparty/libflac/test/foreign-metadata-test-files/AIFF-ID3.aiff
Binary files differ
diff --git a/3rdparty/libflac/test/foreign-metadata-test-files/BWF-WaveFmtEx.wav b/3rdparty/libflac/test/foreign-metadata-test-files/BWF-WaveFmtEx.wav
new file mode 100755
index 00000000000..244985d67df
--- /dev/null
+++ b/3rdparty/libflac/test/foreign-metadata-test-files/BWF-WaveFmtEx.wav
Binary files differ
diff --git a/3rdparty/libflac/build/Makefile.am b/3rdparty/libflac/test/foreign-metadata-test-files/Makefile.am
index 7ec88fe13b4..bdb2ed2df89 100644
--- a/3rdparty/libflac/build/Makefile.am
+++ b/3rdparty/libflac/test/foreign-metadata-test-files/Makefile.am
@@ -1,8 +1,9 @@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2006-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -16,6 +17,8 @@
# distribution.
EXTRA_DIST = \
- config.mk \
- exe.mk \
- lib.mk
+ 24bit-WaveFmtPCM.wav \
+ AIFF-C-sowt-compression-type-name.aifc \
+ AIFF-C-sowt-tag.aifc \
+ AIFF-ID3.aiff \
+ BWF-WaveFmtEx.wav
diff --git a/3rdparty/libflac/test/foreign-metadata-test-files/Makefile.in b/3rdparty/libflac/test/foreign-metadata-test-files/Makefile.in
new file mode 100644
index 00000000000..26c708b25d9
--- /dev/null
+++ b/3rdparty/libflac/test/foreign-metadata-test-files/Makefile.in
@@ -0,0 +1,504 @@
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# FLAC - Free Lossless Audio Codec
+# Copyright (C) 2006-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
+#
+# This file is part the FLAC project. FLAC is comprised of several
+# components distributed under different licenses. The codec libraries
+# are distributed under Xiph.Org's BSD-like license (see the file
+# COPYING.Xiph in this distribution). All other programs, libraries, and
+# plugins are distributed under the GPL (see COPYING.GPL). The documentation
+# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
+# FLAC distribution contains at the top the terms under which it may be
+# distributed.
+#
+# Since this particular file is relevant to all components of FLAC,
+# it may be distributed under the Xiph.Org license, which is the least
+# restrictive of those mentioned above. See the file COPYING.Xiph in this
+# distribution.
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = test/foreign-metadata-test-files
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
+FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
+FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OBJ_FORMAT = @OBJ_FORMAT@
+OGG_CFLAGS = @OGG_CFLAGS@
+OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = \
+ 24bit-WaveFmtPCM.wav \
+ AIFF-C-sowt-compression-type-name.aifc \
+ AIFF-C-sowt-tag.aifc \
+ AIFF-ID3.aiff \
+ BWF-WaveFmtEx.wav
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/foreign-metadata-test-files/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign test/foreign-metadata-test-files/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/3rdparty/libflac/doc/html/images/Makefile.am b/3rdparty/libflac/test/generate_streams.sh
index b4fcb7690ce..29e32dcbcb2 100644..100755
--- a/3rdparty/libflac/doc/html/images/Makefile.am
+++ b/3rdparty/libflac/test/generate_streams.sh
@@ -1,8 +1,11 @@
+#!/bin/sh -e
+
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -15,16 +18,12 @@
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-AUTOMAKE_OPTIONS = foreign
-
-SUBDIRS = hw
-
-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/html/images
+. ./common.sh
-doc_DATA = \
- 1x1.gif \
- cafebug.gif \
- logo100.gif \
- logo130.gif
+PATH="$(pwd)/../src/test_streams:$PATH"
+PATH="$(pwd)/../objs/$BUILD/bin:$PATH"
-EXTRA_DIST = $(doc_DATA)
+echo "Generating streams..."
+if [ ! -f wacky1.wav ] ; then
+ test_streams || die "ERROR during test_streams"
+fi
diff --git a/3rdparty/libflac/test/metaflac-test-files/Makefile.am b/3rdparty/libflac/test/metaflac-test-files/Makefile.am
index 03dda7f88fc..6f089610eee 100644
--- a/3rdparty/libflac/test/metaflac-test-files/Makefile.am
+++ b/3rdparty/libflac/test/metaflac-test-files/Makefile.am
@@ -1,8 +1,9 @@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2006,2007 Josh Coalson
+# Copyright (C) 2006-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -78,7 +79,12 @@ EXTRA_DIST = \
case59-expect.meta \
case60-expect.meta \
case61-expect.meta \
- case62-expect.meta
+ case62-expect.meta \
+ case63-expect.meta \
+ case64-expect.meta \
+ case65-expect.meta \
+ case66-expect.meta \
+ case67-expect.meta
clean-local:
-rm -f out.*
diff --git a/3rdparty/libflac/test/metaflac-test-files/Makefile.in b/3rdparty/libflac/test/metaflac-test-files/Makefile.in
index 6c9089ed28b..76232027737 100644
--- a/3rdparty/libflac/test/metaflac-test-files/Makefile.in
+++ b/3rdparty/libflac/test/metaflac-test-files/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,10 +15,11 @@
@SET_MAKE@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2006,2007 Josh Coalson
+# Copyright (C) 2006-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -30,17 +31,67 @@
# it may be distributed under the Xiph.Org license, which is the least
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,56 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = test/metaflac-test-files
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,159 +161,143 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
EXTRA_DIST = \
case00-expect.meta \
case01-expect.meta \
@@ -282,75 +361,93 @@ EXTRA_DIST = \
case59-expect.meta \
case60-expect.meta \
case61-expect.meta \
- case62-expect.meta
+ case62-expect.meta \
+ case63-expect.meta \
+ case64-expect.meta \
+ case65-expect.meta \
+ case66-expect.meta \
+ case67-expect.meta
-subdir = test/metaflac-test-files
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu test/metaflac-test-files/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/metaflac-test-files/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign test/metaflac-test-files/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
-
installdirs:
install: install-am
install-exec: install-exec-am
@@ -362,16 +459,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -382,24 +485,46 @@ clean-am: clean-generic clean-libtool clean-local mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
+distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -418,21 +543,28 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
+
+.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- clean-local distclean distclean-generic distclean-libtool \
- distdir dvi dvi-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
+ clean-local cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
clean-local:
-rm -f out.*
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/3rdparty/libflac/test/metaflac-test-files/case00-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case00-expect.meta
index 1799092892c..a1a3770819a 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case00-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case00-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,15 +10,15 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 40
+ length: XXX
comments: 0
METADATA block #3
type: 1 (PADDING)
is last: true
- length: 8192
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case02-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case02-expect.meta
index 1b41bc38fea..830302c0df6 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case02-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case02-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,19 +10,19 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 40
+ length: XXX
comments: 0
METADATA block #3
type: 1 (PADDING)
is last: false
- length: 8192
+ length: XXX
METADATA block #4
type: 1 (PADDING)
is last: true
- length: 12345
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case03-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case03-expect.meta
index e1627573f4a..a3b88bd8c95 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case03-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case03-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,16 +10,16 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 93
+ length: XXX
comments: 1
comment[0]: ARTIST=The_artist_formerly_known_as_the_artist...
METADATA block #3
type: 1 (PADDING)
is last: true
- length: 20488
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case04-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case04-expect.meta
index d8384c8b931..056f5afb201 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case04-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case04-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,17 +10,17 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 2
comment[0]: ARTIST=The_artist_formerly_known_as_the_artist...
comment[1]: ARTIST=Chuck_Woolery
METADATA block #3
type: 1 (PADDING)
is last: true
- length: 20464
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case05-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case05-expect.meta
index 5017faa3914..6bc023809a0 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case05-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case05-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 132
+ length: XXX
comments: 3
comment[0]: ARTIST=The_artist_formerly_known_as_the_artist...
comment[1]: ARTIST=Chuck_Woolery
@@ -24,4 +24,4 @@ METADATA block #2
METADATA block #3
type: 1 (PADDING)
is last: true
- length: 20449
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case06-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case06-expect.meta
index 7fbbe4b762a..74353290400 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case06-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case06-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 166
+ length: XXX
comments: 4
comment[0]: ARTIST=The_artist_formerly_known_as_the_artist...
comment[1]: ARTIST=Chuck_Woolery
@@ -25,4 +25,4 @@ METADATA block #2
METADATA block #3
type: 1 (PADDING)
is last: true
- length: 20415
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case07-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case07-expect.meta
index 00160bfdd37..8e9efd12b67 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case07-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case07-expect.meta
@@ -1,4 +1,4 @@
-reference libFLAC 1.2.1 20070917
+reference libFLAC 1.4.3 20230623
ARTIST=The_artist_formerly_known_as_the_artist...
ARTIST=Chuck_Woolery
ARTIST=Vern
diff --git a/3rdparty/libflac/test/metaflac-test-files/case08-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case08-expect.meta
index e072ef6aed8..61845ae8b88 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case08-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case08-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 113
+ length: XXX
comments: 3
comment[0]: ARTIST=Chuck_Woolery
comment[1]: ARTIST=Vern
@@ -24,4 +24,4 @@ METADATA block #2
METADATA block #3
type: 1 (PADDING)
is last: true
- length: 20468
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case09-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case09-expect.meta
index db4702d66ee..71f727067fd 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case09-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case09-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,16 +10,16 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 74
+ length: XXX
comments: 1
comment[0]: TITLE=He_who_smelt_it_dealt_it
METADATA block #3
type: 1 (PADDING)
is last: true
- length: 20507
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case10-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case10-expect.meta
index c5986ab9631..402ad6d5030 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case10-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case10-expect.meta
@@ -1,6 +1,6 @@
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 74
+ length: XXX
comments: 1
comment[0]: TITLE=He_who_smelt_it_dealt_it
diff --git a/3rdparty/libflac/test/metaflac-test-files/case11-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case11-expect.meta
index f42d320f9f1..530001bdc72 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case11-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case11-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
diff --git a/3rdparty/libflac/test/metaflac-test-files/case12-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case12-expect.meta
index 19ed454ea70..1d29f44ece3 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case12-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case12-expect.meta
@@ -1,12 +1,12 @@
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 74
+ length: XXX
comments: 1
comment[0]: TITLE=He_who_smelt_it_dealt_it
diff --git a/3rdparty/libflac/test/metaflac-test-files/case13-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case13-expect.meta
index 00804e1d2ff..004104f5a38 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case13-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case13-expect.meta
@@ -1,10 +1,10 @@
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 74
+ length: XXX
comments: 1
comment[0]: TITLE=He_who_smelt_it_dealt_it
METADATA block #3
type: 1 (PADDING)
is last: true
- length: 20507
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case14-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case14-expect.meta
index 5e829eddc6c..a9a11673753 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case14-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case14-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,4 +10,4 @@ METADATA block #0
METADATA block #3
type: 1 (PADDING)
is last: true
- length: 20507
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case15-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case15-expect.meta
index d4be5039b9e..6f68176bd2b 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case15-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case15-expect.meta
@@ -1,16 +1,16 @@
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 74
+ length: XXX
comments: 1
comment[0]: TITLE=He_who_smelt_it_dealt_it
METADATA block #3
type: 1 (PADDING)
is last: true
- length: 20507
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case16-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case16-expect.meta
index 481d919a2a4..28eaf2bb74c 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case16-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case16-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,24 +10,24 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 74
+ length: XXX
comments: 1
comment[0]: TITLE=He_who_smelt_it_dealt_it
METADATA block #3
type: 1 (PADDING)
is last: false
- length: 20507
+ length: XXX
METADATA block #4
type: 1 (PADDING)
is last: false
- length: 4321
+ length: XXX
METADATA block #5
type: 1 (PADDING)
is last: true
- length: 4321
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case17-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case17-expect.meta
index 49a220d38aa..71f727067fd 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case17-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case17-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,16 +10,16 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 74
+ length: XXX
comments: 1
comment[0]: TITLE=He_who_smelt_it_dealt_it
METADATA block #3
type: 1 (PADDING)
is last: true
- length: 29157
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case18-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case18-expect.meta
index 963cbdb9a86..81f1f0e4de4 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case18-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case18-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,20 +10,20 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 74
+ length: XXX
comments: 1
comment[0]: TITLE=He_who_smelt_it_dealt_it
METADATA block #3
type: 1 (PADDING)
is last: false
- length: 29157
+ length: XXX
METADATA block #4
type: 1 (PADDING)
is last: true
- length: 0
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case19-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case19-expect.meta
index 0eee4f0ad4a..71f727067fd 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case19-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case19-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,16 +10,16 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 74
+ length: XXX
comments: 1
comment[0]: TITLE=He_who_smelt_it_dealt_it
METADATA block #3
type: 1 (PADDING)
is last: true
- length: 29161
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case20-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case20-expect.meta
index 201b4034a74..81f1f0e4de4 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case20-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case20-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,20 +10,20 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 74
+ length: XXX
comments: 1
comment[0]: TITLE=He_who_smelt_it_dealt_it
METADATA block #3
type: 1 (PADDING)
is last: false
- length: 29161
+ length: XXX
METADATA block #4
type: 1 (PADDING)
is last: true
- length: 0
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case21-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case21-expect.meta
index dfb94410182..a1a3770819a 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case21-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case21-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,15 +10,15 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 40
+ length: XXX
comments: 0
METADATA block #3
type: 1 (PADDING)
is last: true
- length: 29199
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case22-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case22-expect.meta
index ed4af2949c0..d102550b25c 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case22-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case22-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,9 +10,9 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: false
- length: 40
+ length: XXX
comments: 0
METADATA block #2
type: 1 (PADDING)
is last: true
- length: 29199
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case23-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case23-expect.meta
index ed4af2949c0..d102550b25c 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case23-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case23-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,9 +10,9 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: false
- length: 40
+ length: XXX
comments: 0
METADATA block #2
type: 1 (PADDING)
is last: true
- length: 29199
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case24-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case24-expect.meta
index ed4af2949c0..d102550b25c 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case24-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case24-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,9 +10,9 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: false
- length: 40
+ length: XXX
comments: 0
METADATA block #2
type: 1 (PADDING)
is last: true
- length: 29199
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case25-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case25-expect.meta
index 8986a70544b..79de56e4a12 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case25-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case25-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,5 +10,5 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: true
- length: 40
+ length: XXX
comments: 0
diff --git a/3rdparty/libflac/test/metaflac-test-files/case26-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case26-expect.meta
index eaf6c27b087..622d19a259e 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case26-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case26-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: false
- length: 40
+ length: XXX
comments: 0
METADATA block #2
type: 1 (PADDING)
is last: false
- length: 0
+ length: XXX
METADATA block #3
type: 1 (PADDING)
is last: true
- length: 0
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case27-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case27-expect.meta
index eac969c1174..1fd3fb6f6e5 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case27-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case27-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,4 +10,4 @@ METADATA block #0
METADATA block #1
type: 1 (PADDING)
is last: true
- length: 48
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case28-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case28-expect.meta
index eac969c1174..1fd3fb6f6e5 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case28-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case28-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,4 +10,4 @@ METADATA block #0
METADATA block #1
type: 1 (PADDING)
is last: true
- length: 48
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case29-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case29-expect.meta
index cd0ad279bde..0ebcd923986 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case29-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case29-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: true
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
diff --git a/3rdparty/libflac/test/metaflac-test-files/case30-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case30-expect.meta
index cd0ad279bde..0ebcd923986 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case30-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case30-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: true
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
diff --git a/3rdparty/libflac/test/metaflac-test-files/case31-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case31-expect.meta
index a8fb438c46f..a76e4852634 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case31-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case31-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,6 +10,6 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: true
- length: 66
+ length: XXX
comments: 1
comment[0]: f=0123456789abcdefghij
diff --git a/3rdparty/libflac/test/metaflac-test-files/case32-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case32-expect.meta
index 9d1a184959a..ad5859656dd 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case32-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case32-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,6 +10,6 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: true
- length: 65
+ length: XXX
comments: 1
comment[0]: f=0123456789abcdefghi
diff --git a/3rdparty/libflac/test/metaflac-test-files/case33-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case33-expect.meta
index 0c883c36bbb..aed792792bb 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case33-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case33-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,10 +10,10 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: false
- length: 61
+ length: XXX
comments: 1
comment[0]: f=0123456789abcde
METADATA block #2
type: 1 (PADDING)
is last: true
- length: 0
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case34-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case34-expect.meta
index b59ccb8aca0..619bbcce896 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case34-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case34-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,10 +10,10 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: false
- length: 47
+ length: XXX
comments: 1
comment[0]: f=0
METADATA block #2
type: 1 (PADDING)
is last: true
- length: 14
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case35-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case35-expect.meta
index 7f484525b2a..274076dadfc 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case35-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case35-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,10 +10,10 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: false
- length: 56
+ length: XXX
comments: 1
comment[0]: f=0123456789
METADATA block #2
type: 1 (PADDING)
is last: true
- length: 5
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case36-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case36-expect.meta
index 9d1a184959a..ad5859656dd 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case36-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case36-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,6 +10,6 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: true
- length: 65
+ length: XXX
comments: 1
comment[0]: f=0123456789abcdefghi
diff --git a/3rdparty/libflac/test/metaflac-test-files/case37-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case37-expect.meta
index 7f484525b2a..274076dadfc 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case37-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case37-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,10 +10,10 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: false
- length: 56
+ length: XXX
comments: 1
comment[0]: f=0123456789
METADATA block #2
type: 1 (PADDING)
is last: true
- length: 5
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case38-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case38-expect.meta
index 93d1e329f50..d6c3f794bb5 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case38-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case38-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,10 +10,10 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: false
- length: 66
+ length: XXX
comments: 1
comment[0]: f=0123456789abcdefghij
METADATA block #2
type: 1 (PADDING)
is last: true
- length: 5
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case39-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case39-expect.meta
index 700caffcb39..937f2529799 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case39-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case39-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,11 +10,11 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: false
- length: 82
+ length: XXX
comments: 2
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
METADATA block #2
type: 1 (PADDING)
is last: true
- length: 5
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case40-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case40-expect.meta
index 125eedc97de..f1635374285 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case40-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case40-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,7 +10,7 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -19,4 +19,4 @@ METADATA block #1
METADATA block #2
type: 1 (PADDING)
is last: true
- length: 5
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case41-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case41-expect.meta
index bf71afc756b..d2acc4b372a 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case41-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case41-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,7 +10,7 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: false
- length: 300
+ length: XXX
comments: 9
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -24,4 +24,4 @@ METADATA block #1
METADATA block #2
type: 1 (PADDING)
is last: true
- length: 5
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case42-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case42-expect.meta
index 897397228c1..f1635374285 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case42-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case42-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,7 +10,7 @@ METADATA block #0
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -19,4 +19,4 @@ METADATA block #1
METADATA block #2
type: 1 (PADDING)
is last: true
- length: 188
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case43-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case43-expect.meta
index bf9fe5e553c..3bead3933f9 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case43-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case43-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -25,7 +25,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 480
+ length: XXX
media catalog number: 1234567890123
lead-in: 0
is CD: false
@@ -46,4 +46,4 @@ METADATA block #3
METADATA block #4
type: 1 (PADDING)
is last: true
- length: 188
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case44-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case44-expect.meta
index 229b4353360..776daa5e4b4 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case44-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case44-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -25,4 +25,4 @@ METADATA block #2
METADATA block #3
type: 1 (PADDING)
is last: true
- length: 672
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case45-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case45-expect.meta
index bf9fe5e553c..3bead3933f9 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case45-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case45-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -25,7 +25,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 480
+ length: XXX
media catalog number: 1234567890123
lead-in: 0
is CD: false
@@ -46,4 +46,4 @@ METADATA block #3
METADATA block #4
type: 1 (PADDING)
is last: true
- length: 188
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case46-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case46-expect.meta
index 1d565e173bd..25778cba2f5 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case46-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case46-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -25,7 +25,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 480
+ length: XXX
media catalog number: 1234567890123
lead-in: 0
is CD: false
@@ -46,7 +46,7 @@ METADATA block #3
METADATA block #4
type: 6 (PICTURE)
is last: false
- length: 141
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 0.gif
@@ -54,9 +54,9 @@ METADATA block #4
height: 24
depth: 24
colors: 2
- data length: 95
+ data length: XXX
data:
METADATA block #5
type: 1 (PADDING)
is last: true
- length: 43
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case47-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case47-expect.meta
index e122cf7c32a..096c43025b1 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case47-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case47-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -25,7 +25,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 480
+ length: XXX
media catalog number: 1234567890123
lead-in: 0
is CD: false
@@ -46,7 +46,7 @@ METADATA block #3
METADATA block #4
type: 6 (PICTURE)
is last: false
- length: 141
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 0.gif
@@ -54,12 +54,12 @@ METADATA block #4
height: 24
depth: 24
colors: 2
- data length: 95
+ data length: XXX
data:
METADATA block #5
type: 6 (PICTURE)
is last: false
- length: 917
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 1.gif
@@ -67,9 +67,9 @@ METADATA block #5
height: 8
depth: 24
colors: 256
- data length: 871
+ data length: XXX
data:
METADATA block #6
type: 1 (PADDING)
is last: true
- length: 43
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case48-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case48-expect.meta
index 67687108e80..405539665a2 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case48-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case48-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -25,7 +25,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 480
+ length: XXX
media catalog number: 1234567890123
lead-in: 0
is CD: false
@@ -46,7 +46,7 @@ METADATA block #3
METADATA block #4
type: 6 (PICTURE)
is last: false
- length: 141
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 0.gif
@@ -54,12 +54,12 @@ METADATA block #4
height: 24
depth: 24
colors: 2
- data length: 95
+ data length: XXX
data:
METADATA block #5
type: 6 (PICTURE)
is last: false
- length: 917
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 1.gif
@@ -67,12 +67,12 @@ METADATA block #5
height: 8
depth: 24
colors: 256
- data length: 871
+ data length: XXX
data:
METADATA block #6
type: 6 (PICTURE)
is last: false
- length: 578
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 2.gif
@@ -80,9 +80,9 @@ METADATA block #6
height: 14
depth: 24
colors: 128
- data length: 532
+ data length: XXX
data:
METADATA block #7
type: 1 (PADDING)
is last: true
- length: 43
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case49-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case49-expect.meta
index 9ddfff209d8..56f7d5e9a22 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case49-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case49-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -25,7 +25,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 480
+ length: XXX
media catalog number: 1234567890123
lead-in: 0
is CD: false
@@ -46,7 +46,7 @@ METADATA block #3
METADATA block #4
type: 6 (PICTURE)
is last: false
- length: 141
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 0.gif
@@ -54,12 +54,12 @@ METADATA block #4
height: 24
depth: 24
colors: 2
- data length: 95
+ data length: XXX
data:
METADATA block #5
type: 6 (PICTURE)
is last: false
- length: 917
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 1.gif
@@ -67,12 +67,12 @@ METADATA block #5
height: 8
depth: 24
colors: 256
- data length: 871
+ data length: XXX
data:
METADATA block #6
type: 6 (PICTURE)
is last: false
- length: 578
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 2.gif
@@ -80,12 +80,12 @@ METADATA block #6
height: 14
depth: 24
colors: 128
- data length: 532
+ data length: XXX
data:
METADATA block #7
type: 6 (PICTURE)
is last: false
- length: 377
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 0.jpg
@@ -93,9 +93,9 @@ METADATA block #7
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 330
+ data length: XXX
data:
METADATA block #8
type: 1 (PADDING)
is last: true
- length: 43
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case50-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case50-expect.meta
index ea6496450ec..868df7c5eb7 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case50-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case50-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -25,7 +25,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 480
+ length: XXX
media catalog number: 1234567890123
lead-in: 0
is CD: false
@@ -46,7 +46,7 @@ METADATA block #3
METADATA block #4
type: 6 (PICTURE)
is last: false
- length: 141
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 0.gif
@@ -54,12 +54,12 @@ METADATA block #4
height: 24
depth: 24
colors: 2
- data length: 95
+ data length: XXX
data:
METADATA block #5
type: 6 (PICTURE)
is last: false
- length: 917
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 1.gif
@@ -67,12 +67,12 @@ METADATA block #5
height: 8
depth: 24
colors: 256
- data length: 871
+ data length: XXX
data:
METADATA block #6
type: 6 (PICTURE)
is last: false
- length: 578
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 2.gif
@@ -80,12 +80,12 @@ METADATA block #6
height: 14
depth: 24
colors: 128
- data length: 532
+ data length: XXX
data:
METADATA block #7
type: 6 (PICTURE)
is last: false
- length: 377
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 0.jpg
@@ -93,12 +93,12 @@ METADATA block #7
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 330
+ data length: XXX
data:
METADATA block #8
type: 6 (PICTURE)
is last: false
- length: 614
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 4.jpg
@@ -106,9 +106,9 @@ METADATA block #8
height: 47
depth: 24
colors: 0 (unindexed)
- data length: 567
+ data length: XXX
data:
METADATA block #9
type: 1 (PADDING)
is last: true
- length: 43
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case51-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case51-expect.meta
index b73bb68e609..c98eae4f155 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case51-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case51-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -25,7 +25,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 480
+ length: XXX
media catalog number: 1234567890123
lead-in: 0
is CD: false
@@ -46,7 +46,7 @@ METADATA block #3
METADATA block #4
type: 6 (PICTURE)
is last: false
- length: 141
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 0.gif
@@ -54,12 +54,12 @@ METADATA block #4
height: 24
depth: 24
colors: 2
- data length: 95
+ data length: XXX
data:
METADATA block #5
type: 6 (PICTURE)
is last: false
- length: 917
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 1.gif
@@ -67,12 +67,12 @@ METADATA block #5
height: 8
depth: 24
colors: 256
- data length: 871
+ data length: XXX
data:
METADATA block #6
type: 6 (PICTURE)
is last: false
- length: 578
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 2.gif
@@ -80,12 +80,12 @@ METADATA block #6
height: 14
depth: 24
colors: 128
- data length: 532
+ data length: XXX
data:
METADATA block #7
type: 6 (PICTURE)
is last: false
- length: 377
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 0.jpg
@@ -93,12 +93,12 @@ METADATA block #7
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 330
+ data length: XXX
data:
METADATA block #8
type: 6 (PICTURE)
is last: false
- length: 614
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 4.jpg
@@ -106,12 +106,12 @@ METADATA block #8
height: 47
depth: 24
colors: 0 (unindexed)
- data length: 567
+ data length: XXX
data:
METADATA block #9
type: 6 (PICTURE)
is last: false
- length: 492
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 0.png
@@ -119,9 +119,9 @@ METADATA block #9
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 446
+ data length: XXX
data:
METADATA block #10
type: 1 (PADDING)
is last: true
- length: 43
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case52-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case52-expect.meta
index ee3da3c4056..4053288e92a 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case52-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case52-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -25,7 +25,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 480
+ length: XXX
media catalog number: 1234567890123
lead-in: 0
is CD: false
@@ -46,7 +46,7 @@ METADATA block #3
METADATA block #4
type: 6 (PICTURE)
is last: false
- length: 141
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 0.gif
@@ -54,12 +54,12 @@ METADATA block #4
height: 24
depth: 24
colors: 2
- data length: 95
+ data length: XXX
data:
METADATA block #5
type: 6 (PICTURE)
is last: false
- length: 917
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 1.gif
@@ -67,12 +67,12 @@ METADATA block #5
height: 8
depth: 24
colors: 256
- data length: 871
+ data length: XXX
data:
METADATA block #6
type: 6 (PICTURE)
is last: false
- length: 578
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 2.gif
@@ -80,12 +80,12 @@ METADATA block #6
height: 14
depth: 24
colors: 128
- data length: 532
+ data length: XXX
data:
METADATA block #7
type: 6 (PICTURE)
is last: false
- length: 377
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 0.jpg
@@ -93,12 +93,12 @@ METADATA block #7
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 330
+ data length: XXX
data:
METADATA block #8
type: 6 (PICTURE)
is last: false
- length: 614
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 4.jpg
@@ -106,12 +106,12 @@ METADATA block #8
height: 47
depth: 24
colors: 0 (unindexed)
- data length: 567
+ data length: XXX
data:
METADATA block #9
type: 6 (PICTURE)
is last: false
- length: 492
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 0.png
@@ -119,12 +119,12 @@ METADATA block #9
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 446
+ data length: XXX
data:
METADATA block #10
type: 6 (PICTURE)
is last: false
- length: 508
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 1.png
@@ -132,9 +132,9 @@ METADATA block #10
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 462
+ data length: XXX
data:
METADATA block #11
type: 1 (PADDING)
is last: true
- length: 43
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case53-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case53-expect.meta
index 13d9844c0b4..9dc3ef5b771 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case53-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case53-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -25,7 +25,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 480
+ length: XXX
media catalog number: 1234567890123
lead-in: 0
is CD: false
@@ -46,7 +46,7 @@ METADATA block #3
METADATA block #4
type: 6 (PICTURE)
is last: false
- length: 141
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 0.gif
@@ -54,12 +54,12 @@ METADATA block #4
height: 24
depth: 24
colors: 2
- data length: 95
+ data length: XXX
data:
METADATA block #5
type: 6 (PICTURE)
is last: false
- length: 917
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 1.gif
@@ -67,12 +67,12 @@ METADATA block #5
height: 8
depth: 24
colors: 256
- data length: 871
+ data length: XXX
data:
METADATA block #6
type: 6 (PICTURE)
is last: false
- length: 578
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 2.gif
@@ -80,12 +80,12 @@ METADATA block #6
height: 14
depth: 24
colors: 128
- data length: 532
+ data length: XXX
data:
METADATA block #7
type: 6 (PICTURE)
is last: false
- length: 377
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 0.jpg
@@ -93,12 +93,12 @@ METADATA block #7
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 330
+ data length: XXX
data:
METADATA block #8
type: 6 (PICTURE)
is last: false
- length: 614
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 4.jpg
@@ -106,12 +106,12 @@ METADATA block #8
height: 47
depth: 24
colors: 0 (unindexed)
- data length: 567
+ data length: XXX
data:
METADATA block #9
type: 6 (PICTURE)
is last: false
- length: 492
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 0.png
@@ -119,12 +119,12 @@ METADATA block #9
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 446
+ data length: XXX
data:
METADATA block #10
type: 6 (PICTURE)
is last: false
- length: 508
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 1.png
@@ -132,12 +132,12 @@ METADATA block #10
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 462
+ data length: XXX
data:
METADATA block #11
type: 6 (PICTURE)
is last: false
- length: 338
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 2.png
@@ -145,9 +145,9 @@ METADATA block #11
height: 20
depth: 24
colors: 7
- data length: 292
+ data length: XXX
data:
METADATA block #12
type: 1 (PADDING)
is last: true
- length: 43
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case54-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case54-expect.meta
index ff6e4ef7834..866cd36d4c6 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case54-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case54-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -25,7 +25,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 480
+ length: XXX
media catalog number: 1234567890123
lead-in: 0
is CD: false
@@ -46,7 +46,7 @@ METADATA block #3
METADATA block #4
type: 6 (PICTURE)
is last: false
- length: 141
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 0.gif
@@ -54,12 +54,12 @@ METADATA block #4
height: 24
depth: 24
colors: 2
- data length: 95
+ data length: XXX
data:
METADATA block #5
type: 6 (PICTURE)
is last: false
- length: 917
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 1.gif
@@ -67,12 +67,12 @@ METADATA block #5
height: 8
depth: 24
colors: 256
- data length: 871
+ data length: XXX
data:
METADATA block #6
type: 6 (PICTURE)
is last: false
- length: 578
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 2.gif
@@ -80,12 +80,12 @@ METADATA block #6
height: 14
depth: 24
colors: 128
- data length: 532
+ data length: XXX
data:
METADATA block #7
type: 6 (PICTURE)
is last: false
- length: 377
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 0.jpg
@@ -93,12 +93,12 @@ METADATA block #7
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 330
+ data length: XXX
data:
METADATA block #8
type: 6 (PICTURE)
is last: false
- length: 614
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 4.jpg
@@ -106,12 +106,12 @@ METADATA block #8
height: 47
depth: 24
colors: 0 (unindexed)
- data length: 567
+ data length: XXX
data:
METADATA block #9
type: 6 (PICTURE)
is last: false
- length: 492
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 0.png
@@ -119,12 +119,12 @@ METADATA block #9
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 446
+ data length: XXX
data:
METADATA block #10
type: 6 (PICTURE)
is last: false
- length: 508
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 1.png
@@ -132,12 +132,12 @@ METADATA block #10
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 462
+ data length: XXX
data:
METADATA block #11
type: 6 (PICTURE)
is last: false
- length: 338
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 2.png
@@ -145,12 +145,12 @@ METADATA block #11
height: 20
depth: 24
colors: 7
- data length: 292
+ data length: XXX
data:
METADATA block #12
type: 6 (PICTURE)
is last: false
- length: 354
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 3.png
@@ -158,9 +158,9 @@ METADATA block #12
height: 20
depth: 24
colors: 7
- data length: 308
+ data length: XXX
data:
METADATA block #13
type: 1 (PADDING)
is last: true
- length: 43
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case55-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case55-expect.meta
index a829c5105e6..38058eaf7fb 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case55-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case55-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -25,7 +25,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 480
+ length: XXX
media catalog number: 1234567890123
lead-in: 0
is CD: false
@@ -46,7 +46,7 @@ METADATA block #3
METADATA block #4
type: 6 (PICTURE)
is last: false
- length: 141
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 0.gif
@@ -54,12 +54,12 @@ METADATA block #4
height: 24
depth: 24
colors: 2
- data length: 95
+ data length: XXX
data:
METADATA block #5
type: 6 (PICTURE)
is last: false
- length: 917
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 1.gif
@@ -67,12 +67,12 @@ METADATA block #5
height: 8
depth: 24
colors: 256
- data length: 871
+ data length: XXX
data:
METADATA block #6
type: 6 (PICTURE)
is last: false
- length: 578
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 2.gif
@@ -80,12 +80,12 @@ METADATA block #6
height: 14
depth: 24
colors: 128
- data length: 532
+ data length: XXX
data:
METADATA block #7
type: 6 (PICTURE)
is last: false
- length: 377
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 0.jpg
@@ -93,12 +93,12 @@ METADATA block #7
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 330
+ data length: XXX
data:
METADATA block #8
type: 6 (PICTURE)
is last: false
- length: 614
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 4.jpg
@@ -106,12 +106,12 @@ METADATA block #8
height: 47
depth: 24
colors: 0 (unindexed)
- data length: 567
+ data length: XXX
data:
METADATA block #9
type: 6 (PICTURE)
is last: false
- length: 492
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 0.png
@@ -119,12 +119,12 @@ METADATA block #9
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 446
+ data length: XXX
data:
METADATA block #10
type: 6 (PICTURE)
is last: false
- length: 508
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 1.png
@@ -132,12 +132,12 @@ METADATA block #10
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 462
+ data length: XXX
data:
METADATA block #11
type: 6 (PICTURE)
is last: false
- length: 338
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 2.png
@@ -145,12 +145,12 @@ METADATA block #11
height: 20
depth: 24
colors: 7
- data length: 292
+ data length: XXX
data:
METADATA block #12
type: 6 (PICTURE)
is last: false
- length: 354
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 3.png
@@ -158,12 +158,12 @@ METADATA block #12
height: 20
depth: 24
colors: 7
- data length: 308
+ data length: XXX
data:
METADATA block #13
type: 6 (PICTURE)
is last: false
- length: 1846
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 4.png
@@ -171,9 +171,9 @@ METADATA block #13
height: 47
depth: 24
colors: 0 (unindexed)
- data length: 1800
+ data length: XXX
data:
METADATA block #14
type: 1 (PADDING)
is last: true
- length: 43
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case56-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case56-expect.meta
index 095e1dda0c6..0bcf922d3fb 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case56-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case56-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -25,7 +25,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 480
+ length: XXX
media catalog number: 1234567890123
lead-in: 0
is CD: false
@@ -46,7 +46,7 @@ METADATA block #3
METADATA block #4
type: 6 (PICTURE)
is last: false
- length: 141
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 0.gif
@@ -54,12 +54,12 @@ METADATA block #4
height: 24
depth: 24
colors: 2
- data length: 95
+ data length: XXX
data:
METADATA block #5
type: 6 (PICTURE)
is last: false
- length: 917
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 1.gif
@@ -67,12 +67,12 @@ METADATA block #5
height: 8
depth: 24
colors: 256
- data length: 871
+ data length: XXX
data:
METADATA block #6
type: 6 (PICTURE)
is last: false
- length: 578
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 2.gif
@@ -80,12 +80,12 @@ METADATA block #6
height: 14
depth: 24
colors: 128
- data length: 532
+ data length: XXX
data:
METADATA block #7
type: 6 (PICTURE)
is last: false
- length: 377
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 0.jpg
@@ -93,12 +93,12 @@ METADATA block #7
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 330
+ data length: XXX
data:
METADATA block #8
type: 6 (PICTURE)
is last: false
- length: 614
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 4.jpg
@@ -106,12 +106,12 @@ METADATA block #8
height: 47
depth: 24
colors: 0 (unindexed)
- data length: 567
+ data length: XXX
data:
METADATA block #9
type: 6 (PICTURE)
is last: false
- length: 492
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 0.png
@@ -119,12 +119,12 @@ METADATA block #9
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 446
+ data length: XXX
data:
METADATA block #10
type: 6 (PICTURE)
is last: false
- length: 508
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 1.png
@@ -132,12 +132,12 @@ METADATA block #10
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 462
+ data length: XXX
data:
METADATA block #11
type: 6 (PICTURE)
is last: false
- length: 338
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 2.png
@@ -145,12 +145,12 @@ METADATA block #11
height: 20
depth: 24
colors: 7
- data length: 292
+ data length: XXX
data:
METADATA block #12
type: 6 (PICTURE)
is last: false
- length: 354
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 3.png
@@ -158,12 +158,12 @@ METADATA block #12
height: 20
depth: 24
colors: 7
- data length: 308
+ data length: XXX
data:
METADATA block #13
type: 6 (PICTURE)
is last: false
- length: 1846
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 4.png
@@ -171,12 +171,12 @@ METADATA block #13
height: 47
depth: 24
colors: 0 (unindexed)
- data length: 1800
+ data length: XXX
data:
METADATA block #14
type: 6 (PICTURE)
is last: false
- length: 1862
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 5.png
@@ -184,9 +184,9 @@ METADATA block #14
height: 47
depth: 24
colors: 0 (unindexed)
- data length: 1816
+ data length: XXX
data:
METADATA block #15
type: 1 (PADDING)
is last: true
- length: 43
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case57-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case57-expect.meta
index 95043e0a261..546a6003996 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case57-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case57-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -25,7 +25,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 480
+ length: XXX
media catalog number: 1234567890123
lead-in: 0
is CD: false
@@ -46,7 +46,7 @@ METADATA block #3
METADATA block #4
type: 6 (PICTURE)
is last: false
- length: 141
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 0.gif
@@ -54,12 +54,12 @@ METADATA block #4
height: 24
depth: 24
colors: 2
- data length: 95
+ data length: XXX
data:
METADATA block #5
type: 6 (PICTURE)
is last: false
- length: 917
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 1.gif
@@ -67,12 +67,12 @@ METADATA block #5
height: 8
depth: 24
colors: 256
- data length: 871
+ data length: XXX
data:
METADATA block #6
type: 6 (PICTURE)
is last: false
- length: 578
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 2.gif
@@ -80,12 +80,12 @@ METADATA block #6
height: 14
depth: 24
colors: 128
- data length: 532
+ data length: XXX
data:
METADATA block #7
type: 6 (PICTURE)
is last: false
- length: 377
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 0.jpg
@@ -93,12 +93,12 @@ METADATA block #7
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 330
+ data length: XXX
data:
METADATA block #8
type: 6 (PICTURE)
is last: false
- length: 614
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 4.jpg
@@ -106,12 +106,12 @@ METADATA block #8
height: 47
depth: 24
colors: 0 (unindexed)
- data length: 567
+ data length: XXX
data:
METADATA block #9
type: 6 (PICTURE)
is last: false
- length: 492
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 0.png
@@ -119,12 +119,12 @@ METADATA block #9
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 446
+ data length: XXX
data:
METADATA block #10
type: 6 (PICTURE)
is last: false
- length: 508
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 1.png
@@ -132,12 +132,12 @@ METADATA block #10
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 462
+ data length: XXX
data:
METADATA block #11
type: 6 (PICTURE)
is last: false
- length: 338
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 2.png
@@ -145,12 +145,12 @@ METADATA block #11
height: 20
depth: 24
colors: 7
- data length: 292
+ data length: XXX
data:
METADATA block #12
type: 6 (PICTURE)
is last: false
- length: 354
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 3.png
@@ -158,12 +158,12 @@ METADATA block #12
height: 20
depth: 24
colors: 7
- data length: 308
+ data length: XXX
data:
METADATA block #13
type: 6 (PICTURE)
is last: false
- length: 1846
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 4.png
@@ -171,12 +171,12 @@ METADATA block #13
height: 47
depth: 24
colors: 0 (unindexed)
- data length: 1800
+ data length: XXX
data:
METADATA block #14
type: 6 (PICTURE)
is last: false
- length: 1862
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 5.png
@@ -184,12 +184,12 @@ METADATA block #14
height: 47
depth: 24
colors: 0 (unindexed)
- data length: 1816
+ data length: XXX
data:
METADATA block #15
type: 6 (PICTURE)
is last: false
- length: 589
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 6.png
@@ -197,9 +197,9 @@ METADATA block #15
height: 47
depth: 24
colors: 23
- data length: 543
+ data length: XXX
data:
METADATA block #16
type: 1 (PADDING)
is last: true
- length: 43
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case58-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case58-expect.meta
index 6f14174d20c..6496167261f 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case58-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case58-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -25,7 +25,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 480
+ length: XXX
media catalog number: 1234567890123
lead-in: 0
is CD: false
@@ -46,7 +46,7 @@ METADATA block #3
METADATA block #4
type: 6 (PICTURE)
is last: false
- length: 141
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 0.gif
@@ -54,12 +54,12 @@ METADATA block #4
height: 24
depth: 24
colors: 2
- data length: 95
+ data length: XXX
data:
METADATA block #5
type: 6 (PICTURE)
is last: false
- length: 917
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 1.gif
@@ -67,12 +67,12 @@ METADATA block #5
height: 8
depth: 24
colors: 256
- data length: 871
+ data length: XXX
data:
METADATA block #6
type: 6 (PICTURE)
is last: false
- length: 578
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 2.gif
@@ -80,12 +80,12 @@ METADATA block #6
height: 14
depth: 24
colors: 128
- data length: 532
+ data length: XXX
data:
METADATA block #7
type: 6 (PICTURE)
is last: false
- length: 377
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 0.jpg
@@ -93,12 +93,12 @@ METADATA block #7
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 330
+ data length: XXX
data:
METADATA block #8
type: 6 (PICTURE)
is last: false
- length: 614
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 4.jpg
@@ -106,12 +106,12 @@ METADATA block #8
height: 47
depth: 24
colors: 0 (unindexed)
- data length: 567
+ data length: XXX
data:
METADATA block #9
type: 6 (PICTURE)
is last: false
- length: 492
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 0.png
@@ -119,12 +119,12 @@ METADATA block #9
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 446
+ data length: XXX
data:
METADATA block #10
type: 6 (PICTURE)
is last: false
- length: 508
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 1.png
@@ -132,12 +132,12 @@ METADATA block #10
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 462
+ data length: XXX
data:
METADATA block #11
type: 6 (PICTURE)
is last: false
- length: 338
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 2.png
@@ -145,12 +145,12 @@ METADATA block #11
height: 20
depth: 24
colors: 7
- data length: 292
+ data length: XXX
data:
METADATA block #12
type: 6 (PICTURE)
is last: false
- length: 354
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 3.png
@@ -158,12 +158,12 @@ METADATA block #12
height: 20
depth: 24
colors: 7
- data length: 308
+ data length: XXX
data:
METADATA block #13
type: 6 (PICTURE)
is last: false
- length: 1846
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 4.png
@@ -171,12 +171,12 @@ METADATA block #13
height: 47
depth: 24
colors: 0 (unindexed)
- data length: 1800
+ data length: XXX
data:
METADATA block #14
type: 6 (PICTURE)
is last: false
- length: 1862
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 5.png
@@ -184,12 +184,12 @@ METADATA block #14
height: 47
depth: 24
colors: 0 (unindexed)
- data length: 1816
+ data length: XXX
data:
METADATA block #15
type: 6 (PICTURE)
is last: false
- length: 589
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 6.png
@@ -197,12 +197,12 @@ METADATA block #15
height: 47
depth: 24
colors: 23
- data length: 543
+ data length: XXX
data:
METADATA block #16
type: 6 (PICTURE)
is last: false
- length: 605
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 7.png
@@ -210,9 +210,9 @@ METADATA block #16
height: 47
depth: 24
colors: 23
- data length: 559
+ data length: XXX
data:
METADATA block #17
type: 1 (PADDING)
is last: true
- length: 43
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case59-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case59-expect.meta
index f68d011ab48..cbe812d7cfd 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case59-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case59-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -25,7 +25,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 480
+ length: XXX
media catalog number: 1234567890123
lead-in: 0
is CD: false
@@ -46,7 +46,7 @@ METADATA block #3
METADATA block #4
type: 6 (PICTURE)
is last: false
- length: 141
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 0.gif
@@ -54,12 +54,12 @@ METADATA block #4
height: 24
depth: 24
colors: 2
- data length: 95
+ data length: XXX
data:
METADATA block #5
type: 6 (PICTURE)
is last: false
- length: 917
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 1.gif
@@ -67,12 +67,12 @@ METADATA block #5
height: 8
depth: 24
colors: 256
- data length: 871
+ data length: XXX
data:
METADATA block #6
type: 6 (PICTURE)
is last: false
- length: 578
+ length: XXX
type: 3 (Cover (front))
MIME type: image/gif
description: 2.gif
@@ -80,12 +80,12 @@ METADATA block #6
height: 14
depth: 24
colors: 128
- data length: 532
+ data length: XXX
data:
METADATA block #7
type: 6 (PICTURE)
is last: false
- length: 377
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 0.jpg
@@ -93,12 +93,12 @@ METADATA block #7
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 330
+ data length: XXX
data:
METADATA block #8
type: 6 (PICTURE)
is last: false
- length: 614
+ length: XXX
type: 4 (Cover (back))
MIME type: image/jpeg
description: 4.jpg
@@ -106,12 +106,12 @@ METADATA block #8
height: 47
depth: 24
colors: 0 (unindexed)
- data length: 567
+ data length: XXX
data:
METADATA block #9
type: 6 (PICTURE)
is last: false
- length: 492
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 0.png
@@ -119,12 +119,12 @@ METADATA block #9
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 446
+ data length: XXX
data:
METADATA block #10
type: 6 (PICTURE)
is last: false
- length: 508
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 1.png
@@ -132,12 +132,12 @@ METADATA block #10
height: 20
depth: 8
colors: 0 (unindexed)
- data length: 462
+ data length: XXX
data:
METADATA block #11
type: 6 (PICTURE)
is last: false
- length: 338
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 2.png
@@ -145,12 +145,12 @@ METADATA block #11
height: 20
depth: 24
colors: 7
- data length: 292
+ data length: XXX
data:
METADATA block #12
type: 6 (PICTURE)
is last: false
- length: 354
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 3.png
@@ -158,12 +158,12 @@ METADATA block #12
height: 20
depth: 24
colors: 7
- data length: 308
+ data length: XXX
data:
METADATA block #13
type: 6 (PICTURE)
is last: false
- length: 1846
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 4.png
@@ -171,12 +171,12 @@ METADATA block #13
height: 47
depth: 24
colors: 0 (unindexed)
- data length: 1800
+ data length: XXX
data:
METADATA block #14
type: 6 (PICTURE)
is last: false
- length: 1862
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 5.png
@@ -184,12 +184,12 @@ METADATA block #14
height: 47
depth: 24
colors: 0 (unindexed)
- data length: 1816
+ data length: XXX
data:
METADATA block #15
type: 6 (PICTURE)
is last: false
- length: 589
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 6.png
@@ -197,12 +197,12 @@ METADATA block #15
height: 47
depth: 24
colors: 23
- data length: 543
+ data length: XXX
data:
METADATA block #16
type: 6 (PICTURE)
is last: false
- length: 605
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 7.png
@@ -210,12 +210,12 @@ METADATA block #16
height: 47
depth: 24
colors: 23
- data length: 559
+ data length: XXX
data:
METADATA block #17
type: 6 (PICTURE)
is last: false
- length: 290
+ length: XXX
type: 5 (Leaflet page)
MIME type: image/png
description: 8.png
@@ -223,9 +223,9 @@ METADATA block #17
height: 32
depth: 32
colors: 0 (unindexed)
- data length: 244
+ data length: XXX
data:
METADATA block #18
type: 1 (PADDING)
is last: true
- length: 43
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case60-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case60-expect.meta
index b085aa0f9e8..3bead3933f9 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case60-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case60-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -25,7 +25,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 480
+ length: XXX
media catalog number: 1234567890123
lead-in: 0
is CD: false
@@ -46,4 +46,4 @@ METADATA block #3
METADATA block #4
type: 1 (PADDING)
is last: true
- length: 9610
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case61-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case61-expect.meta
index 6c315d8253e..535cde39d96 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case61-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case61-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -25,7 +25,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 480
+ length: XXX
media catalog number: 1234567890123
lead-in: 0
is CD: false
@@ -46,7 +46,7 @@ METADATA block #3
METADATA block #4
type: 6 (PICTURE)
is last: false
- length: 500
+ length: XXX
type: 1 (32x32 pixels 'file icon' (PNG only))
MIME type: image/png
description: standard_icon
@@ -54,9 +54,9 @@ METADATA block #4
height: 32
depth: 24
colors: 0 (unindexed)
- data length: 446
+ data length: XXX
data:
METADATA block #5
type: 1 (PADDING)
is last: true
- length: 9106
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case62-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case62-expect.meta
index 5b64e62fb58..472fec3d1d0 100644
--- a/3rdparty/libflac/test/metaflac-test-files/case62-expect.meta
+++ b/3rdparty/libflac/test/metaflac-test-files/case62-expect.meta
@@ -1,7 +1,7 @@
METADATA block #0
type: 0 (STREAMINFO)
is last: false
- length: 34
+ length: XXX
sample_rate: 8000 Hz
channels: 1
bits-per-sample: 8
@@ -10,13 +10,13 @@ METADATA block #0
METADATA block #1
type: 3 (SEEKTABLE)
is last: false
- length: 18
+ length: XXX
seek points: 1
point 0: sample_number=0
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
- length: 117
+ length: XXX
comments: 4
comment[0]: f=0123456789abcdefghij
comment[1]: TITLE=Tittle
@@ -25,7 +25,7 @@ METADATA block #2
METADATA block #3
type: 5 (CUESHEET)
is last: false
- length: 480
+ length: XXX
media catalog number: 1234567890123
lead-in: 0
is CD: false
@@ -46,7 +46,7 @@ METADATA block #3
METADATA block #4
type: 6 (PICTURE)
is last: false
- length: 500
+ length: XXX
type: 1 (32x32 pixels 'file icon' (PNG only))
MIME type: image/png
description: standard_icon
@@ -54,12 +54,12 @@ METADATA block #4
height: 32
depth: 24
colors: 0 (unindexed)
- data length: 446
+ data length: XXX
data:
METADATA block #5
type: 6 (PICTURE)
is last: false
- length: 507
+ length: XXX
type: 2 (Other file icon)
MIME type: image/png
description: icon
@@ -67,9 +67,9 @@ METADATA block #5
height: 64
depth: 24
colors: 0 (unindexed)
- data length: 462
+ data length: XXX
data:
METADATA block #6
type: 1 (PADDING)
is last: true
- length: 8595
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case63-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case63-expect.meta
new file mode 100644
index 00000000000..8c3f2ecb817
--- /dev/null
+++ b/3rdparty/libflac/test/metaflac-test-files/case63-expect.meta
@@ -0,0 +1,74 @@
+METADATA block #0
+ type: 0 (STREAMINFO)
+ is last: false
+ length: XXX
+ sample_rate: 8000 Hz
+ channels: 1
+ bits-per-sample: 8
+ total samples: 80000
+ MD5 signature: a042237c5493fdb9656b94a83608d11a
+METADATA block #1
+ type: 3 (SEEKTABLE)
+ is last: false
+ length: XXX
+ seek points: 1
+ point 0: sample_number=0
+METADATA block #2
+ type: 4 (VORBIS_COMMENT)
+ is last: false
+ length: XXX
+ comments: 3
+ comment[0]: TITLE=Tittle
+ comment[1]: artist=Fartist
+ comment[2]: artist=artits
+METADATA block #3
+ type: 5 (CUESHEET)
+ is last: false
+ length: XXX
+ media catalog number: 1234567890123
+ lead-in: 0
+ is CD: false
+ number of tracks: 2
+ track[0]
+ offset: 0
+ number: 1
+ ISRC:
+ type: AUDIO
+ pre-emphasis: false
+ number of index points: 1
+ index[0]
+ offset: 0
+ number: 1
+ track[1]
+ offset: 80000
+ number: 255 (LEAD-OUT)
+METADATA block #4
+ type: 6 (PICTURE)
+ is last: false
+ length: XXX
+ type: 1 (32x32 pixels 'file icon' (PNG only))
+ MIME type: image/png
+ description: standard_icon
+ width: 32
+ height: 32
+ depth: 24
+ colors: 0 (unindexed)
+ data length: XXX
+ data:
+METADATA block #5
+ type: 6 (PICTURE)
+ is last: false
+ length: XXX
+ type: 2 (Other file icon)
+ MIME type: image/png
+ description: icon
+ width: 64
+ height: 64
+ depth: 24
+ colors: 0 (unindexed)
+ data length: XXX
+ data:
+METADATA block #6
+ type: 1 (PADDING)
+ is last: true
+ length: XXX
diff --git a/3rdparty/libflac/test/metaflac-test-files/case64-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case64-expect.meta
new file mode 100644
index 00000000000..f78c13a287d
--- /dev/null
+++ b/3rdparty/libflac/test/metaflac-test-files/case64-expect.meta
@@ -0,0 +1,3 @@
+TITLE=Tittle
+artist=Fartist
+artist=artits
diff --git a/3rdparty/libflac/test/metaflac-test-files/case65-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case65-expect.meta
new file mode 100644
index 00000000000..3f863b1717b
--- /dev/null
+++ b/3rdparty/libflac/test/metaflac-test-files/case65-expect.meta
Binary files differ
diff --git a/3rdparty/libflac/test/metaflac-test-files/case66-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case66-expect.meta
new file mode 100644
index 00000000000..9345b15878e
--- /dev/null
+++ b/3rdparty/libflac/test/metaflac-test-files/case66-expect.meta
@@ -0,0 +1,62 @@
+METADATA block #0
+ type: 0 (STREAMINFO)
+ is last: false
+ length: 34
+ minimum blocksize: 1152 samples
+ maximum blocksize: 1152 samples
+ minimum framesize: 11 bytes
+ maximum framesize: 11 bytes
+ sample_rate: 44100 Hz
+ channels: 1
+ bits-per-sample: 8
+ total samples: 1
+ MD5 signature: 8d39dd7eef115ea6975446ef4082951f
+METADATA block #1
+ type: 3 (SEEKTABLE)
+ is last: false
+ length: 18
+ seek points: 1
+ point 0: sample_number=0, stream_offset=0, frame_samples=1
+METADATA block #2
+ type: 4 (VORBIS_COMMENT)
+ is last: false
+ length: 46
+ vendor string: reference libFLAC 1.0.5_beta2 20030114
+ comments: 0
+METADATA block #3
+ type: 126 (UNKNOWN)
+ is last: false
+ length: 4
+ data contents:
+ 00000000: AA 55 A5 5A 00 00 00 00 00 00 00 00 00 00 00 00 .U.Z
+METADATA block #4
+ type: 5 (CUESHEET)
+ is last: false
+ length: 480
+ media catalog number:
+ lead-in: 88200
+ is CD: true
+ number of tracks: 2
+ track[0]
+ offset: 0
+ number: 1
+ ISRC:
+ type: AUDIO
+ pre-emphasis: false
+ number of index points: 1
+ index[0]
+ offset: 0
+ number: 1
+ track[1]
+ offset: 1
+ number: 170 (LEAD-OUT)
+METADATA block #5
+ type: 2 (APPLICATION)
+ is last: false
+ length: 12
+ application ID: 61626364
+ data contents:
+calfflacMETADATA block #6
+ type: 1 (PADDING)
+ is last: true
+ length: 12
diff --git a/3rdparty/libflac/test/metaflac-test-files/case67-expect.meta b/3rdparty/libflac/test/metaflac-test-files/case67-expect.meta
new file mode 100644
index 00000000000..3f6f21795fe
--- /dev/null
+++ b/3rdparty/libflac/test/metaflac-test-files/case67-expect.meta
@@ -0,0 +1,95 @@
+METADATA block #0
+ type: 0 (STREAMINFO)
+ is last: false
+ length: 34
+ minimum blocksize: 1152 samples
+ maximum blocksize: 1152 samples
+ minimum framesize: 11 bytes
+ maximum framesize: 11 bytes
+ sample_rate: 44100 Hz
+ channels: 1
+ bits-per-sample: 8
+ total samples: 1
+ MD5 signature: 8d39dd7eef115ea6975446ef4082951f
+METADATA block #1
+ type: 126 (UNKNOWN)
+ is last: false
+ length: 4
+ data contents:
+ 00000000: AA 55 A5 5A 00 00 00 00 00 00 00 00 00 00 00 00 .U.Z
+METADATA block #2
+ type: 5 (CUESHEET)
+ is last: false
+ length: 480
+ media catalog number:
+ lead-in: 88200
+ is CD: true
+ number of tracks: 2
+ track[0]
+ offset: 0
+ number: 1
+ ISRC:
+ type: AUDIO
+ pre-emphasis: false
+ number of index points: 1
+ index[0]
+ offset: 0
+ number: 1
+ track[1]
+ offset: 1
+ number: 170 (LEAD-OUT)
+METADATA block #3
+ type: 2 (APPLICATION)
+ is last: false
+ length: 12
+ application ID: 61626364
+ data contents:
+calfflacMETADATA block #4
+ type: 3 (SEEKTABLE)
+ is last: false
+ length: 18
+ seek points: 1
+ point 0: sample_number=0, stream_offset=0, frame_samples=1
+METADATA block #5
+ type: 4 (VORBIS_COMMENT)
+ is last: false
+ length: 46
+ vendor string: reference libFLAC 1.0.5_beta2 20030114
+ comments: 0
+METADATA block #6
+ type: 126 (UNKNOWN)
+ is last: false
+ length: 4
+ data contents:
+ 00000000: AA 55 A5 5A 00 00 00 00 00 00 00 00 00 00 00 00 .U.Z
+METADATA block #7
+ type: 5 (CUESHEET)
+ is last: false
+ length: 480
+ media catalog number:
+ lead-in: 88200
+ is CD: true
+ number of tracks: 2
+ track[0]
+ offset: 0
+ number: 1
+ ISRC:
+ type: AUDIO
+ pre-emphasis: false
+ number of index points: 1
+ index[0]
+ offset: 0
+ number: 1
+ track[1]
+ offset: 1
+ number: 170 (LEAD-OUT)
+METADATA block #8
+ type: 2 (APPLICATION)
+ is last: false
+ length: 12
+ application ID: 61626364
+ data contents:
+calfflacMETADATA block #9
+ type: 1 (PADDING)
+ is last: true
+ length: 28
diff --git a/3rdparty/libflac/test/pictures/Makefile.am b/3rdparty/libflac/test/pictures/Makefile.am
index a93bd644093..a1bf9e71b41 100644
--- a/3rdparty/libflac/test/pictures/Makefile.am
+++ b/3rdparty/libflac/test/pictures/Makefile.am
@@ -1,8 +1,9 @@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2006,2007 Josh Coalson
+# Copyright (C) 2006-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
diff --git a/3rdparty/libflac/test/pictures/Makefile.in b/3rdparty/libflac/test/pictures/Makefile.in
index ba0b422e6a4..c354117df14 100644
--- a/3rdparty/libflac/test/pictures/Makefile.in
+++ b/3rdparty/libflac/test/pictures/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-# Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,10 +15,11 @@
@SET_MAKE@
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2006,2007 Josh Coalson
+# Copyright (C) 2006-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -30,17 +31,67 @@
# it may be distributed under the Xiph.Org license, which is the least
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -52,12 +103,56 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
+build_triplet = @build@
host_triplet = @host@
+subdir = test/pictures
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
+ $(top_srcdir)/m4/add_cxxflags.m4 \
+ $(top_srcdir)/m4/ax_add_fortify_source.m4 \
+ $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_check_enable_debug.m4 \
+ $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \
+ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \
+ $(top_srcdir)/m4/really_gcc.m4 \
+ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -66,159 +161,143 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
-DEBUG_FALSE = @DEBUG_FALSE@
-DEBUG_TRUE = @DEBUG_TRUE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DOCBOOK_TO_MAN = @DOCBOOK_TO_MAN@
+DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLAC__HAS_OGG = @FLAC__HAS_OGG@
FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@
FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@
-FLaC__CPU_IA32_FALSE = @FLaC__CPU_IA32_FALSE@
-FLaC__CPU_IA32_TRUE = @FLaC__CPU_IA32_TRUE@
-FLaC__CPU_PPC_FALSE = @FLaC__CPU_PPC_FALSE@
-FLaC__CPU_PPC_TRUE = @FLaC__CPU_PPC_TRUE@
-FLaC__CPU_SPARC_FALSE = @FLaC__CPU_SPARC_FALSE@
-FLaC__CPU_SPARC_TRUE = @FLaC__CPU_SPARC_TRUE@
-FLaC__HAS_AS_FALSE = @FLaC__HAS_AS_FALSE@
-FLaC__HAS_AS_TRUE = @FLaC__HAS_AS_TRUE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_AS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_DOCBOOK_TO_MAN_FALSE = @FLaC__HAS_DOCBOOK_TO_MAN_FALSE@
-FLaC__HAS_DOCBOOK_TO_MAN_TRUE = @FLaC__HAS_DOCBOOK_TO_MAN_TRUE@
-FLaC__HAS_DOXYGEN_FALSE = @FLaC__HAS_DOXYGEN_FALSE@
-FLaC__HAS_DOXYGEN_TRUE = @FLaC__HAS_DOXYGEN_TRUE@
-FLaC__HAS_GAS_FALSE = @FLaC__HAS_GAS_FALSE@
-FLaC__HAS_GAS_TRUE = @FLaC__HAS_GAS_TRUE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_FALSE@
-FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE = @FLaC__HAS_GAS__TEMPORARILY_DISABLED_TRUE@
-FLaC__HAS_NASM_FALSE = @FLaC__HAS_NASM_FALSE@
-FLaC__HAS_NASM_TRUE = @FLaC__HAS_NASM_TRUE@
-FLaC__HAS_OGG_FALSE = @FLaC__HAS_OGG_FALSE@
-FLaC__HAS_OGG_TRUE = @FLaC__HAS_OGG_TRUE@
-FLaC__HAS_XMMS_FALSE = @FLaC__HAS_XMMS_FALSE@
-FLaC__HAS_XMMS_TRUE = @FLaC__HAS_XMMS_TRUE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_FALSE@
-FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE = @FLaC__INSTALL_XMMS_PLUGIN_LOCALLY_TRUE@
-FLaC__NO_ASM_FALSE = @FLaC__NO_ASM_FALSE@
-FLaC__NO_ASM_TRUE = @FLaC__NO_ASM_TRUE@
-FLaC__SSE_OS_FALSE = @FLaC__SSE_OS_FALSE@
-FLaC__SSE_OS_TRUE = @FLaC__SSE_OS_TRUE@
-FLaC__SYS_DARWIN_FALSE = @FLaC__SYS_DARWIN_FALSE@
-FLaC__SYS_DARWIN_TRUE = @FLaC__SYS_DARWIN_TRUE@
-FLaC__SYS_LINUX_FALSE = @FLaC__SYS_LINUX_FALSE@
-FLaC__SYS_LINUX_TRUE = @FLaC__SYS_LINUX_TRUE@
-FLaC__USE_3DNOW_FALSE = @FLaC__USE_3DNOW_FALSE@
-FLaC__USE_3DNOW_TRUE = @FLaC__USE_3DNOW_TRUE@
-FLaC__USE_ALTIVEC_FALSE = @FLaC__USE_ALTIVEC_FALSE@
-FLaC__USE_ALTIVEC_TRUE = @FLaC__USE_ALTIVEC_TRUE@
-FLaC__WITH_CPPLIBS_FALSE = @FLaC__WITH_CPPLIBS_FALSE@
-FLaC__WITH_CPPLIBS_TRUE = @FLaC__WITH_CPPLIBS_TRUE@
-GAS = @GAS@
+GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
+GCC_MINOR_VERSION = @GCC_MINOR_VERSION@
+GCC_VERSION = @GCC_VERSION@
+GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@
+GIT_FOUND = @GIT_FOUND@
+GREP = @GREP@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
-MINGW_WINSOCK_LIBS = @MINGW_WINSOCK_LIBS@
-NASM = @NASM@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OBJ_FORMAT = @OBJ_FORMAT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
+OGG_PACKAGE = @OGG_PACKAGE@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
+RC = @RC@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
-XMMS_CFLAGS = @XMMS_CFLAGS@
-XMMS_CONFIG = @XMMS_CONFIG@
-XMMS_DATA_DIR = @XMMS_DATA_DIR@
-XMMS_EFFECT_PLUGIN_DIR = @XMMS_EFFECT_PLUGIN_DIR@
-XMMS_GENERAL_PLUGIN_DIR = @XMMS_GENERAL_PLUGIN_DIR@
-XMMS_INPUT_PLUGIN_DIR = @XMMS_INPUT_PLUGIN_DIR@
-XMMS_LIBS = @XMMS_LIBS@
-XMMS_OUTPUT_PLUGIN_DIR = @XMMS_OUTPUT_PLUGIN_DIR@
-XMMS_PLUGIN_DIR = @XMMS_PLUGIN_DIR@
-XMMS_VERSION = @XMMS_VERSION@
-XMMS_VISUALIZATION_PLUGIN_DIR = @XMMS_VISUALIZATION_PLUGIN_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
+mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
EXTRA_DIST = \
0.gif \
0.jpg \
@@ -235,73 +314,86 @@ EXTRA_DIST = \
7.png \
8.png
-subdir = test/pictures
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu test/pictures/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/pictures/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign test/pictures/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ../..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
-
installdirs:
install: install-am
install-exec: install-exec-am
@@ -313,16 +405,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -333,24 +431,46 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
+distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
+html: html-am
+
+html-am:
+
info: info-am
info-am:
install-data-am:
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
install-exec-am:
+install-html: install-html-am
+
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -369,17 +489,24 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
+
+.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/3rdparty/libflac/test/test_bins.sh b/3rdparty/libflac/test/test_bins.sh
deleted file mode 100644
index dc12890415e..00000000000
--- a/3rdparty/libflac/test/test_bins.sh
+++ /dev/null
@@ -1,114 +0,0 @@
-#!/bin/sh
-
-# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
-#
-# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
-# are distributed under Xiph.Org's BSD-like license (see the file
-# COPYING.Xiph in this distribution). All other programs, libraries, and
-# plugins are distributed under the GPL (see COPYING.GPL). The documentation
-# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
-# FLAC distribution contains at the top the terms under which it may be
-# distributed.
-#
-# Since this particular file is relevant to all components of FLAC,
-# it may be distributed under the Xiph.Org license, which is the least
-# restrictive of those mentioned above. See the file COPYING.Xiph in this
-# distribution.
-
-die ()
-{
- echo $* 1>&2
- exit 1
-}
-
-if [ x = x"$1" ] ; then
- BUILD=debug
-else
- BUILD="$1"
-fi
-
-LD_LIBRARY_PATH=../src/libFLAC/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=../src/share/grabbag/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=../src/share/getopt/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=../src/share/replaygain_analysis/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=../src/share/replaygain_synthesis/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=../src/share/utf8/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=../obj/$BUILD/lib:$LD_LIBRARY_PATH
-export LD_LIBRARY_PATH
-PATH=../src/flac:$PATH
-PATH=../obj/$BUILD/bin:$PATH
-BINS_PATH=../../test_files/bins
-
-if [ x"$FLAC__TEST_LEVEL" = x ] ; then
- FLAC__TEST_LEVEL=1
-fi
-
-flac --help 1>/dev/null 2>/dev/null || die "ERROR can't find flac executable"
-
-run_flac ()
-{
- if [ x"$FLAC__TEST_WITH_VALGRIND" = xyes ] ; then
- echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=100 flac $*" >>test_bins.valgrind.log
- valgrind --leak-check=yes --show-reachable=yes --num-callers=100 --log-fd=4 flac $* 4>>test_bins.valgrind.log
- else
- flac $*
- fi
-}
-
-test -d ${BINS_PATH} || exit 77
-
-test_file ()
-{
- name=$1
- channels=$2
- bps=$3
- encode_options="$4"
-
- echo -n "$name.bin (--channels=$channels --bps=$bps $encode_options): encode..."
- cmd="run_flac --verify --silent --force --force-raw-format --endian=big --sign=signed --sample-rate=44100 --bps=$bps --channels=$channels $encode_options --no-padding $name.bin"
- echo "### ENCODE $name #######################################################" >> ./streams.log
- echo "### cmd=$cmd" >> ./streams.log
- $cmd 2>>./streams.log || die "ERROR during encode of $name"
-
- echo -n "decode..."
- cmd="run_flac --silent --force --endian=big --sign=signed --decode --force-raw-format $name.flac";
- echo "### DECODE $name #######################################################" >> ./streams.log
- echo "### cmd=$cmd" >> ./streams.log
- $cmd 2>>./streams.log || die "ERROR during decode of $name"
-
- ls -1l $name.bin >> ./streams.log
- ls -1l $name.flac >> ./streams.log
- ls -1l $name.raw >> ./streams.log
-
- echo -n "compare..."
- cmp $name.bin $name.raw || die "ERROR during compare of $name"
-
- echo OK
-}
-
-echo "Testing bins..."
-for f in b00 b01 b02 b03 b04 ; do
- binfile=$BINS_PATH/$f
- if [ -f $binfile.bin ] ; then
- for disable in '' '--disable-verbatim-subframes --disable-constant-subframes' '--disable-verbatim-subframes --disable-constant-subframes --disable-fixed-subframes' ; do
- for channels in 1 2 4 8 ; do
- for bps in 8 16 24 ; do
- for opt in 0 1 2 4 5 6 8 ; do
- for extras in '' '-p' '-e' ; do
- for blocksize in '' '--lax -b 32' '--lax -b 32768' '--lax -b 65535' ; do
- test_file $binfile $channels $bps "-$opt $extras $blocksize $disable"
- done
- done
- done
- if [ "$FLAC__TEST_LEVEL" -gt 1 ] ; then
- test_file $binfile $channels $bps "--lax -b 16384 -m -r 8 -l 32 -e -p $disable"
- fi
- done
- done
- done
- else
- echo "$binfile not found, skipping."
- fi
-done
diff --git a/3rdparty/libflac/test/test_compression.sh b/3rdparty/libflac/test/test_compression.sh
new file mode 100755
index 00000000000..60c23993b54
--- /dev/null
+++ b/3rdparty/libflac/test/test_compression.sh
@@ -0,0 +1,46 @@
+#!/bin/sh -e
+
+# FLAC - Free Lossless Audio Codec
+# Copyright (C) 2012-2023 Xiph.Org Foundation
+#
+# This file is part the FLAC project. FLAC is comprised of several
+# components distributed under different licenses. The codec libraries
+# are distributed under Xiph.Org's BSD-like license (see the file
+# COPYING.Xiph in this distribution). All other programs, libraries, and
+# plugins are distributed under the GPL (see COPYING.GPL). The documentation
+# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
+# FLAC distribution contains at the top the terms under which it may be
+# distributed.
+#
+# Since this particular file is relevant to all components of FLAC,
+# it may be distributed under the Xiph.Org license, which is the least
+# restrictive of those mentioned above. See the file COPYING.Xiph in this
+# distribution.
+
+. ./common.sh
+
+PATH="$(pwd)/../src/flac:$PATH"
+
+printf "Using FLAC binary : %s\n" "$(which flac)"
+
+date="$(date "+%Y%m%dT%H%M%S")"
+fname="comp${date}.flac"
+
+last_k=0
+last_size=$(wc -c < noisy-sine.wav)
+
+echo "Original file size ${last_size} bytes."
+
+for k in 0 1 2 3 4 5 6 7 8 ; do
+ flac${EXE} -${k} --silent noisy-sine.wav -o ${fname}
+ size=$(wc -c < ${fname})
+ echo "Compression level ${k}, file size ${size} bytes."
+ if test ${last_size} -lt ${size} ; then
+ echo "Error : Compression ${last_k} size ${last_size} >= compression ${k} size ${size}."
+ exit 1
+ fi
+ # Need this because OSX's 'wc -c' returns a number with leading whitespace.
+ last_size=$((size+10))
+ last_k=${k}
+ rm -f ${fname}
+ done
diff --git a/3rdparty/libflac/test/test_flac.sh b/3rdparty/libflac/test/test_flac.sh
index e19cc039a57..df2d10e4534 100644..100755
--- a/3rdparty/libflac/test/test_flac.sh
+++ b/3rdparty/libflac/test/test_flac.sh
@@ -1,10 +1,11 @@
-#!/bin/sh
+#!/bin/sh -e
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -17,79 +18,48 @@
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-die ()
-{
- echo $* 1>&2
- exit 1
-}
+. ./common.sh
-dddie="die ERROR: creating files with dd"
+# we use '.' as decimal separator in --skip/--until tests
+export LANG=C LC_ALL=C
-if [ x = x"$1" ] ; then
- BUILD=debug
-else
- BUILD="$1"
-fi
+dddie="die ERROR: creating files with dd"
-# change to 'false' to show flac output (useful for debugging)
-if true ; then
- SILENT='--silent'
- TOTALLY_SILENT='--totally-silent'
-else
- SILENT=''
- TOTALLY_SILENT=''
-fi
+PATH="$(pwd)/../src/flac:$PATH"
+PATH="$(pwd)/../src/metaflac:$PATH"
+PATH="$(pwd)/../src/test_streams:$PATH"
+PATH="$(pwd)/../objs/$BUILD/bin:$PATH"
-LD_LIBRARY_PATH=`pwd`/../src/libFLAC/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=`pwd`/../src/share/grabbag/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=`pwd`/../src/share/getopt/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=`pwd`/../src/share/replaygain_analysis/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=`pwd`/../src/share/replaygain_synthesis/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=`pwd`/../src/share/utf8/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=`pwd`/../obj/$BUILD/lib:$LD_LIBRARY_PATH
-export LD_LIBRARY_PATH
-PATH=`pwd`/../src/flac:$PATH
-PATH=`pwd`/../src/metaflac:$PATH
-PATH=`pwd`/../src/test_streams:$PATH
-PATH=`pwd`/../obj/$BUILD/bin:$PATH
-
-flac --help 1>/dev/null 2>/dev/null || die "ERROR can't find flac executable"
+flac${EXE} --help 1>/dev/null 2>/dev/null || die "ERROR can't find flac executable"
run_flac ()
{
- if [ x"$FLAC__TEST_WITH_VALGRIND" = xyes ] ; then
- echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=100 flac $*" >>test_flac.valgrind.log
- valgrind --leak-check=yes --show-reachable=yes --num-callers=100 --log-fd=4 flac $* 4>>test_flac.valgrind.log
+ if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then
+ echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=50 flac $*" >>test_flac.valgrind.log
+ valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 flac${EXE} $TOTALLY_SILENT --no-error-on-compression-fail $* 4>>test_flac.valgrind.log
else
- flac $*
+ flac${EXE} $TOTALLY_SILENT --no-error-on-compression-fail $*
fi
}
run_metaflac ()
{
- if [ x"$FLAC__TEST_WITH_VALGRIND" = xyes ] ; then
- echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=100 metaflac $*" >>test_flac.valgrind.log
- valgrind --leak-check=yes --show-reachable=yes --num-callers=100 --log-fd=4 metaflac $* 4>>test_flac.valgrind.log
+ if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then
+ echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=50 metaflac $*" >>test_flac.valgrind.log
+ valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 metaflac${EXE} $* 4>>test_flac.valgrind.log
else
- metaflac $*
+ metaflac${EXE} $*
fi
}
md5cmp ()
{
- #n=`( [ -f "$1" ] && [ -f "$2" ] && metaflac --show-md5sum --no-filename "$1" "$2" 2>/dev/null || die "ERROR: comparing FLAC files $1 and $2 by MD5 sum" ) | uniq | wc -l`
- n=`( [ -f "$1" ] && [ -f "$2" ] && metaflac --show-md5sum --no-filename "$1" "$2" 2>/dev/null || exit 1 ) | uniq | wc -l`
+ n=$( ( [ -f "$1" ] && [ -f "$2" ] && metaflac${EXE} --show-md5sum --no-filename "$1" "$2" 2>/dev/null || exit 1 ) | uniq | wc -l)
[ "$n" != "" ] && [ $n = 1 ]
}
-if [ `env | grep -ic '^comspec='` != 0 ] ; then
- is_win=yes
-else
- is_win=no
-fi
-
echo "Checking for --ogg support in flac..."
-if flac --ogg $SILENT --force-raw-format --endian=little --sign=signed --channels=1 --bps=8 --sample-rate=44100 -c $0 1>/dev/null 2>&1 ; then
+if flac${EXE} --ogg $TOTTALY_SILENT --force-raw-format --endian=little --sign=signed --channels=1 --bps=8 --sample-rate=44100 -c $0 1>/dev/null 2>&1 ; then
has_ogg=yes;
echo "flac --ogg works"
else
@@ -109,28 +79,28 @@ fi
echo "Try encoding to a file that exists; should fail"
cp wacky1.wav exist.wav
touch exist.flac
-if run_flac $TOTALLY_SILENT -0 exist.wav ; then
+if run_flac -0 exist.wav ; then
die "ERROR: it should have failed but didn't"
else
echo "OK, it failed as it should"
fi
echo "Try encoding with -f to a file that exists; should succeed"
-if run_flac $TOTALLY_SILENT -0 --force exist.wav ; then
+if run_flac -0 --force exist.wav ; then
echo "OK, it succeeded as it should"
else
die "ERROR: it should have succeeded but didn't"
fi
echo "Try decoding to a file that exists; should fail"
-if run_flac $TOTALLY_SILENT -d exist.flac ; then
+if run_flac -d exist.flac ; then
die "ERROR: it should have failed but didn't"
else
echo "OK, it failed as it should"
fi
echo "Try decoding with -f to a file that exists; should succeed"
-if run_flac $TOTALLY_SILENT -d -f exist.flac ; then
+if run_flac -d -f exist.flac ; then
echo "OK, it succeeded as it should"
else
die "ERROR: it should have succeeded but didn't"
@@ -147,11 +117,11 @@ test_fractional ()
blocksize=$1
samples=$2
dd if=noise.raw ibs=4 count=$samples of=pbs.raw 2>/dev/null || $dddie
- echo -n "fractional block size test (blocksize=$blocksize samples=$samples) encode... "
- run_flac $SILENT --force --verify --force-raw-format --endian=little --sign=signed --sample-rate=44100 --bps=16 --channels=2 --blocksize=$blocksize --no-padding --lax -o pbs.flac pbs.raw || die "ERROR"
- echo -n "decode... "
- run_flac $SILENT --force --decode --force-raw-format --endian=little --sign=signed -o pbs.cmp pbs.flac || die "ERROR"
- echo -n "compare... "
+ echo $ECHO_N "fractional block size test (blocksize=$blocksize samples=$samples) encode... " $ECHO_C
+ run_flac --force --verify --force-raw-format --endian=little --sign=signed --sample-rate=44100 --bps=16 --channels=2 --blocksize=$blocksize --no-padding --lax -o pbs.flac pbs.raw || die "ERROR"
+ echo $ECHO_N "decode... " $ECHO_C
+ run_flac --force --decode --force-raw-format --endian=little --sign=signed -o pbs.cmp pbs.flac || die "ERROR"
+ echo $ECHO_N "compare... " $ECHO_C
cmp pbs.raw pbs.cmp || die "ERROR: file mismatch"
echo "OK"
rm -f pbs.raw pbs.flac pbs.cmp
@@ -183,13 +153,16 @@ done
rt_test_raw ()
{
f="$1"
- channels=`echo $f | awk -F- '{print $2}'`
- bps=`echo $f | awk -F- '{print $3}'`
- echo -n "round-trip test ($f) encode... "
- run_flac $SILENT --force --verify --force-raw-format --endian=little --sign=signed --sample-rate=44100 --bps=$bps --channels=$channels --no-padding --lax -o rt.flac $f || die "ERROR"
- echo -n "decode... "
- run_flac $SILENT --force --decode --force-raw-format --endian=little --sign=signed -o rt.raw rt.flac || die "ERROR"
- echo -n "compare... "
+ extra="$2"
+ channels="$(echo $f | awk -F- '{print $2}')"
+ bps="$(echo $f | awk -F- '{print $3}')"
+ sign="$(echo $f | awk -F- '{print $4}')"
+
+ echo $ECHO_N "round-trip test ($f) encode... " $ECHO_C
+ run_flac --force --verify --force-raw-format --endian=little --sign=$sign --sample-rate=44100 --bps=$bps --channels=$channels --no-padding --lax -o rt.flac $extra $f || die "ERROR"
+ echo $ECHO_N "decode... " $ECHO_C
+ run_flac --force --decode --force-raw-format --endian=little --sign=$sign -o rt.raw $extra rt.flac || die "ERROR"
+ echo $ECHO_N "compare... " $ECHO_C
cmp $f rt.raw || die "ERROR: file mismatch"
echo "OK"
rm -f rt.flac rt.raw
@@ -198,40 +171,127 @@ rt_test_raw ()
rt_test_wav ()
{
f="$1"
- echo -n "round-trip test ($f) encode... "
- run_flac $SILENT --force --verify --channel-map=none --no-padding --lax -o rt.flac $f || die "ERROR"
- echo -n "decode... "
- run_flac $SILENT --force --decode --channel-map=none -o rt.wav rt.flac || die "ERROR"
- echo -n "compare... "
+ extra="$2"
+ echo $ECHO_N "round-trip test ($f) encode... " $ECHO_C
+ run_flac --force --verify --channel-map=none --no-padding --lax -o rt.flac $extra $f || die "ERROR"
+ echo $ECHO_N "decode... " $ECHO_C
+ run_flac --force --decode --channel-map=none -o rt.wav $extra rt.flac || die "ERROR"
+ echo $ECHO_N "compare... " $ECHO_C
cmp $f rt.wav || die "ERROR: file mismatch"
echo "OK"
rm -f rt.flac rt.wav
}
+rt_test_wav_autokf ()
+{
+ f="$1"
+ extra="$2"
+ echo $ECHO_N "round-trip test ($f) encode... " $ECHO_C
+ run_flac --force --verify --channel-map=none --no-padding --lax -o rt.flac $extra $f || die "ERROR"
+ echo $ECHO_N "decode... " $ECHO_C
+ run_flac --force --decode --channel-map=none $extra rt.flac || die "ERROR"
+ echo $ECHO_N "compare... " $ECHO_C
+ cmp $f rt.wav || die "ERROR: file mismatch"
+ echo "OK"
+ rm -f rt.flac rt.wav
+}
+
+rt_test_w64 ()
+{
+ f="$1"
+ extra="$2"
+ echo $ECHO_N "round-trip test ($f) encode... " $ECHO_C
+ run_flac --force --verify --channel-map=none --no-padding --lax -o rt.flac $extra $f || die "ERROR"
+ echo $ECHO_N "decode... " $ECHO_C
+ run_flac --force --decode --channel-map=none -o rt.w64 $extra rt.flac || die "ERROR"
+ echo $ECHO_N "compare... " $ECHO_C
+ cmp $f rt.w64 || die "ERROR: file mismatch"
+ echo "OK"
+ rm -f rt.flac rt.w64
+}
+
+rt_test_w64_autokf ()
+{
+ f="$1"
+ extra="$2"
+ echo $ECHO_N "round-trip test ($f) encode... " $ECHO_C
+ run_flac --force --verify --channel-map=none --no-padding --lax -o rt.flac $extra $f || die "ERROR"
+ echo $ECHO_N "decode... " $ECHO_C
+ run_flac --force --decode --channel-map=none $extra rt.flac || die "ERROR"
+ echo $ECHO_N "compare... " $ECHO_C
+ cmp $f rt.w64 || die "ERROR: file mismatch"
+ echo "OK"
+ rm -f rt.flac rt.w64
+}
+
+rt_test_rf64 ()
+{
+ f="$1"
+ extra="$2"
+ echo $ECHO_N "round-trip test ($f) encode... " $ECHO_C
+ run_flac --force --verify --channel-map=none --no-padding --lax -o rt.flac $extra $f || die "ERROR"
+ echo $ECHO_N "decode... " $ECHO_C
+ run_flac --force --decode --channel-map=none -o rt.rf64 $extra rt.flac || die "ERROR"
+ echo $ECHO_N "compare... " $ECHO_C
+ cmp $f rt.rf64 || die "ERROR: file mismatch"
+ echo "OK"
+ rm -f rt.flac rt.rf64
+}
+
+rt_test_rf64_autokf ()
+{
+ f="$1"
+ extra="$2"
+ echo $ECHO_N "round-trip test ($f) encode... " $ECHO_C
+ run_flac --force --verify --channel-map=none --no-padding --lax -o rt.flac $extra $f || die "ERROR"
+ echo $ECHO_N "decode... " $ECHO_C
+ run_flac --force --decode --channel-map=none $extra rt.flac || die "ERROR"
+ echo $ECHO_N "compare... " $ECHO_C
+ cmp $f rt.rf64 || die "ERROR: file mismatch"
+ echo "OK"
+ rm -f rt.flac rt.rf64
+}
+
rt_test_aiff ()
{
f="$1"
- echo -n "round-trip test ($f) encode... "
- run_flac $SILENT --force --verify --channel-map=none --no-padding --lax -o rt.flac $f || die "ERROR"
- echo -n "decode... "
- run_flac $SILENT --force --decode --channel-map=none -o rt.aiff rt.flac || die "ERROR"
- echo -n "compare... "
+ extra="$2"
+ echo $ECHO_N "round-trip test ($f) encode... " $ECHO_C
+ run_flac --force --verify --channel-map=none --no-padding --lax -o rt.flac $extra $f || die "ERROR"
+ echo $ECHO_N "decode... " $ECHO_C
+ run_flac --force --decode --channel-map=none -o rt.aiff $extra rt.flac || die "ERROR"
+ echo $ECHO_N "compare... " $ECHO_C
cmp $f rt.aiff || die "ERROR: file mismatch"
echo "OK"
rm -f rt.flac rt.aiff
}
+rt_test_autokf ()
+{
+ f="$1"
+ extra="$2"
+ echo $ECHO_N "round-trip test ($f) encode... " $ECHO_C
+ run_flac --force --verify --no-padding --lax -o rt.flac $extra $f || die "ERROR"
+ echo $ECHO_N "decode... " $ECHO_C
+ run_flac --force --decode $extra rt.flac || die "ERROR"
+ echo $ECHO_N "compare... " $ECHO_C
+ cmp $f $3 || die "ERROR: file mismatch"
+ echo "OK"
+ rm -f rt.flac $3
+}
+
# assumes input file is WAVE; does not check the metadata-preserving features of flac-to-flac; that is checked later
rt_test_flac ()
{
f="$1"
- echo -n "round-trip test ($f->flac->flac->wav) encode... "
- run_flac $SILENT --force --verify --channel-map=none --no-padding --lax -o rt.flac $f || die "ERROR"
- echo -n "re-encode... "
- run_flac $SILENT --force --verify --lax -o rt2.flac rt.flac || die "ERROR"
- echo -n "decode... "
- run_flac $SILENT --force --decode --channel-map=none -o rt.wav rt2.flac || die "ERROR"
- echo -n "compare... "
+ extra="$2"
+ echo $ECHO_N "round-trip test ($f->flac->flac->wav) encode... " $ECHO_C
+ run_flac --force --verify --channel-map=none --no-padding --lax -o rt.flac $extra $f || die "ERROR"
+ echo $ECHO_N "re-encode... " $ECHO_C
+ run_flac --force --verify --lax -o rt2.flac rt.flac || die "ERROR"
+ echo $ECHO_N "decode... " $ECHO_C
+ run_flac --force --decode --channel-map=none -o rt.wav $extra rt2.flac || die "ERROR"
+ echo $ECHO_N "compare... " $ECHO_C
cmp $f rt.wav || die "ERROR: file mismatch"
echo "OK"
rm -f rt.wav rt.flac rt2.flac
@@ -241,13 +301,14 @@ rt_test_flac ()
rt_test_ogg_flac ()
{
f="$1"
- echo -n "round-trip test ($f->oggflac->oggflac->wav) encode... "
- run_flac $SILENT --force --verify --channel-map=none --no-padding --lax -o rt.oga --ogg $f || die "ERROR"
- echo -n "re-encode... "
- run_flac $SILENT --force --verify --lax -o rt2.oga --ogg rt.oga || die "ERROR"
- echo -n "decode... "
- run_flac $SILENT --force --decode --channel-map=none -o rt.wav rt2.oga || die "ERROR"
- echo -n "compare... "
+ extra="$2"
+ echo $ECHO_N "round-trip test ($f->oggflac->oggflac->wav) encode... " $ECHO_C
+ run_flac --force --verify --channel-map=none --no-padding --lax -o rt.oga --ogg $extra $f || die "ERROR"
+ echo $ECHO_N "re-encode... " $ECHO_C
+ run_flac --force --verify --lax -o rt2.oga --ogg rt.oga || die "ERROR"
+ echo $ECHO_N "decode... " $ECHO_C
+ run_flac --force --decode --channel-map=none -o rt.wav $extra rt2.oga || die "ERROR"
+ echo $ECHO_N "compare... " $ECHO_C
cmp $f rt.wav || die "ERROR: file mismatch"
echo "OK"
rm -f rt.wav rt.oga rt2.oga
@@ -259,6 +320,12 @@ done
for f in rt-*.wav ; do
rt_test_wav $f
done
+for f in rt-*.w64 ; do
+ rt_test_w64 $f
+done
+for f in rt-*.rf64 ; do
+ rt_test_rf64 $f
+done
for f in rt-*.aiff ; do
rt_test_aiff $f
done
@@ -296,8 +363,8 @@ dd if=master.raw ibs=1 skip=10 count=30 of=50c.skip10.until40.raw 2>/dev/null ||
dd if=master.raw ibs=1 skip=20 count=10 of=50c.skip20.until30.raw 2>/dev/null || $dddie
dd if=master.raw ibs=1 skip=20 count=20 of=50c.skip20.until40.raw 2>/dev/null || $dddie
-wav_eopt="$SILENT --force --verify --no-padding --lax"
-wav_dopt="$SILENT --force --decode"
+wav_eopt="--force --verify --no-padding --lax"
+wav_dopt="--force --decode"
raw_eopt="$wav_eopt --force-raw-format --endian=big --sign=signed --sample-rate=10 --bps=8 --channels=1"
raw_dopt="$wav_dopt --force-raw-format --endian=big --sign=signed"
@@ -389,7 +456,7 @@ test_skip_until ()
dopt="$wav_dopt"
fi
- if ( [ $in_fmt = flac ] || [ $in_fmt = ogg ] ) && ( [ $out_fmt = flac ] || [ $out_fmt = ogg ] ) ; then
+ if [ $in_fmt = flac -o $in_fmt = ogg ] && [ $out_fmt = flac -o $out_fmt = ogg ]; then
CMP=md5cmp
else
CMP=cmp
@@ -405,25 +472,26 @@ test_skip_until ()
desc="($in_fmt<->$out_fmt)"
- echo -n "testing --skip=# (encode) $desc... "
+ echo $ECHO_N "testing --skip=# (encode) $desc... " $ECHO_C
run_flac $eopt --skip=10 -o z50c.skip10.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
[ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.skip10.$in_fmt z50c.skip10.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.skip10.$in_fmt z50c.skip10.$in_fmt || die "ERROR: file mismatch for --skip=10 (encode) $desc"
rm -f z50c.skip10.$out_fmt z50c.skip10.$in_fmt
echo OK
- echo -n "testing --skip=mm:ss (encode) $desc... "
- run_flac $eopt --skip=0:01 -o z50c.skip0:01.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
- [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.skip0:01.$in_fmt z50c.skip0:01.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.skip10.$in_fmt z50c.skip0:01.$in_fmt || die "ERROR: file mismatch for --skip=0:01 (encode) $desc"
- rm -f z50c.skip0:01.$out_fmt z50c.skip0:01.$in_fmt
+ echo $ECHO_N "testing --skip=mm:ss (encode) $desc... " $ECHO_C
+ run_flac $eopt --skip=0:01 -o z50c.skip0_01.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
+
+ [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.skip0_01.$in_fmt z50c.skip0_01.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.skip10.$in_fmt z50c.skip0_01.$in_fmt || die "ERROR: file mismatch for --skip=0:01 (encode) $desc"
+ rm -f z50c.skip0_01.$out_fmt z50c.skip0_01.$in_fmt
echo OK
- echo -n "testing --skip=mm:ss.sss (encode) $desc... "
- run_flac $eopt --skip=0:01.1001 -o z50c.skip0:01.1001.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
- [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.skip0:01.1001.$in_fmt z50c.skip0:01.1001.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.skip11.$in_fmt z50c.skip0:01.1001.$in_fmt || die "ERROR: file mismatch for --skip=0:01.1001 (encode) $desc"
- rm -f z50c.skip0:01.1001.$out_fmt z50c.skip0:01.1001.$in_fmt
+ echo $ECHO_N "testing --skip=mm:ss.sss (encode) $desc... " $ECHO_C
+ run_flac $eopt --skip=0:01.1001 -o z50c.skip0_01.1001.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
+ [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.skip0_01.1001.$in_fmt z50c.skip0_01.1001.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.skip11.$in_fmt z50c.skip0_01.1001.$in_fmt || die "ERROR: file mismatch for --skip=0:01.1001 (encode) $desc"
+ rm -f z50c.skip0_01.1001.$out_fmt z50c.skip0_01.1001.$in_fmt
echo OK
#
@@ -432,22 +500,22 @@ test_skip_until ()
if [ $in_fmt != $out_fmt ] ; then run_flac $eopt -o z50c.$out_fmt 50c.$in_fmt ; else cp -f 50c.$in_fmt z50c.$out_fmt ; fi || die "ERROR generating FLAC file $desc"
- echo -n "testing --skip=# (decode) $desc... "
+ echo $ECHO_N "testing --skip=# (decode) $desc... " $ECHO_C
run_flac $dopt --skip=10 -o z50c.skip10.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.skip10.$in_fmt z50c.skip10.$in_fmt || die "ERROR: file mismatch for --skip=10 (decode) $desc"
rm -f z50c.skip10.$in_fmt
echo OK
- echo -n "testing --skip=mm:ss (decode) $desc... "
- run_flac $dopt --skip=0:01 -o z50c.skip0:01.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.skip10.$in_fmt z50c.skip0:01.$in_fmt || die "ERROR: file mismatch for --skip=0:01 (decode) $desc"
- rm -f z50c.skip0:01.$in_fmt
+ echo $ECHO_N "testing --skip=mm:ss (decode) $desc... " $ECHO_C
+ run_flac $dopt --skip=0:01 -o z50c.skip0_01.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.skip10.$in_fmt z50c.skip0_01.$in_fmt || die "ERROR: file mismatch for --skip=0:01 (decode) $desc"
+ rm -f z50c.skip0_01.$in_fmt
echo OK
- echo -n "testing --skip=mm:ss.sss (decode) $desc... "
- run_flac $dopt --skip=0:01.1001 -o z50c.skip0:01.1001.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.skip11.$in_fmt z50c.skip0:01.1001.$in_fmt || die "ERROR: file mismatch for --skip=0:01.1001 (decode) $desc"
- rm -f z50c.skip0:01.1001.$in_fmt
+ echo $ECHO_N "testing --skip=mm:ss.sss (decode) $desc... " $ECHO_C
+ run_flac $dopt --skip=0:01.1001 -o z50c.skip0_01.1001.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.skip11.$in_fmt z50c.skip0_01.1001.$in_fmt || die "ERROR: file mismatch for --skip=0:01.1001 (decode) $desc"
+ rm -f z50c.skip0_01.1001.$in_fmt
echo OK
rm -f z50c.$out_fmt
@@ -456,46 +524,46 @@ test_skip_until ()
# test --until when encoding
#
- echo -n "testing --until=# (encode) $desc... "
+ echo $ECHO_N "testing --until=# (encode) $desc... " $ECHO_C
run_flac $eopt --until=40 -o z50c.until40.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
[ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.until40.$in_fmt z50c.until40.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.until40.$in_fmt z50c.until40.$in_fmt || die "ERROR: file mismatch for --until=40 (encode) $desc"
rm -f z50c.until40.$out_fmt z50c.until40.$in_fmt
echo OK
- echo -n "testing --until=mm:ss (encode) $desc... "
- run_flac $eopt --until=0:04 -o z50c.until0:04.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
- [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.until0:04.$in_fmt z50c.until0:04.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.until40.$in_fmt z50c.until0:04.$in_fmt || die "ERROR: file mismatch for --until=0:04 (encode) $desc"
- rm -f z50c.until0:04.$out_fmt z50c.until0:04.$in_fmt
+ echo $ECHO_N "testing --until=mm:ss (encode) $desc... " $ECHO_C
+ run_flac $eopt --until=0:04 -o z50c.until0_04.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
+ [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.until0_04.$in_fmt z50c.until0_04.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.until40.$in_fmt z50c.until0_04.$in_fmt || die "ERROR: file mismatch for --until=0:04 (encode) $desc"
+ rm -f z50c.until0_04.$out_fmt z50c.until0_04.$in_fmt
echo OK
- echo -n "testing --until=mm:ss.sss (encode) $desc... "
- run_flac $eopt --until=0:03.9001 -o z50c.until0:03.9001.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
- [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.until0:03.9001.$in_fmt z50c.until0:03.9001.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.until39.$in_fmt z50c.until0:03.9001.$in_fmt || die "ERROR: file mismatch for --until=0:03.9001 (encode) $desc"
- rm -f z50c.until0:03.9001.$out_fmt z50c.until0:03.9001.$in_fmt
+ echo $ECHO_N "testing --until=mm:ss.sss (encode) $desc... " $ECHO_C
+ run_flac $eopt --until=0:03.9001 -o z50c.until0_03.9001.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
+ [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.until0_03.9001.$in_fmt z50c.until0_03.9001.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.until39.$in_fmt z50c.until0_03.9001.$in_fmt || die "ERROR: file mismatch for --until=0:03.9001 (encode) $desc"
+ rm -f z50c.until0_03.9001.$out_fmt z50c.until0_03.9001.$in_fmt
echo OK
- echo -n "testing --until=-# (encode) $desc... "
+ echo $ECHO_N "testing --until=-# (encode) $desc... " $ECHO_C
run_flac $eopt --until=-10 -o z50c.until-10.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
[ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.until-10.$in_fmt z50c.until-10.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.until40.$in_fmt z50c.until-10.$in_fmt || die "ERROR: file mismatch for --until=-10 (encode) $desc"
rm -f z50c.until-10.$out_fmt z50c.until-10.$in_fmt
echo OK
- echo -n "testing --until=-mm:ss (encode) $desc... "
- run_flac $eopt --until=-0:01 -o z50c.until-0:01.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
- [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.until-0:01.$in_fmt z50c.until-0:01.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.until40.$in_fmt z50c.until-0:01.$in_fmt || die "ERROR: file mismatch for --until=-0:01 (encode) $desc"
- rm -f z50c.until-0:01.$out_fmt z50c.until-0:01.$in_fmt
+ echo $ECHO_N "testing --until=-mm:ss (encode) $desc... " $ECHO_C
+ run_flac $eopt --until=-0:01 -o z50c.until-0_01.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
+ [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.until-0_01.$in_fmt z50c.until-0_01.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.until40.$in_fmt z50c.until-0_01.$in_fmt || die "ERROR: file mismatch for --until=-0:01 (encode) $desc"
+ rm -f z50c.until-0_01.$out_fmt z50c.until-0_01.$in_fmt
echo OK
- echo -n "testing --until=-mm:ss.sss (encode) $desc... "
- run_flac $eopt --until=-0:01.1001 -o z50c.until-0:01.1001.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
- [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.until-0:01.1001.$in_fmt z50c.until-0:01.1001.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.until39.$in_fmt z50c.until-0:01.1001.$in_fmt || die "ERROR: file mismatch for --until=-0:01.1001 (encode) $desc"
- rm -f z50c.until-0:01.1001.$out_fmt z50c.until-0:01.1001.$in_fmt
+ echo $ECHO_N "testing --until=-mm:ss.sss (encode) $desc... " $ECHO_C
+ run_flac $eopt --until=-0:01.1001 -o z50c.until-0_01.1001.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
+ [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.until-0_01.1001.$in_fmt z50c.until-0_01.1001.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.until39.$in_fmt z50c.until-0_01.1001.$in_fmt || die "ERROR: file mismatch for --until=-0:01.1001 (encode) $desc"
+ rm -f z50c.until-0_01.1001.$out_fmt z50c.until-0_01.1001.$in_fmt
echo OK
#
@@ -504,40 +572,40 @@ test_skip_until ()
if [ $in_fmt != $out_fmt ] ; then run_flac $eopt -o z50c.$out_fmt 50c.$in_fmt ; else cp -f 50c.$in_fmt z50c.$out_fmt ; fi || die "ERROR generating FLAC file $desc"
- echo -n "testing --until=# (decode) $desc... "
+ echo $ECHO_N "testing --until=# (decode) $desc... " $ECHO_C
run_flac $dopt --until=40 -o z50c.until40.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.until40.$in_fmt z50c.until40.$in_fmt || die "ERROR: file mismatch for --until=40 (decode) $desc"
rm -f z50c.until40.$in_fmt
echo OK
- echo -n "testing --until=mm:ss (decode) $desc... "
- run_flac $dopt --until=0:04 -o z50c.until0:04.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.until40.$in_fmt z50c.until0:04.$in_fmt || die "ERROR: file mismatch for --until=0:04 (decode) $desc"
- rm -f z50c.until0:04.$in_fmt
+ echo $ECHO_N "testing --until=mm:ss (decode) $desc... " $ECHO_C
+ run_flac $dopt --until=0:04 -o z50c.until0_04.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.until40.$in_fmt z50c.until0_04.$in_fmt || die "ERROR: file mismatch for --until=0:04 (decode) $desc"
+ rm -f z50c.until0_04.$in_fmt
echo OK
- echo -n "testing --until=mm:ss.sss (decode) $desc... "
- run_flac $dopt --until=0:03.9001 -o z50c.until0:03.9001.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.until39.$in_fmt z50c.until0:03.9001.$in_fmt || die "ERROR: file mismatch for --until=0:03.9001 (decode) $desc"
- rm -f z50c.until0:03.9001.$in_fmt
+ echo $ECHO_N "testing --until=mm:ss.sss (decode) $desc... " $ECHO_C
+ run_flac $dopt --until=0:03.9001 -o z50c.until0_03.9001.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.until39.$in_fmt z50c.until0_03.9001.$in_fmt || die "ERROR: file mismatch for --until=0:03.9001 (decode) $desc"
+ rm -f z50c.until0_03.9001.$in_fmt
echo OK
- echo -n "testing --until=-# (decode) $desc... "
+ echo $ECHO_N "testing --until=-# (decode) $desc... " $ECHO_C
run_flac $dopt --until=-10 -o z50c.until-10.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.until40.$in_fmt z50c.until-10.$in_fmt || die "ERROR: file mismatch for --until=-10 (decode) $desc"
rm -f z50c.until-10.$in_fmt
echo OK
- echo -n "testing --until=-mm:ss (decode) $desc... "
- run_flac $dopt --until=-0:01 -o z50c.until-0:01.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.until40.$in_fmt z50c.until-0:01.$in_fmt || die "ERROR: file mismatch for --until=-0:01 (decode) $desc"
- rm -f z50c.until-0:01.$in_fmt
+ echo $ECHO_N "testing --until=-mm:ss (decode) $desc... " $ECHO_C
+ run_flac $dopt --until=-0:01 -o z50c.until-0_01.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.until40.$in_fmt z50c.until-0_01.$in_fmt || die "ERROR: file mismatch for --until=-0:01 (decode) $desc"
+ rm -f z50c.until-0_01.$in_fmt
echo OK
- echo -n "testing --until=-mm:ss.sss (decode) $desc... "
- run_flac $dopt --until=-0:01.1001 -o z50c.until-0:01.1001.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.until39.$in_fmt z50c.until-0:01.1001.$in_fmt || die "ERROR: file mismatch for --until=-0:01.1001 (decode) $desc"
- rm -f z50c.until-0:01.1001.$in_fmt
+ echo $ECHO_N "testing --until=-mm:ss.sss (decode) $desc... " $ECHO_C
+ run_flac $dopt --until=-0:01.1001 -o z50c.until-0_01.1001.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.until39.$in_fmt z50c.until-0_01.1001.$in_fmt || die "ERROR: file mismatch for --until=-0:01.1001 (decode) $desc"
+ rm -f z50c.until-0_01.1001.$in_fmt
echo OK
rm -f z50c.$out_fmt
@@ -546,67 +614,67 @@ test_skip_until ()
# test --skip and --until when encoding
#
- echo -n "testing --skip=10 --until=# (encode) $desc... "
+ echo $ECHO_N "testing --skip=10 --until=# (encode) $desc... " $ECHO_C
run_flac $eopt --skip=10 --until=40 -o z50c.skip10.until40.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
[ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.skip10.until40.$in_fmt z50c.skip10.until40.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.skip10.until40.$in_fmt z50c.skip10.until40.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=40 (encode) $desc"
rm -f z50c.skip10.until40.$out_fmt z50c.skip10.until40.$in_fmt
echo OK
- echo -n "testing --skip=10 --until=mm:ss (encode) $desc... "
- run_flac $eopt --skip=10 --until=0:04 -o z50c.skip10.until0:04.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
- [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.skip10.until0:04.$in_fmt z50c.skip10.until0:04.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.skip10.until40.$in_fmt z50c.skip10.until0:04.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=0:04 (encode) $desc"
- rm -f z50c.skip10.until0:04.$out_fmt z50c.skip10.until0:04.$in_fmt
+ echo $ECHO_N "testing --skip=10 --until=mm:ss (encode) $desc... " $ECHO_C
+ run_flac $eopt --skip=10 --until=0:04 -o z50c.skip10.until0_04.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
+ [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.skip10.until0_04.$in_fmt z50c.skip10.until0_04.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.skip10.until40.$in_fmt z50c.skip10.until0_04.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=0:04 (encode) $desc"
+ rm -f z50c.skip10.until0_04.$out_fmt z50c.skip10.until0_04.$in_fmt
echo OK
- echo -n "testing --skip=10 --until=mm:ss.sss (encode) $desc... "
- run_flac $eopt --skip=10 --until=0:03.9001 -o z50c.skip10.until0:03.9001.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
- [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.skip10.until0:03.9001.$in_fmt z50c.skip10.until0:03.9001.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.skip10.until39.$in_fmt z50c.skip10.until0:03.9001.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=0:03.9001 (encode) $desc"
- rm -f z50c.skip10.until0:03.9001.$out_fmt z50c.skip10.until0:03.9001.$in_fmt
+ echo $ECHO_N "testing --skip=10 --until=mm:ss.sss (encode) $desc... " $ECHO_C
+ run_flac $eopt --skip=10 --until=0:03.9001 -o z50c.skip10.until0_03.9001.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
+ [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.skip10.until0_03.9001.$in_fmt z50c.skip10.until0_03.9001.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.skip10.until39.$in_fmt z50c.skip10.until0_03.9001.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=0:03.9001 (encode) $desc"
+ rm -f z50c.skip10.until0_03.9001.$out_fmt z50c.skip10.until0_03.9001.$in_fmt
echo OK
- echo -n "testing --skip=10 --until=+# (encode) $desc... "
+ echo $ECHO_N "testing --skip=10 --until=+# (encode) $desc... " $ECHO_C
run_flac $eopt --skip=10 --until=+30 -o z50c.skip10.until+30.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
[ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.skip10.until+30.$in_fmt z50c.skip10.until+30.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.skip10.until40.$in_fmt z50c.skip10.until+30.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=+30 (encode) $desc"
rm -f z50c.skip10.until+30.$out_fmt z50c.skip10.until+30.$in_fmt
echo OK
- echo -n "testing --skip=10 --until=+mm:ss (encode) $desc... "
- run_flac $eopt --skip=10 --until=+0:03 -o z50c.skip10.until+0:03.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
- [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.skip10.until+0:03.$in_fmt z50c.skip10.until+0:03.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.skip10.until40.$in_fmt z50c.skip10.until+0:03.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=+0:03 (encode) $desc"
- rm -f z50c.skip10.until+0:03.$out_fmt z50c.skip10.until+0:03.$in_fmt
+ echo $ECHO_N "testing --skip=10 --until=+mm:ss (encode) $desc... " $ECHO_C
+ run_flac $eopt --skip=10 --until=+0:03 -o z50c.skip10.until+0_03.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
+ [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.skip10.until+0_03.$in_fmt z50c.skip10.until+0_03.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.skip10.until40.$in_fmt z50c.skip10.until+0_03.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=+0:03 (encode) $desc"
+ rm -f z50c.skip10.until+0_03.$out_fmt z50c.skip10.until+0_03.$in_fmt
echo OK
- echo -n "testing --skip=10 --until=+mm:ss.sss (encode) $desc... "
- run_flac $eopt --skip=10 --until=+0:02.9001 -o z50c.skip10.until+0:02.9001.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
- [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.skip10.until+0:02.9001.$in_fmt z50c.skip10.until+0:02.9001.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.skip10.until39.$in_fmt z50c.skip10.until+0:02.9001.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=+0:02.9001 (encode) $desc"
- rm -f z50c.skip10.until+0:02.9001.$out_fmt z50c.skip10.until+0:02.9001.$in_fmt
+ echo $ECHO_N "testing --skip=10 --until=+mm:ss.sss (encode) $desc... " $ECHO_C
+ run_flac $eopt --skip=10 --until=+0:02.9001 -o z50c.skip10.until+0_02.9001.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
+ [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.skip10.until+0_02.9001.$in_fmt z50c.skip10.until+0_02.9001.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.skip10.until39.$in_fmt z50c.skip10.until+0_02.9001.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=+0:02.9001 (encode) $desc"
+ rm -f z50c.skip10.until+0_02.9001.$out_fmt z50c.skip10.until+0_02.9001.$in_fmt
echo OK
- echo -n "testing --skip=10 --until=-# (encode) $desc... "
+ echo $ECHO_N "testing --skip=10 --until=-# (encode) $desc... " $ECHO_C
run_flac $eopt --skip=10 --until=-10 -o z50c.skip10.until-10.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
[ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.skip10.until-10.$in_fmt z50c.skip10.until-10.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.skip10.until40.$in_fmt z50c.skip10.until-10.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=-10 (encode) $desc"
rm -f z50c.skip10.until-10.$out_fmt z50c.skip10.until-10.$in_fmt
echo OK
- echo -n "testing --skip=10 --until=-mm:ss (encode) $desc... "
- run_flac $eopt --skip=10 --until=-0:01 -o z50c.skip10.until-0:01.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
- [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.skip10.until-0:01.$in_fmt z50c.skip10.until-0:01.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.skip10.until40.$in_fmt z50c.skip10.until-0:01.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=-0:01 (encode) $desc"
- rm -f z50c.skip10.until-0:01.$out_fmt z50c.skip10.until-0:01.$in_fmt
+ echo $ECHO_N "testing --skip=10 --until=-mm:ss (encode) $desc... " $ECHO_C
+ run_flac $eopt --skip=10 --until=-0:01 -o z50c.skip10.until-0_01.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
+ [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.skip10.until-0_01.$in_fmt z50c.skip10.until-0_01.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.skip10.until40.$in_fmt z50c.skip10.until-0_01.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=-0:01 (encode) $desc"
+ rm -f z50c.skip10.until-0_01.$out_fmt z50c.skip10.until-0_01.$in_fmt
echo OK
- echo -n "testing --skip=10 --until=-mm:ss.sss (encode) $desc... "
- run_flac $eopt --skip=10 --until=-0:01.1001 -o z50c.skip10.until-0:01.1001.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
- [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.skip10.until-0:01.1001.$in_fmt z50c.skip10.until-0:01.1001.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.skip10.until39.$in_fmt z50c.skip10.until-0:01.1001.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=-0:01.1001 (encode) $desc"
- rm -f z50c.skip10.until-0:01.1001.$out_fmt z50c.skip10.until-0:01.1001.$in_fmt
+ echo $ECHO_N "testing --skip=10 --until=-mm:ss.sss (encode) $desc... " $ECHO_C
+ run_flac $eopt --skip=10 --until=-0:01.1001 -o z50c.skip10.until-0_01.1001.$out_fmt 50c.$in_fmt || die "ERROR generating FLAC file $desc"
+ [ $in_fmt = $out_fmt ] || run_flac $dopt -o z50c.skip10.until-0_01.1001.$in_fmt z50c.skip10.until-0_01.1001.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.skip10.until39.$in_fmt z50c.skip10.until-0_01.1001.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=-0:01.1001 (encode) $desc"
+ rm -f z50c.skip10.until-0_01.1001.$out_fmt z50c.skip10.until-0_01.1001.$in_fmt
echo OK
#
@@ -616,40 +684,40 @@ test_skip_until ()
if [ $in_fmt != $out_fmt ] ; then run_flac $eopt -o z50c.$out_fmt 50c.$in_fmt ; else cp -f 50c.$in_fmt z50c.$out_fmt ; fi || die "ERROR generating FLAC file $desc"
- echo -n "testing --skip=10 --until=# (decode) $desc... "
+ echo $ECHO_N "testing --skip=10 --until=# (decode) $desc... " $ECHO_C
run_flac $dopt --skip=10 --until=40 -o z50c.skip10.until40.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.skip10.until40.$in_fmt z50c.skip10.until40.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=40 (decode) $desc"
rm -f z50c.skip10.until40.$in_fmt
echo OK
- echo -n "testing --skip=10 --until=mm:ss (decode) $desc... "
- run_flac $dopt --skip=10 --until=0:04 -o z50c.skip10.until0:04.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.skip10.until40.$in_fmt z50c.skip10.until0:04.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=0:04 (decode) $desc"
- rm -f z50c.skip10.until0:04.$in_fmt
+ echo $ECHO_N "testing --skip=10 --until=mm:ss (decode) $desc... " $ECHO_C
+ run_flac $dopt --skip=10 --until=0:04 -o z50c.skip10.until0_04.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.skip10.until40.$in_fmt z50c.skip10.until0_04.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=0:04 (decode) $desc"
+ rm -f z50c.skip10.until0_04.$in_fmt
echo OK
- echo -n "testing --skip=10 --until=mm:ss.sss (decode) $desc... "
- run_flac $dopt --skip=10 --until=0:03.9001 -o z50c.skip10.until0:03.9001.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.skip10.until39.$in_fmt z50c.skip10.until0:03.9001.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=0:03.9001 (decode) $desc"
- rm -f z50c.skip10.until0:03.9001.$in_fmt
+ echo $ECHO_N "testing --skip=10 --until=mm:ss.sss (decode) $desc... " $ECHO_C
+ run_flac $dopt --skip=10 --until=0:03.9001 -o z50c.skip10.until0_03.9001.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.skip10.until39.$in_fmt z50c.skip10.until0_03.9001.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=0:03.9001 (decode) $desc"
+ rm -f z50c.skip10.until0_03.9001.$in_fmt
echo OK
- echo -n "testing --skip=10 --until=-# (decode) $desc... "
+ echo $ECHO_N "testing --skip=10 --until=-# (decode) $desc... " $ECHO_C
run_flac $dopt --skip=10 --until=-10 -o z50c.skip10.until-10.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.skip10.until40.$in_fmt z50c.skip10.until-10.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=-10 (decode) $desc"
rm -f z50c.skip10.until-10.$in_fmt
echo OK
- echo -n "testing --skip=10 --until=-mm:ss (decode) $desc... "
- run_flac $dopt --skip=10 --until=-0:01 -o z50c.skip10.until-0:01.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.skip10.until40.$in_fmt z50c.skip10.until-0:01.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=-0:01 (decode) $desc"
- rm -f z50c.skip10.until-0:01.$in_fmt
+ echo $ECHO_N "testing --skip=10 --until=-mm:ss (decode) $desc... " $ECHO_C
+ run_flac $dopt --skip=10 --until=-0:01 -o z50c.skip10.until-0_01.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.skip10.until40.$in_fmt z50c.skip10.until-0_01.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=-0:01 (decode) $desc"
+ rm -f z50c.skip10.until-0_01.$in_fmt
echo OK
- echo -n "testing --skip=10 --until=-mm:ss.sss (decode) $desc... "
- run_flac $dopt --skip=10 --until=-0:01.1001 -o z50c.skip10.until-0:01.1001.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
- $CMP 50c.skip10.until39.$in_fmt z50c.skip10.until-0:01.1001.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=-0:01.1001 (decode) $desc"
- rm -f z50c.skip10.until-0:01.1001.$in_fmt
+ echo $ECHO_N "testing --skip=10 --until=-mm:ss.sss (decode) $desc... " $ECHO_C
+ run_flac $dopt --skip=10 --until=-0:01.1001 -o z50c.skip10.until-0_01.1001.$in_fmt z50c.$out_fmt || die "ERROR decoding FLAC file $desc"
+ $CMP 50c.skip10.until39.$in_fmt z50c.skip10.until-0_01.1001.$in_fmt || die "ERROR: file mismatch for --skip=10 --until=-0:01.1001 (decode) $desc"
+ rm -f z50c.skip10.until-0_01.1001.$in_fmt
echo OK
rm -f z50c.$out_fmt
@@ -675,10 +743,10 @@ fi
echo "testing seek extremes:"
-run_flac --verify --force $SILENT --no-padding --force-raw-format --endian=big --sign=signed --sample-rate=44100 --bps=16 --channels=2 --blocksize=576 noise.raw || die "ERROR generating FLAC file"
+run_flac --verify --force --no-padding --force-raw-format --endian=big --sign=signed --sample-rate=44100 --bps=16 --channels=2 --blocksize=576 noise.raw || die "ERROR generating FLAC file"
if [ $is_win = no ] ; then
- total_noise_cdda_samples=`run_metaflac --show-total-samples noise.flac`
+ total_noise_cdda_samples="$(run_metaflac --show-total-samples noise.flac)"
[ $? = 0 ] || die "ERROR getting total sample count from noise.flac"
else
# some flavors of cygwin don't seem to treat the \x0d as a word
@@ -687,34 +755,70 @@ else
total_noise_cdda_samples=393216
fi
-echo -n "testing --skip=0... "
+echo $ECHO_N "testing --skip=0... " $ECHO_C
run_flac $wav_dopt --skip=0 -o z.wav noise.flac || die "ERROR decoding FLAC file noise.flac"
echo OK
for delta in 2 1 ; do
- n=`expr $total_noise_cdda_samples - $delta`
- echo -n "testing --skip=$n... "
+ n=$((total_noise_cdda_samples - delta))
+ echo $ECHO_N "testing --skip=$n... " $ECHO_C
run_flac $wav_dopt --skip=$n -o z.wav noise.flac || die "ERROR decoding FLAC file noise.flac"
echo OK
done
rm noise.flac z.wav
-
############################################################################
# test --input-size
############################################################################
#@@@ cat will not work on old cygwin, need to fix
if [ $is_win = no ] ; then
- echo -n "testing --input-size=50 --skip=10... "
- cat 50c.raw | run_flac $raw_eopt --input-size=50 --skip=10 -o z50c.skip10.flac - || die "ERROR generating FLAC file"
+ echo $ECHO_N "testing --input-size=50 --skip=10... " $ECHO_C
+ run_flac $raw_eopt --input-size=50 --skip=10 -o z50c.skip10.flac - < 50c.raw || die "ERROR generating FLAC file"
run_flac $raw_dopt -o z50c.skip10.raw z50c.skip10.flac || die "ERROR decoding FLAC file"
cmp 50c.skip10.raw z50c.skip10.raw || die "ERROR: file mismatch for --input-size=50 --skip=10"
rm -f z50c.skip10.raw z50c.skip10.flac
echo OK
fi
+############################################################################
+# test --output-prefix
+############################################################################
+
+in_dir=./tmp_in
+out_dir=./tmp_out
+mkdir $in_dir $out_dir || die "ERROR failed to create temp directories"
+
+cp 50c.raw 50c.flac $in_dir
+
+#
+# test --output-prefix when encoding
+#
+
+echo $ECHO_N "testing --output-prefix=$out_dir/ (encode)... " $ECHO_C
+run_flac $raw_eopt --output-prefix=$out_dir/ $in_dir/50c.raw || die "ERROR generating FLAC file in $out_dir (encode)"
+[ -f $out_dir/50c.flac ] || die "ERROR FLAC file not in $out_dir (encode)"
+run_flac $raw_dopt $out_dir/50c.flac || die "ERROR decoding FLAC file (encode)"
+[ -f $out_dir/50c.raw ] || die "ERROR RAW file not in $out_dir (encode)"
+cmp 50c.raw $out_dir/50c.raw || die "ERROR: file mismatch for --output-prefix=$out_dir (encode)"
+rm -f $out_dir/50c.flac $out_dir/50c.raw
+echo OK
+
+#
+# test --ouput-prefix when decoding
+#
+
+echo $ECHO_N "testing --output-prefix=$out_dir/ (decode)... " $ECHO_C
+run_flac $raw_dopt --output-prefix=$out_dir/ $in_dir/50c.flac || die "ERROR deocding FLAC file in $out_dir (decode)"
+[ -f $out_dir/50c.raw ] || die "ERROR RAW file not in $out_dir (decode)"
+run_flac $raw_eopt $out_dir/50c.raw || die "ERROR generating FLAC file (decode)"
+[ -f $out_dir/50c.flac ] || die "ERROR FLAC file not in $out_dir (decode)"
+cmp 50c.flac $out_dir/50c.flac || die "ERROR: file mismatch for --output-prefix=$out_dir (decode)"
+rm -f $out_dir/50c.flac $out_dir/50c.raw
+echo OK
+
+rm -rf $in_dir $out_dir
############################################################################
# test --cue
@@ -754,7 +858,7 @@ test_cue ()
dopt="$wav_dopt"
fi
- if ( [ $in_fmt = flac ] || [ $in_fmt = ogg ] ) && ( [ $out_fmt = flac ] || [ $out_fmt = ogg ] ) ; then
+ if [ $in_fmt = flac -o $in_fmt = ogg ] && [ $out_fmt = flac -o $out_fmt = ogg ]; then
CMP=md5cmp
else
CMP=cmp
@@ -780,103 +884,103 @@ test_cue ()
# TRACK 02, INDEX 01 : 0:03.00 -> sample 30
# TRACK 04, INDEX 01 : 0:04.00 -> sample 40
#
- echo -n "testing --cue=- $desc... "
+ echo $ECHO_N "testing --cue=- $desc... " $ECHO_C
run_flac $dopt -o z50c.cued.$in_fmt --cue=- z50c.cue.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.$in_fmt z50c.cued.$in_fmt || die "ERROR: file mismatch for --cue=- $desc"
rm -f z50c.cued.$in_fmt
echo OK
- echo -n "testing --cue=1.0 $desc... "
+ echo $ECHO_N "testing --cue=1.0 $desc... " $ECHO_C
run_flac $dopt -o z50c.cued.$in_fmt --cue=1.0 z50c.cue.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.$in_fmt z50c.cued.$in_fmt || die "ERROR: file mismatch for --cue=1.0 $desc"
rm -f z50c.cued.$in_fmt
echo OK
- echo -n "testing --cue=1.0- $desc... "
+ echo $ECHO_N "testing --cue=1.0- $desc... " $ECHO_C
run_flac $dopt -o z50c.cued.$in_fmt --cue=1.0- z50c.cue.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.$in_fmt z50c.cued.$in_fmt || die "ERROR: file mismatch for --cue=1.0- $desc"
rm -f z50c.cued.$in_fmt
echo OK
- echo -n "testing --cue=1.1 $desc... "
+ echo $ECHO_N "testing --cue=1.1 $desc... " $ECHO_C
run_flac $dopt -o z50c.cued.$in_fmt --cue=1.1 z50c.cue.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.$in_fmt z50c.cued.$in_fmt || die "ERROR: file mismatch for --cue=1.1 $desc"
rm -f z50c.cued.$in_fmt
echo OK
- echo -n "testing --cue=1.1- $desc... "
+ echo $ECHO_N "testing --cue=1.1- $desc... " $ECHO_C
run_flac $dopt -o z50c.cued.$in_fmt --cue=1.1- z50c.cue.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.$in_fmt z50c.cued.$in_fmt || die "ERROR: file mismatch for --cue=1.1- $desc"
rm -f z50c.cued.$in_fmt
echo OK
- echo -n "testing --cue=1.2 $desc... "
+ echo $ECHO_N "testing --cue=1.2 $desc... " $ECHO_C
run_flac $dopt -o z50c.cued.$in_fmt --cue=1.2 z50c.cue.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.skip10.$in_fmt z50c.cued.$in_fmt || die "ERROR: file mismatch for --cue=1.2 $desc"
rm -f z50c.cued.$in_fmt
echo OK
- echo -n "testing --cue=1.2- $desc... "
+ echo $ECHO_N "testing --cue=1.2- $desc... " $ECHO_C
run_flac $dopt -o z50c.cued.$in_fmt --cue=1.2- z50c.cue.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.skip10.$in_fmt z50c.cued.$in_fmt || die "ERROR: file mismatch for --cue=1.2- $desc"
rm -f z50c.cued.$in_fmt
echo OK
- echo -n "testing --cue=1.4 $desc... "
+ echo $ECHO_N "testing --cue=1.4 $desc... " $ECHO_C
run_flac $dopt -o z50c.cued.$in_fmt --cue=1.4 z50c.cue.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.skip20.$in_fmt z50c.cued.$in_fmt || die "ERROR: file mismatch for --cue=1.4 $desc"
rm -f z50c.cued.$in_fmt
echo OK
- echo -n "testing --cue=1.4- $desc... "
+ echo $ECHO_N "testing --cue=1.4- $desc... " $ECHO_C
run_flac $dopt -o z50c.cued.$in_fmt --cue=1.4- z50c.cue.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.skip20.$in_fmt z50c.cued.$in_fmt || die "ERROR: file mismatch for --cue=1.4- $desc"
rm -f z50c.cued.$in_fmt
echo OK
- echo -n "testing --cue=-5.0 $desc... "
+ echo $ECHO_N "testing --cue=-5.0 $desc... " $ECHO_C
run_flac $dopt -o z50c.cued.$in_fmt --cue=-5.0 z50c.cue.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.$in_fmt z50c.cued.$in_fmt || die "ERROR: file mismatch for --cue=-5.0 $desc"
rm -f z50c.cued.$in_fmt
echo OK
- echo -n "testing --cue=-4.1 $desc... "
+ echo $ECHO_N "testing --cue=-4.1 $desc... " $ECHO_C
run_flac $dopt -o z50c.cued.$in_fmt --cue=-4.1 z50c.cue.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.until40.$in_fmt z50c.cued.$in_fmt || die "ERROR: file mismatch for --cue=-4.1 $desc"
rm -f z50c.cued.$in_fmt
echo OK
- echo -n "testing --cue=-3.1 $desc... "
+ echo $ECHO_N "testing --cue=-3.1 $desc... " $ECHO_C
run_flac $dopt -o z50c.cued.$in_fmt --cue=-3.1 z50c.cue.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.until40.$in_fmt z50c.cued.$in_fmt || die "ERROR: file mismatch for --cue=-3.1 $desc"
rm -f z50c.cued.$in_fmt
echo OK
- echo -n "testing --cue=-1.4 $desc... "
+ echo $ECHO_N "testing --cue=-1.4 $desc... " $ECHO_C
run_flac $dopt -o z50c.cued.$in_fmt --cue=-1.4 z50c.cue.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.until30.$in_fmt z50c.cued.$in_fmt || die "ERROR: file mismatch for --cue=-1.4 $desc"
rm -f z50c.cued.$in_fmt
echo OK
- echo -n "testing --cue=1.0-5.0 $desc... "
+ echo $ECHO_N "testing --cue=1.0-5.0 $desc... " $ECHO_C
run_flac $dopt -o z50c.cued.$in_fmt --cue=1.0-5.0 z50c.cue.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.$in_fmt z50c.cued.$in_fmt || die "ERROR: file mismatch for --cue=1.0-5.0 $desc"
rm -f z50c.cued.$in_fmt
echo OK
- echo -n "testing --cue=1.1-5.0 $desc... "
+ echo $ECHO_N "testing --cue=1.1-5.0 $desc... " $ECHO_C
run_flac $dopt -o z50c.cued.$in_fmt --cue=1.1-5.0 z50c.cue.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.$in_fmt z50c.cued.$in_fmt || die "ERROR: file mismatch for --cue=1.1-5.0 $desc"
rm -f z50c.cued.$in_fmt
echo OK
- echo -n "testing --cue=1.2-4.1 $desc... "
+ echo $ECHO_N "testing --cue=1.2-4.1 $desc... " $ECHO_C
run_flac $dopt -o z50c.cued.$in_fmt --cue=1.2-4.1 z50c.cue.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.skip10.until40.$in_fmt z50c.cued.$in_fmt || die "ERROR: file mismatch for --cue=1.2-4.1 $desc"
rm -f z50c.cued.$in_fmt
echo OK
- echo -n "testing --cue=1.4-2.0 $desc... "
+ echo $ECHO_N "testing --cue=1.4-2.0 $desc... " $ECHO_C
run_flac $dopt -o z50c.cued.$in_fmt --cue=1.4-2.0 z50c.cue.$out_fmt || die "ERROR decoding FLAC file $desc"
$CMP 50c.skip20.until30.$in_fmt z50c.cued.$in_fmt || die "ERROR: file mismatch for --cue=1.4-2.0 $desc"
rm -f z50c.cued.$in_fmt
@@ -909,12 +1013,12 @@ fi
# decoder go back and fix up the chunk headers
############################################################################
-echo -n "WAVE fixup test... "
+echo $ECHO_N "WAVE fixup test... " $ECHO_C
-echo -n "prepare... "
+echo $ECHO_N "prepare... " $ECHO_C
convert_to_wav noise "$raw_eopt" "$wav_dopt" || die "ERROR creating reference WAVE"
-echo -n "encode... "
+echo $ECHO_N "encode... " $ECHO_C
# the pipe from 'cat' to 'flac' does not work on cygwin because of the EOF/
# binary-mode stdin problem, so we use an undocumented option to metaflac to
# set the total sample count to 0
@@ -922,24 +1026,24 @@ if [ $is_win = yes ] ; then
run_flac $raw_eopt noise.raw -o fixup.flac || die "ERROR generating FLAC file"
run_metaflac --set-total-samples=0 fixup.flac 2> /dev/null
else
- cat noise.raw | run_flac $raw_eopt - -c > fixup.flac || die "ERROR generating FLAC file"
+ run_flac $raw_eopt - -c < noise.raw > fixup.flac || die "ERROR generating FLAC file"
fi
-echo -n "decode... "
+echo $ECHO_N "decode... " $ECHO_C
run_flac $wav_dopt fixup.flac -o fixup.wav || die "ERROR decoding FLAC file"
-echo -n "compare... "
+echo $ECHO_N "compare... " $ECHO_C
cmp noise.wav fixup.wav || die "ERROR: file mismatch"
echo OK
rm -f noise.wav fixup.wav fixup.flac
-echo -n "AIFF fixup test... "
+echo $ECHO_N "AIFF fixup test... " $ECHO_C
-echo -n "prepare... "
+echo $ECHO_N "prepare... " $ECHO_C
convert_to_aiff noise "$raw_eopt" "$wav_dopt" || die "ERROR creating reference AIFF"
-echo -n "encode... "
+echo $ECHO_N "encode... " $ECHO_C
# the pipe from 'cat' to 'flac' does not work on cygwin because of the EOF/
# binary-mode stdin problem, so we use an undocumented option to metaflac to
# set the total sample count to 0
@@ -947,13 +1051,13 @@ if [ $is_win = yes ] ; then
run_flac $raw_eopt noise.raw -o fixup.flac || die "ERROR generating FLAC file"
run_metaflac --set-total-samples=0 fixup.flac 2> /dev/null
else
- cat noise.raw | run_flac $raw_eopt - -c > fixup.flac || die "ERROR generating FLAC file"
+ run_flac $raw_eopt - -c < noise.raw > fixup.flac || die "ERROR generating FLAC file"
fi
-echo -n "decode... "
+echo $ECHO_N "decode... " $ECHO_C
run_flac $wav_dopt fixup.flac -o fixup.aiff || die "ERROR decoding FLAC file"
-echo -n "compare... "
+echo $ECHO_N "compare... " $ECHO_C
cmp noise.aiff fixup.aiff || die "ERROR: file mismatch"
echo OK
@@ -967,11 +1071,11 @@ rm -f noise.aiff fixup.aiff fixup.flac
echo "Generating multiple input files from noise..."
multifile_format_decode="--endian=big --sign=signed"
multifile_format_encode="$multifile_format_decode --sample-rate=44100 --bps=16 --channels=2 --no-padding"
-short_noise_cdda_samples=`expr $total_noise_cdda_samples / 8`
-run_flac --verify --force $SILENT --force-raw-format $multifile_format_encode --until=$short_noise_cdda_samples -o shortnoise.flac noise.raw || die "ERROR generating FLAC file"
-run_flac --decode --force $SILENT shortnoise.flac -o shortnoise.raw --force-raw-format $multifile_format_decode || die "ERROR generating RAW file"
-run_flac --decode --force $SILENT shortnoise.flac || die "ERROR generating WAVE file"
-run_flac --decode --force $SILENT shortnoise.flac -o shortnoise.aiff || die "ERROR generating AIFF file"
+short_noise_cdda_samples=$((total_noise_cdda_samples / 8))
+run_flac --verify --force --force-raw-format $multifile_format_encode --until=$short_noise_cdda_samples -o shortnoise.flac noise.raw || die "ERROR generating FLAC file"
+run_flac --decode --force shortnoise.flac -o shortnoise.raw --force-raw-format $multifile_format_decode || die "ERROR generating RAW file"
+run_flac --decode --force shortnoise.flac || die "ERROR generating WAVE file"
+run_flac --decode --force shortnoise.flac -o shortnoise.aiff || die "ERROR generating AIFF file"
cp shortnoise.flac file0.flac
cp shortnoise.flac file1.flac
cp shortnoise.flac file2.flac
@@ -988,45 +1092,12 @@ cp shortnoise.raw file0.raw
cp shortnoise.raw file1.raw
cp shortnoise.raw file2.raw
rm -f shortnoise.raw
-# create authoritative sector-aligned files for comparison
-file0_samples=`expr \( $short_noise_cdda_samples / 588 \) \* 588`
-file0_remainder=`expr $short_noise_cdda_samples - $file0_samples`
-file1_samples=`expr \( \( $file0_remainder + $short_noise_cdda_samples \) / 588 \) \* 588`
-file1_remainder=`expr $file0_remainder + $short_noise_cdda_samples - $file1_samples`
-file1_samples=`expr $file1_samples - $file0_remainder`
-file2_samples=`expr \( \( $file1_remainder + $short_noise_cdda_samples \) / 588 \) \* 588`
-file2_remainder=`expr $file1_remainder + $short_noise_cdda_samples - $file2_samples`
-file2_samples=`expr $file2_samples - $file1_remainder`
-if [ $file2_remainder != '0' ] ; then
- file2_samples=`expr $file2_samples + $file2_remainder`
- file2_remainder=`expr 588 - $file2_remainder`
-fi
-
-dd if=file0.raw ibs=4 count=$file0_samples of=file0s.raw 2>/dev/null || $dddie
-dd if=file0.raw ibs=4 count=$file0_remainder of=file1s.raw skip=$file0_samples 2>/dev/null || $dddie
-dd if=file1.raw ibs=4 count=$file1_samples of=z.raw 2>/dev/null || $dddie
-cat z.raw >> file1s.raw || die "ERROR: cat-ing sector-aligned files"
-dd if=file1.raw ibs=4 count=$file1_remainder of=file2s.raw skip=$file1_samples 2>/dev/null || $dddie
-dd if=file2.raw ibs=4 count=$file2_samples of=z.raw 2>/dev/null || $dddie
-cat z.raw >> file2s.raw || die "ERROR: cat-ing sector-aligned files"
-dd if=/dev/zero ibs=4 count=$file2_remainder of=z.raw 2>/dev/null || $dddie
-cat z.raw >> file2s.raw || die "ERROR: cat-ing sector-aligned files"
-rm -f z.raw
-
-convert_to_wav file0s "$multifile_format_encode --force" "$SILENT --force --decode" || die "ERROR creating authoritative sector-aligned WAVE"
-convert_to_wav file1s "$multifile_format_encode --force" "$SILENT --force --decode" || die "ERROR creating authoritative sector-aligned WAVE"
-convert_to_wav file2s "$multifile_format_encode --force" "$SILENT --force --decode" || die "ERROR creating authoritative sector-aligned WAVE"
-
-convert_to_aiff file0s "$multifile_format_encode --force" "$SILENT --force --decode" || die "ERROR creating authoritative sector-aligned AIFF"
-convert_to_aiff file1s "$multifile_format_encode --force" "$SILENT --force --decode" || die "ERROR creating authoritative sector-aligned AIFF"
-convert_to_aiff file2s "$multifile_format_encode --force" "$SILENT --force --decode" || die "ERROR creating authoritative sector-aligned AIFF"
test_multifile ()
{
input_type=$1
streamtype=$2
- sector_align=$3
- encode_options="$4"
+ encode_options="$3"
extra_encode_options=""
extra_decode_options=""
@@ -1046,10 +1117,6 @@ test_multifile ()
suffix=flac
fi
- if [ $sector_align = sector_align ] ; then
- encode_options="$encode_options --sector-align"
- fi
-
if [ $input_type = flac ] || [ $input_type = ogg ] ; then
CMP=md5cmp
else
@@ -1061,15 +1128,9 @@ test_multifile ()
done
run_flac --force $encode_options $extra_encode_options file0x.$input_type file1x.$input_type file2x.$input_type || die "ERROR"
run_flac --force --decode $extra_decode_options file0x.$suffix file1x.$suffix file2x.$suffix || die "ERROR"
- if [ $sector_align != sector_align ] ; then
- for n in 0 1 2 ; do
- $CMP file$n.$input_type file${n}x.$input_type || die "ERROR: file mismatch on file #$n"
- done
- else
- for n in 0 1 2 ; do
- $CMP file${n}s.$input_type file${n}x.$input_type || die "ERROR: file mismatch on file #$n"
- done
- fi
+ for n in 0 1 2 ; do
+ $CMP file$n.$input_type file${n}x.$input_type || die "ERROR: file mismatch on file #$n"
+ done
for n in 0 1 2 ; do
rm -f file${n}x.$suffix file${n}x.$input_type
done
@@ -1082,47 +1143,60 @@ input_types="raw wav aiff flac"
#@@@fi
for input_type in $input_types ; do
echo "Testing multiple $input_type files without verify..."
- test_multifile $input_type flac no_sector_align ""
+ test_multifile $input_type flac ""
echo "Testing multiple $input_type files with verify..."
- test_multifile $input_type flac no_sector_align "--verify"
-
- if [ $input_type != flac ] && [ $input_type != ogg ] ; then # --sector-align not supported for FLAC input
- echo "Testing multiple $input_type files with --sector-align, without verify..."
- test_multifile $input_type flac sector_align ""
-
- echo "Testing multiple $input_type files with --sector-align, with verify..."
- test_multifile $input_type flac sector_align "--verify"
- fi
+ test_multifile $input_type flac "--verify"
if [ $has_ogg = yes ] ; then
echo "Testing multiple $input_type files with --ogg, without verify..."
- test_multifile $input_type ogg no_sector_align ""
+ test_multifile $input_type ogg ""
echo "Testing multiple $input_type files with --ogg, with verify..."
- test_multifile $input_type ogg no_sector_align "--verify"
-
- if [ $input_type != flac ] ; then # --sector-align not supported for FLAC input
- echo "Testing multiple $input_type files with --ogg and --sector-align, without verify..."
- test_multifile $input_type ogg sector_align ""
-
- echo "Testing multiple $input_type files with --ogg and --sector-align, with verify..."
- test_multifile $input_type ogg sector_align "--verify"
- fi
+ test_multifile $input_type ogg "--verify"
echo "Testing multiple $input_type files with --ogg and --serial-number, with verify..."
- test_multifile $input_type ogg no_sector_align "--serial-number=321 --verify"
+ test_multifile $input_type ogg "--serial-number=321 --verify"
fi
done
############################################################################
+# test --keep-foreign-metadata
+############################################################################
+
+echo "Testing --keep-foreign-metadata..."
+
+rt_test_wav wacky1.wav '--keep-foreign-metadata'
+rt_test_wav wacky2.wav '--keep-foreign-metadata'
+rt_test_w64 wacky1.w64 '--keep-foreign-metadata'
+rt_test_w64 wacky2.w64 '--keep-foreign-metadata'
+rt_test_rf64 wacky1.rf64 '--keep-foreign-metadata'
+rt_test_rf64 wacky2.rf64 '--keep-foreign-metadata'
+
+rt_test_wav_autokf wacky1.wav '--keep-foreign-metadata'
+rt_test_wav_autokf wacky2.wav '--keep-foreign-metadata'
+rt_test_w64_autokf wacky1.w64 '--keep-foreign-metadata'
+rt_test_w64_autokf wacky2.w64 '--keep-foreign-metadata'
+rt_test_rf64_autokf wacky1.rf64 '--keep-foreign-metadata'
+rt_test_rf64_autokf wacky2.rf64 '--keep-foreign-metadata'
+
+testdatadir=${top_srcdir}/test/foreign-metadata-test-files
+
+rt_test_autokf "$testdatadir/BWF-WaveFmtEx.wav" '--keep-foreign-metadata' 'rt.wav'
+rt_test_autokf "$testdatadir/AIFF-ID3.aiff" '--keep-foreign-metadata' 'rt.aiff'
+rt_test_autokf "$testdatadir/AIFF-C-sowt-tag.aifc" '--keep-foreign-metadata' 'rt.aifc'
+rt_test_autokf "$testdatadir/AIFF-C-sowt-compression-type-name.aifc" '--keep-foreign-metadata' 'rt.aifc'
+rt_test_autokf "$testdatadir/24bit-WaveFmtPCM.wav" '--keep-foreign-metadata' 'rt.wav'
+
+############################################################################
# test the metadata-handling properties of flac-to-flac encoding
############################################################################
echo "Testing the metadata-handling properties of flac-to-flac encoding..."
-testdir="flac-to-flac-metadata-test-files"
+testdatadir=${top_srcdir}/test/flac-to-flac-metadata-test-files
+
filter ()
{
# minor danger, changing vendor strings might change the length of the
@@ -1132,19 +1206,22 @@ filter ()
}
flac2flac ()
{
- file="$1"
- case="$2"
+ file="$testdatadir/$1"
+ case="$testdatadir/$2"
args="$3"
expect="$case-expect.meta"
- echo -n "$case... "
- run_flac $SILENT -f -o out.flac $args $file || die "ERROR encoding FLAC file"
- run_metaflac --list out.flac | filter > out.meta || die "ERROR listing metadata of output FLAC file"
+ echo $ECHO_N "$2... " $ECHO_C
+ # The 'make distcheck' target needs this.
+ chmod u+w $file
+ run_flac -f -o out.flac $args $file || die "ERROR encoding FLAC file"
+ run_metaflac --list out.flac | filter > out1.meta || die "ERROR listing metadata of output FLAC file"
+ # Ignore lengths which can be affected by the version string.
+ sed "s/length:.*/length: XXX/" out1.meta > out.meta
diff -q -w $expect out.meta 2>/dev/null || die "ERROR: metadata does not match expected $expect"
echo OK
}
#filter=', stream_offset.*|^ vendor string: |^ length: |^ m..imum .....size: '
-cd $testdir || die "ERROR changing to directory $testdir"
# case 00a: no alterations on a file with all metadata types, keep all metadata, in same order
flac2flac input-SCVAUP.flac case00a ""
@@ -1163,13 +1240,13 @@ flac2flac input-SCPAP.flac case02a ""
# case 02b: on file with no VORBIS_COMMENT block and --tag, add new VORBIS_COMMENT with tags
flac2flac input-SCPAP.flac case02b "--tag=artist=0"
# case 02c: on file with VORBIS_COMMENT block and --tag, replace existing VORBIS_COMMENT with new tags
-flac2flac input-SCVAUP.flac case02c "$TOTALLY_SILENT --tag=artist=0"
+flac2flac input-SCVAUP.flac case02c "--tag=artist=0"
# case 03a: on file with no CUESHEET block and --cuesheet specified, add it
-flac2flac input-SVAUP.flac case03a "--cuesheet=input0.cue"
+flac2flac input-SVAUP.flac case03a "--cuesheet=$testdatadir/input0.cue"
# case 03b: on file with CUESHEET block and --cuesheet specified, overwrite existing CUESHEET
-flac2flac input-SCVAUP.flac case03b "$TOTALLY_SILENT --cuesheet=input0.cue"
+flac2flac input-SCVAUP.flac case03b "--cuesheet=$testdatadir/input0.cue"
# case 03c: on file with CUESHEET block and size-changing option specified, drop existing CUESHEET
-flac2flac input-SCVAUP.flac case03c "$TOTALLY_SILENT --skip=1"
+flac2flac input-SCVAUP.flac case03c "--skip=1"
# case 04a: on file with no SEEKTABLE block and --no-seektable specified, no SEEKTABLE
flac2flac input-VA.flac case04a "--no-padding --no-seektable"
# case 04b: on file with no SEEKTABLE block and -S specified, new SEEKTABLE
@@ -1179,11 +1256,82 @@ flac2flac input-VA.flac case04c "--no-padding"
# case 04d: on file with SEEKTABLE block and --no-seektable specified, drop existing SEEKTABLE
flac2flac input-SCVA.flac case04d "--no-padding --no-seektable"
# case 04e: on file with SEEKTABLE block and -S specified, overwrite existing SEEKTABLE
-flac2flac input-SCVA.flac case04e "$TOTALLY_SILENT --no-padding -S 5x"
+flac2flac input-SCVA.flac case04e "--no-padding -S 5x"
# case 04f: on file with SEEKTABLE block and size-changing option specified, drop existing SEEKTABLE, new SEEKTABLE with default points
#(already covered by case03c)
-rm -f out.flac out.meta
+############################################################################
+# test limiting minimum bitrate
+############################################################################
+
+echo $ECHO_N "Testing --limit-min-bitrate" $ECHO_C
+
+run_flac -f -o out.flac --no-padding --no-seektable --limit-min-bitrate "$testdatadir/input-VA.flac"
+size=$(wc -c < out.flac)
+
+if [ "$size" -lt "1022" ]; then
+ die "ERROR: filesize of flac file encoded with --limit-min-bitrate is smaller than expected"
+fi
+
+echo OK
+
+############################################################################
+# test overflow of total samples field in STREAMINFO
+############################################################################
+
+test_total_samples_overflow ()
+{
+ total_samples=$1
+ expected_stored_total_samples=$2
+ echo $ECHO_N "total_samples overflow test (samples=$total_samples) encode... " $ECHO_C
+ head -c $total_samples /dev/zero | run_flac --force --verify --sign=signed --sample-rate=96000 -b 16384 --channels=1 --endian=little --bps=8 -o big-$total_samples.flac - || die "ERROR"
+ echo $ECHO_N "decode... " $ECHO_C
+ run_flac -t big-$total_samples.flac || die "ERROR"
+ echo $ECHO_N "check... " $ECHO_C
+ run_metaflac --show-total-samples big-$total_samples.flac > big-$total_samples.cmp1
+ echo $expected_stored_total_samples > big-$total_samples.cmp2
+ diff -q -w big-$total_samples.cmp1 big-$total_samples.cmp2 || die "ERROR"
+ echo "OK"
+ rm -f big-$total_samples.flac big-$total_samples.cmp1 big-$total_samples.cmp2
+}
+
+if [ "$FLAC__TEST_LEVEL" -gt 1 ] ; then
+ test_total_samples_overflow 68719476735 68719476735
+ test_total_samples_overflow 68719476736 0
+ test_total_samples_overflow 68719476737 0
+fi
+
+############################################################################
+# test handling of UTF-8 filenames
+############################################################################
+
+
+test_utf8_handling ()
+{
+ echo $ECHO_N "Test decoding from $1... " $ECHO_C
+ run_flac -d $testdatadir/$1 -o out.wav
+ if [ -f out.wav ] ; then
+ echo "OK"
+ else
+ die "Decoding failed"
+ fi
+ echo $ECHO_N "Test encoding to $1... " $ECHO_C
+ run_flac out.wav -o $1
+ if [ -f $1 ] ; then
+ echo "OK"
+ else
+ die "Encoding failed"
+ fi
+ rm -f $1 out.wav
+}
+
+if [ "$WIN32BUSYBOX" != "yes" ]; then
+ test_utf8_handling שלו×.flac
+ test_utf8_handling 🤔.flac
+ test_utf8_handling Prøve.flac
+fi
+
+rm -f out.flac out.meta out1.meta
#@@@ when metaflac handles ogg flac, duplicate flac2flac tests here
diff --git a/3rdparty/libflac/test/test_grabbag.sh b/3rdparty/libflac/test/test_grabbag.sh
index a18a9312a8e..6f2aca121f1 100644..100755
--- a/3rdparty/libflac/test/test_grabbag.sh
+++ b/3rdparty/libflac/test/test_grabbag.sh
@@ -1,10 +1,11 @@
-#!/bin/sh
+#!/bin/sh -e
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -17,56 +18,35 @@
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-die ()
-{
- echo $* 1>&2
- exit 1
-}
-
-if [ x = x"$1" ] ; then
- BUILD=debug
-else
- BUILD="$1"
-fi
+. ./common.sh
-LD_LIBRARY_PATH=../src/libFLAC/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=../src/share/grabbag/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=../src/share/replaygain_analysis/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=../obj/$BUILD/lib:$LD_LIBRARY_PATH
-export LD_LIBRARY_PATH
PATH=../src/test_grabbag/cuesheet:$PATH
PATH=../src/test_grabbag/picture:$PATH
-PATH=../obj/$BUILD/bin:$PATH
+PATH=../objs/$BUILD/bin:$PATH
test_cuesheet -h 1>/dev/null 2>/dev/null || die "ERROR can't find test_cuesheet executable"
test_picture -h 1>/dev/null 2>/dev/null || die "ERROR can't find test_picture executable"
run_test_cuesheet ()
{
- if [ x"$FLAC__TEST_WITH_VALGRIND" = xyes ] ; then
- echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=100 test_cuesheet $*" >>test_grabbag.valgrind.log
- valgrind --leak-check=yes --show-reachable=yes --num-callers=100 --log-fd=4 test_cuesheet $* 4>>test_grabbag.valgrind.log
+ if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then
+ echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=50 test_cuesheet $*" >>test_grabbag.valgrind.log
+ valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 test_cuesheet${EXE} $* 4>>test_grabbag.valgrind.log
else
- test_cuesheet $*
+ test_cuesheet${EXE} $*
fi
}
run_test_picture ()
{
- if [ x"$FLAC__TEST_WITH_VALGRIND" = xyes ] ; then
- echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=100 test_picture $*" >>test_grabbag.valgrind.log
- valgrind --leak-check=yes --show-reachable=yes --num-callers=100 --log-fd=4 test_picture $* 4>>test_grabbag.valgrind.log
+ if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then
+ echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=50 test_picture $*" >>test_grabbag.valgrind.log
+ valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 test_picture${EXE} $* 4>>test_grabbag.valgrind.log
else
- test_picture $*
+ test_picture${EXE} $*
fi
}
-if [ `env | grep -ic '^comspec='` != 0 ] ; then
- is_win=yes
-else
- is_win=no
-fi
-
########################################################################
#
# test_picture
@@ -74,7 +54,7 @@ fi
########################################################################
log=picture.log
-picture_dir=pictures
+picture_dir=${top_srcdir}/test/pictures
echo "Running test_picture..."
@@ -83,9 +63,9 @@ rm -f $log
run_test_picture $picture_dir >> $log 2>&1
if [ $is_win = yes ] ; then
- diff -w picture.ok $log > picture.diff || die "Error: .log file does not match .ok file, see picture.diff"
+ diff -w ${top_srcdir}/test/picture.ok $log > picture.diff || die "Error: .log file does not match .ok file, see picture.diff"
else
- diff picture.ok $log > picture.diff || die "Error: .log file does not match .ok file, see picture.diff"
+ diff ${top_srcdir}/test/picture.ok $log > picture.diff || die "Error: .log file does not match .ok file, see picture.diff"
fi
echo "PASSED (results are in $log)"
@@ -97,10 +77,10 @@ echo "PASSED (results are in $log)"
########################################################################
log=cuesheet.log
-bad_cuesheets=cuesheets/bad.*.cue
-good_cuesheets=cuesheets/good.*.cue
-good_leadout=`expr 80 \* 60 \* 44100`
-bad_leadout=`expr $good_leadout + 1`
+bad_cuesheets=${top_srcdir}/test/cuesheets/bad.*.cue
+good_cuesheets=${top_srcdir}/test/cuesheets/good.*.cue
+good_leadout=$((80 * 60 * 44100))
+bad_leadout=$((good_leadout + 1))
echo "Running test_cuesheet..."
@@ -110,9 +90,8 @@ rm -f $log
# negative tests
#
for cuesheet in $bad_cuesheets ; do
- echo "NEGATIVE $cuesheet" >> $log 2>&1
- run_test_cuesheet $cuesheet $good_leadout cdda >> $log 2>&1
- exit_code=$?
+ echo "NEGATIVE $cuesheet" | sed "s|${top_srcdir}/test/||" >> $log 2>&1
+ run_test_cuesheet $cuesheet $good_leadout 44100 cdda >> $log 2>&1 || exit_code=$?
if [ "$exit_code" = 255 ] ; then
die "Error: test script is broken"
fi
@@ -122,27 +101,28 @@ for cuesheet in $bad_cuesheets ; do
done
#
-# positve tests
+# positive tests
#
for cuesheet in $good_cuesheets ; do
- echo "POSITIVE $cuesheet" >> $log 2>&1
- run_test_cuesheet $cuesheet $good_leadout cdda >> $log 2>&1
+ echo "POSITIVE $cuesheet" | sed "s|${top_srcdir}/test/||" >> $log 2>&1
+ run_test_cuesheet $cuesheet $good_leadout 44100 cdda >> $log 2>&1
exit_code=$?
if [ "$exit_code" = 255 ] ; then
die "Error: test script is broken"
elif [ "$exit_code" != 0 ] ; then
die "Error: good cuesheet is broken"
fi
- cuesheet_pass1=${cuesheet}.1
- cuesheet_pass2=${cuesheet}.2
+ cuesheet_out=$(echo $cuesheet | sed "s|${top_srcdir}/test/||")
+ cuesheet_pass1=${cuesheet_out}.1
+ cuesheet_pass2=${cuesheet_out}.2
diff $cuesheet_pass1 $cuesheet_pass2 >> $log 2>&1 || die "Error: pass1 and pass2 output differ"
rm -f $cuesheet_pass1 $cuesheet_pass2
done
if [ $is_win = yes ] ; then
- diff -w cuesheet.ok $log > cuesheet.diff || die "Error: .log file does not match .ok file, see cuesheet.diff"
+ diff -w ${top_srcdir}/test/cuesheet.ok $log > cuesheet.diff || die "Error: .log file does not match .ok file, see cuesheet.diff"
else
- diff cuesheet.ok $log > cuesheet.diff || die "Error: .log file does not match .ok file, see cuesheet.diff"
+ diff ${top_srcdir}/test/cuesheet.ok $log > cuesheet.diff || die "Error: .log file does not match .ok file, see cuesheet.diff"
fi
echo "PASSED (results are in $log)"
diff --git a/3rdparty/libflac/test/test_libFLAC++.sh b/3rdparty/libflac/test/test_libFLAC++.sh
index 550c6bd3efb..089ec16538c 100644..100755
--- a/3rdparty/libflac/test/test_libFLAC++.sh
+++ b/3rdparty/libflac/test/test_libFLAC++.sh
@@ -1,10 +1,11 @@
-#!/bin/sh
+#!/bin/sh -e
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2002-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -17,34 +18,18 @@
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-die ()
-{
- echo $* 1>&2
- exit 1
-}
-
-if [ x = x"$1" ] ; then
- BUILD=debug
-else
- BUILD="$1"
-fi
+. ./common.sh
-LD_LIBRARY_PATH=../src/libFLAC/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=../src/libFLAC++/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=../src/share/grabbag/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=../src/share/replaygain_analysis/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=../obj/$BUILD/lib:$LD_LIBRARY_PATH
-export LD_LIBRARY_PATH
PATH=../src/test_libFLAC++:$PATH
-PATH=../obj/$BUILD/bin:$PATH
+PATH=../objs/$BUILD/bin:$PATH
run_test_libFLACpp ()
{
- if [ x"$FLAC__TEST_WITH_VALGRIND" = xyes ] ; then
- valgrind --leak-check=yes --show-reachable=yes --num-callers=100 --log-fd=4 test_libFLAC++ $* 4>>test_libFLAC++.valgrind.log
+ if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then
+ valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 test_libFLAC++${EXE} $* 4>>test_libFLAC++.valgrind.log
else
- test_libFLAC++ $*
+ test_libFLAC++${EXE} $*
fi
}
-run_test_libFLACpp || die "ERROR during test_libFLAC++"
+run_test_libFLACpp "$@" || die "ERROR during test_libFLAC++"
diff --git a/3rdparty/libflac/test/test_libFLAC.sh b/3rdparty/libflac/test/test_libFLAC.sh
index 5343ef04250..a3a1f0e5141 100644..100755
--- a/3rdparty/libflac/test/test_libFLAC.sh
+++ b/3rdparty/libflac/test/test_libFLAC.sh
@@ -1,10 +1,11 @@
-#!/bin/sh
+#!/bin/sh -e
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -17,33 +18,18 @@
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-die ()
-{
- echo $* 1>&2
- exit 1
-}
-
-if [ x = x"$1" ] ; then
- BUILD=debug
-else
- BUILD="$1"
-fi
+. ./common.sh
-LD_LIBRARY_PATH=../src/libFLAC/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=../src/share/grabbag/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=../src/share/replaygain_analysis/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=../obj/$BUILD/lib:$LD_LIBRARY_PATH
-export LD_LIBRARY_PATH
PATH=../src/test_libFLAC:$PATH
-PATH=../obj/$BUILD/bin:$PATH
+PATH=../objs/$BUILD/bin:$PATH
run_test_libFLAC ()
{
- if [ x"$FLAC__TEST_WITH_VALGRIND" = xyes ] ; then
- valgrind --leak-check=yes --show-reachable=yes --num-callers=100 --log-fd=4 test_libFLAC $* 4>>test_libFLAC.valgrind.log
+ if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then
+ valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 test_libFLAC${EXE} $* 4>>test_libFLAC.valgrind.log
else
- test_libFLAC $*
+ test_libFLAC${EXE} $*
fi
}
-run_test_libFLAC || die "ERROR during test_libFLAC"
+run_test_libFLAC "$@"|| die "ERROR during test_libFLAC"
diff --git a/3rdparty/libflac/test/test_metaflac.sh b/3rdparty/libflac/test/test_metaflac.sh
index f7cdedfae4f..b2dbee07ae7 100644..100755
--- a/3rdparty/libflac/test/test_metaflac.sh
+++ b/3rdparty/libflac/test/test_metaflac.sh
@@ -1,10 +1,11 @@
-#!/bin/sh
+#!/bin/sh -e
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2002-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -17,38 +18,11 @@
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-die ()
-{
- echo $* 1>&2
- exit 1
-}
-
-if [ x = x"$1" ] ; then
- BUILD=debug
-else
- BUILD="$1"
-fi
-
-# change to 'false' to show all flac/metaflac output (useful for debugging)
-if true ; then
- SILENT='--silent'
- TOTALLY_SILENT='--totally-silent'
-else
- SILENT=''
- TOTALLY_SILENT=''
-fi
+. ./common.sh
-LD_LIBRARY_PATH=`pwd`/../src/libFLAC/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=`pwd`/../src/share/grabbag/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=`pwd`/../src/share/getopt/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=`pwd`/../src/share/replaygain_analysis/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=`pwd`/../src/share/replaygain_synthesis/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=`pwd`/../src/share/utf8/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=`pwd`/../obj/$BUILD/lib:$LD_LIBRARY_PATH
-export LD_LIBRARY_PATH
-PATH=`pwd`/../src/flac:$PATH
-PATH=`pwd`/../src/metaflac:$PATH
-PATH=`pwd`/../obj/$BUILD/bin:$PATH
+PATH="$(pwd)/../src/flac:$PATH"
+PATH="$(pwd)/../src/metaflac:$PATH"
+PATH="$(pwd)/../objs/$BUILD/bin:$PATH"
if echo a | (grep -E '(a|b)') >/dev/null 2>&1
then EGREP='grep -E'
@@ -56,28 +30,28 @@ if echo a | (grep -E '(a|b)') >/dev/null 2>&1
fi
testdir="metaflac-test-files"
-flacfile="metaflac.flac"
+flacfile="metaflac1.flac"
-flac --help 1>/dev/null 2>/dev/null || die "ERROR can't find flac executable"
-metaflac --help 1>/dev/null 2>/dev/null || die "ERROR can't find metaflac executable"
+flac${EXE} --help 1>/dev/null 2>/dev/null || die "ERROR can't find flac executable"
+metaflac${EXE} --help 1>/dev/null 2>/dev/null || die "ERROR can't find metaflac executable"
run_flac ()
{
- if [ x"$FLAC__TEST_WITH_VALGRIND" = xyes ] ; then
- echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=100 flac $*" >>test_metaflac.valgrind.log
- valgrind --leak-check=yes --show-reachable=yes --num-callers=100 --log-fd=4 flac $* 4>>test_metaflac.valgrind.log
+ if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then
+ echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=50 flac $*" >>test_metaflac.valgrind.log
+ valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 flac${EXE} ${TOTALLY_SILENT} --no-error-on-compression-fail $* 4>>test_metaflac.valgrind.log
else
- flac $*
+ flac${EXE} ${TOTALLY_SILENT} --no-error-on-compression-fail $*
fi
}
run_metaflac ()
{
- if [ x"$FLAC__TEST_WITH_VALGRIND" = xyes ] ; then
- echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=100 metaflac $*" >>test_metaflac.valgrind.log
- valgrind --leak-check=yes --show-reachable=yes --num-callers=100 --log-fd=4 metaflac $* 4>>test_metaflac.valgrind.log
+ if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then
+ echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=50 metaflac $*" >>test_metaflac.valgrind.log
+ valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 metaflac${EXE} $* 4>>test_metaflac.valgrind.log
else
- metaflac $*
+ metaflac${EXE} $*
fi
}
@@ -86,15 +60,26 @@ run_metaflac_silent ()
if [ -z "$SILENT" ] ; then
run_metaflac $*
else
- if [ x"$FLAC__TEST_WITH_VALGRIND" = xyes ] ; then
- echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=100 metaflac $*" >>test_metaflac.valgrind.log
- valgrind --leak-check=yes --show-reachable=yes --num-callers=100 --log-fd=4 metaflac $* 2>/dev/null 4>>test_metaflac.valgrind.log
+ if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then
+ echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=50 metaflac $*" >>test_metaflac.valgrind.log
+ valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 metaflac${EXE} $* 2>/dev/null 4>>test_metaflac.valgrind.log
else
- metaflac $* 2>/dev/null
+ metaflac${EXE} $* 2>/dev/null
fi
fi
}
+run_metaflac_to_metaflac_silent ()
+{
+ if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then
+ echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=50 metaflac $*" >>test_metaflac.valgrind.log
+ valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 metaflac${EXE} $* 2>/dev/null 4>>test_metaflac.valgrind.log
+ else
+ metaflac${EXE} $1 | metaflac${EXE} $2 2>/dev/null
+ fi
+}
+
+
check_flac ()
{
run_flac --silent --test $flacfile || die "ERROR in $flacfile" 1>&2
@@ -102,7 +87,7 @@ check_flac ()
echo "Generating stream..."
bytes=80000
-if dd if=/dev/zero ibs=1 count=$bytes | flac --force --verify -0 --input-size=$bytes --output-name=$flacfile --force-raw-format --endian=big --sign=signed --channels=1 --bps=8 --sample-rate=8000 - ; then
+if dd if=/dev/zero ibs=1 count=$bytes 2>/dev/null | flac${EXE} ${TOTALLY_SILENT} --force --verify -0 --input-size=$bytes --output-name=$flacfile --force-raw-format --endian=big --sign=signed --channels=1 --bps=8 --sample-rate=8000 - ; then
chmod +w $flacfile
else
die "ERROR during generation"
@@ -110,7 +95,7 @@ fi
check_flac
-echo
+testdatadir=${top_srcdir}/test/metaflac-test-files
filter ()
{
@@ -121,17 +106,45 @@ filter ()
# grep pattern 2: remove minimum/maximum frame and block size from STREAMINFO
# grep pattern 3: remove hexdump data from PICTURE metadata blocks
# sed pattern 1: remove stream offset values from SEEKTABLE points
- $EGREP -v '^ vendor string: |^ m..imum .....size: |^ 0000[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]: ' | sed -e 's/, stream_offset.*//'
+ $EGREP -v '^ vendor string: |^ m..imum .....size: |^ 0000[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]: ' \
+ | sed -e 's/, stream_offset.*//'
}
metaflac_test ()
{
- case="$1"
+ case="$testdatadir/$1"
desc="$2"
args="$3"
- expect="$testdir/$case-expect.meta"
- echo -n "test $case: $desc... "
- run_metaflac $args $flacfile | filter > $testdir/out.meta || die "ERROR running metaflac"
+ expect="$case-expect.meta"
+ echo $ECHO_N "test $1: $desc... " $ECHO_C
+ run_metaflac $args $flacfile | filter > $testdir/out1.meta || die "ERROR running metaflac"
+ # Ignore lengths which can be affected by the version string.
+ sed "s/length:.*/length: XXX/" $testdir/out1.meta > $testdir/out.meta
diff -w $expect $testdir/out.meta > /dev/null 2>&1 || die "ERROR: metadata does not match expected $expect"
+ # To blindly accept (and check later): cp -f $testdir/out.meta $expect
+ echo OK
+}
+
+metaflac_test_nofilter ()
+{
+ case="$testdatadir/$1"
+ desc="$2"
+ args="$3"
+ expect="$case-expect.meta"
+ echo $ECHO_N "test $1: $desc... " $ECHO_C
+ run_metaflac $args $flacfile > $testdir/out.meta || die "ERROR running metaflac"
+ diff -w $expect $testdir/out.meta || die "ERROR: metadata does not match expected $expect"
+ echo OK
+}
+
+metaflac_test_binary ()
+{
+ case="$testdatadir/$1"
+ desc="$2"
+ args="$3"
+ expect="$case-expect.meta"
+ echo $ECHO_N "test $1: $desc... " $ECHO_C
+ run_metaflac $args $flacfile > $testdir/out.meta || die "ERROR running metaflac"
+ cmp $expect $testdir/out.meta || die "ERROR: metadata does not match expected $expect"
echo OK
}
@@ -169,7 +182,11 @@ run_metaflac --set-tag="TITLE=He_who_smelt_it_dealt_it" $flacfile
check_flac
metaflac_test case06 "--set-tag=TITLE" "--list"
-metaflac_test case07 "--show-vendor-tag --show-tag=ARTIST" "--show-vendor-tag --show-tag=ARTIST"
+if [ ! $git_commit_version_hash ] ; then
+ metaflac_test case07 "--show-vendor-tag --show-tag=ARTIST" "--show-vendor-tag --show-tag=ARTIST"
+else
+ echo "test case07 is skipped because version is taken from git"
+fi
run_metaflac --remove-first-tag=ARTIST $flacfile
check_flac
@@ -300,8 +317,12 @@ run_metaflac --remove-replay-gain $flacfile
check_flac
metaflac_test case42 "--remove-replay-gain" "--list"
+run_metaflac --scan-replay-gain $flacfile
+check_flac
+metaflac_test case42 "--scan-replay-gain" "--list"
+
# CUESHEET blocks
-cs_in=cuesheets/good.000.cue
+cs_in=${top_srcdir}/test/cuesheets/good.000.cue
cs_out=metaflac.cue
cs_out2=metaflac2.cue
run_metaflac --import-cuesheet-from="$cs_in" $flacfile
@@ -328,19 +349,19 @@ for f in \
1.gif \
2.gif \
; do
- run_metaflac --import-picture-from="|image/gif|$f||pictures/$f" $flacfile
+ run_metaflac --import-picture-from="|image/gif|$f||${top_srcdir}/test/pictures/$f" $flacfile
check_flac
metaflac_test "case$ncase" "--import-picture-from" "--list"
- ncase=`expr $ncase + 1`
+ ncase=$((ncase + 1))
done
for f in \
0.jpg \
4.jpg \
; do
- run_metaflac --import-picture-from="4|image/jpeg|$f||pictures/$f" $flacfile
+ run_metaflac --import-picture-from="4|image/jpeg|$f||${top_srcdir}/test/pictures/$f" $flacfile
check_flac
metaflac_test "case$ncase" "--import-picture-from" "--list"
- ncase=`expr $ncase + 1`
+ ncase=$((ncase + 1))
done
for f in \
0.png \
@@ -353,45 +374,105 @@ for f in \
7.png \
8.png \
; do
- run_metaflac --import-picture-from="5|image/png|$f||pictures/$f" $flacfile
+ run_metaflac --import-picture-from="5|image/png|$f||${top_srcdir}/test/pictures/$f" $flacfile
check_flac
metaflac_test "case$ncase" "--import-picture-from" "--list"
- ncase=`expr $ncase + 1`
+ ncase=$((ncase + 1))
done
[ $ncase = 60 ] || die "expected case# to be 60"
fn=export-picture-check
-echo -n "Testing --export-picture-to... "
+echo $ECHO_N "Testing --export-picture-to... " $ECHO_C
run_metaflac --export-picture-to=$fn $flacfile
check_flac
-cmp $fn pictures/0.gif || die "ERROR, exported picture file and original differ"
+cmp $fn ${top_srcdir}/test/pictures/0.gif || die "ERROR, exported picture file and original differ"
echo OK
rm -f $fn
-echo -n "Testing --block-number --export-picture-to... "
+echo $ECHO_N "Testing --block-number --export-picture-to... " $ECHO_C
run_metaflac --block-number=9 --export-picture-to=$fn $flacfile
check_flac
-cmp $fn pictures/0.png || die "ERROR, exported picture file and original differ"
+cmp $fn ${top_srcdir}/test/pictures/0.png || die "ERROR, exported picture file and original differ"
echo OK
rm -f $fn
run_metaflac --remove --block-type=PICTURE $flacfile
check_flac
metaflac_test case60 "--remove --block-type=PICTURE" "--list"
-run_metaflac --import-picture-from="1|image/png|standard_icon|32x32x24|pictures/0.png" $flacfile
+run_metaflac --import-picture-from="1|image/png|standard_icon|32x32x24|${top_srcdir}/test/pictures/0.png" $flacfile
check_flac
metaflac_test case61 "--import-picture-from" "--list"
-run_metaflac --import-picture-from="2|image/png|icon|64x64x24|pictures/1.png" $flacfile
+run_metaflac --import-picture-from="2|image/png|icon|64x64x24|${top_srcdir}/test/pictures/1.png" $flacfile
check_flac
metaflac_test case62 "--import-picture-from" "--list"
+run_metaflac --remove-all-tags-except=artist=title $flacfile
+check_flac
+metaflac_test case63 "--remove-all-tags-except=artist=title" "--list"
+metaflac_test case64 "--export-tags-to=-" "--export-tags-to=-"
+metaflac_test case64 "--show-all-tags" "--show-all-tags"
+
+run_flac ${top_srcdir}/test/foreign-metadata-test-files/AIFF-ID3.aiff --keep-foreign-metadata -f -o $flacfile
+metaflac_test_binary case65 "--data-format=binary" "--list --data-format=binary-headerless --block-type=APPLICATION:aiff"
# UNKNOWN blocks
-echo -n "Testing FLAC file with unknown metadata... "
-cp -p metaflac.flac.in $flacfile
+flacfile=metaflac2.flac
+echo $ECHO_N "Testing FLAC file with unknown metadata... " $ECHO_C
+cp -p ${top_srcdir}/test/metaflac.flac.in $flacfile
# remove the VORBIS_COMMENT block so vendor string changes don't interfere with the comparison:
run_metaflac --remove --block-type=VORBIS_COMMENT --dont-use-padding $flacfile
-cmp $flacfile metaflac.flac.ok || die "ERROR, $flacfile and metaflac.flac.ok differ"
+cmp $flacfile ${top_srcdir}/test/metaflac.flac.ok || die "ERROR, $flacfile and metaflac.flac.ok differ"
echo OK
-rm -f $testdir/out.flac $testdir/out.meta
+flacfile=metaflac3.flac
+cp -p ${top_srcdir}/test/metaflac.flac.in $flacfile
+
+flacfile2=metaflac4.flac
+cp $flacfile $flacfile2
+run_metaflac --remove-all --dont-use-padding $flacfile
+
+echo $ECHO_N "Appending a streaminfo metadata block... " $ECHO_C
+if run_metaflac_to_metaflac_silent "--list --data-format=binary $flacfile2" "--append $flacfile" ; then
+ die "ERROR: it should have failed but didn't"
+else
+ echo "OK, it failed as it should"
+fi
+
+echo $ECHO_N "Appending a seektable metadata block... " $ECHO_C
+if run_metaflac_to_metaflac_silent "--list --data-format=binary --except-block-type=STREAMINFO $flacfile2" "--append $flacfile" ; then
+ die "ERROR: it should have failed but didn't"
+else
+ echo "OK, it failed as it should"
+fi
+
+run_metaflac --add-seekpoint=0 $flacfile
+
+echo $ECHO_N "Appending a vorbis comment metadata block... " $ECHO_C
+if run_metaflac_to_metaflac_silent "--list --data-format=binary --block-type=VORBIS_COMMENT $flacfile2" "--append $flacfile" ; then
+ echo "OK"
+else
+ die "ERROR, couldn't add vorbis comment metadata block"
+fi
+
+echo $ECHO_N "Appending another vorbis comment metadata block... " $ECHO_C
+if run_metaflac_to_metaflac_silent "--list --data-format=binary --block-type=VORBIS_COMMENT $flacfile2" "--append $flacfile" ; then
+ die "ERROR: it should have failed but didn't"
+else
+ echo "OK, it failed as it should"
+fi
+
+if run_metaflac_to_metaflac_silent "--list --data-format=binary --except-block-type=STREAMINFO,SEEKTABLE,VORBIS_COMMENT $flacfile2" "--append $flacfile" ; then
+ :
+else
+ die "ERROR, couldn't add vorbis comment metadata block"
+fi
+
+metaflac_test_nofilter case66 "--append" "--list"
+
+if run_metaflac_to_metaflac_silent "--list --data-format=binary --except-block-type=STREAMINFO,SEEKTABLE,VORBIS_COMMENT $flacfile2" "--append --block-number=0 $flacfile" ; then
+ :
+else
+ die "ERROR, couldn't add vorbis comment metadata block"
+fi
+
+metaflac_test_nofilter case67 "--append --block-number=0" "--list"
-exit 0
+rm -f metaflac-test-files/out.meta metaflac-test-files/out1.meta
diff --git a/3rdparty/libflac/test/test_replaygain.sh b/3rdparty/libflac/test/test_replaygain.sh
new file mode 100755
index 00000000000..69ed99309d9
--- /dev/null
+++ b/3rdparty/libflac/test/test_replaygain.sh
@@ -0,0 +1,146 @@
+#!/bin/sh -e
+
+# FLAC - Free Lossless Audio Codec
+# Copyright (C) 2002-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
+#
+# This file is part the FLAC project. FLAC is comprised of several
+# components distributed under different licenses. The codec libraries
+# are distributed under Xiph.Org's BSD-like license (see the file
+# COPYING.Xiph in this distribution). All other programs, libraries, and
+# plugins are distributed under the GPL (see COPYING.GPL). The documentation
+# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
+# FLAC distribution contains at the top the terms under which it may be
+# distributed.
+#
+# Since this particular file is relevant to all components of FLAC,
+# it may be distributed under the Xiph.Org license, which is the least
+# restrictive of those mentioned above. See the file COPYING.Xiph in this
+# distribution.
+
+. ./common.sh
+
+PATH="$(pwd)/../src/flac:$PATH"
+PATH="$(pwd)/../src/metaflac:$PATH"
+PATH="$(pwd)/../objs/$BUILD/bin:$PATH"
+
+if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+ then EGREP='grep -E'
+ else EGREP='egrep'
+fi
+
+testdir="metaflac-test-files"
+flacfile="replaygain.flac"
+
+run_flac ()
+{
+ if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then
+ echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=50 flac $*" >>test_replaygain.valgrind.log
+ valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 flac --no-error-on-compression-fail $* 4>>test_replaygain.valgrind.log
+ else
+ flac${EXE} --no-error-on-compression-fail $*
+ fi
+}
+
+run_metaflac ()
+{
+ if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then
+ echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=50 metaflac $*" >>test_replaygain.valgrind.log
+ valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 metaflac $* 4>>test_replaygain.valgrind.log
+ else
+ metaflac${EXE} $*
+ fi
+}
+
+run_metaflac_silent ()
+{
+ if [ -z "$SILENT" ] ; then
+ run_metaflac $*
+ else
+ if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then
+ echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=50 metaflac $*" >>test_replaygain.valgrind.log
+ valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 metaflac $* 2>/dev/null 4>>test_replaygain.valgrind.log
+ else
+ metaflac${EXE} $* 2>/dev/null
+ fi
+ fi
+}
+
+check_flac ()
+{
+ run_flac --silent --test $flacfile || die "ERROR in $flacfile" 1>&2
+}
+
+echo "Generating stream..."
+bytes=80000
+if dd if=/dev/zero ibs=1 count=$bytes 2>/dev/null | flac${EXE} --silent --force --verify -0 --input-size=$bytes --output-name=$flacfile --force-raw-format --endian=big --sign=signed --channels=1 --bps=8 --sample-rate=8000 - ; then
+ chmod +w $flacfile
+else
+ die "ERROR during generation"
+fi
+
+check_flac
+
+# Replay gain tests - Test the rates which have specific filter table entries
+# and verify that harmonics can be processed correctly.
+
+tonegenerator ()
+{
+ flac${EXE} --force --output-name=$2 --silent --no-seektable --no-error-on-compression-fail rpg-tone-$1.wav
+}
+
+REPLAYGAIN_FREQ=
+REPLAYGAIN_FREQ="$REPLAYGAIN_FREQ 8000/-12.73"
+REPLAYGAIN_FREQ="$REPLAYGAIN_FREQ 11025/-12.91"
+REPLAYGAIN_FREQ="$REPLAYGAIN_FREQ 12000/-12.98"
+REPLAYGAIN_FREQ="$REPLAYGAIN_FREQ 16000/-13.27"
+REPLAYGAIN_FREQ="$REPLAYGAIN_FREQ 18900/-13.41"
+REPLAYGAIN_FREQ="$REPLAYGAIN_FREQ 22050/-13.77"
+REPLAYGAIN_FREQ="$REPLAYGAIN_FREQ 24000/-13.82"
+REPLAYGAIN_FREQ="$REPLAYGAIN_FREQ 28000/-14.06"
+REPLAYGAIN_FREQ="$REPLAYGAIN_FREQ 32000/-14.08"
+REPLAYGAIN_FREQ="$REPLAYGAIN_FREQ 36000/-14.12"
+REPLAYGAIN_FREQ="$REPLAYGAIN_FREQ 37800/-14.18"
+REPLAYGAIN_FREQ="$REPLAYGAIN_FREQ 44100/-14.17"
+REPLAYGAIN_FREQ="$REPLAYGAIN_FREQ 48000/-14.16:1:2:4"
+
+set -e
+
+for ACTION in $REPLAYGAIN_FREQ ; do
+ if [ -n "${ACTION##*:*}" ] ; then
+ HARMONICS=1
+ else
+ HARMONICS="${ACTION#*:}"
+ fi
+ FREQ="${ACTION%%/*}"
+ GAIN="${ACTION#*/}"
+ GAIN="${GAIN%%:*}"
+ while [ -n "$HARMONICS" ] ; do
+ MULTIPLE="${HARMONICS%%:*}"
+ if [ "$MULTIPLE" = "$HARMONICS" ] ; then
+ HARMONICS=
+ else
+ HARMONICS="${HARMONICS#*:}"
+ fi
+ RATE=$((MULTIPLE * FREQ))
+ [ $MULTIPLE -eq 1 -o -n "${REPLAYGAIN_FREQ##* $RATE/*}" ] || break
+ echo $ECHO_N "Testing FLAC replaygain $RATE ($FREQ x $MULTIPLE) ... " $ECHO_C
+ tonegenerator $RATE $flacfile
+ run_metaflac --scan-replay-gain $flacfile
+ run_metaflac --add-replay-gain $flacfile
+ run_metaflac --list $flacfile | grep "REPLAYGAIN.*GAIN=" |
+ while read -r REPLAYGAIN ; do
+ MEASUREDGAIN="${REPLAYGAIN##*=}"
+ MEASUREDGAIN="${MEASUREDGAIN%% *}"
+ if [ x"$MEASUREDGAIN" != x"$GAIN" ] ; then
+ die "ERROR, Expected $GAIN db instead of $REPLAYGAIN"
+ fi
+ done
+ echo OK
+ done
+done
+
+
+rm -f $testdir/out.flac $testdir/out.meta
+
+exit 0
diff --git a/3rdparty/libflac/test/test_seeking.sh b/3rdparty/libflac/test/test_seeking.sh
index cf4fff3308e..a00e7d1cc68 100644..100755
--- a/3rdparty/libflac/test/test_seeking.sh
+++ b/3rdparty/libflac/test/test_seeking.sh
@@ -1,10 +1,11 @@
-#!/bin/sh
+#!/bin/sh -e
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2004-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -17,73 +18,58 @@
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-die ()
-{
- echo $* 1>&2
- exit 1
-}
-
-if [ x = x"$1" ] ; then
- BUILD=debug
-else
- BUILD="$1"
-fi
+. ./common.sh
-LD_LIBRARY_PATH=../src/libFLAC/.libs:$LD_LIBRARY_PATH
-LD_LIBRARY_PATH=../obj/$BUILD/lib:$LD_LIBRARY_PATH
-export LD_LIBRARY_PATH
PATH=../src/flac:$PATH
PATH=../src/metaflac:$PATH
PATH=../src/test_seeking:$PATH
PATH=../src/test_streams:$PATH
-PATH=../obj/$BUILD/bin:$PATH
+PATH=../objs/$BUILD/bin:$PATH
-if [ x"$FLAC__TEST_LEVEL" = x ] ; then
+if [ -z "$FLAC__TEST_LEVEL" ] ; then
FLAC__TEST_LEVEL=1
fi
-flac --help 1>/dev/null 2>/dev/null || die "ERROR can't find flac executable"
-metaflac --help 1>/dev/null 2>/dev/null || die "ERROR can't find metaflac executable"
+flac${EXE} --help 1>/dev/null 2>/dev/null || die "ERROR can't find flac executable"
+metaflac${EXE} --help 1>/dev/null 2>/dev/null || die "ERROR can't find metaflac executable"
run_flac ()
{
- if [ x"$FLAC__TEST_WITH_VALGRIND" = xyes ] ; then
- echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=100 flac $*" >>test_seeking.valgrind.log
- valgrind --leak-check=yes --show-reachable=yes --num-callers=100 --log-fd=4 flac $* 4>>test_seeking.valgrind.log
+ if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then
+ echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=50 flac $*" >>test_seeking.valgrind.log
+ valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 flac${EXE} --no-error-on-compression-fail $* 4>>test_seeking.valgrind.log
else
- flac $*
+ flac${EXE} --no-error-on-compression-fail $*
fi
}
run_metaflac ()
{
- if [ x"$FLAC__TEST_WITH_VALGRIND" = xyes ] ; then
- echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=100 metaflac $*" >>test_seeking.valgrind.log
- valgrind --leak-check=yes --show-reachable=yes --num-callers=100 --log-fd=4 metaflac $* 4>>test_seeking.valgrind.log
+ if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then
+ echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=50 metaflac $*" >>test_seeking.valgrind.log
+ valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 metaflac${EXE} $* 4>>test_seeking.valgrind.log
else
- metaflac $*
+ metaflac${EXE} $*
fi
}
run_test_seeking ()
{
- if [ x"$FLAC__TEST_WITH_VALGRIND" = xyes ] ; then
- echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=100 test_seeking $*" >>test_seeking.valgrind.log
- valgrind --leak-check=yes --show-reachable=yes --num-callers=100 --log-fd=4 test_seeking $* 4>>test_seeking.valgrind.log
+ if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then
+ echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=50 test_seeking $*" >>test_seeking.valgrind.log
+ valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 test_seeking $* 4>>test_seeking.valgrind.log
else
- test_seeking $*
+ test_seeking${EXE} $*
fi
}
-echo "Checking for --ogg support in flac..."
-if flac --ogg --silent --force-raw-format --endian=little --sign=signed --channels=1 --bps=8 --sample-rate=44100 -c $0 1>/dev/null 2>&1 ; then
+echo $ECHO_N "Checking for --ogg support in flac ... " $ECHO_C
+if flac${EXE} --ogg --no-error-on-compression-fail --silent --force-raw-format --endian=little --sign=signed --channels=1 --bps=8 --sample-rate=44100 -c $0 1>/dev/null 2>&1 ; then
has_ogg=yes;
- echo "flac --ogg works"
else
has_ogg=no;
- echo "flac --ogg doesn't work"
fi
-
+echo ${has_ogg}
echo "Generating streams..."
if [ ! -f noise.raw ] ; then
@@ -96,14 +82,14 @@ run_flac --verify --force --silent --force-raw-format --endian=big --sign=signed
run_flac --verify --force --silent --force-raw-format --endian=big --sign=signed --sample-rate=44100 --bps=8 --channels=1 --blocksize=576 -S10x --output-name=tiny-s.flac noise8m32.raw || die "ERROR generating FLAC file"
run_flac --verify --force --silent --force-raw-format --endian=big --sign=signed --sample-rate=44100 --bps=16 --channels=2 --blocksize=576 -S10x --output-name=small-s.flac noise.raw || die "ERROR generating FLAC file"
-tiny_samples=`metaflac --show-total-samples tiny.flac`
-small_samples=`metaflac --show-total-samples small.flac`
+tiny_samples="$(metaflac${EXE} --show-total-samples tiny.flac)"
+small_samples="$(metaflac${EXE} --show-total-samples small.flac)"
tiny_seek_count=100
if [ "$FLAC__TEST_LEVEL" -gt 1 ] ; then
small_seek_count=10000
else
- small_seek_count=100000
+ small_seek_count=100
fi
for suffix in '' '-s' ; do
diff --git a/3rdparty/libflac/test/test_streams.sh b/3rdparty/libflac/test/test_streams.sh
index 3b1dc05c2f5..22dd747da53 100644..100755
--- a/3rdparty/libflac/test/test_streams.sh
+++ b/3rdparty/libflac/test/test_streams.sh
@@ -1,10 +1,11 @@
-#!/bin/sh
+#!/bin/sh -e
# FLAC - Free Lossless Audio Codec
-# Copyright (C) 2001,2002,2003,2004,2005,2006,2007 Josh Coalson
+# Copyright (C) 2001-2009 Josh Coalson
+# Copyright (C) 2011-2023 Xiph.Org Foundation
#
# This file is part the FLAC project. FLAC is comprised of several
-# components distributed under difference licenses. The codec libraries
+# components distributed under different licenses. The codec libraries
# are distributed under Xiph.Org's BSD-like license (see the file
# COPYING.Xiph in this distribution). All other programs, libraries, and
# plugins are distributed under the GPL (see COPYING.GPL). The documentation
@@ -17,43 +18,31 @@
# restrictive of those mentioned above. See the file COPYING.Xiph in this
# distribution.
-die ()
-{
- echo $* 1>&2
- exit 1
-}
-
-if [ x = x"$1" ] ; then
- BUILD=debug
-else
- BUILD="$1"
-fi
+. ./common.sh
-LD_LIBRARY_PATH=../obj/$BUILD/lib:$LD_LIBRARY_PATH
-export LD_LIBRARY_PATH
PATH=../src/flac:$PATH
PATH=../src/test_streams:$PATH
-PATH=../obj/$BUILD/bin:$PATH
+PATH=../objs/$BUILD/bin:$PATH
-if [ x"$FLAC__TEST_LEVEL" = x ] ; then
+if [ -z "$FLAC__TEST_LEVEL" ] ; then
FLAC__TEST_LEVEL=1
fi
-flac --help 1>/dev/null 2>/dev/null || die "ERROR can't find flac executable"
+flac${EXE} --help 1>/dev/null 2>/dev/null || die "ERROR can't find flac executable"
run_flac ()
{
- if [ x"$FLAC__TEST_WITH_VALGRIND" = xyes ] ; then
- echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=100 flac $*" >>test_streams.valgrind.log
- valgrind --leak-check=yes --show-reachable=yes --num-callers=100 --log-fd=4 flac $* 4>>test_streams.valgrind.log
+ if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then
+ echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=50 flac $*" >>test_streams.valgrind.log
+ valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 flac --no-error-on-compression-fail $* 4>>test_streams.valgrind.log
else
- flac $*
+ flac${EXE} --no-error-on-compression-fail $*
fi
}
echo "Generating streams..."
if [ ! -f wacky1.wav ] ; then
- test_streams || die "ERROR during test_streams"
+ test_streams || die "ERROR: missing files"
fi
#
@@ -67,13 +56,13 @@ test_file ()
bps=$3
encode_options="$4"
- echo -n "$name (--channels=$channels --bps=$bps $encode_options): encode..."
+ echo $ECHO_N "$name (--channels=$channels --bps=$bps $encode_options): encode..." $ECHO_C
cmd="run_flac --verify --silent --force --force-raw-format --endian=little --sign=signed --sample-rate=44100 --bps=$bps --channels=$channels $encode_options --no-padding $name.raw"
echo "### ENCODE $name #######################################################" >> ./streams.log
echo "### cmd=$cmd" >> ./streams.log
$cmd 2>>./streams.log || die "ERROR during encode of $name"
- echo -n "decode..."
+ echo $ECHO_N "decode..." $ECHO_C
cmd="run_flac --silent --force --endian=little --sign=signed --decode --force-raw-format --output-name=$name.cmp $name.flac"
echo "### DECODE $name #######################################################" >> ./streams.log
echo "### cmd=$cmd" >> ./streams.log
@@ -83,7 +72,7 @@ test_file ()
ls -1l $name.flac >> ./streams.log
ls -1l $name.cmp >> ./streams.log
- echo -n "compare..."
+ echo $ECHO_N "compare..." $ECHO_C
cmp $name.raw $name.cmp || die "ERROR during compare of $name"
echo OK
@@ -96,13 +85,13 @@ test_file_piped ()
bps=$3
encode_options="$4"
- if [ `env | grep -ic '^comspec='` != 0 ] ; then
+ if [ "$(env | grep -ic '^comspec=')" != 0 ] ; then
is_win=yes
else
is_win=no
fi
- echo -n "$name: encode via pipes..."
+ echo $ECHO_N "$name: encode via pipes..." $ECHO_C
if [ $is_win = yes ] ; then
cmd="run_flac --verify --silent --force --force-raw-format --endian=little --sign=signed --sample-rate=44100 --bps=$bps --channels=$channels $encode_options --no-padding --stdout $name.raw"
echo "### ENCODE $name #######################################################" >> ./streams.log
@@ -112,9 +101,9 @@ test_file_piped ()
cmd="run_flac --verify --silent --force --force-raw-format --endian=little --sign=signed --sample-rate=44100 --bps=$bps --channels=$channels $encode_options --no-padding --stdout -"
echo "### ENCODE $name #######################################################" >> ./streams.log
echo "### cmd=$cmd" >> ./streams.log
- cat $name.raw | $cmd 1>$name.flac 2>>./streams.log || die "ERROR during encode of $name"
+ $cmd < $name.raw 1>$name.flac 2>>./streams.log || die "ERROR during encode of $name"
fi
- echo -n "decode via pipes..."
+ echo $ECHO_N "decode via pipes..." $ECHO_C
if [ $is_win = yes ] ; then
cmd="run_flac --silent --force --endian=little --sign=signed --decode --force-raw-format --stdout $name.flac"
echo "### DECODE $name #######################################################" >> ./streams.log
@@ -124,18 +113,62 @@ test_file_piped ()
cmd="run_flac --silent --force --endian=little --sign=signed --decode --force-raw-format --stdout -"
echo "### DECODE $name #######################################################" >> ./streams.log
echo "### cmd=$cmd" >> ./streams.log
- cat $name.flac | $cmd 1>$name.cmp 2>>./streams.log || die "ERROR during decode of $name"
+ $cmd < $name.flac 1>$name.cmp 2>>./streams.log || die "ERROR during decode of $name"
fi
ls -1l $name.raw >> ./streams.log
ls -1l $name.flac >> ./streams.log
ls -1l $name.cmp >> ./streams.log
- echo -n "compare..."
+ echo $ECHO_N "compare..." $ECHO_C
cmp $name.raw $name.cmp || die "ERROR during compare of $name"
echo OK
}
+test_corrupted_file ()
+{
+ name=$1
+ channels=$2
+ bps=$3
+ encode_options="$4"
+
+ echo $ECHO_N "$name (--channels=$channels --bps=$bps $encode_options): encode..." $ECHO_C
+ cmd="run_flac --verify --silent --no-padding --force --force-raw-format --endian=little --sign=signed --sample-rate=44100 --bps=$bps --channels=$channels $encode_options --no-padding $name.raw"
+ echo "### ENCODE $name #######################################################" >> ./streams.log
+ echo "### cmd=$cmd" >> ./streams.log
+ $cmd 2>>./streams.log || die "ERROR during encode of $name"
+
+ filesize=$(wc -c < $name.flac)
+ bs=$((filesize/13))
+
+ # Overwrite with 'garbagegarbagegarbage....'
+ yes garbage 2>/dev/null | dd of=$name.flac conv=notrunc bs=$bs seek=1 count=2 2>> ./streams.log
+ # Overwrite with 0x00
+ dd if=/dev/zero of=$name.flac conv=notrunc bs=$bs seek=4 count=2 2>> ./streams.log
+ # Overwrite with 0xFF
+ tr '\0' '\377' < /dev/zero | dd of=$name.flac conv=notrunc bs=$bs seek=7 count=2 2>> ./streams.log
+ # Remove section
+ cp $name.flac $name.tmp.flac
+ dd if=$name.tmp.flac of=$name.flac bs=$bs skip=12 seek=10 2>> ./streams.log
+
+ echo $ECHO_N "decode..." $ECHO_C
+ cmd="run_flac --silent --decode-through-errors --force --endian=little --sign=signed --decode --force-raw-format --output-name=$name.cmp $name.flac"
+ echo "### DECODE $name.corrupt #######################################################" >> ./streams.log
+ echo "### cmd=$cmd" >> ./streams.log
+ $cmd 2>>./streams.log || die "ERROR during decode of $name"
+
+ ls -1l $name.raw >> ./streams.log
+ ls -1l $name.flac >> ./streams.log
+ ls -1l $name.cmp >> ./streams.log
+
+ echo $ECHO_N "compare..." $ECHO_C
+ if [ "$(wc -c < $name.raw)" -ne "$(wc -c < $name.cmp)" ]; then
+ die "ERROR, length of decoded file not equal to length of original"
+ fi
+
+ echo OK
+}
+
if [ "$FLAC__TEST_LEVEL" -gt 1 ] ; then
max_lpc_order=32
else
@@ -151,7 +184,7 @@ test_file test02 2 16 "-0 -l $max_lpc_order --lax -m -e -p"
test_file test03 1 16 "-0 -l $max_lpc_order --lax -m -e -p"
test_file test04 2 16 "-0 -l $max_lpc_order --lax -m -e -p"
-for bps in 8 16 24 ; do
+for bps in 8 16 24 32 ; do
echo "Testing $bps-bit full-scale deflection streams..."
for b in 01 02 03 04 05 06 07 ; do
test_file fsd$bps-$b 1 $bps "-0 -l $max_lpc_order --lax -m -e -p"
@@ -163,7 +196,7 @@ for b in 01 ; do
test_file wbps16-$b 1 16 "-0 -l $max_lpc_order --lax -m -e -p"
done
-for bps in 8 16 24 ; do
+for bps in 8 16 24 32; do
echo "Testing $bps-bit sine wave streams..."
for b in 00 ; do
test_file sine${bps}-$b 1 $bps "-0 -l $max_lpc_order --lax -m -e --sample-rate=48000"
@@ -196,6 +229,15 @@ for disable in '' '--disable-verbatim-subframes --disable-constant-subframes' '-
done
done
+echo "Testing blocksize variations with subdivide apodization..."
+for blocksize in 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ; do
+ for lpc_order in 0 1 2 3 4 5 7 8 9 15 16 17 31 32 ; do
+ if [ $lpc_order = 0 ] || [ $lpc_order -le $blocksize ] ; then
+ test_file noise8m32 1 8 "-8 -p -e -A \"subdivide_tukey(32)\" -l $lpc_order --lax --blocksize=$blocksize"
+ fi
+ done
+done
+
echo "Testing some frame header variations..."
test_file sine16-01 1 16 "-0 -l $max_lpc_order -m -e -p --lax -b $max_lpc_order"
test_file sine16-01 1 16 "-0 -l $max_lpc_order -m -e -p --lax -b 65535"
@@ -241,15 +283,36 @@ for f in 10 11 12 13 14 15 16 17 18 19 ; do
done
done
+echo "Testing corruption handling..."
+for bps in 8 16 24 ; do
+ for f in 00 01 02 03 04 10 11 12 13 14 15 16 17 18 19; do
+ for disable in '' '--disable-verbatim-subframes --disable-constant-subframes' '--disable-verbatim-subframes --disable-constant-subframes --disable-fixed-subframes' ; do
+ if [ -z "$disable" ] || [ "$FLAC__TEST_LEVEL" -gt 0 ] ; then
+ for opt in 0 1 2 4 5 6 8 ; do
+ for extras in '' '-p' '-e' ; do
+ if [ -z "$extras" -o "$FLAC__TEST_LEVEL" -gt 0 ] && { [ "$bps" -eq 16 -a "$f" -lt 15 ] || [ "$FLAC__TEST_LEVEL" -gt 1 ]; } ; then
+ if [ "$f" -lt 10 ] ; then
+ test_corrupted_file sine$bps-$f 1 $bps "-$opt $extras $disable"
+ else
+ test_corrupted_file sine$bps-$f 2 $bps "-$opt $extras $disable"
+ fi
+ fi
+ done
+ done
+ fi
+ done
+ done
+done
+
echo "Testing noise..."
for disable in '' '--disable-verbatim-subframes --disable-constant-subframes' '--disable-verbatim-subframes --disable-constant-subframes --disable-fixed-subframes' ; do
if [ -z "$disable" ] || [ "$FLAC__TEST_LEVEL" -gt 0 ] ; then
for channels in 1 2 4 8 ; do
- if [ $channels -le 2 ] || [ "$FLAC__TEST_LEVEL" -gt 0 ] ; then
- for bps in 8 16 24 ; do
+ if [ $channels -le 2 ] || [ "$FLAC__TEST_LEVEL" -gt 1 ] ; then
+ for bps in 8 16 24 32; do
for opt in 0 1 2 3 4 5 6 7 8 ; do
for extras in '' '-p' '-e' ; do
- if [ -z "$extras" ] || [ "$FLAC__TEST_LEVEL" -gt 0 ] ; then
+ if { [ -z "$extras" ] || [ "$FLAC__TEST_LEVEL" -gt 0 ]; } && { [ "$extras" != '-p' ] || [ "$opt" -gt 2 ]; } ; then
for blocksize in '' '--lax -b 32' '--lax -b 32768' '--lax -b 65535' ; do
if [ -z "$blocksize" ] || [ "$FLAC__TEST_LEVEL" -gt 0 ] ; then
test_file noise $channels $bps "-$opt $extras $blocksize $disable"
diff --git a/3rdparty/libflac/test/write_iff.pl b/3rdparty/libflac/test/write_iff.pl
new file mode 100755
index 00000000000..f9efa74d197
--- /dev/null
+++ b/3rdparty/libflac/test/write_iff.pl
@@ -0,0 +1,211 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+require Math::BigInt;
+
+my $usage = "
+$0 <format> <bps> <channels> <sample-rate> <#samples> <sample-type>
+
+ <format> is one of aiff,wave,wave64,rf64
+ <bps> is 8,16,24,32
+ <channels> is 1-8
+<sample-rate> is any 32-bit value
+ <#samples> is 0-2^64-1
+<sample-type> is one of zero,rand
+
+";
+
+die $usage unless @ARGV == 6;
+
+my %formats = ( 'aiff'=>1, 'wave'=>1, 'wave64'=>1, 'rf64'=>1 );
+my %sampletypes = ( 'zero'=>1, 'rand'=>1 );
+my @channelmask = ( 0, 1, 3, 7, 0x33, 0x607, 0x60f, 0, 0 ); #@@@@@@ need proper masks for 7,8
+
+my ($format, $bps, $channels, $samplerate, $samples, $sampletype) = @ARGV;
+my $bigsamples = new Math::BigInt $samples;
+
+die $usage unless defined $formats{$format};
+die $usage unless $bps == 8 || $bps == 16 || $bps == 24 || $bps == 32;
+die $usage unless $channels >= 1 && $channels <= 8;
+die $usage unless $samplerate >= 0 && $samplerate <= 4294967295;
+die $usage unless defined $sampletypes{$sampletype};
+
+# convert bits-per-sample to bytes-per-sample
+$bps /= 8;
+
+my $datasize = $samples * $bps * $channels;
+my $bigdatasize = $bigsamples * $bps * $channels;
+
+my $padding = int($bigdatasize & 1); # for aiff/wave/rf64 chunk alignment
+my $padding8 = 8 - int($bigdatasize & 7); $padding8 = 0 if $padding8 == 8; # for wave64 alignment
+# wave-ish file needs to be WAVEFORMATEXTENSIBLE?
+my $wavx = ($format eq 'wave' || $format eq 'wave64' || $format eq 'rf64') && ($channels > 2 || ($bps != 8 && $bps != 16));
+
+# write header
+
+if ($format eq 'aiff') {
+ die "sample data too big for format\n" if 46 + $datasize + $padding > 4294967295;
+ # header
+ print "FORM";
+ print pack('N', 46 + $datasize + $padding);
+ print "AIFF";
+ # COMM chunk
+ print "COMM";
+ print pack('N', 18); # chunk size = 18
+ print pack('n', $channels);
+ print pack('N', $samples);
+ print pack('n', $bps * 8);
+ print pack_sane_extended($samplerate);
+ # SSND header
+ print "SSND";
+ print pack('N', $datasize + 8); # chunk size
+ print pack('N', 0); # ssnd_offset_size
+ print pack('N', 0); # blocksize
+}
+elsif ($format eq 'wave' || $format eq 'wave64' || $format eq 'rf64') {
+ die "sample data too big for format\n" if $format eq 'wave' && ($wavx?60:36) + $datasize + $padding > 4294967295;
+ # header
+ if ($format eq 'wave') {
+ print "RIFF";
+ # +4 for WAVE
+ # +8+{40,16} for fmt chunk
+ # +8 for data chunk header
+ print pack('V', 4 + 8+($wavx?40:16) + 8 + $datasize + $padding);
+ print "WAVE";
+ }
+ elsif ($format eq 'wave64') {
+ # RIFF GUID 66666972-912E-11CF-A5D6-28DB04C10000
+ print "\x72\x69\x66\x66\x2E\x91\xCF\x11\xD6\xA5\x28\xDB\x04\xC1\x00\x00";
+ # +(16+8) for RIFF GUID + size
+ # +16 for WAVE GUID
+ # +16+8+{40,16} for fmt chunk
+ # +16+8 for data chunk header
+ my $bigriffsize = $bigdatasize + (16+8) + 16 + 16+8+($wavx?40:16) + (16+8) + $padding8;
+ print pack_64('V', $bigriffsize);
+ # WAVE GUID 65766177-ACF3-11D3-8CD1-00C04F8EDB8A
+ print "\x77\x61\x76\x65\xF3\xAC\xD3\x11\xD1\x8C\x00\xC0\x4F\x8E\xDB\x8A";
+ }
+ else {
+ print "RF64";
+ print pack('V', 0xffffffff);
+ print "WAVE";
+ # ds64 chunk
+ print "ds64";
+ print pack('V', 28); # chunk size
+ # +4 for WAVE
+ # +(8+28) for ds64 chunk
+ # +8+{40,16} for fmt chunk
+ # +8 for data chunk header
+ my $bigriffsize = $bigdatasize + 4 + (8+28) + 8+($wavx?40:16) + 8 + $padding;
+ print pack_64('V', $bigriffsize);
+ print pack_64('V', $bigdatasize);
+ print pack_64('V', $bigsamples);
+ print pack('V', 0); # table size
+ }
+ # fmt chunk
+ if ($format ne 'wave64') {
+ print "fmt ";
+ print pack('V', $wavx?40:16); # chunk size
+ }
+ else { # wave64
+ # fmt GUID 20746D66-ACF3-11D3-8CD1-00C04F8EDB8A
+ print "\x66\x6D\x74\x20\xF3\xAC\xD3\x11\xD1\x8C\x00\xC0\x4F\x8E\xDB\x8A";
+ print pack('V', 16+8+($wavx?40:16)); # chunk size (+16+8 for GUID and size fields)
+ print pack('V', 0); # ...is 8 bytes for wave64
+ }
+ print pack('v', $wavx?65534:1); # compression code
+ print pack('v', $channels);
+ print pack('V', $samplerate);
+ print pack('V', $samplerate * $channels * $bps);
+ print pack('v', $channels * $bps); # block align = channels*((bps+7)/8)
+ print pack('v', $bps * 8); # bits per sample = ((bps+7)/8)*8
+ if ($wavx) {
+ print pack('v', 22); # cbSize
+ print pack('v', $bps * 8); # validBitsPerSample
+ print pack('V', $channelmask[$channels]);
+ # GUID = {0x00000001, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}}
+ print "\x01\x00\x00\x00\x00\x00\x10\x00\x80\x00\x00\xaa\x00\x38\x9b\x71";
+ }
+ # data header
+ if ($format ne 'wave64') {
+ print "data";
+ print pack('V', $format eq 'wave'? $datasize : 0xffffffff);
+ }
+ else { # wave64
+ # data GUID 61746164-ACF3-11D3-8CD1-00C04F8EDB8A
+ print "\x64\x61\x74\x61\xF3\xAC\xD3\x11\xD1\x8C\x00\xC0\x4F\x8E\xDB\x8A";
+ print pack_64('V', $bigdatasize+16+8); # +16+8 for GUID and size fields
+ }
+}
+else {
+ die;
+}
+
+# write sample data
+
+if ($sampletype eq 'zero') {
+ my $chunk = 4096;
+ my $buf = pack("x[".($channels*$bps*$chunk)."]");
+ for (my $s = $samples; $s > 0; $s -= $chunk) {
+ if ($s < $chunk) {
+ print substr($buf, 0, $channels*$bps*$s);
+ }
+ else {
+ print $buf;
+ }
+ }
+}
+elsif ($sampletype eq 'rand') {
+ for (my $s = 0; $s < $samples; $s++) {
+ for (my $c = 0; $c < $channels; $c++) {
+ for (my $b = 0; $b < $bps; $b++) {
+ print pack('C', int(rand(256)));
+ }
+ }
+ }
+}
+else {
+ die;
+}
+
+# write padding
+if ($format eq 'wave64') {
+ print pack("x[$padding8]") if $padding8;
+}
+else {
+ print "\x00" if $padding;
+}
+
+exit 0;
+
+sub pack_sane_extended
+{
+ my $val = shift;
+ die unless $val > 0;
+ my $shift;
+ for ($shift = 0; ($val>>(31-$shift)) == 0; ++$shift) {
+ }
+ $val <<= $shift;
+ my $exponent = 63 - ($shift + 32);
+ return pack('nNN', $exponent + 16383, $val, 0);
+}
+
+sub pack_64
+{
+ my $c = shift; # 'N' for big-endian, 'V' for little-endian, ala pack()
+ my $v1 = shift; # value, must be Math::BigInt
+ my $v2 = $v1->copy();
+ if ($c eq 'V') {
+ $v1->band(0xffffffff);
+ $v2->brsft(32);
+ }
+ elsif ($c eq 'N') {
+ $v2->band(0xffffffff);
+ $v1->brsft(32);
+ }
+ else {
+ die;
+ }
+ return pack("$c$c", 0+$v1->bstr(), 0+$v2->bstr());
+}